\chapter{\latex im Detail} \section{Post-Installation von \TeX Live in Linux} Nach der Installation muss man den \verb:PATH:-Variable anpassen: In der Datei \verb:$HOME/.profile: folgendes ergänzen: \begin{minted}{bash} TEX_HOME="/usr/local/texlive/2020" if [ -d $TEX_HOME ] ; then PATH=$TEX_HOME/bin/x86_64-linux:$PATH MANPATH="${TEX_HOME}/texmf/doc/man":$MAN_PATH INFOPATH="${TEX_HOME}/texmf/doc/info":$INFOPATH export PATH export MANPATH export INFOPATH fi \end{minted} Wobei die Variable \verb:$TEX_HOME: ist der Ordner wo die \TeX Live installiert sind. Die Abbildung~\ref{fig:tl-structure} zeigt den Inhalt des Ordner \verb:$TEX_HOME:. \begin{figure}[t] \centering \includegraphics{img/tl-dir.png} \caption{Ordner-Struktur von \TeX Live Installation} \label{fig:tl-structure} \end{figure} \TeX Live bietet ein sehr detailliertes Dokument-System. Um die Dokumentation eines Paket aufzurufen muss man nur den Befehl \begin{minted}{bash} texdoc \end{minted} in der Konsole oder Termin absetzen. Zum Beispiel: Der Befehl \begin{minted}{bash} texdoc biblatex \end{minted} zeigt die Anleitung der Paket \verb:biblatex: an. Der Befehl \verb:texdoc: funktioniert zuverlässig in Linux und MacOS. In Windows weiß ich leider nicht. \section{Code Auszug} Code Auszug spielt in Dokumentation in der Informatik eine wichtige Rolle. In \latex hat man viel Möglichkeiten, Code Auszug zu setzen. Die einfachste Möglichkeit ist, die eingebaute Umgebung \texttt{verbatim} zu nutzen. Diese Umgebung druckt den Inhalt wie die Source Code in PDF Ausgabe: \begin{verbatim} Hier Ist der Code Auszüge!!! \end{verbatim} Ein weitere Möglichkeit ist das Paket \verb:listings:. Das Paket \verb:listings: in vollständig in \TeX implementiert. Es bedeutet dass man kein zusätzliche Software braucht um das Paket zu benutzen. Der Nachteil ist, das Paket \verb:listings: bietet eine sehr überschaubares Anzahl von Lexer. Die Seite~\autocite{wikibooks:Source_Code_Listings} bietet eine gutes Tutorium im Bezug auf das Paket \verb:listings: an. Im Gegensatz zum Paket \verb:listings: benutzt das Paket \verb:minted: das external Lexer-Programm Pygmentize um die Token in Code-Auszug zu klassifizieren. Das Paket \verb:minted: setzt voraus, dass das Lexer-Programm Pygmentize bereits in System installiert ist. Das Programm Pygmentize kann man in \url{http://pygments.org/} finden. Da das Programm in Python geschrieben ist, muss man den Python-Interpreter auch im System installieren. In ein Debian-basiertes Linux-System kann man die Installation in einem Befehl erledigen: \begin{minted}{bash} sudo aptitude install python-pygments \end{minted} In Windows muss man zuerst den Python-Interpreter installieren, dann das Python-Paket Pygments installieren. Hier wäre eine Hausaufgabe für die Informatik-Studenten. \section{Makefile} Man kann das Programm make benutzen um den Compilierungsprozess von \latex-Dateien, die Bib-Dateien in PDF-Datei zu automatisieren. Ein Makefile Template sieht etwa so aus: \begin{minted}{makefile} #latex compiler LATEX = lualatex LATEX_OPT :=-shell-escape -interaction=nonstopmode --synctex=1 #bibtex BIBTEX := biber BIBTEX_OPT := # latexmk setting LATEXMK = latexmk LATEXMK_OPT := LATEXMK_INTERACTIVE_OPT := -pvc # interactive TARGET INTERACTIVE_TARGET = zusammenfassung.pdf ######################################################## # file variables pdf = zusammenfassung.pdf main_tex = zusammenfassung.tex chapter = $(wildcard chap/*.tex) .PHONY: all all: $(pdf) $(pdf): $(main_tex) $(LATEX) $(LATEX_OPT) $< $(BIBTEX) $(BIBTEX_OPT) $(<:.tex=) $(LATEX) $(LATEX_OPT) $< $(LATEX) $(LATEX_OPT) $< $(main_tex): $(chapter) touch $@ .PHONY: interactive interactive: $(INTERACTIVE_TARGET) $(LATEXMK) $(LATEXMK_INTERACTIVE_OPT) $(<:.pdf=.tex) .PHONY: mostlyclean clean mostlyclean: rm -fv *.aux *.out *.bbl *.blg *.pytxcode *.toc *.nav rm -rf *.bcf *.log *.run.xml *.snm *.vrb *.synctex.gz rm -fv chap/*.aux clean: make mostlyclean rm -fv *.pdf rm -rfv pythontex-files-* rm -rfv _minted-* rm -rf *.fdb_latexmk *.fls \end{minted} Der Makefile-Template geht davon aus, dass die Hauptdatei \texttt{zusammenfassung.tex} ist, die einzelnen Kapitel werden im Unterordner \texttt{chap}. \section{Konfiguration von anderen \latex Editoren} \subsection{Texmaker} \begin{enumerate} \item \menu{Optionen} → \menu{Texmaker Konfigurieren} \item \menu{Befehle} → \begin{enumerate} \item \menu{PdfLaTeX}: \verb:lualatex -shell-escape -synctex=1 -interaction=nonstopmode %.tex: \item \menu{Bib(la)tex}: \verb:biber %: \end{enumerate} \item \menu{Schnelles Übersetzen} → \menu{PdfLaTeX + PDF anzeigen} \end{enumerate}