Nerdkrams
LaTeX und pan­doc: Es muss ja nicht immer Office sein.

Einer der Nachteile von Textverarbeitungssoftware ist, dass man sich als Autor stets genö­tigt sieht, sich außer dem rei­nen Text auch auf des­sen Darstellung zu kon­zen­trie­ren. Während ein Absatz geschrie­ben wird, wer­den auto­ma­tisch Absatz- und Formatierungsmarken ein­ge­fügt. Wenn spä­ter ein ande­res lay­out ange­wandt wer­den soll, ist das oft eine fürch­ter­li­che Klickerei; selbst das Anlegen von Absatz- und Dokumentvorlagen befreit nicht von der Ablenkung durch die bereits vor­han­de­ne Darstellung. WYSIWYG ist zwar schön bunt, aber oft auch ent­setz­lich nervig.

Wenn man sei­ne Autorentätigkeit ins web ver­legt, kommt man vom Regen in die Traufe: Auch HTML, dem WYSIWYM-Konzept zumin­dest nicht völ­lig ent­ge­gen­ge­setzt, ist anfäl­lig für Ablenkung durch Formatierung. Einfach einen Text, der aus mehr als einem Absatz im Fließtext besteht, ins Netz zu stel­len setzt, wenn man sich nicht auf die weni­gen Möglichkeiten von sozia­len Netzwerken beschrän­ken möch­te, eben­falls bereits beim Schreiben eini­ge Formatierungsarbeit vor­aus, die mit stei­gen­der Textlänge womög­lich auch immer wie­der Änderungen benö­tigt. Eine eini­ger­ma­ßen fle­xi­ble Formatierung geht nur per CSS - wie­der­um etwas, das bereits beim Schreiben auf­grund der manu­el­len Zuweisung von class-Attributen womög­lich mehr Zeit ver­schlingt als das Erstellen des eigent­li­chen Inhalts. (So ein Besucher guckt sich Webseiten ja nor­ma­ler­wei­se nicht nur des­halb an, weil sie so schön bunt sind.) Zumindest hier­für hat sich mit Markdown und MultiMarkdown eine Lösung eta­bliert, die HTML-Formatierungscodes durch Interpunktion ersetzt und in ver­schie­de­nen Dialekten zum Beispiel auf Stack Overflow, in sozia­len Netzwerken (Google+, Diaspora) und neue­ren Blogplattformen wie Ghost zum Einsatz kommt.

Eine Trennung von Format und Inhalt wäre aber auch im Druck wün­schens­wert: Ich als Autor möch­te mich dar­auf kon­zen­trie­ren kön­nen, einen Text digi­tal zu erfas­sen, und mir erst danach, wenn ich einen Gesamtblick auf die­sen Text habe, Gedanken über sei­ne Darstellung machen müs­sen. Kommt zwi­schen zwei Kapitel mei­nes Buches jetzt jeweils ein Seiten- oder nur ein Zeilenumbruch? Sollen Kapitelüberschriften zen­triert und kur­siv oder links­bün­dig und fett dar­ge­stellt wer­den? Das ist alles erst dann rele­vant, wenn das Buch, die Abschlussarbeit oder zum Beispiel das Bewerbungsschreiben fer­tig ist.

Natürlich gibt es da eine Lösung: LaTeX. LaTeX ist im Wesentlichen eine Sammlung von Makros und Vorlagen für das Textsatzsystem TeX, das in die­sem Segment den Quasistandard dar­stellt. (Ich bit­te die­sen Ausdruck zu ent­schul­di­gen, ich ver­brin­ge offen­bar zu viel Zeit mit den Ergüssen von Schlipsträgern.) Dabei funk­tio­niert es nach dem WYSIWYM-Prinzip: Will ich ein neu­es Kapitel begin­nen, dann schrei­be ich das genau so auf.

\chapter{Das erste Kapitel}
 
Alles, was hier steht, gehört zum ersten Kapitel.

Wie ich die­sen Text hin­ter­her for­ma­tie­re, könn­te ich zu die­sem Zeitpunkt bereits per Vorlage und/oder Formatierungsmakros ent­schei­den, ich muss es aber nicht. Das ist natür­lich nun nur ein kur­zer Ausschnitt aus einem LaTeX-Dokument; ein voll­stän­di­ges Beispiel ist auf Wikibooks zu finden.

Dass LaTeX vor allem für wis­sen­schaft­li­che Publikationen kon­zi­piert wur­de, bedeu­tet im Übrigen nicht, dass man sich auf die­se Art des Druckerzeugnisses beschrän­ken muss. Einer der typi­schen Einsatzzwecke von Textverarbeitungsprogrammen - das Schreiben von Briefen - ist natür­lich auch mit LaTeX umsetz­bar; Vorlagen inklu­si­ve. Mit dem KOMA-Script, das heut­zu­ta­ge fester Bestandteil von LaTeX-Distributionen ist, muss man sich auch über Besonderheiten deut­scher Briefstandards kei­ne Gedanken machen, die ent­hal­te­nen Vorlagen erle­di­gen die mei­ste Arbeit qua­si von selbst. (Dass auch eige­ne Vorlagen mög­lich sind, bedarf wahr­schein­lich kei­ner wei­te­ren Erwähnung. Hoppla, zu spät!)

Um aus LaTeX-Code ein fer­ti­ges Dokument zu gene­rie­ren, wer­den zunächst ein­mal ein Texteditor und LaTeX selbst benö­tigt. Zu Ersterem kom­me ich wei­ter unten noch, für Letzteres emp­feh­le ich das erfreu­lich unauf­dring­li­che TeX Live. Installieren, läuft.

Um aus einem sol­chen LaTeX-Dokument im „Reintext“ jetzt zum Beispiel unter Windows eine PDF-Datei zu erzeu­gen, emp­feh­le ich eine Batchdatei fol­gen­den Inhalts zu erstel­len (damit man sich nicht stän­dig wie­der­ho­len muss):

@echo off
latex eingabedatei.tex
latex eingabedatei.tex
pdflatex eingabedatei.tex

Die ersten bei­den latex-Aufrufe „par­sen“ die LaTeX-Datei und legen zum Beispiel ein Inhaltsverzeichnis an. (Falls kei­nes benö­tigt wird, genügt nor­ma­ler­wei­se ein ein­zi­ger Aufruf von latex, aber ein zwei­ter ist ja dann auch zu ver­schmer­zen.) pdfla­tex baut dann aus den gene­rier­ten Daten eine PDF-Datei zusam­men. Theoretisch funk­tio­niert das auch ohne vor­he­ri­gen Aufruf von latex, aber die „Hilfsdateien“, die dadurch ent­ste­hen, erleich­tern so man­ches (zum Beispiel, wenn man AUCTeX benut­zen möchte).

AUCTeX? Ach so, ja, das mit den Texteditoren. Ein LaTeX-Dokument lässt sich eini­ger­ma­ßen kom­for­ta­bel in den mei­sten gro­ßen Texteditoren bear­bei­ten, Syntaxhervorhebung und manch­mal auto­ma­ti­sche Vervollständigung inklu­si­ve. Noch kom­for­ta­bler wird es, wenn man einen spe­zi­el­len LaTeX-Editor ein­setzt. Für Emacs gibt es etwa das AUCTeX- und für Vim das LaTeX-suite-Plugin; wer mit bei­den Editoren nicht viel anfan­gen kann, dem sei TeXworks (in TeX Live ent­hal­ten) oder LyX emp­foh­len. Diesen Editoren ist eine Integration von LaTeX-Distributionen gemein, PDF-Dokumente las­sen sich jeweils sozu­sa­gen per Tastendruck erzeu­gen. Obwohl für die­sen Zweck Markdown deut­lich bes­ser geeig­net ist, lässt sich LaTeX auch in WordPress ein­set­zen - ein Plugin, das die Einbindung von LaTeX-Code erlaubt, ist etwa WP-LaTeX.

Und wenn man dann ein LaTeX-Dokument erstellt hat, aber der­je­ni­ge, der es über­ar­bei­ten will/soll, nur Microsoft Office benutzt? Pandoc eilt zu Hilfe:

pandoc -s eingabedatei.tex -o ausgabedatei.docx

Wie LaTeX (LPPL) steht auch Pandoc unter einer „frei­en“ Lizenz (der­zeit unter der GPL). Es ist nicht alles schlecht.

Fragen oder Anregungen sind willkommen.

Senfecke:

  1. Ich habe gera­de mal ver­sucht ein Dokument von mir von LaTeX zu DOCX zu kon­ver­gie­ren. Es scheint aber die \input{..}-Befehle zu igno­rie­ren. In mei­nem Dokument sind näm­lich alle \sec­tion{..} als Überschrift vor­han­den und Inhalt wird dann aus einer ande­ren .tex-Datei hinzugefügt.

Comments are closed.

https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilenew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_sadnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_eek.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_shocked.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_confusednew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_coolnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_madnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_aufsmaul.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_seb_zunge.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_blushnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_frown.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil1.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/icon_mad.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_rolleyesnew.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wink2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_idea2.gif  https://tuxproject.de/blog/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_arrow2.gif 
mehr...
 

Erlaubte Tags:
<strong> <em> <pre> <code> <a href="" title=""> <img src="" title="" alt=""> <blockquote> <q> <b> <i> <del> <span style=""> <strike>

Datenschutzhinweis: Deine IP-Adresse wird nicht gespeichert. Details findest du hier.