6

PDFLaTeXを使用してフォームを作成していますが、入力フィールドを定義する\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には、使用可能なスペースを目的の幅として正確に指定しているにもかかわらず、入力フィールドがいっぱいになります。

4

1 に答える 1

6

hyperrefパッケージの作成者であるHeikoOberdiekからメールが届き、幅がデフォルトで指定よりも大きい理由が説明されました。各\TextFieldは、レイアウトのために次のマクロを通過します。

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

したがって、最終的にはラベル、スペース、および入力フィールドになります。widthパラメータは、入力フィールドにのみ影響します。レイアウトを再定義することで、指定された目的の幅になるようにすることができます。

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

このレイアウトでは、ラベル( "type here:")をドロップするだけで、目的の幅の入力フィールドに到達します。

于 2010-10-19T19:57:04.340 に答える