LaTeX教学2.8 计数器

2.8 计数器

前面在源文件结构里提到过, 对于章节可以进行自动的编号而不用我们去操心, 那这个编号中具体蕴含着什么呢, 又或者我们不想用它自动生成的序号呢?这一节我们来说说LaTeX中的计数器.

论文中每个章节, 插图, 表格, 公式, 脚注, 页码等文本元素都有一个递增的排序序号, 以便于区分, 查阅, 和引用[1], 而计数器就完成了这一工作, 它独自行动, 会将中间添加的元素添加上自己的序号, 并将后面的元素的序号更新, 同时为了在排版过程中控制每页可放置浮动体的的数量, 章节目录的深度(即可以显示几层), 都需要计数器的控制.

2.8.1 计数器的名称与用途

在LaTeX系统中内置了23个计数器, 其中17个为序号计数器, 6个为控制计数器.

序号计数器

序号计数器用于为各种文本元素生成序号. 每个序号计数器与其排列的命令名或环境名都相同(只有enumi四个不同), 如下表

序号计数器.png
控制计数器

控制计数器用于控制浮动体数量和目录深度, 它们的名称和用途说明如下表

控制计数器.png

2.8.2 计数器的计数形式

序号计数器的计数形式有多种, 可通过计数形式命令确定或改变, 以下是各种计数形式命令及其计数形式说明:

计数形式.png

在上述各种计数形式命令中, 计数器可以是17个序号计数器的任意一个, 也可以是自定义的新的计数器.

序号计数器的默认计数形式

在所有的17个序号计数器中, enumiimpfootnote的默认计数形式都是小写英文字母, enumiii为小号罗马数字, enumiv为大写英文字母, 其余序号计数器的默认计数形式均为阿拉伯数字.

序号计数器的计数形式修改

可以用重新定义命令来改变序号计数器的计数形式 例如章序号计数器改为大写罗马数字的计数形式:\renewcommand{\thechapter}{\Roman{chapter}}. 这个命令中的\thechapterchapter章的计数器内的数字.

计数器设置命令

LaTeX提供了一组有关计数器设置的命令, 下面列出这些命令及其用途说明:

计数器设置命令.png

每当使用命令\newcounter自定义一个新计数器时, 系统将会自动地定义一条新命令:

\newcounter{\the新计数器}{\arabic{新计数器}}

这条命令用于显示该新计数器的值.

命令\refstepcounter的应用

计数器命令\refstepcounter常用于定义可生成序号的命令或环境, 以备在正文中被引用. 例如我们可以定义一个以节为计数单位的示例命令\EX

\documentclass{article}
\usepackage[UTF8]{ctex}
\begin{document}
\newcounter{Emp}[section]
\renewcommand{\theEmp}{\thesection.\arabic{Emp}}
\newcommand{\EX}{\par\textbf{例}\refstepcounter{Emp}\textbf{\theEmp}\hspace{1em}}
\section{第一节}
\EX 写第一个\LaTeX 文档
\EX 源文档的结构
\section{第二节}
\EX 自定义
\EX 自定义命令
\end{document}
计数器应用.png

对上面的命令进行说明:

  1. 第一条命令\newcounter{Emp}[section]定义了一个名为Emp的计数器, 并设定它以节为排序单位, 每当新的一节开始的时候它就会被清零.
  2. 第二条命令\renewcommand{\theEmp}{\thesection.\arabic{Emp}}重新定义了\theEmp命令, 使其可以显示节.序号的形式.
  3. 第三条命令定义了一个\EX命令, 每调用一次命令, 计数器命令\refstepcounter就会将\theEmp的值加一; 如果\EX后跟有书签命令\label, 命令\refstepcounter还会将这个当前值传递给这个书签命令, 便于在正文中使用\ref引用这个示例. 命令中的\hspace{<长度>}是一个长度设置命令, 表示生成一段水平(Horizontal)的空白, 1em代表了当前字号下M的宽度.

对于计数器我们暂时介绍这么多, 余下的在涉及时再进行说明.


  1. 关于怎么引用我们在2.9节介绍

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,500评论 0 5
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,242评论 6 13
  • 今天一早就被助推催着要写文章,我再三再三思考思考思考好像没什么可写的,我真有点晕菜了,没有料呀,当场我就很...
    能量博士浅浅阅读 424评论 12 3
  • 普通人走平凡路^_^脚踏实地
    芸二姐阅读 163评论 0 1
  • 她从小就着迷于那些有才情的男生们。熟人也好,陌生人也罢,只消读几句他们的文字,她便像小女孩崇拜父亲那般,把他们当做...
    江北梧桐雪阅读 284评论 0 0