Das minted Paket (Version v2.5 2017/07/19) ermöglicht die Darstellung von Quellcode in LaTeX. [1] Dabei ist die Darstellung nicht auf den Quellcode von LaTeX beschränkt, sondern das Paket ermöglicht mehr als über 300 Programmiersprachen zu verwenden. Der Code kann dabei in einer neuen Umgebung beziehungsweise mittels Einbindung einer Datei die den Code enthält. Zusätzlich existiert eine zweite neue Umgebung listing mit der Code als nummerierbares Gleitobjekt mit entsprechendem Verzeichnis.
Das Paket wird mit \usepackage{minted} eingebunden.
Das Paket verfügt zur Zeit über 12 Optionen beziehungsweise Einstellungen die beim Einbinden des Paketes gesetzt werden können. Das Setzen der Optionen erfolgt über ein key = value System, wobei als Werte (value) true und false möglich sind. Die folgenden vier Optionen / Einstellungen sind bei der normalen Verwendung ausreichend.
Mit den Einstellungen chapter und section kann der Rücksetzpunkt der Nummerierung der listing Gleitobjekte auf Kapitel- beziehungsweise Abschnittsweise Zählung verändern.
Bei der Verwendung der Option newfloat = true (default ist false) wird das newfloat anstelle des float Paketes zur Erstellung der listing Umgebung verwendet.
Werden die Codezeilen durchnummeriert dargestellt und man will, dass für jede eingebundene Sprache die Zeilennummern fortlaufend sind, das heißt sie nicht immer bei der 1 neu startem, sondern die bereits vorhanden Zeilenanzahl berücksichtigt wird die Option langlinenos = true benötigt.
Innerhalb der minted Umgebung wird der darzustellende Quellcode gesetzt. Die Umgebung verfügt über einige mögliche Optionen und Einstellungen und erwartet als Pflicht Argument die Programmiersprache.
\begin{minted}[Optionen / Einstellungen]{Sprache} CODE in der SPRACHE CODE ... \end{minted}
Der Befehl mint ist für den Satz einer Zeile Code gedacht, damit kann aber kein Code im in line Modus dargestellt werden. Das bedeutet, wenn der mint Befehl gesetzt wird erfolgt vor und nach der Darstellung des Inhaltes des mint Befehls ein Zeilenumbruch. Abgesehen davon, dass der Befehl nur für eine Zeile Code gemacht wurde, verhält er sich ansonsten wie die minted Umgebung.
\mint[Optionen / Einstellungen]{Sprache}{CODE in der SPRACHE}Beispiel:
Text vor dem mint Befehl \mint{python}{print(x**2)} und Text danach.Ausgabe:
\mintinline[Optionen / Einstellungen]{Sprache}{CODE in der SPRACHE}Beispiel:
Text vor dem mintinline Befehl \mintinline{python}{print(x**2)} und Text danach.Ausgabe:
Mit der listing Umgebung kann der Code der per minted Umgebung beziehungsweise per mint Befehl gesetzt wurde in ein Gleitobjekt eingefügt werden. Analog zu den Standard Gleitobjekt Umgebungen figure und table ist es auch in der listing Umgebung möglich Beschriftungen (Caption) zu setzen und auf diese zu verweisen (label).
\begin{listing}[H] \begin{minted}[style=trac]{c} int main() { printf("Hello World"); return 0; } \end{minted} \caption{Ein Beispiel für Hello World.} \label{Beispiel} \end{listing}Listing 1: Ein Beispiel für Hello World.
\documentclass{article} ... \begin{document} ... \tableofcontents \listoflistings ... \end{document}
\inputminted[Optionen]{Sprache}{Dateiname}Beispiel: \inputminted{c}{hello.c}
pdflatex -shell-escape Minted.texUm herauszufinden welche Sprachen unterstützt werden den folgenden Befehl in der Konsole ausführen.
pygmentize -L lexers