Initial commit
This commit is contained in:
+314
@@ -0,0 +1,314 @@
|
||||
% Language
|
||||
\usepackage[american]{babel}
|
||||
% \usepackage[T1]{fontenc} % Silbentrennung bei Sonderzeichen
|
||||
% \usepackage[utf8]{inputenc}
|
||||
|
||||
% Layout
|
||||
\usepackage[left=3.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm]{geometry} % Typical margin
|
||||
\usepackage{titling}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{setspace} % Line stretch
|
||||
|
||||
% Bibliography
|
||||
\usepackage[backend=biber,urldate=iso,date=iso]{biblatex}
|
||||
\usepackage[nottoc,notlof,notlot]{tocbibind} % Include bibliography in ToC, nottoc disables the "Contents" entry for the ToC itself
|
||||
|
||||
% Figures
|
||||
\usepackage{graphicx} % Required for inserting images
|
||||
\usepackage{subcaption} % Mehrere Figuren in einer
|
||||
\usepackage{float} % [H] floating/positioning von Figuren
|
||||
\usepackage[bottom]{footmisc} % Bottom not below footnote
|
||||
|
||||
% Math
|
||||
% \usepackage{amsmath,amssymb,amsthm}
|
||||
% \usepackage{mathtools} % Extension of amsmath
|
||||
% \usepackage{upgreek} % For non italic greek (vectors/matrices)
|
||||
\usepackage{unicode-math}
|
||||
\usepackage{lualatex-math}
|
||||
|
||||
% Tables
|
||||
\usepackage{tabularx}
|
||||
% \usepackage{tablefootnote}
|
||||
% \usepackage{makecell}
|
||||
% \usepackage{color,colortbl}
|
||||
|
||||
% Code
|
||||
\usepackage{algorithm}
|
||||
\usepackage{algpseudocode}
|
||||
\usepackage{xcolor}
|
||||
\usepackage{tikz}
|
||||
\usepackage{listings} % For lstinputlisting ChkTeX
|
||||
\usepackage[minted]{tcolorbox}
|
||||
|
||||
% Typography
|
||||
\usepackage[babel,final,protrusion=true,expansion=true,tracking=false,kerning=false,spacing=false]{microtype}
|
||||
\usepackage{fontspec}
|
||||
\usepackage{concmath-otf}
|
||||
\setmonofont{MonoLisa Alt}[Scale=MatchLowercase]
|
||||
|
||||
% Various stuff
|
||||
\usepackage[page]{appendix} % [toc]
|
||||
\usepackage{lipsum}
|
||||
\usepackage[inkscapelatex=false]{svg} % Don't touch fonts
|
||||
\usepackage{comment}
|
||||
\usepackage{pdfpages}
|
||||
\usepackage{luatodonotes}
|
||||
\usepackage{siunitx}
|
||||
\usepackage[l2tabu,orthodox]{nag}
|
||||
\usepackage{etoolbox} % For \ifstrequal
|
||||
\usepackage[autostyle]{csquotes} % Correct quotation marks with \textquote{}
|
||||
\usepackage{silence} % Silence warnings
|
||||
\usepackage[intoc]{nomencl} % Nomenclature
|
||||
\usepackage[luatex,hidelinks]{hyperref} % Load late
|
||||
\usepackage[acronym,automake,nonumberlist,nogroupskip]{glossaries} % Load after hyperref, toc
|
||||
\usepackage{xurl} % xurl does url-line-breaks in contrast to url
|
||||
|
||||
% Multi-file
|
||||
\usepackage{subfiles} % Load last
|
||||
|
||||
% Settings
|
||||
\setstretch{1.25}
|
||||
\bibliography{references}
|
||||
\clubpenalty=10000
|
||||
\widowpenalty=10000
|
||||
\displaywidowpenalty=10000
|
||||
% \floatstyle{boxed}
|
||||
% \restylefloat{figure}
|
||||
\sisetup{detect-all}
|
||||
\tcbuselibrary{skins} % breakable
|
||||
\usetikzlibrary{shadings, backgrounds}
|
||||
\setlength{\headheight}{14pt}
|
||||
|
||||
% \mathtoolsset{showonlyrefs}
|
||||
% \usepackage{xpatch}
|
||||
% \makeatletter
|
||||
% \xpretocmd\HyRef@autoref{\noeqref{#2}}{}{} % showonlyrefs mit \autoref
|
||||
% \makeatother
|
||||
|
||||
\makeatletter\newcommand{\tcb@cnt@codeblockautorefname}{Listing}\makeatother
|
||||
|
||||
% Silence some warning spam
|
||||
% \WarningFilter{biblatex}{The following entry could not be found} % Those are duplicated at the actual \cite usage
|
||||
% \WarningFilter{latexfont}{Font shape `T1/zi4/m/it' undefined}
|
||||
% \WarningFilter{latexfont}{Font shape `TS1/zi4/m/it' undefined}
|
||||
% \WarningFilter{latexfont}{Some font shapes were not available}
|
||||
|
||||
\fancypagestyle{plain}{%
|
||||
\fancyhf{}
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
\fancyfoot[RO,LE]{\thepage}
|
||||
}
|
||||
|
||||
\fancypagestyle{report}{%
|
||||
\fancyhf{}
|
||||
\renewcommand{\headrulewidth}{0.4pt}
|
||||
\fancyfoot[RO,LE]{\thepage}
|
||||
\fancyhead[LO,RE]{\slshape \leftmark\/}
|
||||
}
|
||||
|
||||
% Macros
|
||||
\let\oldurl\url%
|
||||
\let\url\undefined%
|
||||
\newcommand{\url}[2][\PackageError{Thesis}{URL requires 2 arguments: \url[date]{address}, e.g.\ \url[07/27/2024]{https://github.com}}{}]{\oldurl{#2} (visited on #1)}
|
||||
|
||||
\renewcommand{\author}[1]{\gdef\theauthor{#1}}
|
||||
\renewcommand{\title}[1]{\gdef\thetitle{#1}}
|
||||
\newcommand{\germantitle}[1]{\gdef\thegermantitle{#1}}
|
||||
\newcommand{\thesistype}[1]{\gdef\thethesistype{#1}}
|
||||
\newcommand{\thesisid}[1]{\gdef\thethesisid{#1}}
|
||||
\newcommand{\thesiscite}[1]{\gdef\thethesiscite{#1}}
|
||||
\newcommand{\birthday}[1]{\gdef\thebirthday{#1}}
|
||||
\newcommand{\birthplace}[1]{\gdef\thebirthplace{#1}}
|
||||
\newcommand{\thesisstart}[1]{\gdef\thethesisstart{#1}}
|
||||
\newcommand{\thesisend}[1]{\gdef\thethesisend{#1}}
|
||||
\newcommand{\advisors}[1]{\gdef\theadvisors{#1}}
|
||||
\newcommand{\dean}[1]{\gdef\thedean{#1}}
|
||||
|
||||
% Default start and end for each subfile (the main.tex is also a subfile!)
|
||||
\AtBeginDocument{%
|
||||
% Capitalize all the section names (has to be placed after \begin{document})
|
||||
\renewcommand{\chapterautorefname}{Chapter}
|
||||
\renewcommand{\sectionautorefname}{Section}
|
||||
\renewcommand{\subsectionautorefname}{Section}
|
||||
\renewcommand{\subsubsectionautorefname}{Section}
|
||||
\renewcommand{\paragraphautorefname}{Paragraph}
|
||||
\renewcommand{\figureautorefname}{Figure}
|
||||
\renewcommand{\tableautorefname}{Table}
|
||||
\renewcommand{\partautorefname}{Part}
|
||||
\renewcommand{\theoremautorefname}{Theorem}
|
||||
\renewcommand{\equationautorefname}{Equation}
|
||||
\renewcommand{\appendixautorefname}{Appendix}
|
||||
\newcommand{\algorithmautorefname}{Algorithm}
|
||||
|
||||
\hypersetup{
|
||||
pdfauthor={\@author},
|
||||
pdftitle={\@title},
|
||||
% pdfkeywords={\@thesiskeywords},
|
||||
pdfproducer={LaTeX},
|
||||
pdfcreator={LuaLaTeX}
|
||||
}
|
||||
|
||||
% Macros
|
||||
% \renewcommand{\ref}[1]{\autoref{#1}}
|
||||
\let\oldref\ref%
|
||||
\let\ref\undefined%
|
||||
\newcommand{\ref}[1]{\PackageError{Thesis}{REF:\ Use \autoref{label} instead}{}}
|
||||
|
||||
% Visualize "overfull-hbox"
|
||||
\overfullrule=2cm
|
||||
|
||||
\pagestyle{empty}
|
||||
\pagenumbering{gobble}
|
||||
|
||||
% Starting pages
|
||||
\input{titlepage}
|
||||
\cleardoublepage%
|
||||
|
||||
\frontmatter%
|
||||
\pagestyle{plain}
|
||||
\pagenumbering{Roman}
|
||||
|
||||
% \tableofcontents{\thispagestyle{plain}}
|
||||
\tableofcontents%
|
||||
\cleardoublepage%
|
||||
|
||||
\pagestyle{report}
|
||||
|
||||
\setacronymstyle{short-long}
|
||||
\printglossary[type=\acronymtype]
|
||||
\cleardoublepage%
|
||||
\printglossary%
|
||||
|
||||
\mainmatter%
|
||||
\pagenumbering{arabic}
|
||||
}
|
||||
\AtEndDocument{%
|
||||
\pagestyle{empty}
|
||||
\pagenumbering{gobble}
|
||||
|
||||
\let\url\undefined%
|
||||
\let\url\oldurl%
|
||||
|
||||
\printbibliography[heading=bibintoc]
|
||||
\cleardoublepage%
|
||||
|
||||
\listoffigures%
|
||||
\cleardoublepage%
|
||||
|
||||
\listofalgorithms%
|
||||
% \addcontentsline{toc}{chapter}{List of Algorithms}
|
||||
\cleardoublepage%
|
||||
|
||||
\tcblistof[\chapter*]{listings}{List of Listings}
|
||||
% \addcontentsline{toc}{chapter}{List of Listings}
|
||||
\cleardoublepage%
|
||||
|
||||
\listoftables%
|
||||
\cleardoublepage%
|
||||
|
||||
\includepdf[pages=-]{declaration.pdf}
|
||||
}
|
||||
|
||||
% Colors
|
||||
\definecolor{tuCorporateGreen}{HTML}{639A00}
|
||||
\definecolor{tuCorporateOrange}{HTML}{CA7406}
|
||||
\colorlet{titlebg}{tuCorporateGreen} % Color mixing
|
||||
\colorlet{titlecolor}{gray!5!white}
|
||||
\colorlet{codebg}{white}
|
||||
\colorlet{languagebg}{tuCorporateGreen!30!white}
|
||||
\colorlet{linenumberbg}{gray!20!white}
|
||||
|
||||
% Math Environments
|
||||
% \newtheorem*{theorem}{Theorem}
|
||||
% \newtheorem*{definition}{Definition}
|
||||
|
||||
% Code Environment
|
||||
|
||||
% This box surrounds the language name (e.g., C#)
|
||||
\newtcbox{\languagehighlight}{
|
||||
nobeforeafter,
|
||||
boxrule=0pt,
|
||||
colback=languagebg,
|
||||
arc=2pt,
|
||||
boxsep=0pt,
|
||||
left=3pt,
|
||||
right=3pt,
|
||||
top=3pt,
|
||||
bottom=3pt,
|
||||
tcbox raise base
|
||||
}
|
||||
|
||||
% This command is used in the codeblock box to quickly insert the languagehighlight box
|
||||
\newcommand{\codelang}[1]{\languagehighlight{\texttt{#1}}}
|
||||
|
||||
% The main box for listings
|
||||
\newtcolorbox[auto counter,list inside=listings,number within=chapter]{codeblock}[3][]
|
||||
{%
|
||||
enhanced,
|
||||
% float,
|
||||
% floatplacement=bth,
|
||||
colbacktitle=titlebg,
|
||||
coltitle=titlecolor,
|
||||
colframe=titlebg,
|
||||
interior style={%
|
||||
top color=codebg,
|
||||
bottom color=codebg
|
||||
},
|
||||
boxrule=0.5pt, % Border width
|
||||
arc=2pt, % Rounded corners
|
||||
width=\linewidth,
|
||||
fonttitle=\normalsize,
|
||||
adjusted title=\textbf{\texttt{\thetcbcounter}\hspace{0.75em}\texttt{#2}},
|
||||
list entry=\thetcbcounter\quad\texttt{#2}, % List of listings
|
||||
list text={\hspace*{1ex}#2}, % Chapter - Caption spacing in list of listings
|
||||
after title={% Display used language
|
||||
\hfill\setlength{\fboxsep}{2pt}
|
||||
\codelang{#3}
|
||||
},
|
||||
overlay={% Line number background
|
||||
\begin{tcbclipinterior}\fill[linenumberbg] (frame.south west)
|
||||
rectangle ([xshift=5mm]frame.north west);
|
||||
\end{tcbclipinterior}
|
||||
},
|
||||
top=1mm,
|
||||
bottom=1mm,
|
||||
right=0mm,
|
||||
left=5mm,
|
||||
#1 % Extra args, e.g. a label
|
||||
}
|
||||
|
||||
% Options for the listing itself, syntax highlighted using minted/pygmentize
|
||||
\setminted{
|
||||
linenos,
|
||||
autogobble,
|
||||
breaklines=true,
|
||||
breaksymbol=,
|
||||
breakindent=4mm,
|
||||
breakbefore=.,
|
||||
breakbeforesymbolpre=,
|
||||
breakbeforesymbolpost=,
|
||||
baselinestretch=0.8,
|
||||
% escapeinside=||,
|
||||
framesep=5mm,
|
||||
numbersep=7pt,
|
||||
fontsize=\small,
|
||||
}
|
||||
|
||||
% A box surrounding inline code-type text
|
||||
\newtcbox{\codehighlight}{nobeforeafter,boxrule=.5pt,colback=black!5,colframe=black!35,
|
||||
arc=2pt,boxsep=0pt,left=2pt,right=2pt,top=2pt,bottom=2pt, tcbox raise base}
|
||||
|
||||
% Quickly place inline codehighlight boxes
|
||||
\newcommand{\code}[1]{\codehighlight{\texttt{\small{#1}}}}
|
||||
|
||||
% A box surrounding figures
|
||||
\tcolorboxenvironment{figure}{
|
||||
enhanced,
|
||||
float=htb,
|
||||
arc=2pt,
|
||||
boxrule=0.5pt,
|
||||
colframe=black,
|
||||
colback=white,
|
||||
before skip=\intextsep,
|
||||
after skip=\intextsep,
|
||||
}
|
||||
Reference in New Issue
Block a user