LaTeX中如何在一行引用多个公式?

47

是否可以像使用\cite命令一样,将多个方程引用组合成一个? 我希望实现的效果是:

\begin{subequations}
 \begin{align}
  a & = b \label{eq1} \\
  c & = d \label{eq2}
 \end{align}
\end{subequations}

Some text referring to the formulas \eqref{eq1,eq2}.

然后编译成“一些文本,涉及公式(1a、b)”。显然,这个例子不起作用,但我希望有一个可以做类似事情的软件包。有什么想法吗?


这个问题有一个很好的回答,可以在这里找到:https://tex.stackexchange.com/questions/17528/show-equation-number-only-once-in-align-environment。 - David Beauchemin
4个回答

48

这是一个简单的解决方案,不需要任何额外的包,只需要增加一个额外的标签:

\begin{subequations}
 \label{eq1}
 \begin{align}
  a & = b \label{eq11} \\
  c & = d \label{eq12}
 \end{align}
\end{subequations}

当您使用\eqref{eq1}时,它将显示为(1)。


1
谢谢您的回答。它应该被接受,因为它是最受欢迎的,并且可以解决问题而无需任何其他软件包。 - BerriJ
你也可以添加\nonumber而不是\label{eq11}来避免自动编号此行(更一般地,将其添加到删除任何行的编号)。 - Rodrigo Laguna

39

8

请考虑以下内容:

\documentclass{article}
\usepackage{amsmath}
\begin{document}
See the equations below:
\begin{subequations}
\label{all1}
 \begin{align}
  a & = b \label{eq1} \\
  c & = d \label{e2}
 \end{align}
\end{subequations}

These refer to \ref{all1}, \ref{eq1} and \ref{e2}.
\end{document}

“amsmath”包引入了“subequations”环境。在“\begin{align}”之前的第一个标签“all1”为整个方程组(本例中为1)创建了一个标签。随后的两个标签分别指代1a和1b。
你问的是关于“subequations”环境的存在以及如何将复合方程与子方程区别编号,还是关于“\eqref”部分?

7

我知道这是一个有些陈旧的帖子,但我忍不住注意到,没有人建议在需要引用总是需要一起引用的多个方程式时使用gather-aligned组合:

    \begin{gather}
      \begin{aligned}
         a&= b\\
         c&= d
      \end{aligned}\label{eq:eq1}
    \end{gather}
    some text referring to \eqref{eq:eq1}

这将生成一组方程的引用,并且参考号将相对于方程式居中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接