@slide(layout=chapter-slide) @title Quelltext-Listings @slide(layout=content-and-preview) @title Installation 🖥️ @content Mit dem Paket `minted` lässt sich Quelltext gut darstellen. Dafür wird die Programmiersprache Python benötigt. Nach der **[Installation von Python](https://www.python.org/)** kann das zugehörige Paket **[`Pygments`](http://pygments.org/)** in der Eingabeaufforderung installiert werden durch: ``` {.lang-sh .hljs} pip install Pygments ``` Anschließend muss das LaTeX-Paket nur noch eingebunden werden: ``` {.lang-tex .hljs} \usepackage{minted} ``` @preview ![](svg/chapter-10/minted-overview-crop.svg){ .thin-padding } @slide(layout=content-only) @title Anpassungen beim Kompilieren @content
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 @slide(layout=content-and-preview) @title Code im LaTeX-Quelltext @content ++ In einer eigenen Umgebung: ``` {.lang-tex .hljs .fragment} \section*{Haskell-Magie} Quadrate aller geraden % … \begin{minted}{haskell} [x^2 | x <- [1..200], even x] \end{minted} ``` ++ Inline im Quelltext: ``` {.lang-tex .hljs .fragment} \section*{Ein HTML-Beispiel} Eine Überschrift wird so ausgezeichnet: \mint{html}|

LaTeX im Studium

|. ``` @preview ![](svg/chapter-10/minted-haskell-crop.svg) @slide(layout=content-and-preview) @title Code aus externen Dateien @content Um Redundanz zu vermeiden, ist es manchmal praktisch, den Quelltext direkt aus der Quelldatei einzulesen. ``` {.lang-tex .hljs} \section*{Einfache Java-Anwendung} \inputminted{java}{Test.java} ``` ``` {.lang-java .hljs data-sourcefile="Test.java"} public class HelloWorld { public static void main(/*…*/) { System.out.println(/*…*/); } } ``` @preview ![](svg/chapter-10/minted-java-crop.svg) @slide(layout=content-only) @title `Minted` konfigurieren @content Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden. Außerdem sind zahlreiche Themes verfügbar. ``` {.lang-tex .hljs} \usemintedstyle{monokai} \begin{minted}[ linenos=true, breaklines=true, ]{javascript} % ... \end{minted} ``` 🔗 **[Einführung](https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted)** und **[offizielle Dokumentation](https://ctan.kako-dev.de/macros/latex/contrib/minted/minted.pdf)** @slide(layout=task) @task-number 9 @title Quelltext einbinden @content * 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`.