Browse Source

add thesis template

master
Constantin Fürst 1 year ago
parent
commit
c416b8d48d
  1. 17
      thesis/.editorconfig
  2. 24
      thesis/.latexmkrc
  3. BIN
      thesis/2023-11-13_104331_DRAFT_Bachelorarbeit_master.pdf
  4. 28
      thesis/CHECKLIST
  5. 164
      thesis/README.md
  6. 9
      thesis/THANKS
  7. 122
      thesis/bachelor.aux
  8. 173
      thesis/bachelor.bbl
  9. 2396
      thesis/bachelor.bcf
  10. 15
      thesis/bachelor.blg
  11. 345
      thesis/bachelor.fdb_latexmk
  12. 657
      thesis/bachelor.fls
  13. 16
      thesis/bachelor.lof
  14. 1878
      thesis/bachelor.log
  15. 15
      thesis/bachelor.lot
  16. BIN
      thesis/bachelor.pdf
  17. 87
      thesis/bachelor.run.xml
  18. 12
      thesis/bachelor.tdo
  19. 102
      thesis/bachelor.tex
  20. 21
      thesis/bachelor.toc
  21. 674
      thesis/checkbiw/COPYING
  22. 1
      thesis/checkbiw/MAINTAINER
  23. 17
      thesis/checkbiw/TODO
  24. 340
      thesis/checkbiw/contrib/diction/COPYING
  25. 183
      thesis/checkbiw/contrib/diction/INSTALL
  26. 108
      thesis/checkbiw/contrib/diction/Makefile.in
  27. 10
      thesis/checkbiw/contrib/diction/NEWS
  28. 22
      thesis/checkbiw/contrib/diction/README
  29. 1400
      thesis/checkbiw/contrib/diction/config.guess
  30. 14
      thesis/checkbiw/contrib/diction/config.h.in
  31. 1469
      thesis/checkbiw/contrib/diction/config.sub
  32. 4326
      thesis/checkbiw/contrib/diction/configure
  33. 63
      thesis/checkbiw/contrib/diction/configure.in
  34. 61
      thesis/checkbiw/contrib/diction/de
  35. 389
      thesis/checkbiw/contrib/diction/de.po
  36. 121
      thesis/checkbiw/contrib/diction/diction.1.in
  37. 389
      thesis/checkbiw/contrib/diction/diction.c
  38. 356
      thesis/checkbiw/contrib/diction/diction.pot
  39. 57
      thesis/checkbiw/contrib/diction/diction.spec
  40. 57
      thesis/checkbiw/contrib/diction/diction.spec.in
  41. 272
      thesis/checkbiw/contrib/diction/diction.texi.in
  42. 680
      thesis/checkbiw/contrib/diction/en
  43. 1051
      thesis/checkbiw/contrib/diction/getopt.c
  44. 133
      thesis/checkbiw/contrib/diction/getopt.h
  45. 189
      thesis/checkbiw/contrib/diction/getopt1.c
  46. 276
      thesis/checkbiw/contrib/diction/install-sh
  47. 61
      thesis/checkbiw/contrib/diction/misc.c
  48. 22
      thesis/checkbiw/contrib/diction/misc.h
  49. 292
      thesis/checkbiw/contrib/diction/sentence.c
  50. 32
      thesis/checkbiw/contrib/diction/sentence.h
  51. 390
      thesis/checkbiw/contrib/diction/style.1.in
  52. 1001
      thesis/checkbiw/contrib/diction/style.c
  53. 3
      thesis/checkbiw/contrib/diction/test/rundiction.in
  54. 22
      thesis/checkbiw/contrib/diction/test/test01
  55. 22
      thesis/checkbiw/contrib/diction/test/test02
  56. 22
      thesis/checkbiw/contrib/diction/test/test03
  57. 22
      thesis/checkbiw/contrib/diction/test/test04
  58. 28
      thesis/checkbiw/contrib/diction/test/test05
  59. 29
      thesis/checkbiw/contrib/diction/test/test06
  60. 170
      thesis/checkbiw/doc/manpage.txt
  61. 45
      thesis/checkbiw/doc/manual.gosh
  62. 307
      thesis/checkbiw/doc/mustread.txt
  63. 7
      thesis/checkbiw/doc/own.bib
  64. 331
      thesis/checkbiw/src/biw
  65. 213
      thesis/checkbiw/src/checkbiw
  66. 10
      thesis/checkbiw/src/cite-space
  67. 19
      thesis/checkbiw/src/emdash-nospace
  68. 13
      thesis/checkbiw/src/emdash-space
  69. 211
      thesis/checkbiw/src/lang-american
  70. 28
      thesis/checkbiw/src/passive
  71. 28
      thesis/content/00_title.tex
  72. 13
      thesis/content/01_disclaimer.tex
  73. 19
      thesis/content/02_abstract.tex
  74. 170
      thesis/content/10_introduction.aux
  75. 94
      thesis/content/10_introduction.tex
  76. 154
      thesis/content/20_state.aux
  77. 40
      thesis/content/20_state.tex
  78. 154
      thesis/content/30_design.aux
  79. 29
      thesis/content/30_design.tex
  80. 154
      thesis/content/40_implementation.aux
  81. 31
      thesis/content/40_implementation.tex
  82. 154
      thesis/content/50_evaluation.aux
  83. 21
      thesis/content/50_evaluation.tex
  84. 154
      thesis/content/60_futurework.aux
  85. 12
      thesis/content/60_futurework.tex
  86. 154
      thesis/content/70_conclusion.aux
  87. 27
      thesis/content/70_conclusion.tex
  88. 1
      thesis/default.nix
  89. 1
      thesis/gosh
  90. BIN
      thesis/images/bachelor-aufgabe.pdf
  91. BIN
      thesis/images/squirrel.jpg
  92. 24
      thesis/nix/build.nix
  93. 13
      thesis/nix/release.nix
  94. 26
      thesis/nix/sources.json
  95. 197
      thesis/nix/sources.nix
  96. 14
      thesis/nix/tex-toolchain.nix
  97. 74
      thesis/own.bib
  98. 3
      thesis/preamble/color.tex
  99. 6
      thesis/preamble/newcommands.tex
  100. 39
      thesis/preamble/packages.tex

17
thesis/.editorconfig

@ -0,0 +1,17 @@
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
[Makefile]
indent_style = tab
[*.tex]
max_line_length = 100

24
thesis/.latexmkrc

@ -0,0 +1,24 @@
# make sure that "makeglossaries" works with latexmk
# # https://tex.stackexchange.com/questions/1226/how-to-make-latexmk-use-makeglossaries/44316#44316
add_cus_dep('glo', 'gls', 0, 'run_makeglossaries');
add_cus_dep('acn', 'acr', 0, 'run_makeglossaries');
sub run_makeglossaries {
if ( $silent ) {
system "makeglossaries -q -s '$_[0].ist' '$_[0]'";
}
else {
system "makeglossaries -s '$_[0].ist' '$_[0]'";
};
}
push @generated_exts, 'glo', 'gls', 'glg';
push @generated_exts, 'acn', 'acr', 'alg';
# -----------------------------------
# Clean everything.
# https://tex.stackexchange.com/questions/84006
# https://tex.stackexchange.com/questions/83341
$clean_ext .= ' %R.ist %R.xdy %R.bbl %R.glsdefs %R.run.xml %R.lol %R.tdo';

BIN
thesis/2023-11-13_104331_DRAFT_Bachelorarbeit_master.pdf

28
thesis/CHECKLIST

@ -0,0 +1,28 @@
http://www.ics.mq.edu.au/~rdale/resources/writingnotes/latexstyle.html#dashes
* Dashes
The single minus —the hyphen— appears within words; use the double
minus — the en-dash — in number ranges; and use the treble dash, or
em-dash, as in the previous clauses here.
* Headings
In section headings, capitalize all words except closed class words
(i.e., prepositions, conjuctions, and so on).
in subsection headings and below, only capitalize the first word and
any proper names.
* Structure
Tell them what you're going to tell them, tell them it, then tell them
you've told them it.
* Footnotes
Don't put a space before a \footnote command. Put the footnote after
the punctuation mark it is next to, not before it.
Make sure you include a full stop at the end of the footnote text. And
make sure your footnotes are complete sentences.

164
thesis/README.md

@ -0,0 +1,164 @@
[![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)
## 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 <dein-gescanntes-bild> 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 <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.

9
thesis/THANKS

@ -0,0 +1,9 @@
This template has formerly been developed by
Martin Pohlack
Thanks for contributions goes to:
Frank Mehnert
Torvald Riegel
Michael Roitzsch
Björn Döbel

122
thesis/bachelor.aux

@ -0,0 +1,122 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\providecommand*\new@tpo@label[2]{}
\providecommand\babel@aux[2]{}
\@nameuse{bbl@beforestart}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\providecommand\BKM@entry[2]{}
\@writefile{toc}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lof}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\@writefile{lot}{\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax }
\abx@aux@refcontext{anyt/global//global/global}
\babel@aux{british}{}
\babel@aux{british}{}
\babel@aux{british}{}
\babel@aux{british}{}
\@writefile{tdo}{\contentsline {todo}{write abstract}{VII}{section*.2}\protected@file@percent }
\pgfsyspdfmark {pgfid1}{5827124}{32814236}
\pgfsyspdfmark {pgfid4}{36195753}{32827333}
\pgfsyspdfmark {pgfid5}{38451947}{32582266}
\BKM@entry{id=1,dest={636861707465722A2E35},srcline={71},srcfile={2E2F62616368656C6F722E746578}}{5C3337365C3337375C3030304C5C303030695C303030735C303030745C3030305C3034305C3030306F5C303030665C3030305C3034305C303030465C303030695C303030675C303030755C303030725C303030655C30303073}
\@writefile{toc}{\contentsline {chapter}{\nonumberline List of Figures}{XIII}{chapter*.5}\protected@file@percent }
\BKM@entry{id=2,dest={636861707465722A2E36},srcline={74},srcfile={2E2F62616368656C6F722E746578}}{5C3337365C3337375C3030304C5C303030695C303030735C303030745C3030305C3034305C3030306F5C303030665C3030305C3034305C303030545C303030615C303030625C3030306C5C303030655C30303073}
\@writefile{toc}{\contentsline {chapter}{\nonumberline List of Tables}{XV}{chapter*.6}\protected@file@percent }
\@input{content/10_introduction.aux}
\BKM@entry{id=3,dest={636861707465722E31},srcline={1},srcfile={2E2F636F6E74656E742F31305F696E74726F64756374696F6E2E746578}}{5C3337365C3337375C303030495C3030306E5C303030745C303030725C3030306F5C303030645C303030755C303030635C303030745C303030695C3030306F5C3030306E}
\BKM@entry{id=4,dest={73656374696F6E2E312E31},srcline={21},srcfile={2E2F636F6E74656E742F31305F696E74726F64756374696F6E2E746578}}{5C3337365C3337375C303030415C3030305C3034305C303030535C303030655C303030635C303030745C303030695C3030306F5C3030306E}
\BKM@entry{id=5,dest={73656374696F6E2E312E32},srcline={45},srcfile={2E2F636F6E74656E742F31305F696E74726F64756374696F6E2E746578}}{5C3337365C3337375C303030415C3030306E5C3030306F5C303030745C303030685C303030655C303030725C3030305C3034305C303030535C303030655C303030635C303030745C303030695C3030306F5C3030306E}
\abx@aux@cite{bellard2005qfa}
\abx@aux@segm{0}{0}{bellard2005qfa}
\abx@aux@cite{bellard2005qfa}
\abx@aux@segm{0}{0}{bellard2005qfa}
\abx@aux@cite{boileau06}
\abx@aux@segm{0}{0}{boileau06}
\abx@aux@cite{becher04:_feurig_hacken_mit_firew}
\abx@aux@segm{0}{0}{becher04:_feurig_hacken_mit_firew}
\abx@aux@cite{green04}
\abx@aux@segm{0}{0}{green04}
\abx@aux@cite{patent:4819234}
\abx@aux@segm{0}{0}{patent:4819234}
\BKM@entry{id=6,dest={73656374696F6E2E312E33},srcline={65},srcfile={2E2F636F6E74656E742F31305F696E74726F64756374696F6E2E746578}}{5C3337365C3337375C303030595C303030655C303030745C3030305C3034305C303030415C3030306E5C3030306F5C303030745C303030685C303030655C303030725C3030305C3034305C303030535C303030655C303030635C303030745C303030695C3030306F5C3030306E}
\BKM@entry{id=7,dest={73656374696F6E2E312E34},srcline={75},srcfile={2E2F636F6E74656E742F31305F696E74726F64756374696F6E2E746578}}{5C3337365C3337375C303030545C303030655C303030735C303030745C3030305C3034305C303030635C3030306F5C3030306D5C3030306D5C303030615C3030306E5C303030645C30303073}
\BKM@entry{id=8,dest={73656374696F6E2E312E35},srcline={81},srcfile={2E2F636F6E74656E742F31305F696E74726F64756374696F6E2E746578}}{5C3337365C3337375C303030545C303030655C303030735C303030745C3030305C3034305C303030535C303030705C303030655C303030635C303030695C303030615C3030306C5C3030305C3034305C303030435C303030685C303030615C303030725C30303073}
\pgfsyspdfmark {pgfid6}{5827124}{42600091}
\pgfsyspdfmark {pgfid9}{36195753}{42613188}
\pgfsyspdfmark {pgfid10}{38451947}{42368121}
\pgfsyspdfmark {pgfid11}{5827124}{42600091}
\pgfsyspdfmark {pgfid14}{36195753}{40147323}
\pgfsyspdfmark {pgfid15}{38451947}{39902256}
\pgfsyspdfmark {pgfid16}{5827124}{42600091}
\pgfsyspdfmark {pgfid19}{36195753}{37821394}
\pgfsyspdfmark {pgfid20}{38451947}{37576327}
\pgfsyspdfmark {pgfid21}{5827124}{21594593}
\pgfsyspdfmark {pgfid24}{36195753}{21607690}
\pgfsyspdfmark {pgfid25}{38451947}{21362623}
\@input{content/20_state.aux}
\BKM@entry{id=9,dest={636861707465722E32},srcline={1},srcfile={2E2F636F6E74656E742F32305F73746174652E746578}}{5C3337365C3337375C303030545C303030655C303030635C303030685C3030306E5C303030695C303030635C303030615C3030306C5C3030305C3034305C303030425C303030615C303030635C3030306B5C303030675C303030725C3030306F5C303030755C3030306E5C30303064}
\pgfsyspdfmark {pgfid27}{5827124}{41708801}
\pgfsyspdfmark {pgfid30}{36195753}{41721898}
\pgfsyspdfmark {pgfid31}{38451947}{41476831}
\@input{content/30_design.aux}
\BKM@entry{id=10,dest={636861707465722E33},srcline={1},srcfile={2E2F636F6E74656E742F33305F64657369676E2E746578}}{5C3337365C3337375C303030445C303030655C303030735C303030695C303030675C3030306E}
\pgfsyspdfmark {pgfid32}{5827124}{41708801}
\pgfsyspdfmark {pgfid35}{36195753}{41721898}
\pgfsyspdfmark {pgfid36}{38451947}{41476831}
\@input{content/40_implementation.aux}
\BKM@entry{id=11,dest={636861707465722E34},srcline={1},srcfile={2E2F636F6E74656E742F34305F696D706C656D656E746174696F6E2E746578}}{5C3337365C3337375C303030495C3030306D5C303030705C3030306C5C303030655C3030306D5C303030655C3030306E5C303030745C303030615C303030745C303030695C3030306F5C3030306E}
\pgfsyspdfmark {pgfid37}{5827124}{41708801}
\pgfsyspdfmark {pgfid40}{36195753}{41721898}
\pgfsyspdfmark {pgfid41}{38451947}{41476831}
\@input{content/50_evaluation.aux}
\BKM@entry{id=12,dest={636861707465722E35},srcline={1},srcfile={2E2F636F6E74656E742F35305F6576616C756174696F6E2E746578}}{5C3337365C3337375C303030455C303030765C303030615C3030306C5C303030755C303030615C303030745C303030695C3030306F5C3030306E}
\pgfsyspdfmark {pgfid42}{5827124}{41708801}
\pgfsyspdfmark {pgfid45}{36195753}{41721898}
\pgfsyspdfmark {pgfid46}{38451947}{41476831}
\@input{content/60_futurework.aux}
\BKM@entry{id=13,dest={636861707465722E36},srcline={1},srcfile={2E2F636F6E74656E742F36305F667574757265776F726B2E746578}}{5C3337365C3337375C303030465C303030755C303030745C303030755C303030725C303030655C3030305C3034305C303030575C3030306F5C303030725C3030306B}
\pgfsyspdfmark {pgfid47}{5827124}{41708801}
\pgfsyspdfmark {pgfid50}{36195753}{41721898}
\pgfsyspdfmark {pgfid51}{38451947}{41476831}
\@input{content/70_conclusion.aux}
\BKM@entry{id=14,dest={636861707465722E37},srcline={1},srcfile={2E2F636F6E74656E742F37305F636F6E636C7573696F6E2E746578}}{5C3337365C3337375C303030435C3030306F5C3030306E5C303030635C3030306C5C303030755C303030735C303030695C3030306F5C3030306E5C3030305C3034305C303030415C3030306E5C303030645C3030305C3034305C3030304F5C303030755C303030745C3030306C5C3030306F5C3030306F5C3030306B}
\pgfsyspdfmark {pgfid52}{5827124}{41708801}
\pgfsyspdfmark {pgfid55}{36195753}{41721898}
\pgfsyspdfmark {pgfid56}{38451947}{41476831}
\BKM@entry{id=15,dest={636861707465722A2E3230},srcline={97},srcfile={2E2F62616368656C6F722E746578}}{5C3337365C3337375C303030425C303030695C303030625C3030306C5C303030695C3030306F5C303030675C303030725C303030615C303030705C303030685C30303079}
\abx@aux@read@bbl@mdfivesum{046C6F2BBBD38F93B729C568741E6E5E}
\abx@aux@refcontextdefaultsdone
\abx@aux@defaultrefcontext{0}{becher04:_feurig_hacken_mit_firew}{anyt/global//global/global}
\abx@aux@defaultrefcontext{0}{bellard2005qfa}{anyt/global//global/global}
\abx@aux@defaultrefcontext{0}{boileau06}{anyt/global//global/global}
\abx@aux@defaultrefcontext{0}{green04}{anyt/global//global/global}
\abx@aux@defaultrefcontext{0}{patent:4819234}{anyt/global//global/global}
\@writefile{toc}{\contentsline {chapter}{\nonumberline Bibliography}{15}{chapter*.20}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{LastPage}{{}{15}{}{page.15}{}}
\xdef\lastpage@lastpage{15}
\xdef\lastpage@lastpageHy{15}
\global\@namedef{scr@dte@chapter@lastmaxnumwidth}{10.67618pt}
\global\@namedef{scr@dte@section@lastmaxnumwidth}{18.37404pt}
\global\@namedef{scr@dte@table@lastmaxnumwidth}{18.37404pt}
\global\@namedef{scr@dte@figure@lastmaxnumwidth}{18.37404pt}
\@writefile{toc}{\providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file}
\@writefile{lof}{\providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file}
\@writefile{lot}{\providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file}
\gdef \@abspage@last{31}

173
thesis/bachelor.bbl

@ -0,0 +1,173 @@
% $ biblatex auxiliary file $
% $ biblatex bbl format version 3.1 $
% Do not modify the above lines!
%
% This is an auxiliary file used by the 'biblatex' package.
% This file may safely be deleted. It will be recreated by
% biber as required.
%
\begingroup
\makeatletter
\@ifundefined{ver@biblatex.sty}
{\@latex@error
{Missing 'biblatex' package}
{The bibliography requires the 'biblatex' package.}
\aftergroup\endinput}
{}
\endgroup
\refsection{0}
\datalist[entry]{anyt/global//global/global}
\entry{becher04:_feurig_hacken_mit_firew}{inproceedings}{}
\name{author}{2}{}{%
{{hash=9b3cc80bad616f9b1a14a1ff817c340b}{%
family={Becher},
familyi={B\bibinitperiod},
given={Michael},
giveni={M\bibinitperiod}}}%
{{hash=996f6a7b5d7e6fce1d3d9149897fb2ea}{%
family={Dornseif},
familyi={D\bibinitperiod},
given={Maximillian},
giveni={M\bibinitperiod}}}%
}
\strng{namehash}{2e447d6574416e669e938440136dd1c5}
\strng{fullhash}{2e447d6574416e669e938440136dd1c5}
\strng{bibnamehash}{2e447d6574416e669e938440136dd1c5}
\strng{authorbibnamehash}{2e447d6574416e669e938440136dd1c5}
\strng{authornamehash}{2e447d6574416e669e938440136dd1c5}
\strng{authorfullhash}{2e447d6574416e669e938440136dd1c5}
\field{labelalpha}{BD04}
\field{sortinit}{B}
\field{sortinithash}{8de16967003c7207dae369d874f1456e}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{booktitle}{21C3: Proceedings of the 21st Chaos Communication Congress}
\field{month}{12}
\field{title}{{Feuriges Hacken - Spaß mit Firewire}}
\field{year}{2004}
\field{dateera}{ce}
\endentry
\entry{bellard2005qfa}{inproceedings}{}
\name{author}{1}{}{%
{{hash=4337d6f14dfa35071b858acc19f95129}{%
family={Bellard},
familyi={B\bibinitperiod},
given={Fabrice},
giveni={F\bibinitperiod}}}%
}
\strng{namehash}{4337d6f14dfa35071b858acc19f95129}
\strng{fullhash}{4337d6f14dfa35071b858acc19f95129}
\strng{bibnamehash}{4337d6f14dfa35071b858acc19f95129}
\strng{authorbibnamehash}{4337d6f14dfa35071b858acc19f95129}
\strng{authornamehash}{4337d6f14dfa35071b858acc19f95129}
\strng{authorfullhash}{4337d6f14dfa35071b858acc19f95129}
\field{labelalpha}{Bel05}
\field{sortinit}{B}
\field{sortinithash}{8de16967003c7207dae369d874f1456e}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{booktitle}{Proceedings of the USENIX Annual Technical Conference, FREENIX Track}
\field{title}{{QEMU, a fast and portable dynamic translator}}
\field{year}{2005}
\field{dateera}{ce}
\field{pages}{41\bibrangedash 46}
\range{pages}{6}
\endentry
\entry{boileau06}{inproceedings}{}
\name{author}{1}{}{%
{{hash=69a714b1aad3615b5e35fcc1a4976fef}{%
family={Boileau},
familyi={B\bibinitperiod},
given={Adam},
giveni={A\bibinitperiod}}}%
}
\strng{namehash}{69a714b1aad3615b5e35fcc1a4976fef}
\strng{fullhash}{69a714b1aad3615b5e35fcc1a4976fef}
\strng{bibnamehash}{69a714b1aad3615b5e35fcc1a4976fef}
\strng{authorbibnamehash}{69a714b1aad3615b5e35fcc1a4976fef}
\strng{authornamehash}{69a714b1aad3615b5e35fcc1a4976fef}
\strng{authorfullhash}{69a714b1aad3615b5e35fcc1a4976fef}
\field{labelalpha}{Boi06}
\field{sortinit}{B}
\field{sortinithash}{8de16967003c7207dae369d874f1456e}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{booktitle}{RUXCON}
\field{title}{{Hit by a Bus: Physical Access Attacks with Firewire}}
\field{year}{2006}
\field{dateera}{ce}
\endentry
\entry{green04}{online}{}
\name{author}{1}{}{%
{{hash=97aea4b1cf57268b17599c6760e3f694}{%
family={Green},
familyi={G\bibinitperiod},
given={Tom},
giveni={T\bibinitperiod}}}%
}
\strng{namehash}{97aea4b1cf57268b17599c6760e3f694}
\strng{fullhash}{97aea4b1cf57268b17599c6760e3f694}
\strng{bibnamehash}{97aea4b1cf57268b17599c6760e3f694}
\strng{authorbibnamehash}{97aea4b1cf57268b17599c6760e3f694}
\strng{authornamehash}{97aea4b1cf57268b17599c6760e3f694}
\strng{authorfullhash}{97aea4b1cf57268b17599c6760e3f694}
\field{labelalpha}{Gre04}
\field{sortinit}{G}
\field{sortinithash}{62eb2aa29549e4fdbd3cb154ec5711cb}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{note}{Slide presentation at the WinHEC 2004}
\field{title}{{1394 Kernel Debugging Tips and Tricks}}
\field{urlday}{3}
\field{urlmonth}{6}
\field{urlyear}{2009}
\field{year}{2004}
\field{dateera}{ce}
\field{urldateera}{ce}
\verb{urlraw}
\verb http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/DW04001_WINHEC2004.ppt
\endverb
\verb{url}
\verb http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/DW04001_WINHEC2004.ppt
\endverb
\endentry
\entry{patent:4819234}{patent}{}
\name{author}{1}{}{%
{{hash=5175eb328916daa79d7df4e4a90143f1}{%
family={Huber},
familyi={H\bibinitperiod},
given={William\bibnamedelima S.},
giveni={W\bibinitperiod\bibinitdelim S\bibinitperiod}}}%
}
\list{location}{1}{%
{Needham, MA}%
}
\strng{namehash}{5175eb328916daa79d7df4e4a90143f1}
\strng{fullhash}{5175eb328916daa79d7df4e4a90143f1}
\strng{bibnamehash}{5175eb328916daa79d7df4e4a90143f1}
\strng{authorbibnamehash}{5175eb328916daa79d7df4e4a90143f1}
\strng{authornamehash}{5175eb328916daa79d7df4e4a90143f1}
\strng{authorfullhash}{5175eb328916daa79d7df4e4a90143f1}
\field{labelalpha}{Hub89}
\field{sortinit}{H}
\field{sortinithash}{6db6145dae8dc9e1271a8d556090b50a}
\field{labelnamesource}{author}
\field{labeltitlesource}{title}
\field{month}{4}
\field{number}{4819234}
\field{title}{Operating system debugger}
\field{year}{1989}
\field{dateera}{ce}
\verb{urlraw}
\verb http://www.freepatentsonline.com/4819234.html
\endverb
\verb{url}
\verb http://www.freepatentsonline.com/4819234.html
\endverb
\endentry
\enddatalist
\endrefsection
\endinput

2396
thesis/bachelor.bcf
File diff suppressed because it is too large
View File

15
thesis/bachelor.blg

@ -0,0 +1,15 @@
[0] Config.pm:311> INFO - This is Biber 2.16
[0] Config.pm:314> INFO - Logfile is 'bachelor.blg'
[97] biber:340> INFO - === Mon Nov 13, 2023, 10:43:41
[115] Biber.pm:415> INFO - Reading 'bachelor.bcf'
[198] Biber.pm:952> INFO - Found 5 citekeys in bib section 0
[213] Biber.pm:4340> INFO - Processing section 0
[225] Biber.pm:4531> INFO - Looking for bibtex format file 'own.bib' for section 0
[229] bibtex.pm:1689> INFO - LaTeX decoding ...
[243] bibtex.pm:1494> INFO - Found BibTeX data source 'own.bib'
[317] UCollate.pm:68> INFO - Overriding locale 'en-GB' defaults 'normalization = NFD' with 'normalization = prenormalized'
[317] UCollate.pm:68> INFO - Overriding locale 'en-GB' defaults 'variable = shifted' with 'variable = non-ignorable'
[318] Biber.pm:4168> INFO - Sorting list 'anyt/global//global/global' of type 'entry' with template 'anyt' and locale 'en-GB'
[318] Biber.pm:4174> INFO - No sort tailoring available for locale 'en-GB'
[328] bbl.pm:654> INFO - Writing 'bachelor.bbl' with encoding 'UTF-8'
[332] bbl.pm:757> INFO - Output to bachelor.bbl

345
thesis/bachelor.fdb_latexmk

@ -0,0 +1,345 @@
# Fdb version 3
["biber bachelor"] 1699868620 "bachelor.bcf" "bachelor.bbl" "bachelor" 1699868645
"bachelor.bcf" 1699868647 107300 6a98151d58c42e56dc25a294a9aa0e89 "pdflatex"
"own.bib" 1699864795 2186 060e3fcc5089d4a3b48e44e3374bd944 ""
(generated)
"bachelor.bbl"
"bachelor.blg"
["pdflatex"] 1699868637 "bachelor.tex" "bachelor.pdf" "bachelor" 1699868645
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmmono10-regular.luc" 1699867414 77648 4e7dd2d38b77b69ba450969ae7f3531c ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmmono12-regular.luc" 1699867415 77587 5ed05bd3b8de70927a157b833f0216cd ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmmono8-regular.luc" 1699867414 77255 504a271447ff2938786ee8d6cbbf7edc ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-bold.luc" 1699867409 124213 35b3d99d7206f00356f08e52ff18d04d ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-italic.luc" 1699867415 132135 dd1d63d11c56f4cb050020911d6351ed ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc" 1699867408 123142 202d0f2c048b3deaab13b67540be18d9 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman12-bold.luc" 1699867414 124110 6b193afb0f68b05db7612fa512ea583c ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman12-regular.luc" 1699867414 123481 69b7465b6451e46e78288f4a098f9014 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman6-regular.luc" 1699867413 124323 2afd23c8c528256bd4255165fb9461b8 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman7-regular.luc" 1699867414 124198 de3a77dd4552b581f4568d5c733f4b64 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman8-regular.luc" 1699867413 123949 6be306f06852d441c7a7045fec50f13b ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmromancaps10-regular.luc" 1699867416 116074 4d500f5502307bb2d2c327e989a4c4ff ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans10-bold.luc" 1699867414 123911 13074d6e5a011c1685ae8875debf086d ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans10-regular.luc" 1699867414 123457 90e4b0e3e662caf7e5a34edf185c3091 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans12-regular.luc" 1699867415 123964 1a4d3c00c97139d8212cc5d0b0b5a896 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans8-regular.luc" 1699867414 123407 d90876b0ad34e0b1e611ef869b498a36 ""
"/home/studi/.texlive2020/texmf-var/luatex-cache/generic/names/luaotfload-names.luc" 1699867408 122893 cb3868fd4bbfab71545d612e43700618 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm" 1136768653 1528 abec98dbc43e172678c11b3b9031252a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi7.tfm" 1136768653 1528 e2423ae06dc7dee599cceb79d1c9dc32 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1136768653 1520 eccf95517727cb11801f4f1aee3a21b4 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm" 1136768653 1288 655e228510b4c2a1abe905c368440826 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr7.tfm" 1136768653 1300 53d07721103816e093902637bc167021 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1136768653 1292 21c1c5bfeaebccffdb478fd231a0997d ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy7.tfm" 1136768653 1120 2b3f9b25605010c69bc328bea6ac000f ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb" 1248133631 32726 0a1aea6fcd6468ee2cf64d891f5c43c8 ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/generic/babel-english/british.ldf" 1496785618 2764 33eb54e29f49ae828edec697cf357f2c ""
"/usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf" 1496785618 7008 9ff5fdcc865b01beca2b0fe4a46231d4 ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def" 1611697649 117888 66b7eb0f9cd7bd253f76713fb2e2ee4a ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty" 1611697649 37868 ba045e7d3943071ea1a8258e20cd3f09 ""
"/usr/share/texlive/texmf-dist/tex/generic/babel/luababel.def" 1611697649 52710 7e1c4d53b41230710fbffb4daccb2668 ""
"/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
"/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty" 1576016050 33961 6b5c75130e435b2bfdb9f480a09a39f9 ""
"/usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty" 1576625273 7734 b98cbb34c81f667027c1e3ebdbfce34b ""
"/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty" 1576625223 8371 9d55b8bd010bc717624922fb3477d92e ""
"/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-en-gb.tex" 1585259975 632 940e8aface14758218a4d17bbe8c569b ""
"/usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-en-gb.tex" 1554502952 58474 e5706c44eed482e95f780420ef6e36d1 ""
"/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty" 1583617216 6501 4011d89d9621e0b0901138815ba5ff29 ""
"/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty" 1575499628 8356 7bbb2c2373aa810be568c29e333da8ed ""
"/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty" 1576625065 31769 002a487f55041f8e805cfbf6385ffd97 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty" 1576878844 5412 d5a2436094cd7be85769db90f29250a6 ""
"/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
"/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1600895880 17859 4409f8f50cd365c68e684407e5350b1b ""
"/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty" 1576015897 19007 15924f7228aca6c6d184b115f4baa231 ""
"/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.lua" 1593380077 9447 5e9f52f1871707a5d27dea360afbe4cb ""
"/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty" 1593379760 20089 80423eac55aa175305d35b49e04fe23b ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex" 1601326656 992 855ff26741653ab54814101ca36e153c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex" 1601326656 43820 1fef971b75380574ab35a0d37fd92608 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex" 1601326656 19324 f4e4c6403dd0f1605fd20ed22fa79dea ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex" 1601326656 6038 ccb406740cc3f03bbfb58ad504fe8c27 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex" 1601326656 6944 e12f8f7a7364ddf66f93ba30fb3a3742 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex" 1601326656 4883 42daaf41e27c3735286e23e48d2d7af9 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex" 1601326656 2544 8c06d2a7f0f469616ac9e13db6d2f842 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex" 1601326656 44195 5e390c414de027626ca5e2df888fa68d ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex" 1601326656 17311 2ef6b2e29e2fc6a2fc8d6d652176e257 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex" 1601326656 21302 788a79944eb22192a4929e46963a3067 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex" 1601326656 9690 01feb7cde25d4293ef36eef45123eb80 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex" 1601326656 33335 dd1fa4814d4e51f18be97d88bf0da60c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex" 1601326656 2965 4c2b1f4e0826925746439038172e5d6f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex" 1601326656 5196 2cc249e0ee7e03da5f5f6589257b1e5b ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex" 1601326656 20726 d4c8db1e2e53b72721d29916314a22ea ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex" 1601326656 35249 abd4adf948f960299a4b3d27c5dddf46 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex" 1601326656 21989 fdc867d05d228316de137a9fc5ec3bbe ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex" 1601326656 8893 e851de2175338fdf7c17f3e091d94618 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex" 1601326656 1179 5483d86c1582c569e665c74efab6281f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex" 1601326656 3937 3f208572dd82c71103831da976d74f1a ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex" 1601326656 2889 d698e3a959304efa342d47e3bb86da5b ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex" 1608933718 11518 738408f795261b70ce8dd47459171309 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex" 1609106292 188275 555994923a0cb0c4aff9710e303272bb ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex" 1601326656 2563 d5b174eb7709fd6bdcc2f70953dbdf8e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex" 1601326656 32995 ac577023e12c0e4bd8aa420b2e852d1a ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex" 1557692582 3063 8c415c68a0f3394e45cfeca0b65f6ee6 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex" 1601326656 521 8e224a7af69b7fee4451d1bf76b46654 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex" 1601326656 13391 84d29568c13bdce4133ab4a214711112 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex" 1601326656 104935 184ed87524e76d4957860df4ce0cd1c3 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex" 1601326656 10165 cec5fa73d49da442e56efc2d605ef154 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex" 1601326656 28178 41c17713108e0795aac6fef3d275fbca ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex" 1601326656 9989 c55967bf45126ff9b061fa2ca0c4694f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex" 1601326656 3865 ac538ab80c5cf82b345016e474786549 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex" 1557692582 3177 27d85c44fbfe09ff3b2cf2879e3ea434 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex" 1601326656 10925 139ac69ce3e9a1892add56d0b818cf97 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex" 1608933718 7854 4176998eeefd8745ac6d2d4bd9c98451 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex" 1601326656 3379 781797a101f647bab82741a99944a229 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex" 1601326656 92405 f515f31275db273f97b9d8f52e1b0736 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex" 1601326656 37376 11cd75aac3da1c1b152b2848f30adc14 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex" 1601326656 8471 c2883569d03f69e8e1cabfef4999cfd7 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex" 1601326656 21201 08d231a2386e2b61d64641c50dc15abd ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex" 1601326656 16121 346f9013d34804439f7436ff6786cef7 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex" 1606168878 43260 c5ced91ac9ecf66ab0674d57bda14c1f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex" 1609106292 465 311958b39a263956b78fd69c4bc8a85c ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg" 1601326656 926 2963ea0dcf6cc6c0a770b69ec46a477b ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def" 1601326656 5546 f3f24d7898386cb7daac70bdd2c4d6dc ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def" 1606168878 13244 6674e4de0678d77c2d7465acc4ea20d7 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex" 1601326656 60544 7aef020a49f066dc86a26e7719af2a98 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex" 1601326656 1896 b8e0ca0ac371d74c0ca05583f6313c91 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex" 1601326656 7778 53c8b5623d80238f6a20aa1df1868e63 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex" 1606168878 23997 a4bed72405fa644418bea7eac2887006 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex" 1606168878 36938 2b5b0039ae51cc081ebb25d84b8a3408 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex" 1601326656 37431 9abe862035de1b29c7a677f3205e3d9f ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex" 1601326656 4494 af17fb7efeafe423710479858e42fa7e ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex" 1601326656 7251 fb18c67117e09c64de82267e12cd8aa4 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1601326656 28579 1cdb9cf41947e1e5889d97a41f9bb448 ""
"/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1606168878 6860 2503857fc7e280acd60acdfa6c8c90c4 ""
"/usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty" 1575152242 21514 b7557edcee22835ef6b03ede1802dad4 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/CaseFolding.txt" 1584044743 82810 5f9103a43f1de6931ccd535dc2d04777 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/PropList.txt" 1584044743 126063 09a6b8a9bf45d76e1051f087476c584a ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/ScriptExtensions.txt" 1584044743 21036 0498414f4b3ea003decdfbdc05d5eee4 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/Scripts.txt" 1584044743 175811 5f82197ad754fd20cee117a97732d384 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/SpecialCasing.txt" 1584044743 16830 681d4e1ebc39c3362fbd6c293070a8ea ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt" 1584044743 1851767 85879f1976cc8eb739ee5585a93938e2 ""
"/usr/share/texlive/texmf-dist/tex/generic/unicode-data/WordBreakProperty.txt" 1603745856 103240 40f00b28bda4ea42f0d09ea1cf5a646a ""
"/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1576624663 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1605910342 19231 3cbf682090baecad8e17a66b7a271ed1 ""
"/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1605910342 7677 cf3e6aa6a8d444f55327f61df80bfa0c ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d ""
"/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 ""
"/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty" 1576625391 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1609451599 2973 00085839f5881178c538db5970d3c38e ""
"/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1610149055 2596 b3a02e33035865e9f0457e064d436fb8 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1601675358 4947 8cb7717f0cc771eca0fda15160c7fee9 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty" 1580683321 5159 892429808d9e0e2b3548aaefd9a06ed0 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ltluatex.lua" 1601675358 19071 5eca6644e86be740ddc21c18c9b79330 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd" 1580683321 2431 b6cead9f069ed55f4fba0c637aa047b6 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx" 1566680006 1731 ebd75bda3dd71a7cbd30fde6e3bb6391 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx" 1609451401 25680 409c3f3d570418bc545e8065bebd0688 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg" 1342308459 69 249fa6df04d948e51b6d5c67bea30c42 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.def" 1609451401 91946 e09bee3cd84fdc4250d6c8ee794f6a70 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty" 1609451401 506356 ad896deba0d157daf8e7a259dbff05c8 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty" 1609451401 8433 72f8188742e7214b7068f345cd0287ac ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def" 1609451401 13379 ae6b07c49ed3315284c100c6d2572fab ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-dm.def" 1609451401 32359 780383f3a2aaa99ffa09ced7a3363e81 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-unicode.def" 1609451401 3786 1f89d14780f0ad89ab94652b37f4e9b8 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx" 1510525977 4261 a05ff2d7f15400c462523859a171f7b4 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/british.lbx" 1597957911 2893 0f4ffdf8b9608cc904401c5aa668fe73 ""
"/usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx" 1609451401 38558 7b6b5c4f86b076362a57cfdb9255a6c6 ""
"/usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def" 1604871679 8609 8ac7db65d9617618cf703bd16c1bd0b8 ""
"/usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty" 1604871679 18237 5cbdfe9ef383a557f780a0a1f45cdb1c ""
"/usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty" 1579038678 6078 f1cb470c9199e7110a27851508ed7a5c ""
"/usr/share/texlive/texmf-dist/tex/latex/caption/caption-koma.sto" 1603745920 6559 a1f99be1697762b19f714b4553fcaefa ""
"/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty" 1603745920 51746 e89c4da670ba533e6ab38e045ce6d1d9 ""
"/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty" 1603745920 67929 d50ae850e1d9604065e8337a75a41029 ""
"/usr/share/texlive/texmf-dist/tex/latex/caption/subcaption.sty" 1603745920 6133 46bea384e36e9b74bd53a238fc2d0654 ""
"/usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.cfg" 1429144587 7068 06f8d141725d114847527a66439066b6 ""
"/usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.def" 1609884275 20781 3b6db3c90061bfd8febbc13564777847 ""
"/usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.sty" 1609884275 62512 52e9defd5096aff5aaf6a48571b466f7 ""
"/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
"/usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty" 1602711807 11772 8d0db0794e6aeb45348f60bbe3a3e093 ""
"/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty" 1601931149 46845 3b58f70c6e861a13d927bff09d35ecbc ""
"/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty" 1274111957 27261 5ae6156674330dc345adb79b6e5d8966 ""
"/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1609797564 17084 8c1abc8567028945d60a2f6d71e86091 ""
"/usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty" 1611267390 43232 77215847fb982a414a0d843125e271d4 ""
"/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty" 1582325645 151809 9b29a813bdecad31db825cd830187121 ""
"/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg" 1532898934 549 c4adac819276241fea8eb79c5ab7b99e ""
"/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.lua" 1582325645 3021 d32bd2298bedcca160fe737883f3615e ""
"/usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty" 1582325645 1655 a1ec6f2670a260de25415d37e9c60e97 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics-def/luatex.def" 1601931164 19052 d9eaaf91d2a0b7bc9d7f373ebd8346f3 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1601675358 18272 a8c6a275b34ab6717ceeb8fa04b104e2 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1601675358 7919 20fdfdd783821971c55bc8ee918cbe63 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/lscape.sty" 1601675358 1757 1eb057df64f13cee0efe9d12f933a1e9 ""
"/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
"/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty" 1580250785 17914 4c28a13fc3d975e6e81c9bea1d697276 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hluatex.def" 1589664343 51510 4c6a1d1d230f9dc04992fe072da4f6ec ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty" 1589664343 236775 8ab18a05f69e6caef423fa59cb0af03b ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty" 1579642962 13244 0070bcab7b5a88187847128d22faf4d8 ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def" 1589664343 14134 c11767c54bd7ecab56984ee4e4e3158c ""
"/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def" 1589664343 122447 8dcff5c67ff7f0649f41dc4abc99887f ""
"/usr/share/texlive/texmf-dist/tex/latex/hyphenat/hyphenat.sty" 1252025529 5798 0437b031e663035b68539cf7ac7c8eeb ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/listings.hak" 1601242066 5141 8132705b3913a24bbbabf15c005c32c4 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/lscape.hak" 1601242066 3322 ed874f0593a41229a3557ccba328b135 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty" 1601242066 95060 8380c93cbe27347269875ef45d11e14b ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrhack.sty" 1601242066 7345 0711d4ef0403e0d957cdcc46f1287324 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty" 1601242066 21853 9e6272db95e3fde57b1effa42b4ce855 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty" 1601242066 9923 31d3db16e68a7aaf1a332070e86b06e8 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty" 1601242066 2962 f87bece18d386f62887914a9e1742548 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty" 1601242066 1954 c76cd0d2e16cfbd0b8ed1fac0f88e87e ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrreprt.cls" 1601242066 262672 5d0d9c834ae416032731f9a664535e99 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize11pt.clo" 1601242066 6383 4147a8128f986702d8952d5da6421109 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/setspace.hak" 1601242066 4054 4b8a915b1554e80cabab15e142f001a6 ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty" 1601242066 106047 3c92bee4025534d1b56f29872b3fb03b ""
"/usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty" 1601242066 55995 23fad029cff0dc77d57f6d5c6722cff1 ""
"/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1602274869 22521 d2fceb764a442a2001d257ef11db7618 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-luatex.def" 1611959857 27468 d2adaae2ce051064051a1f8a94ae09e5 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.lua" 1610315378 11444 857eb214ac75a51fe49d209ccae89937 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty" 1610315378 6209 031757bc8d0350c53dd99ad8ae4875eb ""
"/usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty" 1603832142 4615 0436b95d48df75eb5f264ca6898802f6 ""
"/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.tex" 1589555814 80141 edbf9289c99ff37db17116af7a3a423f ""
"/usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty" 1603832142 5905 c6eb253894f4e808af476e034b49df36 ""
"/usr/share/texlive/texmf-dist/tex/latex/lastpage/lastpage.sty" 1427756658 9922 eb7d00b99f0f5207f71a5cdcbafceac1 ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
"/usr/share/texlive/texmf-dist/tex/latex/latexconfig/lualatexquotejobname.lua" 1308175312 1031 977f79ff10b802fc398926378bec58e9 ""
"/usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty" 1575499565 5766 13a9e8766c47f30327caf893ece86ac8 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1585170648 1830 e31effa752c61538383451ae21332364 ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1585170648 80964 64e57373f36316e4a09b517cbf1aba2e ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1585170648 204271 bae5b2d457283e99567249c1990510be ""
"/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1585170648 77022 ee25ce086f4a79d8cf73bac6f94c02a5 ""
"/usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.def" 1284153563 1620 fb1c32b818f2058eca187e5c41dfae77 ""
"/usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.sty" 1284153563 6187 b27afc771af565d3a9ff1ca7d16d0d46 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-luatex.def" 1607465040 40121 a2bc775a1162e79d741eed4cf5459f28 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg" 1607465040 24929 baec9b115829e21e1ba4dfcaf6260d24 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.lua" 1607465040 5587 03982a6f732888e1abb70c3263bd1e6c ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty" 1607465040 71807 0724aff58b422fcce3421aebcd5fc631 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg" 1607465040 9832 c0155a843dbf27d8b04c41bed0a4d454 ""
"/usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg" 1607465040 22870 85ef48580eb35bcb3beca9130657ae3b ""
"/usr/share/texlive/texmf-dist/tex/latex/pdflscape/pdflscape.sty" 1575674318 6575 25396d208d8f2b9395d06ef315d5886c ""
"/usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty" 1610315791 54435 c13c1f26ce4ca4b9661298bbc274fe63 ""
"/usr/share/texlive/texmf-dist/tex/latex/pdfpages/ppluatex.def" 1610315791 5719 fa0778eef34b488a9197eda87d0e8040 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1601326656 1090 bae35ef70b3168089ef166db3e66f5b2 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty" 1601326656 410 615550c46f918fcbee37641b02a862d9 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty" 1601326656 21013 f4ff83d25bb56552493b030f27c075ae ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty" 1601326656 989 c49c8ae06d96f8b15869da7428047b1e ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty" 1601326656 339 c2e180022e3afdb99c7d0ea5ce469b7d ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty" 1601326656 306 c56a323ca5bf9242f54474ced10fca71 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty" 1601326656 443 8c872229db56122037e86bcda49e14f3 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty" 1601326656 348 ee405e64380c11319f0e249fed57e6c5 ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty" 1601326656 274 5ae372b7df79135d240456a1c6f2cf9a ""
"/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty" 1601326656 325 f9f16d12354225b7dd52a3321f085955 ""
"/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty" 1576624809 9878 9e94e8fa600d95f9c7731bb21dfb67a4 ""
"/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty" 1575674187 9715 b051d5b493d9fe5f4bc251462d039e5f ""
"/usr/share/texlive/texmf-dist/tex/latex/setspace/setspace.sty" 1324344192 22913 a27d7908fc6f0385466454a966a316eb ""
"/usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg" 1579124948 4745 793d4d5a808c37a7085f620706b56fe1 ""
"/usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty" 1582668387 273434 c3d90844d64bf82fded1b064359b4e14 ""
"/usr/share/texlive/texmf-dist/tex/latex/todonotes/todonotes.sty" 1598215170 20203 b53be911c83ae3d11ab3d092d6120a35 ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty" 1601675358 12675 9a7bbb9e485cd81cdcc1d56212b088ff ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty" 1580683321 10216 5efd55f2010055e7b7875afd6a75be82 ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty" 1601675358 44067 30ef5af64ca3b5b94c1e5e7e6c141383 ""
"/usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty" 1580683321 4546 3e6071704acf4f66392376b7b66ae02c ""
"/usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary-English.dict" 1596662134 3535 7dc96051305a7e943219126c49c44cd6 ""
"/usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty" 1596662134 8765 3368c4a5a4b5466261cafb836195e916 ""
"/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
"/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty" 1463002160 55589 34128738f682d033422ca125f82e5d62 ""
"/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1605910342 4902 efb3d66683a2da2a232f71e3a571a899 ""
"/usr/share/texlive/texmf-dist/tex/latex/xpatch/xpatch.sty" 1585258158 8314 7803f78066c4f9d008405191a4b43073 ""
"/usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua" 1609451617 131468 fd1313508308a0eb9829063570435aca ""
"/usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua" 1609451617 2717 538b28c781d9675abf8ea106134f6a32 ""
"/usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-compat.lua" 1367794330 603 398583cb619d20952d67edcedae41608 ""
"/usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-extended-merged.lua" 1609451617 110513 18927093f376db6f759633b1df9ca47d ""
"/usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-extended.lua" 1609451617 4858 1d0213aca5cd664173ccbc672f7cfe2f ""
"/usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs.lua" 1609451617 3779 b5f9573f0df8b6653bae489078a3417b ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/fontloader-2021-01-07.lua" 1610835910 863258 ef54bfa34416e2c85fa48d3195c67fd2 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua" 1599167189 12745 4bc43036e9796fccb0b8869f4b05bf2e ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua" 1610835910 32597 8e427ec79ced91d9fc6fbcece159d042 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-case.lua" 1609451516 6809 6c20d5dc2b2b4227f873e7df0fd25316 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua" 1610835910 15954 7c201914c79310d9e79e75dfc7ee982b ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua" 1610835910 31151 589ca99522479a0929d6824bafa36f63 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua" 1610835910 134863 4a0f9f3b500df0d8a8234a0954065e46 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua" 1610835910 1004 5506419bc583d450f252542b1105d6ce ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua" 1610835910 4047 a3c8c048b14a304d3352871014ef1343 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua" 1610835910 29002 33fdd06674606d043599dc4ea9b2a56b ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua" 1610835910 13468 1c9a663bb7bfa650b93dcf01d5450675 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua" 1610835910 41599 8fdc1ba513a6026546b883259e559c7e ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua" 1610835910 19547 e3b832a9efc91c977044383640835069 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua" 1610835910 18645 1a518a55f6663ce13866416a5b94d6a4 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua" 1610835910 8840 d169564522ac7194e7410d8263cd1b31 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua" 1610835910 11323 809e4afac4e070b619512461a6fedd90 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua" 1609451516 275 b19c9cc34cf1d676c39f872cfb41aef6 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua" 1610835910 15068 db7b6c7791b4b909d12234620ff7973d ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua" 1610835910 12224 26fed1a76150718e05c8c56b1983ebdd ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua" 1610835910 30999 dba42cb2f6bbfa13b9a56d0e4a2b2f44 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua" 1610835910 10984 b387d9435738f7ce8cf1e6af86b565a6 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua" 1610835910 2506 2b924be852e17191e651faf5a2097e12 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua" 1610835910 6317 de8b416497205d269b31674daef0f48b ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua" 1610835910 2582 b07873bfeb7764f9b5b440cd6b170f63 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua" 1610835910 6259 2413a2be98181fe77f7e110369194769 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua" 1610835910 7528 e07e112222777070250fbc980b2e6b85 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua" 1610835910 7589 1d7fd6ab63640cb6c8e2091ac5a57915 ""
"/usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.lua" 1610835910 13788 c3df7754a82557bc3e50d0714ad8a67c ""
"/usr/share/texmf/fonts/opentype/public/lm/lmmono10-regular.otf" 1254938640 64684 15a2082c8e31f411875a86ea2d29a0ee ""
"/usr/share/texmf/fonts/opentype/public/lm/lmroman10-bold.otf" 1254938640 111240 0af0b64d6d3df41bead3f9de314afbd4 ""
"/usr/share/texmf/fonts/opentype/public/lm/lmroman10-italic.otf" 1254938640 118828 4d461c73423fe2666dad2ff0dfc3ca68 ""
"/usr/share/texmf/fonts/opentype/public/lm/lmroman10-regular.otf" 1254938640 111536 ae9d1b331000d544f47e5223081b7b54 ""
"/usr/share/texmf/fonts/opentype/public/lm/lmroman12-bold.otf" 1254938640 110496 b9c8767d4cc3bf3f4b21f676bf89aa78 ""
"/usr/share/texmf/fonts/opentype/public/lm/lmroman12-regular.otf" 1254938640 110400 d844cffffa1af59f9d2bb1bfdb6f1a2c ""
"/usr/share/texmf/fonts/opentype/public/lm/lmromancaps10-regular.otf" 1254938640 108740 82741d58d9334b5242a3acb1d982bd05 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1699867299 165012 f177baa1c39a3ebd62c3096a43521a0d ""
"/var/lib/texmf/tex/generic/config/language.dat" 1699867299 3187 d50e945519bf2aba651d4d8448fa6d88 ""
"/var/lib/texmf/web2c/luahbtex/lualatex.fmt" 1699867303 3255911 da0559e0dd2073e4dab20770160db1d4 ""
"bachelor.aux" 1699868647 9276 af8f8fb5f1b6631bc1b3848d288eac59 "pdflatex"
"bachelor.bbl" 1699868624 6593 046c6f2bbbd38f93b729c568741e6e5e "biber bachelor"
"bachelor.lof" 1699868647 627 1f3a7ec4688f53d915ba92ecc5ab5f41 "pdflatex"
"bachelor.lot" 1699868647 524 fb1862d92ca8f940b4247154fcde6f1f "pdflatex"
"bachelor.out" 1699868645 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
"bachelor.run.xml" 1699868647 2398 eee79bf634b8c3a875d33d6fa4ad6c8b "pdflatex"
"bachelor.tdo" 1699868647 695 67a8e79e074f51c33fd5030295c08322 "pdflatex"
"bachelor.tex" 1699865741 2216 e37cbc38f6db56e4b42cf1c9cb76a6c5 ""
"bachelor.toc" 1699868647 1339 f679a5330be1bd1104e6babff01f143c "pdflatex"
"content/00_title.tex" 1699868610 923 0a1915c0d821b25b54eb96d7dbccd77a ""
"content/01_disclaimer.tex" 1699868379 384 38ad402c58382ac2a3a0ae56a794069c ""
"content/02_abstract.tex" 1699864795 432 12c340b18f04f495cfe9809bb37779e0 ""
"content/10_introduction.aux" 1699868646 6199 24be7d85599c1ac334b2d505d184a788 "pdflatex"
"content/10_introduction.tex" 1699864795 2940 1cafeb51f5b33118d995ec774c8897b1 ""
"content/20_state.aux" 1699868646 4481 48bbddb3d2ac8fd83ca3ba5e1677bd10 "pdflatex"
"content/20_state.tex" 1699864795 1666 250100c8b8c16bbab3ac8161d94ccba7 ""
"content/30_design.aux" 1699868647 4456 736d414654cd2230963fd056e7af095d "pdflatex"
"content/30_design.tex" 1699864795 1141 fb46754afb83b6b418ead2b87ca6dbf0 ""
"content/40_implementation.aux" 1699868647 4496 37d84b1123b2c679c14ae9633155decd "pdflatex"
"content/40_implementation.tex" 1699864795 1416 6514af18bfd2b5c8051fe136701e2e14 ""
"content/50_evaluation.aux" 1699868647 4477 edff479064ed372da6b8e0ca368f3833 "pdflatex"
"content/50_evaluation.tex" 1699864795 691 7410d8e95486bb6d26ac72f5a061b2a6 ""
"content/60_futurework.aux" 1699868647 4484 5170460d49df9b8c8ed811331026efeb "pdflatex"
"content/60_futurework.tex" 1699864795 172 4440cc43f61879c7be17bafb1f2e2e98 ""
"content/70_conclusion.aux" 1699868647 4505 ed3ba672293408c3e16e7a3b5ad7eca8 "pdflatex"
"content/70_conclusion.tex" 1699864795 1022 d2b31af45eb02e87242ae22aa9607c18 ""
"images/bachelor-aufgabe.pdf" 1699865575 33179 c1dccd2f5900d6647ce1db90475a60af ""
"images/squirrel.jpg" 1699864795 46491 deed9af86d29ec836ebc56dfbbb355ab ""
"preamble/color.tex" 1699864795 115 2a5d876b3b3e4c14519ae53c000ab6d4 ""
"preamble/newcommands.tex" 1699864795 216 38f94323ee10ec7d98cc8c7ab6f70357 ""
"preamble/packages.tex" 1699864795 1799 40f81f7a291415e18bb17ff488f4b454 ""
"preamble/style.tex" 1699864795 4191 a0d2121d88fdbbb6f726a2a880171b84 ""
(generated)
"content/40_implementation.aux"
"bachelor.run.xml"
"content/60_futurework.aux"
"content/70_conclusion.aux"
"bachelor.out"
"bachelor.bcf"
"bachelor.tdo"
"bachelor.log"
"content/20_state.aux"
"content/30_design.aux"
"bachelor.aux"
"bachelor.pdf"
"bachelor.toc"
"bachelor.lot"
"content/50_evaluation.aux"
"content/10_introduction.aux"
"bachelor.lof"

657
thesis/bachelor.fls

@ -0,0 +1,657 @@
PWD /mnt/latex-template
INPUT /var/lib/texmf/web2c/luahbtex/lualatex.fmt
INPUT ./bachelor.tex
OUTPUT bachelor.log
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/lualatexquotejobname.lua
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ltluatex.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-main.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-compat.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-extended.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/lualibs/lualibs-extended-merged.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-log.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/fontloader-basics-gen.lua
OUTPUT /home/studi/.texlive2020/texmf-var/m_t_x_t_e_s_t.tmp
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-parsers.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-configuration.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-status.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/fontloader-2021-01-07.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-fallback.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-multiscript.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-scripts.lua
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/ScriptExtensions.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/Scripts.txt
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-loaders.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-database.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-unicode.lua
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/CaseFolding.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/PropList.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/WordBreakProperty.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/SpecialCasing.txt
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-colors.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-resolvers.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-features.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-define.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-harf-plug.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-letterspace.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-embolden.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-notdef.lua
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/PropList.txt
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-suppress.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-szss.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-auxiliary.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-tounicode.lua
INPUT /usr/share/texlive/texmf-dist/tex/luatex/luaotfload/luaotfload-case.lua
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.lua
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrreprt.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrreprt.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrreprt.cls
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrkbase.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrbase.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlfile-hook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrlogo.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/tocbasic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize11pt.clo
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrsize11pt.clo
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/names/luaotfload-names.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-regular.luc
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/typearea.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/babel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/luababel.def
INPUT /var/lib/texmf/tex/generic/config/language.dat
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel/luababel.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/british.ldf
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/british.ldf
INPUT /usr/share/texlive/texmf-dist/tex/generic/babel-english/english.ldf
INPUT /usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/loadhyph/loadhyph-en-gb.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/hyph-utf8/patterns/tex/hyph-en-gb.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3kernel/expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/xparse/xparse-generic.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.lua
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec-luatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/fontspec/fontspec.cfg
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-bold.luc
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.lua
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/letltxmacro/letltxmacro.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/etexcmds/etexcmds.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hluatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/hluatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/stringenc/stringenc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
INPUT ./preamble/packages.tex
INPUT ./preamble/packages.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/logreq/logreq.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-dm.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-dm.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-unicode.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-unicode.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/unicode-data/UnicodeData.txt
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-compat.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/alphabetic.bbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/bbx/standard.bbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/cbx/alphabetic.cbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/biblatex.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/csquotes/csquotes.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption-koma.sto
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption-koma.sto
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/subcaption.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/subcaption.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/subcaption.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/booktabs/booktabs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.lua
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/microtype.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyvrb/fancyvrb.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdfpages/pdfpages.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdfpages/ppluatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdfpages/ppluatex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyphenat/hyphenat.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyphenat/hyphenat.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyphenat/hyphenat.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/todonotes/todonotes.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/todonotes/todonotes.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/todonotes/todonotes.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/pgf.revision.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-luatex.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfint.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarypositioning.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshadows.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfadings.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex
INPUT /usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryfadings.code.tex
OUTPUT bachelor.pdf
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/setspace/setspace.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/setspace/setspace.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/setspace/setspace.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/lastpage/lastpage.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/lastpage/lastpage.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/lastpage/lastpage.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrhack.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrhack.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/scrhack.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xpatch/xpatch.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xpatch/xpatch.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/xpatch/xpatch.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/listings.hak
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/listings.hak
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/setspace.hak
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/setspace.hak
INPUT ./preamble/color.tex
INPUT ./preamble/color.tex
INPUT ./preamble/style.tex
INPUT ./preamble/style.tex
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
INPUT ./preamble/newcommands.tex
INPUT ./preamble/newcommands.tex
INPUT ./bachelor.aux
INPUT ./bachelor.aux
INPUT ./content/10_introduction.aux
INPUT ./content/10_introduction.aux
INPUT ./content/20_state.aux
INPUT ./content/20_state.aux
INPUT ./content/30_design.aux
INPUT ./content/30_design.aux
INPUT ./content/40_implementation.aux
INPUT ./content/40_implementation.aux
INPUT ./content/50_evaluation.aux
INPUT ./content/50_evaluation.aux
INPUT ./content/60_futurework.aux
INPUT ./content/60_futurework.aux
INPUT ./content/70_conclusion.aux
INPUT ./content/70_conclusion.aux
OUTPUT bachelor.aux
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT /usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
INPUT ./bachelor.out
INPUT ./bachelor.out
INPUT ./bachelor.out
INPUT ./bachelor.out
INPUT ./bachelor.out
OUTPUT bachelor.out
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bookmark.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/bookmark/bkm-pdftex.def
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/british.lbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/british.lbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/lbx/english.lbx
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/biblatex/blx-case-expl3.sty
OUTPUT bachelor.bcf
INPUT ./bachelor.bbl
INPUT ./bachelor.bbl
INPUT ./bachelor.bbl
INPUT ./bachelor.bbl
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-LatinModernRoman.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary-English.dict
INPUT /usr/share/texlive/texmf-dist/tex/latex/translator/translator-basic-dictionary-English.dict
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdflscape/pdflscape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdflscape/pdflscape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/pdflscape/pdflscape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/lscape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/lscape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/lscape.sty
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/lscape.hak
INPUT /usr/share/texlive/texmf-dist/tex/latex/koma-script/lscape.hak
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman8-regular.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman6-regular.luc
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
INPUT /usr/share/texlive/texmf-dist/tex/latex/microtype/mt-cmr.cfg
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans10-regular.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans8-regular.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmmono10-regular.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmmono8-regular.luc
INPUT ./content/00_title.tex
INPUT ./content/00_title.tex
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman12-bold.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans10-bold.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman12-regular.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman7-regular.luc
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi7.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy7.tfm
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmsans12-regular.luc
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmmono12-regular.luc
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr12.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr7.tfm
INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./images/bachelor-aufgabe.pdf
INPUT ./content/01_disclaimer.tex
INPUT ./content/01_disclaimer.tex
INPUT ./content/02_abstract.tex
INPUT ./content/02_abstract.tex
INPUT ./bachelor.toc
INPUT ./bachelor.toc
OUTPUT bachelor.toc
INPUT ./bachelor.tdo
INPUT ./bachelor.tdo
OUTPUT bachelor.tdo
INPUT ./bachelor.lof
INPUT ./bachelor.lof
OUTPUT bachelor.lof
INPUT ./bachelor.lot
INPUT ./bachelor.lot
OUTPUT bachelor.lot
OUTPUT content/10_introduction.aux
INPUT ./content/10_introduction.tex
INPUT ./content/10_introduction.tex
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmroman10-italic.luc
INPUT ./images/squirrel.jpg
INPUT ./images/squirrel.jpg
INPUT ./images/squirrel.jpg
INPUT /home/studi/.texlive2020/texmf-var/luatex-cache/generic/fonts/otl/lmromancaps10-regular.luc
OUTPUT content/20_state.aux
INPUT ./content/20_state.tex
INPUT ./content/20_state.tex
OUTPUT content/30_design.aux
INPUT ./content/30_design.tex
INPUT ./content/30_design.tex
OUTPUT content/40_implementation.aux
INPUT ./content/40_implementation.tex
INPUT ./content/40_implementation.tex
OUTPUT content/50_evaluation.aux
INPUT ./content/50_evaluation.tex
INPUT ./content/50_evaluation.tex
OUTPUT content/60_futurework.aux
INPUT ./content/60_futurework.tex
INPUT ./content/60_futurework.tex
OUTPUT content/70_conclusion.aux
INPUT ./content/70_conclusion.tex
INPUT ./content/70_conclusion.tex
INPUT ./bachelor.aux
INPUT ./content/10_introduction.aux
INPUT ./content/10_introduction.aux
INPUT ./content/20_state.aux
INPUT ./content/20_state.aux
INPUT ./content/30_design.aux
INPUT ./content/30_design.aux
INPUT ./content/40_implementation.aux
INPUT ./content/40_implementation.aux
INPUT ./content/50_evaluation.aux
INPUT ./content/50_evaluation.aux
INPUT ./content/60_futurework.aux
INPUT ./content/60_futurework.aux
INPUT ./content/70_conclusion.aux
INPUT ./content/70_conclusion.aux
INPUT ./bachelor.out
INPUT ./bachelor.run.xml
OUTPUT bachelor.run.xml
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb

16
thesis/bachelor.lof

@ -0,0 +1,16 @@
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
\babel@toc {british}{}
\babel@toc {british}{}
\babel@toc {british}{}
\babel@toc {british}{}
\addvspace {10\p@ }
\contentsline {figure}{\numberline {1.1}{\ignorespaces Short description}}{2}{figure.caption.11}%
\contentsline {figure}{\numberline {1.2}{\ignorespaces A mindblowing figure\relax }}{2}{figure.caption.13}%
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file

1878
thesis/bachelor.log
File diff suppressed because it is too large
View File

15
thesis/bachelor.lot

@ -0,0 +1,15 @@
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
\babel@toc {british}{}
\babel@toc {british}{}
\babel@toc {british}{}
\babel@toc {british}{}
\addvspace {10\p@ }
\contentsline {table}{\numberline {1.1}{\ignorespaces Some interesting numbers}}{1}{table.caption.10}%
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\addvspace {10\p@ }
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file

BIN
thesis/bachelor.pdf

87
thesis/bachelor.run.xml

@ -0,0 +1,87 @@
<?xml version="1.0" standalone="yes"?>
<!-- logreq request file -->
<!-- logreq version 1.0 / dtd version 1.0 -->
<!-- Do not edit this file! -->
<!DOCTYPE requests [
<!ELEMENT requests (internal | external)*>
<!ELEMENT internal (generic, (provides | requires)*)>
<!ELEMENT external (generic, cmdline?, input?, output?, (provides | requires)*)>
<!ELEMENT cmdline (binary, (option | infile | outfile)*)>
<!ELEMENT input (file)+>
<!ELEMENT output (file)+>
<!ELEMENT provides (file)+>
<!ELEMENT requires (file)+>
<!ELEMENT generic (#PCDATA)>
<!ELEMENT binary (#PCDATA)>
<!ELEMENT option (#PCDATA)>
<!ELEMENT infile (#PCDATA)>
<!ELEMENT outfile (#PCDATA)>
<!ELEMENT file (#PCDATA)>
<!ATTLIST requests
version CDATA #REQUIRED
>
<!ATTLIST internal
package CDATA #REQUIRED
priority (9) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST external
package CDATA #REQUIRED
priority (1 | 2 | 3 | 4 | 5 | 6 | 7 | 8) #REQUIRED
active (0 | 1) #REQUIRED
>
<!ATTLIST provides
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST requires
type (static | dynamic | editable) #REQUIRED
>
<!ATTLIST file
type CDATA #IMPLIED
>
]>
<requests version="1.0">
<internal package="biblatex" priority="9" active="0">
<generic>latex</generic>
<provides type="dynamic">
<file>bachelor.bcf</file>
</provides>
<requires type="dynamic">
<file>bachelor.bbl</file>
</requires>
<requires type="static">
<file>blx-dm.def</file>
<file>blx-unicode.def</file>
<file>blx-compat.def</file>
<file>biblatex.def</file>
<file>standard.bbx</file>
<file>alphabetic.bbx</file>
<file>alphabetic.cbx</file>
<file>biblatex.cfg</file>
<file>english.lbx</file>
<file>british.lbx</file>
</requires>
</internal>
<external package="biblatex" priority="5" active="0">
<generic>biber</generic>
<cmdline>
<binary>biber</binary>
<infile>bachelor</infile>
</cmdline>
<input>
<file>bachelor.bcf</file>
</input>
<output>
<file>bachelor.bbl</file>
</output>
<provides type="dynamic">
<file>bachelor.bbl</file>
</provides>
<requires type="dynamic">
<file>bachelor.bcf</file>
</requires>
<requires type="editable">
<file>own.bib</file>
</requires>
</external>
</requests>

12
thesis/bachelor.tdo

@ -0,0 +1,12 @@
\contentsline {todo}{write abstract}{VII}{section*.2}%
\contentsline {todo}{adopt title page}{1}{section*.7}%
\contentsline {todo}{adopt disclaimer}{1}{section*.8}%
\contentsline {todo}{write introduction}{1}{section*.9}%
\contentsline {todo}{add content}{1}{section*.12}%
\contentsline {todo}{Figure: Come up with a mindblowing figure.}{2}{figure.caption.13}%
\contentsline {todo}{write state}{3}{section*.14}%
\contentsline {todo}{write design}{5}{section*.15}%
\contentsline {todo}{write implementation}{7}{section*.16}%
\contentsline {todo}{write evaluation}{9}{section*.17}%
\contentsline {todo}{write future work}{11}{section*.18}%
\contentsline {todo}{write conclusion}{13}{section*.19}%

102
thesis/bachelor.tex

@ -0,0 +1,102 @@
\documentclass[
a4paper,
abstract=true,
twoside,
listof=totoc,
numbers=noenddot,
bibliography=totoc,
BCOR=1.5cm,
headsepline,
DIV=12,
appendixprefix,
final
] {scrreprt}
% You should select either american or british instead of english here:
\usepackage[british]{babel}
\usepackage{fontspec}
\usepackage[citebordercolor={0.75 0.75 1},
filebordercolor={0.75 0.75 1},
linkbordercolor={0.75 0.75 1},
% pagebordercolor={0.75 0.75 1},
urlbordercolor={0.75 0.75 1},
pdfborder={0.75 0.75 1},
hidelinks,
plainpages=false,pdfpagelabels=true]{hyperref}
\hypersetup{%
pdftitle={Acceleration of Plannable Data-intensive Workloads in Heterogeneous Memory Systems using Intel Data Streaming Accelerator},
pdfauthor={Anatol Constantin Fürst},
pdfkeywords={intel,dsa,numa,memory,acceleration,bachelor},
}
\input{preamble/packages.tex}
\addbibresource{own.bib}
\input{preamble/color.tex}
\input{preamble/style.tex}
\input{preamble/newcommands.tex}
% If you know when you will hand in your thesis, enter the date here.
%\date{30. April 2009}
%\newcommand{\printdate}{\@date}
\begin{document}
\pagenumbering{Roman}
\input{content/00_title.tex}
\includepdf{images/bachelor-aufgabe.pdf}
\cleardoublepage
\input{content/01_disclaimer.tex}
% NOTE: if you selected british or american above, change that here too
\selectlanguage{british}
\begin{abstract}
\input{content/02_abstract.tex}
\end{abstract}
\cleardoublepage
\tableofcontents
\cleardoublepage
% remove this on final
\listoftodos
\cleardoublepage
\listoffigures
\cleardoublepage
\listoftables
\cleardoublepage
\pagenumbering{arabic}
% use \input for small stuff (like a list you include twice or a tiks figure)
% and \include for large latex compilation workloads (like a chapter) to get faster builds.
\include{content/10_introduction}
\include{content/20_state}
\include{content/30_design}
\include{content/40_implementation}
\include{content/50_evaluation}
\include{content/60_futurework}
\include{content/70_conclusion}
\appendix
%\addchap{Glossar}
% makeglossaries diplom
%\printglossary[style=altlist]
%\printglossary[type=\acronymtype,style=long]
\printbibliograph
\iffalse
% an aid for Kile autocompletion
\bibliography{own.bib}
\fi
\end{document}

21
thesis/bachelor.toc

@ -0,0 +1,21 @@
\boolfalse {citerequest}\boolfalse {citetracker}\boolfalse {pagetracker}\boolfalse {backtracker}\relax
\babel@toc {british}{}
\babel@toc {british}{}
\babel@toc {british}{}
\babel@toc {british}{}
\contentsline {chapter}{\nonumberline List of Figures}{XIII}{chapter*.5}%
\contentsline {chapter}{\nonumberline List of Tables}{XV}{chapter*.6}%
\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}%
\contentsline {section}{\numberline {1.1}A Section}{1}{section.1.1}%
\contentsline {section}{\numberline {1.2}Another Section}{1}{section.1.2}%
\contentsline {section}{\numberline {1.3}Yet Another Section}{1}{section.1.3}%
\contentsline {section}{\numberline {1.4}Test commands}{1}{section.1.4}%
\contentsline {section}{\numberline {1.5}Test Special Chars}{1}{section.1.5}%
\contentsline {chapter}{\numberline {2}Technical Background}{3}{chapter.2}%
\contentsline {chapter}{\numberline {3}Design}{5}{chapter.3}%
\contentsline {chapter}{\numberline {4}Implementation}{7}{chapter.4}%
\contentsline {chapter}{\numberline {5}Evaluation}{9}{chapter.5}%
\contentsline {chapter}{\numberline {6}Future Work}{11}{chapter.6}%
\contentsline {chapter}{\numberline {7}Conclusion And Outlook}{13}{chapter.7}%
\contentsline {chapter}{\nonumberline Bibliography}{15}{chapter*.20}%
\providecommand \tocbasic@end@toc@file {}\tocbasic@end@toc@file

674
thesis/checkbiw/COPYING

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 3 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, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

1
thesis/checkbiw/MAINTAINER

@ -0,0 +1 @@
mailaddr hohmuth@os.inf.tu-dresden.de

17
thesis/checkbiw/TODO

@ -0,0 +1,17 @@
- Diction does not really interpret "#" as a comment character in its
rules file -- we currently just hope it never matches.
- Remove comments for `gosh' input, just as for LaTeX input.
- Parse LaTeX's \include directives
- A better algorithm for detecting double words
- Add an option for showing the error message separate from the text
- Should we return an error code when we found problems?
- Add a method for disabling warnings on a per-sentence basis inside
the document.
- Allow disabling warnings. Maybe introduce warning levels.

340
thesis/checkbiw/contrib/diction/COPYING

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

183
thesis/checkbiw/contrib/diction/INSTALL

@ -0,0 +1,183 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

108
thesis/checkbiw/contrib/diction/Makefile.in

@ -0,0 +1,108 @@
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
srcdir= @srcdir@
VPATH= @srcdir@
prefix= @prefix@
exec_prefix= @exec_prefix@
datadir= @datadir@
localedir= $(datadir)/locale
CC= @CC@
CFLAGS= @CFLAGS@
CPPFLAGS= @CPPFLAGS@ -I. -DSHAREDIR=\"@datadir@\" -DLOCALEDIR=\"$(localedir)\"
LDFLAGS= @LDFLAGS@
LIBM= -lm
LIBS= @LIBS@
CATALOGS= de.mo
all: diction style all-po-@USE_NLS@
all-po-no:
all-po-yes: $(CATALOGS)
diction: diction.o sentence.o misc.o getopt.o getopt1.o
$(CC) -o $@ $(LDFLAGS) diction.o sentence.o misc.o \
getopt.o getopt1.o $(LIBS)
style: style.o sentence.o misc.o getopt.o getopt1.o
$(CC) -o $@ $(LDFLAGS) style.o sentence.o misc.o \
getopt.o getopt1.o $(LIBM) $(LIBS)
check: diction
for i in $(srcdir)/test/test*; do $$i || break; done
install: all
[ -d $(DESTDIR)@bindir@ ] || @INSTALL@ -m 755 -d $(DESTDIR)@bindir@
@INSTALL@ diction $(DESTDIR)@bindir@/diction
@INSTALL@ style $(DESTDIR)@bindir@/style
@INSTALL@ -m 755 -d $(DESTDIR)@datadir@/diction
@INSTALL@ -m 644 $(srcdir)/de $(DESTDIR)@datadir@/diction/de
@INSTALL@ -m 644 $(srcdir)/en $(DESTDIR)@datadir@/diction/en
(cd $(DESTDIR)@datadir@/diction; rm -f C; ln en C)
[ -d $(DESTDIR)@mandir@/man1 ] || @INSTALL@ -m 755 -d $(DESTDIR)@mandir@/man1
@INSTALL@ -m 644 diction.1 $(DESTDIR)@mandir@/man1/diction.1
@INSTALL@ -m 644 style.1 $(DESTDIR)@mandir@/man1/style.1
make install-po-@USE_NLS@
install-po-no:
install-po-yes: $(CATALOGS)
for cat in $(CATALOGS); do \
dir=$(localedir)/`basename $$cat .mo`/LC_MESSAGES; \
[ -d $(DESTDIR)$$dir ] || @INSTALL@ -m 755 -d $(DESTDIR)$$dir; \
@INSTALL@ -m 644 $$cat $(DESTDIR)$$dir/diction.mo; \
done
.c.o:
$(CC) -c $(CPPFLAGS) $(CFLAGS) $<
.SUFFIXES: .po .mo
.po.mo:
msgfmt -o $@ $<
$(CATALOGS:.mo=.po): diction.pot
for cat in $@; do \
[ -f $$cat ] || cp $(srcdir)/$$cat .; \
if msgmerge $$cat $< -o $$cat.tmp; then \
mv -f $$cat.tmp $$cat; \
cmp -s $$cat $(srcdir)/$$cat || \
cp $$cat $(srcdir)/$$cat; \
else \
echo "msgmerge for $$cat failed!"; \
rm -f $$cat.tmp; \
exit 1; \
fi; \
done
diction.pot: $(srcdir)/*.c
(objdir=`pwd`; cd $(srcdir); \
xgettext --add-comments --keyword=_ \
--output=$$objdir/messages.po *.c )
test -f messages.po && mv messages.po $@
# The sources have changed -- update diction.pot in srcdir as well.
cp $@ $(srcdir)/$@
diction.html: diction.texi
makeinfo --html diction.texi
diction.info: diction.texi
makeinfo diction.texi
#{{{script}}}#{{{ clean
clean:
rm -f *.out core *.o *.mo diction.html diction.info
#}}}
#{{{ distclean
distclean: clean
rm -f diction style config.cache config.h config.log config.status Makefile diction.1 diction.texi style.1 test/rundiction
rm -rf autom4te.cache
#}}}
#{{{ tar
tar: distclean
(b=`pwd`; b=`basename $$b`; cd ..; tar zcvf $$b.tar.gz $$b/COPYING $$b/INSTALL $$b/Makefile.in $$b/README $$b/NEWS $$b/configure $$b/install-sh $$b/de $$b/en $$b/test $$b/[a-z]*.*)
#}}}

10
thesis/checkbiw/contrib/diction/NEWS

@ -0,0 +1,10 @@
The following things have been changed compared to version 1.02:
o makefile bug fixed
o No default prefix of /usr on Linux (confuses packaging systems
when updating diction from source and a package was installed
before)
o Migration from catgets to GNU gettext inspired by patches from
Jochen Hein
o Diction loads phrase file for current locale by default, switching
to locale C if there is no phrase file

22
thesis/checkbiw/contrib/diction/README

@ -0,0 +1,22 @@
GNU diction and style are free implementations of old standard unix
commands, that are not available on many modern systems, because they
have been unbundled. Diction prints wordy and commonly misused phrases.
Style analyses surface characteristics of a document, e.g. sentence
length and various readability measures, but unlike the original code,
it lacks sentence type, word usage and most sentence beginning processing.
Both commands support English and German documents.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

1400
thesis/checkbiw/contrib/diction/config.guess
File diff suppressed because it is too large
View File

14
thesis/checkbiw/contrib/diction/config.h.in

@ -0,0 +1,14 @@
/* Define if you have the strerror function. */
#undef HAVE_STRERROR
/* Define if realloc(0,n) fails. */
#undef BROKEN_REALLOC
/* Define if you have the msgfmt(1) program and the gettext(3) function. */
#undef HAVE_GETTEXT
/* The version string. */
#define VERSION @VERSION@
/* The package name. */
#define PACKAGE @PACKAGE@

1469
thesis/checkbiw/contrib/diction/config.sub
File diff suppressed because it is too large
View File

4326
thesis/checkbiw/contrib/diction/configure
File diff suppressed because it is too large
View File

63
thesis/checkbiw/contrib/diction/configure.in

@ -0,0 +1,63 @@
AC_INIT(diction.c)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_HOST
VERSION=1.03
UPDATED='April 8, 2003'
ALL_LINGUAS="de"
if test "$prefix" = NONE
then
case $host in
*-linux-*)
PIPE="-pipe "
;;
esac
fi
AC_PROG_CC
if test "$GCC" = yes
then
CFLAGS="${CFLAGS} ${PIPE}-Wno-unused -Wshadow -Wbad-function-cast -Wmissing-prototypes -Wstrict-prototypes -Wcast-align -Wcast-qual -Wpointer-arith -Wcast-align -Wwrite-strings -Wmissing-declarations -Wnested-externs -Wundef -pedantic -fno-common"
LDFLAGS='-g'
fi
AC_PROG_INSTALL
AC_CHECK_FUNCS(strerror)
AC_MSG_CHECKING(for broken realloc)
AC_TRY_RUN([#include <sys/types.h>
#include <signal.h>
#include <stdlib.h>
static void sigsegv(int n)
{
exit(1);
}
int main(void)
{
signal(SIGSEGV,sigsegv);
realloc((void*)0,1);
exit(0);
}
],AC_MSG_RESULT(no),AC_DEFINE(BROKEN_REALLOC) AC_MSG_RESULT(yes))
USE_NLS=no
AC_CHECK_PROG(MSGFMT,msgfmt,yes,no)
if test "$MSGFMT" = yes
then
AC_CHECK_HEADERS(libintl.h,[LIBINTL=yes])
if test "$LIBINTL" = yes
then
AC_SEARCH_LIBS(gettext,intl,[AC_DEFINE(HAVE_GETTEXT) USE_NLS=yes])
fi
fi
AC_DEFINE_UNQUOTED(VERSION,"$VERSION")
AC_SUBST(VERSION)
AC_SUBST(UPDATED)
eval DATADIR=$datadir
AC_SUBST(DATADIR)
AC_SUBST(USE_NLS)
AC_OUTPUT(Makefile diction.1 diction.texi diction.spec style.1)

61
thesis/checkbiw/contrib/diction/de

@ -0,0 +1,61 @@
Abnahme nimmt ab
Paradigma Nur als Synonym für "Beispiel, Muster" verwenden.
Zunahme nimmt zu
also folglich, d.h., demnach, demzufolge, daher, deswegen
auch ebenfalls, zusätzlich, in gleicher Weise, dementsprechend
beinhalten enthalten, umfassen, einschließen, abdecken
bekannt, daß bekanntlich
bereits
besitzen Dinge haben kein Eigentum, richtig ist: "haben, enthalten"
besitzt Dinge haben kein Eigentum, richtig ist: "hat, enthält"
besonders
bzw. Ggfs. "und" oder "oder" verwenden.
dabei hierzu, auf diese Weise
damit deshalb, so daß
darum folglich, d.h., demnach, demzufolge, daher, deswegen
doch
eben
eigentlich
erforderlich, daß muß, müssen
erstellen Nur als Synonym für "aufstellen, aufrichten" verwenden, ansonsten: "anfertigen, aufbauen, bauen, bilden, entwerfen, entwickeln, erarbeiten, erzeugen, herstellen, konstruieren, zusammenstellen"
folgt, daß folglich
genauso entsprechend
grundsätzlich
größer wie größer als
habe gezeigt, daß Wie ich gezeigt habe, ist
haben gezeigt, daß Wie wir gezeigt haben, ist
ist abhängig hängt ab
ist geeignet eignet sich
ist gleichbedeutend mit bedeutet so viel wie
konkret
konnte gezeigt werden, daß Wie gezeigt werden konnte, ist
kontrolle Falsche Übersetzung von "control", richtig ist "Steuerung".
kreieren erzeugen
nicht anzunehmen, daß kaum
nun
nun einmal
nämlich
prinzipiell
relativ
sehr
sicher
so "So" ist oft so überflüssig.
so daß !
stellt Stellt es etwas dar oder ist es etwas?
tatsächlich
unterstützen Nur als Synonym für "helfen" verwenden, ansonsten: anbieten, ausführen einer Funktion
vorherigen vorhergehenden
vorigen vorhergehenden
welche Benutze "die", falls eine Einschränkung folgt.
welcher Benutze "der", falls eine Einschränkung folgt.
welches Benutze "das", falls eine Einschränkung folgt.
wesentliche grundsätzliche, bedeutende
wesentliches grundsätzliches, bedeutendes
wohl
ziemlich
zu berücksichtigen, daß allerdings
überaus
Und Anders formulieren.
faktor Nur bei multiplikativer Wirkung benutzen.
instanz Falsche Übersetzung von "instance", richtig ist: "Exemplar, Element, Objekt"
verbrauch Verbrauch oder Bedarf?

389
thesis/checkbiw/contrib/diction/de.po

@ -0,0 +1,389 @@
msgid ""
msgstr ""
"Project-Id-Version: diction 1.03\n"
"POT-Creation-Date: 2004-03-10 16:55+0100\n"
"PO-Revision-Date: 2002-11-09 18:26+0100\n"
"Last-Translator: Michael Haardt <michael@moria.de>\n"
"Language-Team: Deutsch <michael@moria.de>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-15\n"
"Content-Transfer-Encoding: 8bit\n"
#: diction.c:79 diction.c:366
#, c-format
msgid "diction: Opening `%s' failed (%s).\n"
msgstr "diction: Öffnen der Datei `%s' nicht möglich (%s).\n"
#: diction.c:94 diction.c:106 diction.c:124
msgid "diction: out of memory.\n"
msgstr "diction: verfügbarer Hauptspeicher ist erschöpft.\n"
#: diction.c:116
#, c-format
msgid "diction: Compiling regular expression `%s' failed (%s).\n"
msgstr ""
"diction: Compilieren des regulären Ausdrucks `%s' nicht möglich (%s).\n"
#: diction.c:233
msgid "Double word."
msgstr "Doppeltes Wort."
#: diction.c:255
msgid ""
"Usage: diction [-d] [-f file [-n|-L language]] [file ...]\n"
" diction [--ignore-double-words]\n"
" [--file file [--no-default-file|--language]] [file ...]\n"
" diction --version\n"
msgstr ""
"Aufruf: diction [-d] [-f Datei [-n|-L Sprache]] [Datei ...]\n"
" diction [--ignore-double-words]\n"
" [--file Datei [--no-default-file|--language]] [Datei ...]\n"
" diction --version\n"
#: diction.c:294
#, c-format
msgid "diction: Invalid string `..' in default phrase language `%s'.\n"
msgstr "diction: Ungültige Zeichenkette `..' in Default Phrasensprache `%s'.\n"
#: diction.c:335
msgid "Try `diction -h' or `diction --help' for more information.\n"
msgstr ""
"Versuchen Sie `diction -h' oder `diction --help' für weitere Informationen.\n"
#: diction.c:342
msgid ""
"Print wordy and commonly misused phrases in sentences.\n"
"\n"
"-d, --ignore-double-words do not complain about double words\n"
"-f, --file also read the specified database\n"
"-n, --no-default-file do not read the default phrase file\n"
"-L, --language set document language\n"
"-h, --help print this message\n"
" --version print the version\n"
msgstr ""
"Gibt wortreiche und häufig falsch verwendete Phrasen aus.\n"
"\n"
"-d, --ignore-double-words Beschwere Dich nicht über doppelte Worte\n"
"-f, --file Lies diese Datenbank zusätzlich\n"
"-n, --no-default-file Lies die Standard-Phrasendatei nicht\n"
"-L, --language Verwende die angegebene Sprache als "
"Dokumentensprache\n"
"-h, --help Anzeigen dieser Hilfe\n"
" --version Ausgabe der Versionsinformation\n"
#: diction.c:351 style.c:892
msgid "Report bugs to <michael@moria.de>.\n"
msgstr "Berichten sie Fehler an <michael@moria.de>.\n"
#: diction.c:377 style.c:912
msgid "No sentences found.\n"
msgstr "Keine Sätze gefunden.\n"
#: diction.c:381
msgid "No phrases "
msgstr "Keine Phrasen "
#: diction.c:382
msgid "1 phrase "
msgstr "Eine Phrase "
#: diction.c:383
#, c-format
msgid "%d phrases "
msgstr "%d Phrasen "
#: diction.c:384
msgid "in 1 sentence found.\n"
msgstr "in einem Satz gefunden.\n"
#: diction.c:385
#, c-format
msgid "in %d sentences found.\n"
msgstr "in %d Sätzen gefunden.\n"
#: getopt.c:679
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr "%s: Option `%s' is mehrdeutig.\n"
#: getopt.c:703
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: Option `--%s' erlaubt kein Argument.\n"
#: getopt.c:708
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: Option `%c%s' erlaubt kein Argument.\n"
#: getopt.c:725 getopt.c:898
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr "%s: Option `%s' benötigt ein Argument.\n"
#. --option
#: getopt.c:754
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: Unbekannte Option `--%s'\n"
#. +option or -option
#: getopt.c:758
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: Unbekannte Option `%c%s'\n"
#. 1003.2 specifies the format of this message.
#: getopt.c:784
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr "%s: Ungültige Option -- %c\n"
#: getopt.c:787
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr "%s: Ungültige Option -- %c\n"
#. 1003.2 specifies the format of this message.
#: getopt.c:817 getopt.c:947
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Option benötigt ein Argument -- %c\n"
#: getopt.c:864
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: Option `-W %s' ist mehrdeutig\n"
#: getopt.c:882
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: Option `-W %s' erlaubt kein Argument\n"
#: sentence.c:177
#, c-format
msgid "%s: internal error, compiling a regular expression failed (%s).\n"
msgstr ""
"%s: interner Fehler, compilieren eines regulären Ausdrucks nicht möglich (%"
"s).\n"
#: sentence.c:214
#, c-format
msgid "%s: increasing sentence buffer failed: %s\n"
msgstr "%s: vergrößern des Satz-Puffers fehlgeschlagen: %s\n"
#: style.c:71 style.c:85
msgid "style: out of memory\n"
msgstr "style: kein zusätzlicher Hauptspeicher verfügbar\n"
#: style.c:783
msgid ""
"Usage: style [-L language] [-l length] [-r ari] [file ...]\n"
" style [--language language] [--print-long length] [--print-ari ari]\n"
" [file ...]\n"
" style --version\n"
msgstr ""
"Aufruf: style [-L Sprache] [-l Länge] [-r ari] [Dateiname ...]\n"
" style [--language Sprache] [--print-long Länge] [--print-ari ari]\n"
" [Dateiname ...]\n"
" style --version\n"
#: style.c:872
msgid "Try style -h|--help for more information.\n"
msgstr "style --help gibt weitere Informationen.\n"
#: style.c:879
msgid ""
"Analyse surface characteristics of a document.\n"
"\n"
msgstr ""
#: style.c:880
msgid ""
"-L, --language set the document language.\n"
"-l, --print-long print all sentences longer than <length> words\n"
"-r, --print-ari print all sentences with an ARI greater than than "
"<ari>\n"
"-p, --print-passive print all sentences phrased in the passive voice\n"
"-N, --print-nom print all sentences containing nominalizations\n"
"-n, --print-nom-passive print all sentences phrased in the passive voice or\n"
" containing nominalizations\n"
msgstr ""
"Oberflächliche Charakteristiken eines Dokumente untersuchen.\n"
"\n"
"-L, --language Setze die Dokumentensprache\n"
"-l, --print-long Ausgabe aller Sätze länger als <Länge> Wörter\n"
"-r, --print-ari Ausgabe aller Sätze mit einer ARI größer als <ari>\n"
"-p, --print-passive Ausgabe passiv formulierter Sätze\n"
"-N, --print-nom print all sentences containing nominalizations\n"
"-n, --print-nom-passive print all sentences phrased in the passive voice or\n"
" containing nominalizations\n"
"-h, --help Anzeigen dieser Hilfe\n"
" --version Ausgabe der Versionsinformation\n"
#: style.c:888
msgid ""
"-h, --help print this message\n"
" --version print the version\n"
msgstr ""
"-h, --help Diesen Text ausgeben\n"
" --version Die Version ausgeben\n"
#: style.c:902
#, c-format
msgid "style: Opening `%s' failed (%s).\n"
msgstr "style: Öffnen der Datei `%s' nicht möglich (%s).\n"
#: style.c:920
msgid "readability grades:\n"
msgstr "Lesbarkeits-Stufen:\n"
#: style.c:921
msgid "Kincaid"
msgstr "Kincaid"
#: style.c:922
msgid "ARI"
msgstr "ARI"
#: style.c:923
msgid "Coleman-Liau"
msgstr "Coleman-Liau"
#: style.c:924
msgid "Flesch Index"
msgstr "Flesch Index"
#: style.c:925
msgid "Fog Index"
msgstr "Fog Index"
#: style.c:927
msgid "1. WSTF Index"
msgstr "1. WSTF Index"
#: style.c:928
msgid "Wheeler-Smith Index"
msgstr "Wheeler-Smith Index"
#: style.c:929 style.c:934
msgid "below school year 5\n"
msgstr "niedriger als das fünfte Schuljahr\n"
#: style.c:930
msgid "higher than school year 10\n"
msgstr "höher als das zehnte Schuljahr\n"
#: style.c:931 style.c:936
#, c-format
msgid "school year %d\n"
msgstr "%d. Schuljahr\n"
#: style.c:933
msgid "Lix"
msgstr "Lix"
#: style.c:935
msgid "higher than school year 11\n"
msgstr "höher als das 11. Schuljahr\n"
#: style.c:937
msgid "SMOG-Grading"
msgstr "SMOG-Grading"
#: style.c:939
msgid "sentence info:\n"
msgstr "Satz-Information:\n"
#: style.c:940
#, c-format
msgid " %d characters\n"
msgstr " %d Zeichen\n"
#: style.c:941
#, c-format
msgid " %d words, average length %.2f characters = %.2f syllables\n"
msgstr " %d Worte, durschnittliche Länge %.2f Zeichen = %.2f Silben\n"
#: style.c:942
#, c-format
msgid " %d sentences, average length %.1f words\n"
msgstr " %d Sätze, durchschnittliche Länge %.1f Worte\n"
#: style.c:946
#, c-format
msgid " %d%% (%d) short sentences (at most %d words)\n"
msgstr " %d%% (%d) kurze Sätze (hoechstens %d Worte)\n"
#: style.c:949
#, c-format
msgid " %d%% (%d) long sentences (at least %d words)\n"
msgstr " %d%% (%d) lange Sätze (mindestens %d Worte)\n"
#: style.c:950
#, c-format
msgid " %d paragraphs, average length %.1f sentences\n"
msgstr " %d Absätze, durschnittliche Länge %.1f Sätze\n"
#: style.c:951
#, c-format
msgid " %d%% (%d) questions\n"
msgstr " %d%% (%d) Fragen\n"
#: style.c:952
#, c-format
msgid " %d%% (%d) passive sentences\n"
msgstr " %d%% (%d) passive Sätze\n"
#: style.c:953
#, c-format
msgid ""
" longest sent %d wds at sent %d; shortest sent %d wds at sent %d\n"
msgstr ""
" Längster Satz (%2d) enthält %d Wort\n"
" Kürzester Satz (%2d) enthält %d Worte\n"
#: style.c:972
msgid "word usage:\n"
msgstr "Wortwahl:\n"
#: style.c:973
msgid " verb types:\n"
msgstr " Verb Typen:\n"
#: style.c:974
#, c-format
msgid " to be (%d) auxiliary (%d) \n"
msgstr " \"sein\" (%d) Hilfsverb (%d) \n"
#: style.c:975
#, c-format
msgid " types as %% of total:\n"
msgstr " Typ in %% der Gesamtzahl:\n"
#: style.c:976
msgid ""
" conjunctions %1.f% (%d) pronouns %1.f% (%d) prepositions %1.f% (%d)\n"
msgstr ""
" Konjunktionen %1.f% (%d) Pronomen %1.f% (%d) Prýositionen %1.f% (%"
"d)\n"
#: style.c:981
msgid " nominalizations %1.f% (%d)\n"
msgstr " Substantivierungen %1.f% (%d)\n"
#: style.c:985
msgid "sentence beginnings:\n"
msgstr "Satzanfang:\n"
#: style.c:986
#, c-format
msgid " pronoun (%d) interrogative pronoun (%d) article (%d)\n"
msgstr " Pronomen (%d) Fragepronomen (%d) Artikel (%d)\n"
#: style.c:989
#, c-format
msgid ""
" subordinating conjunction (%d) conjunction (%d) preposition (%d)\n"
msgstr ""
" untergeordnete Konjunktion (%d) Konjunktion (%d) Präposition (%d)\n"

121
thesis/checkbiw/contrib/diction/diction.1.in

@ -0,0 +1,121 @@
.TH DICTION 1 "@UPDATED@" "GNU" "User commands"
.SH NAME \"{{{roff}}}\"{{{
diction \- print wordy and commonly misused phrases in sentences
.\"}}}
.SH SYNOPSIS \"{{{
.ad l
.B diction
.RB [ \-f
.IR file
.RB [ \-n | \-L
.IR language ]]
.RI [ file ...]
.ad b
.br
.ad l
.B diction
.RB [ \-\-file
.IR file
.RB [ \-\-no-default-file | \-\-language
.IR language ]]
.RI [ file ...]
.ad b
.br
.ad l
.B diction
.BR \-h | \-\-help
.ad b
.br
.ad l
.B diction \-\-version
.ad b
.\"}}}
.SH DESCRIPTION \"{{{
\fBDiction\fP finds all sentences in a document, that contain phrases
from a database of frequently misused, bad or wordy diction. It further
checks for double words. If no files are given, the document is read
from standard input. Each found phrase is enclosed in \fB[ ]\fP
(brackets). Suggestions and advice, if any, are printed headed by a
right arrow \fB->\fP.
A sentence is a sequence of words, that starts with a capitalised word and
ends with a full stop, double colon, question mark or exclaimation mark.
A single letter followed by a dot is considered an abbreviation, so it
does not terminate a sentence. Various multi-letter abbreviations are
recognized, they do not terminate a sentence as well.
.PP
\fBDiction\fP understands \fIcpp\fP(1) \fB#line\fP lines for being able to
give precise locations when printing sentences.
.\"}}}
.SH OPTIONS \"{{{
.IP "\fB\-f\fP \fIfile\fP, \fB\-\-file\fP \fIfile\fP"
Read the user specified database from the specified \fIfile\fP in addition
to the default database.
.IP "\fB\-n\fP, \fB\-\-no-default-file\fP"
Do not read the default database, so only the user-specified database is used.
.IP "\fB\-L\fP \fIlanguage\fP, \fB\-\-language\fP \fIlanguage\fP"
Set the phrase file language.
.IP "\fB\-h\fP, \fB\-\-help\fP"
Print a short usage message.
.IP \fB\-\-version\fP
Print the version.
.\"}}}
.SH ERRORS \"{{{
On usage errors, 1 is returned. Termination caused by lack of memory is
signalled by exit code 2.
.\"}}}
.SH EXAMPLE \"{{{
The following example first removes all roff constructs and headers
from a document and feeds the result to diction with a German database:
.RS
.sp
deroff -s file.mm | diction -L de | fmt
.RE
.\"}}}
.SH ENVIRONMENT \"{{{
.IP "\fBLC_MESSAGES\fP=\fBde\fP|\fBen\fP"
specifies the message language and is also used as default for the
phrase language. The default language is \fBen\fP.
.\"}}}
.SH FILES \"{{{
.nf
@DATADIR@/diction/* databases for various languages
.fi
.\"}}}
.SH AUTHOR \"{{{
This program is GNU software, copyright 1997, 1998, 1999, 2000, 2001,
2002 Michael Haardt <michael@moria.de>.
.PP
The english phrase file contains contributions by Greg Lindahl
<lindahl@pbm.com>, Wil Baden, Gary D. Kline, Kimberly Hanks and
Beth Morris.
.PP
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.
.PP
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.
.PP
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"}}}
.SH HISTORY \"{{{
There has been a diction command on old UNIX systems, which is now part
of the AT&T DWB package. The original version was bound to roff by
enforcing a call to deroff.
.\"}}}
.SH "SEE ALSO" \"{{{
deroff(1), fmt(1), style(1)
.PP
Cherry, L.L.; Vesterman, W.: \fIWriting Tools\(emThe STYLE and DICTION
programs\fP, Computer Science Technical Report 91, Bell Laboratories,
Murray Hill, N.J. (1981), republished as part of the 4.4BSD User's
Supplementary Documents by O'Reilly.
.PP
Strunk, William: \fIThe elements of style\fP, Ithaca, N.Y.: Priv. print., 1918,
http://coba.shsu.edu/help/strunk/
.\"}}}

389
thesis/checkbiw/contrib/diction/diction.c

@ -0,0 +1,389 @@
/* Notes */ /*{{{C}}}*//*{{{*/
/*
This program is GNU software, copyright 1997-2004
Michael Haardt <michael@moria.de>.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/*}}}*/
/* #includes */ /*{{{*/
#undef _POSIX_SOURCE
#define _POSIX_SOURCE 1
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 2
#include "config.h"
#include <sys/types.h>
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <locale.h>
#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(String) gettext(String)
#else
#define _(String) String
#endif
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "getopt.h"
#include "misc.h"
#include "sentence.h"
/*}}}*/
/* types */ /*{{{*/
struct badPhrase
{
char *phrase;
regex_t phrase_r;
char *suggest;
};
/*}}}*/
static int doubleWords=1;
static char phraseLanguage[32];
static struct badPhrase *badPhrases=(struct badPhrase *)0;
static int badPhraseCapacity=0;
static int badPhraseSize=0;
static int sentences,hits;
static void loadPhrases(const char *file) /*{{{*/
{
FILE *fp;
char ln[1024];
char *tab;
size_t l;
int fix,j;
if ((fp=fopen(file,"r"))==(FILE*)0)
{
fprintf(stderr,_("diction: Opening `%s' failed (%s).\n"),file,strerror(errno));
exit(1);
}
while (fgets(ln,sizeof(ln),fp))
{
l=strlen(ln);
if (l && ln[l-1]=='\n') ln[--l]='\0';
if (ln[0])
{
int err;
if (badPhraseSize==badPhraseCapacity) /* enlarge capacity */ /*{{{*/
{
if ((badPhrases=realloc(badPhrases,(badPhraseCapacity=3*(badPhraseCapacity+32))*sizeof(struct badPhrase)))==(struct badPhrase*)0)
{
fprintf(stderr,_("diction: out of memory.\n"));
exit(2);
}
}
/*}}}*/
if ((tab=strchr(ln,'\t')))
{
*tab='\0';
++tab;
}
if ((badPhrases[badPhraseSize].phrase=malloc(strlen(ln)+1))==(char*)0)
{
fprintf(stderr,_("diction: out of memory.\n"));
exit(2);
}
strcpy(badPhrases[badPhraseSize].phrase,ln);
#if 0
if ((err=regcomp(&badPhrases[badPhraseSize].phrase_r,ln,REG_EXTENDED))!=0)
{
char errmsg[1024];
regerror(err,&badPhrases[badPhraseSize].phrase_r,errmsg,sizeof(errmsg));
fprintf(stderr,_("diction: Compiling regular expression `%s' failed (%s).\n"),ln,errmsg);
exit(2);
}
#endif
if (tab)
{
if ((badPhrases[badPhraseSize].suggest=malloc(strlen(tab)+1))==(char*)0)
{
fprintf(stderr,_("diction: out of memory.\n"));
exit(2);
}
strcpy(badPhrases[badPhraseSize].suggest,tab);
}
else badPhrases[badPhraseSize].suggest=(char*)0;
++badPhraseSize;
}
}
/* resolve =phrase explainations */ /*{{{*/
for (fix=0; fix<badPhraseSize; ++fix)
{
if (badPhrases[fix].suggest && *badPhrases[fix].suggest=='=')
{
for (j=0; j<badPhraseSize; ++j)
{
if (j!=fix && strcmp(badPhrases[j].phrase,badPhrases[fix].suggest+1)==0)
{
free(badPhrases[fix].suggest);
badPhrases[fix].suggest=badPhrases[j].suggest;
break;
}
if (j==badPhraseSize)
{
fprintf(stderr,"diction: Warning: Unable to resolve %s.\n",badPhrases[fix].suggest);
}
}
}
}
/*}}}*/
}
/*}}}*/
static void diction(const char *sent, size_t length, const char *file, int line) /*{{{*/
{
const char *lastout=sent;
const char *s=sent;
const char *end=sent+length;
const char *lastWord=(const char*)0;
int j;
if (length==0) return;
while (s<end)
{
/* check for bad phrase */ /*{{{*/
for (j=0; j<badPhraseSize; ++j)
{
const struct badPhrase *bp;
const char *badword,*str;
bp=&badPhrases[j];
badword=bp->phrase;
if (*badword==' ') /* beginning of sentence or word */
{
if (s>sent && isalpha(*(s-1))) continue;
++badword;
}
str=s;
while ((*badword==tolower(*str) || *badword==*str) && *badword && *str) { ++badword; ++str; }
if ((*badword=='\0' && !isalpha(*str)) || (*badword=='~' && isalpha(*str)))
{
if (bp->suggest && *bp->suggest!='!')
{
++hits;
if (lastout==sent) printf("%s:%d: ",file,line);
while (lastout<s) putc(*lastout++,stdout);
putc('[',stdout);
while (lastout<str) putc(*lastout++,stdout);
if (bp->suggest)
{
putc(' ',stdout);
putc('-',stdout);
putc('>',stdout);
putc(' ',stdout);
fputs(bp->suggest,stdout);
}
putc(']',stdout);
}
s=str-1;
break;
}
}
/*}}}*/
/* check for double words */ /*{{{*/
if (doubleWords)
{
const char *badword,*str;
if (s>sent && !isalpha(*(s-1)))
{
/* move back to end of last word */
badword=s-1;
while (badword>=sent && !isalpha(*badword)) --badword;
if (badword>sent)
{
/* move back to begin of last word */
while (badword>=sent && isalpha(*badword)) --badword;
if (!isalpha(*badword)) ++badword;
str=s;
while (*badword==*str && badword<s && isalpha(*str)) { ++badword; ++str; }
if (badword<s && !isalpha(*badword) && !isalpha(*str))
{
if (lastout==sent) printf("%s:%d: ",file,line);
while (lastout<s) putc(*lastout++,stdout);
putc('[',stdout);
while (lastout<str) putc(*lastout++,stdout);
putc(' ',stdout);
putc('-',stdout);
putc('>',stdout);
putc(' ',stdout);
fputs(_("Double word."),stdout);
putc(']',stdout);
lastWord=s;
s=str-1;
}
}
}
}
/*}}}*/
++s;
}
++sentences;
if (lastout!=sent)
{
while (lastout<end) putc(*lastout++,stdout);
putc('\n',stdout);
putc('\n',stdout);
}
}
/*}}}*/
static void print_usage(FILE *handle) /*{{{*/
{
fputs(_("\
Usage: diction [-d] [-f file [-n|-L language]] [file ...]\n\
diction [--ignore-double-words]\n\
[--file file [--no-default-file|--language]] [file ...]\n\
diction --version\n"),handle);
}
/*}}}*/
int main(int argc, char *argv[]) /*{{{*/
{
int usage=0,c;
char *userPhrases=(char*)0,*e;
char defaultPhrases[_POSIX_PATH_MAX];
static struct option lopts[]=
{
{ "ignore-double-words", no_argument, 0, 'd' },
{ "file", required_argument, 0, 'f' },
{ "help", no_argument, 0, 'h' },
{ "version", no_argument, 0, 'v' },
{ "language", required_argument, 0, 'L' },
{ "no-default-file", no_argument, 0, 'n' },
{ (const char*)0, 0, 0, '\0' }
};
/* init locale */ /*{{{*/
setlocale(LC_ALL,"");
#ifdef HAVE_GETTEXT
bindtextdomain("diction",LOCALEDIR);
textdomain("diction");
#endif
e=getenv("LC_MESSAGES");
if (e==(char*)0) e=getenv("LC_ALL");
if (e==(char*)0) e=getenv("LANG");
if (e)
{
strncpy(phraseLanguage,e,sizeof(phraseLanguage)-1);
phraseLanguage[sizeof(phraseLanguage)-1]='\0';
if (strstr(phraseLanguage,".."))
{
fprintf(stderr,_("diction: Invalid string `..' in default phrase language `%s'.\n"),phraseLanguage);
exit(2);
}
else
{
snprintf(defaultPhrases,sizeof(defaultPhrases),SHAREDIR "/diction/%s",e);
if (access(defaultPhrases,R_OK)!=0)
{
phraseLanguage[5]='\0';
snprintf(defaultPhrases,sizeof(defaultPhrases),SHAREDIR "/diction/%s",phraseLanguage);
if (access(defaultPhrases,R_OK)!=0)
{
phraseLanguage[2]='\0';
snprintf(defaultPhrases,sizeof(defaultPhrases),SHAREDIR "/diction/%s",phraseLanguage);
if (access(defaultPhrases,R_OK)!=0)
{
strcpy(phraseLanguage,"C");
}
}
}
}
}
else strcpy(phraseLanguage,"C");
/*}}}*/
/* parse options */ /*{{{*/
strcpy(defaultPhrases,SHAREDIR "/diction/");
while ((c=getopt_long(argc,argv,"df:nL:h",lopts,(int*)0))!=EOF) switch(c)
{
case 'd': doubleWords=0; break;
case 'f': userPhrases=optarg; break;
case 'n': defaultPhrases[0]='\0'; break;
case 'L': strncpy(phraseLanguage,optarg,sizeof(phraseLanguage)-1); phraseLanguage[sizeof(phraseLanguage)-1]='\0'; break;
case 'v': printf("GNU diction " VERSION "\n"); exit(0);
case 'h': usage=2; break;
default: usage=1; break;
}
if (defaultPhrases[0]) strcat(defaultPhrases,phraseLanguage);
if (usage==1 || (userPhrases==(char*)0 && defaultPhrases[0]=='\0'))
{
print_usage(stderr);
fputs("\n",stderr);
fputs(_("Try `diction -h' or `diction --help' for more information.\n"),stderr);
exit(1);
}
if (usage==2)
{
print_usage(stdout);
fputs("\n",stdout);
fputs(_("\
Print wordy and commonly misused phrases in sentences.\n\n\
-d, --ignore-double-words do not complain about double words\n\
-f, --file also read the specified database\n\
-n, --no-default-file do not read the default phrase file\n\
-L, --language set document language\n\
-h, --help print this message\n\
--version print the version\n"),stdout);
fputs("\n",stdout);
fputs(_("Report bugs to <michael@moria.de>.\n"),stdout);
exit(0);
}
/*}}}*/
if (defaultPhrases[0]) loadPhrases(defaultPhrases);
if (userPhrases) loadPhrases(userPhrases);
sentences=0;
hits=0;
if (optind==argc) sentence("diction",stdin,"(stdin)",diction,phraseLanguage);
else while (optind<argc)
{
FILE *fp;
if ((fp=fopen(argv[optind],"r"))==(FILE*)0)
{
fprintf(stderr,_("diction: Opening `%s' failed (%s).\n"),argv[optind],strerror(errno));
}
else
{
sentence("diction",fp,argv[optind],diction,phraseLanguage);
fclose(fp);
}
++optind;
}
if (sentences==0)
{
printf(_("No sentences found.\n"));
}
else
{
if (hits==0) printf(_("No phrases "));
else if (hits==1) printf(_("1 phrase "));
else printf(_("%d phrases "),hits);
if (sentences==1) printf(_("in 1 sentence found.\n"));
else printf(_("in %d sentences found.\n"),sentences);
}
exit(0);
}
/*}}}*/

356
thesis/checkbiw/contrib/diction/diction.pot

@ -0,0 +1,356 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2004-03-10 16:55+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: diction.c:79 diction.c:366
#, c-format
msgid "diction: Opening `%s' failed (%s).\n"
msgstr ""
#: diction.c:94 diction.c:106 diction.c:124
msgid "diction: out of memory.\n"
msgstr ""
#: diction.c:116
#, c-format
msgid "diction: Compiling regular expression `%s' failed (%s).\n"
msgstr ""
#: diction.c:233
msgid "Double word."
msgstr ""
#: diction.c:255
msgid ""
"Usage: diction [-d] [-f file [-n|-L language]] [file ...]\n"
" diction [--ignore-double-words]\n"
" [--file file [--no-default-file|--language]] [file ...]\n"
" diction --version\n"
msgstr ""
#: diction.c:294
#, c-format
msgid "diction: Invalid string `..' in default phrase language `%s'.\n"
msgstr ""
#: diction.c:335
msgid "Try `diction -h' or `diction --help' for more information.\n"
msgstr ""
#: diction.c:342
msgid ""
"Print wordy and commonly misused phrases in sentences.\n"
"\n"
"-d, --ignore-double-words do not complain about double words\n"
"-f, --file also read the specified database\n"
"-n, --no-default-file do not read the default phrase file\n"
"-L, --language set document language\n"
"-h, --help print this message\n"
" --version print the version\n"
msgstr ""
#: diction.c:351 style.c:892
msgid "Report bugs to <michael@moria.de>.\n"
msgstr ""
#: diction.c:377 style.c:912
msgid "No sentences found.\n"
msgstr ""
#: diction.c:381
msgid "No phrases "
msgstr ""
#: diction.c:382
msgid "1 phrase "
msgstr ""
#: diction.c:383
#, c-format
msgid "%d phrases "
msgstr ""
#: diction.c:384
msgid "in 1 sentence found.\n"
msgstr ""
#: diction.c:385
#, c-format
msgid "in %d sentences found.\n"
msgstr ""
#: getopt.c:679
#, c-format
msgid "%s: option `%s' is ambiguous\n"
msgstr ""
#: getopt.c:703
#, c-format
msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr ""
#: getopt.c:708
#, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr ""
#: getopt.c:725 getopt.c:898
#, c-format
msgid "%s: option `%s' requires an argument\n"
msgstr ""
#. --option
#: getopt.c:754
#, c-format
msgid "%s: unrecognized option `--%s'\n"
msgstr ""
#. +option or -option
#: getopt.c:758
#, c-format
msgid "%s: unrecognized option `%c%s'\n"
msgstr ""
#. 1003.2 specifies the format of this message.
#: getopt.c:784
#, c-format
msgid "%s: illegal option -- %c\n"
msgstr ""
#: getopt.c:787
#, c-format
msgid "%s: invalid option -- %c\n"
msgstr ""
#. 1003.2 specifies the format of this message.
#: getopt.c:817 getopt.c:947
#, c-format
msgid "%s: option requires an argument -- %c\n"
msgstr ""
#: getopt.c:864
#, c-format
msgid "%s: option `-W %s' is ambiguous\n"
msgstr ""
#: getopt.c:882
#, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr ""
#: sentence.c:177
#, c-format
msgid "%s: internal error, compiling a regular expression failed (%s).\n"
msgstr ""
#: sentence.c:214
#, c-format
msgid "%s: increasing sentence buffer failed: %s\n"
msgstr ""
#: style.c:71 style.c:85
msgid "style: out of memory\n"
msgstr ""
#: style.c:783
msgid ""
"Usage: style [-L language] [-l length] [-r ari] [file ...]\n"
" style [--language language] [--print-long length] [--print-ari ari]\n"
" [file ...]\n"
" style --version\n"
msgstr ""
#: style.c:872
msgid "Try style -h|--help for more information.\n"
msgstr ""
#: style.c:879
msgid ""
"Analyse surface characteristics of a document.\n"
"\n"
msgstr ""
#: style.c:880
msgid ""
"-L, --language set the document language.\n"
"-l, --print-long print all sentences longer than <length> words\n"
"-r, --print-ari print all sentences with an ARI greater than than "
"<ari>\n"
"-p, --print-passive print all sentences phrased in the passive voice\n"
"-N, --print-nom print all sentences containing nominalizations\n"
"-n, --print-nom-passive print all sentences phrased in the passive voice or\n"
" containing nominalizations\n"
msgstr ""
#: style.c:888
msgid ""
"-h, --help print this message\n"
" --version print the version\n"
msgstr ""
#: style.c:902
#, c-format
msgid "style: Opening `%s' failed (%s).\n"
msgstr ""
#: style.c:920
msgid "readability grades:\n"
msgstr ""
#: style.c:921
msgid "Kincaid"
msgstr ""
#: style.c:922
msgid "ARI"
msgstr ""
#: style.c:923
msgid "Coleman-Liau"
msgstr ""
#: style.c:924
msgid "Flesch Index"
msgstr ""
#: style.c:925
msgid "Fog Index"
msgstr ""
#: style.c:927
msgid "1. WSTF Index"
msgstr ""
#: style.c:928
msgid "Wheeler-Smith Index"
msgstr ""
#: style.c:929 style.c:934
msgid "below school year 5\n"
msgstr ""
#: style.c:930
msgid "higher than school year 10\n"
msgstr ""
#: style.c:931 style.c:936
#, c-format
msgid "school year %d\n"
msgstr ""
#: style.c:933
msgid "Lix"
msgstr ""
#: style.c:935
msgid "higher than school year 11\n"
msgstr ""
#: style.c:937
msgid "SMOG-Grading"
msgstr ""
#: style.c:939
msgid "sentence info:\n"
msgstr ""
#: style.c:940
#, c-format
msgid " %d characters\n"
msgstr ""
#: style.c:941
#, c-format
msgid " %d words, average length %.2f characters = %.2f syllables\n"
msgstr ""
#: style.c:942
#, c-format
msgid " %d sentences, average length %.1f words\n"
msgstr ""
#: style.c:946
#, c-format
msgid " %d%% (%d) short sentences (at most %d words)\n"
msgstr ""
#: style.c:949
#, c-format
msgid " %d%% (%d) long sentences (at least %d words)\n"
msgstr ""
#: style.c:950
#, c-format
msgid " %d paragraphs, average length %.1f sentences\n"
msgstr ""
#: style.c:951
#, c-format
msgid " %d%% (%d) questions\n"
msgstr ""
#: style.c:952
#, c-format
msgid " %d%% (%d) passive sentences\n"
msgstr ""
#: style.c:953
#, c-format
msgid ""
" longest sent %d wds at sent %d; shortest sent %d wds at sent %d\n"
msgstr ""
#: style.c:972
msgid "word usage:\n"
msgstr ""
#: style.c:973
msgid " verb types:\n"
msgstr ""
#: style.c:974
#, c-format
msgid " to be (%d) auxiliary (%d) \n"
msgstr ""
#: style.c:975
#, c-format
msgid " types as %% of total:\n"
msgstr ""
#: style.c:976
msgid ""
" conjunctions %1.f% (%d) pronouns %1.f% (%d) prepositions %1.f% (%d)\n"
msgstr ""
#: style.c:981
msgid " nominalizations %1.f% (%d)\n"
msgstr ""
#: style.c:985
msgid "sentence beginnings:\n"
msgstr ""
#: style.c:986
#, c-format
msgid " pronoun (%d) interrogative pronoun (%d) article (%d)\n"
msgstr ""
#: style.c:989
#, c-format
msgid ""
" subordinating conjunction (%d) conjunction (%d) preposition (%d)\n"
msgstr ""

57
thesis/checkbiw/contrib/diction/diction.spec

@ -0,0 +1,57 @@
%define prefix /usr
%define RELEASE 1
%define rel %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE}
Summary: analyze text for style
Name: diction
Version: 1.03
Release: %rel
Copyright: GPL
Group: Text/Utilities
Source: http://www.moria.de/~michael/diction/diction-%{version}.tar.gz
BuildRoot: /var/tmp/%{name}-%{version}-root
URL: http://www.moria.de/~michael/diction/
DocDir: %{prefix}/doc
%description
diction [desc]
%changelog
* Thu May 12 2000 HWN <hanwen@cs.uu.nl>
- Initial spec file copied GGV
%prep
%setup
%build
# Needed for snapshot releases.
if [ ! -f configure ]; then
CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh $ARCH_FLAGS --prefix=%{prefix}
else
CFLAGS="$RPM_OPT_FLAGS" ./configure $ARCH_FLAGS --prefix=%{prefix}
fi
if [ "$SMP" != "" ]; then
(make "MAKE=make -k -j $SMP"; exit 0)
make
else
make
fi
%install
rm -rf $RPM_BUILD_ROOT
make prefix=$RPM_BUILD_ROOT%{prefix} install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc COPYING README
%{prefix}/bin/*
%{prefix}/share/*
%{prefix}/man/*

57
thesis/checkbiw/contrib/diction/diction.spec.in

@ -0,0 +1,57 @@
%define prefix /usr
%define RELEASE 1
%define rel %{?CUSTOM_RELEASE} %{!?CUSTOM_RELEASE:%RELEASE}
Summary: analyze text for style
Name: diction
Version: @VERSION@
Release: %rel
Copyright: GPL
Group: Text/Utilities
Source: http://www.moria.de/~michael/diction/diction-%{version}.tar.gz
BuildRoot: /var/tmp/%{name}-%{version}-root
URL: http://www.moria.de/~michael/diction/
DocDir: %{prefix}/doc
%description
diction [desc]
%changelog
* Thu May 12 2000 HWN <hanwen@cs.uu.nl>
- Initial spec file copied GGV
%prep
%setup
%build
# Needed for snapshot releases.
if [ ! -f configure ]; then
CFLAGS="$RPM_OPT_FLAGS" ./autogen.sh $ARCH_FLAGS --prefix=%{prefix}
else
CFLAGS="$RPM_OPT_FLAGS" ./configure $ARCH_FLAGS --prefix=%{prefix}
fi
if [ "$SMP" != "" ]; then
(make "MAKE=make -k -j $SMP"; exit 0)
make
else
make
fi
%install
rm -rf $RPM_BUILD_ROOT
make prefix=$RPM_BUILD_ROOT%{prefix} install
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%doc COPYING README
%{prefix}/bin/*
%{prefix}/share/*
%{prefix}/man/*

272
thesis/checkbiw/contrib/diction/diction.texi.in

@ -0,0 +1,272 @@
@c {{{Texinfo}}}@c {{{ Setup
\input texinfo
@setfilename diction.info
@settitle diction, print wordy and commonly misused phrases in sentences
@syncodeindex ky cp
@syncodeindex pg cp
@syncodeindex tp cp
@defcodeindex op
@syncodeindex op fn
@syncodeindex vr fn
@ifinfo
@direntry
* diction: (diction). print wordy and commonly misused phrases in sentences.
@end direntry
This file documents @command{diction}, a program to print wordy and
commonly misused phrases in sentences.
Published by the Free Software Foundation,
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
Copyright 1997, 1998, 1999, 2000 Michael Haardt
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by Michael Haardt.
@end ifinfo
@setchapternewpage off
@c }}}
@c {{{ Title page
@titlepage
@title diction, print wordy and commonly misused phrases in sentences
@subtitle version @VERSION@, @UPDATED@
@author Michael Haardt
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1997, 1998, 1999, 2000 Michael Haardt
@sp 2
Published by the Free Software Foundation, @*
59 Temple Place - Suite 330, @*
Boston, MA 02111-1307, USA
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided that
the entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by Michael Haardt.
@end titlepage
@c }}}
@c {{{ Overview
@page
@ifnottex
@node Top
@top Diction
@command{diction} prints wordy and commonly misused phrases in sentences.
This document was produced for version @VERSION@ of @sc{gnu}
@command{diction}.
@end ifnottex
@menu
* Introduction:: Introduction.
* Invoking:: Invoking @command{diction}; description of options.
* Diagnostics:: Exit status returned by @command{diction}.
* Reporting Bugs:: Reporting Bugs.
* Concept Index:: A menu with all the topics in this manual.
* Index:: A menu with all @command{diction} commands
and command-line options.
@end menu
@c }}}
@c {{{ Introduction
@node Introduction
@chapter Introduction
@command{diction} finds all sentences in a document, that contain
phrases from a database of frequently misused, bad or wordy diction.
It further checks for double words. If no files are given, the document
is read from standard input. Each found phrase is enclosed in @code{[ ]}
(brackets). Suggestions and advice, if any, are printed headed by a right
arrow @code{->}. A sentence is a sequence of words, that starts with a
capitalised word and ends with a full stop, double colon, question mark
or exclaimation mark. A single letter followed by a dot is considered an
abbreviation, so it does not terminate a sentence. Various multi-letter
abbreviations are recognized, they do not terminate a sentence as well.
@command{diction} understands @command{cpp} @code{#line} lines for being
able to give precise locations when printing sentences.
There has been a diction command on old UNIX systems, which is now part
of the AT&T DWB package. The original version was bound to roff by
enforcing a call to @command{deroff}. This version is a reimplementation
and not must run in a pipe with @command{deroff} if you want to process
roff documents. Similarly, you can run it in a pipe with @command{dehtml}
or @command{detex} to process HTML or TeX documents.
See also:
Cherry, L.L.; Vesterman, W.: Writing Tools-The STYLE and DICTION
programs, Computer Science Technical Report 91, Bell Laboratories,
Murray Hill, N.J. (1981), republished as part of the 4.4BSD User's
Supplementary Documents by O'Reilly.
Strunk, William: The elements of style, Ithaca, N.Y.: Priv. print., 1918,
@url{http://coba.shsu.edu/help/strunk/}.
@c }}}
@c {{{ Invoking
@node Invoking
@chapter Invoking @command{diction}
@table @samp
@item -f @var{file}
@itemx --file @var{file}
@opindex -f
@opindex --file
@cindex user specified database
Read the user specified database from the specified @var{file} in addition
to the default database.
@item -n
@itemx --no-default-file
@opindex -n
@opindex --no-default-file
@cindex not loading default database
Do not read the default database, so only the user-specified database is used.
@item -L @var{language}
@itemx --language @var{language}
@opindex -L
@opindex --language
@cindex set phrase file language
Set the phrase file language.
@item -h
@itemx --help
@opindex -h
@opindex --help
@cindex print usage message
Print a short usage message.
@itemx --version
@opindex --version
@cindex print version
Print the version.
@end table
@section Environment Variables
Diction's behaviour is affected by the following environment variables.
@cindex environment variables
@table @code
@itemx LC_MESSAGES
@vindex LC_MESSAGES
@cindex language of messages
@cindex message language
@cindex national language support
@cindex NLS
@cindex translation of message language
This variable specifies the @code{LC_MESSAGES} locale, which determines
the language that @command{diction} uses for messages. American English
is used if the environment variable is not set, or if the message catalog
is not installed, or if @command{diction} was not compiled with national
language support (@sc{nls}). The variable is further used as default
for the phrase language.
@end table
@section Files
@cindex files
@table @code
@itemx @DATADIR@/diction
This directory contains phrase databases for various languages.
@end table
@c }}}
@c {{{ Diagnostics
@node Diagnostics
@chapter Diagnostics
If no errors occur, exit status is 0. On usage errors, 1 is returned.
Termination caused by lack of memory is signalled by exit code 2.
@c }}}
@c {{{ Reporting Bugs
@node Reporting Bugs
@chapter Reporting Bugs
If you find a bug in @command{diction}, please send electronic mail to
@email{michael@@moria.de}. Include the version number, which you can find
by running @command{diction --version}. Also include the hardware and
operating system, the compiler used to compile `diction', a description
of the bug behavior, and the input to `diction' that triggered the bug.
@c }}}
@c {{{ Author
@node Author
@chapter Author
This program is GNU software, copyright 1997, 1998, 1999, 2000 Michael Haardt
@email{michael@@moria.de}.
The english phrase file contains contributions by Greg Lindahl
@email{lindahl@@pbm.com}, Wil Baden, Gary D. Kline, Kimberly Hanks and
Beth Morris.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@c }}}
@c {{{ Concept Index
@page
@node Concept Index
@unnumbered Concept Index
This is a general index of all issues discussed in this manual, with the
exception of the @command{diction} command-line options.
@printindex cp
@c }}}
@c {{{ Index
@page
@node Index
@unnumbered Index
This is an alphabetical list of all @command{diction} command-line
options and environment variables.
@printindex fn
@contents
@c }}}
@bye

680
thesis/checkbiw/contrib/diction/en

@ -0,0 +1,680 @@
a considerable amount of much
a large number of many
a lot of Often obsolete, should sometimes be replaced by "many"
a majority of most
a man who
a matter of concern (cliche, avoid)
a need for need
a number of many, several
a particular preference for
a small number of few
a tendency to
ability to
about which !
absolutely complete complete
absolutely essential essential
accomplish do
accomplished did
accounted for by the fact that caused by
actually
adequate (weak definition)
adequate enough (weak definition)
administrate administer
affect "Affect" means "have an influence on", "produce an effect on", "concern", "effect a change in"; compare with "effect": "bring about", "cause", "produce, "result in."
affected = affect
affective "affective" or "effective"?
after which !
all right (avoid)
all things being equal (cliche, avoid)
allude (an allusion is an indirect reference, while a reference is a direct reference)
alluded = allude
allusion = allude
along the line (avoid)
along the line of like (or omit)
along the lines (avoid)
along the lines of like (or omit)
along these lines (overworked phrase, avoid)
along those lines (avoid)
alternate Alternative refers to choosing the other of two possibilities. Alternate refers to another element of a set, without connoting choice.
alternative = alternate
among Choose "between" 2 options and "among" 3 or more.
an example of this is the fact that thus
an indication of
an order of magnitude faster 10 times faster
and/or (avoid)
anticipate Use "expect" for simple predictions and "anticipate" for more complex actions in advance of an event.
anticipated = anticipate
apparent that
are of the same opinion agree
arrive at a
arrive at a decision decide
as a consequence of because
as a last resort (cliche, avoid)
as a matter of fact in fact (or omit)
as a minimum (weak definition)
as a result so
as already stated (use active instead of passive voice)
as applicable (weak definition)
as appropriate (weak definition)
as can be seen from shows
as good or better than (use "as good as or better than" or possibly rearrange the sentence)
as is the case as happens
as long as when, if
as means of for, to
as necessary
as of this date today
as per
as shown in shows that
as to about (or omit)
as to whether whether
as yet (you can often replace with simply "yet," except at the beginning of a sentence)
ask the question ask
assure (use "assure" with people, "ensure" with things, and "insure" when talking about money)
assured = assure
assuring = assure
at above above
at an earlier date previously
at below below
at present
at the present
at the present time now
at the rate of
at the same time as while
at this point in time now
at this time
at which !
attached hereto (cliche, avoid)
attempt try
authorization
avail yourself help
based on the fact that because
based on the fact, that because
basic principles principles
basically
be able to (weak definition)
be capable (weak definition)
between (choose "between" 2 options and "among" 3 or more)
between which !
bring to a conclusion conclude
but not limited to (weak definition)
by means of by, with
by no means (cliche, avoid)
by the use of by
by which !
call your attention to the fact that remind you, notify you
can (do not confuse with "may")
can not (use "cannot" unless you want to put special emphasis on the word "not")
capability of (weak definition)
capability to (weak definition)
carry out
case Avoid if used to describe the instance of a situation.
certainly Avoid if used to intensify any and every statement.
character Often redundant, except when discussing role-playing games.
check into check
check on check
check up on check
claim Do not use as substitute for "declare", "maintain" or "charge."
clear that
clever Greatly overused word, restrict to small matters.
clockwise !
collect together collect
communicate with talk, telephone, write to
comparatively Avoid unless really comparing.
compare "Compare" to points out resemblances, "compare with" points out differences.
compare with = compare
compared = compare
compared with = compare
comparing = compare
comparing with = compare
complementary A "complimentary" comment is one which is flattering. A "complementary" comment is one which completes or complements another comment.
completely full full
complimentary = complementary
comprise Only use in the meaning of including something.
comprised = comprise
comprising = comprise
connected together connected
consensus of opinion consensus
consider Not followed by "as" when it means "believe to be".
considered = consider
considering = consider
conspicious by its absence (cliche, avoid)
contact When used as a transitive verb, "contact" is a poor choice. Get in touch with someone, or call them, instead of contacting them.
contacted = contact
contacting = contact
cope Should generally be used along with the word "with".
cope with !
coped = cope
coped with !
could = can
criteria = criterion
criterion "Criterion" is singular, "criteria" is plural.
currently Often redundant: This program is currently checking your document.
data is data are
deficiency lack
definitely
deleterious effect
dependable reliable, trustworthy
desert "Desert" and "dessert" are sometimes confused, to the delight of the masses.
despite the fact that although, though
despite the fact, that although, though
dessert = desert
different than Restrict to introducing a clause and use "different from" else.
discontentment discontent
disinterest Synonym for "impartial", do not confuse with "uninterested."
disinterested = disinterest
disinteresting = disinterest
doubt but doubt
doubtful that
due to Synonym for "attributable to", often confused with "through, because of, owing to."
due to the fact that because
due to the fact, that because
during the course of during, while
during the time that while
each and every one (avoid)
easier said than done (cliche, avoid)
easy (weak definition)
effect = affect
effected = effect
effecting = effect
effective (weak definition)
elucidate explain
elucidated = elucidate
elucidating = elucidate
enclosed herewith (cliche, avoid)
end result result
enormity Restrict to connoting abnormality or something more unusual than mere size.
ensure = assure
ensured = assure
ensuring = assure
enter in enter
enter into enter
enthuse (avoid)
enthused = enthuse
enthusing = enthuse
entirely eliminate eliminate
equitable fair
essentially
etc "Etc" should be avoided in formal writing.
etc. Do not use for persons or if "and the rest, and so forth" is insufficient and at the end of lists started with "such as, for example." Avoid in formal writing.
evident that
exactly equal equal
exception of
expect = anticipate
expect = anticipate
expected = anticipate
expected = anticipate
expecting = anticipate
experimentalize experiment
fabricate make
face up to face
facilitate help
facilitated = facilitate
facilitating = facilitate
facility Substitute if you can name the object.
fact Restrict use to matters that can be verified.
factor "component", "ingredient" or "element" outside mathematical contexts
fairly
farther "Farther" denotes distance, "further" denotes time or quantity.
fewer Use "fewer" for numbers and "less" for quantities.
finalise = finalize
finalised = finalized
finalising = finalizing
finalize end (or avoid)
finalized = ended (or avoid)
finalizing = ending (or avoid)
find it interesting to know Avoid
first of all first
firstly first
folks Avoid using "folks", when writing formally, to refer to your family or friends.
for the purpose of for
for the reason that since, because
for the reason, that since, because
for this reason since, because
for this reason so
for which !
for your information
formalize Rewrite.
fortuitous A fortuitous event has the connotation of being an unexpected accident.
fortuitously = fortuitous
forward send (if used as verb)
from the point of view of for
from which
fuller A fuller is a hammer for spreading iron. You can't "fill your glass fuller."
funny Avoid "funny" when introducing something. Simply introduce it.
further = farther
give an indication of indicate
give encouragement to encourage
give rise to cause
got to
gotten The preferred form of this participle is "got," but it is unpleasant to the ear in either form.
gratuitous Synonym for "unearned" or "unwarranted", do not confuse with "free."
gratuitously = gratuitous
gratuitousness = gratuitous
grow Often misused as a transitive verb: You cannot `grow the economy'. In addition, you should not try `to grow the economy', even if you are President Clinton. Instead, you should endeavor to expand the economy, or stimulate economic growth.
hardy A "hardy" person can survive hardship. A "hearty" meal is a hourishing one.
has the capability of can
having regard to about
he is a man who he
hearty = hardy
help but
hollow tube tube
hopefully Restrict to "with hope", do not confuse with "I hope." Best avoid it.
however Means "in whatever way, to whatever extent" inside a sentence and "nevertheless" at the beginning of a sentence.
if and when (cliche, avoid)
if practical (weak definition)
impact Use something more precise, unless you are discussing a physical collision.
impacted = impact
impacting = impact
implied = imply
imply Something that is suggested is "implied", whereas something that is deduced is "inferred".
implying = imply
importantly (avoid)
importantly Rewrite.
in a hasty manner hastily
in a number of cases some
in a position to can, may
in a satisfactory manner satisfactorily
in a very real sense in a sense (or omit)
in accordance
in all probability probably
in an area where where
in an effort to to
in case if
in close proximity close, near
in close proximity to close to, near to
in color
in connection with about, concerning
in fact
in large measure largely
in length
in many cases often
in my opinion it is not an unjustifiable assumption that I think
in number
in order to to
in point of fact
in reference to (cliche, avoid)
in reference to concerning, about
in regard to = in regards to
in regards to as regards, in regard to, about or another simple preposition
in relation to toward, to
in respect to about
in short supply (cliche, avoid)
in size
in some cases sometimes
in spite of the fact that though, although
in such a manner
in terms of in, for, about (or avoid)
in the course of during
in the direction of toward
in the event
in the event that if
in the final analysis Avoid by rewriting the sentence.
in the foreseeable future (cliche, avoid)
in the form of as
in the last analysis
in the light of the fact that because
in the long run (cliche, avoid)
in the majority of cases usually, generally
in the majority of instances usually, generally
in the matter of (cliche, avoid)
in the nature of like
in the neighborhood of about,approximately,near
in the possession of has, have
in the vicinity of about,approximately,near
in view of the fact that since, as, because
in which !
inasmuch as for, as
indicative of
infamous Synonym for "disreputable and widely known."
infamously = infamous
infer = imply
inferred = imply
inferring = imply
inflammable Only use as synonym for flammable or combustible.
infrequent rare
initiate begin, start
initiating beginning, starting
inside When inside is used as an adverb, add the word "of": I will be there inside of an hour.
inside of When inside is used as a preposition, the word "of" is not needed: I walked inside the building.
insightful Consider substituting "perceptive".
interesting Avoid using "interesting" when introducing something. Simply introduce it.
into which !
involve the necessity of demand, require
irregardless regardless
is defined as is
is designed to be is
is equipped with has
is used to
is used to control controls
is when Only use to denote time; do not use in definitions.
is where Only use to denote place; do not use in definitions.
it can be seen that thus, so
it has long been known that I haven't bothered to look up the reference.
it is apparent that apparently
it is believed that I think
it is clear that clearly
it is considered desirable I or we want to
it is doubtful that possibly
it is evident that
it is of interest to note that
it is often the case that often
it is suggested that I think
it is worth pointing out in this context that note that
it may be that I think
it may, however, be noted that but
it should be noted that note that (or leave out)
it stands to reason
it stands to reason (cliche, avoid)
it was observed in the course of the experiments that we observed
it's = "it is" or "its"?
its = it's
join together join
kind of Do not use as substitute for "rather" or "something like."
lacked the ability to could not
large number of many
last but not least (avoid)
later on later
lay A transitive verb, not to be confused with the intransitive verb "lie". You "lie" down, and you "lay" an egg. However, note that the past tense of ``lie'' is ``lay'': Yesterday, I lay down and laid an egg.
lead The past tense of the verb "lead" is "led".
leave Do not use as substitute for "let:" Let go of my hand! Let it be!
led = lead
less Use "less" for quantities and "fewer" for numbers.
like Substitute by "as" before phrases or clauses: Our love was beautiful, as love was meant to be.
liken Avoid using the verb "liken," it is ugly.
likewise !
literal = literally
literally Do not use to support exaggeration.
little data few data
little doubt that
loan Only use as a noun. "Lend" is a verb.
loath = loathe
loathe Only use as a verb, "loath" is an adjective.
loose As a verb, it means "to release", but it can also be used as adverb. It is not a tense of "lose."
loosed = loose
loosing = loose
lose out Means less than "lose" because of its commonness.
low quantity small quantity
majority of most
make a
make an
make an adjustment in adjust
manner
many and diverse (cliche, avoid)
may = Do not confuse with "can".
may be that
meaningful significant or rewrite, because it is an overused word
meaningfully = meaningful
memoranda "Memorandum" is singular, "memoranda" is plural.
memorandum = memoranda
might = can
might of might have
militate against prohibit
minor importance
mislead = lead
misled = lead
momento Use memento instead, even if Webster's claims momento is a word.
momentos = momento
most Do not use as substitute for "almost."
mostly (avoid)
much data many data
nature Omit if redundant.
nauseous Synonym for "sickening", do not confuse with the adjective "sick" or the verb "nauseate."
near by near, near at hand, close by, hard by
need for
needless to say (avoid and consider leaving out what follows)
neither Should be followed by "nor" instead of "or".
nice Use a more exact word.
nor Restrict to following "neither", but do not use instead of "or" in negative expressions.
normal (weak definition)
not under
not unique
not until
notorious = infamous
notorious = infamous
notoriously = infamous
notwithstanding
notwithstanding the fact that although
obselete Using obselete as a verb is ugly.
obseleted = obselete
obseleting = obselete
occurrence event
of great theoretical and practical importance useful
of interest
of the opinion that
of the same opinion
of which !
oftentimes often
ofttimes often
on a daily basis daily
on account of because
on behalf of for
on the basis of by
on the grounds that since, because
on the occasion
on the order of magnitude of about
on the part of by, among, for
on the part on
on the right track (cliche, avoid)
on which !
one When used as a pronoun, it must be used consistently: One must manage one's money carefully.
one of the most Do not use at the beginning of a paragraph, best avoid at all because it is an overused phrase.
ongoing (avoid)
only Put "only" right before the word it modifies.
oral = verbal
orientated oriented
otherwise !
over which !
owing to the fact that since, because
par for the course (cliche, avoid)
perform do
payed "Payed" is only used to refer to extending a rope. The past tense of "pay" is "paid."
people Do not use with numbers or as substitute for "public".
performed done
personal opinion opinion
personalize (avoid)
personalized = personalize
personalizing = personalize
personally (avoid)
pertaining to about, on
phase Do not use as substitute for "aspect, topic".
plum Do not confuse the fruit "plum" with "plumbing" a depth.
plumb = plum
plumed = plum
pluming = plum
plums = plum
please feel free to (cliche, avoid)
pooled together pooled
possess Do not use as substitute for "have" or "own."
possessed = possess
possessing = possess
powerful Overused, especially in computer industry press releases.
precede Synonym for "to come before," do not confuse with "proceed."
previous to, prior to before
prior to before
pursuant to your request (cliche, avoid)
presently (do not use as substitute for "now", restrict to synonym for "soon")
prestigious (an overused word)
preventative preventive
principal (a "principle" is a rule, while a "principal" is a person, when used as a noun, or means "chief", when used as an adjective, and the adverb for both words is spelt "principally")
principally = principal
principals = principal
principle = principal
principles = principal
principlly = principal
proceed to
provide for (weak definition)
put to use in building build
put to use in measuring measure
quite
rather
rather than
reason is because reason is that, because
reason to believe
reason why reason
refer = allude
reference to this
referred = allude
referring = allude
referred to as called
regarding the matter of (cliche, avoid)
relative to about
register up (means less than "register" because of its commonness)
regress back = revert back
regressed back = revert back
regressing back = revert back
regretful (do not use as substitute for "regrettable")
regretfully = regretful
reinitiate start again
reinitiated restarted
reinitiating restarting
relate (do not use as an intransitive verb: "I get along well with my advisor" instead of "I relate well to my advisor")
related = relate
relating = relate
repeat the same repeat the
representative of represents
requisite required
respective
respectively
revert back ("revert" means "to go back", so this expression is redundant)
reverted back = revert back
reverting back = revert back
rise to
secondly second
shall (shall is sometimes used with first person pronouns and the future tense. It expresses something you believe will happen, not something that you are determined to do. A drowning man shouts: "I shall drown, no one will save me!")
should of should have
sight = site
sign up (means less than "sign" because of its commonness)
site (a "site" is a place, a "sight" is related to "seeing")
situation (rewrite)
so (do not use as intensifier)
so as to to
so on !
so that !
sophisticated
sort of (do not use as substitute for "rather" or "something like")
slowly but surely (cliche, avoid)
small concentration low concentration
sufficient enough
state (if used as a verb, restrict to the meaning of "express fully or clearly")
stated = state
stating = state
still continue continue
still continues continues
strata = stratum
stratum ("stratum" is singular, "strata" is plural)
student body students
subsequent to after
subsequently to = subsequent to
succeed in
suggested that
suggestive of
system Frequently used without need.
take appropriate
take into consideration consider
terminate end
terminated ended, stopped
terminating ending, stopping
termination end
than (examine sentences containing "than" to insure that they are not missing words: I love my father more than my mother. I love my father more than my mother loves my father. I love my father more than I love my mother)
thank you in advance = thanking you in advance
thanking you in advance (write "thanking you" or "your attention to this matter would be appreciated" and acknowledge granted favors)
the author I
the authors we
the case that
the fact
the fact is (avoid)
the fact that
the fact was (avoid)
the foreseeable future soon, the future
the fullest possible extent most, completely or fully (or omit)
the great majority of most
the opinion is advanced that I think
the nature
the necessity of
the order of
the point that
the reason is because because
there is reason to believe I think
the question as to whether whether, the question whether
the truth is (a bad way to start a sentence)
the truth was = the truth is
there are (a dead phrase; rewrite the sentence and it will probably improve)
there are not many few
there is = there are
there is no doubt that no doubt, doubtless
there was = there are
they (do not use as substitute for "each, each one, everybody, every one, anybody, any one, somebody, some one")
thirdly third
this is a subject which this subject
this will acknowledge (cliche, avoid)
through the use of by, with
through which !
thrust (use sparingly, unless you are writing a romance novel)
timely (weak definition)
to which !
tortuous ("tortourous" involves torture, while "tortuous" merely involves twist)
torturous = tortuous
transition (only use as a noun)
transitioned = transition
transitioning = transition
transpire (restrict to "become known", do not confuse with "happen" or "occur")
transpired = transpire
transpiring = transpire
try and ("try" should be followed by an infinitive, not the word "and")
try out (means less than "try" because of its commonness)
type (do not use as synonym for "kind of")
under which !
ultimate last
unique ("unique" or "uncommon"?)
uniquely = unique
uniqueness = unique
upon which !
upshot
use to ("use to" or "used to"?)
used for (used for [...] purposes: used for [...])
utilize use
utilize use
utilized used
utilizing using
varying (use "various" if a finite number of constant instances is meant)
was of the opinion that believed
we are pleased to advice (cliche, avoid)
we have insufficient knowledge we don't know
we wish to state (cliche, avoid)
we wish to thank we thank
varying amounts of varying
verbal ("verbal" can be either spoken or written down, "oral" refers to the mouth)
very (use sparingly; try to use words that are strong in themselves for emphasis)
viewpoint point of view (do not use as substitute for "view, opinion")
vital important
whether (avoid using "or not" after "whether," unless you mean "regardless of whether")
whether or not (restrict to synonym for "regardless of whether" else simply use "whether")
which (use "that" if clause is restrictive)
which was (often superfluous)
while (if used as substitute for "and, but" then replace by semicolon, do not use as substitute for "although" as it leads to ambiguity or absurdity, best use it only in the sense of "during the time that")
who is (often superfluous)
whom (often incorrectly used for "who")
will = shall
win out (means less than "win" because of its commonness)
wish to thank thank
with regard to concerning, about (or leave out)
with respect to about
with a view to to
with reference to concerning, about
with the exception of except
with which !
with the aid of with
with the possible exception of except
with the result that so, therefore
without which !
worth pointing out
worth while (restrict to actions, do not use for approval and consider using a stronger word)
worthwhile (only apply to actions and consider using a stronger word instead)
would (use "should" if used as conditional statement in the first person or for "shall" in indirect quotation after a verb in past tense. Consider omitting it for repeated actions)
would of would have
would seem to indicate indicates
you are hereby adviced (cliche, avoid)
inflammable (better use the preferred synonym "flammable", do not confuse with "combustible")
ing behavior (avoid the term [...]ing behaviour)
unwise (avoid words that end in -unwise)
wise (avoid words that end in -wise)

1051
thesis/checkbiw/contrib/diction/getopt.c
File diff suppressed because it is too large
View File

133
thesis/checkbiw/contrib/diction/getopt.h

@ -0,0 +1,133 @@
/* Declarations for getopt.
Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef _GETOPT_H
#define _GETOPT_H 1
#ifdef __cplusplus
extern "C" {
#endif
/* For communication from `getopt' to the caller.
When `getopt' finds an option that takes an argument,
the argument value is returned here.
Also, when `ordering' is RETURN_IN_ORDER,
each non-option ARGV-element is returned here. */
extern char *optarg;
/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
and for communication between successive calls to `getopt'.
On entry to `getopt', zero means this is the first call; initialize.
When `getopt' returns -1, this is the index of the first of the
non-option elements that the caller should itself scan.
Otherwise, `optind' communicates from one call to the next
how much of ARGV has been scanned so far. */
extern int optind;
/* Callers store zero here to inhibit the error message `getopt' prints
for unrecognized options. */
extern int opterr;
/* Set to an option character which was unrecognized. */
extern int optopt;
/* Describe the long-named options requested by the application.
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
of `struct option' terminated by an element containing a name which is
zero.
The field `has_arg' is:
no_argument (or 0) if the option does not take an argument,
required_argument (or 1) if the option requires an argument,
optional_argument (or 2) if the option takes an optional argument.
If the field `flag' is not NULL, it points to a variable that is set
to the value given in the field `val' when the option is found, but
left unchanged if the option is not found.
To have a long-named option do something other than set an `int' to
a compiled-in constant, such as set a value from `optarg', set the
option's `flag' field to zero and its `val' field to a nonzero
value (the equivalent single-letter option character, if there is
one). For long options that have a zero `flag' field, `getopt'
returns the contents of the `val' field. */
struct option
{
#if defined (__STDC__) && __STDC__
const char *name;
#else
char *name;
#endif
/* has_arg can't be an enum because some compilers complain about
type mismatches in all the code that assumes it is an int. */
int has_arg;
int *flag;
int val;
};
/* Names for the values of the `has_arg' field of `struct option'. */
#define no_argument 0
#define required_argument 1
#define optional_argument 2
#if defined (__STDC__) && __STDC__
#ifdef __GNU_LIBRARY__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
extern int getopt (int argc, char *const *argv, const char *shortopts);
#else /* not __GNU_LIBRARY__ */
/* extern int getopt (); */
#endif /* __GNU_LIBRARY__ */
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
const struct option *longopts, int *longind);
extern int getopt_long_only (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind);
/* Internal only. Users should not call this directly. */
extern int _getopt_internal (int argc, char *const *argv,
const char *shortopts,
const struct option *longopts, int *longind,
int long_only);
#else /* not __STDC__ */
extern int getopt ();
extern int getopt_long ();
extern int getopt_long_only ();
extern int _getopt_internal ();
#endif /* __STDC__ */
#ifdef __cplusplus
}
#endif
#endif /* _GETOPT_H */

189
thesis/checkbiw/contrib/diction/getopt1.c

@ -0,0 +1,189 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
Copyright (C) 1987,88,89,90,91,92,93,94,96,97 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
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, 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "getopt.h"
#if !defined (__STDC__) || !__STDC__
/* This is a separate conditional since some stdc systems
reject `defined (const)'. */
#ifndef const
#define const
#endif
#endif
#include <stdio.h>
/* Comment out all this code if we are using the GNU C Library, and are not
actually compiling the library itself. This code is part of the GNU C
Library, but also included in many other GNU distributions. Compiling
and linking in this code is a waste when using the GNU C library
(especially if it is a shared library). Rather than having every GNU
program understand `configure --with-gnu-libc' and omit the object files,
it is simpler to just do this in the source for each such file. */
#define GETOPT_INTERFACE_VERSION 2
#if !defined (_LIBC) && defined (__GLIBC__) && __GLIBC__ >= 2
#include <gnu-versions.h>
#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
#define ELIDE_CODE
#endif
#endif
#ifndef ELIDE_CODE
/* This needs to come after some library #include
to get __GNU_LIBRARY__ defined. */
#ifdef __GNU_LIBRARY__
#include <stdlib.h>
#endif
#ifndef NULL
#define NULL 0
#endif
int
getopt_long (argc, argv, options, long_options, opt_index)
int argc;
char *const *argv;
const char *options;
const struct option *long_options;
int *opt_index;
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
}
/* Like getopt_long, but '-' as well as '--' can indicate a long option.
If an option that starts with '-' (not '--') doesn't match a long option,
but does match a short option, it is parsed as a short option
instead. */
int
getopt_long_only (argc, argv, options, long_options, opt_index)
int argc;
char *const *argv;
const char *options;
const struct option *long_options;
int *opt_index;
{
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
}
#endif /* Not ELIDE_CODE. */
#ifdef TEST
#include <stdio.h>
int
main (argc, argv)
int argc;
char **argv;
{
int c;
int digit_optind = 0;
while (1)
{
int this_option_optind = optind ? optind : 1;
int option_index = 0;
static struct option long_options[] =
{
{"add", 1, 0, 0},
{"append", 0, 0, 0},
{"delete", 1, 0, 0},
{"verbose", 0, 0, 0},
{"create", 0, 0, 0},
{"file", 1, 0, 0},
{0, 0, 0, 0}
};
c = getopt_long (argc, argv, "abc:d:0123456789",
long_options, &option_index);
if (c == -1)
break;
switch (c)
{
case 0:
printf ("option %s", long_options[option_index].name);
if (optarg)
printf (" with arg %s", optarg);
printf ("\n");
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
if (digit_optind != 0 && digit_optind != this_option_optind)
printf ("digits occur in two different argv-elements.\n");
digit_optind = this_option_optind;
printf ("option %c\n", c);
break;
case 'a':
printf ("option a\n");
break;
case 'b':
printf ("option b\n");
break;
case 'c':
printf ("option c with value `%s'\n", optarg);
break;
case 'd':
printf ("option d with value `%s'\n", optarg);
break;
case '?':
break;
default:
printf ("?? getopt returned character code 0%o ??\n", c);
}
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
printf ("%s ", argv[optind++]);
printf ("\n");
}
exit (0);
}
#endif /* TEST */

276
thesis/checkbiw/contrib/diction/install-sh

@ -0,0 +1,276 @@
#!/bin/sh
#
# install - install a program, script, or datafile
# This comes from X11R5 (mit/util/scripts/install.sh).
#
# Copyright 1991 by the Massachusetts Institute of Technology
#
# Permission to use, copy, modify, distribute, and sell this software and its
# documentation for any purpose is hereby granted without fee, provided that
# the above copyright notice appear in all copies and that both that
# copyright notice and this permission notice appear in supporting
# documentation, and that the name of M.I.T. not be used in advertising or
# publicity pertaining to distribution of the software without specific,
# written prior permission. M.I.T. makes no representations about the
# suitability of this software for any purpose. It is provided "as is"
# without express or implied warranty.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd=$cpprog
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "$0: no input file specified" >&2
exit 1
else
:
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d "$dst" ]; then
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f "$src" ] || [ -d "$src" ]
then
:
else
echo "$0: $src does not exist" >&2
exit 1
fi
if [ x"$dst" = x ]
then
echo "$0: no destination specified" >&2
exit 1
else
:
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dst" ]
then
dst=$dst/`basename "$src"`
else
:
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp=$pathcomp$1
shift
if [ ! -d "$pathcomp" ] ;
then
$mkdirprog "$pathcomp"
else
:
fi
pathcomp=$pathcomp/
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd "$dst" &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename "$dst"`
else
:
fi
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/#inst.$$#
rmtmp=$dstdir/#rm.$$#
# Trap to clean up temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
# Now remove or move aside any old file at destination location. We try this
# two ways since rm can't unlink itself on some systems and the destination
# file might be busy for other reasons. In this case, the final cleanup
# might fail but the new file should still install successfully.
{
if [ -f "$dstdir/$dstfile" ]
then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
{
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
}

61
thesis/checkbiw/contrib/diction/misc.c

@ -0,0 +1,61 @@
/* Notes */ /*{{{C}}}*//*{{{*/
/*
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/*}}}*/
/* #includes *//*{{{*/
#ifndef NO_POSIX_SOURCE
#undef _POSIX_SOURCE
#define _POSIX_SOURCE 1
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 2
#endif
#ifdef DMALLOC
#include "dmalloc.h"
#endif
#include <sys/types.h>
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pwd.h>
#include <unistd.h>
#include "config.h"
#include "misc.h"
/*}}}*/
#ifdef BROKEN_REALLOC
/* myrealloc -- ANSI conforming realloc() */ /*{{{*/
#undef realloc
void *myrealloc(void *p, size_t n)
{
return (p==(void*)0 ? malloc(n) : realloc(p,n));
}
/*}}}*/
#endif
#ifndef HAVE_STRERROR
/* strerror -- ANSI strerror */ /*{{{*/
extern int sys_nerr;
extern char *sys_errlist[];
char *strerror(int errno)
{
assert(errno>=0);
assert(errno<sys_nerr);
return sys_errlist[errno];
}
/*}}}*/
#endif

22
thesis/checkbiw/contrib/diction/misc.h

@ -0,0 +1,22 @@
/* Notes */ /*{{{C}}}*//*{{{*/
/*
This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
/*}}}*/
#ifndef MISC_H
#define MISC_H
#ifdef BROKEN_REALLOC
#define realloc(p,s) myrealloc(p,s)
#endif
#endif

292
thesis/checkbiw/contrib/diction/sentence.c

@ -0,0 +1,292 @@
/* Notes */ /*{{{C}}}*//*{{{*/
/*
This program is GNU software, copyright 1997, 1998, 1999, 2000, 2001
Michael Haardt <michael@moria.de>.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/*}}}*/
/* #includes */ /*{{{*/
#undef _POSIX_SOURCE
#define _POSIX_SOURCE 1
#undef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 2
#include "config.h"
#include <sys/types.h>
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <limits.h>
#include <locale.h>
#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(String) gettext(String)
#else
#define _(String) String
#endif
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "misc.h"
#include "sentence.h"
/*}}}*/
static const char *abbreviations_de[]= /*{{{*/
{
"Dr",
"bzw",
"etc",
"sog",
"usw",
(const char*)0
};
/*}}}*/
static const char *abbreviations_en[]= /*{{{*/
{
"ch",
"Ch",
"ckts",
"dB",
"Dept",
"dept",
"Depts",
"depts",
"Dr",
"Drs",
"Eq",
"eq",
"etc",
"et al",
"Fig",
"fig",
"Figs",
"figs",
"ft",
"0 in",
"1 in",
"2 in",
"3 in",
"4 in",
"5 in",
"6 in",
"7 in",
"8 in",
"9 in",
"Inc",
"Jr",
"jr",
"mi",
"Mr",
"Mrs",
"Ms",
"No",
"no",
"Nos",
"nos",
"Ph",
"Ref",
"ref",
"Refs",
"refs",
"St",
"vs",
"yr",
(const char*)0
};
/*}}}*/
static const char *abbreviations_none[]= /*{{{*/
{
(const char*)0
};
/*}}}*/
static const char **abbreviations;
static int endingInAbbrev(const char *s, size_t length, const char *lang) /*{{{*/
{
const char **abbrev=abbreviations;
size_t aLength;
if (!isalpha(s[length-1])) return 0;
if (endingInPossesiveS(s,length)) return 0;
while (*abbrev!=(const char*)0)
{
if ((aLength=strlen(*abbrev))<length)
{
if (!isalpha(s[length-2])) return 1;
if (!isalpha(s[length-aLength-1]) && strncmp(s+length-aLength,*abbrev,aLength)==0) return 1;
}
else
{
if (length==1) return 1;
if (aLength==length && strncmp(s,*abbrev,aLength)==0) return 1;
}
++abbrev;
}
return 0;
}
/*}}}*/
int endingInPossesiveS(const char *s, size_t length) /*{{{*/
{
return (abbreviations==abbreviations_en && length>=3 && strncmp(s+length-2,"\'s",2)==0);
}
/*}}}*/
void sentence(const char *cmd, FILE *in, const char *file, void (*process)(const char *, size_t, const char *, int), const char *lang) /*{{{*/
{
/* variables */ /*{{{*/
int voc,oc,c;
char *sent=malloc(128);
size_t length=0,capacity=128;
int inWhiteSpace=0;
int inParagraph=0;
int ellipsis=0;
int line=1,beginLine=1;
int err;
regex_t hashLine;
char filebuf[_POSIX_PATH_MAX+1];
/*}}}*/
if (strncmp(lang,"en",2)==0) abbreviations=abbreviations_en;
else if (strncmp(lang,"C",1)==0) abbreviations=abbreviations_en;
else if (strncmp(lang,"de",2)==0) abbreviations=abbreviations_de;
else abbreviations=abbreviations_none;
/* compile #line number "file" regular expression */ /*{{{*/
if ((err=regcomp(&hashLine,"^[ \t]*line[ \t]*\\([0-9][0-9]*\\)[ \t]*\"\\([^\"]*\\)\"",0)))
{
char buf[256];
size_t len=regerror(err,&hashLine,buf,sizeof(buf)-1);
buf[len]='\0';
fprintf(stderr,_("%s: internal error, compiling a regular expression failed (%s).\n"),cmd,buf);
exit(2);
}
/*}}}*/
voc='\n';
c=getc(in);
while ((oc=c)!=EOF)
{
c=getc(in);
if (oc=='\n') ++line;
if (voc=='\n' && oc=='#') /* process cpp style #line, continue */ /*{{{*/
{
char buf[_POSIX_PATH_MAX+20];
regmatch_t found[3];
buf[0]=c; buf[1]='\0';
(void)fgets(buf+1,sizeof(buf)-1,in);
if (regexec(&hashLine,buf,3,found,0)==0) /* #line */ /*{{{*/
{
size_t len;
line=strtol(buf+found[1].rm_so,(char**)0,10)-1;
len=found[2].rm_eo-found[2].rm_so;
if (len>_POSIX_PATH_MAX) len=_POSIX_PATH_MAX;
strncpy(filebuf,buf+found[2].rm_so,len);
filebuf[len]='\0';
file=filebuf;
}
/*}}}*/
c='\n';
continue;
}
/*}}}*/
if (length)
{
if (length>=(capacity-1) && (sent=realloc(sent,capacity*=2))==(char*)0)
{
fprintf(stderr,_("%s: increasing sentence buffer failed: %s\n"),cmd,strerror(errno));
exit(2);
}
if (isspace(oc))
{
if (!inWhiteSpace)
{
sent[length++]=' ';
inWhiteSpace=1;
}
}
else
{
sent[length++]=oc;
if
(
(length==3 && strncmp(sent+length-3,"...",3)==0 && (c==EOF || isspace(c)))
|| (length>=4 && strncmp(sent+length-4," ...",4)==0 && (c==EOF || isspace(c)))
)
{
/* omission ellipsis */
inWhiteSpace=0;
}
else if (length>=4 && !isspace(sent[length-4]) && strncmp(sent+length-3,"...",3)==0 && (c==EOF || isspace(c)))
{
/* beginning ellipsis */
char foo;
foo=sent[length-4];
sent[length-4]='\0';
process(sent,length-4,file,beginLine);
sent[length-4]=foo;
memmove(sent,sent-4,4);
length=4;
inParagraph=0;
inWhiteSpace=0;
beginLine=line;
}
else if (length>=4 && strncmp(sent+length-4,"...",3)==0 && (c==EOF || isspace(c)))
{
/* ending ellipsis */
if (inWhiteSpace) --length;
sent[length]='\0';
process(sent,length,file,beginLine);
length=0;
}
else if ((oc=='.' || oc==':' || oc=='!' || oc=='?') && (c==EOF || isspace(c)) && (oc!='.' || !endingInAbbrev(sent,length,lang)))
{
/* end of sentence */
if (inWhiteSpace) --length;
sent[length]='\0';
process(sent,length,file,beginLine);
length=0;
}
else
{
/* just a regular character */
inWhiteSpace=0;
}
}
}
else if (isupper(oc))
{
inParagraph=0;
sent[length++]=oc;
inWhiteSpace=0;
beginLine=line;
}
else if (!inParagraph && oc=='\n' && c==oc)
{
process("",0,file,line);
inParagraph=1;
}
voc=oc;
}
if (!inParagraph) process("",0,file,line);
regfree(&hashLine);
}
/*}}}*/

32
thesis/checkbiw/contrib/diction/sentence.h

@ -0,0 +1,32 @@
/* Notes */ /*{{{C}}}*//*{{{*/
/*
This program is GNU software, copyright 1997, 1998, 1999, 2000, 2001
Michael Haardt <michael@moria.de>.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/*}}}*/
#ifndef SENTENCE_H
#define SENTENCE_H
#include <sys/types.h>
#include <stdio.h>
void sentence(const char *cmd, FILE *in, const char *file, void (*process)(const char *, size_t, const char *, int), const char *lang);
#endif

390
thesis/checkbiw/contrib/diction/style.1.in

@ -0,0 +1,390 @@
' et
.TH STYLE 1 "@UPDATED@" "GNU" "User commands"
.SH NAME \"{{{roff}}}\"{{{
style \- analyse surface characteristics of a document
.\"}}}
.SH SYNOPSIS \"{{{
.\" Missing options:
.\" -a displays all sentences with their length and readability index.
.\" -e displays all sentences that begin with an expletive.
.\" -P displays parts of speech of the words in the document.
.\" -p displays all sentences that contain a passive verb.
.ad l
.B style
.RB [ \-L
.IR language ]
.RB [ \-l
.IR length ]
.RB [ \-r
.IR ari ]
.RI [ file ...]
.ad b
.br
.ad l
.B style
.RB [ \-\-language
.IR language ]
.RB [ \-\-print-long
.IR length ]
.RB [ \-\-print-ari
.IR ari ]
.RI [ file ...]
.ad b
.br
.ad l
.B style
.BR \-h | \-\-help
.ad b
.br
.ad l
.B style \-\-version
.ad b
.\"}}}
.SH DESCRIPTION \"{{{
\fBStyle\fP analyses the surface characteristics of the writing style
of a document. It prints various readability grades, length of words,
sentences and paragraphs.
.\" sentence structure, word usage, verb type, sentence openers
It can further locate sentences with certain characteristics.
If no files are given, the document is read from standard input.
.PP
Numbers are counted as words with one syllable.
A sentence is a sequence of words, that starts with a capitalised word and
ends with a full stop, double colon, question mark or exclamation mark.
A single letter followed by a dot is considered an abbreviation, so it
does not end a sentence. Various multi-letter abbreviations are
recognized, they do not end a sentence as well.
A paragraph
consists of two or more new line characters.
.SS "Readability grades"
\fBStyle\fP understands \fIcpp\fP(1) \fB#line\fP lines for being able to
give precise locations when printing sentences.
.IP "Kincaid formula" \"{{{
The Kincaid Formula has been developed for Navy training manuals, that
ranged in difficulty from 5.5 to 16.3. It is probably best applied
to technical documents, because it is based on adult training manuals
rather than school book text. Dialogs (often found in fictional texts)
are usually a series of short sentences, which lowers the score. On the
other hand, scientific texts with many long scientific terms are rated
higher, although they are not necessarily harder to read for people
who are familiar with those terms.
.sp
.\"{{{ Kincaid Index
.if t \{\
.RS
.EQ
italic "Kincaid" = 11.8 * syllables over words + 0.39 * words over sentences - 15.59
.EN
.RE
.\}
.if n \{\
.ad l
Kincaid = 11.8*syllables/wds+0.39*wds/sentences-15.59
.ad b
.\}
.\"}}}
.\"}}}
.IP "Automated Readability Index" \"{{{
The Automated Readability Index is typically higher than Kincaid and
Coleman-Liau, but lower than Flesch.
.sp
.\"{{{ Automated Readability Index
.if t \{\
.RS
.EQ
italic "ARI" = 4.71 * letters over words + 0.5 * words over sentences - 21.43
.EN
.RE
.\}
.if n \{\
.ad l
ARI = 4.71*chars/wds+0.5*wds/sentences-21.43
.ad b
.\}
.\"}}}
.\"}}}
.IP "Coleman-Liau Formula" \"{{{
The Coleman-Liau Formula usually gives a lower grade than Kincaid,
ARI and Flesch when applied to technical documents.
.sp
.\"{{{ Coleman-Liau Formula
.if t \{\
.RS
.EQ
italic "Coleman-Liau" = 5.89 * letters over words - 0.3 * sentences over { 100 * words } - 15.8
.EN
.RE
.\}
.if n \{\
.ad l
Coleman-Liau = 5.89*chars/wds-0.3*sentences/(100*wds)-15.8
.ad b
.\}
.\"}}}
.\"}}}
.IP "Flesh reading easy formula" \"{{{
The Flesh reading easy formula has been developed by Flesh in 1948 and
it is based on school text covering grade 3 to 12. It is wide spread,
especially in the USA, because of good results and simple computation.
The index is usually between 0 (hard) and 100 (easy), standard English
documents averages approximately 60 to 70. Applying it to German
documents does not deliver good results because of the different language
structure.
.sp
.\"{{{ Flesh reading easy formula
.if t \{\
.RS
.EQ
Flesch ~ Index = 206.835 - 84.6 * syllables over words - 1.015 * words over sentences
.EN
.RE
.\}
.if n \{\
.ad l
Flesch Index = 206.835-84.6*syll/wds-1.015*wds/sent
.ad b
.\}
.\"}}}
.\"}}}
.IP "Fog Index" \"{{{
The Fog index has been developed by Robert Gunning. Its value is a
school grade. The ``ideal'' Fog Index level is 7 or 8. A level above
12 indicates the writing sample is too hard for most people to read.
Only use it on texts of at least hundred words to get meaningful results.
Note that a correct implementation would not count words of three or
more syllables that are proper names, combinations of easy words, or
made three syllables by suffixes such as \(ened, \(enes, or \(ening.
.sp
.\"{{{ Fog Index formula
.if t \{\
.RS
.EQ
Fog ~ Index = 0.4 * left ( words over sentences + 100 * { { words >= 3 ~ syllables } over words } right )
.EN
.RE
.\}
.if n \{\
.ad l
Fog Index = 0.4*(wds/sent+100*((wds >= 3 syll)/wds))
.ad b
.\}
.\"}}}
.\"}}}
.\" might be wrong
.\".IP "WSFT Index" \"{{{
.\"The first new Vienna text formula (1. neue Wiener Sachtextformel, WSTF)
.\"has been developed for German documents and its result is a school grade
.\"that could read the text.
.\".sp
.\"{{{ WSTF
.\".if t \{\
.\".RS
.\".EQ
.\"matrix {
.\"col { WSTF ~ Index = above ~ }
.\"lcol {
.\"0.1935 * { words >= 3 ~ syllables } over words + 0.1672 * words over sentences -
.\"above
.\"down 70 { 0.1297 * { words > 6 ~ characters } over words - 0.0327 * { words = 1 ~ syllable } over words - 0.875 }
.\"}
.\"}
.\".EN
.\".RE
.\".\}
.\".if n \{\
.\".ad l
.\"WSTF Index = 0.1935*(wds >= 3 syllables)/wds
.\" +0.1672*wds/sent
.\" -0.1297*(wds > 6 characters)/wds
.\" -0.0327*(wds = 1 syllable)/wds
.\" -0.875
.\".ad b
.\".\}
.\"}}}
.\"}}}
.\" might be wrong
.\".IP "Wheeler-Smith Index" \"{{{
.\"The Wheeler-Smith Index is mapped to school grades using a table:
.\".sp
.\"{{{ Wheeler-Smith Index
.\".if t \{\
.\".RS
.\".EQ
.\"italic "Wheeler-Smith" ~ Index =
.\"words over sentences * 100 * { words >= 3 ~ syllables } over words
.\".EN
.\".RE
.\".\}
.\".if n \{\
.\".ad l
.\"Wheeler-Smith Index = wds/sent*100*((wds >= 3 syll)/wds)
.\".ad b
.\".\}
.\"}}}
.\".sp
.\".RS
.\".TS
.\"tab(#);
.\"l c c c c c c c c c c c c c.
.\"Index#16##20##24##29##34##38##42
.\"School year##5##6##7##8##9##10
.\".TE
.\".RE
.\"}}}
.IP "Lix formula" \"{{{
The Lix formula developed by Björnsson from Sweden is very simple and
employs a mapping table as well:
.sp
.\"{{{ Lix
.if t \{\
.RS
.EQ
Lix =
words over sentences + 100 * { words > 6 ~ characters } over words
.EN
.RE
.\}
.if n \{\
.ad l
Lix = wds/sent+100*(wds >= 6 char)/wds
.ad b
.\}
.\"}}}
.sp
.RS
.ne 2
.TS
tab(#);
l c c c c c c c c c c c c c c c.
Index#34##38##41##44##48##51##54##57
School year##5##6##7##8##9##10##11
.TE
.RE
.\"}}}
.IP "SMOG-Grading" \"{{{
The SMOG-Grading for English texts has been developed by McLaughlin
in 1969. Its result is a school grade.
.sp
.\"{{{ SMOG
.if t \{\
.RS
.EQ
italic "SMOG-Grading" = sqrt { { (words >= 3 ~ syllables) } over sentences * 30 } + 3
.EN
.RE
.\}
.if n \{\
.ad l
SMOG-Grading = square root of (((wds >= 3 syll)/sent)*30) + 3
.ad b
.\}
.\"}}}
.sp
It has been adapted to German by Bamberger & Vanecek in 1984, who changed
the constant +3 to \-2.
.\"}}}
.SS "Word usage"
The word usage counts are intended to help identify excessive use of particular
parts of speech.
.IP "Verb Phrases" \"{{{
The category of verbs labeled "to be" identifies phrases using the passive
voice. Use the passive voice sparingly, in favor of more direct verb forms.
The flag \fB-p\fP causes \fBstyle\fP to list all occurrences of the passive
voice.
.PP
The verb category "aux" measures the use of modal auxiliary verbs, such as
"can", "could", and "should". Modal auxiliary verbs modify the mood of a verb.
.\"}}}
.IP "Conjunctions" \"{{{
The conjunctions counted by style are coordinating and subordinating.
Coordinating conjunctions join grammatically equal sentence fragments, such as
a noun with a noun, a phrase with a phrase, or a clause to a clause.
Coordinating conjunctions are "and," "but," "or," "yet," and "nor."
.PP
Subordinating conjunctions connect clauses of unequal status. A subordinating
conjunction links a subordinate clause, which is unable to stand alone, to an
independent clause. Examples of subordinating conjunctions are "because,"
"although," and "even if."
.\"}}}
.IP "Pronouns" \"{{{
Pronouns are contextual references to nouns and noun phrases. Documents with
few pronouns generally lack cohesiveness and fluidity. Too many pronouns may
indicate ambiguity.
.\"}}}
.IP "Nominalizations" \"{{{
Nominalizations are verbs that are changed to nouns. Style recognizes words
that end in "ment," "ance," "ence," or "ion" as nominalizations.
Examples are "endowment," "admittance," and "nominalization." Too much
nominalization in a document can sound abstract and be difficult to understand.
The flag \fB-N\fP causes \fBstyle\fP to list all nominalizations. The
flag \fB-n\fP prints all sentences with either the passive voice or a
nominalization.
.\"}}}
.\"}}}
.SH OPTIONS \"{{{
.IP "\fB\-L\fP \fIlanguage\fP, \fB\-\-language\fP \fIlanguage\fP"
set the document language.
.IP "\fB\-l\fP \fIlength\fP, \fB\-\-print-long\fP \fIlength\fP"
print all sentences longer than \fIlength\fP words.
.IP "\fB\-r\fP \fIari\fP, \fB\-\-print-ari\fP \fIari\fP"
print all sentences whose readability index (ARI) is greater than \fIari\fP.
.IP "\fB\-p\fP \fIpassive\fP, \fB\-\-print-passive\fP"
print all sentences phrased in the passive voice.
.IP "\fB\-N\fP \fInominalizations\fP, \fB\-\-print-nom\fP"
print all sentences containing nominalizations.
.IP "\fB\-n\fP \fInominalizations-passive\fP, \fB\-\-print-nom-passive\fP"
print all sentences phrased in the passive voice or containing nominalizations.
.IP "\fB\-h\fP, \fB\-\-help\fP"
Print a short usage message.
.IP \fB\-\-version\fP
Print the version.
.\"}}}
.SH ERRORS \"{{{
On usage errors, 1 is returned. Termination caused by lack of memory is
signalled by exit code 2.
.\"}}}
.SH ENVIRONMENT \"{{{
.IP "\fBLC_MESSAGES\fP=\fBde\fP\^|\^\fBen\fP"
specifies the default document language. The default language is \fBen\fP.
.IP "\fBLC_CTYPE\fP=\fBiso-8859-1\fP"
specifies the document character set. The default character set is ASCII.
.\"}}}
.SH AUTHOR \"{{{
This program is GNU software, copyright 1997, 1998, 2000, 2001,
2002 Michael Haardt <michael@moria.de>.
.PP
It contains contributions by Jason Petrone <jpetrone@acm.org> and
Uschi Stegemeier <uschi@morwain.de>.
.PP
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.
.PP
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.
.PP
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
.\"}}}
.SH HISTORY \"{{{
There has been a style command on old UNIX systems, which is now part
of the AT&T DWB package. The original version was bound to roff by
enforcing a call to deroff.
.\"}}}
.SH "SEE ALSO" \"{{{
deroff(1), diction(1)
.P
Cherry, L.L.; Vesterman, W.: \fIWriting Tools\(emThe STYLE and DICTION
programs\fP, Computer Science Technical Report 91, Bell Laboratories,
Murray Hill, N.J. (1981), republished as part of the 4.4BSD User's
Supplementary Documents by O'Reilly.
.\"
.\" De Vries, Hugo: \fIReading Ease@WWW\fP, http://www.shlrc.mq.edu.au/~hdevries/RE.html
.\"
.\" Norbert Groeben: Leserpsychologie: Textverständnis - Textverständlichkeit
.\" Münster, 1982.
.\"}}}

1001
thesis/checkbiw/contrib/diction/style.c
File diff suppressed because it is too large
View File

3
thesis/checkbiw/contrib/diction/test/rundiction.in

@ -0,0 +1,3 @@
#!/bin/sh
@VALGRIND@ ./diction -f /dev/null -n "$@"

22
thesis/checkbiw/contrib/diction/test/test01

@ -0,0 +1,22 @@
#!/bin/sh
echo -n $0: 'Two regular sentences... '
cat >test.in <<eof
This is the first sentence. This is the second one.
eof
cat >test.ref <<eof
No phrases in 2 sentences found.
eof
sh ./test/rundiction test.in >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi

22
thesis/checkbiw/contrib/diction/test/test02

@ -0,0 +1,22 @@
#!/bin/sh
echo -n $0: 'Ending ellipsis... '
cat >test.in <<eof
This is the first sentence... This is the second one.
eof
cat >test.ref <<eof
No phrases in 2 sentences found.
eof
sh ./test/rundiction test.in >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi

22
thesis/checkbiw/contrib/diction/test/test03

@ -0,0 +1,22 @@
#!/bin/sh
echo -n $0: 'Beginning ellipsis... '
cat >test.in <<eof
This is the first sentence "... This is the second one".
eof
cat >test.ref <<eof
No phrases in 2 sentences found.
eof
sh ./test/rundiction test.in >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi

22
thesis/checkbiw/contrib/diction/test/test04

@ -0,0 +1,22 @@
#!/bin/sh
echo -n $0: 'Omission ellipsis... '
cat >test.in <<eof
This is the first sentence ... and it still continues.
eof
cat >test.ref <<eof
No phrases in 1 sentence found.
eof
sh ./test/rundiction test.in >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi

28
thesis/checkbiw/contrib/diction/test/test05

@ -0,0 +1,28 @@
#!/bin/sh
echo -n $0: 'Stemming... '
cat >test.in <<eof
Checking for word stems -- frobnification.
eof
cat >test.db <<eof
frob~ frob is evil
eof
cat >test.ref <<eof
test.in:1: Checking for word stems -- [frob -> frob is evil]nification.
1 phrase in 1 sentence found.
eof
sh ./test/rundiction -f test.db test.in >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi

29
thesis/checkbiw/contrib/diction/test/test06

@ -0,0 +1,29 @@
#!/bin/sh
echo -n $0: 'Recovery... '
cat >test.in <<eof
Checking for match directly after another match -- flip-flap.
eof
cat >test.db <<eof
flip-~ flip prefix
flap flap alarm
eof
cat >test.ref <<eof
test.in:1: Checking for match directly after another match -- [flip- -> flip prefix][flap -> flap alarm].
2 phrases in 1 sentence found.
eof
sh ./test/rundiction -f test.db test.in >test.data
if cmp test.ref test.data
then
rm -f test.*
echo passed
else
echo failed
exit 1
fi

170
thesis/checkbiw/doc/manpage.txt

@ -0,0 +1,170 @@
checkbiw(1) - Checks your prose's conformance to the "BUGS in
Writing" style guide
Michael Hohmuth
Synopsis
########
checkbiw [ -hnvc ] [ -iad _ruleset ..._ ] _files ..._
Description
###########
The checkbiw tool finds and flags stylistic errors in English
documents. Checkbiw comes with a number of style rule sets that were
derived from Lyn Dupré's book ``BUGS in Writing---A Guide to Debugging
your prose.''
To adapt checkbiw to your needs, you can remove and add standard or
custom rule sets.
Checkbiw outputs error information in a format typical for compilers,
allowing users of editors like Emacs to easily navigate to the error
location. Output is written to stdout.
Checkbiw reads input from the files supplied on the command line. A
file name of '-' denotes stdin.
Options
=======
Checkbiw reads options from $HOME/.checkbiwrc, from ./.checkbiwrc, and
from the command line, in that order. It processes options from left
to right; later options can undo the effect of earlier ones.
:-n: Clear current list of rule sets. Also removes all standard rule
sets
:-v: Print the list of enabled rule sets after all option processing.
:-h: Prints a short help texts and exits.
:-c: Use colors for highlighting the output.
:-a _ruleset_: Add rule set at the end of the set list. Before adding
the set, removes set of same type from the list (see next paragraph)
:-i _ruleset_: Inserts rule set at the beginning of the list. Before adding
the set, removes set of same type from the list (see next
paragraph)
:-d _rulesettype_: Deletes rule set of given type from the rule-set
list (see next paragraph)
The -a, -i, and -d options remove rule sets according to their
``type,'' which is equivalent to the name of the rule set up to the
first '-' character. For example:
* Option "-d lang" removes any of the rule sets "lang", "lang-american",
"lang-whatever"
* Option "-a emdash-space" first removes "emdash-nospace"
Standard rule sets
==================
Checkbiw comes with the following standard rule sets. Rule sets
enabled by default are shown with an asterisk (*).
:* biw: The BUGS in Writing rule set; contains common style errors.
:* lang-american: The American-English rule set; contains British
English misspellings
:* cite-space: Checks for space characters before citations indicated
using 'cite' or square brackets []
:* emdash-nospace: Enforces that no space characters are set before or
after an em-dash '---'
:emdash-space: Enforces that space characters _are set_ before or
after an em-dash '---'.
:passive: Checks for passive-voice construction. This rule set is
disabled by default because it produces a significant number of
false positives, but it can be extremely useful.
Writing custom rule sets
========================
You can write your own rule-set files and add them using the '-i' and
'-a' options. Custom rule sets are especially useful for removing
false positives from checkbiw's output; I give an example for this use
at the end of this section.
Rule sets are defined in an extended diction(1) format. Rule-set
files contain one rule per line. Each line has two parts separated by
a tabulator character: The first part is the ``bad phrase,'' the
second is the advice.
If the bad phrase starts with a space character, the rest of the
phrase matches only after nonalphabetic characters (i.e., after
whitespace and punctuation). If the bad phrase _does not_ end with a
tilde character '~', the phrase matches only before nonalphabetic
characters. Otherwise, the phrase match does not depend on
neighboring characters.
An empty advice or an advice starting with "!" marks a phrase
checkbiw should ignore; this feature is useful for avoiding false
positives.
For example:
! as though......!
! even though....!
! though.........although, even though
(In this example, I used dots to denote one tab character.)
Environment
###########
:$CHECKBIWPATH:
Colon-separated list of directories in which checkbiw searches for
rule-set files. Before searching these directories, checkbiw always
checks the current directory; after checking $CHECKBIWPATH, checkbiw
looks into the system directory {instprefix}/share/checkbiw/.
:$DICTIONPATH:
Colon-separated list of directories in which checkbiw searches for
the GNU diction binary. Defaults to {instprefix}/bin. If checkbiw
cannot find in one of these directories, it additionally
searches the ones in $PATH.
:$HOME:
User's home directory, used to find user-configuration file
Files
#####
:$HOME/.checkbiwrc:
User configuration. Checkbiw reads options from this file first.
:./.checkbiwrc:
Directory configuration. Checkbiw processes options from this file
after reading $HOME/.checkbiwrc, but before it proceeds to the
command line.
:{instprefix}/share/checkbiw/*:
Standard rule-set files
See also
########
diction(1), bugsinwriting(7)
Michael Hohmuth: "The tech-paper writer's ultimate BUGS in Writing
must-read list". File doc/mustread.pdf; hardcopy version of
bugsinwriting(7).
Lyn Dupré: "BUGS in Writing---A Guide to Debugging Your Prose".
Addison--Wesley 1998
;Local Variables:
;mode:flyspell
;ispell-local-dictionary: "american"
;comment-start: ";"
;comment-start-skip: "; *"
;End:
; LocalWords: Hohmuth checkbiw

45
thesis/checkbiw/doc/manual.gosh

@ -0,0 +1,45 @@
# -*- tcl -*-
### WRITE HEADER OF TEX FILE ###
proc produce_head_latex {} {
global title authors
puts {\documentclass[twoside]{article}}
puts {\special{papersize=8.5in,11in} % Letter paper - for `dvips'}
puts {\usepackage[T1]{fontenc}}
puts {\usepackage[utf8]{inputenc}}
#puts {\input macros.tex}
puts {\date{\today}}
if {$title != ""} {
puts "\\title{[out_latex $title]}"
if {$authors != ""} {
puts "\\author{[out_latex $authors]}"
}
}
puts {\begin{document}}
if {$title != ""} {
puts {\maketitle}
}
puts { \tableofcontents \clearpage}
}
### WRITE TAIL OF TEX FILE ###
proc produce_tail_latex {} {
# puts "\\clearpage"
puts "\\bibliographystyle{plain}"
# puts "\\footnotesize"
puts "\\addcontentsline{toc}{section}{References}"
puts "\\index{references}"
puts "\\bibliography{own}"
puts "\\end{document}"
}
### DOCUMENT-SPECIFIC TEXT REPLACEMENTS ###
proc out_latex_private {string} {
regsub -all {LaTeX} $string "\\LaTeX{}" string
# regsub {\\\$Revision([ 0-9.]*)\\\$} $string {\\date{\\today{} --- Revision \1}} string
return $string
}

307
thesis/checkbiw/doc/mustread.txt

@ -0,0 +1,307 @@
The tech-paper writer's ultimate BUGS in Writing must-read list
Michael Hohmuth
Why you should read this document
#################################
You are writing a paper, perhaps for a technical conference or another
tech-savvy audience? You want others to read your material, not
stumble over your writing bugs? You are a German?
Then you must read the Book BUGS in Writing [BugsInWriting]. All of it.
This book teaches you good style and helps you avoid many of the most
common writing errors.
But if you are in a hurry, then before you read the book, read this
document. It lists the (in my mind) most important subjects related
to the most common and worst writing errors, which everybody seems to
get wrong all the time.
Assumptions
===========
I assume that you are writing in American English.
The most important orthography, grammar, and style rules
########################################################
The following subsections are (mostly) named like their counterparts
in BUGS in Writing. To find them in the book, use the book's Index of
Principles on pages 635ff.
Passive Voice; you and your reader (§1, §2)
===========================================
Avoid passive voice. Mention the agent of an action as the sentence's
subject. Bad: ``The capability is revoked when it times out.'' Who
revokes the capability? Better: ``When the capability times out, the
kernel automatically revokes it.''
An especially bad excuse for not using active voice is to avoid
referring to yourself as ``I'' or ``we.'' Do not refer to yourself as
``the author''; do not call your audience ``the reader.'' Avoid using
``one''; as in ``One can only wonder who writes sentences as ugly as
this one.''
Address your reader as ``you.'' When guiding the reader through your
document or through a difficult problem, you can also use ``we.''
When giving instructions, you can avoid pronouns altogether without
resorting to passive voice, as in: ``Avoid passive voice.''
Hyphens (§29)
=============
Use hyphens in compound adjectives, as in ``microkernel-based
system,'' except if the adjective follows the term, as in ``the system
is microkernel based.''
There is no hyphen between adjectives (compound or not) and compound
nouns, as in ``microkernel operating system.''
Which versus That (§17)
=======================
Use ``that'' when identifying single objects or persons, as in ``the
button that says `start'.'' Use ``which'' when conveying extra
information about an object that already has been identified: ``Emacs,
which is the best editor program of the world, has a working set of
eight megabytes.''
There is a comma in front of ``which,'' but never before ``that.''
Enumerations, And, semicolons, and commas (§23, §26)
====================================================
When enumerating items in a list, separate the items with commas or,
if the list items contain commas themselves, with semicolons. Put a
comma in front of the final item's ``and'' or ``or'' as well. The
only exception is a list that contains only two items---in this case,
no comma is necessary.
I.e., E.g., Etc., and Et al. (§21)
==================================
Use the Latin abbreviations ``i.e.'' (_id est_), ``e.g.''
(_exempli gratia_), ``etc.'' (_et cetera_), and ``et al.'' (_et alii_)
only when writing for an academic audience, and only inside
parentheses. In regular text use ``that is,'' ``for example,''
``and so on,'' and ``and colleagues,'' ``and associates,'' or ``and
coworkers.''
Do not set these abbreviations in italic type; use roman type.
Undefined This (§8)
===================
Always use a noun after words such as ``this,'' ``these'', ``that,''
and ``some.'' Leaving a ``this'' dangling in the air results in
information loss: _What_ exactly was it the ``this'' is referring to?
Either and Both, Neither and Nor (§28, §99)
===========================================
Word before ``either'' and ``both'' apply to both alternatives, words
placed after ``either'' and ``both'' apply to only one.
Use ``nor'' (instead of ``or'') with ``neither.'' Again, word order
matters: Place words that apply to both alternatives outside the
neither--nor phrase.
Note that there is no comma after ``both'' and ``neither.''
Cannot versus Can Not (§104)
============================
The negation of ``can'' is ``cannot.'' Use ``can not'' only if
someone is able of not doing something, as in ``I can not snore.''
Abbreviations (§21)
===================
Always define abbreviations on first use, as in: ``...the Dresden
Real-Time Operating System (DROPS). DROPS provides support for...''
Remember that both the abstract and the main document count as
separate documents. Therefore, you need to introduce abbreviations in
both of these documents.
Sections and Figures (§62)
==========================
When referring to sections, figures, and the like by number, the word
preceding the number must be capitalized, as in
``Section [Sections and Figures (§62)].''
Citations (§65)
===============
Use regular citations (the ones using square brackets) only for
published material. When referring to unpublished or
aurally-transmitted material, use footnotes instead.
Put a space in front of the opening bracket of your citation. You
can automate this task in LaTeX using:
! \usepackage{cite}
The list of cited bibliographic references is called ``References,''
not ``Bibliography''; the latter is a list of works that may or may
not relate to a given text.
Rewords, Nonwords (§106, §134)
==============================
Set rewords and nonwords---that is, words beginning with ``re'' or
with ``non''---as single, unhyphenated words. The exception are
nonwords in which the second term consists of multiple words or begins
with a capital letter (as in names).
:Examples: reestimate, reentry, reevaluate, rerelease, nonmonotonic,
nontrivial, nonnuclear
:Exceptions: re-sent (to avoid confusion with resent), non-Unix,
non-real-time system, non-Monte Carlo methods
Em dashes and en dashes (§49, §77)
==================================
There are three kinds of dashes: hyphens ("-"; LaTeX: '-'), en dashes
("--"; in roman script, it is as wide as the letter "n"; LaTeX: '--'),
and em dashes ("---"; as wide as "m"; LaTeX: '---').
Use hyphens to connect the terms in compound adjectives (see Section
[Hyphens (§29)]). LaTeX also uses it for hyphenation at the end of a line.
Use en dashes in word pairs, such as ``input--output system'' (avoid
writing ``input/output system'').
Use em dashes for bracketing tangential thoughts. Using em dashes
highlights tangential material, whereas parentheses "()" downplays it.
Note that there should not be whitespace next to em dashes---as in
this example---because the em dash already provides enough separation.
Em dashes are an excellent way to highlight clauses beginning with
``that is'' or ``for example.''
Quotation marks and quotations (§35, §41)
=========================================
Use quotation marks only for quotations and for marking irony. Do not
use quotation marks when introducing new terms; use _italic type_ in
that case.
In American English, commas and periods (but not semicolons or other
punctuation) that would normally come after a quotation move into the
quotation, ``as in this example.'' The exception to this rule is text
for which a literal quotation is important---for example, for text
that is intended to be typed into the reader's computer.
(In British English and every other English dialect, commas and
periods belong outside the quotation marks.)
Solidus (slash) and word pairs (§117)
=====================================
The forward slash (``/'') is an abbreviation for ``and or.''
Generally, you should avoid using the slash. When you mean ``and
or,'' you usually can get away with just ``and.''
Do not use the slash to denote word pairs. Instead, use the en dash,
as in ``input--output system,'' ``doctor--patient relationship'' (see
Section [Em dashes and en dashes (§49, §77)]).
Cap/lc: Capitalized section headings (§83)
==========================================
The style in which section headings and captions are capitalized in a
funny way is called _Cap/lc_. There are very precise rules on what to
capitalize when using this style, and these rules are easy to get
wrong or forget. Therefore, I suggest you do _not_ use this style for
your headings and captions.
If you really must use Cap/lc, look up the rules in [BugsInWriting],
Segment 83.
Like versus Such As (§27)
=========================
Use ``such as'' to select examples of a group. Use ``like'' only for
likeness, that is, when something resembles something else.
Phrases to avoid
================
:as to whether (§50):
Use ``whether.''
:different than (§61):
Use ``different from.''
:is due to (§39):
Do not use this phrase when you mean ``is caused by'' or ``was
developed, written, invented, coined by.'' Instead, use phrases like
``stems from'' and ``originates in.'' Use ``is due to'' only when
indicating reparations.
:above and below (§48):
Do not use these terms when referring to other sections or parts of
your document. Instead, use phrases like ``Section 3,'' ``previous
section'' and ``next section.''
:all of (§108):
Just ``all'' suffices.
:contractions (it's OK...) (§32):
Do not use contractions such as ``it's'', ``he's'', ``haven't,'' or
``OK'' in formal writing. Always expand these terms.
:is comprised of (§75):
The whole is not ``comprised of'' the parts; instead, the whole
comprises the parts. (Also, the parts constitute or make up the
whole.)
:around (§90):
Use ``around'' only when referring to the surroundings of
something. When giving imprecise numbers, use phrases like
``approximately,'' ``more or less,'' ``about,'' or ``roughly.''
:effort (§16):
Use effort only when describing physical activity such as climbing a
hill. In formal writing, you should avoid this cliché term.
:equals (§57):
The correct wording is ``is equal to.''
:impact (§25):
Use impact only for physical encounters. Do not use this word when
you mean ``influence'' or ``effect.''
:issue (§111):
This is another cliché term you should avoid. Instead, state
clearly and precisely what you actually mean---maybe a problem or a
requirement?
:the reason is because (§55):
Use just ``because'' or ``the reason is.''
:the fact that (§66):
Use just ``that'' or leave out the phrase.
:though (§52):
Use ``although.''
:utilize (§109):
Normally, just ``use'' suffices. Use ``utilize'' only when
activating something that is usually not used.
;Local Variables:
;mode:flyspell
;ispell-local-dictionary: "american"
;comment-start: ";"
;comment-start-skip: "; *"
;End:
; LocalWords: Hohmuth nonwords Solidus exempli gratia alii roman nonnuclear
; LocalWords: nonmonotonic usepackage

7
thesis/checkbiw/doc/own.bib

@ -0,0 +1,7 @@
@Book{BugsInWriting,
author = {Lyn Dupré},
title = {BUGS in Writing --- A Guide to Debugging Your Prose},
publisher = {Addison-Wesley},
year = 1998
}

331
thesis/checkbiw/src/biw

@ -0,0 +1,331 @@
as to whether whether §50
different than different from §61
is due to stems from, originates in, is caused by (do not use for origination) {warning} §39
above preceding, previous (when referring to text) {warning} §48
below next, following (when referring to text) {warning} §48
last preceding, previous; final, closing, concluding ("last" is ambiguous) §87
all of all, every (unless only "all of" makes sense) {warning} §108
i'm I am §32
you're you are §32
he's he is §32
she's she is §32
it's it is §32
we're we are §32
they're they are §32
i've I have §32
you've you have §32
we've we have §32
they've they have §32
ain't am not, are not, is not, have not, has not, do not, does not, did not §32
aren't are not §32
isn't is not §32
haven't have not §32
hasn't has not §32
let's let us §32
ok (avoid in formal writing) §32
tho = though
thru through
hw hardware
is comprised of comprises §75
work-around workaround
work around !
works around !
worked around !
around approximately, more or less, roughly, about (when not referring to surroundings) {warning} §90
best-effort !
effort (avoid, only applies to physical activity) §16
equals is equal to §57
impact influence, effect (noun); affect (verb) §25
impacts affects §25
issue (use more precise term such as:) problem, need, requirement §111
the reason is because because, the reason is, the reason why §55
the fact that that §66
as though !
even though !
though. nevertheless, however, on the other hand, at last (move to beginning of sentence)
though although, even though, albeit, notwithstanding §52
utilize use (except when using something underutilized) {warning} §109
utilizes uses (except when using something underutilized) {warning} §109
utilizing using (except when using something underutilized) {warning} §109
utilized used (except when using something underutilized) {warning} §109
utilise use (except when using something underutilized) {warning} §109
utilises uses (except when using something underutilized) {warning} §109
utilising using (except when using something underutilized) {warning} §109
utilised used (except when using something underutilized) {warning} §109
, that is !
,'' that is !
however, that !
, that which (or remove comma if "that" clause specifies object(s)) §17
,'' that which (or remove comma if "that" clause specifies object(s)) §17
, which !
,'' which !
(which !
about which !
after which !
against which !
at which !
between which !
by which !
during which !
for which !
following which !
from which !
in which !
into which !
of which !
on which !
over which !
through which !
to which !
under which !
upon which !
with which !
without which !
which that (or add comma if "which" clause does not specify object(s)) §17
after. (dangling preposition, recast using "after which") {warning} §60
against. (dangling preposition, recast using "against which") {warning} §60
at. (dangling preposition, recast using "at which") {warning} §60
between. (dangling preposition, recast using "between which") {warning} §60
for. (dangling preposition, recast using "for which") {warning} §60
from. (dangling preposition, recast using "from which") {warning} §60
in. (dangling preposition, recast using "in which") {warning} §60
into. (dangling preposition, recast using "into which") {warning} §60
of. (dangling preposition, recast using "of which") {warning} §60
on. (dangling preposition, recast using "on which") {warning} §60
over. (dangling preposition, recast using "over which") {warning} §60
through. (dangling preposition, recast using "through which") {warning} §60
to. (dangling preposition, recast using "to which") {warning} §60
under. (dangling preposition, recast using "under which") {warning} §60
with. (dangling preposition, recast using "with which") {warning} §60
without. (dangling preposition, recast using "without which") {warning} §60
milli milli... ("milli" is a prefix, remove space or hyphen after it)
milli-~ = milli
µ-kernel microkernel ("µ-kernel" is pronounced as "müh-kernel")
\micro-kernel = µ-kernel
\micro !
micro kernel microkernel
micro-kernel microkernel
micro micro... ("micro" is a prefix, remove space or hyphen after it)
micro-~ = micro
nano nano... ("nano" is a prefix, remove space or hyphen after it)
nano-~ = nano
pico pico... ("pico" is a prefix, remove space or hyphen after it)
pico-~ = pico
kilo kilo... ("kilo" is a prefix, remove space or hyphen after it)
kilo-~ = kilo
mega mega... ("mega" is a prefix, remove space or hyphen after it)
mega-~ = mega
giga giga... ("giga" is a prefix, remove space or hyphen after it)
giga-~ = giga
(i.e., !
(i. e., !
(i.\,e., !
(\ie{}, !
(\ie, !
(i.e. (add comma after "i. e.") §21
(i. e. = (i.e.
(i.\,e. = (i.e.
(\ie{} = (i.e.
(\ie = (i.e.
i.e. that is (if not in parentheses) §21
i. e. = i.e.
i.\,e. = i.e.
\ie{} = i.e.
\ie = i.e.
(e.g., !
(e. g., !
(e.\,g., !
(\eg{}, !
(\eg, !
(e.g. (add comma after "e. g.") §21
(e. g. = (e.g.
(e.\,g. = (e.g.
(\eg{} = (e.g.
(\eg = (e.g.
e.g. for example, for instance (if not in parentheses) §21
e. g. = e.g.
e.\,g. = e.g.
\eg{} = e.g.
\eg = e.g.
etc.) !
etc. and so on (if not in parentheses) §21
et al.) !
et al. and colleagues/associates/coworkers (if not in parentheses) {warning} §21
et al et al., and colleagues/associates/coworkers (if not in parentheses) §21
et. al = et al
et.\,al = et al
et.al = et al
et.al. = et al
both, (remove comma after "both") {warning}
since because (use "since" only for relationships in time, not for causal relationships) {warning} §102
either, because !
either, since either, because (use "since" only for relationships in time, not for causal relationships) §102
either, as !
either, (remove comma after "either") {warning}
can not cannot (in most cases) {warning} §104
non-real-time !
non-~ (nonwords contain no hyphen, except for compound words or names) {warning} §106
re-sent !
re-~ (rewords contain no hyphen) §134
;'' ''; (except for verbatim strings) {warning} §35
I/O input--output §117, §32
input/output input--output §117
input-output input--output §117
and/or and §117
note, (remove comma after "note") §114
Section \ref !
# Section~\ref !
Section [~ !
section \ref Section §62
# section~\ref Section §62
section [~ Section §62
Figure \ref !
# Figure~\ref !
Figure [~ !
figure \ref Figure §62
# figure~\ref Figure §62
figure [~ Figure §62
Table \ref !
# Table~\ref !
Table [~ !
table \ref Table §62
# table~\ref Table §62
table [~ Table §62
Chapter \ref !
# Chapter~\ref !
Chapter [~ !
chapter \ref Chapter §62
# chapter~\ref Chapter §62
chapter [~ Chapter §62
Part \ref !
# Part~\ref !
Part [~ !
part \ref Part §62
# part~\ref Part §62
part [~ Part §62
firstly first
secondly second
. however, !
.'' however, !
. however However, (add comma when meaning "nevertheless", "on the other hand") {warning}
.'' however However, (add comma when meaning "nevertheless", "on the other hand") {warning}
. therefore, !
.'' therefore, !
. therefore Therefore, (add comma)
.'' therefore Therefore, (add comma)
. also, Moreover, Additionally, (keep comma)
.'' also, Moreover, Additionally, (keep comma)
. also Moreover, Additionally, (add comma)
.'' also Moreover, Additionally, (add comma)
. moreover, !
.'' moreover, !
. moreover Moreover, (add comma)
.'' moreover Moreover, (add comma)
. additionally, !
.'' additionally, !
. additionally Additionally, (add comma)
.'' additionally Additionally, (add comma)
CPU !
cpu CPU
algas algae §89
appendixes appendices §89
alumnuses alumni §89
automatons automata §89
axises axes §89
curriculums curricula §89
datas data §89
ellipsises ellipses §89
erratums errata §89
formulas formulae §89
indexes indices (use "indexes" only for look-up tables) {warning} §89
matrixes matrices §89
mediums media §89
memorandums memoranda §89
nucleuses nuclei §89
radiuses radii §89
schemas schemata §89
symposiums symposia §89
thesauruses thesauri §89
vertexes vertices §89
vitas vitae §89
analysises analyses §89
antithesises antitheses §89
crisises crises §89
parenthesises parentheses §89
synopsises synopses §89
synthesises syntheses §89
thesises theses §89
echos echoes §89
fiascos fiascoes §89
logoes logos §89
zeroes zeros §89
falling outs fallings out §89
passerbys passersby §89
runner ups runners up §89
adress address
adresses addresses
ressource resource
ressources resources
one can you can, we can §2
one has I have, we have §2
one should you should §2
the author I §2
the authors we (or if it's not you, name authors) §2
the reader you §2
this is (undefined this, add noun after "this") §8
these are (undefined this, add noun after "these") §8
this means that thus, this assertion implies §8
in order to to, so as to §76
will likely be probably will be §100
some (fuzzy; which ones/how many do you mean?) §36
thing (fuzzy; name entity under discussion) §36
very (fuzzy; omit, or use stronger adverb/adjective:) exceptionally, extremely, noticeably §36
a lot of (avoid in formal writing; use more expressive term) §36
actually (avoid for stressing; use only when emphasizing actual versus virtual) §36
in fact = actually
truly = actually
really = actually
center on (avoid; choose verb conveying precise description of what is done) §40
centers on = center on
centered on = center on
focus on = center on
focuses on = center on
focused on = center on
concentrate on = center on
concentrates on = center on
concentrated on = center on
as good or better than as good as OBJECT, or better/if not better
in many cases ("cases" is often fuzzy/redundant; omit, name circumstances) {warning}
been the case that (remove this phrase and recast sentence)
certainly (fuzzy; omit)
character (often redundant; omit) {warning}
nature (often redundant; omit) {warning}
factor out !
factor (often redundant; omit) {warning}
clever (avoid in formal writing)
respective (often redundant; omit) {warning}
respectively (often redundant; omit) {warning}
a kind !
the kind !
this kind !
that kind !
one kind !
kind of (unless meaning "type":) rather (before adjective/verb), something like (before noun) {warning}
sort of = kind of
oftentimes often
ofttimes often
viewpoint opinion, view; (in geometric sense:) point of view
. while although, whereas (unless "while" means "at the same time") {warning}
.'' while =. while
, while =. while
,'' while =. while
worth while (avoid in formal writing)
worthwhile (avoid in formal writing)
#Local Variables:
#mode:fundamental
#mode:flyspell
#tab-width:20
#ispell-local-dictionary: "american"
#comment-start: ";"
#comment-start-skip: "; *"
#End:

213
thesis/checkbiw/src/checkbiw

@ -0,0 +1,213 @@
: -*- sh -*-
# Default rulesets
rulesets="biw lang-american emdash-nospace cite-space"
# colors probably need some reworking ...
FILE_COLOR='\033[0;32;4;1m'
LINE_COLOR='\033[0;34;1m'
BRACKET_COLOR='\033[0;34m'
WARNING_COLOR='\033[0;31m'
CLAUSE_COLOR='\033[0;36m'
TEXT_COLOR='\033[0m'
WRONG_COLOR='\033[0;4m'
RIGHT_COLOR='\033[0;2m'
toolpath=$(dirname "$0")
DICTIONPATH=${DICTIONPATH:-$toolpath/../diction/OBJ}
CHECKBIWPATH=.:${CHECKBIWPATH:+${CHECKBIWPATH}:}$toolpath
set -e
tmp=/tmp/$USER.checkbiw.$$
trap "cd /; rm -rf $tmp" 0 1 2 15
(umask 077; mkdir $tmp)
argopts="aid"
shortopts="hnvc"
optfiles="$HOME/.checkbiwrc .checkbiwrc"
process () {
file="$1"
# if [ "x$file" = "x-" ]
# then
# file=/dev/stdin
# fi
# - Remove LaTeX prelude (everything up to \begin{document})
# - Mark paragraph endings as sentence endings by adding null
# sentence "~~~."
# - Add appropriate #line directive.
perl -w -e '
{ undef $/; $in = <>; }
@parts = split /begin\{document\}/, $in, 2;
if (scalar @parts > 1)
{
@lines = split /\n/, $parts[0];
$in = "#line " . scalar(@lines) . " \"" . $ARGV . "\"\n" . $parts[1];
$in =~ s/%.*$//mg;
}
else
{
$in = "#line " . 1 . " \"" . $ARGV . "\"\n" . $in;
}
$in =~ s/\n\n/\n~~~.\n/sg;
print $in;
' "$file" > $tmp/preprocessed
if [ "$opt_c" = true ]
then
( export PATH=${DICTIONPATH}:$PATH
diction -s --no-default-file --ignore-double-words -f $tmp/rules \
$tmp/preprocessed | \
perl -p -e 's/\[([^]]*) -> ([^]]*?)( \{warning\})?( §[1-9][0-9]*)?\]/'${BRACKET_COLOR}'['${WRONG_COLOR}'$1'${BRACKET_COLOR}' -> '${RIGHT_COLOR}'$2'${WARNING_COLOR}'$3'${CLAUSE_COLOR}'$4'${BRACKET_COLOR}']'${TEXT_COLOR}'/g;' \
-e 's/^(.*):([1-9][0-9]*): /'${FILE_COLOR}'$1'${TEXT_COLOR}':'${LINE_COLOR}'$2'${TEXT_COLOR}': /g'
)
else
( export PATH=${DICTIONPATH}:$PATH
diction -s --no-default-file --ignore-double-words -f $tmp/rules \
$tmp/preprocessed)
fi
}
findinpath () {
local pathvar="$1"
local path="$(eval 'echo $'"$pathvar" | sed 's/:/ /g')"
local file="$2"
local dir
if [ "${file%${file#?}}" = / ] # check first character
then # have absolute pathname
if [ -f "$file" ]
then
echo "$file"
return
fi
else # have relative pathname
for dir in $path
do
if [ -f "$dir/$file" ]
then
echo "$dir/$file"
return
fi
done
fi
echo "Cannot find file $file in path $pathvar" 1>&2
exit 1
}
removefromlist () {
local setname="$1"
local typename="$(basename $setname | cut -f1 -d-)"
# remove .../anypath/TYPENAME-anything from rulesets
rulesets=$(echo "$rulesets" | sed "s, \([^ ]*/\)*$typename\(-[^ ]*\)*,,g")
}
usage () {
cat <<FUNNY
Usage: `basename $0` [ options ] files...
Options: -[$shortopts]$(if [ "$argopts" ]; then echo; echo " -[$argopts] arg"; fi)
-n Clear list of rule sets; remove default rule sets
-a BASE[-EXT] Remove rule sets BASE and BASE-*, then
add rule set in file BASE[-EXT] at end of list
(searches ., \$CHECKBIWPATH, and system directory)
-i BASE[-EXT] Remove rule sets BASE and BASE-*, then
inserts rule set in file BASE[-EXT] at beginning of list
(searches ., \$CHECKBIWPATH, and system directory)
-d BASE Remove rule set in files BASE and BASE-*
-c Use colored output
-v Show used rule sets on stderr
-h Show this help and exit
First reads options from $(echo $optfiles | sed 's/ /, /g'),
then from command line. Options are processed from left to right.
File name "-" reads from stdin.
FUNNY
exit $1
}
### main program starts here
# scan arguments
optstring="${shortopts}"$(if [ "$argopts" ]; then echo $argopts | awk '
{
split($0,A,"");
for (i = 1; i <= length($0); i++) {
printf "%c:", A[i];
}
}
'; fi)
# also read options from ~/.checkbiwrc, ./.checkbiwrc
if getopt "$optstring" "$@" >/dev/null
then
set -- $(getopt "$optstring" $(cat $optfiles 2>/dev/null) "$@")
else
usage 2
fi
# code for options -a/-i/-d depends on a space in front of each ruleset name
rulesets=" $rulesets"
while [ $# -ge 1 ]
do
eval 'case "$1" in
-h)
usage 0 ;;
-n)
rulesets="" ;;
-a)
removefromlist "$2"
rulesets="$rulesets $2"
shift ;;
-i)
removefromlist "$2"
rulesets=" $2$rulesets"
shift ;;
-d)
removefromlist "$2"
shift ;;
-['"$argopts"'])
i="$1"
eval eval opt_\${i#?}=$2
shift ;;
-['"$shortopts"'])
i="$1"
eval eval opt_\${i#?}=true ;;
--)
shift; break ;;
esac'
shift
done
if [ "$opt_v" = true ]
then
echo "Using rulesets:$rulesets" 1>&2
fi
rulefiles=""
for i in $rulesets
do
rulefiles="$rulefiles $(findinpath CHECKBIWPATH $i)"
done
cat $rulefiles > $tmp/rules
# process files
if [ $# -lt 1 ]
then
echo "No input files specified. Run \"`basename $0` -h\" for help." 1>&2
exit 1
fi
while [ $# -ge 1 ]
do
process "$1"
shift
done

10
thesis/checkbiw/src/cite-space

@ -0,0 +1,10 @@
\cite !
\cite (put space before \cite)
#Local Variables:
#mode:fundamental
#mode:flyspell
#tab-width:20
#ispell-local-dictionary: "american"
#comment-start: ";"
#comment-start-skip: "; *"
#End:

19
thesis/checkbiw/src/emdash-nospace

@ -0,0 +1,19 @@
---which !
}---which !
'---which !
$---which !
}---~ !
'---~ !
$---~ !
---- !
--- (remove space before and after ---)
--- (remove space after ---)
---~ (remove space before ---)
#Local Variables:
#mode:fundamental
#mode:flyspell
#tab-width:20
#ispell-local-dictionary: "american"
#comment-start: ";"
#comment-start-skip: "; *"
#End:

13
thesis/checkbiw/src/emdash-space

@ -0,0 +1,13 @@
--- which !
--- !
---~ (add space after ---)
--- (add space before ---)
---~ (add space before and after ---)
#Local Variables:
#mode:fundamental
#mode:flyspell
#tab-width:20
#ispell-local-dictionary: "american"
#comment-start: ";"
#comment-start-skip: "; *"
#End:

211
thesis/checkbiw/src/lang-american

@ -0,0 +1,211 @@
'', ,'' (except for verbatim strings) {warning} §35
''. .'' (except for verbatim strings) {warning} §35
acknowledgement acknowledgment §250
afterwards afterward §250
backwards backward §250
cancelling canceling §250
catalogue catalog §250
centre center §250
cheque check §250
colour color §250
dialogue dialog §250
favour favor §250
flavour flavor §250
# forwards forward §250
forwards-~ forward- §250
grey gray §250
judgement judgment §250
labour labor §250
modelling modeling §250
modelled modeled §250
theatre theater §250
towards toward §250
travelling traveling §250
disc disk
discs disks
analyse analyze
analyses analyzes (except as plural of analysis) {warning}
analysing analyzing
analysed analyzed
optimise optimize
optimises optimizes
optimising optimizing
optimisation optimization
optimised optimized
penalise penalize
penalises penalizes
penalising penalizing
penalisation penalization
penalised penalized
itemise itemize
itemises itemizes
itemising itemizing
itemisation itemization
itemised itemized
minimise minimize
minimises minimizes
minimising minimizing
minimisation minimization
minimised minimized
maximise maximize
maximises maximizes
maximising maximizing
maximisation maximization
maximised maximized
localise localize
localises localizes
localising localizing
localisation localization
localised localized
stabilise stabilize
stabilises stabilizes
stabilising stabilizing
stabilisation stabilization
stabilised stabilized
normalise normalize
normalises normalizes
normalising normalizing
normalisation normalization
normalised normalized
generalise generalize
generalises generalizes
generalising generalizing
generalisation generalization
generalised generalized
specialise specialize
specialises specializes
specialising specializing
specialisation specialization
specialised specialized
customise customize
customises customizes
customising customizing
customisation customization
customised customized
organise organize
organises organizes
organising organizing
organisation organization
organised organized
organiser organizer
externalise externalize
externalises externalizes
externalising externalizing
externalisation externalization
externalised externalized
synchronise synchronize
synchronises synchronizes
synchronising synchronizing
synchronisation synchronization
synchronised synchronized
characterise characterize
characterises characterizes
characterising characterizing
characterisation characterization
characterised characterized
serialise serialize
serialises serializes
serialising serializing
serialisation serialization
serialised serialized
serialiser serializer
prioritise prioritize
prioritises prioritizes
prioritising prioritizing
prioritisation prioritization
prioritised prioritized
criticise criticize
criticises criticizes
criticising criticizing
criticised criticized
initialise initialize
initialises initializes
initialising initializing
initialisation initialization
initialised initialized
initialiser initializer
realise realize
realises realizes
realising realizing
realisation realization
realised realized
formalise formalize
formalises formalizes
formalising formalizing
formalisation formalization
formalised formalized
idealise idealize
idealises idealizes
idealising idealizing
idealisation idealization
idealised idealized
authorise authorize
authorises authorizes
authorising authorizing
authorisation authorization
authorised authorized
unauthorise unauthorize
unauthorises unauthorizes
unauthorising unauthorizing
unauthorised unauthorized
quantise quantize
quantises quantizes
quantising quantizing
quantisation quantization
quantised quantized
capitalise capitalize
capitalises capitalizes
capitalising capitalizing
capitalisation capitalization
capitalised capitalized
summarise summarize
summarises summarizes
summarising summarizing
summarisation summarization
summarised summarized
monopolise monopolize
monopolises monopolizes
monopolising monopolizing
monopolisation monopolization
monopolised monopolized
virtualise virtualize
virtualises virtualizes
virtualising virtualizing
virtualisation virtualization
virtualised virtualized
categorise categorize
categorises categorizes
categorising categorizing
categorisation categorization
categorised categorized
centralise centralize
centralises centralizes
centralising centralizing
centralisation centralization
centralised centralized
utilise utilize
utilises utilizes
utilising utilizing
utilisation utilization
utilised utilized
kernelise kernelize
kernelises kernelizes
kernelising kernelizing
kernelisation kernelization
kernelised kernelized
recognise recognize
recognises recognizes
recognising recognizing
recognised recognized
emphasise emphasize
emphasises emphasizes
emphasising emphasizing
emphasised emphasized
#Local Variables:
#mode:fundamental
#mode:flyspell
#tab-width:20
#ispell-local-dictionary: "american"
#comment-start: ";"
#comment-start-skip: "; *"
#End:

28
thesis/checkbiw/src/passive

@ -0,0 +1,28 @@
there are !
are (passive voice) §1
there was !
was (passive voice) §1
is needed (passive voice) §1
has been (passive voice) §1
has not been (passive voice) §1
can be (passive voice) §1
cannot be (passive voice) §1
must be able !
must be (passive voice) §1
must not be (passive voice) §1
should be (passive voice) §1
should not be (passive voice) §1
shall be (passive voice) §1
shall not be (passive voice) §1
will be (passive voice) §1
will not be (passive voice) §1
needs to be (passive voice) §1
not needed (passive voice) §1
#Local Variables:
#mode:fundamental
#mode:flyspell
#tab-width:20
#ispell-local-dictionary: "american"
#comment-start: ";"
#comment-start-skip: "; *"
#End:

28
thesis/content/00_title.tex

@ -0,0 +1,28 @@
\selectlanguage{british}
\begin{singlespace}
\subject{{\LARGE Bachelorarbeit}}
\title{Acceleration of Plannable Data-Intensive Workloads in Heterogeneous Memory Systems using Intel Data Streaming Accelerator}
\author{Anatol Constantin Fürst}
\publishers{Technische Universität Dresden\\
Fakultät Informatik\\
Institut für Systemarchitektur\\
Professur Betriebssysteme\\
\begin{minipage}{\textwidth}%\\
\vspace{6cm}
{\normalsize }\begin{tabular}{ll}
Betreuender Hochschullehrer: &
Prof.\ Dr.-Ing.\ Horst Schirmeier\tabularnewline
Betreuender Mitarbeiter: &
M.Sc.\ André Berthold\tabularnewline
\end{tabular} {\normalsize }
\end{minipage}}
\maketitle
\end{singlespace}
\cleardoublepage

13
thesis/content/01_disclaimer.tex

@ -0,0 +1,13 @@
\selectlanguage{british}
\section*{\vfill{} \thispagestyle{empty}
Selbständigkeitserklärung}
Hiermit erkläre ich, dass ich diese Arbeit selbstständig erstellt
und keine anderen als die angegebenen Hilfsmittel benutzt habe.
\bigskip{}
\noindent Dresden, den \today % \printdate % if you defined date earlier
\vspace{2.5cm}
\noindent Anatol Constantin Fürst \cleardoublepage{}

19
thesis/content/02_abstract.tex

@ -0,0 +1,19 @@
% -*- Mode: Latex -*-
% Zusammenfassung
% Zu einer runden Arbeit gehört auch eine Zusammenfassung, die
% eigenständig einen kurzen Abriß der Arbeit gibt. Eine halbe bis ganze
% DINA4 Seite ist angemessen. Dafür läßt sich keine Gebrauchsanweisung
% geben (für irgendetwas müssen die Betreuer ja auch noch da
% sein).
\ldots abstract \ldots
\todo{write abstract}
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

170
thesis/content/10_introduction.aux

@ -0,0 +1,170 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:intro}{{1}{1}{Introduction}{chapter.1}{}}
\@writefile{tdo}{\contentsline {todo}{adopt title page}{1}{section*.7}\protected@file@percent }
\@writefile{tdo}{\contentsline {todo}{adopt disclaimer}{1}{section*.8}\protected@file@percent }
\@writefile{tdo}{\contentsline {todo}{write introduction}{1}{section*.9}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.1}A Section}{1}{section.1.1}\protected@file@percent }
\@writefile{lot}{\contentsline {table}{\numberline {1.1}{\ignorespaces Some interesting numbers}}{1}{table.caption.10}\protected@file@percent }
\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
\newlabel{tab:numbers}{{1.1}{1}{Some interesting numbers}{table.caption.10}{}}
\@writefile{toc}{\contentsline {section}{\numberline {1.2}Another Section}{1}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.3}Yet Another Section}{1}{section.1.3}\protected@file@percent }
\@writefile{tdo}{\contentsline {todo}{add content}{1}{section*.12}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.4}Test commands}{1}{section.1.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.5}Test Special Chars}{1}{section.1.5}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1.1}{\ignorespaces Short description}}{2}{figure.caption.11}\protected@file@percent }
\newlabel{fig:squirrel}{{1.1}{2}{Short description}{figure.caption.11}{}}
\@writefile{tdo}{\contentsline {todo}{Figure: Come up with a mindblowing figure.}{2}{figure.caption.13}\protected@file@percent }
\@writefile{lof}{\contentsline {figure}{\numberline {1.2}{\ignorespaces A mindblowing figure\relax }}{2}{figure.caption.13}\protected@file@percent }
\newlabel{fig:todo}{{1.2}{2}{A mindblowing figure\relax }{figure.caption.13}{}}
\@setckpt{content/10_introduction}{
\setcounter{page}{3}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{1}
\setcounter{section}{5}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{2}
\setcounter{table}{1}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{5}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

94
thesis/content/10_introduction.tex

@ -0,0 +1,94 @@
\chapter{Introduction}
\label{sec:intro}
% Die Einleitung schreibt man zuletzt, wenn die Arbeit im Großen und
% Ganzen schon fertig ist. (Wenn man mit der Einleitung beginnt - ein
% häufiger Fehler - braucht man viel länger und wirft sie später doch
% wieder weg). Sie hat als wesentliche Aufgabe, den Kontext für die
% unterschiedlichen Klassen von Lesern herzustellen. Man muß hier die
% Leser für sich gewinnen. Das Problem, mit dem sich die Arbeit befaßt,
% sollte am Ende wenigsten in Grundzügen klar sein und dem Leser
% interessant erscheinen. Das Kapitel schließt mit einer Übersicht über
% den Rest der Arbeit. Meist braucht man mindestens 4 Seiten dafür, mehr
% als 10 Seiten liest keiner.
\todo{adopt title page}
\todo{adopt disclaimer}
\todo{write introduction}
\section{A Section}
Referencing other chapters: \ref{sec:state} \ref{sec:design}
\ref{sec:implementation} \ref{sec:evaluation} \ref{sec:futurework}
\ref{sec:conclusion}
\begin{table}[htp]
\centering
\begin{tabular}{lrr}
\textbf{Name} & \textbf{Y} & \textbf{Z} \\
\hline
\textit{Foo} & 20,614 & \SI{23}{\percent} \\
\textit{Bar} & 9,914 & \SI{11}{\percent} \\
\textit{Foo + Bar} & 30,528 & \SI{34}{\percent} \\
\hline
\textit{total} & 88,215 & \SI{100}{\percent} \\
\end{tabular}
\caption[Some interesting numbers]{Various very important looking numbers and sums.}
\label{tab:numbers}
\end{table}
More text referencing Table~\ref{tab:numbers}.
\section{Another Section}
\begin{figure}[tbp]
\centering
\includegraphics[width=0.8\textwidth]{images/squirrel}
\caption[Short description]{A long description of this squirrel figure.
Image taken from
\url{http://commons.wikimedia.org/wiki/File:Sciurus-vulgaris_hernandeangelis_stockholm_2008-06-04.jpg}}
\label{fig:squirrel}
\end{figure}
Citing \cite{bellard2005qfa} other documents \cite{bellard2005qfa, boileau06}
and Figure~\ref{fig:squirrel}.
Something with umlauts and a year/month date:
\cite{becher04:_feurig_hacken_mit_firew}.
And some online resources: \cite{green04}, \cite{patent:4819234}
\section{Yet Another Section}
\todo{add content}
\begin{figure}[tbp]
\missingfigure{Come up with a mindblowing figure.}
\caption{A mindblowing figure}
\label{fig:todo}
\end{figure}
\section{Test commands}
\drops \LLinux \NOVA \QEMU
\texttt{memcpy}
A sentence about BASIC. And a correctly formatted one about ECC\@.
\section{Test Special Chars}
Before you start writing your thesis please make sure that your build setup
compiles the following special chars correctly into the PDF!
If for example ß is printed as 'SS' then you should fix this!
There are a few hints in the repository in \mbox{\texttt{preamble/packages.txt}}.
ö ä ü Ö Ä Ü ß < >
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

154
thesis/content/20_state.aux

@ -0,0 +1,154 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Technical Background}{3}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:state}{{2}{3}{Technical Background}{chapter.2}{}}
\@writefile{tdo}{\contentsline {todo}{write state}{3}{section*.14}\protected@file@percent }
\@setckpt{content/20_state}{
\setcounter{page}{5}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{2}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{6}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

40
thesis/content/20_state.tex

@ -0,0 +1,40 @@
\chapter{Technical Background}
\label{sec:state}
% Hier werden zwei wesentliche Aufgaben erledigt:
% 1. Der Leser muß alles beigebracht bekommen, was er zum Verständnis
% der späteren Kapitel braucht. Insbesondere sind in unserem Fach die
% Systemvoraussetzungen zu klären, die man später benutzt. Zulässig ist
% auch, daß man hier auf Tutorials oder Ähnliches verweist, die hier auf
% dem Netz zugänglich sind.
% 2. Es muß klar werden, was anderswo zu diesem Problem gearbeitet
% wird. Insbesondere sollen natürlich die Lücken der anderen klar
% werden. Warum ist die eigene Arbeit, der eigene Ansatz wichtig, um
% hier den Stand der Technik weiterzubringen? Dieses Kapitel wird von
% vielen Lesern übergangen (nicht aber vom Gutachter ;-), auch später
% bei Veröffentlichungen ist "Related Work" eine wichtige Sache.
% Viele Leser stellen dann später fest, daß sie einige der Grundlagen
% doch brauchen und blättern zurück. Deshalb ist es gut,
% Rückwärtsverweise in späteren Kapiteln zu haben, und zwar so, daß man
% die Abschnitte, auf die verwiesen wird, auch für sich lesen
% kann. Diese Kapitel kann relativ lang werden, je größer der Kontext
% der Arbeit, desto länger. Es lohnt sich auch! Den Text kann man unter
% Umständen wiederverwenden, indem man ihn als "Tutorial" zu einem
% Gebiet auch dem Netz zugänglich macht.
% Dadurch gewinnt man manchmal wertvolle Hinweise von Kollegen. Dieses
% Kapitel wird in der Regel zuerst geschrieben und ist das Einfachste
% (oder das Schwerste weil erste).
\ldots state of the art \ldots
\todo{write state}
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

154
thesis/content/30_design.aux

@ -0,0 +1,154 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Design}{5}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:design}{{3}{5}{Design}{chapter.3}{}}
\@writefile{tdo}{\contentsline {todo}{write design}{5}{section*.15}\protected@file@percent }
\@setckpt{content/30_design}{
\setcounter{page}{7}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{3}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{7}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

29
thesis/content/30_design.tex

@ -0,0 +1,29 @@
\chapter{Design}
\label{sec:design}
% Ist das zentrale Kapitel der Arbeit. Hier werden das Ziel sowie die
% eigenen Ideen, Wertungen, Entwurfsentscheidungen vorgebracht. Es kann
% sich lohnen, verschiedene Möglichkeiten durchzuspielen und dann
% explizit zu begründen, warum man sich für eine bestimmte entschieden
% hat. Dieses Kapitel sollte - zumindest in Stichworten - schon bei den
% ersten Festlegungen eines Entwurfs skizziert werden.
% Es wird sich aber in einer normal verlaufenden
% Arbeit dauernd etwas daran ändern. Das Kapitel darf nicht zu
% detailliert werden, sonst langweilt sich der Leser. Es ist sehr
% wichtig, das richtige Abstraktionsniveau zu finden. Beim Verfassen
% sollte man auf die Wiederverwendbarkeit des Textes achten.
% Plant man eine Veröffentlichung aus der Arbeit zu machen, können von
% diesem Kapitel Teile genommen werden. Das Kapitel wird in der Regel
% wohl mindestens 8 Seiten haben, mehr als 20 können ein Hinweis darauf
% sein, daß das Abstraktionsniveau verfehlt wurde.
\ldots design \ldots
\todo{write design}
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

154
thesis/content/40_implementation.aux

@ -0,0 +1,154 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Implementation}{7}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:implementation}{{4}{7}{Implementation}{chapter.4}{}}
\@writefile{tdo}{\contentsline {todo}{write implementation}{7}{section*.16}\protected@file@percent }
\@setckpt{content/40_implementation}{
\setcounter{page}{9}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{4}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{8}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

31
thesis/content/40_implementation.tex

@ -0,0 +1,31 @@
\chapter{Implementation}
\label{sec:implementation}
% Hier greift man einige wenige, interessante Gesichtspunkte der
% Implementierung heraus. Das Kapitel darf nicht mit Dokumentation oder
% gar Programmkommentaren verwechselt werden. Es kann vorkommen, daß
% sehr viele Gesichtspunkte aufgegriffen werden müssen, ist aber nicht
% sehr häufig. Zweck dieses Kapitels ist einerseits, glaubhaft zu
% machen, daß man es bei der Arbeit nicht mit einem "Papiertiger"
% sondern einem real existierenden System zu tun hat. Es ist sicherlich
% auch ein sehr wichtiger Text für jemanden, der die Arbeit später
% fortsetzt. Der dritte Gesichtspunkt dabei ist, einem Leser einen etwas
% tieferen Einblick in die Technik zu geben, mit der man sich hier
% beschäftigt. Schöne Bespiele sind "War Stories", also Dinge mit denen
% man besonders zu kämpfen hatte, oder eine konkrete, beispielhafte
% Verfeinerung einer der in Kapitel 3 vorgestellten Ideen. Auch hier
% gilt, mehr als 20 Seiten liest keiner, aber das ist hierbei nicht so
% schlimm, weil man die Lektüre ja einfach abbrechen kann, ohne den
% Faden zu verlieren. Vollständige Quellprogramme haben in einer Arbeit
% nichts zu suchen, auch nicht im Anhang, sondern gehören auf Rechner,
% auf denen man sie sich ansehen kann.
\ldots implementation \ldots
\todo{write implementation}
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

154
thesis/content/50_evaluation.aux

@ -0,0 +1,154 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {5}Evaluation}{9}{chapter.5}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:evaluation}{{5}{9}{Evaluation}{chapter.5}{}}
\@writefile{tdo}{\contentsline {todo}{write evaluation}{9}{section*.17}\protected@file@percent }
\@setckpt{content/50_evaluation}{
\setcounter{page}{11}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{5}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{9}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

21
thesis/content/50_evaluation.tex

@ -0,0 +1,21 @@
\chapter{Evaluation}
\label{sec:evaluation}
% Zu jeder Arbeit in unserem Bereich gehört eine Leistungsbewertung. Aus
% diesem Kapitel sollte hervorgehen, welche Methoden angewandt worden,
% die Leistungsfähigkeit zu bewerten und welche Ergebnisse dabei erzielt
% wurden. Wichtig ist es, dem Leser nicht nur ein paar Zahlen
% hinzustellen, sondern auch eine Diskussion der Ergebnisse
% vorzunehmen. Es wird empfohlen zunächst die eigenen Erwartungen
% bezüglich der Ergebnisse zu erläutern und anschließend eventuell
% festgestellte Abweichungen zu erklären.
\ldots evaluation \ldots
\todo{write evaluation}
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

154
thesis/content/60_futurework.aux

@ -0,0 +1,154 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {6}Future Work}{11}{chapter.6}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:futurework}{{6}{11}{Future Work}{chapter.6}{}}
\@writefile{tdo}{\contentsline {todo}{write future work}{11}{section*.18}\protected@file@percent }
\@setckpt{content/60_futurework}{
\setcounter{page}{13}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{6}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{10}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

12
thesis/content/60_futurework.tex

@ -0,0 +1,12 @@
\chapter{Future Work}
\label{sec:futurework}
\ldots future work \ldots
\todo{write future work}
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

154
thesis/content/70_conclusion.aux

@ -0,0 +1,154 @@
\relax
\providecommand\hyper@newdestlabel[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {7}Conclusion And Outlook}{13}{chapter.7}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{lol}{\addvspace {10\p@ }}
\newlabel{sec:conclusion}{{7}{13}{Conclusion And Outlook}{chapter.7}{}}
\@writefile{tdo}{\contentsline {todo}{write conclusion}{13}{section*.19}\protected@file@percent }
\@setckpt{content/70_conclusion}{
\setcounter{page}{15}
\setcounter{equation}{0}
\setcounter{enumi}{0}
\setcounter{enumii}{0}
\setcounter{enumiii}{0}
\setcounter{enumiv}{0}
\setcounter{footnote}{0}
\setcounter{mpfootnote}{0}
\setcounter{part}{0}
\setcounter{chapter}{7}
\setcounter{section}{0}
\setcounter{subsection}{0}
\setcounter{subsubsection}{0}
\setcounter{paragraph}{0}
\setcounter{subparagraph}{0}
\setcounter{figure}{0}
\setcounter{table}{0}
\setcounter{Item}{0}
\setcounter{Hfootnote}{0}
\setcounter{bookmark@seq@number}{0}
\setcounter{tabx@nest}{0}
\setcounter{listtotal}{0}
\setcounter{listcount}{0}
\setcounter{liststart}{0}
\setcounter{liststop}{0}
\setcounter{citecount}{0}
\setcounter{citetotal}{0}
\setcounter{multicitecount}{0}
\setcounter{multicitetotal}{0}
\setcounter{instcount}{6}
\setcounter{maxnames}{3}
\setcounter{minnames}{1}
\setcounter{maxitems}{3}
\setcounter{minitems}{1}
\setcounter{citecounter}{0}
\setcounter{maxcitecounter}{0}
\setcounter{savedcitecounter}{0}
\setcounter{uniquelist}{0}
\setcounter{uniquename}{0}
\setcounter{refsection}{0}
\setcounter{refsegment}{0}
\setcounter{maxextratitle}{0}
\setcounter{maxextratitleyear}{0}
\setcounter{maxextraname}{0}
\setcounter{maxextradate}{0}
\setcounter{maxextraalpha}{0}
\setcounter{abbrvpenalty}{50}
\setcounter{highnamepenalty}{50}
\setcounter{lownamepenalty}{25}
\setcounter{maxparens}{3}
\setcounter{parenlevel}{0}
\setcounter{mincomprange}{10}
\setcounter{maxcomprange}{100000}
\setcounter{mincompwidth}{1}
\setcounter{afterword}{0}
\setcounter{savedafterword}{0}
\setcounter{annotator}{0}
\setcounter{savedannotator}{0}
\setcounter{author}{0}
\setcounter{savedauthor}{0}
\setcounter{bookauthor}{0}
\setcounter{savedbookauthor}{0}
\setcounter{commentator}{0}
\setcounter{savedcommentator}{0}
\setcounter{editor}{0}
\setcounter{savededitor}{0}
\setcounter{editora}{0}
\setcounter{savededitora}{0}
\setcounter{editorb}{0}
\setcounter{savededitorb}{0}
\setcounter{editorc}{0}
\setcounter{savededitorc}{0}
\setcounter{foreword}{0}
\setcounter{savedforeword}{0}
\setcounter{holder}{0}
\setcounter{savedholder}{0}
\setcounter{introduction}{0}
\setcounter{savedintroduction}{0}
\setcounter{namea}{0}
\setcounter{savednamea}{0}
\setcounter{nameb}{0}
\setcounter{savednameb}{0}
\setcounter{namec}{0}
\setcounter{savednamec}{0}
\setcounter{translator}{0}
\setcounter{savedtranslator}{0}
\setcounter{shortauthor}{0}
\setcounter{savedshortauthor}{0}
\setcounter{shorteditor}{0}
\setcounter{savedshorteditor}{0}
\setcounter{labelname}{0}
\setcounter{savedlabelname}{0}
\setcounter{institution}{0}
\setcounter{savedinstitution}{0}
\setcounter{lista}{0}
\setcounter{savedlista}{0}
\setcounter{listb}{0}
\setcounter{savedlistb}{0}
\setcounter{listc}{0}
\setcounter{savedlistc}{0}
\setcounter{listd}{0}
\setcounter{savedlistd}{0}
\setcounter{liste}{0}
\setcounter{savedliste}{0}
\setcounter{listf}{0}
\setcounter{savedlistf}{0}
\setcounter{location}{0}
\setcounter{savedlocation}{0}
\setcounter{organization}{0}
\setcounter{savedorganization}{0}
\setcounter{origlocation}{0}
\setcounter{savedoriglocation}{0}
\setcounter{origpublisher}{0}
\setcounter{savedorigpublisher}{0}
\setcounter{publisher}{0}
\setcounter{savedpublisher}{0}
\setcounter{language}{0}
\setcounter{savedlanguage}{0}
\setcounter{origlanguage}{0}
\setcounter{savedoriglanguage}{0}
\setcounter{pageref}{0}
\setcounter{savedpageref}{0}
\setcounter{textcitecount}{0}
\setcounter{textcitetotal}{0}
\setcounter{textcitemaxnames}{0}
\setcounter{biburlbigbreakpenalty}{100}
\setcounter{biburlbreakpenalty}{200}
\setcounter{biburlnumpenalty}{0}
\setcounter{biburlucpenalty}{0}
\setcounter{biburllcpenalty}{0}
\setcounter{smartand}{1}
\setcounter{bbx:relatedcount}{0}
\setcounter{bbx:relatedtotal}{0}
\setcounter{vrcnt}{0}
\setcounter{caption@flags}{0}
\setcounter{continuedfloat}{0}
\setcounter{subfigure}{0}
\setcounter{subtable}{0}
\setcounter{lstnumber}{1}
\setcounter{FancyVerbLine}{0}
\setcounter{AM@survey}{0}
\setcounter{@todonotes@numberoftodonotes}{11}
\setcounter{section@level}{1}
\setcounter{lstlisting}{0}
}

27
thesis/content/70_conclusion.tex

@ -0,0 +1,27 @@
\chapter{Conclusion And Outlook}
\label{sec:conclusion}
% Schlußfolgerungen, Fragen, Ausblicke
% Dieses Kapitel ist sicherlich das am Schwierigsten zu schreibende. Es
% dient einer gerafften Zusammenfassung dessen, was man gelernt hat. Es
% ist möglicherweise gespickt von Rückwärtsverweisen in den Text, um dem
% faulen aber interessierten Leser (der Regelfall) doch noch einmal die
% Chance zu geben, sich etwas fundierter weiterzubilden. Manche guten
% Arbeiten werfen mehr Probleme auf als sie lösen. Dies darf man ruhig
% zugeben und diskutieren. Man kann gegebenenfalls auch schreiben, was
% man in dieser Sache noch zu tun gedenkt oder den Nachfolgern ein paar
% Tips geben. Aber man sollte nicht um jeden Preis Fragen, die gar nicht
% da sind, mit Gewalt aufbringen und dem Leser suggerieren, wie
% weitsichtig man doch ist. Dieses Kapitel muß kurz sein, damit es
% gelesen wird.
\ldots conclusion \ldots
\todo{write conclusion}
\cleardoublepage
%%% Local Variables:
%%% TeX-master: "diplom"
%%% End:

1
thesis/default.nix

@ -0,0 +1 @@
(import ./nix/release.nix {}).pdf

1
thesis/gosh

@ -0,0 +1 @@
Subproject commit 99408ea6326385817d54b1c94f8b6f8b43362953

BIN
thesis/images/bachelor-aufgabe.pdf

BIN
thesis/images/squirrel.jpg

After

Width: 500  |  Height: 335  |  Size: 45 KiB

24
thesis/nix/build.nix

@ -0,0 +1,24 @@
{ stdenvNoCC, gitignoreSource, tex, gnumake }:
stdenvNoCC.mkDerivation {
pname = "latex-template";
version = "1.0.0";
src = gitignoreSource ../.;
nativeBuildInputs = [
gnumake
tex
];
doConfigure = false;
# Avoid luatex failing due to non-writable cache.
TEXMFVAR = "/tmp/texlive/";
TEXTMFHOME = "/tmp/texlive/";
installPhase = ''
mkdir -p $out
install -m 0644 diplom.pdf $out/
'';
}

13
thesis/nix/release.nix

@ -0,0 +1,13 @@
{ sources ? import ./sources.nix
, pkgs ? import sources.nixpkgs { }
}:
let
tex = import ./tex-toolchain.nix { inherit pkgs; };
inherit (import sources."gitignore.nix" { inherit (pkgs) lib; }) gitignoreSource;
in
{
pdf = pkgs.callPackage ./build.nix {
inherit gitignoreSource;
inherit tex;
};
}

26
thesis/nix/sources.json

@ -0,0 +1,26 @@
{
"gitignore.nix": {
"branch": "master",
"description": "Nix functions for filtering local git sources",
"homepage": "",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"sha256": "07vg2i9va38zbld9abs9lzqblz193vc5wvqd6h7amkmwf66ljcgh",
"type": "tarball",
"url": "https://github.com/hercules-ci/gitignore.nix/archive/a20de23b925fd8264fd7fad6454652e142fd7f73.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"nixpkgs": {
"branch": "release-22.11",
"description": "Nix Packages collection",
"homepage": "",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "62ffdb32823e8d8caca00d0d75ac8e02212de76b",
"sha256": "0nfz26f2lc75av8ijvavq3ajq6cqwmlkn62fcy76222v9hyhqdcy",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/62ffdb32823e8d8caca00d0d75ac8e02212de76b.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
}
}

197
thesis/nix/sources.nix

@ -0,0 +1,197 @@
# This file has been generated by Niv.
let
#
# The fetchers. fetch_<type> fetches specs of type <type>.
#
fetch_file = pkgs: name: spec:
let
name' = sanitizeName name + "-src";
in
if spec.builtin or true then
builtins_fetchurl { inherit (spec) url sha256; name = name'; }
else
pkgs.fetchurl { inherit (spec) url sha256; name = name'; };
fetch_tarball = pkgs: name: spec:
let
name' = sanitizeName name + "-src";
in
if spec.builtin or true then
builtins_fetchTarball { name = name'; inherit (spec) url sha256; }
else
pkgs.fetchzip { name = name'; inherit (spec) url sha256; };
fetch_git = name: spec:
let
ref =
if spec ? ref then spec.ref else
if spec ? branch then "refs/heads/${spec.branch}" else
if spec ? tag then "refs/tags/${spec.tag}" else
abort "In git source '${name}': Please specify `ref`, `tag` or `branch`!";
submodules = if spec ? submodules then spec.submodules else false;
submoduleArg =
let
nixSupportsSubmodules = builtins.compareVersions builtins.nixVersion "2.4" >= 0;
emptyArgWithWarning =
if submodules == true
then
builtins.trace
(
"The niv input \"${name}\" uses submodules "
+ "but your nix's (${builtins.nixVersion}) builtins.fetchGit "
+ "does not support them"
)
{ }
else { };
in
if nixSupportsSubmodules
then { inherit submodules; }
else emptyArgWithWarning;
in
builtins.fetchGit
({ url = spec.repo; inherit (spec) rev; inherit ref; } // submoduleArg);
fetch_local = spec: spec.path;
fetch_builtin-tarball = name: throw
''[${name}] The niv type "builtin-tarball" is deprecated. You should instead use `builtin = true`.
$ niv modify ${name} -a type=tarball -a builtin=true'';
fetch_builtin-url = name: throw
''[${name}] The niv type "builtin-url" will soon be deprecated. You should instead use `builtin = true`.
$ niv modify ${name} -a type=file -a builtin=true'';
#
# Various helpers
#
# https://github.com/NixOS/nixpkgs/pull/83241/files#diff-c6f540a4f3bfa4b0e8b6bafd4cd54e8bR695
sanitizeName = name:
(
concatMapStrings (s: if builtins.isList s then "-" else s)
(
builtins.split "[^[:alnum:]+._?=-]+"
((x: builtins.elemAt (builtins.match "\\.*(.*)" x) 0) name)
)
);
# The set of packages used when specs are fetched using non-builtins.
mkPkgs = sources: system:
let
sourcesNixpkgs =
import (builtins_fetchTarball { inherit (sources.nixpkgs) url sha256; }) { inherit system; };
hasNixpkgsPath = builtins.any (x: x.prefix == "nixpkgs") builtins.nixPath;
hasThisAsNixpkgsPath = <nixpkgs> == ./.;
in
if builtins.hasAttr "nixpkgs" sources
then sourcesNixpkgs
else if hasNixpkgsPath && ! hasThisAsNixpkgsPath then
import <nixpkgs> { }
else
abort
''
Please specify either <nixpkgs> (through -I or NIX_PATH=nixpkgs=...) or
add a package called "nixpkgs" to your sources.json.
'';
# The actual fetching function.
fetch = pkgs: name: spec:
if ! builtins.hasAttr "type" spec then
abort "ERROR: niv spec ${name} does not have a 'type' attribute"
else if spec.type == "file" then fetch_file pkgs name spec
else if spec.type == "tarball" then fetch_tarball pkgs name spec
else if spec.type == "git" then fetch_git name spec
else if spec.type == "local" then fetch_local spec
else if spec.type == "builtin-tarball" then fetch_builtin-tarball name
else if spec.type == "builtin-url" then fetch_builtin-url name
else
abort "ERROR: niv spec ${name} has unknown type ${builtins.toJSON spec.type}";
# If the environment variable NIV_OVERRIDE_${name} is set, then use
# the path directly as opposed to the fetched source.
replace = name: drv:
let
saneName = stringAsChars (c: if isNull (builtins.match "[a-zA-Z0-9]" c) then "_" else c) name;
ersatz = builtins.getEnv "NIV_OVERRIDE_${saneName}";
in
if ersatz == "" then drv else
# this turns the string into an actual Nix path (for both absolute and
# relative paths)
if builtins.substring 0 1 ersatz == "/" then /. + ersatz else /. + builtins.getEnv "PWD" + "/${ersatz}";
# Ports of functions for older nix versions
# a Nix version of mapAttrs if the built-in doesn't exist
mapAttrs = builtins.mapAttrs or (
f: set: with builtins;
listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set))
);
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/lists.nix#L295
range = first: last: if first > last then [ ] else builtins.genList (n: first + n) (last - first + 1);
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L257
stringToCharacters = s: map (p: builtins.substring p 1 s) (range 0 (builtins.stringLength s - 1));
# https://github.com/NixOS/nixpkgs/blob/0258808f5744ca980b9a1f24fe0b1e6f0fecee9c/lib/strings.nix#L269
stringAsChars = f: s: concatStrings (map f (stringToCharacters s));
concatMapStrings = f: list: concatStrings (map f list);
concatStrings = builtins.concatStringsSep "";
# https://github.com/NixOS/nixpkgs/blob/8a9f58a375c401b96da862d969f66429def1d118/lib/attrsets.nix#L331
optionalAttrs = cond: as: if cond then as else { };
# fetchTarball version that is compatible between all the versions of Nix
builtins_fetchTarball = { url, name ? null, sha256 }@attrs:
let
inherit (builtins) lessThan nixVersion fetchTarball;
in
if lessThan nixVersion "1.12" then
fetchTarball ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; }))
else
fetchTarball attrs;
# fetchurl version that is compatible between all the versions of Nix
builtins_fetchurl = { url, name ? null, sha256 }@attrs:
let
inherit (builtins) lessThan nixVersion fetchurl;
in
if lessThan nixVersion "1.12" then
fetchurl ({ inherit url; } // (optionalAttrs (!isNull name) { inherit name; }))
else
fetchurl attrs;
# Create the final "sources" from the config
mkSources = config:
mapAttrs
(
name: spec:
if builtins.hasAttr "outPath" spec
then
abort
"The values in sources.json should not have an 'outPath' attribute"
else
spec // { outPath = replace name (fetch config.pkgs name spec); }
)
config.sources;
# The "config" used by the fetchers
mkConfig =
{ sourcesFile ? if builtins.pathExists ./sources.json then ./sources.json else null
, sources ? if isNull sourcesFile then { } else builtins.fromJSON (builtins.readFile sourcesFile)
, system ? builtins.currentSystem
, pkgs ? mkPkgs sources system
}: rec {
# The sources, i.e. the attribute set of spec name to spec
inherit sources;
# The "pkgs" (evaluated nixpkgs) to use for e.g. non-builtin fetchers
inherit pkgs;
};
in
mkSources (mkConfig { }) // { __functor = _: settings: mkSources (mkConfig settings); }

14
thesis/nix/tex-toolchain.nix

@ -0,0 +1,14 @@
{ pkgs }:
with pkgs;
texlive.combine {
inherit (texlive) scheme-small
biber
biblatex
csquotes
hyphenat
lastpage
latexmk
siunitx
todonotes
xpatch;
}

74
thesis/own.bib

@ -0,0 +1,74 @@
% This file was created with JabRef 2.9.2.
% Encoding: UTF-8
@INPROCEEDINGS{becher04:_feurig_hacken_mit_firew,
author = {Michael Becher and Maximillian Dornseif},
title = {{Feuriges Hacken - Spaß mit Firewire}},
booktitle = {21C3: Proceedings of the 21st Chaos Communication Congress},
date = {2004-12}
}
@CONFERENCE{bellard2005qfa,
author = {Fabrice Bellard},
title = {{QEMU, a fast and portable dynamic translator}},
booktitle = {Proceedings of the USENIX Annual Technical Conference, FREENIX Track},
date = {2005},
pages = {41--46}
}
@INPROCEEDINGS{boileau06,
author = {Adam Boileau},
title = {{Hit by a Bus: Physical Access Attacks with Firewire}},
booktitle = {RUXCON},
date = {2006}
}
@BOOK{frederick95,
author = {Brooks,Jr., Frederick P.},
title = {The mythical man-month (anniversary ed.)},
date = {1995},
publisher = {Addison-Wesley Longman Publishing Co., Inc.},
location = {Boston, MA, USA},
isbn = {0-201-83595-9}
}
@ARTICLE{collins97a,
author = {Robert R. Collins},
title = {{In-Circuit Emulation: How the Microprocessor Evolved Over Time}},
date = {1997-09},
journal = {Dr. Dobbs Journal}
}
@ARTICLE{feske07,
author = {Norman Feske},
title = {{A case study on the cost and benefit of dynamic RPC marshalling
for low-level system components}},
date = {2007},
volume = {41},
number = {4},
pages = {40--48},
issn = {0163-5980},
doi = {http://doi.acm.org/10.1145/1278901.1278908},
journal = {SIGOPS Operating Systems Review},
location = {New York, NY, USA},
publisher = {ACM}
}
@ONLINE{green04,
author = {Tom Green},
title = {{1394 Kernel Debugging Tips and Tricks}},
date = {2004},
url = {http://download.microsoft.com/download/1/8/f/18f8cee2-0b64-41f2-893d-a6f2295b40c8/DW04001_WINHEC2004.ppt},
note = {Slide presentation at the WinHEC 2004},
urldate = {2009-06-03}
}
@PATENT{patent:4819234,
author = {Huber, William S.},
title = {Operating system debugger},
number = {4819234},
date = {1989-04},
location = {Needham, MA},
url = {http://www.freepatentsonline.com/4819234.html}
}

3
thesis/preamble/color.tex

@ -0,0 +1,3 @@
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{mygray}{rgb}{0.5,0.5,0.5}
\definecolor{mymauve}{rgb}{0.58,0,0.82}

6
thesis/preamble/newcommands.tex

@ -0,0 +1,6 @@
% some common commands
\newcommand{\drops}{\texorpdfstring{\textsc{Drops}\xspace}{DROPS}}
\newcommand{\LLinux}{\texorpdfstring{L$\!^4$Linux}{L4Linux}}
\newcommand{\NOVA}{NOVA\xspace}
\newcommand{\QEMU}{QEMU\xspace}

39
thesis/preamble/packages.tex

@ -0,0 +1,39 @@
% You can choose style "numeric" instead which is common in many papers.
% Without "maxbibnames=99" the bibliography entries only contain "First Name et al."
\usepackage[backend=biber,style=alphabetic,alldates=long,maxbibnames=99]{biblatex}
% FONT SETTINGS & ENCODING
% By default this build setup uses lualatex which supports special characters
% (öäüß<>) out of the box. If you ever want to switch to pdflatex but also
% keep the support for lualatex, add these three packages:
% \usepackage[T1]{fontenc}
% \usepackage[utf8]{luainputenc}
% \usepackage{lmodern}
\usepackage[nospace]{varioref} % nice refs
\usepackage{csquotes}
\usepackage{graphicx} % graphics
\usepackage{caption} % manipulate fugures
\usepackage{subcaption} % allow for subfigures
% Also checkout "minted" instead of "listings" - looks much nicer and supports
% more languages but requires "pygmentize" to be available on the command line
\usepackage{listings} % nice source code listings
\usepackage{xcolor}
\usepackage{booktabs} % nice tables
\usepackage{microtype} % better looking text borders
\usepackage{siunitx} % unified way of setting values with units
\usepackage{array}
\usepackage{fancybox} % provide nice boxes
\usepackage{fancyvrb} % algorithm-boxes
\usepackage{pdfpages}
\usepackage{hyphenat}
\usepackage{todonotes}
\usepackage{xspace}
\usepackage{setspace}
\usepackage{fancyhdr} % enables cool header line and footer line manipulations
\usepackage{lastpage} % enables the usage of the label "LastPage" to get the
% number of pages with \pageref{LastPage}
% use this one last
% (redefines some macros for compatibility with KOMAScript)
\usepackage{scrhack}

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save