子图引用,顺序错误

子图引用,顺序错误

我在引用子图时遇到了问题。当我引用主图时,引用中的标签是正确的,但当我尝试引用子图时,我得到的是图 X+1,这有点奇怪:

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[english]{babel}
\usepackage{graphicx, hyperref, caption, float}
\usepackage{afterpage}
\usepackage{subfigure}
\usepackage{array}

\begin{document}

\begin{figure}[!htp]
     \centering
     \caption{Impulse responses to policy shocks}\label{fig:impulses to policy shocks}
     \vspace{.05in}
     \parbox{\linewidth}{\footnotesize% 
   This figure displays.....}
       \subfigure[Something $\rightarrow$ Something.]{\label{fig:some_output}
          \includegraphics[width=.45\textwidth]{slope_output.eps}} 
      \subfigure[Something else $\rightarrow$ something.]{\label{fig:something_output}
          \includegraphics[width=.45\textwidth]{lvl_output.eps}}\\
\end{figure}
\end{document}

然后,当我引用时\hyperref[]{Figure \ref{fig:some_output}},与简单引用 \hyperref[]{Figure\ref{fig:impulses to policy shocks}} 相比,我得到了错误的图形编号。

我尝试了这里给出的先前的解决方案,但是这确实使情况变得更加混乱:

\makeatletter
\let\X@old@caption\caption
\def\X@caption@minusone{\expandafter\advance\csname c@\@captype\endcsname-1 }
\def\X@caption@br[#1]#2{\X@old@caption[#1]{#2}\X@caption@minusone}
\def\X@caption@nobr#1{\X@old@caption{#1}\X@caption@minusone}
\def\caption{\@ifnextchar[\X@caption@br\X@caption@nobr}
\makeatother

非常感谢您的帮助。

答案1

由于一些混乱的内容(如您所见),包很久以前就subfigure被包 a 取代了。 的替代方法是作者的包。 这意味着最大程度的兼容性。subfigsubfigsubcaptioncaption

这是您更改为使用subfigure环境的示例,它基本上是一个小页面。

您可以使用autoref提供的命令来节省一些时间。请记住,在几乎所有情况下,最后hyperref加载包。hyperref

\documentclass[12pt]{article}
\pagestyle{plain}
\usepackage[english]{babel}
\usepackage[demo]{graphicx}
\usepackage{subcaption}
\usepackage{hyperref}

\begin{document}
\begin{figure}[!htp]
    \centering
    \caption{Impulse responses to policy shocks}\label{fig:impulsesToPolicyShocks}
    \begin{subfigure}{0.49\textwidth}
    \centering
        \includegraphics[width=.45\textwidth]{slope_output.eps}
        \caption{Something $\rightarrow$ Something.}
        \label{fig:someOutput}
    \end{subfigure}\hfill
    \begin{subfigure}{0.49\textwidth}
    \centering
        \includegraphics[width=.45\textwidth]{lvl_output.eps}
        \caption{Something else $\rightarrow$ something.}
        \label{fig:somethingOutput}
    \end{subfigure}
\end{figure}
\autoref{fig:impulsesToPolicyShocks} contains
\autoref{fig:someOutput} and \autoref{fig:somethingOutput}
\end{document}

在此处输入图片描述

相关内容