Seite 1 von 1
Box für handschriftliche Eintragung erzeugen
Verfasst: Fr 7. Feb 2014, 22:51
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.
Einfach zeichnen
Verfasst: Sa 8. Feb 2014, 09:03
von Stamm-
Zeichne die Boxen doch einfach als Grafik. Dazu reichen hier sogar schon die einfachen Befehle der Umgebung picture.
Verfasst: Sa 8. Feb 2014, 17:52
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.
Verfasst: Sa 8. Feb 2014, 18:52
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.
Verfasst: Mo 10. Feb 2014, 11:42
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
Verfasst: Mo 10. Feb 2014, 18:28
von MoonKid
u_fischer hat geschrieben:\fbox{\large\rule[-\dp\strutbox]{0pt}{\baselineskip}\phantom{wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww}}
Ich versuche es noch zu verstehen.
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.

Verfasst: Mo 10. Feb 2014, 19:34
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
Verfasst: Mo 10. Feb 2014, 20:00
von MoonKid
Dit is mal n super Beispiel. Solltest du mti ins wiki aufnehmen.