我正在使用代码\label{eq:1}
引用\eqref{eq:1}
LaTeX 中的方程式。实际引用是动态的,但标签名称不是。因此,如果我在文档中途插入一个新方程式并想要引用它,我需要使用不按顺序排列的标签名称。这可能会造成混淆,如果我使用数字,我可能会忘记我正在使用的标签名称。
我想知道,有没有办法让我拥有动态的方程标签名称?我正在使用 TeXstudio GUI。是否有某种宏可以让我更新方程标签名称以显示方程编号?这将涉及某种文本编辑,引用编译文档中的方程编号,这似乎很难。
当使用 MS Word 处理数学文档时,我编写了 VBA 代码,将其作为参考方法。在我看来,如果这种更新在 LaTeX 中无法实现,那么这就是 MS Word 优于 LaTeX 的地方。
理想情况下,使用 TeXstudio,当您插入新的方程标签时,它会自动用下一个编号标签填充标签名称。然后有一种方法可以将标签名称更新为与方程编号相同。这样,当您想要从输出中引用方程时,您只需将其输入为标签名称,例如\eqref{eq:1.11}
这将是对方程 1.11 的引用。
提前谢谢你,埃德。
PS:有些‘可能已经有答案的问题’提到\label{eq:HeatEquation}
最好用来引用特定的重要方程式,但这不是我想要的。
答案1
交叉引用标签的名称是在 LaTeX 中在写作/创作/准备.tex 输入文件。
与 MS-Word 程序不同,该程序也会在编写/创建/准备输入文件/.doc(x) 文件阶段进行干预,而 (La)TeX 程序则在 .tex 输入文件已编写/创建/准备好时 / 编写/创建/准备 .tex 输入文件的阶段被中断或结束时开始运行。
因此,您的要求需要通过用于编写/创建/准备相关的 .tex 输入文件的工具来完成。
因此解决方案不能完全基于 TeX 宏。
可能有人能够并且愿意提出一个基于 GUI 编辑器 TeXstudio 的编辑器宏的解决方案。
另一种方法是修补\newlabel
命令,这样您就可以获得一个带有表格的外部文件,您可以在其中查找每个交叉引用标签的名称的相关数值。反过来,该表可能在实现您自己的机制时很有用,以便在编写/创建/准备 .tex 输入文件的阶段将 .tex 输入文件中的引用标签名称替换为其他名称。