From 8e5b1697ad679b5e5f4bd8735ada2da8817f66cc Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Tue, 30 Jun 2026 15:09:14 +0200 Subject: [PATCH] Switch to scrbook class for sans-serif headings --- chapters/00_abstract/00_00_abstract.tex | 3 +- .../01_introduction/01_00_introduction.tex | 2 + .../02_related_work/02_00_related_work.tex | 5 + chapters/03_background/03_00_background.tex | 14 ++ .../03_00_experiment_design.tex | 8 -- chapters/examples/examples.tex | 7 +- preamble.tex | 127 ++++++++++-------- thesis.tex | 14 +- titlepage.tex | 9 +- tudo/tud_logo_rgb.jpg => tud_logo_rgb.jpg | Bin 10 files changed, 108 insertions(+), 81 deletions(-) create mode 100644 chapters/03_background/03_00_background.tex delete mode 100644 chapters/03_experiment_design/03_00_experiment_design.tex rename tudo/tud_logo_rgb.jpg => tud_logo_rgb.jpg (100%) diff --git a/chapters/00_abstract/00_00_abstract.tex b/chapters/00_abstract/00_00_abstract.tex index ffe1cdf..943a955 100644 --- a/chapters/00_abstract/00_00_abstract.tex +++ b/chapters/00_abstract/00_00_abstract.tex @@ -3,8 +3,7 @@ \begin{document} -\chapter*{Abstract}\label{ch:abstract} -\addcontentsline{toc}{chapter}{\nameref{ch:abstract}} +\addchap{Abstract}\label{ch:abstract} As semiconductor node sizes shrink, transient hardware faults pose a growing risk to computing systems, especially in environments where reliability is critical. \Gls{wasm}, a binary-code format developed for the web, is increasingly used in embedded systems through standalone runtimes such as the \Gls{wamr}. diff --git a/chapters/01_introduction/01_00_introduction.tex b/chapters/01_introduction/01_00_introduction.tex index 26df2b7..211cad9 100644 --- a/chapters/01_introduction/01_00_introduction.tex +++ b/chapters/01_introduction/01_00_introduction.tex @@ -5,4 +5,6 @@ \chapter{Introduction}\label{ch:introduction} +\lipsum% + \end{document} diff --git a/chapters/02_related_work/02_00_related_work.tex b/chapters/02_related_work/02_00_related_work.tex index c999676..8a2c10d 100644 --- a/chapters/02_related_work/02_00_related_work.tex +++ b/chapters/02_related_work/02_00_related_work.tex @@ -5,4 +5,9 @@ \chapter{Related Work}\label{ch:relatedwork} +\begin{itemize} + \item FAIL* paper/dissertation + \item Hardening papers +\end{itemize} + \end{document} diff --git a/chapters/03_background/03_00_background.tex b/chapters/03_background/03_00_background.tex new file mode 100644 index 0000000..a9c8d1e --- /dev/null +++ b/chapters/03_background/03_00_background.tex @@ -0,0 +1,14 @@ +%! TeX program = lualatex +\documentclass[../../thesis.tex]{subfiles} + +\begin{document} + +\chapter{Background}\label{ch:background} + +\begin{itemize} + \item Related work + \item Relevant information on WebAssembly + \item Relevant information on FAIL* +\end{itemize} + +\end{document} diff --git a/chapters/03_experiment_design/03_00_experiment_design.tex b/chapters/03_experiment_design/03_00_experiment_design.tex deleted file mode 100644 index 2efe278..0000000 --- a/chapters/03_experiment_design/03_00_experiment_design.tex +++ /dev/null @@ -1,8 +0,0 @@ -%! TeX program = lualatex -\documentclass[../../thesis.tex]{subfiles} - -\begin{document} - -\chapter{Experiment Design}\label{ch:experimentdesign} - -\end{document} diff --git a/chapters/examples/examples.tex b/chapters/examples/examples.tex index 7b94c63..aeca8ca 100644 --- a/chapters/examples/examples.tex +++ b/chapters/examples/examples.tex @@ -3,9 +3,10 @@ \begin{document} +% \addchap{Examples}\label{ch:examples} \chapter{Examples}\label{ch:examples} -See if everything works: +\todo[inline]{Sanity check so everything looks correct} This is \code{inline code}. This is a reference to \Gls{fail}. @@ -13,6 +14,8 @@ This is another reference to \Gls{fail}. This is a citation~\autocite{polednaReplicaDeterminismDistributed1994}. This is a reference to \autoref{ch:introduction}. This is a formula: \( \sum\limits_{f=1}^{\infty}\frac{o}{r}\cdot m_{u} + l^{a} \). +This is \textbf{bold text that is slightly bold}, so underwhelming. +In contrast, \sansbf{this text is very strong}, very cool\footnote{very cool}. \begin{codeblock}[label=lst:examplelisting]{This is a listing}{C++} \inputminted{cpp}{\subfix{listings/example.cpp}} @@ -26,4 +29,6 @@ This is a formula: \( \sum\limits_{f=1}^{\infty}\frac{o}{r}\cdot m_{u} + l^{a} \ \caption{This is a figure.}\label{fig:examplefigure} \end{figure} +\lipsum% + \end{document} diff --git a/preamble.tex b/preamble.tex index 4d5a968..eff9262 100644 --- a/preamble.tex +++ b/preamble.tex @@ -6,18 +6,22 @@ % 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,seconds=true]{biblatex} +\bibliography{references} \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 +\usepackage[font=small,labelfont=bf,labelsep=endash,margin=1cm,hypcap]{caption} +\usepackage[margin=1cm,hypcap]{subcaption} % Mehrere Figuren in einer +% \usepackage{float} % [H] floating/positioning von Figuren +\usepackage{floatbytocbasic} % float for komascript +% \usepackage[bottom,multiple]{footmisc} % Bottom not below footnote +\usepackage{flafter} +\usepackage{placeins} % \FloatBarrier to flush floats % Math \usepackage{amsmath,amsthm} % Don't load amssymb with concmath-otf @@ -27,7 +31,8 @@ \usepackage{lualatex-math} % Tables -\usepackage{tabularx} +\usepackage{booktabs} +% \usepackage{tabularx} % \usepackage{tablefootnote} % \usepackage{makecell} % \usepackage{color,colortbl} @@ -37,30 +42,44 @@ \usepackage{algpseudocode} \usepackage{xcolor} \usepackage{tikz} -\usepackage{listings} % For lstinputlisting ChkTeX +\usetikzlibrary{shadings, backgrounds} \usepackage[minted]{tcolorbox} +\tcbuselibrary{skins} % breakable % Typography -\usepackage[babel,final,protrusion=true,expansion=true,tracking=false,kerning=false,spacing=false]{microtype} -\usepackage{fontspec} +% \usepackage{fontspec} \usepackage{concmath-otf} +\usepackage[babel,final,protrusion=true,expansion=true,tracking=false,kerning=false,spacing=false]{microtype} \setmonofont{MonoLisa Alt}[Scale=MatchLowercase] +% Pagestyle +\KOMAoptions{% + chapterprefix, + appendixprefix, + headsepline, + % footsepline, + % cleardoublepage=current, + method=right, % start chapters on the right + cleardoublepage=plain, % linenumbers on interleaf pages + footnotes=multiple, % TODO: Doesn't work, maybe because of hyperref? +} + % Various stuff \usepackage[page]{appendix} % [toc] \usepackage{lipsum} \usepackage[inkscapelatex=false]{svg} % Don't touch fonts -\usepackage{comment} +% \usepackage{comment} \usepackage{pdfpages} \usepackage{luatodonotes} \usepackage{siunitx} +\sisetup{detect-all} \usepackage[l2tabu,orthodox]{nag} -\usepackage{etoolbox} % For \ifstrequal +% \usepackage{etoolbox} % For \ifstrequal \usepackage[autostyle]{csquotes} % Correct quotation marks with \textquote{} \usepackage{silence} % Silence warnings -\usepackage[intoc]{nomencl} % Nomenclature +% \usepackage[intoc]{nomencl} % Nomenclature \usepackage[luatex,hidelinks]{hyperref} % Load late -\usepackage[acronym,automake,nonumberlist,nogroupskip]{glossaries} % Load after hyperref, toc +\usepackage[acronym,automake,nonumberlist,nogroupskip,toc]{glossaries} % Load after hyperref, toc \usepackage{xurl} % xurl does url-line-breaks in contrast to url % Multi-file @@ -68,16 +87,18 @@ % 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} + +% Allow more (and larger) floats on text pages +\renewcommand{\topfraction}{0.9} % use up to ..% of space on top +\renewcommand{\bottomfraction}{0.8} % use up to ..% of space on bottom +\setcounter{topnumber}{4} % place up to .. on top +\setcounter{bottomnumber}{1} % place up to .. on bottom +\setcounter{totalnumber}{4} % place up to .. total +\renewcommand{\textfraction}{0.07} % allow down to ..% of text +\renewcommand{\floatpagefraction}{0.7} % fill at least ..% of float pages (must be less than \topfraction) \mathtoolsset{showonlyrefs} \usepackage{xpatch} @@ -93,24 +114,21 @@ % \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)} +\let\oldref\ref% +\let\ref\undefined% +\newcommand{\ref}[1]{\PackageError{Thesis}{REF:\ Use \autoref{label} instead}{}} + +\let\oldcite\cite% +\let\cite\undefined% +\newcommand{\cite}[1]{\PackageError{Thesis}{CITE:\ Use \autocite{ref} instead}{}} + +\newcommand{\sansbf}[1]{{\usekomafont{disposition}#1}} + \renewcommand{\author}[1]{\gdef\theauthor{#1}} \renewcommand{\title}[1]{\gdef\thetitle{#1}} \newcommand{\germantitle}[1]{\gdef\thegermantitle{#1}} @@ -124,6 +142,9 @@ \newcommand{\advisors}[1]{\gdef\theadvisors{#1}} \newcommand{\dean}[1]{\gdef\thedean{#1}} +% Hyphenation +\hyphenation{Web-Assembly} + % 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}) @@ -148,47 +169,31 @@ pdfcreator={LuaLaTeX} } - % Macros - % \renewcommand{\ref}[1]{\autoref{#1}} - \let\oldref\ref% - \let\ref\undefined% - \newcommand{\ref}[1]{\PackageError{Thesis}{REF:\ Use \autoref{label} instead}{}} - - \let\oldcite\cite% - \let\cite\undefined% - \newcommand{\cite}[1][\PackageError{Thesis}{CITE:\ Use \autocite{ref} instead}{}] - - % Visualize "overfull-hbox" - \overfullrule=2cm - - % \pagestyle{empty} - % \pagenumbering{gobble} - % Starting pages - \frontmatter% + \pagestyle{empty} + \pagenumbering{gobble} \input{titlepage} \cleardoublepage% - % \pagestyle{plain} + \frontmatter% + \pagestyle{plain} % \pagenumbering{Roman} - % \tableofcontents{\thispagestyle{plain}} \tableofcontents% \cleardoublepage% - % \pagestyle{report} - \setacronymstyle{short-long} \printglossary[type=\acronymtype] \cleardoublepage% \printglossary% \mainmatter% + \pagestyle{headings} % \pagenumbering{arabic} } \AtEndDocument{ - % \pagestyle{empty} - % \pagenumbering{gobble} + \backmatter% + \pagestyle{plain} \let\url\undefined% \let\url\oldurl% @@ -196,22 +201,30 @@ \let\cite\oldcite% \printbibliography[heading=bibintoc] + % \printbibliography% \cleardoublepage% + \phantomsection% + \addcontentsline{toc}{chapter}{Lists} + \listoffigures% + \addcontentsline{toc}{section}{List of Figures} \cleardoublepage% \listofalgorithms% - % \addcontentsline{toc}{chapter}{List of Algorithms} + \addcontentsline{toc}{section}{List of Algorithms} \cleardoublepage% \tcblistof[\chapter*]{listings}{List of Listings} - % \addcontentsline{toc}{chapter}{List of Listings} + \addcontentsline{toc}{section}{List of Listings} \cleardoublepage% \listoftables% + \addcontentsline{toc}{section}{List of Tables} \cleardoublepage% + \phantomsection% + \addcontentsline{toc}{chapter}{Statutory Declaration} \includepdf[pages=-]{declaration.pdf} } diff --git a/thesis.tex b/thesis.tex index 081350c..0033fc8 100644 --- a/thesis.tex +++ b/thesis.tex @@ -1,13 +1,12 @@ %! TeX program = lualatex -\documentclass[a4paper,11pt,twoside]{book} % Add final to silence TODOs +\documentclass[a4paper,11pt,twoside,overfullrule]{scrbook} % Add final to silence TODOs \input{preamble.tex} \input{glossary.tex} \begin{document} -\subfile{chapters/examples/examples.tex} -\cleardoublepage% +% TODO: Double check the autofilled Zotero references \subfile{chapters/00_abstract/00_00_abstract.tex} \cleardoublepage% @@ -18,7 +17,7 @@ \subfile{chapters/02_related_work/02_00_related_work.tex} \cleardoublepage% -\subfile{chapters/03_experiment_design/03_00_experiment_design.tex} +\subfile{chapters/03_background/03_00_background.tex} \cleardoublepage% \subfile{chapters/04_experiment_setup/04_00_experiment_setup.tex} @@ -33,10 +32,9 @@ \subfile{chapters/07_conclusion/07_00_conclusion.tex} \cleardoublepage% -% Appendix - -\backmatter% % Backmatter breaks reference counters into appendices -% \pagenumbering{Roman} \appendix +\subfile{chapters/examples/examples.tex} +\cleardoublepage% + \end{document} diff --git a/titlepage.tex b/titlepage.tex index 99bc887..f4d9041 100644 --- a/titlepage.tex +++ b/titlepage.tex @@ -1,10 +1,9 @@ \author{Christoph Urlacher} \title{Experimental Evaluation of WebAssembly Under Transient Fault Conditions for Safety-Critical Systems} \thesistype{Master's Thesis} -% \thesisid{IDIDID} -% \birthday{1st of January 2000} -% \birthplace{Ratingen} -% \thesisstart{1st of July 2026} +\birthday{1st of January 2000} +\birthplace{Ratingen} +\thesisstart{1st of July 2026} \thesisend{31st of December 2026} \advisors{Prof.\ Dr.-ing.~Peter Ulbrich\\Dr.~Maximilian Seidler} \date{\today} @@ -18,7 +17,7 @@ \sffamily \hspace*{\links} \begin{minipage}{12.5cm} - \includegraphics[width=8cm]{tudo/tud_logo_rgb} + \includegraphics[width=8cm]{tud_logo_rgb.jpg} \end{minipage} \vspace*{4cm} diff --git a/tudo/tud_logo_rgb.jpg b/tud_logo_rgb.jpg similarity index 100% rename from tudo/tud_logo_rgb.jpg rename to tud_logo_rgb.jpg