tufte-book 中的 autoref 图形标签

tufte-book 中的 autoref 图形标签

这似乎是 tufte-book 图形标签的一个问题,但我不确定是否可以解决这个问题。

\documentclass{tufte-book}
\usepackage{listings}\lstloadlanguages{C}
\usepackage{hyperref}

\newcommand{\lstnumberautorefname}{Figure}

\begin{document}
\begin{figure}
    \begin{center}
    \begin{tabular}{cc}
        a & b \\
        c & d
    \end{tabular}
    \end{center}
    \caption{A table}\label{fig}
\end{figure}

\begin{figure}
    \begin{lstlisting}
    void main() {}
    \end{lstlisting}
    \caption{A listing}\label{fig2}
\end{figure}

\begin{figure}
    \begin{center}
    \begin{tabular}{cc}
        a & b \\
        c & d
    \end{tabular}
    \end{center}
    \caption{Another table}\label{fig3}
\end{figure}

testing \autoref{fig} and \autoref{fig2} and \autoref{fig3}
\end{document}

针对表格的两个\autoref代码似乎不正确:最后一行打印为“测试 [1] 和 [图 2] 和 [图 3]”,其中 [1] 链接到文档的开头,[图 2] 链接到图 2,正如预期的那样,[图 3] 也链接到图 2。如果图形包含文本或其他内容而不是表格,则会出现相同的行为。因此,似乎环境lstlisting正在做一些黑客行为来修复引用,而默认行为无法正确锚定标签。

我可以给其他图形添加一些神奇的魔力,让它们像列表图形一样工作吗?

相关内容