摘自dvipdfmx
文档:
pdf:bann
警告:如果和之间的内容pdf:eann
为空框,则不会构建注释。
我的 MWE(通过 xelatex):
\documentclass{article}
\begin{document}
\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
http://www.tug.org%
\special{pdf:eann}
\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
\phantom{http://www.tug.org}%
\special{pdf:eann}
\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
\rule{1cm}{1cm}
\special{pdf:eann}
\end{document}
第二和第三个注释不起作用!
如何制作一个具有不可见内容的非空盒子?
附加问题:为什么有这个限制?
答案1
看来注释至少需要一个真实的字符,所以\phantom
否则\rule
没有任何用处。
如果您使用的是“标准”字体,那么您可以使用带有不可见且与大写字母一样高的字符的textcomp
软件包。所以\textcapitalcompwordmark
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}
\newcommand{\myinvchar}{\textcapitalcompwordmark}
\newcommand{\emptybox}[1]{%
\sbox0{#1}\makebox[\wd0][s]{\myinvchar\hss\myinvchar}%
}
\begin{document}
X\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
http://www.tug.org%
\special{pdf:eann}X
X\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
\emptybox{http://www.tug.org}%
\special{pdf:eann}X
\end{document}
将产生一个“可点击的空间”:
如果您通过 使用 OpenType 字体fontspec
,则不可见字符可能是 U+00A0:
\newcommand{\myinvchar}{\char\string"00A0 }
答案2
看起来你需要一个字符。如果你使用的是 Unicode 字体,则可以使用 U200B,即零宽度空格:
\documentclass{article}
\font\zzz="[lmroman10-regular]" at 10pt
\begin{document}
\zzz
\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
http://www.tug.org%
\special{pdf:eann}
a
\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
\mbox{\strut ^^^^200b\phantom{http://www.tug.org}^^^^200b}%
\special{pdf:eann}
b
\special{pdf:bann << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
^^^^200b\rule{1cm}{1cm} ^^^^200b
\special{pdf:eann}
\end{document}
答案3
从这篇拖船文章pdf:ann
如果你想要一个不占用空间的盒子,你可以使用它。我对这一切一无所知,但只是尝试过:
\documentclass{article}
\begin{document}
A\special{pdf:ann bbox 0 0 12 12 << /Subtype /Link
/BS << /Type /Border /W 0.5 /S /S >>
/A << /S /URI
/URI (http://www.tug.org) >> >>}%
B
\end{document}
并且输出确实包含一个不占用空间的可点击框(B
紧接着A
)。(就好像可点击区域已经用完成了一样rlap
)。