diff --git a/thesis/README.md b/thesis/README.md index 1eb04f2..e8b04ba 100644 --- a/thesis/README.md +++ b/thesis/README.md @@ -1,164 +1,3 @@ -[![Build](https://github.com/TUD-OS/latex-template/actions/workflows/build.yml/badge.svg)](https://github.com/TUD-OS/latex-template/actions/workflows/build.yml) +This is my bachelors thesis. -## Was ist das? - -Dieses Diplomarbeits-Latex-Template stellt ein Skelett für eine -Diplomarbeit mit zugehöriger Make-Datei zur Verfügung. - -## Checkout Submodules First - -Um das `$ make checkbiw` ausführen zu können, musst du zuerst die -Submodule auschecken: `git submodule update --init --recursive` - -## So geht's los - -Als erstes solltest du in diplom.tex alle Vorkommen von Otto -Mustermann, "Dein Titel" und "Dein Betreuer" ersetzen. - -`diplom.tex` will deine Aufgabe als PDF einbinden. Es sucht -`images/diplom-aufgabe.pdf`, was eine A4 Seite sein muss. Mit - - convert diplom-aufgabe.pdf - -solltest du eine beliebige Bilddatei in ein PDF umwandeln können, wenn -ImageMagick auf deinem System installiert ist. - -An diesen Punkt sollte `make` ein `diplom.pdf` produzieren. - -Das Template unterstützt sowohl englischen und deutschen Text. Englisch ist -standardmäßig eingestellt. Für deutschen Text kann der letzte `\selectlanguage` -Aufruf in `diplom.tex` einfach weggelassen werden. - -## How To Build - -- `$ make`: regular build that produces `diplom.pdf` and `yyyy-mm-dd_hhmmss DRAFT Diplomarbeit - Branch .pdf`. -- `$ make watch`: Performs a watch task, i.e. automatically re-builds everything quickly on changes. - If your PDF viewer supports automatic reload on file changes (such as the default PDF viewer in GNOME) - you get a cool productive working environment. - -### Build Prerequisites (Regular Build) - -In case you don't want to install `texlive-full` to save disk space, the following packages are -actually required: \ - -```shell -$ sudo apt install texlive-base \ - texlive-lang-german \ - texlive-lang-english \ - `# for siunits` \ - texlive-science \ - texlive-luatex \ - `# biber gets invoked by the utilities provided by bibtex-extra` \ - biber \ - texlive-bibtex-extra \ - `# for csquotes` \ - texlive-latex-extra -``` - -Additionally, please install also: - -```shell -$ sudo apt install \ - `# for the `make checkbiw` script` - diction \ - `# build system to build the latex project` - latexmk -``` - -### Build Prerequisites (Nix Build) - -This template can also be built using [Nix](https://nixos.org/download.html). You have -the option to either use `$ nix-build`, which will produce `result/diplom.pdf`, or to -use -```bash -$ nix-shell -$ make clean -$ make watch # (or just make) -``` - -## Grafiken einbinden - -Grafiken sollten im `images/` Verzeichnis abgelegt werden und im -Makefile in die entsprechende `DOC_IMG_*` Variable eingetragen -werden. Momentan werden Grafiken in den Formaten PDF, PNG und JPEG -unterstützt. PDF eignet sich für Vektorgrafiken und kann von den -meisten Vektorgrafikprogrammen erzeugt werden (Inkscape, OpenOffice -Draw, ...). - -## Tipps - -Diese Datei enthält im Moment ein Sammlung von Tipps und Tricks, sowie -einige Hintergrundinformationen. - -- passive voice: **do not use it** - - There is a Makefile template checking for 'Bugs in Writing' according - to the book of the same name (`make checkbiw`). Diction must be installed - somewhere in the path (check out the directory - `checkbiw/diction` for details). - - Vim users can add detection for passive voice and *weasel words* via - Björn's [`vim-weasel` package](https://github.com/bjoernd/vim-weasel) -- font sizes in images: adapt to other text size - (ideally, use PGF/TikZ and PGFPlots) -- avoid missing meta data in PDF files (title, keywords, author) -- "good" title page -- use biblatex for references, it pays off fast -- convert images to correct include types (vector formats, e.g. PDF) -- protected spaces between, e.g., `Figure~1`, `~\cite{xyz}` -- units: use the `siunitx` package to typeset units -- French spacing: tell latex what is an end of sentence with `\@.` - where it cannot know it (e.g., `This is a sentence ending on an - abbreviation BASIC\@. Next sentence.`) - - Again, you can try to detect a good portion of French spacing - using an automatic algorithm (`make check-french-spacing`). - Improvements are welcome. -- listings with at least three elements have a - comma before the last and/or (*serial* or *Oxford comma*): - *"Set A contains elements a, b, and c."* -- more stylistic information can be found in *Bugs in writing* (BIW) - by Lyn Dupré -- add chapters without a chapter number (e.g. appendix) with `\addchap{Chapter without Number}` - instead of `\chapter*{Chapter without Number}`. Otherwise, `\chaptername` and similar macros - inherit the name of the last chapter with a number in several cases. - `\addchap` is a macro provided by KOMA -- this project uses a `.editorconfig` which makes sure you have the same basic formatting - settings across IDEs **as you type**. Support exists in Clion, VS Code, IntelliJ, - vim, ... make sure to activate the setting or add the plugin for that into your IDE/editor - - -## spezielle Tipps von Frank - -- Ich verwende in der Vorlage KOMA-Script (`scrbook`), welches vor allem - für den deutschsprachigen Raum gedacht ist. KOMA-Script kann auch - international verwendet werden, das Format ist aber für - Englischsprachige Arbeiten etwas unüblich. - -- Ein Hinweis zum Erstellen der Grafiken: Viele verwenden xfig, ich - habe meine Grafiken mit OpenOffice Draw erzeugt. Dort hat man mehr - Möglichkeiten. Einfach als PDF exportieren. Damit alle Grafiken - eine gleichmäßige Größe besitzen, habe ich einfach immer die - Seitengröße so gesetzt, dass die Zeichnung voll erfasst wird. Dann - habe ich immer die gleiche Schriftgröße gesetzt. Beim Einbinden der - Grafiken ins LaTeX-File habe ich einen Faktor, z.B. - - \includegraphics[width=190\figurewidth]{architecture} - - mit eingebaut. Den Faktor setze ich dann einfach am Anfang mit - - \setlength{\figurewidth}{.070cm} - - und bin damit in der Lage, alle Grafiken zugleich in der Größe zu verändern. - Die Zahl 190 aus dem includegraphics-Statement kommt von der gewählten - Seitengröße in OpenOffice Draw (190mm). - -- Wenn man viele Grafiken hat, die man genau ausrichten will, ist ein - - \usepackage{placeins} - - sinnvoll. Dann kann man am Ende einer Seite - - \FloatBarrier - - schreiben und erzwingt die Ausgabe aller noch offenen Grafiken an - diesem Punkt. Mir ist bewusst, dass das etwas unschön ist, aber - manchmal braucht man das wirklich, z.B. wenn man alle Messwerte auf - einer Seite unterbringen will. +Source of the TEX-Template: https://github.com/TUD-OS/latex-template