我无法跳到数字(不是图形的标题)具有包含的标题inparaenum
。
最小不起作用的示例:
\documentclass{article}
\usepackage{blindtext}
\usepackage{paralist}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{caption} % see: https://tex.stackexchange.com/a/27102/44382
\begin{document}
Fig.~\ref{fig:test} is beatiful!
\blindtext[4]
\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{test}
\caption[]{Linux distros: \begin{inparaenum}\item Ubuntu cat, \item Linux tux, \item Android \end{inparaenum}}
\label{fig:test}
\end{figure}
\blindtext[4]
\end{document}
(要编译上述示例,您需要一些图像称为test.*
– 例如test.jpg
。)
如果你编译它,你会发现跳转到标签无法正常工作,除非你删除它因帕拉尼列表:
\begin{inparaenum}\item Ubuntu cat, \item Linux tux, \item Android \end{inparaenum}
我怎么解决这个问题?
答案1
问题是每个\item
命令都会执行\refstepcounter
,这会设置一个锚点。此锚点将取代与图像相关的锚点。
如果你不打算对这些项目进行交叉引用,那么就说\refstepcounter
应该这样做\stepcounter
。如果你需要交叉引用,那你就完了。
\documentclass{article}
\usepackage{blindtext}
\usepackage{paralist}
\usepackage{graphicx}
\usepackage{caption} % see: https://tex.stackexchange.com/a/27102/44382
\usepackage{hyperref}
\begin{document}
Fig.~\ref{fig:test} is beatiful!
\blindtext[4]
\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{example-image}
\caption[Linux distros]{%
Linux distros:
\begin{inparaenum}
\let\refstepcounter\stepcounter
\item Ubuntu cat,
\item Linux tux,
\item Android
\end{inparaenum}%
\label{fig:test}%
}
\end{figure}
\blindtext[4]
\end{document}
加载caption
前 hyperref
。