2010-10-15 90 views
5

我使用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將顯示過滿輸入字段儘管已經準確地指定的可用空間作爲所需的寬度。

回答

5

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

相關問題