需要使用 \pageref 到包含 *-equations 的页面

需要使用 \pageref 到包含 *-equations 的页面

我确信以前有人问过这个问题,但我似乎找不到答案。

我需要引用一个页面。也就是说,我想使用\pageref{}。我特别需要引用 中的方程式\begin{align*} \end{\align}

当我\label在 中插入 a 时align*出现错误。我该怎么做?

所以我想做这样的事

\documentclass[12pt]{report}
...

Texts

\begin{align*}
e = mc^2\label{eqn}
\end{align*}
...
Text the equation on page \pageref{eqn} is ...

我需要对包含的页面进行页面引用E=mc^2

答案1

\label将“锚点”放置在需要交叉引用的页面上的某个位置即可。只是不要将标签里面从设计上来说,该环境不会采用编号锚点。

为了尽量减少在公式和标签之间发生不幸的分页符(从而导致无法正确获取页码引用)的可能性,请务必将\label说明就在之前您要交叉引用其页码的公式。正如@egreg 在评论中指出的那样,这是一个安全的放置选项,因为在显示公式之前立即插入分页符对于 LaTeX 来说不是一个合法的举动。

以下 MWE

\documentclass{article}
\begin{document}
\label{page:emc2}  % place the \label instruction immediately before the unnumbered equation
\[  % an unnumbered display-style equation
E=mc^2
\]
\clearpage
A famous equation is shown on page \pageref{page:emc2}.
\end{document}

在第 2 页产生以下输出:

第 1 页显示了一个著名的等式。

答案2

\label您可以伪装使用标准命令:

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\let\pagelabel\ltx@label
\makeatother

\begin{document}
\begin{align*}
E&=mc^2\pagelabel{page:emc2}\\
F&=nd^2
\end{align*}
\clearpage
A famous equation is shown on page \pageref{page:emc2}. 
Which one, you will ask? Indeed, it is a puzzle for the readers
to solve.

\end{document}

但是,最好还是将\tag其等式化或对其进行编号,原因我已在上面的代码中添加。

答案3

align*对于您的示例,您可以使用equationwith ,而不是 using \nonumber

...
\begin{equation}
\nonumber
\label{eqn}
e = mc^2
\end{equation}
...
Text the equation on page \pageref{eqn} is ...

此解决方案适用于页码编号和hyperref可点击的引用。

如果您想指出文档中不是方程式的地方,部分解决方法是插入\label您想要指出的地方,并将单行无编号方程式更改为上述格式。页码应该可以正常工作,并将hyperref查看者发送到该位置之前的最后一个锚点。(不适用于\qedhere。)

相关内容