Ich habe ein Logbuch für Petlinge in LaTeX geschrieben, um von dem Word/Excel Frickeleien teilweise mit statischen Grafiken einiger Mitglieder der GC-Szene wegzukommen, und damit ein auch eine Basis für einen den Multicache zu schaffen.

Die Sourcen und ein vorkompiliertes pdf doc liegt unter https://chaos.expert/ccc-ffm/geocaching

Das Dokument benutzt die pstricks Erweiterung pst-barcode um QR-Codes auf ein Listing bei opencaching.de und geocaching.com zu erzeugen, da am Ende der Verarbeitungskette von Pstricks dokumenten aber nunmal eine PostScript Datei liegt und keine pdf, muss man einen kleinen Umweg gehen: Die Flag „–shell-escape“ erlaubt es pdflatex, vorausgesetzt es ist unser default-compiler, externe Programme auszuführen. In diesem Fall generiert es vor dem „linken“ ein pdf mit den QR-Codes und eine Postscript Datei ohne jegliche Grafiken. Dann werden die Komponenten zusammengeführt und es kommt eine PDF Datei mit dem gewünschten Inhalten raus.

Das Logbuch bedient sich außerdem dem multicol Paket und forloop. Forloop ermöglicht es, eher in while Manier, mit vorhergehender Variablendeklaration, eine Schleife zu Konstruieren, die Text generiert.

Ein weiteres interessantes Feature von LaTeX, welches ich bisher noch nicht kannte ist leaders bzw. cleaders. Leider nur spärlich dokumentiert zaubert es, auf Basis des letzten Kommandos, im source \hfill entweder eine Zeile, oder mit \vfill eine Seite im gegebenen scope, beispielsweise einer *box oder einer minipage voll mit der gegebenen box in der Mitte. Das sieht dann so aus:

\leaders\hbox{\rule[#1]{1pt}{#2}}\hfill

Das Zentrieren von Objekten zwischen anderen Objekten und Zeichen lässt sich leider nicht mit \center(-ing) regeln, dazu setzt man flexiblen whitespace vor und hinter das zu zentrierende Objekt:

Zeit: \hfill \fbox{\phantom{00}\vline\phantom{00}}\hfill

LaTeX regelt den Rest nun selbst.

\phantom{}

erzeugt übrigens auf Basis der Eingabe nicht flexiblen whitespace, den die Zeichen regulär eingenommen hätten, doch als „Phantom“ werden diese versteckt, das Kommando eignet sich hervorragend für Eingabefelder.