6

我正在使用 PDFLaTeX 创建表单并遇到了定义输入字段的 \TextField 宏的问题:

\TextField[width=4in,name=sample]{}

结果字段比 4 英寸宽一点,我不明白为什么。下面的示例通过导致溢出的 hbox 来说明问题,该 hbox 由于溢出规则而被突出显示。

\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc} 
\usepackage[pdftex]{hyperref}

\overfullrule3pt

\begin{document}
\noindent \TextField[name=one, width=\hsize]{type here:}
\end{document}

尽管已将可用空间准确指定为所需宽度,但生成的 PDF 将显示一个过满的输入字段。

4

1 回答 1

6

hyperref 包的作者 Heiko Oberdiek 给我发了一封电子邮件,并解释了为什么默认情况下宽度大于指定的宽度。每个 \TextField 都通过以下宏进行布局:

\def\LayoutTextField#1#2{% label, field
   #1 #2%
}

因此,我们最终得到了标签、空格和输入字段。width 参数只影响输入字段。通过重新定义布局,我们可以确保最终获得指定的所需宽度:

\def\LayoutTextField#1#2{#2}

此布局将简单地删除标签(“在此处输入:”)以到达所需宽度的输入字段。

于 2010-10-19T19:57:04.340 回答