Start · Sprachen · PHP · Referenz · CommonMark\Render\Latex

CommonMark\Render\Latex

Funktion

Rendert ein CommonMark-Dokument als LaTeX-String.

Kategorie: misc

Signatur

CommonMark\Render\Latex(CommonMark\Node\Document $document): string

Beschreibung

CommonMark\Render\Latex nimmt ein geparsten CommonMark-Dokumentknoten (vom Typ CommonMark\Node\Document) entgegen und wandelt dessen Inhalt in LaTeX-Markup um. Die Funktion gehört zur CommonMark-Erweiterung für PHP, die das CommonMark-Subset von Markdown verarbeitet.

Dies ist nützlich, wenn Markdown-Inhalte für den Satz in LaTeX (z. B. für PDF-Erzeugung über pdflatex oder xelatex) aufbereitet werden sollen. Typischerweise wird zuerst mit CommonMark\Parse ein Dokument geparst und anschließend mit dieser Funktion in das Zielformat gerendert.

Neben Latex bietet die CommonMark-Erweiterung weitere Renderer wie CommonMark\Render\Html, CommonMark\Render\XML und CommonMark\Render\Man. Die Wahl des Renderers hängt vom gewünschten Ausgabeformat ab.

  • Eignet sich für wissenschaftliche Dokumentation, technische Berichte oder Bücher.
  • Gibt valides LaTeX zurück, das direkt in eine .tex-Datei geschrieben werden kann.

Parameter

Name Typ Default Beschreibung
$document Pflicht CommonMark\Node\Document Ein zuvor mit CommonMark\Parse erzeugter Dokumentknoten, der die geparste CommonMark-Baumstruktur repräsentiert.

Rückgabewert

Typ
string
Beschreibung
Gibt den gerenderten LaTeX-Code als string zurück, der dem CommonMark-Inhalt des übergebenen Dokumentknotens entspricht.

Beispiele

Einfaches Markdown-Dokument als LaTeX rendern

<?php
// Markdown-Text parsen
$markdown = "# Überschrift\n\nDies ist ein **fetter** Absatz mit `Code`.\n\n- Punkt 1\n- Punkt 2";

$document = CommonMark\Parse($markdown);

// Als LaTeX rendern
$latex = CommonMark\Render\Latex($document);

echo $latex;
\section{Überschrift} Dies ist ein \textbf{fetter} Absatz mit \texttt{Code}. \begin{itemize} \item Punkt 1 \item Punkt 2 \end{itemize}

LaTeX-Ausgabe in Datei schreiben

<?php
$markdown = file_get_contents('dokument.md');

$document = CommonMark\Parse($markdown);
$latex    = CommonMark\Render\Latex($document);

// LaTeX-Ausgabe als .tex-Datei speichern
file_put_contents('dokument.tex', $latex);

echo "LaTeX-Datei wurde erfolgreich erstellt.\n";
LaTeX-Datei wurde erfolgreich erstellt.

// Wichtig · Fallstricke

Hinweis zur Verfügbarkeit: Die CommonMark-Erweiterung (ext-commonmark) muss als PECL-Erweiterung installiert sein. Sie ist nicht standardmäßig in PHP enthalten. Installation über pecl install commonmark.

Sonderzeichen: Markdown-Inhalte mit LaTeX-spezifischen Sonderzeichen (z. B. %, &, _ außerhalb von Code-Blöcken) können je nach Renderer-Implementierung zu unerwarteten LaTeX-Fehlern führen. Es empfiehlt sich, die Ausgabe vor dem Kompilieren zu prüfen.

Die Funktion wirft eine CommonMark\Exception\InvalidArgumentException, wenn der übergebene Knoten kein gültiges Document-Objekt ist.