当包含 floatrow 时,超链接会跳转到表格顶部标题下方

当包含 floatrow 时,超链接会跳转到表格顶部标题下方

我使用以下与字幕、表格和超链接相关的软件包:

\usepackage{hyperref,caption}
\usepackage[style=Plaintop]{floatrow}
\usepackage[referable]{threeparttablex}

我有一张表格,标题出现在其上方。它是使用 制作的,threeparttable所以我可以\begin{tablenotes}

当我点击链接进入该表格时,视图会跳转到标题下方 - 如果您稍微向上滚动一点,就会立即看到标题。

当然,我希望无需滚动即可看到标题。如果删除,\usepackage[...]{floatrow}它将按预期工作。

我曾尝试使用hypcap大多数帖子中提到的方法,但我相信使用caption封面可以解决这个问题。

我发现遇到完全相同的问题(但使用数字而不是表格)的唯一问题是这个:当我同时使用 caption 和 floatrow 时,如何让 hyperref 显示整个图形?

正如原帖所提到的,大多数其他问题似乎都是关于链接到图片下方的标题,因此遗漏了整个图片 - 这完全不是同一个情况。原帖通过简单地不使用解决了他的问题floatrow- 然而,我不能这样做,因为我需要该包用于其他目的。

那么我怎样才能使链接按预期工作呢?这是最基本的代码:

\documentclass{article}

\usepackage{hyperref,caption}
\usepackage[style=Plaintop]{floatrow}
\usepackage[referable]{threeparttablex}

\begin{document}

\listoftables

\begin{table}
    \begin{threeparttable}

        % Link SHOULD jump here

        \caption{Example}

        % Link ACTUALLY jumps here

        \begin{tabular}{ll}
            A & B \\
            C & D \\
        \end{tabular}
        \begin{tablenotes}
           \item ABCD
        \end{tablenotes}
    \end{threeparttable}
\end{table}

\end{document}

附言:如果我们能在问题提出后的 4 小时内解决这个问题,那么我就可以将其包含在我的硕士申请中:D

PPS:感谢@JohnKormylo,提前 35 分钟完成了!

答案1

显然使用\ttabbox将目标放回其所属的位置。

\documentclass{article}

\usepackage[style=Plaintop]{floatrow}
%\usepackage{threeparttable}
\usepackage[referable]{threeparttablex}
\usepackage{caption}
\usepackage[raiselinks=true]{hyperref}

\begin{document}

\listoftables

\ref{Example}

\begin{table}[t]
    \ttabbox%
        % Link DOES jump here
        {
            \caption{Example}
            \label{Example}
        }
        % Link USED TO jump here
        {
            \begin{threeparttable}
                \begin{tabular}{ll}
                    A & B \\
                    C & D \\
                \end{tabular}
                \begin{tablenotes}
                    \item[a] ABCD
                \end{tablenotes}
            \end{threeparttable}
        }
\end{table}

\end{document}

相关内容