$\LaTeX{}$之实现标题自动换行

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


具体命令如下:

\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
posted @ 2025-05-28 23:33  Invinc-Z  阅读(306)  评论(0)    收藏  举报