Captionof+label 创建锚定在标题而非证明上的链接

Captionof+label 创建锚定在标题而非证明上的链接

我有一个证明 (bussproof),它位于环境中center,我将captionof它放在里面,label后面跟着一个。当我单击autoref标签之一时,它会跳转到标题,但不会跳转到证明的顶部。

这是我的代码的概要:

\documentclass{article}
\usepackage{bussproofs}
\usepackage{hyperref}
\usepackage{caption}

\begin{document}

\begin{center}
    \AxiomC{$A$}
    \UnaryInfC{$B$}
    \DisplayProof
    \captionof{figure}{Proof sketch}
    \label{fig:proof-schema}
\end{center}

\autoref{fig:proof-schema}

\end{document}

我尝试将captionof和放在环境label之外center,但这并没有改变任何东西。如果我将放在captionof证明前面,它会链接到标题,但标题会出现在证明之前。

答案1

包文档中提到了该行为caption。当您使用命令时,\captionof超链接锚点位于标题中,尽管hypcaptrue。另一种方法是使用\captionsetup和,\caption如下所示:

\documentclass{article}
\usepackage{bussproofs}
\usepackage{hyperref}
\usepackage{caption}

\begin{document}
    
    \begin{center}
        \captionsetup{type=figure}
        \AxiomC{$A$}
        \UnaryInfC{$B$}
        \DisplayProof
        \caption{Proof sketch}
        \label{fig:proof-schema}
    \end{center}
    
    \autoref{fig:proof-schema}
    
\end{document}

这个想法是用来\captionsetup定义您想要的浮动环境类型。这会创建一个超链接锚点,因此最好在环境的开头(内容之前)使用它。然后,您可以使用\caption而不是排版标题\captionof

相关内容