带有包含 inparaenum 的标题的图表引用无法正常工作

带有包含 inparaenum 的标题的图表引用无法正常工作

我无法跳到数字(不是图形的标题)具有包含的标题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

相关内容