|
||
---|---|---|
.. | ||
bibs | ||
einstell | ||
figs | ||
glossar | ||
texs | ||
variables | ||
Index.ist | ||
README.md | ||
diplomarbeit.pdf | ||
diplomarbeit.tex |
README.md
Vorlage zum Erstellen einer wissenschaftlichen Arbeit mit LaTeX

- Vorlage zum Erstellen einer wissenschaftlichen Arbeit mit LaTeX
❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️
❗️
❗️
❗️ ACHTUNG! Das Template ist umgezogen!
❗️ Die aktuelle Version wird ebenfalls bei Codeberg verwaltet.
❗️ 👉 https://codeberg.org/sst/latex-templates
❗️
❗️ Der Umzug erfolgte im Rahmen der Website Neustrukturierung und Umbenennung.
❗️
❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️❗️
Anleitungen, Beispiele und Hilfe
Eine ausführliche Beschreibung mit umfangreichen Beispielen findest du in der Datei ➡️ diplomarbeit.tex.
Vorlage - Ordnerstruktur
Die Vorlage verwendet die folgende Ordnerstruktur:
bibs/
- Literaturverzeichniseinstell/
- Einstellungsdatei, hier werden Pakete und die Einstellungen vorgenommenfigs/
- enthält alle Bilderglossar/
- Glossar und Abkürzungsverzeichnistex/
- Unter-Dokumente, Kapitel, Abschnitte, etc.variables/
- Variablen-Datei
Vorlage - Dateien
diplomarbeit.tex
- Hauptdatei, in der sämtliche Dateien mit dem\include{}
-Befehl eingebunden werden.Index.ist
- Definition des Index-Layouts
Weitere hilfreiche Informationen zu LaTeX:
LaTeX installieren
LaTeX gibt es für alle gängigen Betriebssysteme.
LaTeX in the (virtual) Box
Die gesamte LaTeX-Umgebung lässt sich sehr einfach in einer virtuellen Box installieren und auf einem externen Speichermedium (nur mit USB-3.0, wegen der Geschwindigkeit) abspeichern.
Dadurch lässt sich Platz auf der Festplatte des eigenen Clients einsparen.
Besonders gut eignet hierfür sich eine Linux-Distribution, wie z.B. Ubuntu oder Kubuntu.
Die LaTeX-Umgebung wird dadurch portabel und lässt sich auf anderen Clients mit unterschiedlichen Betriebssystemen starten.
Es ist nicht unbedingt notwendig, dass in der virtuellen Umgebung gearbeitet wird. Dateien lassen sich über die Funktion "Gemeinsamer Ordner" teilen.
Die LaTeX-Konvertierungsläufe können vom Client mit SSH gestartet und gesteuert werden.
Anleitungen zum Installieren und Konfigurieren einer virtuellen Box:
- 🔗 Ubuntu virtualisieren mit Oracle VirtualBox
- 🔗 Virtuelle Box mit LaTeX-Editor Kile für wissenschaftliche Arbeit vorbereiten
- 🔗 Literaturverzeichnis aus Calibre für eine wissenschaftliche Arbeit erstellen
Linux - LaTeX installieren
Linux-Distributionen bringen meistens in den Repositorys schon eine recht umfangreiche LaTeX-Umgebung mit, die das manuelle Nachinstallieren von Paketen auf ein Minimum reduziert.
Beispiel (K)Ubuntu:
sudo apt install texlive-full
Der Editor Kile, wie auch die anderen Apps, lassen sich ebenfalls aus den Repositorys installieren.
sudo apt install kile kbibtex calibre
Linux - Apps
App | Beschreibung | Link |
---|---|---|
Kile | LaTeX Editor | https://kile.sourceforge.io/ |
Okular | PDF-Viewer | https://okular.kde.org/de/ |
Calibre | Literaturverwaltung | https://calibre-ebook.com/ |
KBibTeX | Literaturverwaltung | https://userbase.kde.org/KBibTeX |
macOS - LaTeX installieren
Die Installation einer LaTeX-Umgebung unter macOS wird in diesem Artikel ausführlich beschreiben:
macOS - Apps
App | Beschreibung | Link | Homebrew |
---|---|---|---|
TeXShop | LaTeX-Editor | https://pages.uoregon.edu/koch/texshop/ | brew install --cask texshop |
Visual Studio Code | Quelltext-Editor | https://code.visualstudio.com/ | brew install --cask visual-studio-code |
BibDesk | Literaturverwaltung | https://bibdesk.sourceforge.io/ | brew install --cask bibdesk |
Calibre | Literaturverwaltung | https://calibre-ebook.com/ | brew install --cask calibre |
Tex Live Utility | LaTeX-Paketverwaltung | https://amaxwell.github.io/tlutility/ | brew install --cask tex-live-utility |
Die Homebrew formulae können auf der offiziellen Website nachgeschlagen werden 🔗 https://brew.sh/index_de
Erweiterungen für Visual Studio Code:
- LTeX – LanguageTool grammar/spell checking (https://marketplace.visualstudio.com/items?itemName=valentjn.vscode-ltex)
- LaTeX Workshop (https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
Windows - LaTeX und Pakete installieren
MiKTeX ist eine TeX-Distribution für Windows und lässt sich sehr einfach installieren.
Windows - Apps
App | Beschreibung | Link |
---|---|---|
Visual Studio Code | Quelltext-Editor | https://code.visualstudio.com/ |
Calibre | Literaturverwaltung | https://calibre-ebook.com/ |
JabRef | Literaturverwaltung | https://www.jabref.org/ |
Adobe Reader | PDF-Viewer | https://www.adobe.com |
Okular | PDF-Viewer | https://okular.kde.org/download/ |
Erweiterungen für Visual Studio Code:
- LTeX – LanguageTool grammar/spell checking (https://marketplace.visualstudio.com/items?itemName=valentjn.vscode-ltex)
- LaTeX Workshop (https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
Einzelne LaTeX-Pakete nachinstallieren
Linux - Einzelne LaTeX-Pakete nachinstallieren
Linux - Manuelle Nachinstallation
Einzelne Pakete lassen sich manuell nachinstallieren. Das ist notwendig, sollte eine *.sty
-Datei fehlen und trotz der Installation von texlive-full
nicht auf dem System vorhanden sein.
Download der LaTeX-Pakete von
🔗 https://www.ctan.org/
Beispiel für das Paket picins
:
wget https://mirrors.ctan.org/macros/latex209/contrib/picins.zip
unzip picins.zip
cd picins
sudo cp picins.sty /usr/share/texlive/texmf-dist/tex/latex
sudo texhash
Linux - tmlgr
Für das Nachinstallieren von Paketen kann auch tlmgr
(TeX Live package manager) genutzt werden. Voraussetzung dabei ist jedoch, dass das Paket in den offiziellen Paketquellen enthalten ist.
Ist das LeTeX-Paket dort nicht enthalten, muss die manuelle Installation gewählt werden.
sudo tlmgr install biber
macOS - Einzelne LaTeX-Pakete nachinstallieren
macOS - Manuelle Nachinstallation
Die manuelle Installation von LaTeX-Paketen ist bei Linux und macOS sehr ähnlich.
Download von LaTeX-Paketen von
🔗 https://www.ctan.org/
Beispiel für das Paket picins
:
wget https://mirrors.ctan.org/macros/latex209/contrib/picins.zip
unzip picins.zip
cd picins
sudo mkdir /usr/local/texlive/2021basic/texmf-dist/tex/latex/picins
sudo cp picins.sty /usr/local/texlive/2021basic/texmf-dist/tex/latex/picins
sudo texhash
macOS - tmlgr
Für das Nachinstallieren von Paketen kann auch tlmgr
(TeX Live package manager) genutzt werden. Voraussetzung dabei ist jedoch, dass das Paket in den offiziellen Paketquellen enthalten ist.
Ist das LeTeX-Paket dort nicht enthalten, muss die manuelle Installation gewählt werden.
sudo tlmgr install biber
- siehe auch 🔗 https://strobelstefan.de/2021/12/31/latex-auf-einem-macbook-installieren/#pakete-manuell-installieren
Windows - Einzelne LaTeX-Pakete nachinstallieren
Download des Pakets von
🔗 https://ctan.org/
sty
-Datei in das Installationsverzeichnis von MiKTeX kopieren
C:\Users\benutzername\AppData\Local\Programs\MiKTeX\tex\latex\
Texhash in der Eingabeaufforderung oder der PowerShell oder Git Bash eingeben, um das neue Paket einzulesen.
texhash
Das Literaturverzeichnis
Literaturverzeichnis erstellen
Für das Literaturverzeichnis wird biblatex
und biber
verwendet.
sudo apt update && sudo apt dist-upgrade && sudo apt install biber texlive-bibtex-extra
In der Präambel muss das Paket biblatex
mit der Option backend=biber
aufgerufen werden. (siehe Datei einstell.tex
)
\usepackage[backend=biber]{biblatex} % biblatex mit biber laden
\ExecuteBibliographyOptions{sorting=nyt, bibwarn=true, isbn=false, url=false}
\addbibresource{bibs/literatur.bib}
Im Text ist an der Stelle wo das Literaturverzeichnis eingefügt werden soll die folgenden Zeilen einzusetzen. (siehe Datei diplomarbeit.tex
)
...
% --- Literaturverzeichnisses einfügen ---
\printbibliography[heading=bibintoc,title=Literaturverzeichnis]
\clearpage
% ------------------------------------------
...
*.bcf
= biber control file und enthält Anweisungen*.blg
= Logdatei von Biber*.bbl
= Ausgabe von Biber --> Literaturverzeichnis
Der Verweis auf den Eintrag im Literaturverzeichnis wird z.B. im Fließtext mit footfullcite
gesetzt.
(Weitere Möglichkeiten siehe Abschnitt "Das Literaturverzeichnis")
\footfullcite{wiki01}
Das Literaturverzeichnis wird erstellt mit:
pdflatex diplomarbeit.tex
biber diplomarbeit.bcf
pdflatex diplomarbeit.tex
pdflatex diplomarbeit.tex
Zur Verwaltung der Literatur kann z.B. Calibre
verwendet werden. Der Vorteil von Calibre gegenüber Programmen wie KBibTeX, JabRef, etc., ihr könnt darin die PDF-Dateien eurer Literaturverweise abspeichern, einfach verwalten und mit Schlagwörtern und Beschreibungen versehen.
Calibre legt die Dateien sortiert in einer Ordnerstruktur ab, die es euch ermöglicht die Literatur schnell zu finden und zu öffnen.
Zusätzlich kann KBibTeX
, BibDesk
, JabRef
für die Literaturverwaltung genutzt werden. In diesen Programmen werden nur die Metadaten verwaltet, um das Management der Dateien müsst ihr euch selber kümmern.
Es hat sich bewährt, die beiden Programme Calibre
und KBibTeX
, BibDesk
, JabRef
für das Literaturverzeichnis parallel zu verwenden. Es werden also zwei bib
-Dateien in der Hauptdatei diplomarbeit.tex
eingebunden, eine Datei aus jedem Verwaltungsprogramm.
- Calibre = Verwaltung von Dateien, z.B. PDF-Dateien und eBooks, alle Formate mit
@book
- KBibTeX = Verwaltung von Quellen aus dem Internet
@misc
und sämtliche anderen Formate
🔗 Literaturverzeichnis aus Calibre für eine wissenschaftliche Arbeit erstellen
In der Beispieldatei ➡️ "kapitel-literaturverzeichnis-glossar.tex" gibt es einige Beispiele zum Thema.
Der Index
Indexerstellung mit makeindex und Anpassung der Formatierung
In der Präambel des Dokuments müssen zwei Befehle eingetragen werden:
\usepackage{makeidx}
und
\makeindex
An der Stelle im Text, an der das Indexverzeichnis später ausgegeben werden soll, muss ein weiterer Befehl eingetragen werden. In der Vorlage ist das in der Hauptdatei diplomarbeit.tex
.
\printindex
Datei "Index.ist" erstellen
Die Datei Index.ist
kann bei Problemen auch manuell mit einem Editor im Hauptverzeichnis als eigenes Dokuments angelegt werden!
Beispieleintrag von Index.ist
preamble "\\begin{theindex}"
postamble "\n\\end{theindex}\n"
headings_flag 1
heading_prefix "{\\bf "
heading_suffix "}\\nopagebreak%\n \\indexspace\\nopagebreak%"
\page_preference "rRnaA"
item_0 "\n\\item "
item_1 "\n\\subitem "
item_2 "\n\\subsubitem "
delim_0 "\\dotfill "
delim_1 "\\dotfill "
delim_2 "\\dotfill "
delim_r "~--~"
suffix_2p "\\,f."
suffix_3p "\\,ff."
Index erstellen
makeindex [-ciglqr] [-o ind] [-p nr] [-s stil] [-t log] [idx...]
Optionen des makeindex
-Befehls
Befehl | Beschreibung |
---|---|
-c | Komprimierung von Leerzeichen; ignoriert führende und angehängte Leerzeichen sowie Tabulatoren |
-i | Standardeingabe wird verwendet |
-g | deutsche Sortierreihenfolge wird verwendet. Durch die geladenen Pakete in der einstell.tex nicht erforderlich. |
-l | Sortierreihenfolge nach Buchstaben |
-q | stiller Modus |
-r | deaktiviert die Seitenbereichserzeugung |
-o ind | siehe Dokumentation https://ctan.org/search?phrase=index & http://www.moesgen.de/pdf/makeidx |
-p nr | siehe Dokumentation https://ctan.org/search?phrase=index & http://www.moesgen.de/pdf/makeidx |
-s stil | Es wird eine benutzerdefinierte Stildatei verwendet, in diesem Fall unsere Index.ist |
-t log | Logdatei, standardmäßig wird die Dateiendung .ilg verwendet |
Das Paket makeidx
wird benötigt und der allgemeine Aufruf lautet:
\index{<Stichwort>}
\index{<Stichwort>!<Unterstichwort>}
\index{<Stichwort>!<Unterstichwort>!Unterunterstichwort>}
Der Index ist manuell zu erstellen.
makeindex -s Index.ist diplomarbeit.idx
Funktioniert der oben beschriebene Lösungsweg nicht, hilft evtl. dieser Befehl.
makeindex diplomarbeit.idx
makeindex -g -s Index.ist diplomarbeit.idx
🔗 Indexerstellung mit Makeindex und Anpassung der Formatierung
In der Beispieldatei ➡️ "kapitel-literaturverzeichnis-glossar.tex" gibt es einige Beispiele zum Thema.
Der Glossar
Glossar erstellen
In der Präambel ist der Abschnitt einzufügen.
%\usepackage{glossaries-extra}
\usepackage[
nonumberlist, % keine Seitenzahlen anzeigen
acronym, % ein Abkürzungsverzeichnis erstellen
toc, % Einträge im Inhaltsverzeichnis
section] % im Inhaltsverzeichnis auf section-Ebene erscheinen
{glossaries} % zum Erzeugen eines Glossars
\makeglossaries
Glossar in Dokument einfügen
Bindet die Glossardatei aus dem Verzeichnis glossar/glossar
ein und schreibt es an der richtigen Stelle ins Dokument.
Die Zeile wird in das Hauptdokument diplomarbeit.tex
eingefügt.
In der Datei ➡️ "dimploarbeit.tex" wird das aufgezeigt, wie der Glossar eingefügt wird.
Abkürzungsverzeichnis
In der Präambel muss für das Paket glossaries
die Option acronym
mitgegeben werden, um das Abkürzungsverzeichnis zu erstellen.
An beliebiger Stelle im Dokument diplomarbeit.tex
einfügen:
\begin{document}
...
% Abkürzungsverzeichnis
\printglossary[type=acronym,title=Abkürzungsverzeichnis,toctitle=Abkürzungsverzeichnis]
\clearpage
...
\end{document}
Der Verweis im Fließtext auf den Eintrag im Abkürzungsverzeichnis wird gesetzt durch:
\gls{Code}
In der Datei ➡️ "dimploarbeit.tex" wird das aufgezeigt, wie das Abkürzungsverzeichnis eingefügt wird.
Glossar und Abkürzungsverzeichnis erstellen
Der Glossar und das Abkürzungsverzeichnis werden erstellt mit den folgenden Befehlen:
pdflatex diplomarbeit.tex
makeglossaries diplomarbeit
pdflatex diplomarbeit.tex
pdflatex diplomarbeit.tex
Git Infos im LaTeX-Dokument verwenden
Da es durchaus sinnvoll ist bei der Erstellung von (großen) und wichtigen Dokumenten eine Versionsverwaltung, wie z.B. Git, zu verwenden, können diese Informationen auch auf das PDF-Dokument gedruckt werden.
Das ermöglicht eine zuverlässigen Audit Trail und jede Änderung lässt sich einfach nachvollziehen
Bei den hier vorgestellten Lösungen ist zu beachten, dass der .git
-Ordner im gleichen Verzeichnis wie die LaTeX-Datei diplomarbeit.tex
liegt.
Für dieses LaTeX-Dokument können die Git-Informationen über diesen Weg nicht ausgelesen werden, da .git
Ordner oberhalb in latex-templates
zu finden ist.
Fehlerhafte Ordnerstruktur in diesem Repo:
| .git
|
|latex-templates/template-for-your-thesis
|
| latex-templates/letter-simple
|
| latex-templates/letter-serial
Korrekte Anordnung der Ordner:
|.git
|bibs/
|einstell/
|figs/
|glossar/
|texs/
|variables/
|diplomarbeit.tex
|...
Option 1: Ohne zusätzliche Pakete
Option 1: einstell.tex
In die Datei einstell.tex
wurde der Abschnitt eingefügt. Dadurch werden ein paar neue Befehle erstellt und die Informationen aus den Dateien im Order .git
abgerufen.

Es werden die Git-Informationen abgerufen:
- Branch
- Tags
- Commit Message
- Commit ID
\usepackage{ifthen}
% --- Git Information
% Inspired by
% https://tex.stackexchange.com/questions/455396/how-to-include-the-current-git-commit-id-and-branch-in-my-document
\newcommand{\dotGitHEAD}{}
\newcommand{\branch}{}
\newcommand{\commit}{}
\newcommand{\commitmessage}{}
\makeatletter\let\myfilehandle\@inputcheck\makeatother
\openin\myfilehandle=.git/HEAD\relax
\begingroup\endlinechar-1
\global\read\myfilehandle to \dotGitHEAD
\endgroup
\closein\myfilehandle
\newcommand\GetBranch{}
\def\GetBranch ref: refs/heads/#1\relax{\renewcommand{\branch}{#1}}
\expandafter\GetBranch\dotGitHEAD\relax
\openin\myfilehandle=.git/refs/heads/\branch\relax
\begingroup\endlinechar-1
\global\read\myfilehandle to \commit
\endgroup
\closein\myfilehandle
%Commit Message
\openin\myfilehandle=.git/COMMIT_EDITMSG
\begingroup\endlinechar-1
\global\read\myfilehandle to \commitmessage
\endgroup
\closein\myfilehandle
% ------------------
Option 1: titel.tex
In der Datei titel.tex
werden die Variablen eingefügt, um die Git-Informationen dort anzuzeigen.
Es wird eine ifthenelse
-Prüfung durchgeführt:
Wenn Git-Branch = main
dann drucke "FINALE VERSION"
sonst drucke "DRAFT"
...
% Fusstext
{\bf GIT INFORMATION} \\[5mm]
{Branch: \branch \: - \: Version: \tags \: - \: Commit Message ID: \commitmessage \: - \: Commit ID: \commit} \\[5mm]
{\ifthenelse{\equal{\mainbranch}{\branch}}%
{\LARGE{FINAL VERSION}}%
{\LARGE{DRAFT}}} \\[5mm]
\orterstellung, den \tagerstellung. \monaterstellung \ \jahrerstellung
...
Option 1: variables.tex
Die Variable \mainbranch
für die ifthenelse
-Prüfung kommt aus der Datei variables/variables.tex
.
Im Standard wird der Name main
verwendet. Wenn du einen anderen Namen verwendest, musst du das dort ändern.
\newcommand{\mainbranch}{main}
Option 2: Mit dem Paket gitinfo2
Das Paket gitinfo2
stellt eine Vielzahl an Optionen zur Verfügung, um Git-Informationen in das eigene Dokument zu überführen.
Bevor es aber losgeht, sind nach der Installation des Pakets noch ein paar Skripte im Ordner .git/hooks
anzulegen.
Die hooks
-Skripte erstellen eine neue Datei .git/gitHeadInfo.gin
und aktualisieren bei einem neuen commit, checkout, merge
automatisch die Metadaten.
Auf diese Datei greift dann das Paket gitinfo2
zu, um die Daten abzurufen und in das LaTeX-Dokument zu überführen.
Eine Vorlage (post-xxx-sample.txt
) für die Skript-Datei ist im Ordner von gitinfo2
zu finden, oder es kann von der ctan-Website heruntergeladen werden.
Die Datei post-xxx-sample.txt
ist dreimal zu kopieren und umzubenennen in
post-checkout
post-commit
post-merge
und gesammelt in das Verzeichnis .git/hook
zu kopieren.
Die Rechte für die drei Skripte ist so anzupassen, dass sie auf -rwxr-x-r-x
gestellt sind.
chmod +x post-checkout post-commit post-merge
Damit die Datei .git/gitHeadInfo.gin
befüllt wird, kannst du z.B einfach einen Wechsel in deinen Hauptbranch durchführen
git checkout main
Danach können die Befehle von gitinfo2
genutzt werden und die entsprechenden Abschnitte in den Dateien ergänzt werden.
ACHTUNG!
Ich verwende eine Kombination aus beiden Optionen.
Die Abschnitte in den Dateien sind kommentiert.
- diplomarbeit.tex
- einstell/einstell.tex
- tex/titel.tex
- variables/variablen.tex
Alle LaTeX-Befehle auf einen Blick
Mit den folgenden Befehlen werden Literaturverzeichnis, Index und Glossar erstellt und alles fertig konvertiert und die fertige Datei diplomarbeit.pdf
erstellt.
pdflatex diplomarbeit.tex
biber diplomarbeit.bcf
makeindex -s Index.ist diplomarbeit.idx
# Symbolverzeichnis erstellen
makeindex diplomarbeit.nlo -s nomencl.ist -o diplomarbeit.nls
makeglossaries diplomarbeit
pdflatex diplomarbeit.tex
pdflatex diplomarbeit.tex
Sollen mehrere Indizes mit dem Paket splitidx
erzeugt werden, dann ist der Konvertierungslauf für den Index anstatt mit makeindex
mit splitindex
aufzurufen.
pdflatex diplomarbeit.tex
biber diplomarbeit.bcf
splitindex -- diplomarbeit -s Index.ist
# Symbolverzeichnis erstellen
makeindex diplomarbeit.nlo -s nomencl.ist -o diplomarbeit.nls
makeglossaries diplomarbeit
pdflatex diplomarbeit.tex
pdflatex diplomarbeit.tex
Follow Me
🐘 Mastodon •
Kaffeespende
Du findest meine Vorlage hilfreich, dann kannst du mir gerne einen Kaffee ausgeben. ☕
PayPal 😊
Liberapay 😎
Bitcoin bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj 😄
You like the template, then feel free to buy me a coffee. ☕