Add content for sourcecode listings
This commit is contained in:
parent
e387f91a3c
commit
2f42c3f551
5
content/code/Test.java
Normal file
5
content/code/Test.java
Normal file
@ -0,0 +1,5 @@
|
||||
public class Test {
|
||||
public static void main(/*…*/) {
|
||||
System.out.println("Welcome, fellow LaTeX learners!");
|
||||
}
|
||||
}
|
||||
6
content/code/minted-import-styled.tex
Normal file
6
content/code/minted-import-styled.tex
Normal file
@ -0,0 +1,6 @@
|
||||
\usemintedstyle{monokai}
|
||||
\definecolor{bg}{rgb}{0.1,0.1,0.2}
|
||||
\inputminted[
|
||||
breaklines=true,
|
||||
bgcolor=bg
|
||||
]{java}{content/code/Test.java}
|
||||
1
content/code/minted-import.tex
Normal file
1
content/code/minted-import.tex
Normal file
@ -0,0 +1 @@
|
||||
\inputminted{java}{content/code/Test.java}
|
||||
3
content/code/minted-umgebung.tex
Normal file
3
content/code/minted-umgebung.tex
Normal file
@ -0,0 +1,3 @@
|
||||
\begin{minted}{haskell}
|
||||
[x^2 | x <- [1..200], even x]
|
||||
\end{minted}
|
||||
5
content/code/minted-varianten.tex
Normal file
5
content/code/minted-varianten.tex
Normal file
@ -0,0 +1,5 @@
|
||||
% Kurzschreibweise
|
||||
Auch in der Kurzschreibweise erhält \mint{html}|<h2>LaTeX im Studium</h2>| eine eigene Zeile.
|
||||
|
||||
% Inline-Umgebung
|
||||
Der Methodenaufruf \mintinline{java}{o.doSomething();} erscheint hingegen inline im Fließtext.
|
||||
@ -0,0 +1,67 @@
|
||||
\section{Quelltext-Listings}
|
||||
|
||||
Um Quelltext in eigenen Arbeiten darzustellen, gibt es in \LaTeX verschiedene Wege.
|
||||
Wir verwenden hierfür gern das Paket \mintinline{latex}{minted}, das zwar etwas zusätzlichen Installationsaufwand verursacht, dafür aber ansprechende Ergebnisse generiert und gut handzuhaben ist.
|
||||
|
||||
\subsection{Installation}
|
||||
Für \mintinline{latex}{minted} zu verwenden, ist eine Installation der Programmiersprache Python 3 notwendig.
|
||||
Die Installationsdateien sind auf der Projekt-Website\footnote{Verfügbar unter \url{https://www.python.org/downloads/}.} zu finden.
|
||||
Ein ausführlicherer Beitrag zur Installation unter Windows\footnote{Jason FitzpatrickHow to Install Python on Windows. How-To Geek. July 11, 2017. Verfügbar unter \url{https://www.howtogeek.com/197947/how-to-install-python-on-windows/}.} führt euch durch die verschiedenen Schritte, die speziell für dieses Betriebssystem notwendig sind\footnote{Insbesondere das Anpassen des Systempfads sollte nicht vergessen werden.}.
|
||||
|
||||
Nach der erfolgreichen Installation solltet ihr in der Eingabeaufforderung\footnote{Navigation unter Windows: \faWindows\ + R → \enquote{cmd} eingeben → Enter} folgende Eingabe vornehmen können:
|
||||
|
||||
\begin{minted}[]{bash}
|
||||
$ python3 --version
|
||||
Python 3.8.5
|
||||
\end{minted}
|
||||
|
||||
Sollte die Versionsnummer höher sein, ist alles bestens.
|
||||
Im gleichen Fenster gebt ihr jetzt den Befehl \mintinline{bash}{pip install Pygments} ein, womit das Pygments-Paket für Python installiert wird.
|
||||
Ab jetzt könnt ihr das \LaTeX-Paket \mintinline{latex}{minted} über \mintinline{latex}{\usepackage{minted}} verwenden.
|
||||
|
||||
\subsection{Compiler-Befehl ändern}
|
||||
Bevor es allerdings richtig losgehen kann, müssen wir noch eine Kleinigkeit im Compile-Prozess anpassen.
|
||||
Normalerweise ruft euer Editor beim Klick auf den grünen Pfeil etwa den folgenden Befehl auf:
|
||||
|
||||
\begin{minted}[]{bash}
|
||||
$ pdflatex main.tex
|
||||
\end{minted}
|
||||
|
||||
Welcher Befehl das bei euch genau ist, könnt ihr in \TeX studio unter \enquote{Optionen → \TeX studio konfigurieren → Befehle} einsehen.
|
||||
Neben Pdf\LaTeX\ seht ihr den Befehl.
|
||||
Die Datei, die kompiliert werden soll, wird hier durch \mintinline{bash}{%.tex} angegeben.
|
||||
Außerdem sind üblicherweise noch zwei zusätzliche Angaben enthalten, jeweils mit einem Minus davor (\mintinline{bash}{-synctex=1 -interaction=nonstopmode}).
|
||||
Diese Angaben heißen Flags und konfigurieren das Programm \mintinline{bash}{pdflatex}.
|
||||
Eine solche Flag müssen wir ergänzen.
|
||||
Platziert die Angabe \mintinline{bash}{--shell-escape} vor der Datei-Angabe (\mintinline{bash}{%.tex}):
|
||||
|
||||
\begin{minted}[]{bash}
|
||||
pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
|
||||
\end{minted}
|
||||
|
||||
Nach Klick auf \enquote{Okay} ist der Einrichtungsschritt abgeschlossen.
|
||||
Auch andere Editoren bieten die Möglichkeit, den Kompilierbefehl anzupassen.
|
||||
Schaut am besten mal in die Einstellungen oder bemüht eine Suchmaschine.
|
||||
|
||||
\section{Quelltext setzen}
|
||||
Jetzt kann der eigentliche Spaß losgehen.
|
||||
Quelltext könnt ihr von nun an unter Angabe der Sprache in einer eigenen Umgebung setzen:
|
||||
|
||||
\example{lst:MintedEnvironment}{code/minted-umgebung}{Beispielhaftes Quelltext-Listing.}
|
||||
|
||||
\noindent Außerdem gibt es eine Kurzschreibweise und eine Inline-Variante des Befehls:
|
||||
|
||||
\example{lst:MintedVariants}{code/minted-varianten}{Kurzschreibweise und Inline-Listing.}
|
||||
|
||||
Um Redundanz zu vermeiden, ist es manchmal praktisch, den Quelltext direkt aus der Quelldatei einzulesen.
|
||||
Hierzu müssen nur die verwendete Programmiersprache und der Dateipfad an den Befehl \mintinline{latex}{\inputminted} übergeben werden:
|
||||
|
||||
\example{lst:MintedExternal}{code/minted-import}{Einbinden aus einer externen Datei.}
|
||||
|
||||
\subsection{Minted konfigurieren}
|
||||
|
||||
Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden.
|
||||
Außerdem sind zahlreiche Themes verfügbar.
|
||||
Einen umfänglichen Überblick geben die Einführung von Overleaf und die Dokumentation\footnote{Verfügbar unter \url{https://www.overleaf.com/learn/latex/Code_Highlighting_with_minted} bzw. \url{https://ctan.kako-dev.de/macros/latex/contrib/minted/minted.pdf}.}.
|
||||
|
||||
\example{lst:MintedExternalStyled}{code/minted-import-styled}{Themes und weitere Optionen.}
|
||||
@ -26,6 +26,9 @@
|
||||
|
||||
\usepackage{csquotes} % für \enquote
|
||||
|
||||
\usepackage{fontawesome5} % Icons
|
||||
% TODO: Ggf. rauswerfen
|
||||
|
||||
\newcommand\acro[1]{\textsc{\lowercase{#1}}}
|
||||
|
||||
\newcommand\widetable[1]{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user