Markdown-Stile
Mithilfe von Stilen können die Details der Formatierung bestimmt werden. Technisch gesehen legen sie Attribute von Elementen des erzeugten XSL-FO-Dokuments fest.
Ein Stil besteht aus einer Liste von
- Attributen mit ihren Werten, die mit ‘=’ getrennt sind
- oder Referenzen auf andere Stile durch Angabe ihres Namens
Stil-Typen
Mit diesen wird das Aussehen von bestimmten Elementen festgelegt. Der Typ kontrolliert, an welchen Elementen die Attribute gesetzt werden sollen. Die folgenden Typ-Angaben werden verwendet:
- block
- Diese Attribute werden auf alle Textblöcke angewendet
- para
- Diese Attribute werden auf alle Absätze angewendet
- h1
- Attribute für Überschriften erster Ordnung (Zeilen mit einem “#” am Anfang)
- h2
- Attribute für Überschriften zweiter Ordnung (Zeilen mit “##” am Anfang)
- h3
- Attribute für Überschriften dritter Ordnung (Zeilen mit “###” am Anfang oder unterstrichen mit ‘=’)
- h4
- Attribute für Überschriften vierter Ordnung (Zeilen mit “####” am Anfang oder unterstrichen mit ‘-’)
- em1
- Attribute für Hervorhebungen mit einem ‘*’ oder ‘_’
- em2
- Attribute für Hervorhebungen mit zwei ‘*’ oder ‘_’
- list
- Attribute für nicht eingerückte Listen
- sub-list
- Attribute für geschachtelte Listen
- definition
- Attribute für den Begriff einer Definitions-Liste
- link
- Attribute für einen Link code
- Attribute für Hervorhebungen mit Backtick
- code-block
- Attribute für Code-Blocks
- cell
- Diese Attribute werden auf alle Tabellenzellen angewendet
- image
- Diese Attribute werden auf alle eingebundene Bilder angewendet
- hline
- Diese Attribute werden auf das Block-Element für eine horizontale Linie angewendet
Stile werden kombiniert,
z.B. wird für eine Überschrift zweiter Ordnung also erst block, dann para und dann h2 angewendet.
Die Attribute aus später angewendeten Stilen überschreiben vorher gesetzte.
Stile im Markdown
Im Markdown-Text können Stile mit einer Zeile in folgendem Format geändert werden:
*[{Typ}]: Attribut-Liste
Diese Stil-Definitionen wirken auf den Markdown-Text nach ihrer Textposition. Eine Definition kann durch eine spätere geändert werden.
Beispiel
*[{h1}]: space-before=8mm font-size=14pt font-weight=bold font-family="Helvetica"
Absatz-Stile
Mit einem Absatz-Stil kann das Aussehen eines Absatzes verändert werden.
Er besteht aus einer Attributliste, die in {} geklammert ist und am Anfang eines Absatzes steht.
Die in einem Absatz-Stil definierten Attribute überschreiben alle voreingestellten und globalen Stile.
Absatzstile können auch am Beginn des Textes von Tabellenzellen eingesetzt werden und dann auch z.B. Zellgrößen festlegen.
Beispiel
{ space-before=10mm } Mit freundlichen Grüßen
Inline-Stile
Stile können auch am Anfang von Hervorhebungen angegeben werden. Sie wirken dann nur auf den hervorgehobenen Text. Das Format entspricht dem von Absatzstilen.
Beispiel
Dieser **{color=red}fette Text** wird in rot dargestellt.
Voreingestellte Stile
Die Bibliothek enthält für alle Stile die Vorgaben, die angewendet werden, wenn sie vom Benutzer nicht überschrieben werden. Für Mibakus wurde der benutzte Zeichensatz angepasst.
*[{font-default}]: font-size=11pt font-family="DejaVu Sans"
*[{font-cell}]: font-size=11pt font-family="DejaVu Sans Condensed"
*[{font-code}]: font-size=11pt font-family=Courier
*[{block}]: font-default
*[{para}]: space-before=6pt space-after=6pt
*[{h1}]: space-after=3mm keep-with-next.within-page=always space-before=8mm font-size=20pt font-weight=bold text-align=center
*[{h2}]: space-after=3mm keep-with-next.within-page=always space-before=8mm font-size=18pt font-weight=bold
*[{h3}]: space-after=3mm keep-with-next.within-page=always space-before=8mm font-size=14pt font-weight=bold
*[{h4}]: space-after=3mm keep-with-next.within-page=always space-before=6mm font-weight=bold
*[{em1}]: font-style=italic
*[{em2}]: font-weight=bold
*[{list}]: para
*[{sub-list}]: space-before=3pt space-after=3pt
*[{definition}]: font-weight=bold
*[{link}]: color=blue
*[{code}]: font-code background-color=lightgrey padding-top=2pt padding-bottom=1pt padding-left=2pt padding-right=2pt
*[{code-block}]: font-code background-color=lightgrey padding-top=6pt padding-bottom=6pt padding-left=2pt padding-right=2pt
*[{table}]: table-layout=fixed width=100% space-before=6pt space-after=6pt
*[{cell}]: font-cell padding-top=2pt padding-bottom=1pt padding-left=2pt padding-right=2pt
*[{header-cell}]: font-weight=bold
*[{image}]: scaling=uniform content-height=scale-down-to-fit content-width=scale-down-to-fit width=100%
*[{hline}]: border-top-style=solid
Copyright © 2026 Hanspeter Halle
Dieser Text unterliegt der offenen Lizenz CC BY-SA 4.0
Er gehört zur Bibliothek markdown-fo-transformer und
enthält Anpassungen für Mibakus
