Initial commit

This commit is contained in:
2026-06-23 19:09:26 +02:00
commit 5f447c955d
19 changed files with 21392 additions and 0 deletions
+810
View File
@@ -0,0 +1,810 @@
## Example resource file for ChkTeX.
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
##
## For more information visit https://www.nongnu.org/chktex/
##
## chktexrc file format
#
# The chktexrc file is essentially a bunch of variable assignments.
# There are two types of variables, those that take single items and
# those that take lists.
#
# In turn, there are two types of lists, case-sensitive and case-insensitive.
# Case-sensitive lists are delimited by @verb@{@endverb@ and @verb@}@endverb@
# while case-insensitive are delimited by @verb@[@endverb@ and @verb@]@endverb@.
# Only some variables support case insensitive lists, since in many
# cases it doesn't make sense and would be unnecessarily slow. Those
# variables that @emph@do@endemph@ support case-insensitive lists will be marked as
# such throughout the file.
#
# Variables can be set with or without an equals sign. If included, the
# @verb@=@endverb@ causes the variable to be overwritten. This is the only thing
# that makes sense for variables taking a single item and so we always
# include it in that case. For list variables, omitting the equals
# sign will cause the items in the list to be appended instead of
# overwriting the entire list.
#
# Below are all the ways in which a variable can be set. Note that lists
# can span lines, though this is not shown here for brevity.
#
#
# VariableName = item
# # Overwrites
# VariableName = { Item1 Item2 ... }
# VariableName = [ item1 item2 ... ]
# VariableName = { Item1 Item2 ... } [ item item ... ]
# VariableName = [ item1 item2 ... ] { Item Item ... }
# # Appends
# VariableName { Item3 Item4 ... }
# VariableName [ item3 item4 ... ]
# VariableName { Item3 Item4 ... } [ item item ... ]
# VariableName [ item3 item4 ... ] { Item Item ... }
#
#
# Comments begin with @verb@#@endverb@, and continue for the end of the line.
# Blank lines plus leading and trailing spaces are ignored.
# Items are separated by spaces.
# Newlines are considered spaces, but can't be escaped.
# You can use double quotes @verb@"@endverb@ to surround an item with spaces, or you can
# escape spaces as described later.
#
# Detection of tokens like @verb@}@endverb@ are somewhat context sensitive---they
# have to be preceded by a space (or newline). This allows them to be
# part of an item without escaping. Since some variables require such
# characters, this generally makes life easier.
#
# To include characters that might otherwise interfere, escape
# sequences are provided. They are similar to those in C, but use
# @verb@!@endverb@ instead of @verb@\@endverb@ for obvious reasons.
# The entire list is below.
#
# @bf Sequence @&@ @bf Resulting character @\\@
# @verb@! @endverb@ @&@ Space @\\@
# @verb@!"@endverb@ @&@ @verb@"@endverb@ @\\@
# @verb@!#@endverb@ @&@ @verb@#@endverb@ @\\@
# @verb@!!@endverb@ @&@ @verb@!@endverb@ @\\@
# @verb@!{@endverb@ @&@ @verb@{@endverb@ @\\@
# @verb@!}@endverb@ @&@ @verb@}@endverb@ @\\@
# @verb@![@endverb@ @&@ @verb@[@endverb@ @\\@
# @verb@!]@endverb@ @&@ @verb@]@endverb@ @\\@
# @verb@!=@endverb@ @&@ @verb@=@endverb@ @\\@
# @verb@!b@endverb@ @&@ Backspace @\\@
# @verb@!n@endverb@ @&@ New line @\\@
# @verb@!r@endverb@ @&@ Carriage return @\\@
# @verb@!t@endverb@ @&@ Tab @\\@
# @verb@!f@endverb@ @&@ Form feed @\\@
# @verb@!xNN@endverb@ @&@ NN must be a hexadecimal number (00 - ff),
# both characters must be included. @\\@
# @verb@!dNNN@endverb@ @&@ NNN must be a decimal number (000 - 255), all
# three characters must be included.
# Unspecified results if NNN > 377. @\\@
# @verb@!NNN@endverb@ @&@ NNN must be a octal number (000 - 377), all
# three characters must be included.
# Unspecified results if NNN > 377.
## Available Settings
#
# All available settings follow.
#
## QuoteStyle
#
# The type of quote-style you are using. There are currently two
# styles:
#
# Traditional:
# "An example," he said, "would be great."
#
# Logical:
# "An example", he said, "would be great".
#
QuoteStyle = Logical
## TabSize
#
# The width of a tab. This is used for formatting the error message.
# Only positive integers are allowed.
#
TabSize = 4
## CmdSpaceStyle
#
# How to treat a command is followed by punctuation. In all cases the
# warnings are also governed by the main warning settings, namely
# warnings 12 and 13 about interword and intersentence spacings.
#
# If set to Ignore, then it won't print any warnings when punctuation
# follows a command.
#
#
# If CmdSpaceStyle is set to InterWord, then it will print warnings
# when interword spacing should (potentially) be used. For example,
# without a command the following will trigger warning 12
#
# @verb@I've seen a UFOs, etc. in my life.@endverb@
#
# And if set to InterWord, so will
#
# @verb@I've seen a UFOs, \etc. in my life.@endverb@
#
#
# If set to InterSentence, then it will print warnings when
# intersentence spacing should (potentially) be used. For example,
# without a command the following will trigger warning 13
#
# @verb@I've seen an UFO! Right over there!@endverb@
#
# And if set to InterSentence, so will
#
# @verb@I've seen an \UFO! Right over there!@endverb@
#
#
# Setting CmdSpaceStyle to Both will cause warnings to be printed in
# both cases.
#
CmdSpaceStyle = Ignore
## CmdLine
#
# Default command-line options. For instance, you might like to put
# @verb@-v2@endverb@ here.
#
CmdLine
{
}
## UserWarn
#
# Arbitrary strings to warn about. You can put here to help you find
# your own little foibles. See also@ref@UserWarnRegex@endref@.
#
# These patterns will be searched for throughout the text; regardless
# of whether they appear as normal text, commands, in math mode, etc.
# They are @emph@not@endemph@ found in comments.
#
# Suppose you define a special command like this:
# \def\unknown{\large\bf??}
# which you use whenever you don't have some information at the time
# of writing. Thus, it makes sense to warn on it, and this is a
# convenient way to do so.
#
UserWarn
{
}
[ # You may put case-insensitive patterns here.
]
## UserWarnRegex
#
# A more sophisticated version UserWarn using regular
# expressions. Use of these will be automatically disabled if ChkTeX
# was built without regular expression support. Because ChkTeX can be
# with support for either POSIX or PCRE flavors of regular expression,
# some of the following will not apply in all cases. An expression
# can be defined only when PCRE is enabled by prepending the
# expression with PCRE: and similarly with POSIX:.
#
# These patterns will be searched for, no matter whether they appear
# as normal text, commands, or arguments. However, they will not
# match in verbatim environments (see VerbEnvir).
#
# Remember that you have to escape (with a !) the characters
# "#!=, as well as spaces and {}[] if they are
# proceeded by a space.
#
# When using PCRE regular expressions, you can use (?i) to make
# the expression case insensitive. See the man pages (man pcresyntax)
# or the nicely formatted http://perldoc.perl.org/perlre.html for
# documentation on the regular expression syntax. Note, however, that
# some the features of perl regular expression are not available such
# as running code (callouts), and replacing.
#
# An initial PCRE-style comment (?# ... ) can be used
# to change what is displayed, thereby reminding yourself how to fix
# the problem. This works even for POSIX expressions.
#
UserWarnRegex
{
# Old PG661 rules, kept as examples
# (?!#Use! \avatalk/! instead! of! writing! it! out!!)[^\\][Aa]va[Tt]alk|^[Aa]va[Tt]alk
# (?!#Use! professional! language!!)[Gg]ame|[Pp]layer
# (?!#Use! OptiTrack! not! Optitrack!!)optitrack|Optitrack
# (?!#Use! HMD! not! Headset!!)headset|Headset|HeadSet
# (?!#Use! Blendshape! not! Blend! Shape! or! Blend-Shape!!)[Bb]lend[! -][Ss]hape
# (?!#Capitalize! Presenter! and! Listener!!)presenter|listener
# (?!#Don't! capitalize! agents!!)! Agent
# (?!#Use! 2D! or! 3D!!)2-[Dd]imension|3-[Dd]imension|2d|3d|2! ![Dd]imension|3! ![Dd]imension
# (?!#It's! called! Netcode! for! GameObjects!!)NetCode|[Gg]ameobject
(?!#No! unbreakable! space! with! \autoref!!)~\\autoref
(?!#Use! ISO! dates! like! 2024-10-30!!)[^0-9][0-9][0-9][\./-][0-9][0-9][\./-][0-9][0-9][0-9][0-9]|[^0-9][0-9][0-9][\./-][0-9][0-9][\./-][0-9][0-9]|^[0-9][0-9][\./-][0-9][0-9][\./-][0-9][0-9][0-9][0-9]|^[0-9][0-9][\./-][0-9][0-9][\./-][0-9][0-9]
(?!#No! shortforms!!)isn't|aren't|wasn't|weren't|won't|can't|wouldn't|couldn't|hasn't|haven't|hadn't|it's|he's|she's|they're|we're|you're
#
# Disabled default rules for reference
#
# (?!#Always! use! \nmid)\\not! *(\||\\mid)
# Capitalize section when saying Section 6.
# (?!#-1:Capitalize! before! references)PCRE:\b(chapter|(sub)?section|theorem|lemma|proposition|corollary|appendix)~\\ref
# (?!#1:Capitalize! before! references)POSIX:([^[:alnum:]]|^)(chapter|(sub)?section|theorem|lemma|proposition|corollary|appendix)~\\ref
# Spell it introduction
# PCRE:(?i)\bintro\b(?!#Spell! it! out.! This! comment! is! not! used.)
# POSIX:([^[:alnum:]]|^)intro([^[:alnum:]]|$)
# Pretty tables--see http://texdoc.net/texmf-dist/doc/latex/booktabs/booktabs.pdf
# (?!#-2:Use! \toprule,! \midrule,! or! \bottomrule! from! booktabs)\\hline
# This relies on it being on a single line, and not having anything
# else on that line. With PCRE we could match balanced [] and {},
# but I wonder if it's worth the complexity...
# (?!#-2:Vertical! rules! in! tables! are! ugly)\\begin\{(array|tabularx?\*?)\}(\[.*\])?\{.*\|.*\}
# (?!#-3:Optional! arguments! []! inside! optional! arguments! []! must! be! enclosed! in! {})PCRE:\[(?!![^\]\[{}]*{(?!![^\]\[{}]*}))[^\]]*\[
}
## TeXInputs
#
# A list of paths where @ChkTeX@ should look for files it @verb@\input@endverb@s.
# By default, the current directory is searched (not recursively, use
# @verb@//@endverb@ for that, see below).
#
# A @verb@//@endverb@ postfix is supported:
# if you append a double path-separator we'll recursively search that
# directory's directories. MS-DOS users must append @verb@\\@endverb@
# instead, e.g. @verb@C:\EMTEX\\@endverb@. In order to search an
# entire directory tree, you must use @emph@three@endemph@ slashes,
# e.g. @verb@c:\\\@endverb@ or @verb@///@endverb@.
#
TeXInputs
{
}
## OutFormat
#
# Output formats which can be selected from the command-line. The
# @verb@-v@endverb@ option simply indexes into this list. By default, entry number
# @emph@two@endemph@ in this list is chosen (counting from 0), and @verb@-v@endverb@
# without any parameter selects entry number @emph@three@endemph@.
#
# For explanation of the @verb@%@endverb@ format specifiers see the
# documentation of the @verb@--format@endverb@ command-line argument
# in the manual.
#
# Recall that to use @verb@!@endverb@ is the escape character, not @verb@\@endverb@.
#
OutFormat
{
# -v0; silent mode
%f%b%l%b%c%b%n%b%m!n
# -v1; normal mode
"%k %n in %f line %l: %m!n%r%s%t!n%u!n"
# -v2; fancy mode
"%k %n in %f line %l: %m!n%r%i%s%I%t!n!n"
# -v3; lacheck mode
"!"%f!", line %l: %m!n"
# -v4; verbose lacheck mode
"!"%f!", line %l: %m!n%r%s%t!n%u!n"
# -v5; no line number, ease auto-test
"%k %n in %f: %m!n%r%s%t!n%u!n"
# -v6; emacs compilation mode
"!"%f!", line %l.%c:(#%n) %m!n"
}
## Silent
#
# Commands which should not trigger a warning if terminated by a space.
# This warning will not trigger in math mode.
#
# You can also specify regular expressions in the @verb@[]@endverb@
# section in case you have many custom macros that can be safely
# terminated with a space.
#
Silent
{
\rm \em \bf \it \sl \sf \sc \tt \selectfont
\rmfamily \sffamily \ttfamily \mdseries \bfseries \itshape
\slshape \scshape \relax
\vskip \pagebreak \nopagebreak
\textrm \textem \textbf \textit \textsl \textsf \textsc \texttt
\clearpage \ddots \dotfill \flushbottom \fussy \indent \linebreak
\onecolumn \pagebreak \pushtabs \poptabs \scriptsize \sloppy
\twocolumn \vdots
\today \kill \newline \thicklines \thinlines
\columnsep \space \item \tiny \footnotesize \small \normalsize
\normal \large \Large \LARGE \huge \Huge \printindex
\newpage \listoffigures \listoftables \tableofcontents
\maketitle \makeindex
\hline \hrule \vrule
\centering
\noindent \expandafter
\makeatletter \makeatother
\columnseprule
\textwidth \textheight \hsize \vsize
\if \fi \else
\csname \endcsname
\z@ \p@ \@warning \typeout
\dots \ldots \input \endinput \nextline \leavevmode \cdots
\appendix \listfiles \and \quad \bigskip \medskip \smallskip
\hskip \vfill \vfil \hfill \hfil \topmargin \oddsidemargin
\frenchspacing \nonfrenchspacing
\begingroup \endgroup \par
\vrefwarning \upshape \headheight \headsep \hoffset \voffset
\cdot \qquad \left \right \qedhere \xspace
\addlinespace \cr \fill \frontmatter
\toprule \midrule \bottomrule
}[
# Here you can put regular expressions to match Silent macros. It
# was designed for use with many custom macros sharing a common
# prefix, but can of course be used for other things.
# Support ConTeXt to at least some extent
\\start.* \\stop.*
]
## HyphDash
#
# The number of dashes allowed between two alphabetic characters.
# Use 0 to always return an error. For example:
# foo-bar @\\@
# Use of two--dashes is not usually allowed in English. @\\@
# like this---see?
#
# For English, this will often be a single dash (hyphen). If you like
# m-dashes with no spaces between them and the surrounding words, then
# it should include 3 as well. There @emph@are@endemph@ cases when an n-dash
# is valid between two alphabetic characters. See@ref@DashExcpt@endref@.
#
HyphDash { 1 3 }
## NumDash
#
# The number of dashes allowed between two numeric characters.
# Use 0 to always return an error. This does @emph@not@endemph@ apply in
# math mode. For example:
# 123--456 is a range @\\@
# $12-4$ \% okay because it's in math mode
#
# For English, this should be 2 because an n-dash is used to indicate
# a range of numbers and subtraction should be in math mode where this
# does not apply.
#
NumDash { 2 }
## WordDash
#
# The number of dashes allowed between two space characters.
# Use 0 to always return an error. For example:
# not like - this, @\\@
# or like -- this. @\\@
# like this --- see?
#
WordDash { 3 }
## DashExcpt
#
# Exceptions to the dash rules above. For example, an n-dash
# @verb@--@endverb@ between words is usually wrong, but in some cases it is correct,
# such as when naming a theorem. The Birch--Swinnerton-Dyer
# conjecture is one example where the difference matters. You can
# tell that Birch is one person and Swinnerton-Dyer is another based
# on the dashes used.
#
# Adding line suppressions for these is possible, but can quickly
# become tedious if a certain theorem is referenced often. For this
# reason exceptions can be specified here. They are case-sensitive.
#
# Unfortunately, there are no warnings if the dashes are surrounded by differing
# types of characters. For example:
# like this ---see? (space and alphabet) @\\@
# a--123 (number and alphabet) @\\@
# a.--b. (other character, namely @verb@.@endverb@)
# Similarly, no warnings are issued if the hyphenation is correct,
# according to the other rules, for example:
# Birch-Swinnerton-Dyer
#
DashExcpt
{
Birch--Swinnerton-Dyer
}
## WipeArg
#
# Commands whose arguments aren't @LaTeX@ code, and thus should be
# ignored.
#
# After the command, you may place arguments (separated from the
# command with a colon) that should be wiped. Use @verb@[]@endverb@ for optional
# arguments, @verb@{}@endverb@ for required ones, and @verb@*@endverb@ if the command supports a
# star variant. Some commands (e.g.\@ @verb@\cmidrule@endverb@) use @verb@()@endverb@ to
# delimit an optional argument and so this syntax is supported as well.
#
# For instance, if you would like to wipe the @verb@\newcommand@endverb@ command,
# you would declare it as @verb@\newcommand:*[][]{}@endverb@ since it has a
# star variant, two optional arguments, and one required argument.
#
# These commands may be ``evaluated'' before they're wiped, so you will
# typically list file handling commands and similar here.
#
WipeArg
{
\label:{} \ref:{} \eqref:{} \vref:{} \pageref:{} \index:[]{}
\cite:[][]{} \nocite:{}
\input:{} \verbatiminput:[]{} \listinginput:[]{}{}
\graphicspath:{}
\verbatimtabinput:[]{} \include:{} \includeonly:{}
\bibitem:[]{}
\cline:{} \cmidrule:[](){}
\href:{}{}
# Cleveref -- there are many others that could be here as well...
\cref:*{} \cpageref:*{} \crefrange:*{}{} \cpagerefrange:*{}{}
\Cref:*{} \Cpageref:*{} \Crefrange:*{}{} \Cpagerefrange:*{}{}
# natbib
\citet:*[][]{} \citep:*[][]{} \citealt:*{} \citealp:*[]{} \citeauthor:*{}
\Citet:*[][]{} \Citep:*[][]{} \Citealt:*{} \Citealp:*[]{} \Citeauthor:{}
\citetext:{} \citeyear:*{} \citeyearpar:{}
# biblatex - not including special commands
\autocite:*[][]{} \autocites:*[][]{} \Autocite:*[][]{} \Autocites:*[][]{}
\parencite:*[][]{} \parencites:*[][]{} \Parencite:*[][]{} \Parencites:*[][]{}
\footcite:*{} \footcites:*[][]{} \Footcite:*[][]{} \Footcites:*[][]{}
\textcite:*{} \textcites:*[][]{} \Textcite:*[][]{} \Textcites:*[][]{}
\citeauthor:*{} \citeauthors:*[][]{} \Citeauthor:*[][]{} \Citeauthors:*[][]{}
\citeyear:*{} \citeyears:*[][]{} \Citeyear:*[][]{} \Citeyears:*[][]{}
\citetitle:*{} \citetitles:*[][]{} \Citetitle:*[][]{} \Citetitles:*[][]{}
# tipa which uses "
\textipa:{}
# LuaTeX
\directlua:{} \luaescapestring:{}
}
## MathEnvir
#
# Environments which typeset their contents as mathematics.
# This turns on/off some warnings.
#
# A @verb@*@endverb@ variant is automatically added for each keyword.
#
MathEnvir
{
displaymath math eqnarray array equation
align alignat gather flalign multline
dmath dgroup darray
}
## TextEnvir
#
# Environments which typeset their contents as text, for use inside
# mathematics. This turns on/off some warnings.
#
TextEnvir
{
dsuspend
}
## MathCmd
#
# Commands whose argument will be typeset as mathematics.
# The commands are assumed to have one mandatory argument which is in
# math mode. This turns on/off some warnings.
#
MathCmd
{
\ensuremath
}
## TextCmd
#
# Commands whose argument will @emph@not@endemph@ be typeset as
# mathematics even if it would otherwise be in math mode.
# The commands are assumed to have one mandatory argument which is in
# text mode. This turns on/off some warnings.
#
TextCmd
{
\text \intertext \shortintertext \mbox \condition
}
## VerbEnvir
#
# Environments containing non-@LaTeX@ content of some kind, and
# therefore should not trigger any warnings.
#
# A @verb@*@endverb@ variant is automatically added for each keyword.
#
VerbEnvir
{
verbatim comment listing verbatimtab rawhtml errexam picture texdraw
filecontents pgfpicture tikzpicture minted lstlisting IPA
}
## Abbrev
#
# Abbreviations not automatically handled by @ChkTeX@.
#
# @ChkTeX@ automagically catches most abbreviations; the ones we need to
# list here, are those which are most likely to be followed by a word
# with an upper-case letter which is not the beginning of a new
# sentence.
#
# The case-insensitive abbreviations are not fully case-insensitive.
# Rather, only the first character is case-insensitive, while the
# remaining characters are case-sensitive.
#
# To speed up the searching process somewhat, we require that these
# end in a @verb@.@endverb@ which should not be a problem in practice.
#
# Much of this work (both the abbreviations below, and the regular
# expressions necessary to catch the remaining automatically) have
# been provided by Russ Bubley, <russ@scs.leeds.ac.uk>.
#
Abbrev
{
# Ordinals
1st. 2nd. 3rd. 4th.
# Titles
Mr. Mrs. Miss. Ms. Dr. Prof. St.
#
# Days
# Mon. Tue. Wed. Thu. Fri. Sat. Sun.
#
# Months
# Jan. Feb. Mar. Apr. May. Jun. Jul. Aug. Sep. Oct. Nov. Dec.
#
# Letters
# Kt. Jr.
#
# Corporate
# Co. Ltd.
#
# Addresses
# Rd. Dr. St. Ave. Cres. Gdns. Sq. Circ. Terr. Pl. Arc. La. Clo. Ho. Est. Gn.
#
# Misc.
# oe. pbab. ps. rsvp. Tx.
}
[
# The first letter is case-insensitive in the abbrevs in this
# list. Due to the nature of the checking algorithm used for
# this, entries consisting of only one character will be
# silently ignored.
#
# Latin
# cf. "et al." etc. qed. qv. viz.
#
# Corporate
# inc. plc.
#
# Misc
# fax. pcs. qty. tel. misc.
]
## IJAccent
#
# Commands which add accents above characters. This means that @verb@\i@endverb@ or @verb@\j@endverb@
# (@verb@\imath@endverb@ and @verb@\jmath@endverb@ in math mode) should be used instead of @verb@i@endverb@ and @verb@j@endverb@.
#
# Other accent commands such as @verb@\c@endverb@, @verb@\d@endverb@, and @verb@\b@endverb@, put their accent under
# the character, and thus should be used with normal @verb@i@endverb@s and @verb@j@endverb@s.
#
IJAccent
{
\hat \check \breve \acute \grave \tilde \bar \vec \dot \ddot
\' \` \^ \" \~ \= \. \u \v \H \t
}
## Italic
#
# Commands which need italic correction when the group is terminated.
#
Italic
{
\it \em \sl \itshape \slshape
}
## NonItalic
#
# Commands which makes the font non-italic.
#
NonItalic
{
\bf \rm \sf \tt \sc
\upshape
}
## ItalCmd
#
# Commands which put their argument into italic (and thus possibly
# needs italic correction in the end).
#
# This is currently empty, since @verb@\textit@endverb@, @verb@\textsl@endverb@, and @verb@\emph@endverb@
# automatically add italic correction.
#
ItalCmd
{
}
## PostLink
#
# Commands in front of which a page break is highly undesirable.
# Thus there should be no space in front of them.
#
PostLink
{
\index \label
}
## NotPreSpaced
#
# Commands that should not have a space in front of them for various
# reasons. Much the same as@ref@PostLink@endref@, but produces a different warning.
#
NotPreSpaced
{
\footnote \footnotemark \/
}
## Linker
#
# Commands that should be prepended with a @verb@~@endverb@. For example
# @verb@look in table~\ref{foo}@endverb@
# to avoid the references being split across lines.
#
Linker
{
\ref \vref \pageref \eqref \cite
}
## CenterDots
#
# Commands or characters which should have @verb@\cdots@endverb@ in between.
# For example, $1+2+3+\cdots+n$.
#
CenterDots
{
= + - \cdot \div & \times \geq \leq < >
}
## LowDots
#
# Commands or characters which should have @verb@\ldots@endverb@ in between.
# For example, $1,2,3,\ldots,n$.
#
LowDots
{
. , ;
}
## MathRoman
#
# Words that should appear in roman (upright) in math mode. There are
# certain aliases for mathematical operators (like sin or cos) that
# appear in roman rather than the usual italic (slanted) font.
#
# These entries do not need a leading slash since the mistake is often
# to @emph@not@endemph@ include the leading slash.
#
MathRoman
{
log lg ln lim limsup liminf sin arcsin sinh cos arccos cosh tan
arctan tanh cot coth sec csc max min sup inf arg ker dim hom det
exp Pr gcd deg bmod pmod mod
}
## Primitives
#
# Commands that are used in @TeX@ but have become unnecessary in
# @LaTeX@, as there are @LaTeX@ commands which do the same. Purists
# should thus avoid these in their code.
#
Primitives
{
\above \advance \catcode \chardef \closein \closeout \copy \count
\countdef \cr \crcr \csname \delcode \dimendef \dimen \divide
\expandafter \font \hskip \vskip \openout
}
## NoCharNext
#
# Commands and a set of characters that should @emph@not@endemph@ follow them. For
# example, in math mode, @verb@\left@endverb@ should be followed by a delimiter
# which is to change size. Therefore, it should not be followed by the
# end of math mode @verb@$@endverb@ or a grouping character @verb@{@endverb@ or @verb@}@endverb@.
#
# The format is @verb@\command:characters@endverb@.
#
NoCharNext
{
\left:{}$ \right:{}$
}
## VerbClear
#
# The character to replace verbatim text with.
#
# The arguments of commands listed in@ref@WipeArg@endref@, as well as
# @verb@\verb+...+@endverb@ commands, are replaced with an innocuous character
# to prevent that data from inadvertently producing a warning.
#
# This should not contain an alphabetic character (in case the user
# writes (@verb@\foo\verb+bar+@endverb@), neither should it contain be one of
# @LaTeX@'s reserved characters (@verb@#$%&~_^\{}@endverb@), or any parenthesis
# character (@verb@()[]{}@endverb@). If possible, don't use a punctuation
# character or any spacing characters either. All of these characters
# have warnings associated with them and thus could cause spurious
# warnings to appear.
#
# The asterisk is also unsuitable, as some commands behave in another
# way if they are appended with an asterisk. Which more or less
# leaves us with the pipe.
#
# Please note that this may also be a @verb@string@endverb@, which will be
# repeated until the proper length is reached.
#
VerbClear = "|"
## That's all for now - Happy @LaTeX@ing!
+424
View File
@@ -0,0 +1,424 @@
# Created by https://www.toptal.com/developers/gitignore/api/windows,linux,macos,visualstudiocode,sublimetext,latex
# Edit at https://www.toptal.com/developers/gitignore?templates=windows,linux,macos,visualstudiocode,sublimetext,latex
### LaTeX ###
## Core latex/pdflatex auxiliary files:
*.aux
*.lof
*.log
*.lot
*.fls
*.out
*.toc
*.fmt
*.fot
*.cb
*.cb2
.*.lb
## Intermediate documents:
*.dvi
*.xdv
*-converted-to.*
*.ist
# 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/
svg-inkscape/
_minted-*/
## 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
*.*-glg
*.*-glo
*.*-gls
*.glsdefs
*.lzo
*.lzs
# uncomment this for glossaries-extra (will ignore makeindex's style files!)
# *.ist
# gnuplottex
*-gnuplottex-*
# gregoriotex
*.gaux
*.gtex
# htlatex
*.4ct
*.4tc
*.idv
*.lg
*.trc
*.xref
# hyperref
*.brf
# knitr
*-concordance.tex
# TODO Comment the next line if you want to keep your tikz graphics files
*.tikz
*-tikzDictionary
# listings
*.lol
# luatexja-ruby
*.ltjruby
# makeidx
*.idx
*.ilg
*.ind
# minitoc
*.maf
*.mlf
*.mlt
*.mtc
*.mtc[0-9]*
*.slf[0-9]*
*.slt[0-9]*
*.stc[0-9]*
# minted
_minted*
*.pyg
# morewrites
*.mw
# nomencl
*.nlg
*.nlo
*.nls
# pax
*.pax
# pdfpcnotes
*.pdfpc
# sagetex
*.sagetex.sage
*.sagetex.py
*.sagetex.scmd
# scrwfile
*.wrt
# sympy
*.sout
*.sympy
sympy-plots-for-*.tex/
# pdfcomment
*.upa
*.upb
# pythontex
*.pytxcode
pythontex-files-*/
# tcolorbox
*.listing
# thmtools
*.loe
# TikZ & PGF
*.dpth
*.md5
*.auxlock
# 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
# 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
### LaTeX Patch ###
# LIPIcs / OASIcs
*.vtc
# glossaries
*.glstex
### 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*
### 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
### SublimeText ###
# Cache files for Sublime Text
*.tmlanguage.cache
*.tmPreferences.cache
*.stTheme.cache
# Workspace files are user-specific
*.sublime-workspace
# Project files should be checked into the repository, unless a significant
# proportion of contributors will probably not be using Sublime Text
# *.sublime-project
# SFTP configuration file
sftp-config.json
# Package control specific files
Package Control.last-run
Package Control.ca-list
Package Control.ca-bundle
Package Control.system-ca-bundle
Package Control.cache/
Package Control.ca-certs/
Package Control.merged-ca-bundle
Package Control.user-ca-bundle
oscrypto-ca-bundle.crt
bh_unicode_properties.cache
# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
### VisualStudioCode ###
.vscode/*
!.vscode/tasks.json
!.vscode/launch.json
*.code-workspace
### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.toptal.com/developers/gitignore/api/windows,linux,macos,visualstudiocode,sublimetext,latex
# Ignore compiled pdf documents (I don't have any .pdf graphics)
*.pdf
# Ignore latexindent backups
*.bak*
# Ignore tcblistof output
*.listings
+17
View File
@@ -0,0 +1,17 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter*{Abstract}\label{ch:abstract}
\addcontentsline{toc}{chapter}{\nameref{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}.
This thesis investigates \Gls{wamr}'s compatibility with hardening techniques for transient hardware faults through systematic single-bit fault injection on a simulated IA-32 CPU using the \Gls{fail} fault-injection framework.
The interpreter and \Gls{aot} execution modes of \Gls{wamr} are compared under fault conditions and software-based hardening techniques are evaluated at two levels: (I) the language/application level, by hardening source programs before compilation to Wasm, and (II) the runtime level, by hardening \Gls{wamr} itself.
\todo[inline]{Copied from proposal}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Introduction}\label{ch:introduction}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Related Work}\label{ch:relatedwork}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Experiment Design}\label{ch:experimentdesign}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Experiment Setup}\label{ch:experimentsetup}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Results}\label{ch:results}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Discussion}\label{ch:discussion}
\end{document}
+8
View File
@@ -0,0 +1,8 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Conclusion}\label{ch:conclusion}
\end{document}
+29
View File
@@ -0,0 +1,29 @@
\documentclass[thesis.tex]{subfiles}
\graphicspath{figures}
\begin{document}
\chapter{Examples}\label{ch:examples}
See if everything works:
This is \code{inline code}.
This is a reference to \Gls{fail}.
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} \).
\begin{codeblock}[label=lst:examplelisting]{This is a listing}{C++}
\inputminted{cpp}{listings/example.cpp}
\end{codeblock}
\begin{figure}[H]
\centering
\begin{subfigure}[b]{0.55\textwidth}
\includesvg[width=1.0\linewidth]{figures/example.svg}
\end{subfigure}
\caption{This is a figure.}\label{fig:examplefigure}
\end{figure}
\end{document}
+19563
View File
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 1.9 MiB

+30
View File
@@ -0,0 +1,30 @@
\makeglossaries{}
% Refer to entries using \gls, \Gls, \glspl, \Glspl
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Acronyms
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \newacronym{acpi}{ACPI}{Advanced Configuration and Power Interface}
\newacronym{aot}{AoT}{Ahead-of-Time}
\newacronym{fi}{FI}{Fault Injection}
\newacronym{fail}{FAIL*}{Fault Injection Leveraged}
\newacronym{sdc}{SDC}{Silent Data Corruption}
\newacronym{wamr}{WAMR}{WebAssembly Micro Runtime}
\newacronym{wasm}{Wasm}{WebAssembly}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Glossary Entries
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% \newglossaryentry{apic timer}{%
% name={APIC Timer},
% description={A hardware timer that can trigger periodic interrupts by using a counter, integrated in the local APIC}
% }
% \newglossaryentry{fail}{%
% name={FAIL*},
% description={Fault Injection Leveraged, a \Gls{fi} framework}
% }
+7
View File
@@ -0,0 +1,7 @@
class ExampleListing {
private:
int test;
public:
int toast;
};
+314
View File
@@ -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,
}
+33
View File
@@ -0,0 +1,33 @@
@article{polednaReplicaDeterminismDistributed1994,
title = {Replica Determinism in Distributed Real-Time Systems: {{A}} Brief
Survey},
shorttitle = {Replica Determinism in Distributed Real-Time Systems},
author = {Poledna, Stefan},
date = {1994-05},
journaltitle = {Real-Time Systems},
shortjournal = {Real-Time Syst},
volume = {6},
number = {3},
pages = {289--316},
issn = {0922-6443, 1573-1383},
doi = {10.1007/BF01088629},
url = {http://link.springer.com/10.1007/BF01088629},
urldate = {2026-03-26},
abstract = {Replication of entities is a convenient technique to achieve
fault-tolerance. The problem of replica determinism thereby is to
assure, that replicated entities show consistent behavior in the
absence of failures. Possible sources for replica non-determinism
as well as basic requirements and strategies to enforce replica
determinism axe presented. The problem of replica determinism
enforcement under real-time constraints is surveyed in the
context of the communication problem for distributed systems.
Furthermore the close interdependence between replica determinism
on the one side and synchronization strategies, handling of
failures and redundancy preservation on the other side is
reviewed. The impact of synchronous or asynchronous approaches on
replication strategies is also discussed.},
langid = {english},
file = {/home/christoph/Notes/Zotero/storage/DB8GU2TK/Poledna - 1994 -
Replica determinism in distributed real-time systems A brief
survey.pdf},
}
+41
View File
@@ -0,0 +1,41 @@
\documentclass[a4paper,11pt,twoside]{book} % Add final to silence TODOs
\input{preamble.tex}
\input{glossary.tex}
\begin{document}
\subfile{chapters/00_abstract.tex}
\cleardoublepage%
\subfile{chapters/examples.tex}
\cleardoublepage%
\subfile{chapters/01_introduction.tex}
\cleardoublepage%
\subfile{chapters/02_related_work.tex}
\cleardoublepage%
\subfile{chapters/03_experiment_design.tex}
\cleardoublepage%
\subfile{chapters/04_experiment_setup.tex}
\cleardoublepage%
\subfile{chapters/05_results.tex}
\cleardoublepage%
\subfile{chapters/06_discussion.tex}
\cleardoublepage%
\subfile{chapters/07_conclusion.tex}
\cleardoublepage%
% Appendix
% \backmatter% % Backmatter breaks reference counters into appendices
\pagenumbering{Roman}
\appendix
\end{document}
+68
View File
@@ -0,0 +1,68 @@
\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}
\thesisend{31st of December 2026}
\advisors{Prof.\ Dr.-ing.~Peter Ulbrich\\Dr.~Maximilian Seidler}
\date{\today}
\begin{titlepage}
\setstretch{1.25}
\definecolor{TUGreen}{rgb}{0.517,0.721,0.094}
% \vspace*{-3cm}
\newlength{\links}
\setlength{\links}{-1.5cm}
\sffamily
\hspace*{\links}
\begin{minipage}{12.5cm}
\includegraphics[width=8cm]{tudo/tud_logo_rgb}
\end{minipage}
\vspace*{4cm}
\hspace*{\links}
\hspace*{-0.2cm}
\begin{minipage}{9cm}
\large
\begin{center}
{\Large \thethesistype} \\
\vspace*{1cm}
\textbf{\thetitle} \\
\vspace*{1cm}
\theauthor\\
\thethesisend%
\end{center}
\end{minipage}
\normalsize
\vspace*{5.5cm}
\vspace*{2.1cm}
\hspace*{\links}
\begin{minipage}[b]{8cm}
% \normalsize
\raggedright%
Advisors: \\
\theadvisors%
\end{minipage}
\vspace*{2.5cm}
\hspace*{\links}
\begin{minipage}[b]{8cm}
\raggedright%
Technische Universität Dortmund \\
Fakultät für Informatik\\
Lehrstuhl 12 -- Arbeitsgruppe Systemsoftware\\
\oldurl{https://sys.cs.tu-dortmund.de}
\end{minipage}
\begin{minipage}[b]{7cm}
\raggedleft%
In Kooperation mit:\\
Fakultätsname\\
Lehrstuhl-/Institutsbezeichnung
\end{minipage}
\end{titlepage}
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB