Skip to content
Snippets Groups Projects
Commit c220561e authored by Michael Grinberg's avatar Michael Grinberg
Browse files

Ergänzung der Doku in Bezug auf Gestaltung von Listings, Tabellen, etc.;...

Ergänzung der Doku in Bezug auf Gestaltung von Listings, Tabellen, etc.; kosmetische Änderungen bei internen Code-Snippets
parent 6748789d
No related branches found
No related tags found
No related merge requests found
......@@ -11,9 +11,10 @@ Bei Einbindung von Grafiken sind zwei Fälle zu unterscheiden:
\end{itemize*}
Grundlegender Unterschied bei der Einbindung \enquote{regulärer} Bilder
und \gls{gls:tikz}-Bilder ist, dass Binärformatgrafiken mit \lc{includegraphics\{...\}}
eingebunden werden, während \gls{gls:tikz}-Grafiken mit \lc{input\{...\}} eingebunden
und von \texttt{latex} mitkompiliert werden.
und \gls{gls:tikz}-Bilder ist, dass Binärformatgrafiken mit
\lc{includegraphics\{...\}} eingebunden werden,
während \gls{gls:tikz}-Grafiken mit \lc{input\{...\}}
eingebunden und von \printkeyword{latex} mitkompiliert werden.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......@@ -48,7 +49,7 @@ So können beispielsweise auf der vorherigen Seite riesige leere Flächen entste
Wenn der verbleibende Platz auf der Seite eine Platzierung nicht erlaubt,
kann es schnell passieren, dass \LaTeX{} das betroffene Bild
und alle Folgeilder ans Ende des Kapitels verschiebt
(genauer gesagt, an die Stelle, wo die nächste \lc{clearpage}-Anweisung kommt).
(genauer gesagt, an die Stelle, wo die nächste \lstinline|\clearpage|-Anweisung kommt).
Eine genaue Auswirkung der Parameter
\printkeyword{h}, \printkeyword{t}, \printkeyword{b} und \printkeyword{p}
......@@ -72,7 +73,7 @@ so dass nur noch eine einzige Zeile herumgeschoben werden muss.
%
Ein Beispiel für die Einbindung eines Bildes im Binärformat ist in \cref{lst:binary-image} angeführt:
\begin{lstlisting}[caption={Einbindung einer Binärgrafik in LaTeX},label={lst:binary-image},language={[LaTeX]TeX},float={htbp}]
\begin{lstlisting}[float={htbp},caption={Einbindung einer Binärgrafik in LaTeX},label={lst:binary-image}]
\begin{figure}[h]%
\centering%
\includegraphics[width=\linewidth]{Bildpfad/Dateiname}%
......@@ -131,7 +132,7 @@ referenziert werden.
Der Beispielcode dafür ist in \cref{lst:subfigures} dargestellt.
\begin{lstlisting}[caption={Unterabbildungen in LaTeX},label={lst:subfigures},language={[LaTeX]TeX},float={htbp}]
\begin{lstlisting}[float={htbp},caption={Unterabbildungen in LaTeX},label={lst:subfigures}]
\begin{figure}[h]%
\centering%
\subfloat[Unterbezeichnung 1)]{%
......@@ -174,7 +175,7 @@ Mit \gls{gls:tikz} und \gls{gls:pgfplots} lassen sich viele gute Sachen machen.
Der Code für die Einbindung einer \gls{gls:tikz}-Grafik steht in \cref{lst:tikz-figure}.
\begin{lstlisting}[caption={Einbindung einer TikZ-Zeichnung in LaTeX},label={lst:tikz-figure},language={[LaTeX]TeX},float={htbp}]
\begin{lstlisting}[float={htbp},caption={Einbindung einer TikZ-Zeichnung in LaTeX},label={lst:tikz-figure}]
\begin{figure}[h]%
\centering%
\tikzsetnextfilename{TikZ-Bild}%
......@@ -191,7 +192,7 @@ Eine Skalierung auf die volle Seitenbreite oder ein vielfaches davon im Falle vo
\texttt{\bs resizebox\{\bs textwidth\}\{!\}\{...\}}
durchgeführt werden.
Das Kommando \verb+\tikzsetnextfilename{...}+ ist nicht unbedingt notwendig,
Das Kommando \lstinline|\tikzsetnextfilename{...}| ist nicht unbedingt notwendig,
aber sehr zu empfehlen, da dies als Name für das temporäre Kompilat im Ordner
\printfilepath{./figures-compiled/} genommen wird.
Dieser sollte gleich dem Namen des Quelldatei (ohne Endung) gewählt werden.
......
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Abkürzungsverzeichnis, Stichwortverzeichnis (Index) und Glossar}%
\index{Abkürzungsverzeichnis}%
\index{Glossar}%
\index{Symbolverzeichnis}%
\index{Stichwortverzeichnis}%
\index{Index|see{Stichwortverzeichnis}}
\label{sec:Glossare}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
......@@ -12,6 +17,8 @@ das Definitionen von \index{Fachbegriff!Definition}Fachtermini oder
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Abkürzungen und Abkürzungsverzeichnis}%
\index{Abkürzungen}%
\index{Akronyme}%
\label{sec:Akronyme}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Zur Erzeugung des Abkürzungsverzeichnis und des Glossar wird intern das
......@@ -20,7 +27,7 @@ Zudem wurden einige Makros definiert, welche die Erfassung der Begriffe erleicht
Um ein Abkürzungsverzeichnis zu erzeugen, muss zuerst eine Liste der Abkürzungen angelegt werden.
Dies geschieht in der Datei \printfilepath{./preambel/Acronyms.tex}.
Hierfür wird das Makro \lc{newacronym} verwendet.
Hierfür wird das Makro \lstinline|\newacronym| verwendet.
Dieses Makro hat drei obligatorische Argumente, nämlich das
\begin{itemize*}
\item die Marke,
......@@ -56,62 +63,67 @@ eine abweichende Version der Langform für die Verwendung im Abkürzungsverzeich
pluraldative={meinen schönen Akronymen},%
%shortpluralaccusative={MSAs},%
pluralaccusative={meine schönen Akronyme},%
description={mein schönes Akronym, % <- optional!
description={mein schönes Akronym, % <- optional!
ein Beispiel für eine Abkürzung}%
]{ac:MSA}{MSA}{mein schönes Akronym}
\end{latex}
Im Text des Dokumentes werden die Einträge durch den Befehl \lc{ac\{<Marke>\}} verwendet.
Im Text des Dokumentes werden die Einträge durch den Befehl \lstinline|\ac{<Marke>}| verwendet.
Bei der erstmaliger Verwendung wird die Langform gedruckt, gefolgt von der Abkürzung, welche in Klammern gesetzt wird.
Beim zweiten Vorkommen wird nur noch die Abkürzung gedruckt.
Zusätzlich definiert die Vorlage die Befehle
\lc{acgen\{...\}}, \lc{acdat\{...\}} und \lc{acacc\{...\}}, sowie
\lc{acplgen\{...\}}, \lc{acpldat\{...\}} und \lc{acplacc\{...\}},
\lstinline|\acgen{...}|, \lstinline|\acdat{...}| und \lstinline|\acacc{...}|, sowie
\lstinline|\acplgen{...}|, \lstinline|\acpldat{...}| und \lstinline|\acplacc{...}|,
die jeweils die Genitiv-, Dativ- und Akkusativ-Form (singular und Plural) drucken.
Im \gls{gls:pkg} \pkg{glossaries} stellt der Befehl \lc{ac\{...\}} ein Shortcut für den Befehl \lc{gls\{...\}} dar.
Im \gls{gls:pkg} \pkg{glossaries} stellt der Befehl \lstinline|\ac{...}| ein Shortcut für den Befehl \lstinline|\gls{...}| dar.
Mit diesem kann ein allgemeines Glossar-Eintrag im Text referenziert werden.
Mit den Befehlen
\lc{acrshort\{...\}}, \lc{acrlong\{...\}}, \lc{acrfull\{...\}}
\lstinline|\acrshort{...}|, \lstinline|\acrlong{...}|, \lstinline|\acrfull{...}|
und ihren Abwandlungen sowie den Shortcuts
\lc{acs\{...\}}, \lc{acl\{...\}}, \lc{acf\{...\}},
\lstinline|\acs{...}|, \lstinline|\acl{...}|, \lstinline|\acf{...}|,
kann jeweils nur die Abkürzung, nur die Langform oder beides explizit angefordert werden.
Allerdings wird eine solche Verwendung ggf. nicht als \enquote{erstmalige Verwendung} zählen.
Damit resultiert der folgende Quellcode
\begin{latex}[caption={Verwendung von Abkürzungen},label={lst:AcronymUsage}]
\Acf{ac:MSA} ist ein Beispiel für die Verwendung einer
Abkürzung am Anfang des Satzes. Man beachte, dass
der Aufruf der Marke mit dem Makro \lc{acf} bzw. \lc{Acf}
\Acf{ac:MSA} ist ein Beispiel für die Verwendung
einer Abkürzung am Anfang des Satzes. Man beachte,
dass der Aufruf der Marke mit dem Makro
\lstinline|\acf{...}| bzw. \lstinline|\Acf{...}|
nicht als die erste Erwähnung im Text zählt.
Bei der ersten Nennung des \acgen{ac:MSA} unter Verwendung
der Makros \lc{ac}, \lc{acgen} \oae erscheint die Langform,
gefolgt von der Kurzform. Bei der zweiten Nennung des
\acgen{ac:MSA} erscheint nur noch die Kurzform.
Bei der ersten Nennung \acgen{ac:MSA} unter
Verwendung der Makros \lc{ac}, \lc{acgen} \oae
erscheint die Langform, gefolgt von der Kurzform.
Bei der zweiten Nennung \acgen{ac:MSA}
erscheint nur noch die Kurzform \ac{ac:MSA}.
\end{latex}
%
in der Ausgabe
in der folgenden Ausgabe:
%
\begin{quote}
\Acf{ac:MSA} ist ein Beispiel für die Verwendung einer
Abkürzung am Anfang des Satzes. Man beachte, dass
der Aufruf der Marke mit dem Makro \lc{acf} bzw. \lc{Acf}
nicht als die erste Erwähnung im Text zählt.
Bei der ersten Nennung des \acgen{ac:MSA} unter Verwendung
der Makros \lc{ac}, \lc{acgen} \oae erscheint die Langform,
gefolgt von der Kurzform. Bei der zweiten Nennung des
\acgen{ac:MSA} erscheint nur noch die Kurzform.
\Acf{ac:MSA} ist ein Beispiel für die Verwendung
einer Abkürzung am Anfang des Satzes. Man beachte,
dass der Aufruf der Marke mit dem Makro
\lstinline|\acf{...}| bzw. \lstinline|\Acf{...}|
nicht als die erste Erwähnung im Text zählt.
Bei der ersten Nennung \acgen{ac:MSA} unter
Verwendung der Makros \lc{ac}, \lc{acgen} \oae
erscheint die Langform, gefolgt von der Kurzform.
Bei der zweiten Nennung \acgen{ac:MSA}
erscheint nur noch die Kurzform \ac{ac:MSA}.
\end{quote}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Glossar}%
\index{Glossar}%
\label{sec:Glossar}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Neben einem Abkürzungsverzeichnis kann man auch ein
\index{Glossar}\gls{gls:Glossar} erstellen lassen.
\gls{gls:Glossar} erstellen lassen.
In diesem können Definitionen von \index{Fachbegriff!Definition}Fachtermini oder
\index{Uebersetzung@Übersetzung}Übersetzungen von fremdsprachlichen Begriffen stehen.
......@@ -145,59 +157,48 @@ Ein Glossar-Eintrag kann beispielsweise folgendermaßen definiert werden:
Normalerweise werden im Glossar nur diejenigen Begriffe angezeigt,
die im Text des Dokumentes erwähnt und entsprechend referenziert worden sind.
Eine Referenzierung der Glossar-Einträge im Text geschieht normalerweise mit dem
\lc{gls\{<Marke>\}}-Befehl,
\lstinline|\gls{<Marke>}|-Befehl,
welcher den Begriff im Text druckt und für seine Aufnahme ins Glossar sorgt.
Weitere mögliche Befehle sind \lc{Gls\{...\}} und \lc{GLS\{...\}},
Weitere mögliche Befehle sind \lstinline|\Gls{...}| und \lstinline|\GLS{...}|,
die den ersten bzw. alle Buchstaben in Großbuchstaben umwandeln,
\lc{glpl\{...\}}, \lc{Glspl\{...\}}, \lc{GLSpl\{...\}} für die Pluralform \usw.
\lstinline|\glpl{...}|, \lstinline|\Glspl{...}|, \lstinline|\GLSpl{...}|
für die Pluralform usw.
Zusätzlich definiert die Vorlage die Befehle
\lc{glsgen\{...\}}, \lc{glsdat\{...\}} und \lc{glsacc\{...\}}, sowie
\lc{glsplgen\{...\}}, \lc{glspldat\{...\}} und \lc{glsplacc\{...\}},
\lstinline|\glsgen{...}|, \lstinline|\glsdat{...}| und \lstinline|\glsacc{...}|,
sowie
\lstinline|\glsplgen{...}|, \lstinline|\glspldat{...}| und \lstinline|\glsplacc{...}|,
die jeweils die Genitiv- Dativ- und Akkusativ-Form drucken.
Außerdem gibt es mit dem Befehl \lc{glsadd\{...\}} die Möglichkeit,
Außerdem gibt es mit dem Befehl \lstinline|\glsadd{...}| die Möglichkeit,
eine Stelle im Text mit einem Glossar-Begriff zu verlinken, ohne diesen explizit zu drucken.
Mit \lc{glsaddall} kann man alle definierte Glossar-Einträge ins Glossar aufnehmen,
Mit \lstinline|\glsaddall| kann man alle definierte Glossar-Einträge ins Glossar aufnehmen,
ohne sie im Text des Dokumentes referenziert zu haben.
Die Verwendung des oben definierten Eintrages im Text mit dem Befehl
\lc{glsgen\{gls:Glossar\}} mündet im Text in einer Erwähnung des \glsgen{gls:Glossar}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Stichwortverzeichnis (Index)}%
\label{sec:Index}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Ein \index{Stichwortverzeichnis}Stichwortverzeichnis (oder
\index{Index|see{Stichwortverzeichnis}}Index)
ist einfach nur eine alphabetisch sortierte Liste von Begriffen mit einer Auflistung der Fundstellen im Dokument.
Diese ist nützlich, wenn sich der Leser zu einem Begriff alle Vorkommnisse anschauen möchte.
Der Index wird erzeugt, indem im Quellcode der Befehl \verb+\index{Begriff}+
eingefügt wird. Der Begriff selbst wird dadurch nicht gedruckt und muss daher
noch einmal wiederholt werden, um auch im Text gedruckt zu werden. Dieses Verhalten
ist beabsichtigt, sodass im Index immer nur die Grundform des Wortes verwendet
wird, aber im Text natürlich die richtige Deklination.
\lstinline|\glsgen{gls:Glossar}| mündet im Text in einer Erwähnung des \glsgen{gls:Glossar}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Symbolverzeichnis}%
\index{Symbolverzeichnis}%
\index{Symbole}%
\index{Notation}%
\label{sec:Symbolverz}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Ein Symbolverzeichnis kann auf zwei Arten angelegt werden.
Normalerweise reicht eine manuell erstellte Übersicht über die Notation,
so wie sie in der Datei \texttt{./00-Front-Matter/Notation.tex}
so wie sie in der Datei \printfilepath{./00-Front-Matter/Notation.tex}
mit Hilfe von Befehlen
\texttt{\bs myNotationTableEntryMath\{<Mathe-Ausdruck>\}\{<Beschreibung>\}}
\lstinline|\myNotationTableEntryMath{<Mathe-Ausdruck>}{<Beschreibung>}|
und
\texttt{\bs myNotationTableEntryText\{<Text-Ausdruck>\}\{<Beschreibung>\}}
\lstinline|\myNotationTableEntryText{<Text-Ausdruck>}{<Beschreibung>}|
definiert wird.
Diese ist recht einfach und lässt sich bei Bedarf beliebig ergänzen.
Allerdings gibt es auch die Möglichkeit zur automatischen Erzeugung eines
Symbolverzeichnisses mit Hilfe des \pkg{glossaries}-\glsgen{gls:pkg}.
Um dieses, am Ende des Manuskriptes eingebundene Symbolverzeichnis zu erzeugen,
Um dieses automatisch generierte Symbolverzeichnis zu erzeugen,
müssen Symbole in Form von Glossar-Einträgen angelegt und im Text des Dokumentes
zumindest einmal entsprechend mit dem Befehl \lc{gls\{<Marke>\}} referenziert werden.
Dafür müsste ein Symboleintrag folgendermaßen angelegt werden:
......@@ -211,9 +212,34 @@ Dafür müsste ein Symboleintrag folgendermaßen angelegt werden:
\end{latex}
Die Referenzierung des Symbols \gls{symb:pi} im Text geschieht dann mit \verb+\gls{symb:pi}+.
Die Einbindung eines automatisch erzeugten Symbolverzeichnisses ist am Ende des Manuskripts vorgesehen.
Es passiert in der Datei
\texttt{./content/Inhalt-BackMatter.tex}.
Bei Bedarf lässt sich diese Einbindung auch an eine geeignete Stelle in den Frontmatter verschieben.
Dabei ist darauf zu achten, dass in der Datei \texttt{preambel/AlleSchalter.tex}
die Einblendung durch \lc{showif\{showListOfSymbols\}} aktiviert ist.
In der Vorlage sind beide Arten von Symbolverzeichnissen vorgesehen.
Sie werden am Anfang des Manuskriptes vor dem Inhaltsverzeichnis eingebunden.
Es passiert in der Datei \printfilepath{./content/Inhalt-FrontMatter.tex}.
Bei Bedarf lässt sich diese Einbindung auch an eine geeignete Stelle in den Backmatter verschieben.
Zum einfachen Ein- bzw. Ausblenden der beiden Symbolverzeichnisse
gibt es in der Datei \printfilepath{preambel/AlleSchalter.tex}
die beiden Schalter
\begin{itemize}
\item \printkeyword{showNotation} für den manuell erstelle Notationübersicht
\printkeyword{showListOfSymbols} für das automatisch erstelltes Symbolverzeichnis.
\end{itemize}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Stichwortverzeichnis (Index)}%
\index{Stichwortverzeichnis}%
\index{Index|see{Stichwortverzeichnis}}%
\label{sec:Index}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Ein \index{Stichwortverzeichnis}Stichwortverzeichnis (oder
\index{Index|see{Stichwortverzeichnis}}Index)
ist einfach nur eine alphabetisch sortierte Liste von Begriffen mit einer Auflistung der Fundstellen im Dokument.
Diese ist nützlich, wenn sich der Leser zu einem Begriff alle Vorkommnisse anschauen möchte.
Der Index wird erzeugt, indem im Quellcode der Befehl \verb+\index{Begriff}+
eingefügt wird. Der Begriff selbst wird dadurch nicht gedruckt und muss daher
noch einmal wiederholt werden, um auch im Text gedruckt zu werden. Dieses Verhalten
ist beabsichtigt, sodass im Index immer nur die Grundform des Wortes verwendet
wird, aber im Text natürlich die richtige Deklination.
......@@ -16,10 +16,10 @@ Dank geeigneter Einstellungen in den Header-Dateien können deutsche Umlaute wie
\index{Sprache!unterschiedliche Anführungszeichen}%
„deutsche“, “englische”, »französische« oder «russische» Anführungszeichen
direkt im Quellcode eingegeben werden ohne irgendwelche Umwege wie z.B.
\verb+"a+ für "a,
\verb+"u+ für "ü,
\verb+\ss+, für \ss und
\verb+'e+ für 'e.
\verb+"a+ für ä,
\verb+"u+ für ü,
\verb+\ss+, für ß und
\verb+'e+ für é.
Dies gilt insbesondere auch für Quellen des Literaturverzeichnisses (Bib-Dateien).
Die Zeiten, in welchen man sich bei der Eingabe deutscher Buchstaben verkünsteln musste,
......
......@@ -47,14 +47,14 @@ So vermeidet man beim automatischen Nachladen weiterer \glspl{gls:pkg} aus dem \
Bei Verwendung von TeXLive unter Linux muss darauf geachtet werden, dass alle notwendigen Linux-\glspl{gls:pkg} installiert sind.
Unter Ubuntu 17.04 sollte es funktionieren, wenn folgende Linux-\glspl{gls:pkg} installiert wurden:
\begin{itemize*}
\item {\small\verb#texlive#}
\item {\small\verb#texlive-lang-german#}
\item {\small\verb#texlive-fonts-extra#}
\item {\small\verb#texlive-bibtex-extra#}
\item {\small\verb#fonts-linuxlibertine#}
\item {\small\verb#biber#}
\item {\small\verb#xindy#}
\item {\small\verb#texmaker#}
\item \printkeyword{texlive}
\item \printkeyword{texlive-lang-german}
\item \printkeyword{texlive-fonts-extra}
\item \printkeyword{texlive-bibtex-extra}
\item \printkeyword{fonts-linuxlibertine}
\item \printkeyword{biber}
\item \printkeyword{xindy}
\item \printkeyword{texmaker}
\end{itemize*}
Texmaker ist eine IDE für \LaTeX, die aber vermutlich über Dependencies schon einige Pakete mitbringt.
......@@ -73,21 +73,21 @@ in den nachfolgenden Kapiteln.
Die einzelnen Aufrufe sind:
\begin{itemize*}
\item \index{xelatex}\texttt{xelatex} zur eigentlichen Kompilierung von \LaTeX-Quelltext,
\item \index{biber}\texttt{biber} zur Kompilierung von Bibliografien,
\item \index{makeglossaries}\texttt{makeglossaries}, welches intern \index{xindy}\texttt{xindy} aufruft,
\item \index{xelatex}\printkeyword{xelatex} zur eigentlichen Kompilierung von \LaTeX-Quelltext,
\item \index{biber}\printkeyword{biber} zur Kompilierung von Bibliografien,
\item \index{makeglossaries}\printkeyword{makeglossaries}, welches intern \index{xindy}\printkeyword{xindy} aufruft,
zur Erstellung einer Zwischenausgabe für das Abkürzungsverzeichnis und das Glossar
\index{makexindex}\texttt{makeindex}, welches durch die Verwendung des Pakets \pkg{imakeidx} implizit aufgerufen wird, zur Erstellung des Stichwortverzeichnisses
\index{makexindex}\printkeyword{makeindex}, welches durch die Verwendung des Pakets \pkg{imakeidx} implizit aufgerufen wird, zur Erstellung des Stichwortverzeichnisses
\end{itemize*}
Bei einem Durchlauf von \texttt{xelatex}, \texttt{biber}, \texttt{makeglossaries} und \texttt{makeindex}
Bei einem Durchlauf von \printkeyword{xelatex}, \printkeyword{biber}, \printkeyword{makeglossaries} und \printkeyword{makeindex}
werden die einzelnen Inhalte sowie die entsprechenden Querverweise
zuerst jeweils in eine oder mehrere Zwischendateien hinausgeschrieben,
die sodann wieder eingelesen und verarbeitet werden müssen.
Manche Inhalte werden daher erst jeweils beim zweiten Aufruf von \texttt{xelatex} generiert.
Manche Inhalte werden daher erst jeweils beim zweiten Aufruf von \printkeyword{xelatex} generiert.
Für die korrekte Generierung eines Dokumentes mit allen Verzeichnissen
(Inhalts-, Abbildungs-, Tabellen-, Literatur, Abkürzungs-, Begriffs und Stichwortverzeichnis),
PDF"=Lesezeichen und korrekt gesetzten Querverweisen,
muss \texttt{xelatex} daher mehrmals aufgerufen werden.
muss \printkeyword{xelatex} daher mehrmals aufgerufen werden.
Sollte man ausnahmsweise das Dokument doch noch aus der Kommandozeile oder von einem Script heraus aufrufen wollen,
so ist die Reihenfolge der Aufrufe wie folgt:
......@@ -101,6 +101,6 @@ so ist die Reihenfolge der Aufrufe wie folgt:
\end{verbatim}
Wenn kein \index{Kompilierfehler}Kompilierfehler aufgetreten ist,
sollte nach dem vierten Durchlauf von \texttt{xelatex} die
sollte nach dem vierten Durchlauf von \printkeyword{xelatex} die
\index{Warnung!Please re-run latex}Warnung \enquote{Please re-run latex}
verschwunden sein.
\ No newline at end of file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Listings}%
\section{Quellcode-Listings}%
\index{Listing!Gestaltungsstil}%
\label{sec:Listings}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
......@@ -9,12 +10,29 @@ Zum Einbinden und formatieren von \index{Code|see{Listing}}Quellcode"=Beispielen
Das Hervorheben von \index{Schlusselwort@Schlüsselwort}Schlüsselwörtern
wird von LaTeX automatisch erledigt,
wenn die korrekte Sprache des Listings angegeben ist.
Vordefininiert sind die Umgebungen \index{Java}\texttt{java} für \gls{gls:java},
\index{C++}\texttt{C++} für C++ und \texttt{latex} für \gls{gls:latex}.
Dies geschieht mit Hilfe der Option \printkeyword{language}
oder durch die Angabe eines entsprechend definierten Gestaltungsstils.
So bewirkt
Im Befehl \lstinline|\lstset{...}|,
welcher in der Datei \printfilepath{preambel/preambel.tex} zu finden ist,
kann man einen globalen Stil für alle Listings vorgeben
(welcher jedoch bei Bedarf im Einzelfall überrufen werden kann).
Aktuell ist der etwas weiter oben im Code mit dem Befehl
\lstinline|\lstdefinestyle{...}| vordefinierte Stil
\printkeyword{latex} als Standardgestaltungsstil ausgewählt.
Neben \printkeyword{latex} sind in der Datei \printfilepath{preambel/preambel.tex}
auch noch \printkeyword{java} und \printkeyword{C++} als Gestaltungsstile vordefiniert.
Bei Bedarf lassen sich dort weitere Stile definieren und auswählen.
Zur Vereinfachung der Einbindung wurden zusätzlich Umgebungen
\printkeyword{latex}, \printkeyword{java} und \printkeyword{C++}
vordefiniert, die im Code mit \lstinline|\begin{<name>}...\end{<name>}|
direkt verwendet werden können (s. \cref{lst:java-listing}).
%
\begin{latex}[caption={Beispiel eines Listings in Java},label={lst:listing}]
So bewirkt beispielsweise
%
\begin{latex}[caption={Beispiel eines Listings in Java},label={lst:java-listing}]
\begin{java}[caption={A Java Hello-World example},%
label={lst:hello-world}]
public class HelloWorld {
......@@ -27,22 +45,22 @@ public class HelloWorld {
%
das folgende Ergebnis:
%
\begin{java}[caption={A Java Hello-World example},label={lst:hello-world}]
\begin{C++}[caption={A Java Hello-World example},label={lst:hello-world}]
public class HelloWorld {
public static void main( String[] args ) {
System.out.println( "HelloWorld" );
}
}
\end{java}
\end{C++}
Man beachte, dass anders als bei anderen Umgebungen
Man beachte, dass anders als bei Abbildungen und Tabellen
die Bezeichnung (\texttt{caption}) und die Referenzmarke (\texttt{label})
nicht als gesonderte Befehle sondern als optionale Argumente übergeben werden.
Dies liegt daran, dass ein Listing in der Regel keine Fließumgebung ist,
sondern an der Stelle im Text erscheint, an der sie im Code auch steht.
Ferner folgt ein Listing den ganz normalen Seitenumbruchsregeln.
Das heißt, überlanger Code wird einfach umgebrochen.
m ein Listing zu einem Fließobjekt zu machen, muss das optionale Argument
Um ein Listing zu einem Fließobjekt zu machen, muss das optionale Argument
\texttt{float=<tbp>} angegeben werden.
Die \index{Platzierung}Plazierungsangabe \enquote{\texttt{h}} für \enquote{hier}
ist nicht erlaubt. Denn dies ist das Standardverhalten ohne \texttt{float}.
\ No newline at end of file
......@@ -4,14 +4,14 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Grundsätzlich gilt, was in \parencites{ams1999a}{ams1999b} steht. In der Datei
\printfilepath{preambel/05-math.tex} sind eine Menge Kurzkommandos definiert, um eine
einheitliche Typografie von \index{Skalare}Skalaren, \index{Vektoren}Vektoren,
\index{Matrizen}Matrizen, \index{Zufallsvariablen}Zufallsvariablen etc.
zur vereinfachen. In diese Dateien einfach mal reinschauen, welche Kurzkommandos
es gibt.
\printfilepath{preambel/Math.tex} sind eine Menge Kurzkommandos definiert,
um eine einheitliche Typografie von
\index{Skalare}Skalaren, \index{Vektoren}Vektoren, \index{Matrizen}Matrizen,
\index{Zufallsvariablen}Zufallsvariablen etc. zur vereinfachen.
In diese Dateien einfach mal reinschauen, welche Kurzkommandos es gibt.
Auf zwei besondere Kommandos wird näher eingegangen, weil dies häufig falsch
gemacht wird.
Auf zwei besondere Kommandos wird näher eingegangen,
weil dies häufig falsch gemacht wird.
\begin{itemize}
\item Für die Matrixtransponierte gibt es das Kommando \verb#\Tr#, also
\verb#$A^{\Tr}$# liefert $A^{\Tr}$
......@@ -28,3 +28,6 @@ gemacht wird.
\int^1_0 x^2 \diff x = \frac{1}{3} \qquad \text{(richtige Typografie!)}
\end{equation}
\end{itemize}
Grundsätzlich empfiehlt es sich eigene Makros zu definieren und durchgehend zu verwenden.
Damit kann man bei Bedarf die Formatierung der Variablen an einer einzigen Stelle anpassen
ohne den gesamten Code des Arbeit durchgehen zu müssen.
\ No newline at end of file
......@@ -3,8 +3,8 @@
\label{sec:Querverweise}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Querverweise sollten nicht mit dem Befehl \verb#\ref{...}# gesetzt werden,
sondern mit \verb#\cref{...}# und verwandten Befehlen aus dem Paket
Querverweise sollten nicht mit dem Befehl \lstinline|\ref{...}| gesetzt werden,
sondern mit \lstinline|\cref{...}| und verwandten Befehlen aus dem Paket
\pkg{cleveref} \cite{Cubitt2013}.
Diese Befehle haben den Vorteil nicht nur die Nummer zu referenzieren,
sondern auch den Typ mit anzugeben.
......
......@@ -8,60 +8,52 @@ sondern nur wenige horizontale Linien.
Ferner haben sie eine trennende Linie ganz oben und ganz unten.
Hierfür stellt das Paket \pkg{booktabs} die Befehle
\begin{itemize*}
\item \lc{toprule}
\item \lc{midrule}
\item \lc{bottomrule}
\item \lstinline|\toprule|
\item \lstinline|\midrule|
\item \lstinline|\bottomrule|
\end{itemize*}
zur Verfügung.
Der Befehl \lc{hline} ist tabu.
Der Befehl \lstinline|\hline| ist tabu.
Für eine ausführliche Erläuterung auch über gute und schlechte Tabellen
siehe die Dokumentation des \pkg{booktabs}-Pakets \cite{Fear2005}.
Eine einfache Tabelle hat den folgenden Code:
\begin{latex}[caption={Einfache Tabelle in \LaTeX},label={lst:tables}]
\begin{latex}[caption={Einfache Tabelle in \LaTeX},label={lst:tabellenbeispiel}]
\begin{table}%
\centering%
\begin{tabularx}{\columnwidth}{l l X}%
\toprule%
Datei & Bedeutung & Benutzerinteraktion \\%
\midrule%
\endheader%
main.tex & Hauptdatei & nein \\%
figures/ & Zeichnungen & ja \\%
Diss.tex & Hauptdatei & nein \\%
images/ & Bilder & ja \\%
content/ & Kapitel & ja \\%
logos/ & Logos & nein \\%
\bottomrule%
\end{tabularx}%
\caption{Dateien der Vorlage}%
\label{tab:files-dirs-of-template}%
\label{tab:tabellenbeispiel}%
\end{table}
\end{latex}
%und sieht dann so aus wie \cref{tab:files-dirs-of-template}.
Das Ergebnis sieht man in \cref{tab:tabellenbeispiel}.
\begin{table}%
\centering%
\begin{tabular}{l l l}%
\toprule%
Datei & Bedeutung & Benutzerinteraktion \\%
\midrule%
Diss.tex & Hauptdatei & nein \\%
images/ & Bilder & ja \\%
content/ & Kapitel & ja \\%
\bottomrule%
\end{tabular}%
\caption{Dateien der Vorlage}%
\label{tab:tabellenbeispiel}%
\end{table}
Etwas komplizierter wird es, wenn man eine Tabelle mit alternierender Farbe einfügen möchte (\cref{tab:AlternierendeZeilenfarben}).
Etwas komplizierter wird es, wenn man eine Tabelle mit alternierender Farbe einfügen möchte
%
%% -- Einstellungen für Tabellen ----------
%% -- Können auch in die Präambel ----------
%\colorlet{tablesubheadcolor}{gray!40}
%\colorlet{tableheadcolor}{gray!25}
%\colorlet{tableblackheadcolor}{black!60}
%\colorlet{tablerowcolor}{gray!15.0}
%
%
%\renewcommand\tablehead{%
%\tableheadfontsize%
%\sffamily\bfseries%
%\slshape
%}
%
%%\renewcommand\tableheadcolor{
%%\rowcolor{tableblackheadcolor}
%%}
%
%
%%---------------------------------------
%%
\begin{table}
\caption{Tabelle mit alternierender Zeilenfarbe}%
\label{tab:AlternierendeZeilenfarben}%
......@@ -89,26 +81,30 @@ Etwas komplizierter wird es, wenn man eine Tabelle mit alternierender Farbe einf
\bottomrule%
\end{tabular}%
\end{table}
%%
%% ------------------------------------------------------------
Lange Tabellen, die umbrochen werden sollen, können mit
\lstinline|\LTXtable{\textwidth}{Datei}|
eingebunden werden, wobei die Tabelle in eine Datei ausgelagert werden muss.
Ein Beispiel dafür sieht man in \cref{tab:MehrseitigeTabelle}.
\IfDefined{LTXtable}{%
Und hier ein Beispiel für eine sehr lange Tabelle, die umbrochen werden soll.
%--Einstellungen für Tabellen ----------
\colorlet{tablerowcolor}{gray!10.0}
\renewcommand\tableheadcolor{\rowcolor{tableheadcolor}}
\renewcommand\tablehead{%
\tableheadfontsize%
\sffamily\bfseries%
\slshape
\color{black}
}
%---------------------------------------
{
\tablestyle
%\tablealtcolored
\rowcolors{1}{tablerowcolor}{white!100}%
\LTXtable{\textwidth}{tables/LongTableExample.tex}
}
%--Einstellungen für Tabellen ----------
\colorlet{tablerowcolor}{gray!10.0}%
\renewcommand\tableheadcolor{\rowcolor{tableheadcolor}}%
\renewcommand\tablehead{%
\tableheadfontsize%
\sffamily\bfseries%
\slshape%
\color{black}%
}%
%---------------------------------------
{
\tablestyle%
%\tablealtcolored
\rowcolors{1}{tablerowcolor}{white!100}%
\LTXtable{\textwidth}{tables/LongTableExample.tex}%
}%
} % End If
%
%
......@@ -129,6 +125,6 @@ Also so:
\end{sidewaystable}%
\end{latex}
Ein Ergebnis sieht man in \cref{tab:ex-sideways}.
Das Ergebnis sieht man in \cref{tab:ex-sideways}.
\input{tables/SidewaysTable.tex}
\ No newline at end of file
......@@ -24,10 +24,14 @@ Die übliche Verwendung ist
Weitere Informationen findet man in der Dokumentation zum \texttt{ntheorem}-Paket
\parencite{May2011}. Das Ganze sieht dann beispielsweise wie folgt aus.
\begin{theorem}[Theorem von Arthur Dent]\label{thm:arthur-dent} Die Antwort auf
die Frage nach dem Leben, dem Universum und den ganzen Rest ist 42.
\begin{theorem}[Theorem von Arthur Dent]
\label{thm:arthur-dent} Die Antwort auf die Frage nach dem Leben, dem Universum und den ganzen Rest ist 42.
\end{theorem}
\begin{proposition}[Zweifelhafte Folgerung] LaTeX ist schön. Beweis folgt
unmittelbar aus \cref{thm:arthur-dent}.
\end{proposition}
\ No newline at end of file
\begin{definition}
\LaTeX{} ist eine von Leslie Lamport 1980 entwickelter Satz von Makros zur Erweiterung von \TeX.
\end{definition}
\begin{proposition}[Zweifelhafte Folgerung]
LaTeX ist schön. Beweis folgt unmittelbar aus \cref{thm:arthur-dent}.
\end{proposition}
\begin{longtable}{l*{5}{Y}}%
\hiderowcolors
\caption{Longtable Tabelle über einen Seitenumbruch hinaus mit tabularx Spalten. Da ist die Tabellenüberschrift sinnvollerweise auch über der Tabelle.}\\%
\caption{Longtable Tabelle über einen Seitenumbruch hinaus.}%
\label{tab:MehrseitigeTabelle}%
\\%
\showrowcolors
\tableheadcolor
\tablehead Tabellenkopf &
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment