From bd437c5666fee870f6b887ad8e6f1b7855bd4d18 Mon Sep 17 00:00:00 2001 From: nobody Date: Mon, 9 Dec 2024 06:32:50 +0100 Subject: [PATCH] doku v0.1 fertig --- doku.tex | 178 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 163 insertions(+), 15 deletions(-) diff --git a/doku.tex b/doku.tex index ba91719..7305823 100644 --- a/doku.tex +++ b/doku.tex @@ -174,6 +174,14 @@ FOOTER = [[ \maketitle \tableofcontents +\section{TODO} + +\begin{itemize} +\item Inline-Textfeld +\item Grundsätze des aktuellen Designs +\item Bug: Höhe Multiline-Textfeld in example +\end{itemize} + \section{Übersicht} Die Grundstruktur für Formulare ist folgende: @@ -193,6 +201,10 @@ Die Grundstruktur für Formulare ist folgende: Hilfsbefehle zur rein semantischen Erstellung von Formularen. Mit einer Reihe von Befehlen kann dann recht bequem ein Formular definiert werden. +Dieses Dokument gibt eine Übersicht über alles, was hilfreich sein könnte. +Allein schon existierende Formulare anzusehen oder zu kopieren und anzupassen +sollte jedoch für die meisten Zwecke ausreichen. + \subsection{Für \TeX-Neulinge} Das meiste sollte auch ohne \TeX-Kenntnisse gehen, es gibt jedoch eine Reihe @@ -383,7 +395,8 @@ Auch hier gibt es wieder die Variante mit Stern für volle Breite: \end{ShortExample} \paragraph{Spezialfälle} Unterschriften sollen üblicherweise händisch gesetzt -werden, hierfür gibt es daher ein Feld was nur ein "falsches" Formularfeld ist. +werden, hierfür gibt es daher ein Feld was nur ein "falsches" Formularfeld ist +und nicht digital ausgefüllt werden kann. \begin{ShortExample}{signature}{Feld für Unterschriften} \Signature @@ -407,7 +420,7 @@ Auch hier kann optional das Label geändert werden. \begin{ShortExample}{notesopt}{großes Feld} %%% FIXME bug in preview (works in doc) -\Notes[Platz zum Malen] +\Notes[Stirnabdruck] \Text{} \end{ShortExample} @@ -445,17 +458,20 @@ Breitenangabe (relativ zur Textbreite) für das Freitextfeld. \end{Indented} \end{ShortExample} -\goodbreak +Auch hier gilt: umso weniger verschiedene Breiten verwendet werden, umso +einheitlicher sieht das Formular am Ende aus. Bei dem Beispiel würde ein +einzelner Buchstabe auch in ein 0.05-er Feld passen, das wären dann aber 3 +statt 2 verschiedener Breiten. \paragraph{Spezielle Zwecke} In Sondersituationen könnten z.~B. in Aufzählungen innerhalb einer Zeile auch -Checkboxen benötigt sein. Dafür gibt es -- die nur in Ausnahmefällen zu +Checkboxen benötigt sein. Dafür gibt es die -- nur in Ausnahmefällen zu verwendende -- Inline-Variante, welche sich (fast) gar nicht um die Formatierung kümmert und nur die Box zur Verfügung stellt. (Das Einzige: ein Leerzeichen auf der rechten Seite wird sichergestellt, für gleichmäßige Abstände sollte also genau \emph{nicht} \texttt{\{\}} oder -\texttt{\textbackslash}-\nobreak Leerzeichen angehängt werden.) +\texttt{\textbackslash} angehängt werden.) \begin{ShortExample}{inlinecheckbox}{Sonderfall -- Inline} \Text{Ich bin \InlineCheckbox groß, @@ -475,27 +491,159 @@ Abstände sollte also genau \emph{nicht} \texttt{\{\}} oder \subsection{Struktur} +Drei Kategorien -- formularspezifisch, "klassische" Abschnitte, und mehrere Spalten. +\subsubsection{formularspezifisch angepasste Formen} -% Environment: Indented {O{}} -% \RuleSection {m} -% \Rule {} +\paragraph{\texttt{Indented}} Visuelle Gruppierung durch Einrücken von +zusammenhängenden bzw. untergeordneten Abschnitten ist eine sehr gute Option, +da ohne zusätzliche Tinte trotzdem klar die Struktur vermittelt wird. (Das +wurde auch schon bei den Checkboxen unmittelbar hier drüber verwendet.) +Optional kann ein Faktor (nicht zwingend ganzzahlig) für die Einrückungstiefe +angegeben werden. + +\begin{ShortExample}{indentation}{Einrückung, auch über mehrere Ebenen} +\Text{abc} +\begin{Indented} + \Text{def} + \begin{Indented} + \Text{ghi} + \end{Indented} + \Text{jkl} +\end{Indented} +\Text{mno} +\begin{Indented}[2] + \Text{pqr} +\end{Indented} +\end{ShortExample} + +\paragraph{\texttt{\textbackslash RuleSection}} Dient zur Trennung von +Formularabschnitten, die durch verschiedene Personengruppen ausgefüllt werden. +Die Linie geht immer über die komplette Formularbreite und kann z.~B. nicht +innerhalb von mehrspaltigen Bereichen verwendet werden. + +\begin{ShortExample}{rulesection}{Mehrere klar getrennte Abschnitte} +\TextField{Name} +\TextField*{Anliegen} +\RuleSection{Bearbeiter} +\Checkbox{Antrag angenommen} +\CheckboxOther[0.5]{Abgelehnt, weil:} +\end{ShortExample} + +\paragraph{\texttt{\textbackslash Rule}} Eine einfache Trennlinie, die an +verschiedenen Stellen zur grafischen Trennung eingesetzt werden kann. + +\begin{ShortExample}{rule}{Mehr Trennlinien} +\RuleSection{Bearbeiter} +\CheckboxOther{Antrag eingegangen am:} +\Rule +\Checkbox{Antrag angenommen} +\begin{Indented} +\CheckboxOther{Bearbeitet am:} +\CheckboxOther{Antragsteller informiert:} +\end{Indented} +\Rule +\CheckboxOther[0.5]{Abgelehnt, weil:} +\end{ShortExample} + +\clearpage \subsubsection{"klassische" Struktur} -% \Section {m} -% \Subsection {m} +In \TeX\ üblich sind \texttt{\textbackslash section}, +\texttt{\textbackslash subsection}, etc.; in Analogie dazu gibt es für ggf. +längere Formulare \texttt{\textbackslash Section} und +\texttt{\textbackslash Subsection}. Für die meisten Formulare ist das jedoch +vermutlich nicht nötig, insbesondere da ggf. per Einrückung via +\texttt{Indented} visuell schneller lesbare Struktur geschaffen werden kann. + +\begin{ShortExample}{sectioning}{Abschnittsunterteilung} +\Section{Allgemeines} +\TextField{Name} +\Section{Antragsinhalt} +\TextField*{Anliegen} +\Subsection{Details} +\Notes[] +\Section{Abschließendes} +\Checkbox{Die AGB werden akzeptiert.} +\Signature +\end{ShortExample} + +\clearpage \subsubsection{mehrspaltige Bereiche} -% \TwoColumns {+m +m} -% \ThreeColumns {+m +m +m} -% \FiveColumns {+m +m +m +m +m} +Es gibt Unterstützung für 2, 3, und 5 Spalten (ggf. können diese auch +ineinander geschachtelt werden.) Die Befehle heißen -- vermutlich wenig +überraschend -- \texttt{\textbackslash TwoColumns}, +\texttt{\textbackslash ThreeColumns}, und \texttt{\textbackslash FiveColumns} +und es sollten entsprechend viele \texttt{\{\}}-Gruppen folgen. + +\begin{ShortExample}{multicolumn}{Mehrspaltigkeit} +\TwoColumns{ + \TwoColumns{ + \Checkbox{Ja} + }{ + \Checkbox{Nein} + } + \Rule + \ThreeColumns{ + \Checkbox{A} + }{ + \Checkbox{B} + }{ + \Checkbox{C D E F G} + } + \Rule + \ThreeColumns{ + \Checkbox{Foo} + }{ + \Checkbox{Bar} + }{ + \Checkbox{Baz} + } +}{ +\Notes +} +\end{ShortExample} + +Bei zu vielen Spalten werden die Abstände unlesbar -- siehe hier die +Foo/Bar/Baz-Gruppierung. Auf A4 geht diese Schachtelung aber üblicherweise noch +problemlos. \subsection{Hervorhebung} -% \details {m} -% \ul {m} +Es gibt verschiedene in \TeX\ eingebaute Befehle, die ebenfalls verwendet +werden können\dots\ aber "weniger ist mehr" trifft insbesondere auch hier zu. +Die meisten sollten also nur bei ernsthaftem Bedarf verwendet werden. + +Eine akzeptable Formatierungsmethode ist das Hervorheben von Text mit +\texttt{\textbackslash emph}. Üblicherweise typografisch eher verpönt, aber +schon irgendwie zum aktuellen Design passend, können mit +\texttt{\textbackslash ul} auch \emph{einzelne Worte oder sehr kurze Passagen} +unterstrichen werden, dabei ist jedoch zu beachten, dass innerhalb +unterstrichener Bereiche keine Zeilenumbrüche mehr möglich sind. (Der Bereich +wird als eine logische Box verpackt und kann nur noch als Ganzes verschoben +werden.) + +Es gibt zwar eigentlich viele verschiedene Schriftgrößen, es ist jedoch keine +gute Idee, alle quer durcheinander zu verwenden. Die Dokumentenklasse kümmert +sich ums meiste, als einzige Akzeptable gibt es \texttt{\textbackslash details} +(als semantischen Namen), welche für untergeordnete Bemerkungen zur Verfügung +steht. + +\begin{ShortExample}{formatting}{Formatierungsbeispiele} +\Text{Die Formulare sind \ul{sofort} +nach Eingang zu kopieren und in +\emph{dreifacher} Ausfertigung +abzuheften!} +\Text{\details{Bei Ausfall des Kopierers +ist umgehend der Techniker zu informieren +und ersatzweise die Faxgeräte mit der -02 +und der -05 \ul{(nicht die -07 bis -09 +oder -12!)} zum Kopieren per Fax zu +verwenden.}} +\end{ShortExample} \end{document}