章节结构控制
章节层次
一个文档的最高层章节可以是part,也可以没有part直接是chapter/section。除了part以外,只有在上一层章节存在时,才可以使用下一层章节。
章节层次示意图如下,方框代表文档类型,圆圈代表章节层次。对于report/book/ctexrep/ctexbook类,其最高层为chapter;对于article/ctexart类,其最高层为section。计数器secnumdepth控制除part外,对章节进行编号的层次数,它的默认值为 3,即对于report/book/ctexrep/ctexbook类,编号到subsection;对于article/ctexart类,,编号到subsubsection。paragraph和subparagraph默认不编号、不编目录。
增加编号深度
如果想要增加编号深度,比如我需要编写四级标题,可采用下面方法:
\setcounter{secnumdepth}{4} %增加编号深度
\setcounter{tocdepth}{4} %增加目录深度
修改目录样式
给目录的一级标题增加引导符
默认的目录一级标题是没有引导符的,但是许多模板中要求目录中的各级标题均有引导符,因此我们需要对目录格式做一些修改。
\titlecontents{section}[4em]{\bfseries \zihao{5} \vspace{10pt}}{\contentslabel{4em}}{\hspace*{-4em}}{~\titlerule*[0.6pc]{$.$}~\contentspage}
---------------------------------------------------------------------------------
1.{section}:标题级别
2.[4em]:标题位置 (左间距)
3.{\bfseries \zihao{5} \vspace{10pt}}:标题格式 (设置标题的整体格式,如字体尺寸、粗细、与上一个标题的垂直距离等,可空置)
4.{\contentslabel{4em}}:标题标志 (设置标题标志的格式,如序号格式、序号宽度、序号与标题内容之间的间距等,不可空置)
5.{\hspace*{-4em}}:无序号标题 (设置无序号标题的格式,如字体、字体尺寸、位置等。该参数可以空置)
6.{~\titlerule*[0.6pc]{$.$}~\contentspage}:指引线与页码 (设置标题与页码之间的指引线样式以及页码的格式,该参数如果空置,标题将无指引线和页码)
如果想要让目录层次感更好一些,可以设置标题前间距即与上一个标题的垂直距离,也就是我目前设置的这样,如果想要目录各级标题之间等间距,可以去掉标题格式中的\vspace{10pt}
。以下是目录控制代码和效果:
\usepackage{titletoc}
\titlecontents{section}[4em]{\bfseries \zihao{5} \vspace{10pt}}{\contentslabel{4em}}{\hspace*{-4em}}{~\titlerule*[0.6pc]{$.$}~\contentspage}
\titlecontents{subsection}[4em]{\zihao{5}}{\contentslabel{2em}}{\hspace*{-2em}}{~\titlerule*[0.6pc]{$.$}~\contentspage}
\titlecontents{subsubsection}[7em]{\zihao{5}}{\contentslabel{3em}}{\hspace*{-2em}}{~\titlerule*[0.6pc]{$.$}~\contentspage}
\titlecontents{paragraph}[11em]{\zihao{5}}{\contentslabel{4em}}{\hspace*{-2em}}{~\titlerule*[0.6pc]{$.$}~\contentspage}
我在设置标题格式的时候将一级标题设置成了第1章、第2章这种形式,如果是采用的titlesec宏包设置的,需要加上\CTEXsetup[name = {第,章}]{section}
来设置目录章节格式。
设置章节格式参考毕业论文LaTeX模板。