LaTeX目录格式控制

章节结构控制

章节层次

一个文档的最高层章节可以是 p a r t part part,也可以没有 p a r t part part直接是 c h a p t e r / s e c t i o n chapter/section chapter/section。除了 p a r t part part以外,只有在上一层章节存在时,才可以使用下一层章节。

章节层次示意图如下,方框代表文档类型,圆圈代表章节层次。对于 r e p o r t / b o o k / c t e x r e p / c t e x b o o k report/book/ctexrep/ctexbook report/book/ctexrep/ctexbook类,其最高层为 c h a p t e r chapter chapter;对于 a r t i c l e / c t e x a r t article/ctexart article/ctexart类,其最高层为 s e c t i o n section section。计数器 s e c n u m d e p t h secnumdepth secnumdepth控制除 p a r t part part外,对章节进行编号的层次数,它的默认值为 3 3 3,即对于 r e p o r t / b o o k / c t e x r e p / c t e x b o o k report/book/ctexrep/ctexbook report/book/ctexrep/ctexbook类,编号到 s u b s e c t i o n subsection subsection;对于 a r t i c l e / c t e x a r t article/ctexart article/ctexart类,,编号到 s u b s u b s e c t i o n subsubsection subsubsection p a r a g r a p h paragraph paragraph s u b p a r a g r a p h subparagraph subparagraph默认不编号、不编目录。

article/ctexart类最高层
report/book/ctexrep/ctexbook类的最高层
可选的最高层
chapter
article
ctexart
section
part
report
book
ctexrep
ctexbook
subsection
subsubsection
paragraph
subparagraph

增加编号深度

如果想要增加编号深度,比如我需要编写四级标题,可采用下面方法:

\setcounter{secnumdepth}{4}		%增加编号深度
\setcounter{tocdepth}{4}		%增加目录深度

修改目录样式

给目录的一级标题增加引导符

LaTeX \LaTeX LATEX默认的目录一级标题是没有引导符的,但是许多模板中要求目录中的各级标题均有引导符,因此我们需要对目录格式做一些修改。

\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章这种形式,如果是采用的 t i t l e s e c titlesec titlesec宏包设置的,需要加上\CTEXsetup[name = {第,章}]{section}来设置目录章节格式。
设置章节格式参考毕业论文LaTeX模板

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐