LaTeX mit Markdown und Tabellen

LaTeX mit Markdown und Tabellen

Ich versuche, mit Markdown und LaTeX ein neues Dokumentationssystem aufzubauen. Nach mehreren Stunden läuft das meiste reibungslos, aber Tabellen sind etwas kompliziert.

Der Großteil des Textes kann mit Markdown-Syntax geschrieben werden, einschließlich

\usepackage[fencedCode,inlineFootnotes,citations,definitionLists,hashEnumerators,smartEllipses,hybrid]{markdown}

Tabellen mit definierten Zellenbreiten und mehreren Spalten müssen jedoch im nativen LaTeX-Code erstellt werden.

Um das Schreiben des Dokuments zu vereinfachen, plane ich, ein LaTeX-Makro zu erstellen, das diese Tabellen erstellt. Der Autor muss also nur einige Makrovariablen ausfüllen und LaTeX erstellt die Tabelle.

Auch das funktioniert fast, ABER

Ich muss die Markdown-Umgebung \end{markdown}kurz vor dem Erstellen der Tabelle mit stoppen und Markdown mit aktivieren \begin{markdown}. Dies funktioniert im Dokument nicht gut, wie:

\end{markdown}

\marcocreatetable
    {parameter 1}
    {parameter 2}

\begin{markdown}

Aber wenn man versucht, diese Befehle in das Makro einzugeben, wie

\newcommand{\marcocreatetable}[2]{

\end{markdown}
\begin{longtable}{>{\columncolor[gray]{0.8}}p{2.5cm}|p{2.5cm} p{2.5cm} p{3.5cm} p{2.5cm}}
         \arrayrulecolor{red}\hline
        Cell1&\multicolumn{2}{l}{S\{1\} #1}&\multicolumn{2}{r}{#2}\\\hline
        Cell x&cell y &\multicolumn{1}{c}{\textbf{cell w}}&cell z&\multicolumn{1}{c}{\textbf{6}}\\
\end{longtable}
\begin{markdown}
}

und das Makro wie folgt verwenden

%\end{markdown}

\marcocreatetable
    {parameter 1}
    {parameter 2}

%\begin{markdown}

LaTeX beschwert sich über

\begin{document} ended by \end{markdown}.

Das Beenden markdowninnerhalb des Makros scheint nicht sehr gut zu funktionieren. Und ja, das Beenden markdownam Anfang eines Makros und das Beginnen markdownam Ende eines Makros ist vielleicht schlechter Code, aber ich möchte eine Tabelle mit nur einem einzigen Befehl erstellen.

Irgendwelche Vorschläge für einen großen LaTeX-Noop?

Antwort1

Ich habe eine Lösung gefunden.

Innerhalb des Makros muss ich \endmarkdown{}anstelle von verwenden \end{markdown}.

verwandte Informationen