![在对齐环境中引用](https://linux22.com/image/238295/%E5%9C%A8%E5%AF%B9%E9%BD%90%E7%8E%AF%E5%A2%83%E4%B8%AD%E5%BC%95%E7%94%A8.png)
以下 LaTeX 文档:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
E=mc^2 \\ \nonumber
E=mc^2 \label{eq1}
\end{align}
ref \ref{eq1}
\end{document}
不显示参考\ref{eq1}
。为什么?
答案1
与\label
位于同一方程行(而非代码行)\nonumber
,因此没有任何方程编号可供标记和稍后引用。您需要将\nonumber
(或\label
)移到 之前\\
:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align}
E=mc^2 \nonumber \\
E=mc^2 \label{eq1}
\end{align}
ref \ref{eq1}
\end{document}
在上述情况下,方程编号放在第二行。如果希望它放在第一行,则将 放在\nonumber
之后,\\
将 放在\label
之前。
答案2
请按如下方式使用:
\begin{align}
E=mc^2 \nonumber\\
E=mc^2 \label{eq1}
\end{align}
ref \ref{eq1}
放\nonumber
前双反斜杠
答案3
为了后代:我通过注释掉 cleverref 包解决了这个问题,这在某种程度上干扰了我以通常的非聪明方式引用方程编号的能力(这不是 OP 遇到的问题,但是当我在谷歌上搜索我的症状时,这个帖子是最受欢迎的,所以我在这里留下评论)。
答案4
供进一步参考:我通过将标签放在 \begin{align} 命令旁边(并激活 \usepackage{cleveref})解决了同样的问题:
\begin{align}\label{eq1}
E=mc^2 \nonumber\\
E=mc^2`
\end{align}
文中:“…… equation~\ref{eq1}
”