2019-10-26 20:23:51 +02:00

4.5 KiB

Quelltext-Listings


Installation 🖥️

Mit dem Paket minted lässt sich Quelltext gut darstellen. Dafür wird die Programmiersprache Python benötigt.

Nach der Installation von Python kann das zugehörige Paket Pygments in der Eingabeaufforderung installiert werden durch:

pip install Pygments

Anschließend muss das LaTeX-Paket nur noch eingebunden werden:

\usepackage{minted}

Anpassungen beim Kompilieren

Um Dokumente mit Quelltext-Listings kompilieren zu können, muss die Flag --shell-escape an den Compiler übergeben werden.

In TeXstudio muss diese unter Optionen > TeXstudio konfigurieren > Befehle bei PdfLaTeX vor %.tex ergänzt werden:

pdflatex -syntex=1 -interaction=nonstopmode --shell-escape %.tex


Code im LaTeX-Quelltext

In einer eigenen Umgebung:

\section\*{Haskell-Magie}
Quadrate aller geraden % …
\begin{minted}{haskell}
[x^2 | x <- [1..200], even x]
\end{minted}

Inline im Quelltext:

\section\*{Ein HTML-Beispiel}
Eine Überschrift wird so ausgezeichnet:
\mint{html}|

LaTeX im Studium

|.

Code aus externen Dateien

Um Redundanz zu vermeiden, ist es manchmal praktisch, den Quelltext direkt aus der Quelldatei einzulesen.

\section\*{Einfache Java-Anwendung}
    \inputminted{java}{Test.java}
public class HelloWorld {
    public static void main(/\*…\*/) {
        System.out.println(/\*…\*/);
    }
}

Minted konfigurieren

Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden. Außerdem sind zahlreiche Themes verfügbar.

\usemintedstyle{monokai}
\begin{minted}[
linenos=true,
breaklines=true,
]{javascript}
    % ...
\end{minted}

🔗 Einführung und offizielle Dokumentation


Quelltext einbinden

  • Abschnitt 2.4 enthält zwei auskommentierte **Listings.**
  • Bindet zunächst das **Paket `minted`** an der richtigen Stelle ein.
  • Nutzt die **`minted`-Umgebung**, um das erste Listing mit Syntax Highlighting zu versehen.
  • Lagert das zweite Listing in eine **neue Datei** aus und bindet sie mit `\inputminted` ein.
  • Ändert das **Farbschema** zu `borland`.