Codebeispiele exportieren UND wortwörtlich anzeigen

Codebeispiele exportieren UND wortwörtlich anzeigen

Ich möchte ein LaTeX-Dokument mit Codebeispielen in einer Verbatim-Umgebung schreiben. Ich möchte diese Codebeispiele auch in benannte Dateien exportieren, damit sie erstellt und ausgeführt werden können. Auf diese Weise kann ich meine Codebeispiele problemlos testen, um sicherzustellen, dass mein Dokument keinen fehlerhaften Code enthält. Ich möchte LaTeX also so schreiben

\begin{code}[test1.hs]
main = do
    print "Hello, world!"
\end{code}

und dieses Codebeispiel sowohl wörtlich in meinem Dokument als auch, als Nebeneffekt, in der Datei erscheinen lassen test1.hs.

Leider habe ich mich bei meinen Versuchen, LaTeX so zu schreiben, dass der Code sowohl wörtlich angezeigt als auch in eine Datei ausgegeben wird, in Schwierigkeiten gebracht. Gibt es eine einfache Möglichkeit, dies zu tun?

Antwort1

Eine mögliche Lösung mit tcolorbox.

Selbstverständlich kannst Du die Box auch ohne Rahmen ganz nach Deinen Wünschen individualisieren.

\documentclass{book}
\usepackage{tcolorbox}
\tcbuselibrary{breakable,listings}
\newtcbinputlisting{\mylisting}[2][]{%
    listing file={#2},
    title=Listing of \texttt{#2},
    colframe=red,fonttitle=\bfseries,
    listing only,breakable, #1}

\begin{document}
This creates a file \texttt{test1.hs}:

\begin{tcbverbatimwrite}{test1.hs}
main = do
    print "Hello, world!"
\end{tcbverbatimwrite}

And this use it:

\mylisting{test1.hs}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen