我有以下代码\documentclass{beamer}
,
\documentclass{beamer}
\begin{document}
\begin{frame}
\texttt{align} environment:
\begin{align}
\begin{bmatrix}
x\\y\\z
\end{bmatrix}&=
\begin{bmatrix}
1&&\\&2&\\&&3
\end{bmatrix}
\begin{bmatrix}
1\\2\\3
\end{bmatrix} \\
&=
\label{eq:4}
\begin{bmatrix}
1&&\\&2&\\&&3
\end{bmatrix}
\begin{bmatrix}
d\\e\\f
\end{bmatrix}\\
\label{eq:1}
a&=b
\end{align}
\texttt{equation} environment:
\begin{equation}
\label{eq:5}
a^{2}+b^{2}=c^{2}
\end{equation}
\end{frame}
\end{document}
出现下面的幻灯片。
我们可以看到最后一个方程的数字没有对齐。如果我改用,就不会遇到这样的问题\documentclass{article}
。
为什么会发生这种情况?我该如何解决?
答案1
经过一番混乱之后,问题似乎出在\label
放置位置不正确。
\end{bmatrix} \\
&=
\label{eq:4} %<----
\begin{bmatrix}
请注意,标记的标签位于 之后&=
,这个东西可能最终会混淆数学间距。将\label
向上移动为此行的第一项,可消除此问题。
解决方案是使用 来开始或结束行\label
,不要将其添加到公式的中间。对于上面的代码片段,请使用
\end{bmatrix} \\
\label{eq:4} %<----
&=
\begin{bmatrix}
我不知道为什么这会导致方程式编号错位。
答案2
我认为问题是由bmatrix
环境引起的。使用{\begin{bmatrix}...\end{bmatrix}}
!尝试以下代码:
\documentclass{beamer}
\begin{document}
\begin{frame}
\texttt{align} environment:
\begin{align}
{\begin{bmatrix}
x\\y\\z
\end{bmatrix}}&=
{\begin{bmatrix}
1&&\\&2&\\&&3
\end{bmatrix}}
{\begin{bmatrix}
1\\2\\3
\end{bmatrix}}\label{eq:1}\\
&=
{\begin{bmatrix}
1&&\\&2&\\&&3
\end{bmatrix}}
{\begin{bmatrix}
d\\e\\f
\end{bmatrix}}\label{eq:2}\\
a&=b\label{eq:3}
\end{align}
\texttt{equation} environment:
\begin{equation}\label{eq:4}
a^{2}+b^{2}=c^{2}
\end{equation}
\end{frame}
\end{document}