我尝试垂直对齐 hyperref 的 TextField,使得填充的文本与周围文本齐平,适用于任何文本大小。可接受的解决方案是如何将文本字段中的文本对齐到底部而不是顶部建议将 TextField 向下移动 0.25\baselineskip。首先,这个数字不太合适,无法将填充的文本降低到与周围文本齐平。其次,如果修改了 TextField 的高度,这个数字也必须改变(我个人更喜欢使用高度=12pt 的 TextField 来匹配 10pt 字体,以避免在连续的行上重叠 TextField)。下面是一个 MWE 来说明这个问题:
\documentclass{minimal}
\usepackage{hyperref}
\newcommand{\baseline}{% %% helper to show text baseline
\noindent%
\makebox[0pt][l]{\rule{\linewidth}{0.1pt}}}
\renewcommand*{\DefaultOptionsofText}{print,charsize=10pt,borderwidth=1pt,width=8ex,name=mytextfield}
\begin{document}
\begin{Form}
\baseline%
Leading text, \raisebox{0\baselineskip}{\TextField{field neither scaled nor shifted:}}, trailing text
\baseline%
Leading text, \raisebox{-.25\baselineskip}{\TextField{field not scaled, but shifted:}}, trailing text
\baseline%
Leading text, \raisebox{0\baselineskip}{\TextField[height=12pt]{field scaled, but not shifted:}}, trailing text
\baseline%
Leading text, \raisebox{-.25\baselineskip}{\TextField[height=12pt]{field scaled and shifted:}}, trailing text
\end{Form}
\end{document}
Textfields 条目均未与周围文本(或其标签)精确垂直对齐。所以我的问题是:需要将任意高度的 TextField 移动多少才能使填充的文本位于确切地在外部基线上?我查阅了 hyperref 手册,但对其理解不够深入,无法提出一个通用的、更不用说优雅的解决方案。