用LaTeX写论文的同学肯定有感悟:LaTeX自带的一级标题、二级标题不符合学校的格式要求怎么办?部分小结的编号里需要加一些固定词语、分隔符、居中或者字体变换,再或者是斜体等等。手动在每一个小节标题的位置做修改非常麻烦。
别急!LaTeX提供了相应的宏包“titlesec”和自定义的方式,帮助我们预定义“多级标题”的样式。今天的文章就和大家分享一点自定义论文标题的小经验。
首先我们看一下默认的section、subsection、subsubsection效果

字体格式:
- 接下来将一级标题设置为三号黑体加粗居中,并且写上“第一章”
- 二级标题四号黑体加粗居中
- 三级标题小四黑体加粗居中
当然,大家可以根据自己学校对于论文的要求更改字号和字体啦
1 新建.cls文件并写上

\NeedsTeXFormat{LaTeX2e}
%命令是在告诉编译器该包适用于哪个版本的LaTeX。目前LaTeX的版本是LaTeX2e,几乎所有发行版都使用这个版本。
\ProvidesClass{main}[2021/08/17 My custom CV class]
%命令给编译器一些关于软件包的信息。第一个参数应该与class文件的文件名一致。第二个参数是可选的,它提供了一个class文件的描述,这个会出现在日志和其他地方。该描述必须以一个日期开头,其格式与上面的格式完全一致,而且应该是项目最后一次被修改的日期。
\LoadClass{article}
\RequirePackage{titlesec}
调用宏包titlesec用它来定制标题样式,要注意,我们应该使用 \RequirePackage 而不是通常的 \usepackage 命令,因为我们是在一个class文件中。\RequirePackage命令可以确保每个package只被加载一次。

命令的格式说明:
\titleformat{command}[shape]%定义标题类型和标题样式,字体
{format}%定义标题格式:字号(大小),加粗,斜体
{label}%定义标题的标签,即标题的标号等
{sep}%定义标题和标号之间的水平距离
{before-code}%定义标题前的内容
1)command位置一般只写\section,\subsection,\subsubsection,或者\chapter(书稿或学位论文的排版中用到)。
2)shape的位置直接默认。
3)format的位置是关键,一般需要调整字号大小([字号大小对应的命令查询](#字号查询表) )、斜体或粗体([字体查询表](#字体查询表) )。
4)label的位置里,一般是设置多级标题编号的显示格式,中间可用“.”或“-”连接,可以自己选。
5)sep等价于word中设置的编号和标题之间空格的数量,或者制表符的长度等的功能。
6)before-code和after-code里设置部分需要重复出现的说明性地文字。但有一点需要注意:after-code需要被中括号[]包围,以上的字段如果只想使用默认值,可以空着不写,但{}和[]最好继续敲出来站位。并且,{sep}是不可省略的字段。
于是我们继续加上:
\titleformat{\section}%定义标题类型和标题样式,字体
{\fontsize{15.75pt}\textbf\heiti\centering}%定义标题格式:字号(大小),加粗,斜体
{}%定义标题的标签,即标题的标号等
{0em}%定义标题和标号之间的水平距离
{} %定义标题前的内容
[] %定义标题后的内容
\titleformat{\subsection}%定义标题类型和标题样式,字体
{\fontsize{14pt}\textbf\heiti}%定义标题格式:字号(大小),加粗,斜体
{\bfseries\arabic{section}.\bfseries\arabic{subsection}}%定义标题的标签,即标题的标号等
{1em}%定义标题和标号之间的水平距离
{} %定义标题前的内容
[] %定义标题后的内容
\titleformat{\subsubsection}%定义标题类型和标题样式,字体
{\fontsize{12pt}\textbf\heiti}%定义标题格式:字号(大小),加粗,斜体
{\bfseries\arabic{section}.\bfseries\arabic{subsection}.\bfseries\arabic{subsubsection}}%定义标题的标签,即标题的标号等
{1em}%定义标题和标号之间的水平距离
{} %定义标题前的内容
[] %定义标题后的内容
2 修改tex文件
这时候把tex文件开头改为\documentclass[12pt]{my_paper}
将标题修改一下
\section{第一章 \quad 绪论}
欢迎使用 Slager。
编译一下就完成啦!

直接在线编译,速度快还方便,你学会了吗?6…6…
—人人都是排版高手!
本文介绍了如何使用LaTeX的titlesec宏包自定义论文的多级标题样式,包括设置不同级别的标题为黑体加粗居中,以及调整字号。通过新建.cls文件和修改.tex文件,按照指定格式预定义标题样式,以符合学校论文格式要求。

3710

被折叠的 条评论
为什么被折叠?



