\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 <paket-name>
|
\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}
|