iX 1/2018
S. 108
Praxis
Textsatz
Aufmacherbild

Automatisierte Dokumentenverarbeitung mit LaTeX, Teil 1: Corporate Design erstellen

Ein sicheres Stilempfinden

Die Anwendungsmöglichkeiten von LaTeX gehen mittlerweile über den Satz mathematisch-naturwissenschaftlicher Dokumente hinaus. Der erste Teil dieses Tutorials geht die typischen Bedürfnisse beim Erstellen eines Corporate Designs an.

Codebasierte Textsatzsysteme ermöglichen eine klare Trennung von Inhalt und Layout bem Erstellen von Dokumenten. Dadurch lassen sich einzelne Elemente leicht wiederverwenden. Das ist ein Grund, weshalb LaTeX inzwischen 30 Jahre lang eine wichtige Rolle beim Publizieren im wissenschaftlichen Umfeld spielt. Selbstverständlich bietet LaTeX darüber hinaus weitere wesentliche Vorteile für die Wissenschaftscommunity wie die Mechanismen für mathematischen Formelsatz oder komplexe Dokumentenstrukturen.

Außerhalb dieses Umfeldes lassen sich automatisierte Workflows jedoch ebenfalls praktisch nutzen, um die Produktivität anzukurbeln. Im Hinblick auf automatisierte Dokumentengenerierung wird LaTeX jedoch häufig unterschätzt, weswegen sein Einsatz in Unternehmen eine große Ausnahme darstellt. Das Erstellen der Workflows benötigt einige Einarbeitung, allerdings wird diese Zeit nur einmalig investiert.

Die Gestaltungsmöglichkeiten mit LaTeX und dessen Bedienbarkeit haben sich in den letzten Jahren durch Paket-Bundles wie KOMA-Script (siehe Kasten) und TikZ/pgf stark weiterentwickelt. Dadurch lassen sich deutlich ansprechendere Layouts erstellen als das Standard-LaTeX-Dokument, das in vielen Hochschulen für Mathematik-Skripte verwendet wird.

Tabelle
Tabelle: LaTeX-Engines

Zudem erlauben neue Compiler wie XeLaTeX oder LuaLaTeX den Einsatz von Systemschriftarten – auch OpenType-Fonts – und können von Haus aus mit UTF-8 arbeiten (siehe Tabelle). Daher kann man mittlerweile mit vergleichsweise geringem Aufwand Layoutvorlagen im Sinne eines Corporate Designs erstellen und diese unabhängig vom Inhalt auf verschiedenste Dokumente übertragen. Mit einfachen Templates als Dokumentvorlagen können dann auch TeXnische Laien das Layout ohne größere Einarbeitung nutzen.

Dieses dreiteilige Tutorial widmet sich zunächst dem Erzeugen eines Seitenlayouts mit dem Paket scrlayer, das sich auf ein beliebiges Corporate Design anpassen lässt. Im zweiten Teil folgt eine Einführung in die expl3-Programmiersyntax und -Datenverarbeitung, und im dritten Teil geht es darum, Inhalte aus externen Dateien zu importieren und PDF-Dokumente aus externen Datensätzen zu generieren.

Mit Blick auf Wiederverwendbarkeit

Zum Erstellen eines eigenen Seitenlayouts eignet sich das Paket scrlayer aus der KOMA-Script-Sammlung. Bei Paketen dieser Sammlung steht vor allem die Wiederverwendbarkeit im Vordergrund. Elemente, die beispielsweise auf der Titelseite und im Fließtext Verwendung finden, werden nur einmalig erzeugt und können im gesamten Text eingesetzt werden. scrlayer bietet einen Mechanismus, Seitenstile aus Ebenen zusammenzusetzen.

Listing 1: Grundgerüst für einen eigenen Seitenstil

\usepackage{scrlayer}
\usepackage{tikz}% Im Allgemeinen nicht notwendig

\DeclareNewLayer[textarea,background,
  contents={%
 \begin{tikzpicture}
 \path(0,0) -- node[sloped,black!25,font=\fontsize{80}{80}\selectfont\sffamily]
{Entwurf}(\layerwidth,\layerheight);
 \end{tikzpicture}%
  }
]{watermark}

\DeclareNewPageStyleByLayers{watermarked}{watermark}

\pagestyle{watermarked}

Listing 1 zeigt den grundlegenden Aufbau eigener Seitenstile. Das dort verwendete TikZ-Paket dient dem einfacheren Positionieren des Textes auf der Diagonalen und ist im Allgemeinen nicht notwendig. Dies wäre auch ohne das Paket umsetzbar, jedoch deutlich umständlicher und mit mehr Aufwand verbunden. Allerdings ist das nicht Bestandteil dieses Tutorials. Der Vorgang lässt sich in vier Schritte gliedern:

1. Laden der Pakete

2. Ebenen erstellen und konfigurieren

3. Initialisieren des Seitenstils

4. Aktivieren des Seitenstils

Das Paket scrlayer benötigt keinerlei Optionen. Es verfügt allerdings über einen Entwurfsmodus, der den Inhalt jeder Ebene umrandet und um eine angetragene Maßskala (sowohl in Zentimeter als auch in Zoll) erweitert.

\usepackage[draft=true]{scrlayer}

Dieser Modus erleichtert das Positionieren der Ebenen, da Nutzer deren Abmessungen und Ausrichtung unabhängig vom Inhalt überprüfen können. Setzt man bei \ documentclass die globale Option draft beziehungsweise draft=true und somit den globalen Entwurfsmodus, gilt dieser auch für scrlayer. In diesem Fall lässt sich über die Paketoption draft=false dessen Debug-Modus explizit abschalten. Das ergibt beispielsweise Sinn beim Kontrollieren von Umbrüchen. Da würde es schnell unübersichtlich, wenn alle Ebenen über eine Maßangabe verfügten.