Kleinere Anpassungen.
This commit is contained in:
parent
ea1ab88f49
commit
9cab6237d6
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,11 +1,13 @@
|
||||
### LaTeX ###
|
||||
## Core latex/pdflatex auxiliary files:
|
||||
*.aux
|
||||
*.loc
|
||||
*.lof
|
||||
*.log
|
||||
*.lot
|
||||
*.fls
|
||||
*.out
|
||||
*.soc
|
||||
*.toc
|
||||
*.fmt
|
||||
*.fot
|
||||
|
||||
7
Makefile
7
Makefile
@ -1,4 +1,9 @@
|
||||
default: listings
|
||||
default: all
|
||||
|
||||
all: listings main.tex
|
||||
./compile_listings
|
||||
pdflatex --shell-escape main.tex
|
||||
|
||||
latex: main.tex
|
||||
pdflatex --shell-escape main.tex
|
||||
|
||||
|
||||
@ -6,10 +6,10 @@ Zu jedem dieser Typen existieren eigene Umgebungen, die aber grundsätzlich glei
|
||||
\example{lst:UnorderedList}{aufzaehlungen/verschachtelt}{Beispielhafte ungeordnete Aufzählung}
|
||||
|
||||
In \cref{lst:UnorderedList-code} werden verschiedene Listenelemente (\mintinline{latex}{\item}) von einer \mintinline{latex}{itemize}-Umgebung eingerahmt.
|
||||
Innerhalb eines Listenelements kann eine neue Listenumgebung eröffnet werden, um eine verschachtelte Liste zu erhalten.
|
||||
Innerhalb eines Listenelements kann eine neue Listen\-umgebung eröffnet werden, um eine verschachtelte Liste zu erhalten.
|
||||
Ersetzt man \mintinline{latex}{itemize} durch \mintinline{latex}{enumerate}, erhält man bei sonst gleichem Quelltext eine geordnete Liste.
|
||||
Für etwas weniger gebräuchliche Definitionslisten muss die Umgebung \mintinline{latex}{description} verwendet werden.
|
||||
Außerdem erhalten die Elemente in eckigen Klammern den zu definierenden Begriff.
|
||||
Außerdem erhalten die Elemente in eckigen Klammern den zu definierenden Begriff (\cref{lst:DefinitionList}).
|
||||
|
||||
\Example{lst:DefinitionList}{aufzaehlungen/definition}{aufzaehlungen/definition_crop}{Beispielhafte Definitionsliste}
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ Die verfügbaren Positionskürzel werden in \cref{tbl:positionskuerzel} aufgelis
|
||||
\begin{minted}[tabsize=4]{latex}
|
||||
\begin{figure}[<positionskürzel>]
|
||||
\begin{center}
|
||||
\includegraphics{<dateipfad>}
|
||||
\includegraphics{<dateipfad>}
|
||||
\end{center}
|
||||
\end{figure}
|
||||
\end{minted}
|
||||
|
||||
@ -16,7 +16,7 @@ Eine minimale Präambel sollte die folgenden Festlegungen treffen:
|
||||
definiert die Dokumentklasse.
|
||||
Die verbreitetsten von \LaTeX\ standardmäßig unterstützten Dokumentklassen sind \mintinline{latex}{article} für kurze und \mintinline{latex}{report} für längere Dokumente, \mintinline{latex}{book} für Bücher, \mintinline{latex}{beamer}\footnote{Präsentationen in \LaTeX\ sind ein Thema für sich, auf das wir nicht näher eingehen. Bei Interesse sei diese Einführung von Overleaf empfohlen: \url{https://www.overleaf.com/learn/latex/Beamer}} für Präsentationen sowie \mintinline{latex}{letter}\footnote{Auch auf Briefe wird in diesem Skript nicht weiter eingegangen. WikiBooks gibt eine Einführung: \url{https://en.wikibooks.org/wiki/LaTeX/Letters}} für Briefe.
|
||||
|
||||
Parallel zu den Standard-Dokumentklassen entwickelten sich die \acro{KOMA}-Script-Klassen\footnote{Einen umfassenden Überblick über die Möglichkeiten von \acro{KOMA}-Script gibt folgendes Handbuch: \url{https://komascript.de/~mkohm/scrguide.pdf}}.
|
||||
Parallel zu den Standard-Dokumentklassen entwickelten sich die \acro{KOMA}-Script-Klassen.\footnote{Einen umfassenden Überblick über die Möglichkeiten von \acro{KOMA}-Script gibt folgendes Handbuch: \url{https://komascript.de/~mkohm/scrguide.pdf}}
|
||||
Als Alternative zum \mintinline{latex}{article} steht \mintinline{latex}{scrartcl} bereit, \mintinline{latex}{report} wird durch \mintinline{latex}{scrreport} ersetzt, \mintinline{latex}{scrbook} kann anstelle von \mintinline{latex}{book} verwendet werden und \mintinline{latex}{scrlttr2} ist als Ersatz für \mintinline{latex}{letter} entstanden.
|
||||
Eine vollständige Liste aller möglichen \acro{KOMA}-Script-Dokumentklassen ist online\footnote{Erreichbar unter \url{https://komascript.de/komascriptbestandteile}} verfügbar.
|
||||
Die \acro{KOMA}-Klassen ändern das Layout des fertigen \acro {PDF}-Dokuments und bringen zusätzliche Funktionalitäten mit.
|
||||
@ -99,7 +99,7 @@ Für den Backslash muss der Befehl \mintinline{latex}{\textbackslash} verwendet
|
||||
|
||||
\subsubsection{Abschnitte und Kapitel}
|
||||
Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt.
|
||||
Immer nutzbar sind die in \cref{lst:ueberschriften} dargestellten Befehle.\todo{So gehts natürlich nicht, das zerschießt uns alle Counter …}
|
||||
Immer nutzbar sind die in \cref{lst:ueberschriften} dargestellten Befehle.
|
||||
\Example{lst:ueberschriften}{grundstruktur/ueberschriften}{grundstruktur/ueberschriften_crop}{Überschriftenebenen}
|
||||
Je nach Dokumentklasse sind außerdem \mintinline{latex}{\chapter{Kapitel}} und \mintinline{latex}{\part{Teil}} verfügbar -- beispielsweise in Büchern.
|
||||
Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis\footnote{Vgl. \cref{subsubsec:inhaltsverzeichnis}} weg:
|
||||
@ -125,11 +125,9 @@ Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.
|
||||
|
||||
\subsubsection{Verzeichnisse}\label{subsubsec:inhaltsverzeichnis}
|
||||
|
||||
Aus allen mit den oben genannten Befehlen eingefügten Abschnitten fügt der Befehl \mintinline{latex}{\tableofcontents} ein automatisch nummeriertes Inhaltsverzeichnis zusammen.
|
||||
Aus allen mit den oben genannten Befehlen eingefügten Abschnitten fügt der Befehl \mintinline{latex}{\tableofcontents} ein automatisch nummeriertes Inhaltsverzeichnis zusammen (wie zum Beispiel in \cref{lst:hauptdatei} auf \cpageref{lst:hauptdatei} zu sehen).
|
||||
Die Aufzählungszeichen, die Tiefe der Aufzählung und viele weitere Gestaltungselemente sind frei anpassbar.\footnote{Ein empfehlenswerter Blogpost hierzu ist unter \url{https://texblog.org/2011/09/09/10-ways-to-customize-tocloflot/} verfügbar.}
|
||||
Damit \LaTeX\ das Inhaltsverzeichnis vollständig baut, muss das Projekt zweimal kompiliert werden.
|
||||
|
||||
\todo{Screenshot (auch in \cref{lst:titelei} integrieren?)}
|
||||
|
||||
Neben dem Inhaltsverzeichnis stehen auch eine \mintinline{latex}{\listoffigures} (Abbildungsverzeichnis) und eine \mintinline{latex}{\listoftables} (Tabellenverzeichnis) zur Verfügung.
|
||||
Aufgeführt werden jeweils die Bild- oder Tabellenunterschriften.\footnote{Siehe hierzu \cref{sec:grafiken_einbinden} (Grafiken) und \cref{sec:tabellen} (Tabellen).}
|
||||
|
||||
@ -3,14 +3,14 @@
|
||||
|
||||
Um die ersten Studien- oder Abschlussarbeiten in \LaTeX\ zu setzen, fehlt uns jetzt nur noch eine Möglichkeit, Literatur zu referenzieren.
|
||||
Unsere Literatursammlung liegt in der sogenannten .bib-Datei.
|
||||
Wenn wir aus unserem \LaTeX-Dokument darauf verweisen, kann uns das Programm Bib\TeX{} (ähnlich zum Compiler PDFLaTeX) an der richtigen Stelle die richtigen Zitationen in einem vorher festgelegten Bibliografiestil einfügen.
|
||||
Wenn wir aus unserem \LaTeX-Dokument darauf verweisen, kann uns das Programm Bib\TeX{} (ähnlich zum Compiler \acro{PDF}\LaTeX) an der richtigen Stelle die richtigen Zitationen in einem vorher festgelegten Bibliografiestil einfügen.
|
||||
|
||||
\subsection{Die Bibliografie-Datei}
|
||||
In der .bib-Datei sammeln wir unsere Literatureinträge in einem Format, das durch Bib\TeX{} verarbeitbar ist.
|
||||
Einen beispielhaften Eintrag aus einer .bib-Datei zeigt \cref{lst:bibfile-sample-entry}.
|
||||
|
||||
\begin{figure}[H]
|
||||
\begin{minted}{latex}
|
||||
\begin{minted}[autogobble]{latex}
|
||||
@article{turing1990, % Dokumentenart und Bezeichner für den \cite-Befehl
|
||||
title={The chemical basis of morphogenesis}, % Titel
|
||||
author={Turing, Alan Mathison}, % Autor
|
||||
@ -25,7 +25,7 @@ Einen beispielhaften Eintrag aus einer .bib-Datei zeigt \cref{lst:bibfile-sample
|
||||
\label{lst:bibfile-sample-entry}
|
||||
\end{figure}
|
||||
|
||||
Nach einem @-Zeichen wird die Art des Literaturverzeichniseintrags angegeben (z.\,B. article, book, proceedings).
|
||||
Nach einem \texttt{@}-Zeichen wird die Art des Literaturverzeichniseintrags angegeben (z.\,B. article, book, proceedings).
|
||||
Es folgt eine Auflistung wichtiger Attribute wie Titel, Autor:in und – abhängig vom Eintragstyp – weiterer Felder.
|
||||
Der erste Eintrag nach der öffnenden geschwungenen Klammer ist der wichtigste:
|
||||
Unter diesem Kürzel wird der Eintrag später in \LaTeX{} angesprochen.
|
||||
@ -33,7 +33,7 @@ Diese sogenannten Bib\TeX-Keys müssen eindeutig sein und können frei vergeben
|
||||
Üblich sind Kombinationen aus Autor:innen, Publikationsjahren und Themen.
|
||||
|
||||
Die .bib-Datei kann manuell zusammengetragen werden.
|
||||
Viel häufiger allerdings werden dafür Programme wie JabRef\footnote{Vgl. \url{https://www.jabref.org/}.}, Zotero\footnote{Vgl. \url{https://www.zotero.org/}.} oder das weit verbreitete Citavi\footnote{Vgl. \url{https://www.citavi.com/de}.} verwendet.
|
||||
Viel häufiger allerdings werden dafür Programme wie JabRef,\footnote{Vgl. \url{https://www.jabref.org/}.} Zotero\footnote{Vgl. \url{https://www.zotero.org/}.} oder das weit verbreitete Citavi\footnote{Vgl. \url{https://www.citavi.com/de}.} verwendet.
|
||||
Während JabRef direkt eine .bib-Datei als Datenbank verwendet, lassen sich Zotero- und Citavi-Projekte\footnote{Vgl. \url{https://www1.citavi.com/sub/manual5/de/exporting_to_bibtex.html}.} in .bib-Dateien exportieren.
|
||||
|
||||
.bib-Datei-Einträge werden unter anderem auch von Google Scholar zur Verfügung gestellt (vgl. \cref{fig:google-scholar-bibtex}).
|
||||
@ -70,4 +70,4 @@ Als \mintinline{latex}{<quelle>} einer Zitation wird immer der Bib\TeX-Key angeg
|
||||
Verfügbare Zitierstile\footnote{Eine vollständigere Liste ist bei Overleaf zu finden: \url{https://www.overleaf.com/learn/latex/Biblatex_citation_styles}} sind zum Beispiel alpha, natdin und apa.
|
||||
Das Literaturverzeichnis erscheint immer an der Stelle, an der der Befehl \mintinline{latex}{\bibliography{<.bib-datei>}} aufgerufen wurde.
|
||||
|
||||
\Example{lst:natdin-beispiel}{literaturverwaltung/natdin-example}{literaturverwaltung/natdin-example_bib}{Beispiel für Zitationen im Stil \mintinline{latex}{natdin}.}
|
||||
\Example{lst:natdin-beispiel}{literaturverwaltung/natdin-example}{literaturverwaltung/natdin-example_bib}{Beispiel für Zitationen im Stil \mintinline{latex}{natdin}.}
|
||||
|
||||
@ -4,11 +4,12 @@
|
||||
Mathematische Formeln können nur im sogenannten Mathmode gesetzt werden, der innerhalb einer Zeile (auch als inline bekannt) durch zwei Dollarzeichen aktiviert wird.
|
||||
Außerdem gibt es eine Blockumgebung (vgl. \cref{lst:SampleMathEnvironment}).
|
||||
Wichtige Pakete für mathematische Zeichen sind \mintinline{latex}{amsmath}, \mintinline{latex}{amsthm} und \mintinline{latex}{amssymb} der American Mathematical Society sowie \mintinline{latex}{mathtools}.
|
||||
Wie bei allen Umgebungen kann durch Angabe eines Asterisk (\textasteriskcentered) die Nummerierung der Gleichungen ausgeschaltet werden.
|
||||
Wie bei allen Umgebungen kann durch Angabe eines Asterisks (\textasteriskcentered) die Nummerierung der Gleichungen ausgeschaltet werden.
|
||||
|
||||
\example{lst:SampleMathEnvironment}{mathe/sample-math-environment}{Beispielhafte Matheumgebungen}
|
||||
|
||||
\subsection{Einige Beispiele}
|
||||
Die \cref{tab:MathsCommonCommands,tab:MathsLogicSetsBraces} listen einige häufig in Formeln verwendeten Befehle auf.
|
||||
|
||||
\begin{table}[H]
|
||||
\centering
|
||||
@ -19,7 +20,8 @@ Wie bei allen Umgebungen kann durch Angabe eines Asterisk (\textasteriskcentered
|
||||
\mintinline{latex}{\frac{3}{4}} & $\frac{3}{4}$ \\
|
||||
\mintinline{latex}{e^{\pi}} & $e^{\pi}$ \\
|
||||
\mintinline{latex}{\sum_{i=1}\^{n}x^2} & $\sum_{i=1}^{n}x^2$ \\
|
||||
\mintinline{latex}{12 \leq 4 x^2 + 13} & $12 \leq 4 x^2 + 13$
|
||||
\mintinline{latex}{12 \leq 4 x^2 + 13} & $12 \leq 4 x^2 + 13$ \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\caption{Häufig verwendete Befehle (Wurzel, Bruch, Exponent, Summe, Vergleichszeichen). Durch \mintinline{latex}{^{…}} und \mintinline{latex}{_{…}} werden die Inhalte in den Klammern hoch- oder tiefgestellt.}
|
||||
\label{tab:MathsCommonCommands}
|
||||
@ -47,7 +49,7 @@ Wie bei allen Umgebungen kann durch Angabe eines Asterisk (\textasteriskcentered
|
||||
\subsection{Mitwachsende Klammern}
|
||||
|
||||
Im Zusammenspiel mit Brüchen kommt es vor, dass Klammern mit ihrem Inhalt wachsen sollen.
|
||||
Hierfür müssen die zwei Klammerarten \mintinline{latex}{\(\)} und \mintinline{latex}{\[\]} jeweils nach dem Backslash um die Auszeichnung \mintinline{latex}{left} beziehungsweise \mintinline{latex}{right} ergänzt werden (vgl. \cref{lst:GrowingBrackets}).
|
||||
Hierfür müssen die zwei Klammerarten \mintinline{latex}{\(\)} und \mintinline{latex}{\[\]}\todo{Etwas inkonsistent, überall sonst ohne Backslash. left und right wären dann immer vorangestellte Befehle.} jeweils nach dem Backslash um die Auszeichnung \mintinline{latex}{left} beziehungsweise \mintinline{latex}{right} ergänzt werden (vgl. \cref{lst:GrowingBrackets}).
|
||||
Geschwungenen Klammern (\mintinline{latex}{\lbrace\rbrace}) müssen die Positionsmarker als Befehle vorangestellt werden: \mintinline{latex}{\left\lbrace\right\rbrace}.
|
||||
|
||||
\example{lst:GrowingBrackets}{mathe/growing-brackets}{Beispiel für mitwachsende Klammern}
|
||||
@ -62,8 +64,8 @@ Im Fließtext eignet sich \mintinline{latex}{\limits} nur bedingt.
|
||||
|
||||
\subsection{Ausrichtung mehrerer Gleichungen}
|
||||
|
||||
Die Umgebung \mintinline{latex}{align} erlaubt es, Gleichungen zum Beispiel am \enquote{=} auszurichten (vgl. \cref{lst:AlignExample}).
|
||||
Ausgerichtet wird dabei analog zu Tabellen am \enquote{\&}-Zeichen.
|
||||
Die Umgebung \mintinline{latex}{align} erlaubt es, Gleichungen zum Beispiel am \texttt{=}-Zeichen auszurichten (vgl. \cref{lst:AlignExample}).
|
||||
Ausgerichtet wird dabei analog zu Tabellen am \texttt{\&}-Zeichen.
|
||||
Zeilenumbrüche werden durch zwei Backslashes markiert.
|
||||
|
||||
\Example{lst:AlignExample}{mathe/align-example}{mathe/align-example_crop}{Am Gleichheitszeichen ausgerichtete Gleichungen}
|
||||
@ -74,4 +76,4 @@ Manchmal ist es notwendig, im Zusammenhang mit der Mengenschreibweise Prädikate
|
||||
Im Mathmode wird die Zeichensetzung von \LaTeX nicht auf Fließtext, sondern auf Formeln ausgerichtet, was zu ungünstigen Anordnungen zusammenhängender Buchstabenketten führt.
|
||||
Für diesen Fall gibt es den Befehl \mintinline{latex}{\mathrm{}} (\enquote{math roman}, vgl. \cref{lst:SetBuilderNotation}).
|
||||
|
||||
\example{lst:SetBuilderNotation}{mathe/set-builder-notation}{Probleme in der Mengenschreibweise und ihre Lösung}
|
||||
\example{lst:SetBuilderNotation}{mathe/set-builder-notation}{Probleme in der Mengenschreibweise und ihre Lösung}
|
||||
|
||||
@ -3,17 +3,17 @@
|
||||
In den bisherigen Kapiteln haben wir nur sehr kurze \LaTeX{}-Beispiele gesehen. Natürlich kann \LaTeX{} aber auch verwendet werden, um größere Dokumente und Projekte zu erstellen, wie etwa eine Abschlussarbeit.
|
||||
Um nicht den Überblick im Quellcode zu verlieren und zu vermeiden, dass Quelldateien zu lang werden, ist eine sinnvolle Strukturierung eines größeren \LaTeX{}-Projektes ratsam. Hierfür wird der Quellcode in verschiedene Dateien aufgeteilt, welche in den folgenden Abschnitten näher beleuchtet werden.
|
||||
|
||||
\subsection{Hauptdatei} Typischerweise wird bei größeren Projekten mit einer Hauptdatei gearbeitet, die gerne \enquote{maint.tex} genannt wird. Sie ist sozusagen das Skelett des Projektes und enthält damit dessen Grundgerüst inklusive der Präambel. In dieser Hauptdatei werden Titel, Inhaltsverzeichnis sowie die einzelnen Kapitel einer Arbeit eingebunden (vgl. \cref{lst:hauptdatei}). Die Einbindung der einzelnen Abschnitte kann entweder mittels \mintinline{latex}{\input{...}} oder \mintinline{latex}{\include{...}} erfolgen. Beide verlangen als Argument den Pfad zur Datei, die eingebunden werden soll. Auf die Unterschiede zwischen den beiden Befehlen gehen wir später noch ein.
|
||||
\subsection{Hauptdatei} Typischerweise wird bei größeren Projekten mit einer Hauptdatei gearbeitet, die gerne \texttt{main.tex} genannt wird. Sie ist sozusagen das Skelett des Projektes und enthält damit dessen Grundgerüst inklusive der Präambel. In dieser Hauptdatei werden Titel, Inhaltsverzeichnis sowie die einzelnen Kapitel einer Arbeit eingebunden (vgl. \cref{lst:hauptdatei}). Die Einbindung der einzelnen Abschnitte kann entweder mittels \mintinline{latex}{\input{...}} oder \mintinline{latex}{\include{...}} erfolgen. Beide verlangen als Argument den Pfad zur Datei, die eingebunden werden soll. Auf die Unterschiede zwischen den beiden Befehlen gehen wir später noch ein.
|
||||
|
||||
\example{lst:hauptdatei}{projektstruktur/hauptdatei}{Typische Struktur einer Hauptdatei in \LaTeX{}}
|
||||
|
||||
\subsection{Abschnittsdateien}
|
||||
Abschnittsdateien sind Dateien, die innerhalb der Hauptdatei eingebunden werden. Diese können in einer Abschlussarbeit beispielsweise einzelne Kapitel sein. Grundsätzlich ist man aber ganz frei in der Entscheidung, wie granular die Aufteilung des Inhaltes in einzelne Dateien gestaltet werden soll.
|
||||
Die Dateien, die durch die Hauptdatei eingebunden werden, enthalten keine Präambel, da diese ja schon in der Hauptdatei vorhanden ist. Außerdem sind in den Abschnittsdateien auch die Befehle \mintinline{latex}{\begin{document}} und \mintinline{latex}{\end{document}} nicht notwendig.
|
||||
Die Dateien, die durch die Hauptdatei eingebunden werden, enthalten keine Präambel, da diese ja schon in der Hauptdatei vorhanden ist. \deleted{Außerdem sind in den Abschnittsdateien a}\added{A}uch die Befehle \mintinline{latex}{\begin{document}} und \mintinline{latex}{\end{document}} \replaced{tauchen nicht nochmal auf}{nicht notwendig}.
|
||||
|
||||
\subsection{Input oder Include?}
|
||||
Kommen wir nun zu den Unterschieden zwischen den beiden möglichen Befehlen zum Einbinden von \LaTeX-Dateien. Kurz zusammengefasst weisen \mintinline{latex}{\include} und \mintinline{latex}{\input} Unterschiede in den folgenden drei Aspekten auf: Die Art und Weise, wie der Pfad zur einzubindenden Datei angegeben wird, die Möglichkeit der Schachtelung von Einbindungen und ob für jeden Abschnitt eine neue Seite angefangen wird.
|
||||
|
||||
Benutzt man den Befehl \mintinline{latex}{\input}, kann die Dateiendung \enquote{.tex} angegeben werden, sie ist aber nicht zwingend notwendig. Außerdem kann man die Einbindung von Dateien schachteln, das heißt, eine Datei, die mit \mintinline{latex}{\input} eingebunden wurde, kann wiederum mit dem gleichen Befehl eine andere Datei einbinden. Die Dateien, die eingebunden wurden, werden im fertigen Dokument eingefügt, ohne dass dabei eine neue Seite für den eingebundenen Abschnitt angefangen wird (vgl. \cref{lst:hauptdatei}).
|
||||
Benutzt man den Befehl \mintinline{latex}{\input}, kann die Dateiendung \texttt{.tex} angegeben werden, sie ist aber nicht zwingend notwendig. Außerdem kann man die Einbindung von Dateien schachteln\deleted{, das heißt, e}\added{: E}ine Datei, die mit \mintinline{latex}{\input} eingebunden wurde, kann wiederum mit dem gleichen Befehl eine andere Datei einbinden. Die Dateien, die eingebunden wurden, werden im fertigen Dokument eingefügt, ohne dass dabei eine neue Seite für den eingebundenen Abschnitt angefangen wird (vgl. \cref{lst:hauptdatei}).
|
||||
|
||||
Anders verhält sich der Befehl \mintinline{latex}{\include}: Hier wird die Dateiendung \enquote{.tex} für die eingebundenen Kapitel \emph{nicht} mit angegeben. Die Schachtelung von Einbindungen ist nicht möglich. Für jede eingebundene Datei wird außerdem eine neue Seite erzeugt. Der \mintinline{latex}{\include}-Befehl bietet aber einen Vorteil für größere Projekte: Man kann mit dem Befehl \mintinline{latex}{\includeonly{file1,file2,...}} direkt mehrere Dateien in der Präambel einbinden, allerdings muss hier vorher das gesamte Projekt mindestens einmal kompiliert worden sein.
|
||||
Anders verhält sich der Befehl \mintinline{latex}{\include}: Hier wird die Dateiendung \texttt{.tex} für die eingebundenen Kapitel \emph{nicht} mit angegeben. Die Schachtelung von Einbindungen ist nicht möglich. Für jede eingebundene Datei wird außerdem eine neue Seite erzeugt. Der \mintinline{latex}{\include}-Befehl bietet aber einen Vorteil für größere Projekte: Man kann mit dem Befehl \mintinline{latex}{\includeonly{file1,file2,...}} direkt mehrere Dateien in der Präambel einbinden, allerdings muss hier vorher das gesamte Projekt mindestens einmal kompiliert worden sein.
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
\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.
|
||||
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 zu handhaben ist.
|
||||
|
||||
\subsection{Installation}
|
||||
\todo{Python- und Pip-Installation unter allen OS testen}
|
||||
Zur Verwendung von \mintinline{latex}{minted} 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.}.
|
||||
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} \mintinline{bash}{python3 --version} eingeben und mit Enter bestätigen können und in etwa folgendes Ergebnis erhalten:
|
||||
|
||||
@ -16,7 +16,7 @@ $ python3 --version
|
||||
Python 3.8.5
|
||||
\end{minted}
|
||||
|
||||
Sollte die Versionsnummer höher sein, ist alles bestens.
|
||||
\noindent 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.
|
||||
Nach Abschluss dieses Vorgangs könnt ihr das \LaTeX-Paket \mintinline{latex}{minted} über \mintinline{latex}{\usepackage{minted}} einbinden.
|
||||
|
||||
@ -28,10 +28,10 @@ Normalerweise ruft euer Editor beim Klick auf den grünen Pfeil etwa den folgend
|
||||
$ 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.
|
||||
\noindent 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}).
|
||||
Außerdem sind üblicherweise noch zwei zusätzliche Angaben enthalten, jeweils mit einem Minus\todo{nicht zwei? Für Windows weiß ich es nicht, aber POSIX besteht da glaub ich auf zwei} 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}):
|
||||
@ -40,7 +40,7 @@ Platziert die Angabe \mintinline{bash}{--shell-escape} vor der Datei-Angabe (\mi
|
||||
pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
|
||||
\end{minted}
|
||||
|
||||
Nach Klick auf \enquote{Okay} ist der Einrichtungsschritt abgeschlossen.
|
||||
\noindent 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.
|
||||
|
||||
@ -61,7 +61,7 @@ Hierzu müssen nur die verwendete Programmiersprache und der Dateipfad an den Be
|
||||
\subsection{Minted konfigurieren}
|
||||
|
||||
Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden.
|
||||
Außerdem sind zahlreiche Themes verfügbar.
|
||||
Außerdem sind zahlreiche Themes verfügbar (\cref{lst:MintedExternalStyled}).
|
||||
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}
|
||||
|
||||
@ -6,7 +6,7 @@ Anschließend erscheint an der Stelle des Befehlsaufrufs die fortlaufende Nummer
|
||||
|
||||
\Example{lst:fooboar-lernt-latex}{referenzen/ref}{referenzen/ref_crop}{Beispiel für eine Referenzierung}
|
||||
|
||||
Noch smarter ist das Paket \mintinline{latex}{cleveref}\footnote{mit einem \enquote{r}!}.
|
||||
Noch smarter ist das Paket \mintinline{latex}{cleveref}.\footnote{mit nur einem \enquote{r}!}
|
||||
Es bringt den Befehl \mintinline{latex}{\cref{label}} mit, dem auch -- durch Kommata getrennt -- mehrere Labels übergeben werden können.
|
||||
Daraus entstehen dann automatisiert Angaben wie \enquote{Abschnitte 1 bis 3 und 5}.\footnote{für den Quelltext \mintinline{latex}{\cref{sec:section1,sec:section2,
|
||||
sec:section3,sec:section5}}}
|
||||
@ -36,7 +36,7 @@ Bei der Verwendung von \mintinline{latex}{\cref{label}} ist zu beachten, dass di
|
||||
\documentclass[ngerman]{article}
|
||||
\end{minted}
|
||||
|
||||
Von Abschnitten abgesehen, müssen Beschriftungen\footnote{\mintinline{latex}{\caption{…}}} außerdem \emph{immer vergeben und vor dem Label platziert} werden, damit sie anschließend referenziert werden können.
|
||||
\noindent Von Abschnitten abgesehen, müssen Beschriftungen\footnote{\mintinline{latex}{\caption{…}}} außerdem \emph{immer vergeben und vor dem Label platziert} werden, damit sie anschließend referenziert werden können.
|
||||
Bei Abschnitten wird das Label direkt hinter dem Befehl angefügt:
|
||||
|
||||
\begin{minted}{latex}
|
||||
|
||||
@ -39,10 +39,29 @@ Die Größe der Schrift im Fließtext könnt ihr mit einer Option der Dokumenten
|
||||
\begin{minted}{latex}
|
||||
\documentclass[9pt]{article}
|
||||
\end{minted}
|
||||
Darauf aufbauend erzeugt \LaTeX{} verschiedene Schriftgrade, die jeweils durch einen gleichnamigen Befehl gesetzt werden können:
|
||||
\todo{Wird hier ausreichend klar, wie die Befehle zu verwenden wären? Vielleicht ein Beispiel ergänzen.}
|
||||
\tiny tiny \footnotesize footnotesize \small small \normalsize normalsize \large large \Large Large \LARGE LARGE \huge huge \Huge Huge \normalsize \\
|
||||
Darauf aufbauend erzeugt \LaTeX{} verschiedene Schriftgrade, die durch die Befehle in \cref{tbl:schriftgrade} gesetzt werden können.
|
||||
Beschränkt so etwas aber besser auf Titelseiten und ähnliches.
|
||||
Für den Rest könnt ihr auf die Standardeinstellungen vertrauen und euch dieses visuelle Durcheinander sparen.
|
||||
Für den Rest könnt ihr auf die Standardeinstellungen vertrauen und euch das visuelle Durcheinander sparen.
|
||||
|
||||
\begin{table}[H]
|
||||
\center
|
||||
\begin{tabular}{ll}
|
||||
\toprule
|
||||
Befehl & Darstellung \\
|
||||
\midrule
|
||||
\mintinline{latex}{{\tiny winzig}} & {\tiny winzig} \\
|
||||
\mintinline{latex}{{\footnotesize Fußnotengröße}} & {\footnotesize Fußnotengröße} \\
|
||||
\mintinline{latex}{{\small klein}} & {\small klein} \\
|
||||
\mintinline{latex}{{\normalsize normal}} & {\normalsize normal} \\
|
||||
\mintinline{latex}{{\large groß}} & {\large groß} \\
|
||||
\mintinline{latex}{{\Large größer}} & {\Large größer} \\
|
||||
\mintinline{latex}{{\LARGE am größten}} & {\LARGE am größten} \\
|
||||
\mintinline{latex}{{\huge am allergrößten}} & {\huge am allergrößten} \\
|
||||
\mintinline{latex}{{\Huge Größenwahn}} & {\Huge Größenwahn} \\
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\caption{Befehle zur optischen Textauszeichnung}
|
||||
\label{tbl:schriftgrade}
|
||||
\end{table}
|
||||
|
||||
|
||||
|
||||
@ -18,11 +18,13 @@ Die aktuelle Version \LaTeXe{} gibt es seit Mitte der 90er.
|
||||
Wozu erzählen wir euch das?
|
||||
Weil es einige der Vorteile begründet, die \LaTeX{} heute noch auszeichnen:
|
||||
Es ist ein ausgereiftes, stabiles, verlässliches System,
|
||||
das weitgehend automatisch typografisch hochwertigen Textsatz\todo{Was das ist, darf ich ja nicht schreiben :P} produziert.
|
||||
das weitgehend automatisch typografisch hochwertigen Textsatz.
|
||||
|
||||
Da der \TeX-Code in Plaintext-Dateien abgelegt wird (siehe \cref{sec:wie_funktioniert_latex_}), ergeben sich weitere Vorteile:
|
||||
Ihr könnt eure Projekte übersichtlich strukturieren (\cref{sec:projektstruktur}), bekommt zuverlässige Undo-Funktionalität (der gleiche Quelltext führt immer zum gleichen Ergebnis) und einfache Versionierungsmöglichkeiten (zum Beispiel mit Git)$ $ $ $.
|
||||
Außerdem bleibt euer Quelltext zuverlässig lesbar, ohne dass ihr bestimmte Programme dafür benötigt.
|
||||
Ihr könnt eure Projekte übersichtlich strukturieren (\cref{sec:projektstruktur}),
|
||||
und wann immer ihr Änderungen im Quelltext rückgängig macht, könnt ihr euch darauf verlassen, wieder die gleiche Ausgabe wie vorher zu erhalten.
|
||||
Das klappt in größerem Maßstab natürlich auch in Verbindung mit Git oder anderen Quelltextversionierungstools.
|
||||
Außerdem bleibt euer Quelltext langfristig zuverlässig lesbar, ohne dass ihr bestimmte Programme dafür benötigt.
|
||||
Gleichzeitig ist der Austausch mit allen Programmen, die Plaintext unterstützen, sehr einfach.
|
||||
|
||||
% Quellen:
|
||||
|
||||
@ -8,7 +8,7 @@ Diese Art der Formatierung wird \emph{What you see is what you get} genannt (kur
|
||||
Eine Formatierung in Word (und zahlreichen alternativen Office-Programmen wie Libre Office) führt zu unmittelbarer optischer Rückmeldung, wie das finale Dokument aussehen wird.
|
||||
Inhalt und Struktur sind eng miteinander verbunden.
|
||||
|
||||
\LaTeX{} arbeitet hingegen nach dem Prinzip \emph{What you see is what you mean} (kurz: \acro{WYSIWYM}).
|
||||
\LaTeX{} arbeitet hingegen nach dem Prinzip \emph{What you \replaced{get}{see} is what you mean} (kurz: \acro{WY\replaced{G}{S}IWYM}).
|
||||
Inhalt und Struktur sind stärker getrennt.
|
||||
Der Inhalt wird in einem Dokument in einfacher Textform platziert, zusammen mit bestimmten Befehlen (kombiniert: der Quelltext).
|
||||
Bei Erstellung des Ausgabedokuments (ebenfalls ein \acro{PDF}-Dokument) werden die Befehle von einem Programm namens Compiler verarbeitet.
|
||||
@ -22,7 +22,7 @@ Wir markieren Textelemente auf der semantischen Ebene (\enquote{Dieser Text soll
|
||||
Das Prinzip ist ähnlich zu Formatvorlagen in Office-Programmen, wenn auch konsequenter und mächtiger.
|
||||
Basierend auf dem Text, den Befehlen und den Standard-Einstellungen des Compilers entsteht so das finale Dokument.
|
||||
|
||||
\subsection{Was brauchen wir dazu?\todo{Erweitern + vllt. Latex-Distribs. erwähnen?}}
|
||||
\subsection{Was brauchen wir dazu?}
|
||||
\label{sub:was_brauchen_wir_dazu}
|
||||
Um den Quelltext zu erstellen, auf dessen Basis der Compiler ein Dokument erstellen soll, wird ein Bearbeitungsprogramm benötigt.
|
||||
Grundsätzlich ist ein einfaches Textbearbeitungsprogramm wie der Editor unter Windows oder auch Notepad++\footnote{Verfügbar unter \url{https://notepad-plus-plus.org/}.} ausreichend.
|
||||
@ -31,9 +31,9 @@ Falls ihr aus einem anderen Kontext bereits Visual Studio Code oder Atom kennt,
|
||||
\todo{Wollten wir nicht weg von TeXstudio?}
|
||||
\todo{Eigennamen kennzeichnen}
|
||||
|
||||
Für die Kompilierung des Quelltext wird ein Compiler benötigt.
|
||||
\replaced{Zum Kompilieren des Quelltexts}{Für die Kompilierung des Quelltext} wird ein Compiler benötigt.
|
||||
Der Compiler ist meist Teil einer Sammlung von Programmen und Paketen, die zusammen eine \LaTeX-Distribution bilden.
|
||||
Die Distributionen enthalten verschiedene andere Hilfsprogramme, auf die wir für den Moment nicht näher eingehen\footnote{Eines dieser Hilfsprogramme kommt später im Kapitel \ref{sec:literatur} zum Einsatz, wenn wir Literatur referenzieren.}.
|
||||
Die Distributionen enthalten verschiedene andere Hilfsprogramme, auf die wir für den Moment nicht näher eingehen.\footnote{Eines dieser Hilfsprogramme kommt später im Kapitel \ref{sec:literatur} zum Einsatz, wenn wir Literatur referenzieren.}
|
||||
Die ebenfalls enthaltenen Pakete\footnote{Die ganz Eiligen finden in \cref{subsub:pakete} mehr Informationen.} stellen verschiedene Befehle zur Verfügung.
|
||||
Manche Distributionen gibt es als normale und als vollständige Variante zum Download.
|
||||
Die vollständige Variante enthält alle Pakete (und ist entsprechend wesentlich größer), während in der normalen Version Pakete erst dann heruntergeladen werden, wenn sie benötigt werden.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -30,6 +30,7 @@
|
||||
|
||||
% ToDos
|
||||
\usepackage{todonotes}
|
||||
\usepackage{changes}
|
||||
|
||||
% Sourcecode listings
|
||||
\usepackage{minted}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user