This is a simple preconfigured boilerplate for medium-sized LaTex projects including continuous integration for GitLab CI.
It's based on the `scrartcl` document class and currently layed out for german scientiefic documents.
## Basic Structure
The main entry point for the document compilation is the file `main.tex` in the repo root.
Besides setting some common parameters for the document (like author name, title, date etc.), the basic document structure is created here (mostly by including seperate files) in the following order:
* configuration (`configuration/config.tex`)
* title page (`config/title.tex`)
* table of contents
* list of acronyms (`config/abkuerzungen.tex`)
* list of figures
* list of tables
* list of code listings
* chapter files (`chapter/*`, needs to be filled up manually)
* bibliography (`config/quellenverzeichnis.tex`, using the entries defined in `library/library.bib`)
* declaration of authorship (`config/ehrenwoertliche_erklaerung.tex`)
If you don't need one of the predefined document parts or want to omit it, simply remove or comment out the corresponding statements in `main.tex`.
**(i)** Please note: Before starting with content, you should change the common variables in `main.tex`.
## Inserting basic content
For each chapter create a single chapter file in the `chapter/` directory.
Chapter files need to reference the main file using
```latex
%!TEX root = ../main.tex
```
Next, include it in `main.tex` using
```latex
\input{chapter/myfile}
\newpage
```
Numbering the files with prefixes (like `01_introduction`) is recommended.
## Bibliography
The bibliography index uses `biblatex`.
Entries are taken from `library/library.bib`, you may add your PDF files here too and link them to the bibliography entries (e.g. using biblatex frontend/gui tools like *JabRef*).
To be included in the document, every bibliography entry needs to be keyword-classified manually.
For each keyword there will be a seperate subsection in the bibliography section in the document.
If there's no bibliography entry for a keyword, the bibliography type will be ommitted and no subsection will be created in the bibliography section in the document.
Here's an overview of the supported document types and their keywords:
The `\label` is used to cross-reference the image using `\ref`.
The `\caption` may contain a usual `\cite` directive (see below).
### Acronyms
If you introduce acronyms, add them to `config/abkuerzungen.tex` in the following way:
```latex
\acro{VMCS}{Virtual Machine Control Structure}
```
**(i)** Please note: If you have acronyms that are longer than four characters, you may extend the parameter in brackets behind the `\begin{acronym}` statement.
### Code Listings
Listings (code snippets) are done using the `\lstlisting` environment.
It can have it's own caption, positioned with the parameter `captionpos` (see official docs):