跨章节重复使用不同项目的标签名称

跨章节重复使用不同项目的标签名称

我正在写论文(使用大学特定的文档类型)并导入许多章节(使用包导入)。每章都直接取自一个 latex 文件,该文件曾经作为一篇文章(适当删除了序言)。我还让每章在章节末尾打印自己的参考书目。

不幸的是,不同章节中许多章节和方程的标签名称都相同。例如,我可能有两个方程名为 \label{eq:schrodinger},或两个章节名为 \label{sec:intro}。我几乎从不想在章节之间进行交叉引用。我希望每个对方程或章节的引用都指向其自己的内部版本。[例外是我的简介章节,我确实在其中引用了章节编号,但这真的不是什么大问题,因为这种情况并不常见。]

此外,我在引用方面也遇到了同样的问题,因为许多章节都引用了相同的作品,但我需要这些引用(带有正确的编号)出现在每一章中。目前,latex 已将每个 \cite{label} 的编号归因于整个文档中标签最后一次出现的编号,而不是该章节中标签出现的编号。

有什么方法可以解决这些问题吗?将所有参考/标签/引文都放在内部,这样 latex 在编译每章内容时就会忽略其他章节的标签/bibitem 的存在。请注意,我使用了 hyperref、cite、amsmath、amsthm 等软件包(以及许多其他软件包),并有一个自动生成的目录,这无疑会增加进一步的复杂性。

我真的不想手动重新标记所有内容。重新标记章节和方程式已经够糟糕了,但重新标记引用会非常糟糕,因为我经常使用 \cite{refa, refb, refc}。[当然,只要付出足够的努力,我想人们可以做到https://xkcd.com/208/,但我真的希望保持各个章节不变。

答案1

关于方程和部分的标签,我可以通过调整在以下位置找到的答案来解决问题:将自定义 \locallabels 命令与自定义 \eqref 命令结合使用. 章节间交叉引用仍需要进行少量工作,但正如问题所述,在这种情况下很少发生这种情况。

然而,这并不能解决引用问题,而引用问题才是更大的问题。

[很抱歉,这不是对这个问题的评论,这是我的问题。我的声誉不够高,因为我是在发布这个问题后才加入的。]

相关内容