xxx
Hong-Phuc Bui
2021-10-11 d3d4561e1e895d4e7976832f0044c6aba18e7b7b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
\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 Webseite~\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:
 
\inputminted[tabsize=4]{makefile}{makefile}
 
Der Makefile-Template geht davon aus, dass die Hauptdatei \texttt{zusammenfassung.tex} ist,
die einzelnen Kapitel sind im Unterordner \texttt{chap} zu finden.
 
 
\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}
  \item \menu{OK}
\end{enumerate}