LaTeX PDF格式:如何创建正好4in宽度的\ TextField?

问题描述:

我使用PDFLaTeX创建表单,冲进与\文本字段宏定义输入字段的一个问题:LaTeX PDF格式:如何创建正好4in宽度的 TextField?

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

产生的场比4英寸宽一点点,我不明白为什么。以下示例通过导致溢出的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将显示过满输入字段尽管已经准确地指定的可用空间作为所需的宽度。

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

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

因此,我们最终得到的标签,一个空格,输入域。宽度参数仅影响输入字段。通过重新定义布局,我们可以确保我们最终具有所需宽度指定:

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

这种布局将简单地丢弃标签(“在这里输入:”),以在所述的输入字段到达所需的宽度。

+0

我一直使用\ hspace {-8.5pt}作为10pt字体的标签来调整水平位置,但是这种方法要干净得多。 – 2014-08-20 03:00:45