LaTeX--9--目录与格式

本期的主要内容有:

  • 目录的生成与定制
  • 章节标题格式的定制
  • 版面大小的定制
  • 页面风格的定制

中间还会穿插介绍一些页面控制的命令。

1 目录的生成与定制

上期我们提到了如何在 LaTeX 中安排文档的组织结构,现在我们需要给它们来一个集合,就是制作目录。制作目录其实非常简单,只需要一个命令,就是 \tableofcontents 。这个命令放在哪里,目录就会出现在哪里。和交叉引用相同的一个特点是,目录的排版也需要两次编译。一方面是因为其中涉及到页码,另一方面是涉及到各个章节的标题。我们继续用上次的源代码给大家举例。

在这里插入图片描述
目录的内容显示为红色,是因为 hyperref 宏包的 colorlinks 选项。我们以后将默认载入这个宏包,告诉大家这些红色的文字都是可以点击跳转的,这也是我非常喜欢的一个特性。

如果我们使用带星号的章节命令,这个章节将不编号也不编目。这个时候对应的标签会被打到上一个章节中去,所以如果你用了这样的章节,就不要用交叉引用啦。效果如下:
在这里插入图片描述
还有的时候,章节的标题特别长,可能会超出目录一行所能装下的量,这样直接编目会比较难看,比如这样:
在这里插入图片描述
是不是丑哭了!!!所以我们需要短标题,在目录中显示短标题而在实际的文档中显示正常的标题,示例如下:
在这里插入图片描述
大家注意第8行。我们在 \section 命令和小节标题之间加入了一个用方括号括起来的参数,这个就是显示在目录中的标题。这是 LaTeX 命令的一种用法,方括号中的内容叫做选项(options)。第2行中使用 hyperref 宏包时,我们就加入了 colorlinks=true 的选项。选项可以让命令以不同的形式表现出来,给大家多一些发挥的空间。如果涉及多个选项,需要把选项之间用半角逗号隔开。

如果目录的介绍到这里就结束了,怎么能体现我的“满怀诚意”呢?

目录对于图表而言也是可以用的。如果你的文档中有很多图表,也可以专门为它们建目录。对应的命令是 \listoffigures 和 \listoftables。它会收集对应图表中的标题来产生图表的目录。图表的插入我们将在下一期中介绍。

如果在想让目录单独占一页,只需要在 \tableofcontents 后面加上 \newpage 命令,就可以在目录之后强制分页。这个命令在其他地方也可以使用。

默认情况下,目录的深度是3级。也就是说,对于 ctexart/article 文类,只对 section,subsection,subsubsection 编目。如果你的文档结构用到了 paragraph 一级,那么它将不会被编入目录中,效果如下(某个小段是 paragraph,未编目):
在这里插入图片描述
但是只要你愿意,它也是可以被编入目录的。这就需要你的目录深度和编号深度都加一级。实现的方式是在导言区加入如下命令:

\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}

这样设置的编号和目录深度就是4,“某个小段”也会被编号编目,效果如下:
在这里插入图片描述
有时候我们还会遇到一个情况,就是一个小节我们想编目但是不想编号,该怎么办呢?前面我们提到过 \section*{一个不编号也不编目的小节} 可以生成一个不编号也不编目的小节,这里我们介绍一个让它也被编入目录的做法:\addcontentsline 命令。为了培养一下大家看文档的技能,我把这个命令的文档放在这里,大家先看一看,能不能理解它的使用方式呢?

在这里插入图片描述
所以其实它的用法是这样的:在一个没有编号编目的小节命令后加上一句

 \addcontentsline{目录种类}{编目级别}{目录内容}

在这里插入图片描述
如果想要深度定制目录的形式,可以参考 titletoc 宏包的文档,里面提供了很多定制的方法,大家可以自己去探索。

2 章节标题格式的定制

上一期我们提到过如何正确地生成章节标题,LaTeX 还会自动为它们编号。这里我们以中文文档为例(毕竟大家比较常用),介绍一下 ctex 宏包中简单的章节标题格式定制方法。如果是英文文档,可以直接调用 ctexheading 宏包或者给 ctex 宏包加上 heading 选项。它被包含在 ctex 宏包中,但可以独立在非 ctex 文类中使用,功能相同。

定制的基本方法是,用 \ctexset 命令来对某个级别的标题的某个属性进行设置。标题的级别由高到低有以下七种,我们再回顾一下:

  1. part
  2. chapter
  3. section
  4. subsection
  5. subsubsection
  6. paragraph
  7. subparagraph

其中需要注意,article 没有前两个级别的章节,对它们进行设置是没有作用的。我们可以定制的属性有如下几种:

  • numbering,控制是否编号。
  • name,设置章节的名字。名字可以分为前后两部分,即章节编号前后的词语,两个词之间用一个半角逗号分开;也可以只有一部分,表示只有章节编号之前的名字。
  • number,设置章节编号的数字输出格式。
  • format,控制章节标题的全局格式,作用域为章节名字和随后的标题内容。可以用于 控制章节标题的对齐方式、整体字体字号等格式。
  • nameformat,控制章节名字的格式,作用域为章节名字,包括编号。
  • numberformat,选项用于控制章节编号的格式,作用域仅为编号数字本身。
  • aftername,在控制章节编号与标题内容之间的距离,或者控制标题是否另起一行。
  • titleformat,控制标题内容的格式,作用域为章节标题内容。

ctex 宏包还提供如下的一些属性供大家选择,这些使用得比较少,需要使用的可以自行查阅 ctex 宏包文档来了解使用方式。

  • aftertitle
  • runin
  • afterindent
  • beforeskip
  • afterskip
  • indent
  • pagestyle

在对章节标题进行定制的时候,使用命令的方式通常是这样的:
在这里插入图片描述
如果仅对某个级别标题的某个属性进行设置,可以用“章节级别/属性=…”的方式。如果对某个级别的标题的多个属性都要修改,则可以用像上面 chapter 那样进行处理。

说了这么多,下面给大家举一些例子吧。首先,在 ctexart/article 中,默认的 section 标题是居中的。那么如果我们想把这个标题靠左,就可以用 section/titleformat = \raggedright 来设置,示例如下(第3–5行):
在这里插入图片描述
如果想像数学课本一样把章节编号前加上一个 \S 符号,我们就可以这样:
在这里插入图片描述
如果还不过瘾,想用“第X节”的方式来做这个标题,就可以这样(\chinese命令可以把对应的数字变成中文):
在这里插入图片描述
这里几个简单的例子,大家应该可以明白这些命令是如何工作的了。注意 \ctexset 命令应该在导言区使用。其他的一些定制格式大家还可以继续去探索,遇到不明白的问题一定要看文档噢。

3 版面大小的定制

在排版工作中,有一个非常重要的概念叫做版心。如果大家经常使用 MS Word 的话,应该能注意到页面四个角落里都有一个直角符号。那四个直角符号的顶点相连构成的区域就是版心。说白了就是我们安放正文的位置。在 LaTeX 中,我们一样可以定制版心的大小,需要的只是一个 geometry 宏包。

大家在前面的练习当中一定注意到了,LaTeX 默认的版心非常小。在加入了 geometry 宏包后,默认的版心会比原来大一点,看上去会感觉好一些(大家自己试试)。geometry 宏包可以加上若干选项,比如设置各个方向的页边距。例如,在导言区使用

\usepackage[left=1cm,right=1cm,top=2cm,bottom=3cm]{geometry} 

就可以把左、右、上、下的边距分别调整为1厘米、1厘米、2厘米、3厘米。详细的使用方法可以看 geometry 宏包的文档,里面讲述了如何用它定制版面。

4 页面风格的定制

对于一个页面,我们可能还需要页码等页眉、页脚信息。这个时候就需要我们来定制页面风格了。使用 \pagestyle 命令可以调用三种默认的页面风格:

  • plain:只有页底中央的页码;
  • empty:啥也没有;
  • headings:把章节的标题写在页眉处,同时有页码;

其中 headings 是默认的页面风格,依据文类的不同而有所改变,大家可以自己尝试一下。例如调用 plain 风格的命令就是 \pagestyle{plain},记得要在导言区使用。

如果需要深度定制各种页眉页脚,可以使用 fancyhdr 宏包。fancyhdr 宏包可以对页眉和页脚的左中右共六个位置显示的内容进行定义,大家可以查看 fancyhdr 宏包文档来尝试自己定制一个页面风格。

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LaTeX-OCR是一个基于OCR技术的开源项目,旨在将LaTeX公式转换为电子文本。CSDN是中国最大的IT社区和技术知识分享平台。 LaTeX是一种常见的排版软件,主要用于科技论文、学术文章、书籍和报告的编写。它具有专业的排版效果和强大的数学公式编辑功能。然而,LaTeX语法相对复杂,对于不熟悉LaTeX的人来说,编辑和理解LaTeX公式可能会有一定的困难。 LaTeX-OCR项目的目标是利用OCR技术的优势,将印刷体的LaTeX公式转化为可编辑的电子文本。这个项目使用机器学习和计算机视觉算法,通过训练模型来自动识别LaTeX公式中的字符和结构,并将其转换为标准的LaTeX语法。这样,用户就可以通过扫描或拍照的方式将纸质文档中的LaTeX公式转换为可编辑的电子文本。 CSDN是中国IT技术社区的领导者,这个平台提供了丰富的技术文章、教程和在线问答。LaTeX-OCR项目在CSDN上发布了相关的教程和应用案例,帮助用户了解如何使用这个项目来解决LaTeX公式识别的问题。用户可以通过CSDN平台学习LaTeX-OCR的原理和使用方法,并与其他开发者交流经验和解决方案。 总之,LaTeX-OCR是一个将LaTeX公式转化为电子文本的开源项目,而CSDN是一个为技术爱好者提供知识分享和交流的平台。通过LaTeX-OCR项目和CSDN平台,用户可以更加方便地处理LaTeX公式,提高工作和学习的效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值