表格内的目标链接太低。这不在浮动内,因此 hypcap 和 \hypcapspace 无效。这是一个已知问题吗?
\documentclass{article}
\usepackage{hyperref}
\hypersetup{pdftoolbar=true,pdfpagemode=UseNone,pdfstartview={FitH},colorlinks=true}
\begin{document}
\hypertarget{test1}{normal anchor}
\hyperlink{test1}{link}
\begin{tabular}{c}
\hypertarget{test2}{tabular}
\end{tabular}
\hyperlink{test2}{link}
\end{document}
答案1
目标放在底线上。
\raisebox
可用于提高目标。pdfTeX 提供
\vadjust pre{...}
在当前行之前放置一些内容的功能。
例子:
\documentclass{article}
\usepackage{hyperref}
\hypersetup{%
pdftoolbar=true,
pdfpagemode=UseNone,
pdfstartview={FitH \hypercalcbp{\paperheight}},
colorlinks=true
}
\usepackage{calc}
\begin{document}
\begin{tabular}{c}
\raisebox{\heightof{T}+1pt}[0pt][0pt]{\hypertarget{test1}{}}%
tabular1
\end{tabular}
\hyperlink{test1}{link}
\begin{tabular}{c}
\vadjust pre{\hypertarget{test2}{}}%
tabular2
\end{tabular}
\hyperlink{test2}{link}
\end{document}
pdfstartview
论点top
是不是PDF 阅读器无法识别。AR9/Linux 甚至会拒绝显示该文件,因为语法无效。
- 可以给出垂直数字,该数字用单位来解释
bp
,单位是 PostScript 和 PDF 中的默认单位。 或者可以通过以下方式计算该值
\hypercalcbp
:pdfstartview=FitH \hypercalcbp{\paperheight}
或者
pdfstartview=FitH \hypercalcbp{\paperheight-\topmargin-1in}
位于标题行顶部或
pdfstartview=FitH \hypercalcbp{\paperheight-\topmargin-1in-\headheight-\headsep}
位于文本主体的顶部。