> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/de/formatierung/12-code-highlighting-with-minted.md).

# Code-Hervorhebung mit minted

## Einführung

Dieser Artikel zeigt, wie man das [`minted` Paket](https://ctan.org/pkg/minted?lang=en) verwendet, um Quellcode einer Programmiersprache innerhalb eines LaTeX-Dokuments zu formatieren und hervorzuheben, ausgehend von einem Beispiel:

```latex
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #soll die Inzidenzmatrix werden
    VT = np.zeros((n*m,1), int)  #Dummy-Variable

    #berechne die bitweise-XOR-Matrix
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel zur Ausgabe des minted-Pakets](/files/586a9294c8b85b3ca3876e68e5c40c17852a878c)

Es gibt hier zwei wichtige Befehle. Im Vorspann wird das Paket importiert, indem man schreibt

```latex
\usepackage{minted}
```

dann die Tags `\begin{minted}{python}` und `\end{minted}` grenzen eine Umgebung ab, die den Text wortgetreu in Monospace-Schrift ausgibt und außerdem Kommentare, Schlüsselwörter und Funktionen farblich hervorhebt. Der Parameter `python` ist die Programmiersprache, in der der Quellcode geschrieben ist. `minted` unterstützt über 150 Programmier- und Auszeichnungssprachen sowie Konfigurationsdateien, siehe den [Referenzleitfaden](#reference-guide) für eine Liste der unterstützten Sprachen.

**Hinweis**: Für `minted` die Arbeit mit Ihrer *lokalen* LaTeX-Distribution muss ein zusätzliches Programm namens [Pygments](https://pygments.org/) installiert sein. [Overleaf](https://www.overleaf.com/) kann Ihnen die Mühe ersparen, es zu installieren und spezielle Befehle zum Kompilieren Ihres Dokuments ausführen zu müssen — auf Overleaf funktionieren Dokumente, die `minted` verwenden, „out of the box“.

## Grundlegende Verwendung

Wie im folgenden Beispiel gezeigt, kann die `minted` Umgebung so konfiguriert werden, dass die visuelle Darstellung des gesetzten Codes angepasst wird. Hier verwendet die `minted` Umgebung mehrere durch Kommas getrennte Parameter in der Form `Schlüssel=Wert`:

```latex
\documentclass{article}
\usepackage{minted}
\usepackage{xcolor} % um auf die benannte Farbe LightGray zuzugreifen
\definecolor{LightGray}{gray}{0.9}
\begin{document}
\begin{minted}
[
frame=lines,
framesep=2mm,
baselinestretch=1.2,
bgcolor=LightGray,
fontsize=\footnotesize,
linenos
]
{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #soll die Inzidenzmatrix werden
    VT = np.zeros((n*m,1), int)  #Dummy-Variable

    #berechne die bitweise-XOR-Matrix
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Another+example+of+the+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusepackage%7Bxcolor%7D+%25+to+access+the+named+colour+LightGray%0A%5Cdefinecolor%7BLightGray%7D%7Bgray%7D%7B0.9%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%0A%5B%0Aframe%3Dlines%2C%0Aframesep%3D2mm%2C%0Abaselinestretch%3D1.2%2C%0Abgcolor%3DLightGray%2C%0Afontsize%3D%5Cfootnotesize%2C%0Alinenos%0A%5D%0A%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Beispiel zur Anwendung von Formatierung auf gesetzten Code, der vom minted-Paket erzeugt wurde](/files/e6be881f6b54f824ea56685acfad1bf315e70931)

Die in diesem Beispiel verwendeten Parameter sind:

* `frame=lines`: zeichnet zwei Linien, eine oberhalb und eine unterhalb des Codes, um ihn einzurahmen. Andere mögliche Werte sind `leftline`, `topline`, `bottomline` und `single`.
* `framesep=2mm`: der Abstand des Rahmens wird auf 2 mm gesetzt. Andere [Längeneinheiten](/latex/de/formatierung/01-lengths-in-latex.md) können verwendet werden.
* `baselinestretch=1.2`: der Zeilenabstand des Codes wird auf 1,2 gesetzt.
* `bgcolor=LightGray`: Hintergrundfarbe gesetzt auf `LightGray`. Sie müssen das `xcolor` Paket importieren, damit dies funktioniert. Siehe [Farben in LaTeX verwenden](/latex/de/formatierung/13-using-colors-in-latex.md) um mehr über Farbmanipulation zu erfahren.
* `fontsize=\footnotesize`: Schriftgröße gesetzt auf `footnotesize`. Jede andere [Schriftgröße](/latex/de/schriftarten/01-font-sizes-families-and-styles.md#reference-guide) kann gesetzt werden.
* `linenos`: aktiviert Zeilennummern.

Weitere nützliche Optionen sind:

* `mathescape`: aktiviert den Mathematikmodus in Code-Kommentaren.
* `rulecolor`: ändert die Farbe des Rahmens.
* `showspaces`: aktiviert ein Sonderzeichen, um Leerzeichen sichtbar zu machen.

## Code aus einer Datei einbinden

Code wird üblicherweise in einer Quelldatei gespeichert; daher ist ein Befehl, der Code automatisch aus einer Datei importiert, sehr praktisch, wie im folgenden Beispiel gezeigt:

```latex
\documentclass{article}
\usepackage{minted}
\title{Dateien mit minted importieren}
\begin{document}
Der folgende Code wird direkt aus einer Datei importiert:

\inputminted{octave}{BitXorMatrix.m}
\end{document}
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BImporting+files+using+minted%7D%0A%5Cbegin%7Bdocument%7D%0AThe+next+code+will+be+directly+imported+from+a+file%3A%0A%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=function+X+%3D+BitXorMatrix%28A%2CB%29%0A%25function+to+compute+the+sum+without+charge+of+two+vectors%0A%09%0A%09%25convert+elements+into+usigned+integers%0A%09A+%3D+uint8%28A%29%3B%0A%09B+%3D+uint8%28B%29%3B%0A%0A%09m1+%3D+length%28A%29%3B%0A%09m2+%3D+length%28B%29%3B%0A%09X+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A%09for+n1%3D1%3Am1%0A%09%09for+n2%3D1%3Am2%0A%09%09%09X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A%09%09end%0A%09end\&main_document=main.tex)

Dieses Beispiel erzeugt die folgende Ausgabe:

![minted zum Importieren einer Codedatei](/files/6a91130a91759a7d86a2a7a2ffa3b63d89c38ca2)

Der Befehl `\inputminted{octave}{BitXorMatrix.m}` importiert den Code aus der Datei `BitXorMatrix.m`, der Parameter `octave` sagt LaTeX, in welcher Programmiersprache der Code geschrieben ist. Dieser Befehl kann zwei zusätzliche Parameter übernehmen, um nur einen Teil der Datei zu importieren; beispielsweise wird der Befehl zum Importieren von Code von Zeile 2 bis Zeile 12 zu:

```latex
\inputminted[firstline=2, lastline=12]{octave}{BitXorMatrix.m}
```

## Einzeiliger Code

Wenn Sie nur eine Codezeile einfügen müssen, ist der Befehl `\mint`, dessen Syntax im nächsten Beispiel vorgestellt wird, genau das Richtige.

```latex
Die Formatierung von einzeiligem Code funktioniert auch mit \texttt{minted}. Zum Beispiel kann ein kleiner HTML-Ausschnitt wie dieser:
\mint{html}|<h2>Etwas <b>hier</b></h2>|
\noindent korrekt formatiert werden.
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=One+line+code+example+with+minted\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cbegin%7Bdocument%7D%0AOne-line+code+formatting+also+works+with+%5Ctexttt%7Bminted%7D.+For+example%2C+a+small+fragment+of+HTML+like+this%3A%0A%5Cmint%7Bhtml%7D%7C%3Ch2%3ESomething+%3Cb%3Ehere%3C%2Fb%3E%3C%2Fh2%3E%7C%0A%5Cnoindent+can+be+formatted+correctly.%0A%5Cend%7Bdocument%7D)

Dieses Beispiel erzeugt die folgende Ausgabe:

![Einzeiliges Codebeispiel mit minted](/files/909fc1e50aee4b41f4092a1da3a2f95702aafaaf)

Der Parameter in den geschweiften Klammern legt die Programmiersprache fest (`html` in diesem Fall eine Auszeichnungssprache), wobei der tatsächlich zu formatierende Text durch das Zeichen '|' begrenzt wird.

## Benutzerdefinierte Lexer

**(Bitte beachten Sie, dass aufgrund von Änderungen in `minted` seit 2023 der folgende Ansatz nur in** [**TeX Live 2022 oder früher**](/latex/de/wissensdatenbank/148-using-the-overleaf-project-menu.md#tex-live-version)**.)**

Standardmäßig `minted` unterstützt nur Sprachen mit Lexer, die bereits installiert oder mit `pygmentize`registriert sind. Wenn Sie einen benutzerdefinierten Lexer geschrieben haben oder einen Lexer für eine Sprache verwenden möchten, die auf Overleaf noch nicht installiert wurde, können Sie ihn dennoch in Ihrem eigenen Overleaf-Projekt mit dem weiter unten genannten Ansatz verwenden [hier](https://tex.stackexchange.com/questions/18083/how-to-add-custom-c-keywords-to-be-recognized-by-minted#comment930474_42392).

Angenommen, Sie haben einen Lexer in der Datei definiert `nl-lexer.py`, der die Klasse enthält `NetLogoLexer` für die NetLogo-Sprache. Laden Sie `nl-lexer.py` in Ihr Overleaf-Projekt hoch und geben Sie dann `nl-lexer.py:NetLogoLexer` als den „Sprachnamen“ an, wenn Sie `minted`verwenden. Zum Beispiel:

```latex
\begin{minted}{nl-lexer.py:NetLogoLexer -x}
   ... Ihr Code hier ...
\end{minted}
```

[Hier ist](http://quantixed.org/2018/10/23/new-lexicon-how-to-add-a-custom-minted-lexer-in-overleaf/) ein weiteres Beispiel für die ImageJ-Makro-Sprache.

## Farben und Stylesheets

Die Farbschemata, die für die Codehervorhebung verwendet werden, sind in Stylesheets gespeichert. Sie können eigene erstellen oder eines verwenden, das bereits in Ihrer LaTeX-Distribution verfügbar ist. Siehe den [Referenzleitfaden](#reference-guide) für eine Liste der in [Overleaf](https://www.overleaf.com).

```latex
\documentclass{article}
\usepackage{minted}
\usemintedstyle{borland}
\begin{document}
\begin{minted}{python}
import numpy as np

def incmatrix(genl1,genl2):
    m = len(genl1)
    n = len(genl2)
    M = None #soll die Inzidenzmatrix werden
    VT = np.zeros((n*m,1), int)  #Dummy-Variable

    #berechne die bitweise-XOR-Matrix
    M1 = bitxormatrix(genl1)
    M2 = np.triu(bitxormatrix(genl2),1)

    for i in range(m-1):
        for j in range(i+1, m):
            [r,c] = np.where(M2 == M1[i,j])
            for k in range(len(r)):
                VT[(i)*n + r[k]] = 1;
                VT[(i)*n + c[k]] = 1;
                VT[(j)*n + r[k]] = 1;
                VT[(j)*n + c[k]] = 1;

                if M is None:
                    M = np.copy(VT)
                else:
                    M = np.concatenate((M, VT), 1)

                VT = np.zeros((n*m,1), int)

    return M
\end{minted}
\end{document}
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+stylesheets+with+minted+package\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Cusemintedstyle%7Bborland%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bminted%7D%7Bpython%7D%0Aimport+numpy+as+np%0A++++%0Adef+incmatrix%28genl1%2Cgenl2%29%3A%0A++++m+%3D+len%28genl1%29%0A++++n+%3D+len%28genl2%29%0A++++M+%3D+None+%23to+become+the+incidence+matrix%0A++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29++%23dummy+variable%0A++++%0A++++%23compute+the+bitwise+xor+matrix%0A++++M1+%3D+bitxormatrix%28genl1%29%0A++++M2+%3D+np.triu%28bitxormatrix%28genl2%29%2C1%29+%0A%0A++++for+i+in+range%28m-1%29%3A%0A++++++++for+j+in+range%28i%2B1%2C+m%29%3A%0A++++++++++++%5Br%2Cc%5D+%3D+np.where%28M2+%3D%3D+M1%5Bi%2Cj%5D%29%0A++++++++++++for+k+in+range%28len%28r%29%29%3A%0A++++++++++++++++VT%5B%28i%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28i%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+r%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++VT%5B%28j%29%2An+%2B+c%5Bk%5D%5D+%3D+1%3B%0A++++++++++++++++%0A++++++++++++++++if+M+is+None%3A%0A++++++++++++++++++++M+%3D+np.copy%28VT%29%0A++++++++++++++++else%3A%0A++++++++++++++++++++M+%3D+np.concatenate%28%28M%2C+VT%29%2C+1%29%0A++++++++++++++++%0A++++++++++++++++VT+%3D+np.zeros%28%28n%2Am%2C1%29%2C+int%29%0A++++%0A++++return+M%0A%5Cend%7Bminted%7D%0A%5Cend%7Bdocument%7D)

Die Verwendung des `borland` Stylesheets erzeugt die folgende Ausgabe:

![Ausgabe des minted-Pakets unter Verwendung des Stylesheets borland](/files/de71fe341f6aa404cd56b39aedaeeef0d8310945)

Die Syntax zum Festlegen eines Farbstils ist einfach; der Befehl `\usemintedstyle{borland}` verwendet das Farbthema `borland` zum Formatieren des Quellcodes. Weitere Farbschemata finden Sie im [Referenzleitfaden](#reference-guide).

## Beschriftungen, Labels und die Liste der Listings

Mit **minted** formatierte Code-Listings können in einer Gleitumgebung eingefügt werden, genau wie [Abbildungen](/latex/de/weitere-themen/27-inserting-images.md#positioning) und [Tabellen](/latex/de/abbildungen-und-tabellen/01-tables.md#positioning-tables). Beschriftungen und Labels können Code-Listings zugewiesen und später referenziert sowie in einer „Liste der Listings“ aufgenommen werden.

```latex
\documentclass{article}
\usepackage{minted}
\title{Code-Beispiele auflisten}
\begin{document}
\begin{listing}[!ht]
\inputminted{octave}{BitXorMatrix.m}
\caption{Beispiel aus externer Datei}
\label{listing:1}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{c}
#include <stdio.h>
int main() {
   printf("Hallo, Welt!"); /*printf() gibt die Zeichenkette in Anführungszeichen aus*/
   return 0;
}
\end{minted}
\caption{Hallo Welt in C}
\label{listing:2}
\end{listing}

\begin{listing}[!ht]
\begin{minted}{lua}
function fact (n)--definiert eine Fakultätsfunktion
  if n == 0 then
    return 1
  else
    return n * fact(n-1)
  end
end

print("Geben Sie eine Zahl ein:")
a = io.read("*number") -- liest eine Zahl
print(fact(a))
\end{minted}
\caption{Beispiel aus dem Lua-Handbuch}
\label{listing:3}
\end{listing}
\noindent\texttt{minted} leistet beim Setzen der Listings \ref{listing:1}, \ref{listing:2} und \ref{listing:3} gute Arbeit.
\renewcommand\listoflistingscaption{Liste der Quellcodes}
\listoflistings
\end{document}
```

[Öffnen Sie dieses Beispiel in Overleaf](https://www.overleaf.com/docs?engine=\&snip_name\[]=main.tex\&snip\[]=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bminted%7D%0A%5Ctitle%7BListing+code+examples%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cinputminted%7Boctave%7D%7BBitXorMatrix.m%7D%0A%5Ccaption%7BExample+from+external+file%7D%0A%5Clabel%7Blisting%3A1%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Bc%7D%0A%23include+%3Cstdio.h%3E%0Aint+main%28%29+%7B%0A+++printf%28%22Hello%2C+World%21%22%29%3B+%2F%2Aprintf%28%29+outputs+the+quoted+string%2A%2F%0A+++return+0%3B%0A%7D%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BHello+World+in+C%7D%0A%5Clabel%7Blisting%3A2%7D%0A%5Cend%7Blisting%7D%0A%0A%5Cbegin%7Blisting%7D%5B%21ht%5D%0A%5Cbegin%7Bminted%7D%7Blua%7D%0Afunction+fact+%28n%29--defines+a+factorial+function%0A++if+n+%3D%3D+0+then%0A++++return+1%0A++else%0A++++return+n+%2A+fact%28n-1%29%0A++end%0Aend%0A%0Aprint%28%22enter+a+number%3A%22%29%0Aa+%3D+io.read%28%22%2Anumber%22%29+--+read+a+number%0Aprint%28fact%28a%29%29%0A%5Cend%7Bminted%7D%0A%5Ccaption%7BExample+from+the+Lua+manual%7D%0A%5Clabel%7Blisting%3A3%7D%0A%5Cend%7Blisting%7D%0A%5Cnoindent%5Ctexttt%7Bminted%7D+makes+a+nice+job+of+typesetting+listings+%5Cref%7Blisting%3A1%7D%2C+%5Cref%7Blisting%3A2%7D+and+%5Cref%7Blisting%3A3%7D.%0A%5Crenewcommand%5Clistoflistingscaption%7BList+of+source+codes%7D%0A%5Clistoflistings%0A%5Cend%7Bdocument%7D\&snip_name\[]=BitXorMatrix.m\&snip\[]=%25This+code+is+directly+imported+from+a+file%0A%25A+function+to+compute+the+sum+without+charge+of+two+vectors%0Afunction+X+%3D+BitXorMatrix%28A%2CB%29%0A%25convert+elements+into+unsigned+integers%0AA+%3D+uint8%28A%29%3B%0AB+%3D+uint8%28B%29%3B%0A%0Am1+%3D+length%28A%29%3B%0Am2+%3D+length%28B%29%3B%0AX+%3D+uint8%28zeros%28m1%2C+m2%29%29%3B%0A+for+n1%3D1%3Am1%0A++for+n2%3D1%3Am2%0A+++X%28n1%2C+n2%29+%3D+bitxor%28A%28n1%29%2C+B%28n2%29%29%3B%0A++end%0Aend\&main_document=main.tex)

Die erste Seite dieses Beispiels enthält die folgende Ausgabe:

![Beispielhafte Auflistung von Codefragmenten](/files/e8bebe0f8b8c84a2e5cce698a69ed88e70da2f98)

Um die Liste mit allen "listing"-Elementen auszugeben, verwenden Sie `\listoflistings`. Im obigen Beispiel wird der Standardtitel `Liste der Listings` geändert in `Liste der Quellcodes` durch Schreiben von

```latex
\renewcommand\listoflistingscaption{Liste der Quellcodes}
\listoflistings % Jetzt die Liste setzen
```

Die vom obigen Beispiel erzeugte zweite Seite enthält das folgende Listing:

![Ein Beispiel für das Auflisten von Quellcodes](/files/93fea5179c039a8d70431f6fc310a4589de8a727)

## Referenzhandbuch

**Farbstile für minted**

| Name     | Ausgabe                                                               | Name     | Ausgabe                                                                |
| -------- | --------------------------------------------------------------------- | -------- | ---------------------------------------------------------------------- |
| manni    | ![MintedStyles1.png](/files/abb955be8ee2202e7d9943e10b7451604ebc1903) | fruity   | ![MintedStyles10.png](/files/da2c3784b39cde3ed314bb83226dfb395869ca9e) |
| rrt      | ![MintedStyles2.png](/files/0c95f2ac909d4d668d4a0285bf41e4acd8385841) | autumn   | ![MintedStyles11.png](/files/43b8f38cea782a29860cb860dc40bad5eed7ecfe) |
| perldoc  | ![MintedStyles3.png](/files/2d47cfa10de4ed96463c0b7ad44fa57773660217) | bw       | ![MintedStyles12.png](/files/3a66864a84b8d5e55a2c4c41e5c810f243621e9b) |
| borland  | ![MintedStyles4.png](/files/a403b001c90295672eef4788af1548d60744c4c6) | emacs    | ![MintedStyles13.png](/files/d28887e40218a1172b3599197ac22a918c6e8055) |
| colorful | ![MintedStyles5.png](/files/71a8bfb5c2c053ec0305a4ed435a3b784f960d66) | vim      | ![MintedStyles14.png](/files/8f8a7678b5b4148876d26227c0fc73825f22efa9) |
| murphy   | ![MintedStyles6.png](/files/05401b6d1bb704a8cc2abd32d55487d25342d67d) | pastie   | ![MintedStyles15.png](/files/03879d930ba255a5ca71000487eeb47963e63eca) |
| vs       | ![MintedStyles7.png](/files/82f567d9cc660a5e03e212c70c552748f9b77db1) | friendly | ![MintedStyles16.png](/files/e520d006db14962a61715aa158beace88f46efd7) |
| trac     | ![MintedStyles8.png](/files/fddfb1462f5d535dc663a3f530af9308ad656537) | native   | ![MintedStyles17.png](/files/5187d5d4a34cf789dc7b201ac1fd3b0f9c88398d) |
| tango    | ![MintedStyles9.png](/files/72f391d7d5d8a41b2d1f1b7c0957c26895adfa78) | monokai  | ![MintedStyles18.png](/files/a96b9c175dfbacf320d79fd721b682e54cd24a8a) |

Einige Farbschemata benötigen einen dunklen Hintergrund, um lesbar zu sein.

**Wichtigste unterstützte Programmiersprachen und Konfigurationsdateien**

|          |            |             |           |
| -------- | ---------- | ----------- | --------- |
| cucumber | abap       | ada         | ahk       |
| antlr    | apacheconf | applescript | as        |
| aspectj  | autoit     | asy         | awk       |
| basemake | bash       | bat         | bbcode    |
| befunge  | bmax       | boo         | brainfuck |
| bro      | bugs       | c           | ceylon    |
| cfm      | cfs        | cheetah     | clj       |
| cmake    | cobol      | cl          | console   |
| control  | coq        | cpp         | croc      |
| csharp   | css        | cuda        | cyx       |
| d        | dg         | diff        | django    |
| dpatch   | duel       | dylan       | ec        |
| erb      | evoque     | fan         | fancy     |
| fortran  | gas        | genshi      | glsl      |
| gnuplot  | go         | gosu        | groovy    |
| gst      | haml       | haskell     | hxml      |
| html     | http       | hx          | idl       |
| irc      | ini        | java        | jade      |
| js       | json       | jsp         | kconfig   |
| koka     | lasso      | livescrit   | llvm      |
| logos    | lua        | mako        | mason     |
| matlab   | minid      | monkey      | moon      |
| mxml     | myghty     | mysql       | nasm      |
| newlisp  | newspeak   | numpy       | ocaml     |
| octave   | ooc        | perl        | php       |
| plpgsql  | postgresql | postscript  | pot       |
| prolog   | psql       | puppet      | python    |
| qml      | ragel      | roh         | ruby      |
| rhtml    | sass       | scheme      | smalltalk |
| sql      | ssp        | tcl         | tea       |
| tex      | Text       | vala        | vgl       |
| vim      | xml        | xquery      | yaml      |

## Weiterführende Lektüre

Weitere Informationen finden Sie unter:

* [Längen in LaTeX](/latex/de/formatierung/01-lengths-in-latex.md)
* [Code-Listing](/latex/de/formatierung/11-code-listing.md)
* [Zähler](/latex/de/formatierung/10-counters.md)
* [Farben in LaTeX verwenden](/latex/de/formatierung/13-using-colors-in-latex.md)
* [Schriftgrößen, Schriftfamilien und Schriftstile](/latex/de/schriftarten/01-font-sizes-families-and-styles.md)
* [Schriftarten](/latex/de/schriftarten/02-font-typefaces.md)
* [Verwaltung in einem großen Projekt](/latex/de/dokumentstruktur/07-management-in-a-large-project.md)
* [Mehrdatei-LaTeX-Projekte](/latex/de/dokumentstruktur/08-multi-file-latex-projects.md)
* [Inhaltsverzeichnis](/latex/de/dokumentstruktur/02-table-of-contents.md)
* [Einseitige und doppelseitige Dokumente](/latex/de/formatierung/08-single-sided-and-double-sided-documents.md)
* [Die **minted** Paketdokumentation](https://texdoc.org/serve/minted/0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/de/formatierung/12-code-highlighting-with-minted.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
