我确信以前有人问过这个问题,但我似乎找不到答案。
我需要引用一个页面。也就是说,我想使用\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*
对于您的示例,您可以使用equation
with ,而不是 using \nonumber
。
...
\begin{equation}
\nonumber
\label{eqn}
e = mc^2
\end{equation}
...
Text the equation on page \pageref{eqn} is ...
此解决方案适用于页码编号和hyperref
可点击的引用。
如果您想指出文档中不是方程式的地方,部分解决方法是插入\label
您想要指出的地方,并将单行无编号方程式更改为上述格式。页码应该可以正常工作,并将hyperref
查看者发送到该位置之前的最后一个锚点。(不适用于\qedhere
。)