我在让标题编号按章节重新开始方面遇到了问题。为了遵循出版商的指导方针,算法被强制放入称为“对象”的东西中,该对象的行为类似于图形 - 按章节标记,后跟章节内的编号,并拉入对象列表(例如对象 2-1)。出于某种原因,对象不会在新章节开始时重新编号,因此看起来像对象 2-1、对象 4-2、4-3 等。表格和图形重新启动没有问题。有没有办法正确地覆盖标题编号,或者让 LaTeX 注意到列表不应该贯穿章节?
为了将算法强制放入对象中,我们将\floatname{algorithm}{Object}
算法列表设置为对象列表:
\let\listofObjects\listoftables % Copy command
\patchcmd{\listofObjects}{\listtablename}{\listalgorithmname}{}{} %Patch the three instances of \listtablename
\patchcmd{\listofObjects}{\listtablename}{\listalgorithmname}{}{}% to all be converted to the
\patchcmd{\listofObjects}{\listtablename}{\listalgorithmname}{}{}% \listalgorithmname.
\patchcmd{\listofObjects}{lot}{loa}{}{}
现在,我们设置了以下设置来制作标签 chapternumber-numberinchapter:\renewcommand*{\thealgorithm}{\thechapter-\arabic{algorithm}}
我们对其他元素设置了此设置,没有问题(表格、公式、图形等,例如,工作正常)。此外\renewcommand*{\thefigure}{\thechapter-\arabic{figure}}
,如果我删除,这些算法似乎\floatname{algorithm}{Object}
只会更改为算法 2-2,因此数字仍然不正确。我不确定在哪里使用\newcounter
这个模板确实需要一些更新,但不幸的是,创建它的人已经不在了,所以如果我解释得不好,我深表歉意。
答案1
如果有人遇到类似的问题,我只是想把这个问题提出来。在每一章的开头,我都使用了 ,\counterwithin{algorithm}{chapter}
这样编号就正确了,然后再用\renewcommand*{\thealgorithm}{\thechapter-\arabic{algorithm}}
来格式化,用破折号代替句点。谢谢你的帮助。