美文网首页LaTeX科研写作
LaTeX教学2.8 计数器

LaTeX教学2.8 计数器

作者: 无锤乙醇 | 来源:发表于2019-02-05 12:37 被阅读0次

    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节介绍

    相关文章

      网友评论

        本文标题:LaTeX教学2.8 计数器

        本文链接:https://www.haomeiwen.com/subject/mrcvsqtx.html