fold markers

This commit is contained in:
nobody 2024-12-19 16:48:15 +01:00
parent 2f71b5589d
commit 6ad266b3c6

View file

@ -1,6 +1,7 @@
%% NB: Dieses Dokument baut beim ersten Mal so 3-10 Minuten je nach
%% Dateisystem-Performance… (Sehr viele Beispiele die jeweils komplette
%% eigenständige Dokumente sind.) Danach sollte es gehen.
% header <<<
\documentclass[ngerman,10pt]{scrreprt}
\setcounter{secnumdepth}{\subsubsectionnumdepth}
\setcounter{tocdepth}{\subsubsectiontocdepth}
@ -13,6 +14,7 @@
%% FIXME: RawFeature +case x microtype fixes
%% see https://github.com/schlcht/microtype/issues/33 for fix notes
%% see https://fontdrop.info/?darkmode=true for character lookup
% fonts <<<
\setmainfont[
Renderer=HarfBuzz,
ItalicFont=Recursive,
@ -52,8 +54,11 @@
BoldItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.4,slnt=-15,CRSV=1,wght=800}}},
ItalicFeatures={RawFeature={+axis={MONO=0.0,CASL=0.4,slnt=-15,CRSV=1,wght=500}}}
]{Recursive}
% >>>
\usepackage{microtype}
% embedded examples <<<
% set up example build directory
\directlua{ os.execute "mkdir -p ./cccbform-examples/" }
\directlua{ os.execute "cp cccbform.cls logo.pdf cccbform-examples/" }
@ -70,6 +75,7 @@ FOOTER = [[
]]
\end{luacode*}
% crinkly paper tears <<<
\begin{luacode*}
-- PARAM: number of layers, resulting in 2^LAYERS points
local LAYERS = 7
@ -145,8 +151,8 @@ function plotPoints( x1, x2, y1, y2, smooth_top )
buf = table.concat( buf, " -- " )
tex.print( buf )
end
\end{luacode*}
% >>>
\begin{luacode*}
function makeVerb( envname )
@ -241,6 +247,8 @@ end
\addvspace{4ex}
}
% XXX now unused… keep while things are in flux and just delete if we don't add
% complete examples
\NewDocumentEnvironment{StandaloneExample}{m}{
\VerbatimEnvironment%
\begin{VerbatimOut}{cccbform-examples/#1.tex}}%
@ -265,6 +273,8 @@ end
\end{tikzpicture}
}
% >>>
\setminted{autogobble,bgcolor=black!10,frame=lines,framesep=1ex,tabsize=4,fontsize=\small}
\setmintedinline{frame=none,framesep=0pt,fontsize=\small}
\newmintinline[texcode]{tex}{}
@ -278,15 +288,18 @@ end
\begin{document}
\maketitle
\tableofcontents
% >>>
\chapter{TODO}
\chapter{TODO} % <<<
\begin{itemize}
\item Grundsätze des aktuellen Designs
\item \TeX-Intro zum Ende, +build info
\end{itemize}
\chapter{Übersicht}
% >>>
\chapter{Übersicht} % <<<
Die Grundstruktur für Formulare ist folgende:
@ -364,14 +377,16 @@ Backslash schützen (\texcode{\TeX\ test} = \TeX\ test.)
\TeX\ ist eine sehr flexible Makro-Sprache, aber sowohl \LaTeX\ als auch diese
Klasse geben sich Mühe, das meiste davon zu verstecken und sehr einheitliche
Struktur vorzugeben. Befehlsaufrufe haben generell die Form
Struktur vorzugeben. Befehlsaufrufe haben hier generell die Form
\texcode{\Befehl{Arg1}{Arg2}...{ArgN}}, wobei Argumente in geschweiften
Klammern immer angegeben werden müssen. Einige Befehle akzeptieren auch
\emph{optionale Argumente}, welche als Konvention eckige Klammern benutzen --
diese können entweder angegeben oder komplett weggelassen werden.
diese können entweder angegeben oder komplett weggelassen werden
(\texcode{\Foo{Baz}} oder \texcode{\Foo[Bar]{Baz}}.)
Zusätzlich gibt es manchmal auch "gesternte" Varianten, wo ein \texttt{*}
unmittelbar auf den Namen folgt. Diese machen in der Regel nahezu das gleiche
wie die normale Variante ohne Stern.
unmittelbar auf den Namen folgt (\texcode{\Fnord{23}} oder
\texcode{\Fnord*{23}}.) Konzeptuell ist das ein optionales
true/false-Argument, nur mit anderer Schreibweise.
\subsection{Erzeugen von PDFs}
@ -380,18 +395,23 @@ Makefile findet automatisch alle neuen \texttt{.tex}-Dateien.) Soll nur ein
einzelnes Dokument gebaut werden, so sollte \texttt{make foo.pdf} zu einem
\texttt{foo.tex} genau dieses eine Dokument bauen.
\emph{Wirklich} alle Dokumente zu bauen dürfte beim ersten Mal mehrere Minuten
Wirklich \emph{alle} Dokumente zu bauen dürfte beim ersten Mal mehrere Minuten
dauern. (Diese Dokumentation hier enthält viele Beispiele, die tatsächlich
eigenständige Dokumente sind. Der Overhead für alle je 2× \texttt{lualatex} zu
starten, mehrere temporäre Dateien zu schreiben, etc. etc. kann gut 3--10
Minuten fressen.)
Minuten fressen.) Danach erkennen \texttt{make} bzw. \texttt{latexmk}, dass
sich in den meisten Dateien nichts verändert hat und es geht bei zukünftigen
Durchläufen deutlich schneller (solange nicht die Klasse verändert wird -- was
wieder alles neu bauen würde -- wenige Sekunden bis ca. eine Minute.)
\chapter{Befehle}
% >>>
\chapter{Befehle} % <<<
Bereitgestellte Befehle fallen grob in 4 Kategorien -- Titel, Inhalt, Struktur,
Hervorhebung. Zusätzlich hat die Klasse selbst ein paar Optionen.
\section{Klassen-Optionen}
\section{Klassen-Optionen} % <<<
PDF-Formulare haben eine ganze Reihe von Problemen. Das wichtigste ist, dass
viele Viewer PDF-Formulare nicht mitdrucken. Die Elemente wie sie hier erzeugt
@ -416,7 +436,9 @@ macht das gleiche, berechnet aber am Ende die tatsächliche Höhe und verkürzt
das ausgegebene Dokument. Fast alle Beispiele hier sind
\texttt{[shortexample]}s.
\section{Titel}
% >>>
\section{Titel} % <<<
Aktuell gibt es zwei Arten von Titeln. In jedem Fall sollte genau einer und
unmittelbar in der Zeile hinter dem \texcode{\begin{document}} verwendet
@ -452,7 +474,9 @@ Es gibt auch die Variante mit \texttt{*}, welche zusätzlich das Logo einbettet.
\Text{(...und hier geht's weiter.)}
\end{ShortExample}
\section{Inhalt}
% >>>
\section{Inhalt} % <<<
Hier gibt es größtenteils Befehle für Formularfelder. Anders als in normalen
\TeX-Dokumenten ist es hier jedoch wichtig, für korrekte Abstände \emph{allen}
@ -493,7 +517,7 @@ werden.
}
\end{ShortExample}
\subsection{Textfelder}
\subsection{Textfelder} % <<<
Die vermutlich wichtigste Komponente, entsprechend viele Varianten gibt es.
@ -628,7 +652,9 @@ nochmal darauf hingewiesen werden, dass dieses Problem bei nur einer Zeile
Text nicht relevant ist, da dann die Abstände um die Block-Elemente herum
sowieso für ein einheitliches Aussehen sorgen.
\subsection{Checkboxen}
% >>>
\subsection{Checkboxen} % <<<
\paragraph{Normale Verwendung} Gibt es eigentlich nicht viel dazu zu sagen --
\texcode{\Checkbox{Label}} für eine Checkbox (und das Label kann auch ein
@ -693,11 +719,15 @@ angehängt werden.)
\end{Indented}
\end{ShortExample}
\section{Struktur}
% >>>
% >>>
\section{Struktur} % <<<
Drei Kategorien -- formularspezifisch, "klassische" Abschnitte, und mehrere Spalten.
\subsection{formularspezifisch angepasste Formen}
\subsection{formularspezifisch angepasste Formen} % <<<
\paragraph{\texttt{Indented}} Visuelle Gruppierung durch Einrücken von
zusammenhängenden bzw. untergeordneten Abschnitten ist eine sehr gute Option,
@ -750,9 +780,9 @@ Stellen zur grafischen Trennung eingesetzt werden kann.
\CheckboxOther[0.5]{Abgelehnt, weil:}
\end{ShortExample}
\clearpage
% >>>
\subsection{"klassische" Struktur}
\subsection{"klassische" Struktur} % <<<
In \TeX\ üblich sind \texcode{\section}, \texcode{\subsection}, etc.; in
Analogie dazu gibt es für ggf. längere Formulare \texcode{\Section} und
@ -773,9 +803,9 @@ Struktur geschaffen werden kann.
\Signature
\end{ShortExample}
\clearpage
% >>>
\subsection{mehrspaltige Bereiche}
\subsection{mehrspaltige Bereiche} % <<<
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
@ -815,7 +845,11 @@ 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.
\section{Hervorhebung}
% >>>
% >>>
\section{Hervorhebung} % <<<
Es gibt verschiedene in \TeX\ eingebaute Befehle, die ebenfalls verwendet
werden können\dots\ aber "weniger ist mehr" trifft insbesondere auch hier zu.
@ -854,5 +888,10 @@ oder -12!) zum Kopieren per Fax zu
verwenden.}}
\end{ShortExample}
% >>>
% >>>
\end{document}
% vim: set fdm=marker fmr=<<<,>>> :