我已\pagerfer
指向下一頁上的程式碼清單。該清單配備了\label
.當我使用 TeX 文件生成 PDF 時
latexmk -pdflatex='pdflatex -shell-escape -interaction nonstopmode' -pdf -bibtex -f %f
指令,參考顯示正確的頁碼,但點擊時跳到錯誤的頁面。我最初的問題是代碼列表不適合頁面的剩餘空間,所以我\newpage
在它之前添加了。這修復了 中的數字\pageref
,但沒有修復行為。
以下是“有趣”的部分,我認為它們與問題相關:
\subsection{Larger example}
\label{sec-2-3}
[...]
Whoa, this was a lot of code (see page \pageref{if_pressed}) [...]
\newpage
\begin{minted}[bgcolor=codebg,fontsize=\scriptsize]{prolog}
if_pressed(Button, modifiers(Playback, Position, Content, Mode), NextState):-
( ... ).
\end{minted}
\label{if_pressed}
\subsection{Queries}
答案1
我建議你插入指令
\phantomsection
之間\newpage
。\begin{minted}
此指令的目的是為 hyperref 提供某種“錨點”,以便對沒有關聯的自動計數器的物件的交叉引用仍會將您帶到文件中的預期位置。