Inoffizielles LaTeX-Template für Projektarbeiten für Technik-Studiengänge an der Dualen Hochschule Gera Eisenach
- Installation
- Latex Tipps
- Zitate und Literaturverzeichnis
- Abbildungen
- Abkürzungen
- Anlagenverzeichnis
- Code mit Minted einfügen
- Spezielle Abschnitte
- Unicode Alphabete
- Kusche Mode
- Abstract
- Absatztrenner
Eine Installation von MikTeX über proTeXt wird empfohlen. Als Editor bieten sich beispielsweise Visual Studio Code in Kombination mit der latex-workshop Extension oder alternativ TeXstudio an.
Bei einer bereits bestehenden Installation sollten die installierten Packages auf Updates überprüft werden. Andererseits kann es zu Problemen beim Bauen kommen.
Möchte man Dokumente mit latextmk
bauen, was wir im Abschnitt Setup empfehlen, wird eine funktionierende Perl-Installation benötigt.
Nutzer von macOS und Linux haben meistens schon ein vorinstalliertes Perl.
Überprüfung einer Installation
Wenn man herausfinden möchte, ob man bereits ein funktionierendes Perl hat oder die unten genannte Installation erfolgreich verlief, kann man in einer Kommandozeile (Terminal) seiner Wahl perl -v
ausführen.
Ist Perl korrekt installiert, wird die Version ausgegeben:
Ist die Perl-Installation nicht vorhanden oder dem Terminal unbekannt, wird stattdessen folgendes ausgegeben:
Installation unter Windows
Für Windows Nutzer empfiehlt sich Strawberry Perl, was hier erhältlich ist.
Das Repository downloaden, clonen, oder die Template Funktion nutzen, um ein eigenes Repository zu erstellen.
Das Projekt sollte sich nun bauen lassen.
Wir empfehlen den latexmk
Befehl zum Kompilieren des Projekts.
Während die Visual Studio Code Erweiterung "LaTeX Workshop" standardmäßig latexmk
verwendet, ist bei TeXstudio eine Anpassung der Einstellungen erforderlich, siehe hier
Wir empfehlen für die Arbeit in Visual Studio Code ausgewählte Erweiterungen, die sowohl für das Schreiben mit LaTeX, als auch für das Studium an der DHGE hilfreich sind.
Um sie zu prüfen und ggf. zu installieren, kann in dem Erweiterungsmenü nach @recommended
gesucht werden:
- Die TeXstudio-Einstellungen öffnen: Im Menüband
Optionen
, dannTeXstudio konfigurieren...
anklicken - Im Abschnitt
Befehle
sichergehen, dass der Latexmk-Eintrag befüllt ist, z.B. mit:latexmk.exe -pdf -silent -synctex=1 %
- Im Abschnitt
Erzeugen
den StandardcompilerLatexmk
in der Drop-down Liste auswählen
Die Erweiterung "LaTeX Workshop" für Visual Studio Code bietet eine Vielzahl von Einstellungsmöglichkeiten und kann auf die individuellen Bedürfnisse angepasst werden. z.B. kann ein externer PDF-Betrachter oder ein automatisches Build-Intervall eingerichtet werden. Die Einstellungen für die Erweiterung findet man am Ende der Einstellungen von Visual Studio Code selbst:
- im Menüband
Datei
anklicken - über
Einstellungen
hovern und dortEinstellungen
anklicken. - Am Ende der Liste
Erweiterungen
aufklappen und das KapitelLaTeX
anklicken.
Ein relativ simples LaTeX-Tutorial zum einfachen Einstieg in die Welt von TeX.
ist allerdings durch das Template nicht nötig, nachfolgendes sollte ausreichen
Für einen Einstieg in das wissenschaftliche Schreiben an sich bietet sich ein Artikel von Sebastian Hahner an, der ebenfalls auf LaTeX eingeht: Wissenschaftliches Schreiben Schnelleinstieg
Variablen gibt es in TeX an sich nicht wie in anderen Sprachen.
\def\<variablenName>{<variablenWert>}
Der \def
Befehl definiert ein Command der letztendlich Folgendem entspricht:
\newcommand{\<variablenName>}{<variablenWert>}
Richtig werden diese "Variablen" dann durch \<variablenName>
{}
aufgerufen.
Alternativ ist aber auch möglich, sie durch \<variablenName>
aufzurufen.\
Hier ist zu beachten, dass nach der Variable das Leerzeichen fehlen wird, da dieses als Argument des Befehls aufgenommen wird
Ein Codeblock, welcher bestimmte Abläufe vor und nach dem eigenen Code laufen lässt.
\begin{<environment>}
<codeAndText>
\end{<environment>}
Die Standardfonts sind zwar ganz in Ordnung, aber ich finde, das geht schöner :^)
Für Fließtext wird Palatino, ein für LaTeX optimierter Klon von Palladio Roman L verwendet.
Die vorgestellte Font-Konfiguration basiert auf diesem Stackoverflow Thread, wo auch eine Vorschau betrachtet werden kann. Die Fonts sind standardmäßig im Template aktiv.
Wer diese Fonts nicht verwenden möchte, kann in config.tex
CFANCYFONTS
auf 0
setzen, um den LaTex-Standard wiederherzustellen.
Dafür wird der footcite
Befehl genutzt. Dieser besitzt folgende Syntax:
\footcite[Postnote]{literatur_id}
Beispiel:
\footcite[S. 42]{mapi}
Alternativ kann nun auch der supercite
Befehl verwendet werden:
\supercite[Postnote]{literatur_id}
Beispiel:
\supercite[S. 42]{mapi}
Bei jeder Änderung in literatur.bib
müssen folgende Schritte durchgeführt werden:
- Das Projekt kompilieren (
pdflatex.exe -synctex=1 -interaction=nonstopmode "template".tex
) - Biber ausführen (
biber.exe "template"
) - Das Projekt 2x kompilieren
Werden die oben genannten Schritte nicht durchgeführt, kommt es zu Darstellungsfehlern bei Zitaten und dem Literaturverzeichnis.
Wird als "Autor" eine Firma verwendet, sollten doppelte {}
in der literatur.bib
verwendet werden.
Das bewirkt Wunder.
Mehrere Autoren können mit and
verknüpft werden. Beispielsweise: author={Felix Prillwitz and Oliver Kogel and 谭九鼎}
Wird \footcite
oder \supercite
mit beiden optionalen Parametern aufgerufen, so ist die Syntax wie folgt:
\footcite[Prenote][Postnote]{id}
Beispiel:
\supercite[Vgl.][]{Computerphile.2020}
- Abbildungen werden durch das Template in
assets/img
gefunden.\includegraphics{<imgName>}
entspricht\includegraphics{assets/img/<imgName>}
- anpassbar durch
\graphicspath {{<newImagePath>}}
<newImagePath>
ist aus der sicht vonbuild/
zu sehen\graphicspath {{../assets/img/}}}
\begin{figure}[<options>]
\caption{<captionName>}
\includegraphics[<imgOptions>]{<imgName>}
\label{<labelName>}
\end{figure}
Beispiel:
\begin{figure}[h]
\centering
\caption{testImgName}
\includegraphics[scale=0.75]{imgName}
\label{fig:anlagentest}
\end{figure}
[h]
- entspricht dem Fixieren an der Stelle im Text[scale=0.75]
- skaliert das Bild auf 75% der Originalgrößefig:anlagentest
-fig:
odertab:
ist ein typischer Anfang von Referenzen für entsprechendfigure
odertable
Umgebung
Einsteigern wird dieses Tutorial von Overleaf empfohlen, welches einen Überblick über Bilder und ihre Optionen wie z.B. Positionierung in LaTeX bietet.
\dhgefigure[1]{2}[3]{4}{5}[6][7]
kann mit bis zu sechs Argumenten aufgerufen werden:
- Optional Float Position, standardmäßig
tbp
- Relativer Bild-Pfad mit oder ohne Dateiendung (relativ zum
./assets/img
Ordner, kann intemplate.tex
angepasst werden) \includegraphics
Optionen (weglassen für Standard (Breite = Textbreite))- Bildunterschrift
- Label für die Figure/Grafik
- Optional: ID
- Optional: "Postnote", beispielsweise um Seitenzahlen anzugeben
Beispiel:
% allen Optionen (optionale Optionen können sowohl `[]` als auch `{}` sein (hier `[]`), required müssen `{}` sein)
\dhgefigure[h]{mapi_outgoing_illustration}[scale=0.75]{Absenden einer MAPI Nachricht}{fig:mapi}[mapi][S. 17ff]
% nur notwendige Optionen
\dhgefigure{mapi_outgoing_illustration}{Absenden einer MAPI Nachricht}{fig:mapi}
Der dhgefigure
Befehl wird nun auch als Snippet für Visual-Studio-Code mitgeliefert.
\DeclareAcronym{1}{
short = {2},
long = {3}
}
- ID der Abkürzung, damit wird im Fließtext später referenziert.
- Die Abkürzung selbst
- Der ausgeschriebene Begriff
Beispielweise:
\DeclareAcronym{dhge}{
short = {DHGE},
long = {Duale Hochschule Gera-Eisenach}
}
Im Fließtext wird dann mit
\ac{dhge}
die Abkürzung aufgerufen. Dies sind die Pflicht-Argumente. Es gibt weitere Einstellungsmöglichkeiten bei dem Deklarieren von Abkürzungen, die in der unten stehenden Dokumentation nachgelesen werden können. Eine sinnvolle Auswahl davon:
\DeclareAcronym{1}{
short = {2},
long = {3},
short-plural = {4},
long-plural = {5},
alt = {8}
}
ODER
\DeclareAcronym{1}{
short = {2},
long = {3},
short-plural-form = {6},
long-plural-form = {7},
alt = {8}
}
- ID der Abkürzung, damit wird im Fließtext später referenziert.
- Die Abkürzung selbst
- Der ausgeschriebene Begriff
- Buchstabe oder Silbe, die der Abkürzung im Plural angehangen wird
- Buchstabe oder Silbe, die dem ausgeschriebenen Wort im Plural angehangen wird
- Plural-Form der Abkürzung, ersetzt die Abkürzung komplett
- Plural-Form des Wortes, ersetzt das Wort komplett
- Alternative zum ausgeschriebenen Wort
Die Angaben 4 bis 8 sind optional.
Die Pluralform lässt sich mit
\acp{1}
aufrufen, die Alternativform mit
\aca{1}
Beispiel:
\DeclareAcronym{jpg}{
short = {JPEG},
long = {Joint Photographic Experts Group},
short-plural-form = {JPEGs},
long-plural-form = {Joint Photographic Experts Groups},
alt = {JPG}
}
ODER
\DeclareAcronym{jpg}{
short = {JPEG},
long = {Joint Photographic Experts Group},
short-plural = {s},
long-plural = {s},
alt = {JPG}
}
Aufruf:
\ac{jpg} % Normale Form
\acp{jpg} % Plural-Form
\aca{jpg} % Alternativ-Form
Das Abkürzungsverzeichnis wird dann automatisch erstellt. Dabei ist zu beachten, dass unter Umständen bis zu vier Kompilierungen notwendig sind, wenn eine Abkürzung hinzugefügt oder entfernt wurde, damit das Verzeichnis korrekt erstellt wird.
Für das Erstellen von Abkürzungen wird nun auch ein Snippet für Visual-Studio-Code mitgeliefert: abk
/ dhgeabk
.
Für mehr Informationen kann die Acro Package Documentation gelesen werden.
wird automatisch generiert
- Anlagen werden in der anlagen.tex hinterlegt.
- hierbei ist zu beachten:
- die Anlage muss sich in einer Umgebung vom Typ
figure
,table
oderlongfigure
befinden - die Anlage benötigt eine Beschriftung
\caption{}
- die Anlage muss sich in einer Umgebung vom Typ
- ein Label ist für eine automatische Verknüpfung im Anlagenverzeichnis nicht nötig
- der vorgefertigte Befehl
\dhgefigure
, kann verwendet werden, da dieser beide Anforderungen erfüllt - siehe Beispiel
build/tests/anlagen.tex
- hierbei ist zu beachten:
Beispiel:
\begin{table}
\caption{TestBeschriftung}
\begin{tabular}{c | c}
1 & 1 \\
\end{tabular}
\end{table}
Damit auch nicht-Floats in den Anlagen möglich sind, gibt es die longfigure
-Environment.
Diese verhält sich im Grunde wie figure
. Der Inhalt darf jedoch über Seitengrenzen hinweg gehen.
Das ist besonders für Code-Beispiele für den Anhang praktisch.
Hier eine kurze Anleitung für das Minted Package. Damit lässt sich Code mit Syntaxhervorhebung direkt in LaTeX einfügen.
- Python hier herunterladen und installieren und sicherstellen, dass Python zur Umgebung (PATH) hinzugefügt ist
- Pygments installieren (
pip install Pygments
) \usepackage {minted}
inbuild/package.config.tex
hinzufügen--shell-escape
flag im Compiler-Aufruf setzen- Minted Kurz-Anleitung oder Minted Documentation lesen
Bei Proxy-Problemen mit pip, kann auch das Pygments.whl
file runtergeladen und dann mit pip installiert werden.
Pygments Download
Falls man einen Abschnitt 4. Stufe schreiben möchte, kann das mit
\dhgeparagraph{}
umgesetzt werden.
Beispiel:
\dhgeparagraph{This is a SubSubSubSection}
Falls chinesische, japanische o.ä. Alphabete verwendet werden müssen (bspw. bedingt durch Autoren), ist die einfachste Methode, das CJKutf8
Package zu laden.
Eine Anleitung finden Sie in diesem Artikel.
Prof. Dr. Kusche stellt an Praxisarbeiten, die er betreut, andere Anforderungen als Prof. Dr. Dorendorf.
Deshalb wurde der CKUSCHE
-Schalter in config.tex
eingeführt: diesen auf 1
zu setzen überschreibt einige Standardverhalten vom Template:
- es gibt ein Abstract
- das Abstract wird nicht im Inhaltsverzeichnis geführt
- das Abstract erscheint vor dem Inhaltsverzeichnis
- das Abstract hat keine Kapitelnummer
- Abbildungen, Tabellen, usw. werden zweistufig
hauptkapitel.lfd
nummeriert, mit Ausnahme von Anlagen, welche laufend nummeriert werden - Kapitel steht links im Footer / Header, analog zur Seitenzahl
- Seitenzahlen vor dem Hauptteil sind römisch, ansonsten arabisch
- Serifen-Font 12pt (Times New Roman geht, ist aber "langweilig")
- Literaturverzeichnis erscheint zuletzt
- es gibt kein Anlagenverzeichnis, dafür werden Anlagen im Inhaltsverzeichnis gelistet
Leider gibt es Anforderungen von Prof. Dr. Kusche, die bislang nicht umgesetzt werden konnten. Wir freuen uns natürlich sehr über Ideen, Fixes und Anregungen aus der Community.
- aktuell ist es noch nicht möglich, Anlagen mit Buchstaben zu nummerieren
- das ist glücklicherweise keine zwingende Anforderung
Das Template kann optional ein Abstract vor dem Inhaltsverzeichnis generieren.
Um das zu aktivieren, muss in der config.tex
der CHASABSTRACT
-Schalter auf 1
gesetzt werden.
Absätze können mit Einrückungen oder vertikalen Abständen getrennt werden. Der LaTeX Standard sind Einrückungen, Abstände sind aus beliebten WYSIWYG-Editoren wie LibreOffice bekannt. An der Studienrichtung Technik der DHGE werden Abstände in Arbeiten bevorzugt, weshalb das die Voreinstellung des Templates ist.
Wenn Einrückungen bevorzugt werden, kann das in der config.tex
geändert werden, indem der CEINR
-Schalter auf 1
gesetzt wird.