我有以下代码:
\documentclass{article}
\usepackage{hyperref}
\usepackage{minted}
\begin{document}
A nice paper has the following things:
\begin{listing}
\begin{minted}{haskell}
data RCPoint = RCPoint {
_rcp_si :: Integer
}
\end{minted}
\label{ch1}
\caption{The RCPOINT Listing}
\end{listing}
\begin{equation}
\label{eq:eqn1}
x^2 - 2 x
\end{equation}
I like my equation in \ref{eq:eqn1}.
I also like my code in Listing \ref{ch1}.
\end{document}
编译正常,生成以下内容:
最后一行缺少对列表的引用。我收到输出的最后一行的警告:
(/usr/share/texmf-dist/tex/latex/amsfonts/umsb.fd)
Package hyperref Warning: Suppressing empty link on input line 55.
[1] (./nice-org-paper.aux) )
Output written on nice-org-paper.pdf (1 page).
Transcript written on nice-org-paper.log.
我怎样才能让参考资料发挥作用?
答案1
问题是 your\label
出现在 your 之前\caption
。你应该总是把 your 放在\caption
之前\label
。
列表的编号由分配\caption
,因此您应该交换两行
\label{ch1}
\caption{The RCPOINT Listing}
到
\caption{The RCPOINT Listing}
\label{ch1}
然后你的代码就会产生你所期望的结果。
您可以在 egreg 的回答中找到有关此问题的更多信息为什么环境的标签必须出现在标题之后?