我使用以下与字幕、表格和超链接相关的软件包:
\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}