hyperref 和 tabular (不是表格) 的问题

hyperref 和 tabular (不是表格) 的问题

表格内的目标链接太低。这不在浮动内,因此 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}
    

    位于文本主体的顶部。

相关内容