轻松交叉引用多个方程式

轻松交叉引用多个方程式

我有一个包含许多(超过 100 个)方程式的文档,我认为在处理过程中我必须更改、切换、删除它们等。我经常想引用一个方程式,但由于正在进行的工作,引用\label每个方程式(例如带有数字)并不方便\ref。有没有更简单的方法可以做到这一点,即使我更改顺序等,也可以使用一些自动标记和直接引用。

答案1

如果你\label按升序对方程进行数字排序,则说明你没有正确使用该工具。的参数\label应该以某种简略且希望可识别的方式表明,什么它被交叉引用。例如,有人可能会写

\begin{equation} \label{eq:einstein_energy}
E=mc^2
\end{equation}

使用此设置,无论公式最终编号为155还是其他任何数字,您都可以在文档的任何位置进行交叉引用,方法是:

\ref{eq:einstein_energy}

你当然不必改变论点\label\ref仅仅因为分配给等式的数字发生了变化而改变(和)的参数。

如果你需要交叉引用范围方程,你应该考虑加载聪明人包并使用其\crefrange宏,如下例所示。请注意,中间三个等式甚至没有分配\labels。

有关交叉引用机制和包的更多信息,请参阅交叉引用包:使用哪一个,哪些有冲突?

在此处输入图片描述

\documentclass{article}
\usepackage[noabbrev]{cleveref} % for "\crefrange" macro
\setlength\textwidth{3in} % just for this example
\begin{document}
\begin{equation}\label{eq:one_one}  1+1=2 \end{equation}
\begin{equation}                    2+2=4 \end{equation}
\begin{equation}                    3+3=6 \end{equation}
\begin{equation}                    4+4=8 \end{equation}
\begin{equation}\label{eq:zero_zero}0+0=0 \end{equation}
A cross-reference to \crefrange{eq:one_one}{eq:zero_zero}.
\end{document}

相关内容