跳转到内容

LaTeX/计数器

来自维基教科书,自由的教科书

LaTeX

入门
  1. 介绍
  2. 安装
  3. 安装额外包
  4. 基础
  5. 如何获得帮助

常见元素

  1. 文档结构
  2. 文本格式
  3. 段落格式
  4. 颜色
  5. 字体
  6. 列表结构
  7. 特殊字符
  8. 国际化
  9. 旋转
  10. 表格
  11. 标题创建
  12. 页面布局
  13. 自定义页面页眉和页脚‎
  14. 导入图形
  15. 浮动体、图形和标题
  16. 脚注和边注
  17. 超链接
  18. 标签和交叉引用
  19. 首字母

机制

  1. 错误和警告
  2. 长度
  3. 计数器
  4. 方框
  5. 规则和支撑

技术文本

  1. 数学
  2. 高级数学
  3. 定理
  4. 化学图形
  5. 算法
  6. 源代码列表
  7. 语言学

特殊页面

  1. 索引
  2. 词汇表
  3. 参考文献管理
  4. 更多参考文献

特殊文档

  1. 科学报告(学士报告、硕士论文、博士论文)
  2. 信件
  3. 演示文稿
  4. 教师专区
  5. 简历
  6. 学术期刊(MLA、APA 等)

创建图形

  1. 介绍程序图形
  2. MetaPost
  3. 图片
  4. PGF/TikZ
  5. PSTricks
  6. Xy-pic
  7. 创建 3D 图形

编程

  1. 纯 TeX
  2. 创建包
  3. 创建包文档
  4. 主题

杂项

  1. 模块化文档
  2. 协作编写 LaTeX 文档
  3. 导出到其他格式

帮助和推荐

  1. 常见问题解答
  2. 技巧和窍门

附录

  1. 作者
  2. 链接
  3. 包参考
  4. LaTeX 文档示例
  5. 索引
  6. 命令词汇表

编辑此框编辑目录

计数器是 LaTeX 的重要组成部分:它们允许您控制所有内容(节、列表、标题等)的编号机制。为此,每个计数器在 长整数 范围内存储一个整数值,即从 [1]

计数器操作

[编辑 | 编辑源代码]

在 LaTeX 中,创建新的计数器以及在另一个计数器增加时自动重置的计数器(例如,节中的小节)相当容易。使用命令

\newcounter{NameOfTheNewCounter}

您将创建一个新计数器,该计数器自动设置为零。如果您希望计数器在每次另一个计数器增加时重置为零,请使用

\newcounter{NameOfTheNewCounter}[NameOfTheOtherCounter]

例如,如果您希望在每章中独立枚举方程式,您可以创建一个类似于“equationschapter”的计数器,该计数器将在每节开头自动重置。

\newcounter{equationschapter}[section]
	
    \section{First Section}
    I present one equation:
    
    \stepcounter{equationschapter} $a=b+c$ (Eq. \arabic{section}.\arabic{equationschapter})
    
    \section{Second Section}
    I present more equations:
    
    \stepcounter{equationschapter} $a=c+d$ (Eq. \arabic{section}.\arabic{equationschapter})
      
    \stepcounter{equationschapter} $d=e$ (Eq. \arabic{section}.\arabic{equationschapter})


要将另一个计数器添加到现有计数器中,并在增加时导致重置,请使用

\counterwithin*{NameOfTheCounter}{NameOfTheOtherCounter}

如果这不起作用,可能是因为您使用的 LaTeX 版本过旧,在这种情况下,以下方法应该可以正常工作

\makeatletter
\@addtoreset{NameOfTheCounter}{NameOfTheOtherCounter}
\makeatother

要撤消此效果,可以使用

\counterwithout*{NameOfTheCounter}{NameOfTheOtherCounter}

\makeatletter
\@removefromreset{NameOfTheCounter}{NameOfTheOtherCounter}
\makeatother

要增加计数器,请使用

\stepcounter{NameOfTheNewCounter}

\refstepcounter{NameOfTheNewCounter} % used for labels and cross referencing

\addtocounter{NameOfTheNewCounter}{number}

这里的数字也可以是负数。对于自动重置,您需要使用 \stepcounter

要显式设置计数器值,请使用

\setcounter{NameOfTheNewCounter}{number}

计数器访问

[编辑 | 编辑源代码]

有几种方法可以访问计数器。

  • \theNameOfTheNewCounter 将打印与计数器相关的格式化字符串(注意计数器实际名称之前的“the”)。
  • \value{NameOfTheNewCounter} 将返回计数器值,该值可供其他计数器使用或用于计算。它不是格式化字符串,因此不能在文本中使用。
  • \arabic{NameOfTheNewCounter} 将使用阿拉伯数字打印格式化的计数器。

请注意,\arabic{NameOfTheNewCounter} 也可以用作值,但其他命令不行。

奇怪的是,LaTeX 计数器在任何情况下都不用反斜杠引入,即使使用 \the 命令也是如此。plainTeX 等效项 \count\newcount\mycounter 则遵守反斜杠规则。

计数器样式

[编辑 | 编辑源代码]

以下内部 LaTeX 命令将把指定计数器的数值转换为可打印的字符串,并将字符串插入文档中

\arabic
数字从 (含)转换为字符串 «-2147483648», «-2147483647», …, «-1», «0», «1», …, «2147483646», «2147483647»。
示例:1、2、3、…
\alph
数字从 1 到 26(含)转换为字符串 «a», «b», …, «z». 其他数字(负数、零、27、28、…, ) 转换为空字符串。
示例:a、b、c、…
\Alph
\alph 相同,但使用大写字母。
示例:A、B、C、…
\roman
数字从 1 到 4999(含)转换为字符串 «i»(1)、«ii»(2)、…, «mmmmcmxcix»(4999),其中 «i» — 1、«v» — 5、«x» — 10、«l» — 50、«c» — 100、«d» — 500、«m» — 1000。数字从 5000 到 (含)转换为字符串 «mmmmm»(5000)、«mmmmmi»(5001)、…。其他数字(负数、零)转换为空字符串。
示例:i、ii、iii、…
\Roman
\roman 相同,但使用大写字母。
示例:I、II、III、…
\fnsymbol
针对脚注;打印一系列符号。
数字 符号
1
2
3
4 §
5
6
7 ∗∗
8 ††
9 ‡‡
其他数字 空字符串
示例:∗、†、‡、…

LaTeX 默认计数器

[编辑 | 编辑源代码]
  • 部分
  • 章节
  • 小节
  • 小小节
  • 段落
  • 子段落
  • 脚注
  • 多行脚注

对于 enumerate 环境

  • enumi
  • enumii
  • enumiii
  • enumiv

对于 eqnarray 环境

  • 公式

包含部分、节,但没有章节的书籍

[编辑 | 编辑源代码]

以下是一个在 book 类中使用部分和节,但没有章节的例子。

\renewcommand{\thesection}{\thepart .\arabic{section}}

\part{My Part}                                                                
\section{My Section}
\subsection{My Subsection}

自定义 enumerate

[编辑 | 编辑源代码]

参见 列表结构 章节。

自定义分节

[编辑 | 编辑源代码]

这是一个重建类似于 LaTeX 中已经存在的节和子节计数器的例子。

\newcounter{mysection}
\newcounter{mysubsection}[mysection]
\addtocounter{mysection}{2} % set them to some other numbers than 0
\addtocounter{mysubsection}{10} % same
%
\arabic{mysection}.\arabic{mysubsection}
Blah blah

\stepcounter{mysection}
\arabic{mysection}.\arabic{mysubsection}
Blah blah

\stepcounter{mysubsection}
\arabic{mysection}.\arabic{mysubsection}
Blah blah

\addtocounter{mysubsection}{25}
\arabic{mysection}.\arabic{mysubsection}
Blah blah and more blah blah


前一节:长度 索引 下一节:盒子
华夏公益教科书