我正在使用 tagpdf.sty 从 LaTeX 制作可访问的 pdf。到目前为止,除了添加 UA 元数据之外,我可以做任何事情。但是 (重新) 定义 \href 时存在一个小问题。这是我正在使用的简化版本。我需要 URI、锚文本和 pdf 中的注释,它们可以通过 LaTeX 或 LuaLaTeX 中的 \pdftag 生成。
问题是 #2 可能会被拆分成一行。因此,原则上,我们可能需要两个或更多个 \pdfannots。有人能建议一种方法来处理这个问题吗?
\newlength{\@Href@Width}
\newlength{\@Href@Height}
\newlength{\@Href@Depth}
\newcommand\Href[3]{% URI/text/comment
\tagstructbegin{tag=Link}
\push@mc{16}% Link
\tagmcbegin{tag=Link}
\settowidth{\@Href@Width}{#2}
\settoheight{\@Href@Height}{\vphantom{(}#2}
\settodepth{\@Href@Depth}{\vphantom{(}#2}
\addtolength{\@Href@Width}{1pt}
\addtolength{\@Href@Height}{1pt}
\addtolength{\@Href@Depth}{1pt}
\pdfannot width \@Href@Width height \@Href@Height depth
\@Href@Depth {/Subtype/Link/Contents(#3)/Border[ 0 0 0.5 [1 1] ]
/C[ 0 0.5 1 ] /A << /S/URI/Type/Action/URI(#1) >> }#2
\ifthenelse{\boolean{mc@fza}}{\emc}{}
\pop@mc%
\tagstructend% Link
}