-
-
Notifications
You must be signed in to change notification settings - Fork 133
Expand file tree
/
Copy pathmain-minted-german.tex
More file actions
2036 lines (1655 loc) · 82.1 KB
/
Copy pathmain-minted-german.tex
File metadata and controls
2036 lines (1655 loc) · 82.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
% !TeX spellcheck = de-DE
% LTeX: language=de-DE
% !TeX encoding = utf8
% !TeX program = lualatex
% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape]
% !BIB program = biber
% -*- coding:utf-8 mod:LaTeX -*-
% The following package allows \\ at the title page
% For more information see https://github.com/latextemplates/scientific-thesis-cover/issues/4
\RequirePackage{kvoptions-patch}
\documentclass[
% fontsize=11pt is the standard
% ()Aus scrguide.pdf - der Dokumentation von KOMA-Script)
% Nach DUDEN steht in Gliederungen, in denen ausschließlich arabische Ziffern für die Nummerierung
% verwendet werden, am Ende der Gliederungsnummern kein abschließender Punkt
% (siehe [DUD96, R3]). Wird hingegen innerhalb der Gliederung auch mit römischen Zahlen
% oder Groß- oder Kleinbuchstaben gearbeitet, so steht am Ende aller Gliederungsnummern ein
% abschließender Punkt (siehe [DUD96, R4])
numbers=autoendperiod,
ngerman, % Neue deutsche Rechtschreibung; der Parameter wird an andere Pakete weiter gegeben
a4paper, % KOMAScript allows for both paper=a4 and (standard) a4paper - https://tex.stackexchange.com/a/61044/9075
twoside, % We are optimizing for both screen and two-sided printing. So the page numbers will jump, but the content is configured to stay in the middle (by using the geometry package)
bibliography=totoc,
% idxtotoc, % Index ins Inhaltsverzeichnis
% liststotoc, % List of * ins Inhaltsverzeichnis, mit liststotocnumbered werden die Abbildungsverzeichnisse nummeriert
headsepline,
cleardoublepage=empty,
parskip=half,
% draft % um zu sehen, wo noch nachgebessert werden muss - wichtig, da Bindungskorrektur mit drin
draft=false
]{scrbook}
\usepackage{scrlayer-scrpage}
\usepackage{iftex}
\usepackage{ifplatform}
% backticks (`) werden als solches in verbatim-Umgebungen dargestellt
% Details unter:
% - https://tex.stackexchange.com/a/341057/9075
% - https://tex.stackexchange.com/a/47451/9075
% - https://tex.stackexchange.com/a/166791/9075
\usepackage{upquote}
% Setze Deutsch als Sprache
\usepackage[english,main=ngerman]{babel}
% Neue deutsche Trennmuster
\babelprovide[hyphenrules=ngerman-x-latest]{german}
%
% Hinweis von http://tex.stackexchange.com/a/321066/9075
% Ermögliche die Benutzung von "= als Trennstriche
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
% Ein "abstract" ist eine "Kurzfassung", keine "Zusammenfassung"
\addto\captionsngerman{%
\renewcommand\abstractname{Kurzfassung}%
}
% Links verhalten sich so, wie sie sollen
% Zeilenumbrüche bei URLs auch bei Bindestrichen erlauben, auch wenn es verwirrend sein könnte: Gehört der Bindestrich zur URL oder ist es ein Trennstrich?
% Siehe https://tex.stackexchange.com/a/3034/9075.
\usepackage[hyphens]{url}
% \urlstyle{same}
%
% Hinweis von http://tex.stackexchange.com/a/10419/9075.
\makeatletter
\g@addto@macro{\UrlBreaks}{\UrlOrds}
\makeatother
%math stuff
\usepackage[
centertags, % (default) center tags vertically
% tbtags, % 'Top-or-bottom tags': For a split equation, place equation numbers level with the last (resp. first) line, if numbers are on the right (resp. left).
sumlimits, % (default) Place the subscripts and superscripts of summation symbols above and below
% nosumlimits, % Always place the subscripts and superscripts of summation-type symbols to the side, even in displayed equations.
intlimits, % Like sumlimits, but for integral symbols.
% nointlimits, % (default) Opposite of intlimits.
namelimits, % (default) Like sumlimits, but for certain 'operator names' such as det, inf, lim, max, min, that traditionally have subscripts placed underneath when they occur in a displayed equation.
% nonamelimits, % Opposite of namelimits.
% leqno, % Place equation numbers on the left.
% reqno, % Place equation numbers on the right.
fleqn, % Position equations at a fixed indent from the left margin rather than centered in the text column.
]{amsmath}
\SetMathAlphabet{\mathcal}{normal}{OMS}{amsa}{m}{n} %% AMS font for mathcal
% Provide \mathbb (blackboard bold, e.g. for number sets) when the active math
% font does not already define it. The thesis math fonts (mathdesign / newtxmath /
% unicode-math) supply it -- and amssymb clashes with mathdesign -- so only load
% amssymb as a fallback when \mathbb is still missing.
\makeatletter
\@ifundefined{mathbb}{\usepackage{amssymb}}{}
\makeatother
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/mh/doc/mathtools.pdf
% Extends amsmath and fixes some bugs
\usepackage[fixamsmath,disallowspaces]{mathtools}
%%% Doc: http://www.ctan.org/info?id=fixmath
% LaTeX's default style of typesetting mathematics does not comply
% with the International Standards ISO31-0:1992 to ISO31-13:1992
% which indicate that uppercase Greek letters always be typeset
% upright, as opposed to italic (even though they usually
% represent variables) and allow for typesetting of variables in a
% boldface italic style (even though the required fonts are
% available). This package ensures that uppercase Greek be typeset
% in italic style, that upright $\Delta$ and $\Omega$ symbols are
% available through the commands \upDelta and \upOmega; and
% provides a new math alphabet \mathbold for boldface
% italic letters, including Greek.
\usepackage{fixmath}
%for theorems, replacement for amsthm
\usepackage[amsmath,hyperref]{ntheorem}
\theorempreskipamount 2ex plus1ex minus0.5ex
\theorempostskipamount 2ex plus1ex minus0.5ex
\theoremstyle{break}
\newtheorem{definition}{Definition}[chapter]
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/onlyamsmath/onlyamsmath.dvi
% Warnt bei Benutzung von Befehlen die mit amsmath inkompatibel sind.
% Probably not needed.
% \usepackage[
% all,
% warning
% ]{onlyamsmath}
%% !!! If you change the font, be sure that words such as "workflow" can
%% !!! still be copied from the PDF. If this is not the case, you have
%% !!! to use glyphtounicode. See comment at cmap package.
%%
%% Background: "workflow" contains "fl" which is a ligature, which in turn
%% is rendered as one character in the PDF and needs to be split
%% whily copying.
\ifluatex
\usepackage[no-math]{fontspec}
\usepackage{unicode-math}
% See https://tug.org/FontCatalogue/texgyretermes/ for more information
\setmainfont{texgyretermes}[
Extension = .otf,
UprightFont = *-regular,
BoldFont = *-bold,
ItalicFont = *-italic,
BoldItalicFont = *-bolditalic,
Ligatures=TeX
]
% See https://tug.org/FontCatalogue/texgyreheros/ for more information
\setsansfont[Scale=.9]{TeX Gyre Heros Regular}
% shapely l, upright quotes
% Normal scaling is too large --> thus, we use ",Scale=.9"
\ifwindows
\setmonofont[StylisticSet={1,3},Scale=.9]{Inconsolata}
\else
\setmonofont[StylisticSet={1,3},Scale=.9]{Inconsolatazi4}
\fi
% Enable proper ligatures
% For more information see https://ctan.org/pkg/selnolig
% language "english" or "ngerman" is passed to selnolig by the document class
\usepackage{selnolig}
\else
\RequirePackage{newtxtext}
\RequirePackage{newtxmath}
\RequirePackage[zerostyle=b,scaled=.9]{newtxtt}
% Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075.
\usepackage[T1]{fontenc}
\fi
% Even more symbols
%\usepackage{stmaryrd} % for \ovee, \owedge, \otimes
%\usepackage{marvosym} % for \Writinghand %patched to not redefine \Rightarrow
%\usepackage{mathrsfs} % nice cursive letters via \mathscr{}
%\usepackage{calrsfs} % slightly bolder \mathcal{} letters - does not look that good.
% Fallback font - if the subsequent font packages do not define a font (e.g., monospaced)
% This is the modern package for "Computer Modern".
% In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex)
%\usepackage[%
% rm={oldstyle=false,proportional=true},%
% sf={oldstyle=false,proportional=true},%
% tt={oldstyle=false,proportional=true,variable=true},%
% qt=false%
%]{cfr-lm}
% Headings are typeset in Helvetica (which is similar to Arial)
% Font for the headings - overrides lmodern
%\usepackage[scaled=.95]{helvet}
% A calligraphic font would work, but is not required
%\usepackage{mathrsfs} % \mathscr{ABC}
% Font for the main text
% Font for the body text - overrides lmodern
% Linux Libertine, see http://www.linuxlibertine.org/
% Package parameter [osf] = lowercase (old-style) figures
% rm = libertine in the body text, Linux Biolinum NOT as sans-serif font, but keep helvet (from above)
%\usepackage[rm]{libertine}
% Alternative Font: Palantino. It is recommended by Prof. Ludewig for German texts
% Package parameter [osf] = lowercase (old-style) figures
% Please only in German texts
%\usepackage{mathpazo} %ftp://ftp.dante.de/tex-archive/fonts/mathpazo/ - tip from DE-TEX-FAQ 8.2.1
% The euro sign
% For Palatino (mathpazo.sty): proper euro sign
% Alternative: \usepackage{eurosym}
% \newcommand{\EUR}{\ppleuro}
% Font for program code - overrides lmodern
% If commented out, the default font lmodern is used
% For typewriter-style keywords in the listings - does not work on old installations, since some font shapes (<>=) are missing
%\usepackage[scaled=.92]{luximono}
%\usepackage{courier}
% BeraMono as typewriter font, tip from http://tex.stackexchange.com/a/71346/9075
%\usepackage[scaled=0.83]{beramono}
\usepackage{setspace}
% Alternative package: https://ctan.org/pkg/leading
% Check and cross symbols
\usepackage{pifont}
\newcommand{\dingcheck}{\ding{51}}
\newcommand{\dingcross}{\ding{55}}
%for scaling see http://tex.stackexchange.com/a/130236/9075
% Even more symbols
%\usepackage{stmaryrd} % for \ovee, \owedge, \otimes
%\usepackage{marvosym} % for \Writinghand %patched to not redefine \Rightarrow
%\usepackage{mathrsfs} % nice cursive letters via \mathscr{}
%\usepackage{calrsfs} %\mathcal{} ein bisserl dickeren buchstaben erzeugen - sieht net so gut aus.
\automark[section]{chapter}
\setkomafont{pageheadfoot}{\normalfont\sffamily}
\setkomafont{pagenumber}{\normalfont\sffamily}
\ihead[]{}
\chead[]{}
\ohead[]{\headmark}
\cfoot[]{}
\ofoot[\usekomafont{pagenumber}\thepage]{\usekomafont{pagenumber}\thepage}
\ifoot[]{}
% Optischer Randausgleich und Grauwertkorrektur. Siehe See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/
\usepackage[
babel=true,
expansion=alltext,
protrusion=alltext-nott,
final
]{microtype}
% \texttt{test -- test} - diese Einstellung behält "--" bei (und konveriert sie nicht zu einem Bindestrich)
\DisableLigatures{encoding = T1, family = tt* }
% tracking=true muss als Parameter des microtype-packages mitgegeben werden
% Deaktiviert, da dies bei Algorithmen seltsam aussieht
%\DeclareMicrotypeSet*[tracking]{my}{ font = */*/*/sc/* }%
% Hier wird festgelegt, dass alle Passagen in Kapitälchen automatisch leicht gesperrt werden.
% Quelle: http://homepage.ruhr-uni-bochum.de/Georg.Verweyen/pakete.html
% Deaktiviert, da sonst "BPEL", "BPMN" usw. wirklich komisch aussehen.
% Macht wohl nur bei geisteswissenschaftlichen Arbeiten Sinn.
%\SetTracking{ encoding = *, shape = sc }{ 45 }
% Avoid orphans and widows (a single line of a paragraph left at the bottom or top
% of a page). Using a package feels less hacky than tuning \clubpenalty and
% \widowpenalty manually.
\usepackage[all,defaultlines=3]{nowidow}
% Avoid a widow line being split off a displayed equation.
\displaywidowpenalty=10000
% Fuer deutsche Texte: Weniger Silbentrennung durch mehr frei Raum zwischen den Worten
\setlength{\emergencystretch}{3em}
\usepackage{graphicx}
% Base folder, so there is no need to repeat this over and over again.
\graphicspath{ {figures/} }
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/pdfpages/pdfpages.pdf
\usepackage{pdfpages} % Include pages from external PDF documents in LaTeX documents
% Diagonal lines in a table - http://tex.stackexchange.com/questions/17745/diagonal-lines-in-table-cell
% Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox
\usepackage{diagbox}
\ifluatex
\usepackage{spelling}
\spellingoutput{off}
\fi
\usepackage[dvipsnames, table]{xcolor}
% See https://github.com/gpoore/minted
\usepackage[newfloat]{minted}
\setminted{
% Line numbers not flowing out of the margin
numbersep=5pt,
xleftmargin=12pt,
%
% Better listing breaking
breakafter=-/\{,
breakbefore=\\
%
% Alternative: Rely on pygment's tokenizer. Does not work well with LaTeX and comments
% breakbytoken=true,
% breakbytokenanywhere=true
}
%\usemintedstyle{bw} %black and white style
%\usemintedstyle{vs} %visual studio
\usemintedstyle{friendly_grayscale}
%\usemintedstyle{friendly}
%\usemintedstyle{eclipse} %http://www.jevon.org/wiki/Eclipse_Pygments_Style
%\usemintedstyle{autumn}
%\usemintedstyle{rrt}
%\usemintedstyle{borland}
% We need to load caption to have a bold font on the label
% The other parameters mimic the layout of the LNCS class
\usepackage[labelfont=bf,font=small,skip=4pt]{caption}
\SetupFloatingEnvironment{listing}{name=List.,within=none}
% When using both minted and listings
% Compatibility of packages minted and listings with respect to the numbering of "List." caption
% Source: https://tex.stackexchange.com/a/269510/9075
% \AtBeginEnvironment{listing}{\setcounter{listing}{\value{lstlisting}}}
% \AtEndEnvironment{listing}{\stepcounter{lstlisting}}
% Intermediate solution for hyperlinked refs. See https://tex.stackexchange.com/q/132420/9075 for more information.
\newcommand{\labelline}[1]{\label[line]{#1}\hypertarget{#1}{}}
\newcommand{\refline}[1]{\hyperlink{#1}{\FancyVerbLineautorefname~\ref*{#1}}}
% For easy quotations: \enquote{text}
% This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command
\usepackage[autostyle=true]{csquotes}
% Enable using "`quote"' - see https://tex.stackexchange.com/a/150954/9075
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
% bessere Abstaende innerhalb der Tabelle (Layout))
% -------------------------------------------------
% \toprule, \midrule, \bottomrule
% Doc: https://texdoc.org/serve/booktabs/0
\usepackage{booktabs}
% Extended enumerate, such as \begin{compactenum}
\usepackage{paralist}
\usepackage[
backend = biber, %biber does not work with 64x versions alternative: bibtex8; minalphanames only works with biber backend
sortcites = true,
bibstyle = alphabetic,
citestyle = alphabetic,
giveninits = true,
useprefix = false, %"von, van, etc." will be printed, too. See below.
minnames = 1,
minalphanames = 3,
maxalphanames = 4,
maxbibnames = 99,
maxcitenames = 2,
natbib = true,
eprint = true,
url = true,
doi = true, %source: http://tex.stackexchange.com/a/23118/9075
isbn = true, %source: http://tex.stackexchange.com/a/23118/9075
backref = true]{biblatex}
% enable more breaks at URLs. See https://tex.stackexchange.com/a/134281.
\setcounter{biburllcpenalty}{7000}
\setcounter{biburlucpenalty}{8000}
\bibliography{bibliography}
%\addbibresource[datatype=bibtex]{\bibliography{bibliography}}
% Do not put "vd" in the label, but put it at "\citeauthor"
% Source: http://tex.stackexchange.com/a/30277/9075
\makeatletter
\AtBeginDocument{\toggletrue{blx@useprefix}}
\AtBeginBibliography{\togglefalse{blx@useprefix}}
\makeatother
% Thin spaces between initials
% http://tex.stackexchange.com/a/11083/9075
\renewrobustcmd*{\bibinitdelim}{\,}
% Keep first and last name together in the bibliography
% http://tex.stackexchange.com/a/196192/9075
\renewcommand*\bibnamedelimc{\addnbspace}
\renewcommand*\bibnamedelimd{\addnbspace}
% Replace last "and" by comma in bibliography
% See http://tex.stackexchange.com/a/41532/9075
\AtBeginBibliography{%
\renewcommand*{\finalnamedelim}{\addcomma\space}%
}
% enable hyperlinked author names when using \citeauthor
% source: http://tex.stackexchange.com/a/75916/9075
\DeclareCiteCommand{\citeauthor}
{
\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}
}
{
\ifciteindex
{\indexnames{labelname}}
{}%
\printtext[bibhyperref]{\printnames{labelname}}
}
{\multicitedelim}
{\usebibmacro{postnote}}
% Embed the bibliography data into the PDF so that readers can extract it
% (e.g., with JabRef via "Import into library" on the PDF)
\usepackage{embedfile}
\embedfile[mimetype=application/x-bibtex,desc=BibTeX entries of all references]{bibliography.bib}
% Farbige Tabellen
% ----------------
% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen
%
% Erweiterte Funktionen innerhalb von Tabellen
% --------------------------------------------
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty
\usepackage{multirow} % Mehrfachspalten
%
%%% Doc: Documentation inside dtx Package
\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt
% Etwas mehr Luft zwischen den Tabellenzeilen (\extrarowheight wird von array bereitgestellt, das dcolumn lädt)
\setlength{\extrarowheight}{1pt}
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf
%\usepackage{supertabular}
% tikz / pgfplots stack used by the "Figures with tikz" and "Plots with pgfplots"
% examples. Loading pgfplots pulls in tikz.
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
% longtable: tables that automatically break across page boundaries.
\usepackage{longtable}
%%% Footnotes/Endnotes ===================================================
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/footmisc/footmisc.pdf
%
\usepackage[
bottom, % Footnotes appear always on bottom. This is necessary specially when floats are used
stable, % Make footnotes stable in section titles
% perpage, % Reset on each page
% para, % Place footnotes side by side of in one paragraph.
% side, % Place footnotes in the margin
ragged, % Use RaggedRight
% norule, % Suppress rule above footnotes
multiple, % Rearrange multiple footnotes intelligent in the text.
% symbol, % Use symbols instead of numbers
]{footmisc}
\counterwithout{footnote}{chapter} % Continuous numbering of footnotes across chapters
\interfootnotelinepenalty=10000 % Prevents footnotes from continuing onto the facing page
% Put footnotes below floats
% Source: https://tex.stackexchange.com/a/32993/9075
\usepackage{stfloats}
\fnbelowfloat
% Extended support for footnotes
%
%\usepackage{dblfnote} % Two-column footnotes
%
% No superscript numbers in the footnote (KOMA-Script-specific):
%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}}
%
% Increase the spacing between footnotes:
%\setlength{\footnotesep}{.85\baselineskip}
%
% Following command disables the separating line of the footnote
%\renewcommand{\footnoterule}{}
%
%\addtolength{\skip\footins}{\baselineskip} % Spacing text <-> footnote
% Always place footnotes at the very bottom on a \raggedbottom page
% fnpos comes from the yafoot package
%\usepackage{fnpos}
%\makeFNbelow
%\makeFNbottom
% TODO (and comment) configuration
%
% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs
% - \todofix - "important" TODOs
%
% - \textcomment - highlights text and has a hover comment
% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others)
%
% - \missingfigure
%
% - \textmarker
% - \modified
% - \change - adresses a review comment
% Enable nice comments
\usepackage{pdfcomment}
\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}}
% Small PDF comment
% 1st parameter: comment
\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}}
% Disabled variant - for the final PDF
%\newcommand{\sidecomment}[1]{}
\newcommand{\todo}[1]{TODO!\sidecomment{#1}}
% Changes
%
% 1st parameter: review comment
% 2nd parameter: new text
\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}}
% Disabled variant - for the final PDF
%\newcommand{\change}[2]{#2}
% Define default commands
\makeatletter
\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{}
\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{}
\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{}
\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{}
\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{}
\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{}
\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{}
\makeatother
% Textmarker (Textfarbe rot)
\newcommand{\textmarker}[1]{{\color{red} #1}\xspace}
% Modified (Text blau)
\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace}
\usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx}
\addto\extrasgerman{\sisetup{locale = DE}}
% See http://tex.stackexchange.com/a/83051/9075
% Normally, doesn't work with hyperref, but cleveref fixes that
\usepackage[ngerman]{varioref}
% Enable that parameters of \cref{}, \ref{}, \cite{}, ... are linked so that a reader can click on the number an jump to the target in the document
\usepackage{hyperref}
% Enable hyperref without colors and without bookmarks
\hypersetup{
hidelinks,
colorlinks=true, % Links erhalten Farben statt Kaeten
raiselinks=true, % calculate real height of the link
allcolors=black,
pdfstartview=Fit,
breaklinks=true, % Links ueberstehen Zeilenumbruch
hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075
}
% Enable correct jumping to figures when referencing
\usepackage[all]{hypcap}
% Hint by https://tex.stackexchange.com/a/193370/9075 to suppress strange outputs of the babel package
% Example strange output: Package babel Info: Redefining ngerman shorthand "|
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@decl@short}{\bbl@info}{\@gobble}{}{}
\makeatother
%%%
% Allows rotating figures by 90 degrees
% Alternative package: rotating. However, that only rotates the image, whereas lscape also rotates the PDF page.
% The lscape package does not rotate the page either
\usepackage{pdflscape}
% Align floats to the top on float-only pages instead of vertically centering them.
% See http://tex.stackexchange.com/a/28565/9075
\makeatletter
\setlength{\@fptop}{0pt}
\setlength{\@fpbot}{0pt plus 1fil}
\makeatother
\usepackage[caption=false,font=footnotesize]{subfig}
% Alternative for making subfigures:
% Part of the caption package. See http://www.ctan.org/pkg/caption
% Replaces the subfigure and subfig packages - see https://tex.stackexchange.com/a/13778/9075
%
% (subfigure is outdated. subfig is maintained, but subcaption is better)
% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure
%\usepackage[hypcap=true]{subcaption}
\usepackage{mindflow}
% https://ctan.org/pkg/algorithms
% Consists of two environments: algorithm and algorithmic
% Although oudated, it defines the "algorithm" float enviornment
% TODO: Define floating environment "algorithm" in other ways
\usepackage[chapter]{algorithm}
% https://ctan.org/pkg/algpseudocodex
% Successor of algorithmicx; more modern than https://ctan.org/pkg/algorithms
\usepackage{algpseudocodex}
\floatname{algorithm}{Algorithmus}
\renewcommand{\listalgorithmname}{Algorithmenverzeichnis}
\newcommand{\commentchar}{\ensuremath{/\mkern-4mu/}}
\algrenewcommand{\algorithmiccomment}[1]{\hfill $\commentchar$ #1}
% cleveref für cref statt autoref, da cleveref auch bei Definitionen funktioniert
\usepackage[capitalise,nameinlink,noabbrev]{cleveref}
\crefname{table}{Tabelle}{Tabellen}
\Crefname{table}{Tabelle}{Tabellen}
\crefname{figure}{Abbildung}{Abbildungen}
\Crefname{figure}{Abbildung}{Abbildungen}
\crefname{equation}{Gleichung}{Gleichungen}
\Crefname{equation}{Gleichung}{Gleichungen}
\crefname{theorem}{Theorem}{Theoreme}
\Crefname{theorem}{Theorem}{Theoreme}
\crefname{listing}{Listing}{Listings}
\Crefname{listing}{Listing}{Listings}
\crefname{section}{Abschnitt}{Abschnitte}
\Crefname{section}{Abschnitt}{Abschnitte}
\crefname{paragraph}{Abschnitt}{Abschnitte}
\Crefname{paragraph}{Abschnitt}{Abschnitte}
\crefname{subparagraph}{Abschnitt}{Abschnitte}
\Crefname{subparagraph}{Abschnitt}{Abschnitte}
% Intermediate solution for hyperlinked refs. See https://tex.stackexchange.com/q/132420/9075 for more information.
\newcommand{\llabel}[1]{\label[line]{#1}\hypertarget{#1}{}}
\newcommand{\lref}[1]{\hyperlink{#1}{\FancyVerbLineautorefname~\ref*{#1}}}
\usepackage{lipsum}
% For demonstration purposes only
% These packages can be removed when all examples have been deleted
\usepackage[math]{blindtext}
\usepackage{mwe}
\usepackage[realmainfile]{currfile}
\usepackage{tcolorbox}
\tcbuselibrary{minted}
%introduce \powerset - hint by http://matheplanet.com/matheplanet/nuke/html/viewtopic.php?topic=136492&post_id=997377
\DeclareFontFamily{U}{MnSymbolC}{}
\DeclareSymbolFont{MnSyC}{U}{MnSymbolC}{m}{n}
\DeclareFontShape{U}{MnSymbolC}{m}{n}{
<-6> MnSymbolC5
<6-7> MnSymbolC6
<7-8> MnSymbolC7
<8-9> MnSymbolC8
<9-10> MnSymbolC9
<10-12> MnSymbolC10
<12-> MnSymbolC12%
}{}
\DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180}
\addto\captionsngerman{%
\renewcommand*{\glossaryname}{Bedeutung}%
}
\usepackage[
translate=babel,
abbreviations, % create "abbreviations" glossary
nomain, % don't create "main" glossary
stylemods=longbooktabs % do the adjustments for the longbooktabs styles
]{glossaries-extra}
\setglossarystyle{long3col-booktabs}
% Hint by https://tex.stackexchange.com/a/463188/9075
% \usepackage{glossary-longextra}
% Following is required if the abbreviation list should be sorted automatically (\printglossary / \printglossaries)
% Not required, if we printed the entries in-order (using \printunsrtglossaries)
% Required to have the German chapter name % Source: https://tex.stackexchange.com/a/426392/9075
\makeglossaries
\input{abbreviations}
\usepackage{xspace}
% Macht \xspace und \enquote kompatibel
\makeatletter
\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} }
\makeatother
% Enable hyphenation at other places as the dash.
% Example: applicaiton\hydash specific
\makeatletter
\newcommand{\hydash}{\penalty\@M-\hskip\z@skip}
% Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx
\makeatother
\ifluatex
% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype
% See ADR-0008 for alternatives
\usepackage{autotype}
\fi
% correct bad hyphenation here
\hyphenation{
Spe-zi-fi-ka-tion
In-te-gra-tion
An-for-de-rung An-for-de-run-gen
Be-nut-zer-ober-flä-che
Mes-sung-en
aus-zu-tau-schen
Lauf-zeit-in-for-ma-tionen
% May not be hypphenated
AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
}
% lccaps provides \textlcc (lowercase caps), used by \initialism in commands.tex.
% Doc: https://ctan.org/pkg/lccaps
\usepackage{lccaps}
\input{commands}
% Package URL: https://ctan.org/pkg/scientific-thesis-cover
\usepackage[
title={Is Oil the future?},
author={Bernhard Diener},
type=bachelor,
institute=iaas, % or other institute names - or just a plain string using {Demo\\Demo...}
course={Medieninformatik},
examiner={Prof.\ Dr.\ Uwe Fessor},
supervisor={Dipl.-Inf.\ Roman Tiker,\\Dipl.-Inf.\ Laura Stern,\\Otto Normalverbraucher,\ M.Sc.},
startdate={July 5, 2018},
enddate={January 5, 2019},
language=english
]{scientific-thesis-cover}
\ifpdftex
% Enable copy and paste of text from the PDF
% Only required for pdflatex. It "just works" in the case of lualatex.
% Alternative: cmap or mmap package
% mmap enables mathematical symbols but does not work with the newtx font set
% See: https://tex.stackexchange.com/a/64457/9075
% Other solutions outlined at http://goemonx.blogspot.de/2012/01/pdflatex-ligaturen-und-copynpaste.html and http://tex.stackexchange.com/questions/4397/make-ligatures-in-linux-libertine-copyable-and-searchable
% Troubleshooting outlined at https://tex.stackexchange.com/a/100618/9075
%
% According to https://tex.stackexchange.com/q/451235/9075 this is the way to go
\input{glyphtounicode}
\pdfgentounicode=1
\fi
% DM: line-breaking-description env vom daniel w.
% credit goes to daniel w. :-)
%% --- Descriptions with line breaks in labels ---------------------------------
\usepackage{calc}
\newcommand*\Descriptionlabel[1]{%
\raisebox{0pt}[1ex][0pt]{
\makebox[\labelwidth][1]{
\parbox[t]{\labelwidth}{
\hspace{0pt}\textbf{#1:}}}}
}
\newcommand*\Descriptionlabelx[1]{%
\parbox[t]{\textwidth}{
\textbf{#1}\\\mbox{}}
}
\newenvironment{Description}{
\begin{list}{}{
\let\makelabel\Descriptionlabelx
\setlength\labelwidth{1em}
\setlength\leftmargin{\labelwidth+\labelsep}
}
}
{
\end{list}
}
% globally change line spacing of lists
% paralist has suspended development since 10 years.
% enumitem has been updated 2011-09-28
\usepackage[inline]{enumitem}
\setlist{partopsep=0pt,itemsep=1pt}
%------------------------------------------------------------------------
% fquote Fancy Quotation environment
% supports empty/optional author
% Use \sloppy to make right-margin easier?
% Set picture units to be relative to font size (em)?
% Use begingroup to rest units afterwards?
\usepackage{xifthen}% provides \isempty test
\definecolor{quotemark}{gray}{0.7}
%fquote environment with author as optional parameter
%usage: \begin{fquote}quote\end{fquote} or \begin{fquote}[Author]quote\end{fquote}
\newenvironment{fquote}[1][]{%
\newcommand{\fqauthor}{\relax}
\ifthenelse{\isempty{#1}}
{}% do nothing
{\renewcommand{\fqauthor}{\hfill\textsc{--- #1}}}
\vspace{1em}
\begin{list}{}{%
\setlength{\leftmargin}{0.2\textwidth}
\setlength{\rightmargin}{0.2\textwidth}
}
\item[]%
\begin{picture}(0,0)(0,0)
\put(-15,-5){\makebox(0,0){%
\scalebox{4.5}{\textcolor{quotemark}{\bfseries``}}}%
}
\end{picture}\em\ignorespaces%
}{%
\newline%
\makebox[0pt][l]{\hspace{0.6\textwidth}%
\begin{picture}(0,0)(0,0)
\put(15,10){\makebox(0,0){%
\scalebox{4.5}{\textcolor{quotemark}{\rmfamily\bfseries''}}}%
}
\end{picture}}%
\fqauthor
\end{list}
}
%German fquote
% 1 parameter for the author's name, may be empty ("{}")
% guaranteed German quotes (works with lualatex and babel package)
% usage: \begin{gfquote}{Author}quote\end{gfquote}
\newenvironment{gfquote}[1]{%
\newcommand{\fqauthor}{\relax}
\ifthenelse{\isempty{#1}}
{}% do nothing
{\renewcommand{\fqauthor}{\hfill\textsc{\textemdash #1}}}
\vspace{1em}
\begin{list}{}{%
\setlength{\leftmargin}{0.2\textwidth}
\setlength{\rightmargin}{0.2\textwidth}
}
\item[]%
\begin{picture}(0,0)(0,0)
\put(-15,-5){\makebox(0,0){%
\scalebox{4.5}{\textcolor{quotemark}{\bfseries \glqq}}}%
}
\end{picture}\em\ignorespaces%
}{%
\newline%
\makebox[0pt][l]{\hspace{0.6\textwidth}%
\begin{picture}(0,0)(0,0)
\put(15,10){\makebox(0,0){%
\scalebox{4.5}{\textcolor{quotemark}{\rmfamily\bfseries \grqq}}}%
}
\end{picture}}%
\fqauthor
\end{list}
}
% fix incompatibilities between KOMA and other packages, mainly float.
% should be loaded at the very end - see http://tex.stackexchange.com/a/156256/9075
\usepackage{scrhack}
\begin{document}
\raggedbottom % Variable Seitenhoehen zulassen
\ifluatex
% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype
% See ADR-0008 for alternatives
\autotypelangoptions{ngerman}{ligbreak}
\fi
\pagenumbering{arabic}
\Titelblatt
\pagestyle{plain.scrheadings}
\renewcommand*{\chapterpagestyle}{plain.scrheadings}
% Kurzfassung / abstract
% auch im Stil vom Inhaltsverzeichnis
\section*{Kurzfassung}
% Silbentrennung auf Englisch
\begin{otherlanguage}{american}
\emph{Write an abstract for your work.
Replace each of the points below with one sentence (two if you must) and you have your abstract.
Write it when you finished your entire report.
\footnote{https://www.easterbrook.ca/steve/2010/01/how-to-write-a-scientific-abstract-in-six-easy-steps/}}
\emph{Introduction.}
In one sentence, what’s the topic?
Phrase it in a way that your reader will understand.
If you’re writing a PhD thesis, your readers are the examiners – assume they are familiar with the general field of research, so you need to tell them specifically what topic your thesis addresses.
Same advice works for scientific papers – the readers are the peer reviewers, and eventually others in your field interested in your research, so again they know the background work, but want to know specifically what topic your paper covers.
\emph{State the problem you tackle.}
What’s the key research question?
Again, in one sentence.
(Note: For a more general essay, I’d adjust this slightly to state the central question that you want to address)
Remember, your first sentence introduced the overall topic, so now you can build on that, and focus on one key question within that topic.
If you can’t summarize your thesis/paper/essay in one key question, then you don’t yet understand what you’re trying to write about.
Keep working at this step until you have a single, concise (and understandable) question.
\emph{Summarize (in one sentence) why nobody else has adequately answered the research question yet.}
For a PhD thesis, you’ll have an entire chapter, covering what’s been done previously in the literature.
Here you have to boil that down to one sentence.
But remember, the trick is not to try and cover all the various ways in which people have tried and failed; the trick is to explain that there’s this one particular approach that nobody else tried yet (hint: it’s the thing that your research does).
But here you’re phrasing it in such a way that it’s clear it’s a gap in the literature.
So use a phrase such as “previous work has failed to address…”.
(if you’re writing a more general essay, you still need to summarize the source material you’re drawing on, so you can pull the same trick – explain in a few words what the general message in the source material is, but expressed in terms of what’s missing)
\emph{Explain, in one sentence, how you tackled the research question.}
What’s your big new idea?
(Again for a more general essay, you might want to adapt this slightly: what’s the new perspective you have adopted? or:
What’s your overall view on the question you introduced in step 2?)
\emph{In one sentence, how did you go about doing the research that follows from your big idea.}
Did you run experiments?
Build a piece of software?
Carry out case studies?
This is likely to be the longest sentence, especially if it’s a PhD thesis – after all you’re probably covering several years worth of research.
But don’t overdo it – we’re still looking for a sentence that you could read aloud without having to stop for breath.
Remember, the word ‘abstract’ means a summary of the main ideas with most of the detail left out.
So feel free to omit detail!
(For those of you who got this far and are still insisting on writing an essay rather than signing up for a PhD, this sentence is really an elaboration of sentence 4 – explore the consequences of your new perspective).
\emph{As a single sentence, what’s the key impact of your research?
Here we’re not looking for the outcome of an experiment.
}
We’re looking for a summary of the implications.
What’s it all mean?
Why should other people care?
What can they do with your research.
(Essay folks: all the same questions apply: what conclusions did you draw, and why would anyone care about them?)
\end{otherlanguage}
\microtypesetup{protrusion=false}
% In case you have trouble with headings reaching into the page numbers, enable the following three lines.
% Hint by http://golatex.de/inhaltsverzeichnis-schreibt-ueber-rand-t3106.html
%
%\makeatletter
%\renewcommand{\@pnumwidth}{2em}
%\makeatother
%
% Bei einem ungünstigen Seitenumbruch im Inhaltsverzeichnis, kann dieser mit
% \addtocontents{toc}{\protect\newpage}
% an der passenden Stelle im Fließtext erzwungen werden.
\tableofcontents
\listoffigures
\listoftables
\listoflistings
%mittels \newfloat wurde die Algorithmus-Gleitumgebung definiert.
%Mit folgendem Befehl werden alle floats dieses Typs ausgegeben
%\listof{Algorithmus}{Verzeichnis der Algorithmen}
%\listofalgorithms %Ist nur für Algorithmen, die mittels \begin{algorithm} umschlossen werden, nötig
% Abkürzungsverzeichnis / Acronyms / Abbreviations
\printglossary[type=\acronymtype,title={Abkürzungsverzeichnis}]
% \printglossaries
% \printnoidxglossaries
% \printunsrtglossaries cannot be used, because then no indexing happens; source: https://tex.stackexchange.com/a/287128/9075
\microtypesetup{protrusion=true}
% Headline and footline
\renewcommand*{\chapterpagestyle}{scrplain}
\pagestyle{scrheadings}
%%% ===============================================================================
\chapter{Introduction}\label{sec:introduction}
%%% ===============================================================================
\emph{Purpose and scope of your entire report}.
The purpose of your entire report is to make a \emph{scientific argument using the scientific method}.
A scientific argument always has the following steps that all must come in this order.
%
\begin{itemize}
\item[SM1] \emph{Explicate the assumptions and state of the art} on which you are going to conduct your research to investigate your research problem/test the hypothesis.
\item[SM2] Clearly and precisely \emph{formulate a research problem or hypothesis}.
\item[SM3] \emph{Describe the (research) method} that you followed to investigate the problem / to test the hypothesis in a way that \emph{allows someone else to reproduce your steps}.
The method must includes steps and criteria for evaluating whether you answered your question successfully or not.
\item[SM4] \emph{Provide execution details} on how you followed the method in the given, specific situation.
\item[SM5] \emph{Report your results} by describing and summarizing your measurements.
You must not interpret your results.
\item[SM6] \emph{Now interpret your results} by contextualizing the measurements and drawing conclusion that lead to answering your research problem or defining further follow-up research problems.
\end{itemize}
%
This template will mark various parts of the structure with SM1-SM6 to recall to you which step of a scientific argument is used and where.