Hochwertige Dokumente erstellen mit Lout

Aus LinuxUser 04/2011

Hochwertige Dokumente erstellen mit Lout

© Andrzej Skwarczynski, sxc.hu

Gut gesetzt

Jenseits von WYSIWYG bietet neben LaTeX auch das schlanke Lout eine Alternative für das Erstellen hochwertiger Dokumente. Zum Bearbeiten der Texte reicht ein einfacher Editor.

Beim Bearbeiten von Texten ergeben sich durchaus Vorteile daraus, wenn Sie jenseits von WYSIWYG-Programmen Dokumente als “Quellcode” mit einem Markup schreiben. Das Druckergebnis erfordert dann zwar einen zusätzlichen Schritt, und manchmal verwirrt, das unterschiedliche Textelemente zusammen stehen, nur durch Steuerzeichen unterbrochen. Andererseits lassen sich Elemente wie etwa Querverweise und andere sonst unsichtbaren Bestandteile so viel angenehmer editieren.

Erfahrungsgemäß bewähren sich Textsatzsysteme wie zum Beispiel LaTeX speziell bei langen und aufwendigen Dokumenten, integrierte Makrosprachen erlauben dabei beliebige Sondererweiterungen. Ihre volle Stärke spielen solche Systeme aus, wenn es um Indices oder automatische Verzeichnisse geht. Wem der Einstieg bei LaTeX aber zu mühselig erscheint, der sollte einen Blick auf Lout [1] werfen.

Hintergrund

Der Informatiker Jeffrey H. Kingston hat Lout (Deutsch: “Rüpel”, aktuelle Version: 3.39) an der Universität Sydney entwickelt. Die Arbeit begann bereits 1984 mit einem Forschungsprojekt über Auszeichnungssprachen. Während Lout eigentlich die für die Quelldateien entwickelte Textsatz-Sprache meint, verweist “Basser Lout” (Kingston arbeitet im Basser-Department) auf die 1991 veröffentlichte Implementation, also das eigentliche Programm – alternative Implementierungen sind theoretisch möglich.

Tatsächlich steht ein ausgeklügeltes Konzept hinter der Software, und Lout gehört aus diesem Grund zu den höheren Markup-Sprachen. Es beeindruckt besonders vor dem Hintergrund, dass die Implementation nur rund 1,6 MByte umfasst, aber dennoch zahlreiche Features mitbringt. Lout wurde in ANSI C geschrieben und unterliegt der GNU General Public License. Der Lout-Interpreter gibt in der Regel Postscript-Code aus, unterstützt aber mittlerweile auch den Export von PDF-Dateien.

Vom Funktionsumfang reicht Lout durchaus an ein LaTeX-Grundsystem heran, während es vom Ressourcenverbrauch fast so schlank bleibt wie das Urgestein der Textformatierungs, Troff. Ein Lout-Paket steht in den Repositories vieler Distributionen bereits parat, und einen Lout-Quelltext schreiben Sie mit einem beliebigen Editor.

Dass Lout nicht ähnlich populär ist wie LaTeX sagt nichts über den Nutzwert der Software aus. Als Dokumentation existiert immerhin ein Benutzerhandbuch [2], das gut 335 Seiten umfasst, sowie ein Expertenhandbuch [3] (unter Debian und Ubuntu beide im Paket lout-doc), welche die Entwickler beide natürlich mit Lout erzeugt haben. Außerdem existiert eine recht aktive Mailingliste [4], deren Teilnehmer sich über jeden Neuling freuen.

Lout-Dokumente

Zu Beginn eines Lout-Quelltextes geben Sie zunächst mit dem Befehl @SysInclude eine Dokumentenklasse an, wobei die Standardklasse doc für einfache Dokumente vorgesehen ist. In die Umgebung zwischen @Doc @Text @Begin und @End @Text kommt nun ein beliebiger Haupttext (Listing 1). Dann speichern Sie die Datei ab und erzeugen auf der Kommandozeile mit dem Aufruf

$ lout -Z Datei.lout -o Datei.pdf

beispielsweise die entsprechende PDF-Datei. Die Entwickler bezeichnen die PDF-Ausgabe mit -Z immer noch als experimentell. Tauchen Probleme auf, erzeugen Sie zuerst Postscript und nutzen dann das Tool Ps2pdf. Haben Sie (wie im Beispiel) keine Grundeinstellungen verändert, dann zeigt die PDF-Datei eine A4-Seite mit Rand sowie Text in der Schrift Times New Roman mit einer Größe von 12 Punkt. Einfacher geht es kaum mehr.

Listing 1

@SysInclude{doc}
@Doc @Text @Begin
Hello, world!
@End @Text

Neben den grundlegenden Befehlen (siehe Tabelle “Handwerkszeug”) existieren in Lout komplexere Elemente, die meistens als Umgebungen angelegt sind. Dazu gehören zum Beispiel Aufzählungen, bei denen Sie zwischen @NumberedList und @EndList jeweils mit @ListItem beliebig viele Punkte angeben. Es gibt eine ganze Reihe weiterer Listentypen. Außerdem haben Sie die Möglichkeit, einer Liste mit @Heading{} ein Titel mitzugeben. Auch Kapitel funktionieren als Umgebungen: Sie legen Sie jeweils mit @Section @Title{} @Begin und @End @Section an, wobei alle Kapitel bei doc von @BeginSections und @EndSections eingeklammert sein müssen.

Handwerkszeug

Befehl Funktion
@PP neuer Absatz
@LP neuer Absatz ohne Einzug
@LLP neue Zeile
@NP neue Seite
@B{} fett
@I{} kursiv
@Underline{} unterstrichen
@Display @Heading{} Überschrift
@LeftDisplay @Heading{} linksbündige Überschrift
@FootNote{} Fußnote
@EndNote{} Endnote
@LeftNote{} Randbemerkung links
@Date Datum ausgeben
@Time Zeit ausgeben
@PageMark{foo} Marke setzen
@PageOf{foo} Seitenzahl davon ausgeben

Die Klasse doc findet sich in der Datei /usr/share/lout/include/doc. Dort stehen die Standardeinstellungen wie @InitialFont{Times Base 12p} und @InitialLanguage{English}. Möchten Sie grundsätzlich eine der anderen innerhalb von Lout verfügbaren Schriften verwenden, wie zum Beispiel Helvetica, und schreiben Sie hauptsächlich Texte in deutscher Sprache, dann stellen Sie dies global ein (Listing 2). Das gilt auch für Parameter wie zum Beispiel @PageHeaders{NoTitles}, der – etwas irritierend – Seitenzahlen in den Fußzeilen erzeugt (Listing 2).

Listing 2

@SysInclude{pie}
@SysInclude{doc}
@Document
  @InitialLanguage{Deutsch}
  @InitialFont{Helvetica Base 12p}
  @PageHeaders{NoTitles}
//
@Text @Begin
Das ist eine @I{Testdatei}. Hier findet man @B{einige} der gängigen Befehle.
@LP
Hier beginnt ein neuer Absatz. Lout @FootNote{Ein Textsatzsystem} erzeugt sehr saubere PDF-Dateien.
Jetzt kommt mal eine Liste:
@NumberedList
@ListItem Hamburg
@ListItem Berlin
@ListItem Düsseldorf
@EndList
@BeginSections
@Section @Title{Das erste Kapitel}
@Begin
@LP
Das ist ein Testkapitel. Hier wird einiges besprochen
@End @Section
@Section @Title{Das zweite Kapitel}
@Begin
@LP
Heute, am @Date bringen wir mal eine Kuchengrafik:
@CD @Pie
  aboveextra{2c}
  belowextra{1.5c}
  belowcaption{Ein typischer Tag}
  labelradius{external}
{ @Slice
  detach{yes}
  weight{23}
  paint{lightgreen}
  label{Essen @LLP (23%)}
  @Slice
  weight{27}
  paint{lightred}
  label{Fernsehen @LLP (27%)}
  @Slice
  weight{50}
  paint{lightyellow}
  label{Computer @LLP (50%)}
}
@End @Section
@EndSections
@End @Text

Zu den Stärken von Lout gehört, dass Sie einfache Vektorgrafiken wie Fluss- oder Liniendiagramme ganz einfach im Quelltext erstellen. Über SysInclude{pie} im Dokumentenkopf binden Sie das entsprechende Paket ein. Ein Kuchengrafik leiten Sie mit dem Befehl @Pie ein, wobei Sie die Sektoren mit dem Unterbefehl @Slice bestimmen. Dabei dürfen Sie eine Farbe für ein Teilstück angeben (was besonders in Kombination mit der Slides-Klasse für Präsentationen interessant ist ) und steuern bei Bedarf, ob die Beschriftung innen oder außen erscheint.

Abbildung 1: Das Ergebnis des Lout-Durchlaufs von Listing 2.

Abbildung 1: Das Ergebnis des Lout-Durchlaufs von Listing 2.

Lout bietet darüber hinaus Befehle für den Formelsatz, Funktionen für Indices, Glossare und Literaturverzeichnisse. Obendrein formatiert der Interpreter den Code verschiedener Computersprachen automatisch. Lout erweist sich als zuverlässig und umfangreich, und tatsächlich existieren im naturwissenschaftlichen Bereich und in der EDV eine ganze Reihe von Büchern, welche die Autoren mit Lout geschrieben haben.

Wem das noch nicht genügt, der kann Lout mit selbst geschriebenen Funktionen und beliebigen Schriften erweitern. Bereits nach einer kurzen Einarbeitungszeit haben Sie ein sehr nützliches Werkzeug für das Erstellen hochwertiger Dokumente an der Hand. Eine nicht mehr ganz zeitgemäße Einschränkung weist Lout allerdings auf: Das Programm kommt mit Unicode nicht zurecht. Daher müssen Sie Dateien mit Umlauten vor dem Verarbeiten unbedingt nach Latin-1 umwandeln. 

Glossar

Troff

Von AT&T in den Siebziger Jahren des letzten Jahrhunderts entwickeltes System für die formatierte Darstellung am Bildschirm, aber auch für Druckerzeugnisse. Auch heute kommt die Sprache noch bei Manpages zum Einsatz.

Der Autor

Daniel Stender promoviert in klassischer Indologie und benutzt seit Jahren ausschließlich Debian auf dem Desktop. Er beteiligt sich am Debian-Projekt und interessiert sich für die Entwicklung von Open-Source-Applikationen für die Sanskrit-Philologie. Sie finden seinen Blog unter der URL http://www.danielstender.com/granthinam.

LinuxUser 04/2011 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben