单独格式化“分段”计数器

单独格式化“分段”计数器

我有一组不同类型的元素,用于在文档中包含类似图形的项目。这些元素包括浮动元素(由 创建\SetupFloatingEnvironment)、非浮动元素和全页环境/命令。

虽然非浮动环境可以通过 轻松共享基本浮动类型的计数器和列表\captionsetup,但我不得不对全页类型进行一番修改:它没有实际内容\caption,而是格式化为标题的文本。然后我手动更新计数器,a) 在页眉中写入“标题”并 b) 手动创建目录条目。

基本上,这种方法效果很好,但是当我处于浮动环境以包含章节编号的环境中时,我不知道如何在手册标题中模仿它。

所以问题是:我如何确定浮点数的实际编号选项(我的包的最终用户可能已经单独更改了)?我如何为自定义标题和“内容行”重现该格式?

答案1

在 LaTeX 中,每个由 定义的计数器\newcounter{<counter>}都附带一个\the<counter>默认为 的宏\arabic{<counter>}。这允许用户按预期步进(或更新)计数器,但在打印时将它们链接到其他计数器(例如,也包含章节的图形计数器)。

\arabic{<counter>}不要在代码中使用来设置计数器,\the<counter>而是使用并按以下方式重新定义它,例如:

\renewcommand{\the<counter>}{\the<othercounter>.\arabic{<counter>}}

这允许<counter>继承<othercounter>打印机制的任何格式。

另一种方法是直接使用\the<othercounter>其显示属性,无论它们是什么。

\myfigure给定一个想要挂入计数器的命令figure,可以这样写:

\newcommand{\myfigure}{%
    \refstepcounter{figure}%
    \addcontentsline{lof}{figure}{\protect\numberline{\thefigure}{\ignorespaces #1\relax }}%
}

这样,内容行就会使用编号,figure而不管其格式如何。

相关内容