![Beamer 中无法解释的方程编号](https://linux22.com/image/349333/Beamer%20%E4%B8%AD%E6%97%A0%E6%B3%95%E8%A7%A3%E9%87%8A%E7%9A%84%E6%96%B9%E7%A8%8B%E7%BC%96%E5%8F%B7.png)
这是我的代码:
\documentclass{beamer}
\usepackage{amsfonts}
\usepackage{amsmath}
\begin{document}
\frame{\titlepage}
\begin{frame}
\begin{gather}\label{equation1}
a^2 + b^2 = c^2
\end{gather}
Consider \eqref{equation1}. This is fine.
\end{frame}
\begin{frame}
But then:
\begin{gather}\label{equation2}
x^2 + y^2 = z^2\nonumber\\
r + s + t
\end{gather}
\begin{equation}
x = 2
\end{equation}
Equation (2) is referenced as \eqref{equation2}. Why???
\end{frame}
\end{document}
我不明白为什么在最后一行中,\eqref(equation2) 显示为 (3),尽管它显然被指定为 (2)。我该如何有效地解决这个问题,特别是因为我将不得不用这种东西编写多张幻灯片?
答案1
Amsmath 环境align
旨在gather
排版多个方程式,因此要求在\label{whatever}
您想要引用的每一行中放置一个方程式。
如果您将 放在\label{equation2}
标记为 的行上\nonumber
(因此,您不想给这个方程编号),标签将拾取先前步进的计数器。在这种情况下,它是一个帧编号计数器,因此您的 (3) 表示帧编号,而不是方程编号。
将标签\label{equation2}
定义移至环境中的第二个方程式gather
有帮助。
\documentclass{beamer}
\usepackage{amsfonts}
\usepackage{amsmath}
\begin{document}
\frame{\titlepage}
\begin{frame}
\begin{gather}\label{equation1}
a^2 + b^2 = c^2
\end{gather}
Consider \eqref{equation1}. This is fine.
\end{frame}
\begin{frame}
But then:
\begin{gather}
x^2 + y^2 = z^2\nonumber\\
r + s + t\label{equation2}
\end{gather}
\begin{equation}
x = 2
\end{equation}
Equation (2) is referenced as \eqref{equation2}. Why???
\end{frame}
\end{document}
答案2
你把他们\label
放错了地方:他们需要来后编号项目:
\documentclass{beamer}
\usepackage{amsfonts}
\usepackage{amsmath}
\begin{document}
\frame{\titlepage}
\begin{frame}
\begin{gather}
a^2 + b^2 = c^2\label{equation1}
\end{gather}
Consider \eqref{equation1}. This is fine.
\end{frame}
\begin{frame}
But then:
\begin{gather}
x^2 + y^2 = z^2\nonumber\\
r + s + t\label{equation2}
\end{gather}
\begin{equation}
x = 2
\end{equation}
Equation~(2) is referenced as \eqref{equation2}. Why???
\end{frame}
\end{document}