LaTeX技巧907:目录与格式定制

这是一个系列的专栏对LaTeX的相关知识点进行了总结和分享,总体看来还是非常不错的个人记录,也对我们学习LaTeX的相关知识有一个导引的作用,但里面的知识相对单一,扩展部分?#27426;啵?#26412;站将推出一系列的专栏性文章,来系统梳理LaTeX的相关知识。敬请关注!

 本期的主要内容?#26657;?/p>

  • 目录的生成与定制

  • 章节标题格式的定制

  • 版面大小的定制

  • 页面风格的定制

中间还会穿插介绍一些页面控制的命令。 ---目录的生成与定制我们需要给它们来一个集合,就是制作目录。制作目录其实非常简单,只需要一个命令,就是 \tableofcontents 。这个命令放在哪里,目录就会出现在哪里。和交叉引用相同的一个特点是,目录的排版也需要两次编译。?#29615;?#38754;是因为其中涉及到页码,另?#29615;?#38754;?#24039;?#21450;到各个章节的标题。我们继续用上次的源代码给大家举例。

目录的内容显示为红色,是因为 hyperref 宏包的 colorlinks 选项。我们以后将默认载入这个宏包,告诉大家这些红色的文字都是可以点击跳转?#27169;?#36825;也是我非常喜欢的一个特性。 如果我们使用带星号的章节命令,这个章节将不编号也不编目。这个时候对应的标签会被打到上一个章节中去,所以如果你用了这样的章节,就不要用交叉引用啦。效果如下:还有的时候,章节的标题特别长,可能会超出目录一行所能装下的量,这样直接编目会比较难看,比如这样:是不是丑哭了!!!所以我们需要短标题,在目录中显示短标题而在?#23548;?#30340;文档中显示正常的标题,示例如下:大家注意第8行。我们在 \section 命令和小节标题之间加入了一个用方括号括起来的?#38382;?#36825;个就是显示在目录中的标题。这是 LaTeX 命令的一种用法,方括号中的内容叫做选项(options)。第2行中使用 hyperref 宏包时,我们?#22270;?#20837;了 colorlinks=true 的选项。选项可以让命令以不同的形式表现出来,给大家多一些发挥?#30446;?#38388;。如果涉及多个选项,需要把选项之间用半角逗号隔开。如果目录的介绍到这里就结束了,怎么能体现我的“满怀诚意”呢?目录对于图表而言也是可以用的。如果你的文档中有很多图表,也可以专门为它们建目录。对应的命令是 \listoffigures 和 \listoftables。它会收集对应图表中的标题来产生图表的目录。图表的插入我们将在下一期中介绍。 如果在想让目录单独占一页,只需要在 \tableofcontents 后面加上 \newpage 命令,就可以在目录之后强制分页。这个命令在其他地方也可以使用。 默认情况下,目录的深度是3级。也就是说,对于 ctexart/article 文类,?#27426;?section,subsection,subsubsection 编目。如果你的文档结构用到了 paragraph 一级,那么它将不会被编入目录中,效果如下(某个小?#38382;?paragraph,未编目):  但是只要你愿意,它也是可以被编入目录的。这就需要你的目录深度和编号深度?#25216;?#19968;级。实现的方式是在导言区加入如下命令:

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

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

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

就可以了。举例如下(第14?#26657;?a href="http://pics.latexstudio.net/wp-content/uploads/2017/08/toc-design08.png">如果想要深度定制目录的形式,可以参考 titletoc 宏包的文档,里面提供了很多定制的方法,大家可以自己去探索。 ---章节标题格式的定制上一期我们提到过如何正确地生成章节标题,LaTeX 还会自动为它们编号。这里我们以中文文档为例(毕竟大家比较常用),介绍一下 ctex 宏包中简单的章节标题格式定制方法。如果是英文文档,可以直接调用 ctexheading 宏包或者给 ctex 宏包加上 heading 选项。它被包含在 ctex 宏包中,但可以独立在非 ctex 文类中使用,功能相同。 定制的基本方法是,用 \ctexset 命令来对某个级别的标题某个属性进行设置。标题的级别由高到低有以下七种,我们再回顾一下:

  1. part

  2. chapter

  3. section

  4. subsection

  5. subsubsection

  6. paragraph

  7. subparagraph

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

  • numbering,控制是否编号。

  • name,设置章节的名字。名字可以分为前后?#35762;?#20998;,即章节编号前后的?#35270;錚?#20004;个词之间用一个半角逗号分开;也可以只有一部分,表示只有章节编号之前的名字。

  • number,设置章节编号的数字输出格式。

  • format,控制章节标题的全局格式,作用域为章节名字和随后的标题内容。可以用于 控制章节标题的对齐方式、整体字体字号等格式。

  • nameformat,控制章节名字的格式,作用域为章节名字,包括编号。

  • numberformat,选项用于控制章节编号的格式,作用域仅为编号数字本身。

  • aftername,在控制章节编号与标题内容之间的距离,或者控制标题是否另起一行。

  • titleformat,控制标题内容的格式,作用域为章节标题内容。

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

  • aftertitle

  • runin

  • afterindent

  • beforeskip

  • afterskip

  • indent

  • pagestyle

在对章节标题进行定制的时候,使用命令的方式通常是这样?#27169;?a href="http://pics.latexstudio.net/wp-content/uploads/2017/08/toc-design09.png">  如果仅?#38405;?#20010;级别标题的某个属性进行设置,可以用“章节级别/属性=...”的方式。如果?#38405;?#20010;级别的标题的多个属性都要修?#27169;?#21017;可以用像上面 chapter 那样进行处理。 说了这么多,下面给大家举一些例子吧。首先,在 ctexart/article 中,默?#31995;?section 标题是居中的。那么如果我们想把这个标题靠左,就可以用 section/titleformat = \raggedright 来设置,示例如下(第3--5?#26657;?a href="http://pics.latexstudio.net/wp-content/uploads/2017/08/toc-design10.png">如果想像数学课本一样把章节编号前加上一个 \S 符号,我们就可以这样:如果还?#36824;?#30270;,想用“第X节”的方式来做这个标题,就可以这样(\chinese命令可以?#35759;?#24212;的数字变成中?#27169;?a href="http://pics.latexstudio.net/wp-content/uploads/2017/08/toc-design12.png">这里几个简单的例子,大家应该可以明白这些命令是如何工作的了。注意 \ctexset 命令应该在导言区使用。其他的一些定制格式大?#19968;?#21487;以继续去探索,遇?#35762;?#26126;白的问题一定要看文档噢。 ---版面大小的定制在排版工作中,有一个非常重要的概念叫做版心。如果大家经常使用 MS Word 的话,应该能注意到页面四个角落里都有一个直角符号。那四个直角符号的顶点相连构成的区域就是版心。说白了就是我们安放正文的位置。在 LaTeX 中,我们一样可以定制版心的大小,需要的只是一个 geometry 宏包。 大家在前面的练习当中一定注意到了,LaTeX 默?#31995;?#29256;心非常小。在加入了 geometry 宏包后,默?#31995;?#29256;心会比原?#21019;?#19968;点,看上去会感觉好一些(大家自己试试)。geometry 宏包可以加上若干选项,比如设置各个方向的页边距。例如,在导言区使用

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

就可以把左、右、上、下的边距分别调整为1厘米、1厘米、2厘米、3厘米。详细的使用方法可以看 geometry 宏包的文档,里面讲述了如何用它定制版面。 ---页面风格的定制对于一个页面,我们可能还需要页码等页眉、页脚信息。这个时候就需要我们来定制页面风格了。使用 \pagestyle 命令可以调用三种默?#31995;?#39029;面风格:

  • plain:只有页底中央的页码;

  • empty:啥也?#25381;校?/p>

  • headings:把章节的标题写在页眉处,同时有页码;

其中 headings 是默?#31995;?#39029;面风格,依据文类的不同而有所改变,大家可以自己尝试一下。例如调用 plain 风格的命令就是 \pagestyle{plain},记得要在导言区使用。 如果需要深度定制各种页眉页脚,可以使用 fancyhdr 宏包。fancyhdr 宏包可以对页眉和页脚的左中右共六个位置显示的内容进行定义,大家可以查看 fancyhdr 宏包文档来尝试自己定制一个页面风格。 选自:https://zhuanlan.zhihu.com/p/24501131

分享到:
未经允许不得转载:LaTeX技巧907:目录与格式定制
已有 条意见

    最新文章

    加载中...
      本站提供专业LaTeX排版、咨询、定制服务,请点击下图咨询详情


      全国首个精品的LaTeX视频教程,大牛带着你入门,让LaTeX学习不再纠结,请点击下图咨询详情

      ?#35753;?#35780;论

        联系我们

        交流QQ群:91940767
        本站QQ号:343083553
        邮箱联系[email protected]
        淘宝店铺latexstudio.taobao.com 提供排版,模板定制,培训,图片处理,视频教程等LaTeX服务。


        如果您投稿或者希望加入我们团队,请发送您的简历到[email protected]

        科技艺术的完美融合,专业精致的排版体验

        联系我们联系我们
        拳皇命运怎么快速的得到更多的装备
        3d今天及试机号 倍投方案1382472 足球球琛比分网 七星彩近1500期 新疆时时三星万能七码走势图 浙江十一选五走势图 浙江61走势图2元网 奔驰宝马单机免费游戏下载 北京时时赛车违法吗 快乐扑克3攻略