Box für handschriftliche Eintragung erzeugen

Tabellen und Grafiken erstellen und anordnen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Box für handschriftliche Eintragung erzeugen

Beitrag von MoonKid »

Für einen Fragebogen möchte ich Felder haben, in dennen man handschriftlich Zahlen eintragen kann.

Derzeit löse ich das so
% box.tex
\documentclass{scrartcl}

\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\begin{document}
Bitte Anzahl eintrage: \fbox{\LARGE\phantom{WWg}}

Bitte Anzahl eintrage: \fbox{\parbox{130pt}{\LARGE \phantom{WWWW}}}
\end{document}
1. Grundsätzlich interessiert mich, ob ihr einen eleganteren Lösungsansatz vorschlagen würdet. Ich möchte eigentlich nur ungern fest Größen in pt angeben müssen. Lieber hätte ich sowas wie Höhe=1.5faches der Zeile/Kegelhöhe und Breite=WieBuchstabe{W}.

2. Ich denke die erste Lösung ist ein guter Workaround. Ggf. kann ich ja hier die Schriftgröße noch höher drehen. Gibt es eine Möglichkeit die Schriftgröße relativ zu ändern? Sowas wie \LARGE+4pt?

3. Die zweite Lösung reagiert unerwartet. Wenn ich phantom nutze, wird die Box nicht auf die 130pt aufgezogen. Eigentlich hatte ich die Idee innerhalb der Box einen Zeilenumbruch zu produzieren, um die Höhe zu vergrößern. Sowas wie \parbox{\phantom{W}\linebreak\phantom{W}}
Ging aber auch nicht.
XeLaTeX, TeX Live, vim-latexsuite

Stamm-

Einfach zeichnen

Beitrag von Stamm- »

Zeichne die Boxen doch einfach als Grafik. Dazu reichen hier sogar schon die einfachen Befehle der Umgebung picture.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Ich hab es jetzt erstmal so gelöst.
% box.tex
\documentclass{scrartcl}

\usepackage{xltxtra}
\usepackage{polyglossia}
\setdefaultlanguage[spelling=new]{german}

\begin{document}

\setlength{\unitlength}{1em}

Freitext:
\begin{picture}(6, 2.5)(0,0.75)
    \put(0,0){ \framebox(6,2.5){} }
\end{picture}

\vspace{2\baselineskip}

Freitext g:
\begin{picture}(5, 1)(0,0)
    \put(0,0){ \framebox(5,1){} }
\end{picture}

\vspace{2\baselineskip}

Radio:
\begin{picture}(1, 1)
    \put(0.5,0.5){ \circle{1} }
\end{picture}

\vspace{2\baselineskip}

Check:
\begin{picture}(1, 1)
    \put(0,0){\framebox(1,1){}}
\end{picture}
\end{document}
Schwierig ist allerdings das vertikale Ausrichten in Relation zum Text. Hier ist "em" sicherlich keine so gute Wahl.
Problem ist eben auch, dass die picture-Umgebung sich an der Grundlinie des Textes ausrichtet. Am liebsten hätte ich sie aber in so hoch wie die gesamte Kegelhöhe und dann auch am unteren Rand der Kegelhöhe ausgerichtet.
Sorry, mir fehlen hier gerade die typografischen Begrifflichkeiten.

Beispiel "Freitextg"
Die Zeile selbst ist ja in der Vertikalen eigentlich größer als vom Oberrand "F" zum Unterrand "g". Das picture wird am Unterrand von "F" (Grundlinie? Baseline?) ausgerichtet.
XeLaTeX, TeX Live, vim-latexsuite

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4300
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Ich würde ja eher \rule benutzen. Zumindest für die vertikalen Abstände
\fbox{\large\rule[-\dp\strutbox]{0pt}{\baselineskip}\phantom{wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww}}
Dass die Weite von \parbox sich ändert, wenn sie keinen Inhalt bzw nur \phantom enthält, war mir neu (wann hat man schon leere \parboxen), aber du kannst ja immer \mbox{} reintun. Dann benimmt sie sich wieder.

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Auch wenn ich wohl bei der Picture-Sache bleiben werden (muss ich mir erst noch anschauen), hier nur der Vollständigkeit halber alle möglichen Symbole.
http://ctan.org/pkg/comprehensive
XeLaTeX, TeX Live, vim-latexsuite

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

u_fischer hat geschrieben:
\fbox{\large\rule[-\dp\strutbox]{0pt}{\baselineskip}\phantom{wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww}}
Ich versuche es noch zu verstehen. :D

Vereinfacht ausgedrückt.
Also mit \fbox wird die Box gezeichnet. Das was ich im PDF sehe, entsteht durch \fbox.
\rule zeichnet in deiner Variante gar nix. Es taucht visuell nicht im PDF auf.
\rule{0pt}{\baselineskip} erzeugt eine (unsichtbare) Stütze, welche sich eben auf die Höhe der \fbox auswirkt. \phantom sorgt dann für die Länge.

Soweit richtig?

Aber was ist das in dem [ ] ?

\strutbox soll was mit "vertikaler Verschiebung" zu tun haben. Finde ich aber unpassend. Es hat was mi dem Abstand zwischen Grundlinie bis zum unteren Ende der "Box" (z.B. der Schnörkel beim g, y, usw). Aber \dp finde ich gar nicht. Ich nehm es einfach mal als gegeben hin. ;)
XeLaTeX, TeX Live, vim-latexsuite

rais
Forum-Guru
Forum-Guru
Beiträge: 413
Registriert: Di 21. Sep 2010, 00:37

Beitrag von rais »

MoonKid hat geschrieben: Aber was ist das in dem [ ] ?

\strutbox soll was mit "vertikaler Verschiebung" zu tun haben. Finde ich aber unpassend. Es hat was mi dem Abstand zwischen Grundlinie bis zum unteren Ende der "Box" (z.B. der Schnörkel beim g, y, usw). Aber \dp finde ich gar nicht. Ich nehm es einfach mal als gegeben hin. ;)
AFAIK ist \strutbox ein Boxregister, das von LaTeX bei Änderung der Schriftgröße gesetzt wird. \dp\strutbox greift dabei auf die Tiefe (das, was unter die Grundlinie hinausragt) dieser \strutbox zu (standardmäßig 30% vom \baselineskip, AFAIR).
In den [] beim \rule kann eine vertikale Verschiebung angegeben werden: wenn wie hier negativ, wird die \rule um den entsprechenden Betrag unter die Grundlinie gezogen. Vllt wird es so etwas deutlicher:
\documentclass{article}
\newcommand*\foo{%
\rule[-\dp\strutbox]{5pt}{\dp\strutbox}%
\rule{5pt}{0.2pt}%
\rule{5pt}{\ht\strutbox}
Strutbox: $h=$\the\ht\strutbox, $d=$\the\dp\strutbox, $b=$\the\baselineskip}
\begin{document}
{\tiny\foo}

\foo

{\huge\foo}

\end{document}
MfG
Rainer
One of the joys of travel is visiting new towns and meeting new people---G.Khan (Robert Asprin, Another Fine Myth)

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 690
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

Dit is mal n super Beispiel. Solltest du mti ins wiki aufnehmen.
XeLaTeX, TeX Live, vim-latexsuite

Antworten