Textdateien per Markdown perfekt aufbereiten

Aus LinuxUser 10/2025

Textdateien per Markdown perfekt aufbereiten

© crisfotolux / 123RF.com

Bleibender Eindruck

Markdown-Dateien enthalten anstelle kryptischer Syntax klare und übersichtliche Formatanweisungen. Der Einsatz des Formats geht deutlich über das Verfassen reiner Texte hinaus.

Die Auszeichnungssprache Markdown (MD [1]) hilft, rasch präsentable Dokumente zu erstellen. Sie eignet sich ebenso für übersichtliche Notizen wie für umfangreiche Texte wie Arbeitsanleitungen oder Webseiten. Mit wenigen einfachen Formatanweisungen entstehen attraktive Resultate, zum Schreiben genügt ein gewöhnlicher Texteditor. Selbst Datenbank-Reports und andere Rechenergebnisse aus der Datenverarbeitung lassen sich mit Markdown im Handumdrehen aufhübschen. Nicht zuletzt eignet sich eine MD-Rohdatei für die Langzeitspeicherung. Selbst Textdateien aus dem letzten Jahrhundert lassen sich damit aufbereiten, nur der Zeichensatz muss an das heute vorherrschende UTF-8 angepasst werden.

Die Informationen in diesem Artikel orientieren sich am Pandoc-Markdown [2]. Die Vorgehensweise ähnelt der bei LaTeX: Sie erstellen die MD-Datei, übersetzen Sie mit Pandoc ins Zielformat (PDF, HTML, EPUB, ODT, RTF, LaTeX etc.) und verwenden anschließend ein passendes Ausgabeprogramm. Daneben bietet sich die Nutzung eines speziellen Markdown-Editors mit eingebauter Vorschau an. Für das Lesen der MD-Datei genügt ein Markdown-Reader im Terminal.

Markdown-Elemente

Ursprünglich wurde Markdown für das Erstellen einfacher HTML-Dokumente konzipiert. Die Entwicklung von 2004 bis heute hat uns eine Reihe verschiedener Dialekte beschert, die unterschiedliche Ausrichtungen aufweisen.

In einer Markdown-Datei, die in der Regel die Endung .md hat, kommen relativ wenige Syntaxelemente zum Einsatz. Der Inhalt der Tabelle “Markdown-Elemente” zeigt zwar nicht alle Möglichkeiten auf, deckt aber fast alle Situationen aus der Praxis ab. Die einfach anmutende Syntax eignet sich selbst für Sehbehinderte [3]. Setzen Sie die Zeilen aus Listing 1 an den Anfang der Datei, dann erscheinen diese Metainformationen in einigen Zielformaten, darunter EPUB und PDF.

Bereich/Auszeichnung

Syntax/Hinweis

Absatzgestaltung

Zeilenumbruch

Pipe (|) oder zwei Leerzeichen am Zeilenende

Absatz

Leerzeile

Absatz einrücken

Größer-Zeichen (>)

Gliederungselemente

Überschrift erste Ebene

# Überschrift (1 Leerzeile davor einfügen)

Überschrift zweite Ebene

## Überschrift

[…]

[…]

Überschrift sechste Ebene

###### Überschrift

Nummerierung einer Überschrift unterdrücken

# Überschrift {-}

Textauszeichnung

Kursivierung

*Text* oder _Text_

Fettung

**Text** oder __Text__

Kursivierung und Fettung

***Text*** oder ___Text___

Quellcode

`Text` (einzelne Zeichen, einige Wörter)

Codeblock

~~~```

Syntaxhervorhebung aktivieren

```Sprache (am Beginn des Codeblocks)

Hochstellung

^Text^

Tiefstellung

~Text~

Entwerten von Sonderzeichen

\Zeichen

Link

[Bezeichner](URL "SichtbarerText")

Fußnote numerisch

[^Nummer] Fußnotentext

Fußnote mit Link

[^Nummer]: Fußnotentext

Kommentarblock

---...

Aufzählungen, Listen

Liste mit Aufzählungszeichen

- Text

Nummerierung

1. Text

automatische Nummerierung

#. Text

Nummerierung vorgeben

7. Beginn, #. Nächster

Liste mit Buchstaben/römischen Zahlen

Buchstabe. Text (Vorgabe wie bei Nummerierung)

Sonstiges

Abbildung einfügen

![Bildunterschrift](Bilddatei "OptionalerText")

Bildunterschrift unterdrücken

\ am Zeilenende

variable Bildauflösung

Dateiname ohne Endung eingeben

Listing 1

Titel, Autor, Datum

% Titel des Dokuments
% Autor des Dokuments
% Erstellungsdatum

Ghostwriter

Viele gängige Editoren unterstützen die Syntaxhervorhebung für Markdown-Dokumente, darunter Vim, Nano und Kate. Für mehr Komfort und ein flüssigeres Arbeiten greifen Sie allerdings besser zu einem spezialisierten Markdown-Editor mit integrierter Vorschau wie Ghostwriter [4].

Das Programm (Abbildung 1) stellt keine großen Ansprüche an den Rechner. Die Spalte ganz links visualisiert anhand der Überschriften die Struktur des Dokuments. In der mittleren Spalte editieren Sie den Text, rechts davon sehen Sie eine Vorschau. Sie zeigt, wie das Dokument (in etwa) im Zielformat aussieht. Um eine bessere Vorabeinschätzung am Bildschirm zu erhalten, stellen Sie unter Einstellungen | Vorschauoptionen den Markdown-Dialekt ein, der zum Einsatz kommen soll.

Abbildung 1: Ghostwriter zeigt den Markdown-Quelltext und eine Vorschau des fertigen Dokuments nebeneinander an.

Abbildung 1: Ghostwriter zeigt den Markdown-Quelltext und eine Vorschau des fertigen Dokuments nebeneinander an.

Ghostwriter bietet verschiedene Arbeitsansichten (Abbildung 2). Das Programm lässt sich in einen augenfreundlichen Dunkelmodus versetzen. Klicken Sie dazu auf das Mondsichelsymbol. Die Live-Vorschau schalten Sie über das Icon mit dem Schrägstrich ein oder aus. Mit dem sogenannten Hemingway-Modus schalten Sie die Rückschritttaste (Backspace) ab. Die Philosophie dieses Modus besteht darin, zuerst den Text einfach zu erfassen, ohne Rücksicht auf Fehler und Unstimmigkeiten. Erst nach dem Erfassen überarbeiten Sie dann den Text. Ein Klick auf das Kopfhörersymbol setzt oder beendet den ablenkungsfreien Modus (Fokus-Modus). Dabei bleibt mehr oder weniger nur der Editorbereich sichtbar. Der Vollbildmodus bietet sich beim Arbeiten auf kleinen Reise-Laptops oder Bildschirmen an.

Abbildung 2: Über das Arbeitsansichten-Menü von Ghostwriter (de-)aktivieren Sie diverse Modi.

Abbildung 2: Über das Arbeitsansichten-Menü von Ghostwriter (de-)aktivieren Sie diverse Modi.

Die wichtigsten Textauszeichnungen rufen Sie in Ghostwriter bei Bedarf über das Menü Format ab (Abbildung 3).

Abbildung 3: &Uuml;ber das Men&uuml; <span class="ui-element">Format</span> erreichen Sie in Ghostwriter die wichtigsten Formatierungsanweisungen.

Abbildung 3: Über das Menü Format erreichen Sie in Ghostwriter die wichtigsten Formatierungsanweisungen.

Dokumente erstellen

Möchten Sie im Anschluss an das Editieren verschiedene Zielformate aus einer Quelldatei bedienen, fallen die Ergebnisse unter Umständen recht unterschiedlich aus. Beispielsweise klappt das Unterstreichen nicht für LaTeX und PDF. Geben Sie, was problemlos möglich ist, originalen LaTeX-Code dazu ein, dann tauchen die Unterstreichungen auch im PDF-Ziel auf. Die Tabelle “Unterschiede” stellt die Ergebnisse für das Unterstreichen und die Quelltextdarstellung gegenüber.

Format

Unterstreichen

Darstellung (Listings)

HTML

<u>Text</u>

ohne Farbe

PDF / LaTeX

\underline{}

mit Farbe

RTF

ohne Farbe

ODT

ohne Farbe

Alternativ laden Sie das zu diesem Artikel gehörende Musterblatt aus dem Download-Bereich herunter und holen es über den Dialog Datei | Öffnen… in den Editor. Dieses Dokument ist darauf ausgelegt, Sie bei Ihren ersten Schritten in der Markdown-Welt zu unterstützen.

Export mit Ghostwriter

Nach dem Speichern des Markdown-Dokuments über das Menü Datei klicken Sie auf Export und legen im folgenden Dialog den zu verwendenden Konverter (Abbildung 4) und das Zielformat (Abbildung 5) fest. Im sich danach öffnenden Dateidialog klicken Sie auf Speichern, um die Ausgabe anzustoßen.

Abbildung 4: In Ghostwriter stehen diverse Konverter f&uuml;r den Export zur Auswahl.

Abbildung 4: In Ghostwriter stehen diverse Konverter für den Export zur Auswahl.


Abbildung 5: Ghostwriter unterst&uuml;tzt alle wichtigen Ausgabeformate.

Abbildung 5: Ghostwriter unterstützt alle wichtigen Ausgabeformate.

Beim Erstellen von PDF-Dokumenten fällt auf, dass Bildunterschriften englischsprachige Bezeichner (figure) verwenden. In solchen Fällen hilft es, mit Ghostwriter eine LaTeX-Datei zu erstellen und in deren Header den Eintrag \usepackage[german]{babel} zu ergänzen. Anschließend übersetzen Sie die LaTeX-Datei mit Pdflatex.

Problemfall Tabellen

Möchten Sie Datenbankausgaben in Tabellen verwenden, müssen Sie sie in der Regel manuell nachbearbeiten. Psql [5], der Shell-Client von PostgreSQL, bietet allerdings die Möglichkeit an, die Ausgabe statt als reinen Text im HTML- oder LaTeX-Format zu erzeugen. Als HTML wirkt die Tabelle in der Vorschau aufgehübscht, diese Variante empfiehlt sich auch für EPUB als Ziel. Die LaTeX-Version der Tabelle erscheint korrekt in der PDF-Datei.

Wollen Sie aus einer Quelle verschiedene Zielformate erstellen, bleibt derzeit nur die Nutzung von reinem Text. Dabei maskieren Sie die Tabelle mittels ~~~ vor und nach dem Tabellenblock als Code. Solange die Ausgabe die maximale Zeilenlänge nicht überschreitet, ist das ein gangbarer Weg, auch wenn das Ergebnis eher altbacken wirkt.

Die Datenbankabfragen für die Ausgabe als Reintext, HTML und LaTeX zeigt Listing 2. Hier bestimmt die zweifach vorkommende Option -P das Ausgabeformat, wobei -P border=3 das Tabellengitter erzeugt. Die Abfragestatistik am Ende der Ausgabe unterdrückt -P footer. Die Tabelle “Tabellenformate” zeigt, welches Tabellenformat sich für welches Zielformat eignet.

Falls Sie die Markdown-Datei mit einem Texteditor erstellt haben oder für das Generieren der Ausgabedatei noch weitere Anweisungen hinzufügen möchten, nutzen Sie dazu am besten Pandoc.

Listing 2

Datenbankabfragen mit Psql

### nur Text
$ psql -P border=3 -P footer \
       -c "select * from TABELLE;" >> ausgabe.md
### HTML-Ausgabe
$ psql -P format=html -P border=3 -P footer \
       -c "select * from TABELLE;" >> ausgabe.md
### LaTeX-Ausgabe
$ psql -P format=latex -P border=3 -P footer \
       -c "select * from TABELLE;" >> ausgabe.md

Tabelle

PDF/LaTeX

HTML

ODT

EPUB

LaTeX

ja

nein

nein

nein

HTML

nur Text

ja

nur Text

ja

Code

ja

ja

ja

ja

Markdown mit Pandoc

Pandoc ermöglicht das Konvertieren einer Markdown-Datei in die Zielformate PDF, HTML, EPUB und LaTeX. Für PDF-Ausgaben müssen Sie vorab TeX/LaTeX installieren.

Pandoc stellt umfangreiche Optionen bereit (Tabelle “Pandoc: Optionen”). Besonders vor dem Erstellen von E-Books sollten Sie unbedingt die umfangreiche Manpage bezüglich des Einbringens der Metadaten studieren. Was die Größe des Titelbilds für E-Books betrifft, weist die Hilfeseite auf eine maximale Größe von je 1000 Pixel für Länge und Breite hin.

Option

Syntax

Ausgabedatei angeben

-o Datei

Ausgabeformat

-t Format

Eingabeformat

-f Format

Spracheinstellung für Ausgabe

-V lang=Sprache (de für Deutschland)

Bildgröße an Zielformat anpassen(1)

--default-image-extension=Format

Inhaltsverzeichnis erstellen

--toc

Nummerierungstiefe für Inhaltsverzeichnis

--toc-depth=n

Nummerierung der Abschnitte

-N

E-Books

Metadaten für E-Book

-M VARIABLE="Wert"

Titelbild für E-Book

--epub-cover-image=Datei

Listen

Erweiterungen

--list-extensions

unterstützte Ausgabeformate

--list-output-formats

unterstützte Eingabeformate

--list-input-formats

unterstützte Syntaxhervorhebungen

--list-highlight-languages

Syntax-Styles

--list-highlight-styles

(1) in Markdown-Datei Bilddatei ohne Endung eintragen

Um beispielsweise das Musterblatt zum Artikel als PDF-Datei mit Inhaltsverzeichnis, nummerierter Gliederung, deutschsprachigen Gliederungselementen und angepasster Bildauflösung zu erstellen, verwenden Sie die Anweisung aus der ersten Zeile von Listing 3. Ein Beispiel für die Konvertierung eines HTML-Dokuments in eine PDF-Datei zeigt die zweite Zeile. Auf diese Weise lassen sich auch Datenbankausgaben als PDF umsetzen.

Listing 3

Konvertieren mit Pandoc

$ pandoc --toc --number-sections --default-image-extension=pdf -V lang=de -o Musterblatt-pandoc.pdf Musterblatt.md
$ pandoc -f html -t pdf -o datei.pdf datei.html

Markdown mit Glow

Im Terminal zeigen Sie Markdown-Dateien mit Glow [6] an. Das in Go geschriebene Tool eignet sich auch für die Anzeige von Laufzetteln, Terminerinnerungen oder Arbeitsplänen. Sie verwenden es wahlweise im CLI- oder im TUI-Modus. Die wichtigsten Aufrufoptionen zeigt die Tabelle “Glow: Optionen (Auswahl)”. Sie beenden Glow in jedem Fall mit einem Druck auf die Taste [Q].

Aktion

Option

Hinweis

Konfiguration

config

Dateien und Ordner auflisten

-a

Suche mit /Datei möglich

Zeilennummern verwenden

-l

Dateiauswahl

-t

alternativ ohne Angabe eines Dateinamens.

seitenweises Blättern

-p Datei

Rufen Sie Glow ausschließlich mit dem Namen der anzuzeigenden Datei als Parameter auf, startet es im CLI-Modus. Er dient der reinen Anzeige und rendert das komplette Dokument auf den Bildschirm. Beim Aufruf mit zusätzlichen Schaltern oder Parametern startet das Werkzeug dagegen im interaktiven TUI-Modus, in dem Sie durch das Dokument blättern und es durchsuchen können. Die wichtigsten Tastaturbefehle für die Anzeige finden Sie in der Tabelle “Glow: Kommandos”.

Aktion

Kommando

Dateimodus

Auswahl Datei/Verzeichnis

Pfeiltasten

gewählte Datei anzeigen

Eingabetaste

Dateiliste auffrischen

[R]

Dateien suchen

/Datei

zwischen allen und ausgewählten Dateien springen

[Tab]

Auswahl aufheben

[Esc]

Datei im Editor öffnen

[E]

Anzeigemodus

zeilenweises Blättern

[Pfeil-oben]+ / [Pfeil-unten]

seitenweises Blättern

[Bild-auf]+ / [Bild-ab]

Suchen

/Suchbegriff

Anzeige beenden

[Esc]

Hilfe

[Umschalt]+[ß]

In Abbildung 6 sehen Sie Glow im TUI-Modus bei der Dateiauswahl. Hier steuern Sie mit den Pfeiltasten das gewünschte File an und öffnen es mit einem Druck auf die Eingabetaste. Alternativ benutzen Sie die Suchfunktion. In Abbildung 7 sehen Sie die Darstellung einer Markdown-Datei. Glow arbeitet an dieser Stelle ebenfalls im TUI-Modus, wie man an der letzten Zeile im Terminal erkennen kann. Durch Drücken von [E] starten Sie einen Editor, mit dem Sie das Markdown-Dokument bearbeiten.

Abbildung 6: Glow im TUI-Modus bei der Dateiauswahl.

Abbildung 6: Glow im TUI-Modus bei der Dateiauswahl.


Abbildung 7: Die Anzeige einer Markdown-Datei im TUI-Modus von Glow.

Abbildung 7: Die Anzeige einer Markdown-Datei im TUI-Modus von Glow.

Rufen Sie Glow mit der Option -p und dem Dateinamen auf, steht Ihnen über /Suchbegriff eine Suchfunktion innerhalb des Markdown-Texts zur Verfügung. Übereinstimmungen mit dem Suchbegriff erscheinen invers markiert. In Abbildung 8 haben wir zunächst nach “klappt” gesucht und dann zur besseren Erkennbarkeit “SUCHBEGRIFF” in das Suchfeld eingetragen.

Abbildung 8: Durchsuchen der Markdown-Datei, gesuchte Stellen sind invers dargestellt.

Abbildung 8: Durchsuchen der Markdown-Datei, gesuchte Stellen sind invers dargestellt.

Tipps & Tricks

Der Arbeitsaufwand für das Generieren von Dokumenten beliebiger Typen aus Markdown-Dateien lässt sich am besten per Shell-Skript in Grenzen halten. Listing 4 demonstriert das für die E-Book-Erstellung. Neben dem Markdown benötigen Sie dazu noch eine YAML-Datei (Listing 5) mit einigen Angaben zum Werk. Die Namen der Ausgabedateien setzen sich aus der Benutzereingabe, einer Datumsangabe und der zum Format passenden Endung zusammen. Ein Überschreiben erlaubt das Skript nicht: Das nachträgliche Löschen älterer Versionen verursacht weniger Ärger.

Listing 4

dokukonvert.sh

#! /bin/bash
if [ -z $1 ]; then
  echo "Keine Eingabedatei angegeben - ABBRUCH!"
  exit
fi
echo "Eingabedatei: $1"
read -p "Ausgabedatei: " ausgabe
read -p "Titel für E-Book: " titel
read -p "Titelbild für E-Book: " titelbild
read -p "Metadaten-Datei: " metas
datum=$(date +%d-%m-%Y-%H-%M)
# Erzeuge PDF
echo "---------------- PDF-Lauf ------------------"
pandoc --verbose --toc --number-sections \
       --default-image-extension=pdf -V lang=de \
       -o "$ausgabe-$datum.pdf" $1
# Erzeuge HTML
echo "---------------- HTML-Lauf -----------------"
pandoc --verbose --number-sections \
       --default-image-extension=html \
       ---V lang=de -o "$ausgabe-$datum.html" $1
# Erzeuge EPUB
echo "--------------- EPUB-Lauf ------------------"
if [ -z "$titelbild" ]; then
  pandoc --verbose --toc --number-sections \
  --default-image-extension=epub -V lang=de \
  --metadata title="$titel" \
  --epub-metadata "$metas" \
  -o "$ausgabe-$datum.epub" $1
else
  pandoc --verbose --toc --number-sections \
  --default-image-extension=epub -V lang=de \
  --metadata title="$titel" \
  --epub-cover-image="$titelbild" \
  --epub-metadata "$metas" \
  -o "$ausgabe-$datum.epub" $1
fi
echo "--------------- DATEIEN --------------------"
echo ""
ls -1t | grep "$datum"
echo ""
echo "--------------- FERTIG! --------------------"

Listing 5

metas.xml

<dc:rights>Copyright 2025 Günther Mustermann</dc:rights>
<dc:description>Musterblatt für Markdown</dc:description>
<dc:language>de</dc:language>
<dc:publisher>Kleingekläff, Großmiau</dc:publisher>
<dc:identifier id="978-1234567890"> </dc:identifier>

TIPP

Im Download-Bereich zu diesem Artikel finden Sie ein Musterblatt im Markdown-Format sowie einige mit dem Shell-Skript aus Listing 4 daraus erzeugte PDF-, HTML- und EPUB-Ausgaben. Die Muster-XML-Datei für die EPUBs sowie das Shell-Skript liegen ebenfalls bei.

Fazit

Es gibt viele Werkzeuge, die es ermöglichen, mit Markdown-Dateien zu arbeiten. Zahlreiche gängige Editoren offerieren mittlerweile eine passende Syntaxhervorhebung. Spezielle Markdown-Editoren bieten darüber hinaus eine Echtzeitvorschau und eine Exportfunktion, bei der Sie jedoch in der Regel nur wenig Einfluss auf das Ergebnis haben. Mit Pandoc steht Ihnen ein mächtiges Konvertierungsprogramm zur Verfügung, mit dem Sie das Ausgabeformat weitgehend an Ihre Vorstellungen anpassen können. Per Shell-Skript klappt die Ausgabe in das gewünschte Zielformat in einem Rutsch. Es bleibt ein ambitioniertes Ziel, aus einer Quelldatei verschiedene Ausgabeformate zu bedienen. (jlu)

Der Autor

Harald Zisler beschäftigt sich seit den frühen 1990er-Jahren mit FreeBSD und Linux. Zu Technik- und EDV-Themen verfasst er Bücher und Zeitschriftenbeiträge.

Glossar

TUI

Terminal User Interface. Zeichenorientierte pseudografische Oberfläche im Terminal, meist auf Basis der Bibliothek Ncurses realisiert.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 10/2025 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:
1 Kommentar
Älteste
Neuste Beste Bewertung
Richard
9 Monate her

MD-Editoren haben auch Obsidian und Zettlr. In beiden Programmen kann man den Text in beliebige Formate exportieren. Selbst für ausgefallene Formate gibt es Erweiterungen.

Nach oben