Skip to content

Serienbriefe mit KOMA-Script und datatool.

Ein Schulverwaltungszweck hatte mir die Aufgabe beschert, einen Serienbrief an Kolleg*innen zu versenden. Ästhetische Gründe sprachen (wie immer) für die Verwendung von LaTeX. Früher hatte ich für eine ähnliche Aufgabe Nicola Talbots csvtools verwendet; da dies als durch data­tool von derselben Autorin ersetzt gekennzeichnet ist (und außerdem keine Bedingungen à la if … then … kennt), wollte ich letzteres ausprobieren.

Leider wurde stets nur ein einziger Brief statt derer viele erzeugt. Einige Stunden habe ich am Wochenende mit der Suche nach dem Fehler verbracht, hatte wahlweise Excels csv-Export, seine Zeichensatzkonvertierung (wer weiß, was Excel unter UTF-8 versteht) oder die Zeilenendendeklaration in Verdacht (CR? LF? CRLF?). Schließlich habe ich aus purer, tief empfundener Verzweiflung doch nochmal Word angeschmissen und das Ganze dort nachgebaut.

Als das dann lief, konnte ich in Ruhe weiterforschen – getrieben vom für Word/Excel akzeptablen, an TeX-Standards gemessen aber ungenügenden Ergebnis. Den entscheidenden Hinweis (nach vielen weiteren nicht zielführenden) gab mir dann dieser Eintrag auf Stack Exchange: hier wurde ich auf die Umgebung DTLenvforeach (statt DTLforeach) hingewiesen, die in korrekter Verschachtelung mit der letter-Umgebung aus KOMAscript dann so aussieht:

[…]

\usepackage{datatool}
\DTLsetseparator{;}
\DTLloaddb[noheader=false]{adressen}{dbname.csv}


\begin{document}

\begin{DTLenvforeach}{adressen}
{\Name=Name,%
\Vorname=Vorname,%
\Geschlecht=Geschlecht,%
\EMail=EMail,%
\Passwort=Passwort}

[…]


{\begin{letter}{\Vorname\ \Name}
\enlargethispage{4cm}
\opening{\ifstr{\Geschlecht}{w}{Liebe \Vorname,}{Lieber \Vorname,}}

[…]

\closing{\leftline{Mit freundlichem Gruß –}}
\end{letter}}
\end{DTLenvforeach}

[…]


Und schon ist alles wieder schön.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Torben am :

*DAS hat nun endgültig das Fass zum Überlaufen gebracht...

Ich werde endlich mal daran gehen, meine Dokumente nur noch in TeX zu setzen, das wäre doch gelacht. Die Lernkurve ist aber steil, wenn man aus der bunten Wysiwyg-Word-Welt kommt ;-).

Soweit macht es aber Spaß (und sieht unverschämt gut aus).

Hanjo am :

*Am schlimmsten ist eigentlich die Zeit bis zum ersten »Hello world!«. Danach bastelt man halt gemächlich das dazu, was man so braucht. Wenn ich als Computerlaie das kann, dann wird’s Dir keine Schwierigkeiten bereiten … :-)

Kommentar schreiben

BBCode-Formatierung erlaubt
Gravatar, Monster ID, Monster ID, Monster ID, Monster ID, Monster ID Autoren-Bilder werden unterstützt.
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Formular-Optionen