Texte aufbereiten

Textverarbeitung gehört zu den ältesten Aufgaben von Heimcomputern. Große Beliebtheit genießen sogenannte WYSIWYG-Programme wie Microsoft Word oder LibreOffice, die bereits beim Schreiben versuchen, das endgültige Layout auf dem Bildschirm darzustellen.

Konvertierung diverser Textformate

Auszeichnungssprachen

Im Gegensatz zu grafischen Textverarbeitungsprogrammen macht eine Auszeichnungssprache (markup language) dem Rechner die Gliederung und Formatierung von Texten kenntlich. Die Arbeitsweise ähnelt der Programmierung: Man schreibt den Text mit einem Texteditor und ein Übersetzungsprogramm erzeugt daraus ein druckbares Dokument.

Einsatzzwecke diverser Textformate
Markdown HTML Rich Text TeX Runoff
Geschichte
Jahr 2004 1993 1987 1978 1973
Erfinder John Gruber Tim Berners-Lee Microsoft Donald Knuth AT&T
Verwendung GitHub World Wide Web Word Naturwissenschaft Manpages
Kommentar
<!-- … --> % .\
Gliederung
Titel # <h1> \title{…} .TH
Abschnitt ## <h2> \sect \section{…} .SH
Unterabschnitt ### <h3> \subsection{…} .SS
Absatz ↵↵ <p> \par ↵↵ .PP
Zitat > <blockquote> \lquote \begin{quote} .QP
Code ```↵ <pre> \begin{verbatim} .RE … .RS
Punkteliste * <ul> \begin{itemize} .IP \[bu]
Nummernliste 1. <ol> \begin{enumerate} .nr step 1 1
Definitionsliste <dl> \begin{description} .TP
Tabelle |:-----:| <table> \trowd \begin{tabular}
Zeilenumbruch … ↵ <br/> \line \\ .br
Horizontale Linie ---↵ <hr/> \hrulefill
Formatierung
Normal \plain \textmd{…} .NL
Kursiv *…* <i> \b \textit{…} .I
Fett **…** <b> \i \textbf{…} .B
Fett kursiv ***…*** <b><i> \b\i \textbf{…} .BI
Unterstrichen <u> \ul .UL
Durchgestrichen ~~…~~ <del> \strike
Dicktengleich `…` <code> \fmodern \texttt{…} .CW
Kasten \outl \fbox{…} .BX
Größer <big> \large .LG
Kleiner <small> \small .SM
Hochgestellt <sup> \super ^{…} \*[{]…\*[}]
Tiefgestellt <sub> \dn6 _{…}
Link […](Url) <a href="Url"> \hlloc \href{Url}{…}
Bild […](Url) <img src="File"/> \pict \includegraphics{File}
Mikrotypographie
Halbes Leerzeichen &thinsp; \, \^
Geschütztes L. &nbsp; \enspace ~
Streckenstrich &ndash; \endash --
Gedankenstrich &mdash; \emdash --- \(em
Subtraktion &minus; $-$ \-

Wikis mit Markdown

Markdown definiert ein auf Lesbarkeit optimiertes Textformat für Notizen oder als Vorstufe für die Konvertierung in andere Formate.

hello.md
# Hello Hello, Markdown!

Die Programme markdown und mkd2html aus dem Paket discount erzeugen HTML-Code.

mkd2html document.md

Firefox rendert mit dem Add-On Markdown Viewer schöne Dokumente.

Webseiten mit HTML

Das Format für Dokumente im World Wide Web.

hello.html
<!DOCTYPE html> <html lang="de"> <head> <style> @page { /* margin box at top right showing page number */ @top-right { content: "Page " counter(pageNumber); } } </style> </head> <body> <h1>Hello</h1> <p>Hallo, Hypertext!<p> </body> </html>

Ontopias PrinceXML konvertiert HTML-Dokumente in typografisch einwandfreie PDFs.

prince -o hello.pdf hello.html
weasyprint hello.html hello.pdf

Wissenschaftliche Arbeiten mit LaTeX

Im universitären und besonders im mathematisch-naturwissenschaftlichen Umfeld werden Abschlussarbeiten, Artikel, Bücher, Präsentationen und Poster gerne mit dem Makropaket LaTeX für das Textsatzsystem TeX erzeugt.

hello.tex
% Minimalbeispiel \documentclass{minimal} \begin{document} \title{Hello} Hallo, \LaTeX! \end{document}

Das Programm pdflatex erzeugt daraus ein hübsches PDF-Dokument.

pdflatex hello.tex

Manpages mit Runoff

Dokumentation für Unix-Programme wird in einer antiquierten Auszeichnungssprache namens roff verfasst. Die Geschichte reicht zurück in die 1960er Jahre und beginnt mit dem Programm runoff. Die Sprache wurde für die Ausgabe auf Typsatzmaschinen (troff) und Terminals (nroff) erweitert. Die moderne GNU-Version heißt groff(7).

hello.man
.\" Minimalbeispiel .TH HELLO 1 "August 2013" "0.1" "Minimalbeispiel" .SH Hello Hallo, Groff!

Als hello.man abspeichern und anzeigen mit:

groff -Tutf8 -man hello.man | less

Andere Ausgabeformate wie html, dvi, und ps sind auch möglich.

groff -Thtml -man hello.man > hello.html

Makros beginnen mit einem Punkt, stehen am Beginn einer neuen Zeile und wirken sich auf den Rest der Zeile aus. Die Makropakete TBL, EQN und PIC können auch Tabellen, Gleichungen und Bilder erzeugen.

Literatur

  1. John Gruber: Markdown
  2. GNU Project: GNU Troff (Groff)
  3. GNU Project: The GNU Troff Manual
  4. Matt Welsh: Writing man Pages Using groff, Linux Journal, 1995
  5. Daniel Leidert: Writing manual pages in GROFF
  6. Eric S. Raymond: Making Pictures With GNU PIC