Initial commit

This commit is contained in:
christoph.pleger 2024-06-25 15:26:13 +02:00
commit c0e3a3bd2b
16 changed files with 755 additions and 0 deletions

360
.gitignore vendored Normal file
View File

@ -0,0 +1,360 @@
# ---> macOS
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# ---> TeX
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
# these rules might exclude image files for figures etc.
# *.ps
# *.eps
# *.pdf
## Generated if empty string is given at "Please type another file name for output:"
.pdf
## Bibliography auxiliary files (bibtex/biblatex/biber):
*.bbl
*.bcf
*.blg
*-blx.aux
*-blx.bib
*.run.xml
## Build tool auxiliary files:
*.fdb_latexmk
*.synctex
*.synctex(busy)
*.synctex.gz
*.synctex.gz(busy)
*.pdfsync
## Build tool directories for auxiliary files
# latexrun
latex.out/
## Auxiliary and intermediate files from other packages:
# algorithms
*.alg
*.loa
# achemso
acs-*.bib
# amsthm
*.thm
# beamer
*.nav
*.pre
*.snm
*.vrb
# changes
*.soc
# comment
*.cut
# cprotect
*.cpt
# elsarticle (documentclass of Elsevier journals)
*.spl
# endnotes
*.ent
# fixme
*.lox
# feynmf/feynmp
*.mf
*.mp
*.t[1-9]
*.t[1-9][0-9]
*.tfm
#(r)(e)ledmac/(r)(e)ledpar
*.end
*.?end
*.[1-9]
*.[1-9][0-9]
*.[1-9][0-9][0-9]
*.[1-9]R
*.[1-9][0-9]R
*.[1-9][0-9][0-9]R
*.eledsec[1-9]
*.eledsec[1-9]R
*.eledsec[1-9][0-9]
*.eledsec[1-9][0-9]R
*.eledsec[1-9][0-9][0-9]
*.eledsec[1-9][0-9][0-9]R
# glossaries
*.acn
*.acr
*.glg
*.glo
*.gls
*.glsdefs
*.lzo
*.lzs
*.slg
*.slo
*.sls
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplot
*.gnuplot
*.table
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.glog
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files
# *.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# newpax
*.newpax
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# svg
svg-inkscape/
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# titletoc
*.ptc
# todonotes
*.tdo
# vhistory
*.hst
*.ver
# easy-todo
*.lod
# xcolor
*.xcp
# xmpincl
*.xmpi
# xindy
*.xdy
# xypic precompiled matrices and outlines
*.xyc
*.xyd
# endfloat
*.ttt
*.fff
# Latexian
TSWLatexianTemp*
## Editors:
# WinEdt
*.bak
*.sav
# Texpad
.texpadtmp
# LyX
*.lyx~
# Kile
*.backup
# gummi
.*.swp
# KBibTeX
*~[0-9]*
# TeXnicCenter
*.tps
# auto folder when using emacs and auctex
./auto/*
*.el
# expex forward references with \gathertags
*-tags.tex
# standalone packages
*.sta
# Makeindex log files
*.lpz
# xwatermark package
*.xwm
# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib
# option is specified. Footnotes are the stored in a file with suffix Notes.bib.
# Uncomment the next line to have this generated file ignored.
#*Notes.bib
# ---> Linux
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
# ---> VisualStudioCode
.vscode/*
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
main.pdf
# Temporary files, e.g. jabref backups
*.tmp

3
.latexmkrc Normal file
View File

@ -0,0 +1,3 @@
$pdf_mode = 1; # tex -> pdf
$pdflatex = 'pdflatex -interaction=nonstopmode -shell-escape';
@default_files = ('main.tex');

Binary file not shown.

13
Makefile Normal file
View File

@ -0,0 +1,13 @@
.PHONY: main.pdf
main.pdf: Eidesstattliche_Versicherung.pdf
latexmk -f
build: main.pdf
check: main.pdf
if [[ -n "$$(echo 1cc820dc3b02e947f02bbe73189f6c6f Eidesstattliche_Versicherung.pdf | md5sum -c - 2>/dev/null | grep -i OK)" ]]; then echo "Die Eidesstattliche Versicherung ist nicht unterschieben!" >&2; exit 1; fi
all: build check
clean:
latexmk -C main.tex header.tex

20
README.md Normal file
View File

@ -0,0 +1,20 @@
# Vorlage für Abschlussarbeiten
Diese Vorlage ist eine Erweiterung der "offiziellen" Vorlage der Fakultät.
Sie enthält einige zusätzliche Pakete und Makros, um das Schreiben möglichst angenehm zu gestalten.
Beispiele dafür sind im ersten Kapitel zu sehen.
## Editieren
Da diese Vorlage nur Latexmk nutzt, sollten die meisten IDEs kompatibel sein.
TexStudio und VSCode (mit LaTex Workshop) unter Linux, sowie Overleaf wurden getestet.
Für Verwaltung der Bibliographie ist JabRef zu empfehlen.
## Bauen
Zum Bauen kann ``make`` oder direkt ``latexmk -f main.tex`` genutzt werden.
Dazu sollte TexLive installiert werden.
Leider ist die Vorlage nicht mit Tectonic kompatibel.
## Abgabe
Vor der Abgabe muss die Eidesstattliche Versicherung unbedingt ausgefüllt werden.
Diese liegt als PDF im Stammverzeichnis und wird automatisch in das finale Dokument eingebunden.
``make all`` prüft beim bauen, ob sie ausgefüllt ist und gibt ggf. eine Warnung aus.
## Sprache
Aktuell ist die Vorlage auf deutsche Arbeiten ausgelegt.
Das lässt sich aber leicht ändern, indem ihn in der main ``\selectlanguage{english}`` setzt und ggf. die Definitionen im header umschreibt.
Des Weiteren müssen die Kapitelnamen in der main umgeschrieben werden (Abbildungsverzeichnis u.Ä.).

2
akronyme.tex Normal file
View File

@ -0,0 +1,2 @@
% acronyms.tex
\acrodef{API}[API]{Application Programming Interface}

BIN
bilder/tud_logo_rgb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

160
header.tex Normal file
View File

@ -0,0 +1,160 @@
% header.tex
\documentclass[a4paper,11pt,twoside,ngerman]{book} % twoside erzeugt Versatz zur Drucken, oneside nicht
\usepackage[a4paper,left=3.5cm,right=2.5cm,bottom=3.5cm,top=3cm]{geometry}
\usepackage[german,english]{babel}
\usepackage[pdftex]{graphicx,color,xcolor}
\usepackage{amsmath,amssymb,subcaption}
% Theorem-Umgebungen
\usepackage[amsmath,thmmarks]{ntheorem}
% Korrekte Darstellung der Umlaute
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
% Algorithmen
\usepackage[plain,chapter]{algorithm}
\usepackage{algorithmic}
\usepackage{enumerate}
% Bibtex deutsch
\usepackage{bibgerm}
% URLs
\usepackage{url}
% Caption Packet
\usepackage[margin=0pt,font=small,labelfont=bf]{caption}
% Gliederung einstellen
%\setcounter{secnumdepth}{5}
%\setcounter{tocdepth}{5}
% Abbildungen
\usepackage{placeins} % \FloatBarrier für feine Platzierung von Abbildungen.
\renewcommand\floatpagefraction{.8} % Vermeide Seiten die nur als Abbildungen bestehen
% Tabellen
\usepackage{booktabs}
% Referenzen
\usepackage[hidelinks]{hyperref} % Referenzen als anklickbare Links
\hypersetup{
linktoc=all, %set to all if you want both sections and subsections linked
linkcolor=black, %choose some color if you want links to stand out
}
% Inhalte
\usepackage[nolist,nohyperlinks]{acronym} % Akronyme -> acronyms.tex
\usepackage{lipsum} % Lore Ipsum generieren
% Importiere PDFs als ganze Seiten (für aviddativ)
\usepackage{pdfpages}
% Bibliographie
\usepackage[backend=biber,style=ieee,natbib=true]{biblatex}
% Eigenes kommando für namentliche Zitate mit hyperref
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printtext[bibhyperref]{\printnames{labelname}}}
{\multicitedelim}
{\usebibmacro{postnote}}
% Theorem-Optionen %
\theoremseparator{.}
\theoremstyle{change}
\newtheorem{theorem}{Theorem}[section]
\newtheorem{satz}[theorem]{Satz}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{korollar}[theorem]{Korollar}
\newtheorem{proposition}[theorem]{Proposition}
% Ohne Numerierung
\theoremstyle{nonumberplain}
\renewtheorem{theorem*}{Theorem}
\renewtheorem{satz*}{Satz}
\renewtheorem{lemma*}{Lemma}
\renewtheorem{korollar*}{Korollar}
\renewtheorem{proposition*}{Proposition}
% Definitionen mit \upshape
\theorembodyfont{\upshape}
\theoremstyle{change}
\newtheorem{definition}[theorem]{Definition}
\theoremstyle{nonumberplain}
\renewtheorem{definition*}{Definition}
% Kursive Schrift
\theoremheaderfont{\itshape}
\newtheorem{notation}{Notation}
\newtheorem{konvention}{Konvention}
\newtheorem{bezeichnung}{Bezeichnung}
\theoremsymbol{\ensuremath{\Box}}
\newtheorem{beweis}{Beweis}
\theoremsymbol{}
\theoremstyle{change}
\theoremheaderfont{\bfseries}
\newtheorem{bemerkung}[theorem]{Bemerkung}
\newtheorem{beobachtung}[theorem]{Beobachtung}
\newtheorem{beispiel}[theorem]{Beispiel}
\newtheorem{problem}{Problem}
\theoremstyle{nonumberplain}
\renewtheorem{bemerkung*}{Bemerkung}
\renewtheorem{beispiel*}{Beispiel}
\renewtheorem{problem*}{Problem}
% Algorithmen anpassen %
\renewcommand{\algorithmicrequire}{\textit{Eingabe:}}
\renewcommand{\algorithmicensure}{\textit{Ausgabe:}}
\floatname{algorithm}{Algorithmus}
\renewcommand{\listalgorithmname}{Algorithmenverzeichnis}
\renewcommand{\algorithmiccomment}[1]{\color{grau}{// #1}}
% Zeilenabstand einstellen %
\renewcommand{\baselinestretch}{1.25}
% Floating-Umgebungen anpassen %
\renewcommand{\topfraction}{0.9}
\renewcommand{\bottomfraction}{0.8}
% Abkuerzungen richtig formatieren %
\usepackage{xspace}
\newcommand{\vgl}{vgl.\@\xspace}
\newcommand{\zB}{z.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]B.\@\xspace}
\newcommand{\bzw}{bzw.\@\xspace}
\newcommand{\dahe}{d.\nolinebreak[4]\hspace{0.125em}h.\nolinebreak[4]\@\xspace}
\newcommand{\etc}{etc.\@\xspace}
\newcommand{\evtl}{evtl.\@\xspace}
\newcommand{\ggf}{ggf.\@\xspace}
\newcommand{\bzgl}{bzgl.\@\xspace}
\newcommand{\so}{s.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]o.\@\xspace}
\newcommand{\iA}{i.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]A.\@\xspace}
\newcommand{\sa}{s.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]a.\@\xspace}
\newcommand{\su}{s.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]u.\@\xspace}
\newcommand{\ua}{u.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]a.\@\xspace}
\newcommand{\og}{o.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]g.\@\xspace}
\newcommand{\oBdA}{o.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]B.\nolinebreak[4]\hspace{0.125em}d.\nolinebreak[4]\hspace{0.125em}A.\@\xspace}
\newcommand{\OBdA}{O.\nolinebreak[4]\hspace{0.125em}\nolinebreak[4]B.\nolinebreak[4]\hspace{0.125em}d.\nolinebreak[4]\hspace{0.125em}A.\@\xspace}
% Leere Seite ohne Seitennummer, naechste Seite rechts
\newcommand{\blankpage}{
\clearpage{\pagestyle{empty}\cleardoublepage}
}
% Keine einzelnen Zeilen beim Anfang eines Abschnitts (Schusterjungen)
\clubpenalty = 10000
% Keine einzelnen Zeilen am Ende eines Abschnitts (Hurenkinder)
\widowpenalty = 10000 \displaywidowpenalty = 10000
% Anmerkungen - Vor Abgabe sollte der gewünschte Stil gewählt werden
% Ausgeblendet
% \newcommand{\revise}[1]{}
% Normal
% \newcommand{\revise}[1]{#1}
% Gefärbt
\newcommand{\revise}[1]{\textcolor{purple}{#1}}
% EOF

2
kapitel/anhang.tex Normal file
View File

@ -0,0 +1,2 @@
% anhang.tex
\chapter{Weitere Informationen}

2
kapitel/bibliography.tex Normal file
View File

@ -0,0 +1,2 @@
\bibliographystyle{plain}
\bibliography{../literatur/diplom}

58
kapitel/einleitung.tex Normal file
View File

@ -0,0 +1,58 @@
% einleitung.tex
\chapter{Einleitung}
\label{chapter:einleitung}
\section{Motivation und Hintergrund}
\label{sec:einleitung_motivation}
Ziel dieses Dokumentes ist es ein Beispiel für die Formatierung einer Abschlussarbeit zu geben.
Eine Referenz kann genutzt werden um ein Werk eines Autors zu referenzieren~\cite{AggarwalV88},
alternativ kann man sich auf explizit auf die Arbeit eines Autors wie~\citeauthor{AggarwalV88} beziehen.
Abbildungen sind ein weiterer wichtiger Teil der Arbeit.
In Abbildung \ref{fig:tu_logo_big} ist das Logo der TU in groß zu sehen.
Wiederkehrende Begriffe wie \ac{API} können nach der ersten Benutzung durch ihr Akronym ersetzt (in diesem Fall \ac{API}) werden.
Dank eines Makros ist das sehr angenehm.
\begin{figure}[htbp]
\centering
\begin{subfigure}{\textwidth}
\centering
\includegraphics[width=1.0\textwidth]{bilder/tud_logo_rgb.jpg}
\caption{TU Logo in Groß}
\label{fig:tu_logo_big}
\end{subfigure}
\vspace{0.8cm}\\% Vertikaler abstand + Zeilenumruch
%~ %add desired spacing between images, e. g. ~, \quad, \qquad, \hfill etc.
%(or a blank line to force the subfigure onto a new line)
\begin{subfigure}{0.5\textwidth}
\centering
\includegraphics[width=0.5\textwidth]{bilder/tud_logo_rgb.jpg}
\caption{TU Logo in kleiner Größe.}
\label{fig:tu_logo_medium}
\end{subfigure}
\qquad% Horizontaler Abstand
\begin{subfigure}{0.3\textwidth}
\centering
\includegraphics[width=0.3\textwidth]{bilder/tud_logo_rgb.jpg}
\caption{TU Logo in sehr kleiner Größe.}
\label{fig:tu_logo_small}
\end{subfigure}
\caption{Beispiel für eine Abbildung mit mehreren Teilen.}
\end{figure}
\section{Aufbau der Arbeit}
\label{sec:einleitung_aufbau}
\FloatBarrier % Wir wollen die Abbildung aus der vorherigen Sektion nicht in dieser Sektion haben
\begin{table}[hbt]
\centering
\begin{tabular}{@{}lll@{}}
\toprule
& Hallo & Welt \\ \midrule
A & 1 & 0 \\
B & 0 & 1
\end{tabular}
\caption{Beispieltabelle}
\label{tab:example}
\end{table}
Tabelle~\ref{tab:example} zeigt ein Beispiel für eine Tabelle mit booktabs.
\revise{Anmerkungen können mit dem revise-Makro eingefügt werden. Vor Abgabe kann das Makro im header umgestellt werden.}

9
kapitel/erklaerung.tex Normal file
View File

@ -0,0 +1,9 @@
% erklaerung.tex
% TODO: Unterschrift
\includepdf[pages=-]{Eidesstattliche_Versicherung.pdf}
% \cleardoublepage
% \normalsize
% Hiermit versichere ich, dass ich die vorliegende Arbeit selbstständig verfasst habe und keine anderen als die angegebenen Quellen und Hilfsmittel verwendet sowie Zitate kenntlich gemacht habe.\\\\
% Dortmund, den \today \\\\\\\\
% Muster Mustermann
% EOF

4
kapitel/kapitel2.tex Normal file
View File

@ -0,0 +1,4 @@
% kapitel2.tex
\chapter{Das zweite Kapitel}
\label{chapter:kap2}
\lipsum{20}

68
kapitel/titelseite.tex Normal file
View File

@ -0,0 +1,68 @@
\begin{titlepage}
\definecolor{TUGreen}{rgb}{0.517,0.721,0.094}
\vspace*{-2cm}
\newlength{\links}
\setlength{\links}{-1.5cm}
\sffamily
\hspace*{\links}
\begin{minipage}{12.5cm}
\includegraphics[width=8cm]{bilder/tud_logo_rgb}
%\hspace*{-0.25cm} \textbf{TECHNISCHE UNIVERSIT"AT DORTMUND}\\
%\hspace*{-1.2cm} \rule{5mm}{5mm} \hspace*{0.1cm} FACHBEREICH INFORMATIK\\
\end{minipage}
\vspace*{4cm}
\hspace*{\links}
\hspace*{-0.2cm}
\begin{minipage}{9cm}
\large
\begin{center}
{\Large Masterarbeit} \\
\vspace*{1cm}
\textbf{Titel der Masterarbeit} \\
\vspace*{1cm}
Name des Masteranden\\
% \vspace*{1cm}
Monat der Abgabe
\end{center}
\end{minipage}
\normalsize
\vspace*{5.5cm}
% \hspace*{\links}
\vspace*{2.1cm}
\hspace*{\links}
\begin{minipage}[b]{5cm}
% \normalsize
\raggedright
Gutachter: \\
Name des Erstgutachters \\
Name des Zweitgutachters \\
\end{minipage}
\vspace*{2.5cm}
\hspace*{\links}
\begin{minipage}[b]{8cm}
% \normalsize
\raggedright
Technische Universität Dortmund \\
Fakultät für Informatik\\
Lehrstuhlbezeichnung (LS-Nummer)\\
http://lsXXX-www.cs.tu-dortmund.de
\end{minipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% bei Kooperation mit anderen Lehrstuehlen,
% sonst weglassen
\begin{minipage}[b]{8cm}
% \normalsize
\raggedleft
In Kooperation mit:\\
Fakultätsname\\
Lehrstuhl-/Institutsbezeichnung
\end{minipage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{titlepage}

13
literatur/arbeit.bib Normal file
View File

@ -0,0 +1,13 @@
@article{AggarwalV88,
author = {Alok Aggarwal and Jeffrey Scott Vitter},
title = {The Input/Output Complexity of Sorting and Related Problems},
journal = {Communications of the ACM},
year = {1988},
OPTkey = {},
volume = {31},
number = {9},
pages = {1116-1127},
OPTmonth = {September},
OPTnote = {},
OPTannote = {}
}

41
main.tex Normal file
View File

@ -0,0 +1,41 @@
% main.tex
\include{header}
\include{akronyme}
% .bib-Dateien registrieren
\addbibresource{literatur/arbeit.bib}
% Inhalte
\begin{document}
\selectlanguage{german} % english
\include{kapitel/titelseite}
\blankpage
\pagenumbering{roman}
\tableofcontents
\cleardoublepage
\pagenumbering{arabic}
% Kapitel
\include{kapitel/einleitung}
\include{kapitel/kapitel2}
% Anhang
\appendix
\include{kapitel/anhang}
% Abbildungsverzeichnis
\listoffigures
\addcontentsline{toc}{chapter}{Abbildungsverzeichnis} % english: List of Figures
\cleardoublepage
% Algorithmenverzeichnis
\listofalgorithms
\addcontentsline{toc}{chapter}{Algorithmenverzeichnis} % english: List of Algorithms
\cleardoublepage
% Literaturverzeichnis
\newpage
\phantomsection
\addcontentsline{toc}{chapter}{\bibname}
\printbibliography
% Erklaerung
\newpage
\phantomsection
\addcontentsline{toc}{chapter}{Erklärung} % english: Affidavit
\include{kapitel/erklaerung}
\cleardoublepage
\end{document}