$\LaTeX{}$中控制标题页实现标题换行

在进行latex学位论文排版时,可能会遇到论文标题过长,并且模板没有实现标题换行的功能。这种情况下会超出页边距导致页面布局丑陋,可以通过在cls文件里设置命令来手动换行。


具体命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
\RequirePackage{lineno}
\RequirePackage{setspace} %设置行间距离
\def\NJUPT@label@title{论文题目:}
% 其他命令...
% 下面的NJUPT为南京邮电大学缩写,可替换为自己的模板名称
\newlength{\NJUPT@length@titlelinewidth} % 用于定义一个新的长度变量
\addtolength{\NJUPT@length@titlelinewidth}{240pt} % 用于控制标题下划线的长度

% Define a macro for underlined text with adaptive multilines
% #1: The width of text line, not text itself (set by paper)
% #2: The thickness of text line (set by paper)
% #3: The content of text (set by user)
\def\NJUPT@macro@exmultiunderline#1#2#3{
\begin{minipage}[t][][t]{#1}
\centering\internallinenumbers
\renewcommand{\makeLineNumber}{\rule[-0.6ex]{\textwidth}{#2}\hss}
#3\par
\end{minipage}
}
% ...
\begin{tabular}[t]{rc}
{\songti\zihao{-2} \NJUPT@label@title} & {\zihao{3}\centering \NJUPT@macro@exmultiunderline{\NJUPT@length@titlelinewidth}{0.4pt}{\NJUPT@value@title}} % 下划线高度默认0.4pt
\end{tabular}
\vfill

标题长度超出预设长度时会自动换行,也可以在\title{} 需要换行的位置插入\\,效果如下所示。

image-20250528232727702