$\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{} 需要换行的位置插入\\,效果如下所示。

随机推荐
- 《容器化.NET应用架构指南》脑图学习笔记(一)
一.关于这本官方"圣经" 作为.NET程序员,对于微软官方推动的架构示例总是特别关注,从PetShop到MusicStore再到eShopOnContainers,每一次关注,都会 ...
- 字典树Trie详解
哈喽大家好,我是 doooge ,今天给大家带来 Trie 的详解. \[\Huge \texttt{字典树 Trie 详解} \] 1.Trie是什么? Trie 也叫字典树,前缀树,其本质就是一棵 ...
- C# 自定义控件一些特性标识,重写WinForm 控件,重写控件
https://blog.csdn.net/cxu123321/article/details/104812099https://blog.csdn.net/biyusr/article/detail ...
- Excel图中的横/纵坐标轴逆序并修改轴交叉值
↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 在Excel中作图时坐标轴是默认以0为坐标轴原点的且从从下到上数值逐渐增大的.例如当纵坐标大于0时: 而当纵轴数值小于0时时这样 ...
- 解决 win11 等操作系统无法使用共享打印机 0x00000709
前题 共享打印机的正确打开方式,我想大家都不陌生,从WIN XP 时代就开始广泛使用了,尤其是公司内部和企事业单位. 解题 我主要想说的是随着系统的升级,win10 和win11 考虑安全性方面,在一 ...
- java用URL下载内容
package Kuang; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStre ...
- 【Azure Container App】构建Java应用镜像时候遇无法编译错误:ERROR [build 10/10] RUN ./mvnw.cmd dependency:go-offline -B -Dproduction package
问题描述 部署Java应用到Azure Container App中,首先需要在本地构建镜像文件后上传到Azure Contaienr Registrier中. 但是,在第一步构建镜像的时候,就遇见错 ...
- Linux 网络编程 简单 TCP连接sock连接的例子
服务端 #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <sys/t ...
- cgal 安装
简介 INSTALL.md里面的文字 感觉cgal只需要头文件?? 似乎是的,因为我好像也没有安装它 安装可以参考这个连接,比较详细,windows 里面的安装 https://www.bilibil ...
- 简单 屏蔽 assert
简介 屏蔽 assert 如何实现 Makefile 中加 CFLAGS += -DNDEBUG 或者 gcc -DNDEBUG