Ich habe das Layout von \TextField mittels TiKz derart definiert, dass unter dem Textfeld eine Linie gezogen wird. Schaut's euch an:

Open in writeLaTeX
\documentclass[parskip=half, a5paper, landscape]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[margin=0.5cm, left=1cm]{geometry}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{hyperref}

\pagestyle{empty}

\addtokomafont{subsection}{\rule{\textwidth}{1pt}\newline}

\begin{document}
\begin{Form}

\renewcommand*{\DefaultOptionsofText}{print,bordercolor={red}, backgroundcolor=white, borderwidth=1pt}

\newlength{\textfield}
\setlength{\textfield}{0.6\linewidth}

\renewcommand{\LayoutTextField}[2]{% label, field
\begin{tikzpicture}
    \draw[very thick] (0,4ex)  -- (0,0) -- (\textfield,0);
    \node[anchor=west] at (0cm,2ex) {#2};
    \node[anchor=west,font=\footnotesize\sffamily] at (0cm,-1.25ex) {#1};
\end{tikzpicture}
}

\subsection*{Angaben zur Person}
\setlength{\textfield}{\linewidth}
\TextField[name=NAME,width=\textfield]{Name, Vorname}

\setlength{\textfield}{0.2\linewidth}   
\TextField[name=TEST2,width=\textfield]{Name, Vorname}

\setlength{\textfield}{\fill}
\TextField[name=TEST3,width=\textfield]{Name, Vorname}  
\TextField[name=TEST4,width=\textfield]{Name, Vorname}

\end{Form}
\end{document}

Ich habe in diesem Szenario 2 Probleme:

  1. Die Breite des Textfelds und der Linie sind unabhängig voneinander. Ich möchte, dass die Linie genauso breit ist wie das Textfeld.
  2. Wie kann ich \fill als Breitenangabe nutzen?

Zu 1.: meine Variante mit einer neuen Länge geht so recht gut, aber elegant ist sie nicht, da die Breite an zwei verschiedenen Stellen angegeben werden muss. Ist es möglich, \setlength nicht ausführen zu müssen und die Breite, die als Parameter von \TextField übergeben wird zu nutzen? Diese Frage hat weniger Priorität als die 2. Frage. Hier würde ich durchaus auch die aktuelle Variante verwenden, wenn es nichts anderes gibt.

Zu 2.: Im dritten Beispiel sieht man, dass beide Textfelder die Breite von 0 haben. Wie kann ich es anstellen, dass sie beide die Zeile füllen. Warum ist also \fill vermeintlich 0?

gefragt 02 Aug '14, 07:57

ErnstZ's gravatar image

ErnstZ
541425
Akzeptiert: 83%

1

fill ist 0pt plus unendlicher Stretchanteil. Das kannst du nicht als Länge benutzen. Du wirst die richtige Länge berechnen müssen. Was die Linie angeht: gibt deinem Knoten einen Namen und zeichne sie dann entlang der diversen Ankerpunkte. Z.B. \node[anchor=west] (A) at (0cm,2ex) {#2}; und \draw[very thick] ([xshift=-1ex]A.north west) -- ([xshift=-1ex]A.south west) -- (A.south east);.

(02 Aug '14, 08:37) Ulrike Fischer

Würde Dir, für das erste Problem, eine Handkorrektur reichen?

\begin{tikzpicture} \draw[very thick] (0,4ex) -- (0,0) -- (\textfield+1ex,0);

Hab es gerade mit verschiedenen Längen getestet, für mich sieht das gut aus.

(02 Aug '14, 12:37) cis

Dank Ulrike Fischer (wie kann ich eigentlich Mitglieder in einem Beitrag verlinken?) hier nochmal die vollständige Lösung für den ersten Teil meiner Frage.

Open in writeLaTeX
\documentclass[parskip=half, a5paper, landscape]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[margin=0.5cm, left=1cm]{geometry}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{hyperref}

\pagestyle{empty}

\addtokomafont{subsection}{\rule{\textwidth}{1pt}\newline}

\begin{document}
\begin{Form}

\renewcommand*{\DefaultOptionsofText}{print,bordercolor={red}, backgroundcolor=white, borderwidth=1pt}

\renewcommand{\LayoutTextField}[2]{% label, field
\begin{tikzpicture}
    \node[anchor=west] (TextFieldNode) at (0cm,2ex) {#2};
    \draw[very thick] ([yshift=-0.6ex]TextFieldNode.north west) -- (TextFieldNode.south west) -- ([xshift=-0.6ex]TextFieldNode.south east);
    \node[anchor=west,font=\footnotesize\sffamily] at (0cm,-1.75ex) {#1};
\end{tikzpicture}
}

\subsection*{Angaben zur Person}
\TextField[name=NAME,width=\linewidth]{Name, Vorname}

\TextField[name=TEST2,width=0.2\linewidth]{Name, Vorname}

\end{Form}
\end{document}
Permanenter link

beantwortet 03 Aug '14, 09:10

ErnstZ's gravatar image

ErnstZ
541425

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×492
×41
×14

Frage gestellt: 02 Aug '14, 07:57

Frage wurde angeschaut: 2,376 Mal

Zuletzt aktualisiert: 03 Aug '14, 09:10