
Ich habe ein Problem mit der Ausrichtung zwischen den mit generierten Textfeldern hyperref
und den entsprechenden geraden Linien darunter. Das angehängte Bild veranschaulicht das Problem.
Das Ziel ist klar. Ich möchte die Textfelder so absenken, dass jedes Textfeld direkt über der entsprechenden Geraden liegt. Mein Code sieht folgendermaßen aus:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{flushleft}
\begin{Form}
\renewcommand{\baselinestretch}{1.0}
\fontsize{12}{24}\selectfont
\hspace*{2cm} \TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} advisor, \hspace{2cm} Date\\
\hspace*{2cm} \TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberA \\
\hspace*{2cm} \TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberB \\
\hspace*{2cm} \TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberC \\
\hspace*{2cm} \TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberD \\
\end{Form}
\end{flushleft}
\end{document}
Es besteht immer die Möglichkeit, die Zeilen anzuheben, aber ich muss dann auch die Signaturtitel (z. B. advisor
, memberA
) anheben. Ich würde die Textfelder nach Möglichkeit lieber absenken, da ich sie bei Bedarf immer noch manuell mit Acrobat erstellen kann.
Jede Hilfe wird geschätzt.
Antwort1
Ich würde a tabular
zusammen mit verwenden booktabs
:
\documentclass[12pt]{article}
\usepackage{booktabs}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\begin{tabular}{@{}p{11.5cm}@{}}
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
advisor, \hspace{2cm} Date\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberA\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberB\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberC\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberD
\end{tabular}
\end{Form}
\end{document}
Antwort2
Die obige Antwort ist korrekt. Der Vollständigkeit halber möchte ich hier noch die Ergebnisse meines eigenen fehlgeschlagenen Versuchs anführen, um verschiedene Aspekte des Problems zu veranschaulichen.
Wenn ich verwende raisebox
, sieht mein Code folgendermaßen aus:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\begin{flushleft}
\begin{Form}
\renewcommand{\baselinestretch}{1.0}
\fontsize{12}{24}\selectfont
\raisebox{-1.0 cm}[2cm]{\TextField[name=First and Last Name, width=8cm, borderwidth=1, charsize=0pt]{} \TextField[name=Date, width=3.7cm, borderwidth=1, charsize=0pt]{}}\\
\rule[-2.5ex]{11.4cm}{0.5pt} \\
advisor, \hspace{7.3cm} Date\\
\hspace*{2cm} \raisebox{-1.0 cm}[2cm]{\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberA \\
\hspace*{2cm} \raisebox{-3.0 cm}{\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberB \\
\hspace*{2cm} \raisebox{-1.0 cm}{\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberC \\
\hspace*{2cm} \raisebox{-1.0 cm}{\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}}\\
\hspace*{2cm} \rule[-2.5ex]{11.4cm}{0.5pt} \\
\hspace*{2cm} memberD \\
\end{Form}
\end{flushleft}
\end{document}
und die Ergebnisse sind im Bild zu sehen. Wie Sie sehen, ist der Versuch, das Textfeld abzusenken raisebox
, bis zu einem kritischen Punkt erfolgreich. Nach diesem kritischen Punkt wird nicht nur das Textfeld abgesenkt, sondern die gesamte „Gruppe“ (bestehend aus Textfeld, Zeile und Signaturtitel).
Meine zweite Beobachtung betrifft die oben erwähnte Lösung mit , booktabs
die tatsächlich funktioniert. Wenn ich den Code leicht ändere, werden Sie sehen, dass das Problem im Wesentlichen durch den rule
Befehl verursacht wird.
\documentclass[12pt]{article}
\usepackage{booktabs}
\usepackage{hyperref}
\begin{document}
\begin{Form}
\begin{tabular}{@{}p{11.5cm}@{}}
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\rule[-2.5ex]{11.4cm}{0.5pt}
advisor, \hspace{2cm} Date\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberA\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberB\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberC\\[2.5ex]
\TextField[name=First and Last Name, width=8cm, borderwidth=1]{}\\\midrule[0.5pt]
memberD
\end{tabular}
\end{Form}
\end{document}