我有一组不同类型的元素,用于在文档中包含类似图形的项目。这些元素包括浮动元素(由 创建\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
而不管其格式如何。