generator-latex-template 0.4.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -11
- package/generators/app/index.js +58 -16
- package/generators/app/templates/.github/workflows/check.yml +43 -0
- package/generators/app/templates/Dockerfile.reitzig +24 -12
- package/generators/app/templates/README.en.md +35 -15
- package/generators/app/templates/Texlivefile +30 -0
- package/generators/app/templates/acronyms.de.tex +6 -0
- package/generators/app/templates/acronyms.en.tex +5 -0
- package/generators/app/templates/acronyms.example.de.tex +24 -0
- package/generators/app/templates/acronyms.example.en.tex +24 -0
- package/generators/app/templates/acronyms.preamble.en.tex +15 -0
- package/generators/app/templates/biblatex.preamble.de.tex +9 -0
- package/generators/app/templates/biblatex.preamble.en.tex +61 -0
- package/generators/app/templates/cleveref.example.en.tex +1 -1
- package/generators/app/templates/figure.example.de.tex +0 -4
- package/generators/app/templates/figure.example.en.tex +2 -6
- package/generators/app/templates/latexmkrc +8 -6
- package/generators/app/templates/listings.example.de.tex +0 -17
- package/generators/app/templates/listings.example.en.tex +6 -6
- package/generators/app/templates/main.de.tex +141 -19
- package/generators/app/templates/main.en.tex +154 -64
- package/generators/app/templates/minted.example.en.tex +5 -5
- package/generators/app/templates/minted.preamble.en.tex +13 -2
- package/generators/app/templates/refcheck.example.en.tex +36 -0
- package/generators/app/templates/refcheck.preamble.en.tex +4 -0
- package/generators/app/templates/scientific-thesis-cover.preamble.de.tex +12 -0
- package/generators/app/templates/scientific-thesis-cover.preamble.en.tex +12 -0
- package/generators/app/templates/{splncsnat.bst → splncs04nat.bst} +156 -118
- package/generators/app/templates/subfloat.example.en.tex +2 -2
- package/package.json +11 -11
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
\RequirePackage{snapshot}
|
|
3
3
|
<% } -%>
|
|
4
4
|
<% switch (documentclass) { case "lncs": -%>
|
|
5
|
-
% This template has been tested with LLNCS DOCUMENT CLASS -- version 2.
|
|
5
|
+
% This template has been tested with LLNCS DOCUMENT CLASS -- version 2.21 (12-Jan-2022)
|
|
6
6
|
|
|
7
7
|
<% break; case "ieee": -%>
|
|
8
8
|
% This template has been tested with IEEEtran of 2015.
|
|
9
9
|
|
|
10
10
|
<% break; } -%>
|
|
11
11
|
% !TeX spellcheck = en-US
|
|
12
|
+
% LTeX: language=en-US
|
|
12
13
|
% !TeX encoding = utf8
|
|
13
14
|
% !TeX program = <%= latexcompiler %>
|
|
14
15
|
<% if (requiresShellEscape) { -%>
|
|
@@ -37,13 +38,13 @@
|
|
|
37
38
|
% it is good to have title printed on the pages, too.
|
|
38
39
|
%
|
|
39
40
|
% To disable outputting page headers and footers, remove "runningheads"
|
|
40
|
-
\documentclass[runningheads,
|
|
41
|
+
\documentclass[runningheads,<%= papersize %>paper,english]{llncs}[2022/01/12]
|
|
41
42
|
<% break; case "acmart": -%>
|
|
42
43
|
|
|
43
44
|
<% if (texlive >= 2021) { -%>
|
|
44
45
|
% We balance the last page using the package "pbalance" (see https://ctan.org/pkg/pbalance), because it "just works" (in contrast to balance.sty or other solutions)
|
|
45
46
|
<% } -%>
|
|
46
|
-
\documentclass[<%= acm_format %>,<% if (acm_review) { %>review,<% }
|
|
47
|
+
\documentclass[<%= acm_format %>,<% if (acm_review) { %>review,<% } %><%= papersize %>paper,<% if (texlive >= 2021) { %>pbalance<% } else { %>balance<% } %>]{acmart}
|
|
47
48
|
<% break; case "ieee": -%>
|
|
48
49
|
|
|
49
50
|
% DO NOT DOWNLOAD IEEEtran.cls - Use the one of your LaTeX distribution
|
|
@@ -59,7 +60,6 @@
|
|
|
59
60
|
% Balance the last page using the balance package (see https://ctan.org/pkg/balance)
|
|
60
61
|
\usepackage{balance}
|
|
61
62
|
<% } -%>
|
|
62
|
-
|
|
63
63
|
<% break; case "scientific-thesis": -%>
|
|
64
64
|
|
|
65
65
|
% EN: The following package allows \\ at the title page
|
|
@@ -80,6 +80,13 @@
|
|
|
80
80
|
% draft % um zu sehen, wo noch nachgebessert werden muss - wichtig, da Bindungskorrektur mit drin
|
|
81
81
|
draft=false
|
|
82
82
|
]{scrbook}
|
|
83
|
+
\usepackage{scrlayer-scrpage}
|
|
84
|
+
\ihead[]{}
|
|
85
|
+
\chead[]{}
|
|
86
|
+
\ohead[]{\headmark}
|
|
87
|
+
\cfoot[]{}
|
|
88
|
+
\ofoot[\usekomafont{pagenumber}\thepage]{\usekomafont{pagenumber}\thepage}
|
|
89
|
+
\ifoot[]{}
|
|
83
90
|
<% break; default: -%>
|
|
84
91
|
|
|
85
92
|
% not yet supported template. Please report to the author of generator-latex-template
|
|
@@ -122,15 +129,19 @@
|
|
|
122
129
|
<%- include('booktabs.preamble.en.tex', this); -%>
|
|
123
130
|
|
|
124
131
|
<%- include('paralist.preamble.en.tex', this); -%>
|
|
125
|
-
<%
|
|
132
|
+
<% switch (documentclass) {
|
|
133
|
+
case "acmart":
|
|
134
|
+
case "ieee":
|
|
135
|
+
case "lncs": -%>
|
|
126
136
|
|
|
127
137
|
<%- include('natbib.preamble.en.tex', this); -%>
|
|
128
|
-
<%
|
|
129
|
-
|
|
138
|
+
<% break; case "scientific-thesis": -%>
|
|
139
|
+
<%- include('biblatex.preamble.en.tex', this); -%>
|
|
140
|
+
<% break; } -%>
|
|
141
|
+
<% switch (documentclass) { case "acmart": -%>
|
|
130
142
|
|
|
131
143
|
\citestyle{acmnumeric} % alternative: acmauthoryear
|
|
132
|
-
<%
|
|
133
|
-
<% if (documentclass == 'lncs') { -%>
|
|
144
|
+
<% break; case "lncs": -%>
|
|
134
145
|
|
|
135
146
|
% Prepare more space-saving rendering of the bibliography
|
|
136
147
|
% Source: https://tex.stackexchange.com/a/280936/9075
|
|
@@ -143,7 +154,7 @@
|
|
|
143
154
|
{ }
|
|
144
155
|
|
|
145
156
|
<%- include('floatflt.preamble.en.tex', this); -%>
|
|
146
|
-
<% } -%>
|
|
157
|
+
<% break; } -%>
|
|
147
158
|
<% if (todo == 'pdfcomment') { -%>
|
|
148
159
|
|
|
149
160
|
<%- include('pdfcomment.preamble.en.tex', this); -%>
|
|
@@ -162,8 +173,7 @@
|
|
|
162
173
|
<%- include('subfig.preamble.en.tex', this); %>
|
|
163
174
|
<% if (texlive >= 2021) { %><%- include('mindflow.preamble.en.tex', this); %>
|
|
164
175
|
<% } -%>
|
|
165
|
-
|
|
166
|
-
<% } -%>
|
|
176
|
+
<%- include('cleveref.preamble.en.tex', this); %>
|
|
167
177
|
\usepackage{lipsum}
|
|
168
178
|
<% if (examples) { -%>
|
|
169
179
|
|
|
@@ -172,7 +182,7 @@
|
|
|
172
182
|
\usepackage[math]{blindtext}
|
|
173
183
|
\usepackage{mwe}
|
|
174
184
|
<% if (useExampleEnvironment) { -%>
|
|
175
|
-
\usepackage{currfile}
|
|
185
|
+
\usepackage[realmainfile]{currfile}
|
|
176
186
|
\usepackage{tcolorbox}
|
|
177
187
|
\tcbuselibrary{<%= listings %>}
|
|
178
188
|
<% } -%>
|
|
@@ -193,6 +203,11 @@
|
|
|
193
203
|
% Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx
|
|
194
204
|
\makeatother
|
|
195
205
|
|
|
206
|
+
% Add manual adapted hyphenation of English words
|
|
207
|
+
% See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details
|
|
208
|
+
% Does not work on MiKTeX, therefore disabled - issue reported at https://github.com/MiKTeX/miktex-packaging/issues/271
|
|
209
|
+
% \input{ushyphex}
|
|
210
|
+
|
|
196
211
|
% correct bad hyphenation here
|
|
197
212
|
\hyphenation{op-tical net-works semi-conduc-tor}
|
|
198
213
|
<% switch (documentclass) { case "acmart": -%>
|
|
@@ -203,18 +218,25 @@
|
|
|
203
218
|
<% break; case "lncs": -%>
|
|
204
219
|
|
|
205
220
|
% Add copyright
|
|
206
|
-
%
|
|
221
|
+
%
|
|
222
|
+
% This is recommended if you intend to send the version to colleagues
|
|
223
|
+
% See https://ctan.org/pkg/llncsconf for details
|
|
207
224
|
\iffalse
|
|
208
|
-
%state: intended|submitted|llncs
|
|
209
|
-
%you can add "crop" if the paper should be cropped to the format Springer is publishing
|
|
225
|
+
% state: intended | submitted | llncs
|
|
226
|
+
% you can add "crop" if the paper should be cropped to the format Springer is publishing
|
|
210
227
|
\usepackage[intended]{llncsconf}
|
|
211
228
|
|
|
212
229
|
\conference{name of the conference}
|
|
213
230
|
|
|
214
|
-
%in case of "
|
|
215
|
-
%example: llncs{Anonymous et al. (eds). \emph{Proceedings of the International Conference on \LaTeX-Hacks}, LNCS~42. Some Publisher, 2016.}{0042}
|
|
216
|
-
|
|
231
|
+
% in case of "proceedings" (final version!)
|
|
232
|
+
% example: \llncs{Anonymous et al. (eds). \emph{Proceedings of the International Conference on \LaTeX-Hacks}, LNCS~42. Some Publisher, 2016.}{0042}
|
|
233
|
+
% 0042 denotes an example start page
|
|
234
|
+
\llncs{book editors and title}{0042}
|
|
217
235
|
\fi
|
|
236
|
+
<% break; case "scientific-thesis": -%>
|
|
237
|
+
|
|
238
|
+
<% if (feature.acronyms) { -%><%- include('acronyms.preamble.en.tex', this); %><% } -%>
|
|
239
|
+
<%- include('scientific-thesis-cover.preamble.en.tex', this); %>
|
|
218
240
|
<% break; } -%>
|
|
219
241
|
<% if (latexcompiler == "pdflatex") { -%>
|
|
220
242
|
|
|
@@ -324,6 +346,15 @@
|
|
|
324
346
|
\fi
|
|
325
347
|
|
|
326
348
|
\begin{abstract}
|
|
349
|
+
<% break; case "scientific-thesis": -%>
|
|
350
|
+
\pagenumbering{arabic}
|
|
351
|
+
\Titelblatt
|
|
352
|
+
|
|
353
|
+
\pagestyle{plain.scrheadings}
|
|
354
|
+
\renewcommand*{\chapterpagestyle}{plain.scrheadings}
|
|
355
|
+
|
|
356
|
+
% Kurzfassung / abstract
|
|
357
|
+
% auch im Stil vom Inhaltsverzeichnis
|
|
327
358
|
<% break; default: -%>
|
|
328
359
|
\section*{Abstract}
|
|
329
360
|
<% break; } -%>
|
|
@@ -345,11 +376,10 @@
|
|
|
345
376
|
\lipsum[1]
|
|
346
377
|
<% } -%>
|
|
347
378
|
<% switch (documentclass) { case "lncs": -%>
|
|
379
|
+
|
|
380
|
+
\keywords{First keyword \and Second keyword \and Third keyword}
|
|
348
381
|
\end{abstract}
|
|
349
382
|
|
|
350
|
-
\begin{keywords}
|
|
351
|
-
keyword1, keyword2
|
|
352
|
-
\end{keywords}
|
|
353
383
|
<% break; case "acmart": -%>
|
|
354
384
|
\end{abstract}
|
|
355
385
|
|
|
@@ -366,6 +396,49 @@
|
|
|
366
396
|
% For peerreview papers, this IEEEtran command inserts a page break and
|
|
367
397
|
% creates the second title. It will be ignored for other modes.
|
|
368
398
|
\IEEEpeerreviewmaketitle
|
|
399
|
+
<% break; case "scientific-thesis": -%>
|
|
400
|
+
|
|
401
|
+
\microtypesetup{protrusion=false}
|
|
402
|
+
|
|
403
|
+
% In case you have trouble with headings reaching into the page numbers, enable the following three lines.
|
|
404
|
+
% Hint by http://golatex.de/inhaltsverzeichnis-schreibt-ueber-rand-t3106.html
|
|
405
|
+
%
|
|
406
|
+
%\makeatletter
|
|
407
|
+
%\renewcommand{\@pnumwidth}{2em}
|
|
408
|
+
%\makeatother
|
|
409
|
+
%
|
|
410
|
+
% In case of a strange break in the table of contents,
|
|
411
|
+
% a page break can be inserted by issuing the following command at the "right" place in the main text:
|
|
412
|
+
% \addtocontents{toc}{\protect\newpage}
|
|
413
|
+
\tableofcontents
|
|
414
|
+
|
|
415
|
+
\listoffigures
|
|
416
|
+
|
|
417
|
+
\listoftables
|
|
418
|
+
<% if (listings == 'listings') { -%>
|
|
419
|
+
|
|
420
|
+
% We use lstlisting environments with caption paramters.
|
|
421
|
+
% Thus, we need that command.
|
|
422
|
+
% Alternative: \listof{Listing}{List of Listings}
|
|
423
|
+
\lstlistoflistings
|
|
424
|
+
<% } else { -%>
|
|
425
|
+
\listof{Listing}{List of Listings}
|
|
426
|
+
<% } -%>
|
|
427
|
+
|
|
428
|
+
%mittels \newfloat wurde die Algorithmus-Gleitumgebung definiert.
|
|
429
|
+
%Mit folgendem Befehl werden alle floats dieses Typs ausgegeben
|
|
430
|
+
%\listof{Algorithmus}{List of Algorithms}
|
|
431
|
+
%\listofalgorithms %Ist nur für Algorithmen, die mittels \begin{algorithm} umschlossen werden, nötig
|
|
432
|
+
|
|
433
|
+
% Abbreviations
|
|
434
|
+
\printglossaries
|
|
435
|
+
% \printunsrtglossaries cannot be used, because then no indexing happens; source: https://tex.stackexchange.com/a/287128/9075
|
|
436
|
+
|
|
437
|
+
\microtypesetup{protrusion=true}
|
|
438
|
+
|
|
439
|
+
% Headline and footline
|
|
440
|
+
\renewcommand*{\chapterpagestyle}{scrplain}
|
|
441
|
+
\pagestyle{scrheadings}
|
|
369
442
|
<% break; default: -%>
|
|
370
443
|
|
|
371
444
|
\tableofcontents
|
|
@@ -389,7 +462,7 @@
|
|
|
389
462
|
%
|
|
390
463
|
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.
|
|
391
464
|
|
|
392
|
-
\emph{Purpose and scope of
|
|
465
|
+
\emph{Purpose and scope of \cref{sec:introduction}}. The introduction chapter is a summary of your work and your scientific argument that shall be understandable to anyone in your scientific field, e.g., anyone in Data Science. A reader must be able to comprehend the problem, method, relevant execution details, results, and their interpretation by reading the introduction and the introduction alone. Section~\ref{sec:introduction:topic} introduces the general topic of your research. Section~\ref{sec:introduction:state-of-art} discusses the state of the art and identifies a research. Section~\ref{sec:introduction:research-question} then states the research problem to investigate. Section~\ref{sec:problem-exposition:research-method} explains the research method that was followed, possibly with execution details. Section~\ref{sec:introduction:results} then presents the results and their interpretation. Only if a reader thinks they are not convinced or they need more details to reproduce your study, they shall have to read further. The individual chapters and sections provide the details for each of the steps in your scientific argument.
|
|
393
466
|
|
|
394
467
|
You usually write the introduction chapter \emph{after} you wrote all other chapters, but you should keep on making notes for each of the sections as you write the later chapters..
|
|
395
468
|
|
|
@@ -408,23 +481,23 @@ At the end of this section, you have explained and established a general goal th
|
|
|
408
481
|
<%= heading2 %>{State of the Art (SM1)}\label{sec:introduction:state-of-art}
|
|
409
482
|
% ---------------------------------------------------------------------------------
|
|
410
483
|
|
|
411
|
-
\emph{Purpose and scope}. You provide a more in-depth introduction into the research topic by contrasting the current state of the art in society/science in relation to the research topic you introduced in
|
|
484
|
+
\emph{Purpose and scope}. You provide a more in-depth introduction into the research topic by contrasting the current state of the art in society/science in relation to the research topic you introduced in \cref{sec:introduction:topic}. This introduction has to
|
|
412
485
|
|
|
413
486
|
\begin{itemize}
|
|
414
487
|
\item present established facts, methods, and results that provide a deeper understanding of the research topic (``prior work on giraffe genomes, relevance of giraffes for societal well-being, giraffes being a model-animal for various other studies, etc.'')
|
|
415
|
-
\item discuss in which ways prior and recent ideas still fall short of reaching the general goal you explained in
|
|
488
|
+
\item discuss in which ways prior and recent ideas still fall short of reaching the general goal you explained in \cref{sec:introduction:topic} (``prior work only sequenced the genome of one giraffe and did not consider genes of ancient ancestors'')
|
|
416
489
|
\end{itemize}
|
|
417
490
|
|
|
418
|
-
You have to provide citations/literature references for each of the statements and claims you are making. This section is usually a summary of the related work discussion in
|
|
491
|
+
You have to provide citations/literature references for each of the statements and claims you are making. This section is usually a summary of the related work discussion in \cref{sec:background}.
|
|
419
492
|
|
|
420
|
-
At the end of this section, you have established a \emph{knowledge gap} between the state of the art and the general objective you developed in
|
|
493
|
+
At the end of this section, you have established a \emph{knowledge gap} between the state of the art and the general objective you developed in \cref{sec:introduction:topic}. \emph{Stating a (knowledge) gap between a status quo and a desired situation is the \emph{first step} of a writing scientific argument.}
|
|
421
494
|
|
|
422
495
|
|
|
423
496
|
% ---------------------------------------------------------------------------------
|
|
424
497
|
<%= heading2 %>{Research Question (SM2)}\label{sec:introduction:research-question}
|
|
425
498
|
% ---------------------------------------------------------------------------------
|
|
426
499
|
|
|
427
|
-
\emph{Purpose and scope}. In this section you state in which way you will address the knowledge gap you identified at the end of
|
|
500
|
+
\emph{Purpose and scope}. In this section you state in which way you will address the knowledge gap you identified at the end of \cref{sec:introduction:state-of-art}. You usually cannot address and resolve the entire knowledge gap in your work. The purpose of this section is to clearly detail the specific part of the knowledge that you will address. You thereby make all the assumptions explicit that underlie your work (``in this report we focus on genomes of female giraffes who lived in the years 1950-2000 in South Africa'').
|
|
428
501
|
|
|
429
502
|
Your general research question states
|
|
430
503
|
\begin{itemize}
|
|
@@ -447,17 +520,17 @@ The section is most readable if you give each of the steps in your method its ow
|
|
|
447
520
|
<%= heading2 %>{Findings (SM5, SM6)}\label{sec:introduction:results}
|
|
448
521
|
% ---------------------------------------------------------------------------------
|
|
449
522
|
|
|
450
|
-
\emph{Purpose and scope}. You close the introduction by clearly stating the evaluation setup you designed to evaluate the success of your study regarding the research objective, which comes in two steps. It is most likely a summary of your evaluation in
|
|
523
|
+
\emph{Purpose and scope}. You close the introduction by clearly stating the evaluation setup you designed to evaluate the success of your study regarding the research objective, which comes in two steps. It is most likely a summary of your evaluation in \cref{sec:evaluation}.
|
|
451
524
|
|
|
452
525
|
\subsection*{Results (SM5)}
|
|
453
526
|
|
|
454
|
-
You state the evaluation method that is in line with your research question from
|
|
527
|
+
You state the evaluation method that is in line with your research question from \cref{sec:introduction:research-question} and summarize the measurements you obtained but you do not interpret them, i.e., you only report the numbers but you do not include judging statements.
|
|
455
528
|
|
|
456
529
|
\subsection*{Interpretation (SM6)}
|
|
457
530
|
|
|
458
|
-
You summarize your interpretation of the results and draw conclusions. State whether and to which degree the research question from
|
|
531
|
+
You summarize your interpretation of the results and draw conclusions. State whether and to which degree the research question from \cref{sec:introduction:research-question} has been answered successfully or not.
|
|
459
532
|
|
|
460
|
-
Finally state briefly how much closer society and science have come in answering the general objective you outlined in
|
|
533
|
+
Finally state briefly how much closer society and science have come in answering the general objective you outlined in \cref{sec:introduction:topic}.
|
|
461
534
|
|
|
462
535
|
%%% ===============================================================================
|
|
463
536
|
<%= heading1 %>{Background (SM1)}\label{sec:background}
|
|
@@ -468,7 +541,7 @@ Finally state briefly how much closer society and science have come in answering
|
|
|
468
541
|
|
|
469
542
|
\item \emph{Preliminaries.} It has to provide all (and exactly the) information that is necessary to understand the methodological and technical parts of your work in the specific area of study. Assume as starting point another student in your degree who did not study the specific subject you are studying but has the task to understand your work. Which concepts, terms, definitions, etc. does the student have to know? Which formulas, symbols, etc. are standard in this topic? Only introduce definitions if you actually need them in any of the subsequent chapters.
|
|
470
543
|
|
|
471
|
-
\item \emph{Related Work.} It has to provide a comprehensive discussion of all prior work in the area on this subject. Your discussion has to summarize these prior works and has to explain in which way the research question you are solving (
|
|
544
|
+
\item \emph{Related Work.} It has to provide a comprehensive discussion of all prior work in the area on this subject. Your discussion has to summarize these prior works and has to explain in which way the research question you are solving (\cref{sec:introduction:research-question}) has not bee solved yet because prior work had more limiting assumptions, addressed a different angle, their results are not complete etc. Depending on the subject you are studying, the related work part can be larger and warrant an entire chapter on its own, or be fully concluded within \cref{sec:introduction:state-of-art}.
|
|
472
545
|
|
|
473
546
|
You can close the related work discussion by clarifying the positioning and formulation of your research question (SM2) in relation to all the prior work, making more explicit whether you address an existing research question under different premises or whether you work on a modified or completely new research question.
|
|
474
547
|
\end{itemize}
|
|
@@ -477,9 +550,9 @@ Finally state briefly how much closer society and science have come in answering
|
|
|
477
550
|
<%= heading1 %>{Problem Exposition (optional)}\label{sec:problem-exposition}
|
|
478
551
|
%%% ===============================================================================
|
|
479
552
|
|
|
480
|
-
\emph{Purpose and scope}. Introduce the problem context in more detail if
|
|
553
|
+
\emph{Purpose and scope}. Introduce the problem context in more detail if \cref{sec:introduction:topic} does not provide all necessary information about the problem to follow the rest of the report. This can include further details on the data you studied, context assumptions and requirements, etc.
|
|
481
554
|
|
|
482
|
-
If you have to expose the problem in more detail here, then this chapter should also provide a more detailed explanation of research question and the method you are applying, i.e., you can now provide more concrete sub-problems compared to
|
|
555
|
+
If you have to expose the problem in more detail here, then this chapter should also provide a more detailed explanation of research question and the method you are applying, i.e., you can now provide more concrete sub-problems compared to \cref{sec:introduction:research-question} more details for the method \cref{sec:introduction:method} because you now have explained the problem much better. A typical structure can be.
|
|
483
556
|
|
|
484
557
|
% ---------------------------------------------------------------------------------
|
|
485
558
|
<%= heading2 %>{Context/Business Understanding (SM1)}\label{sec:problem-exposition:context-understanding}
|
|
@@ -497,23 +570,23 @@ provide details
|
|
|
497
570
|
<%= heading2 %>{Detailed Research Questions (SM2)}\label{sec:problem-exposition:research-problems}
|
|
498
571
|
% ---------------------------------------------------------------------------------
|
|
499
572
|
|
|
500
|
-
provide details based on
|
|
573
|
+
provide details based on \cref{sec:problem-exposition:context-understanding} and \ref{sec:problem-exposition:data-understanding}
|
|
501
574
|
|
|
502
575
|
% ---------------------------------------------------------------------------------
|
|
503
576
|
<%= heading2 %>{Detailed Method (SM3)}\label{sec:problem-exposition:research-method}
|
|
504
577
|
% ---------------------------------------------------------------------------------
|
|
505
578
|
|
|
506
|
-
provide details based on
|
|
579
|
+
provide details based on \cref{sec:problem-exposition:context-understanding} and \ref{sec:problem-exposition:data-understanding}
|
|
507
580
|
|
|
508
581
|
%%% ===============================================================================
|
|
509
582
|
<%= heading1 %>{First Real Chapter addressing first Research Problem}\label{sec:problem1}
|
|
510
583
|
%%% ===============================================================================
|
|
511
584
|
|
|
512
|
-
\emph{Purpose and scope}. After you stated research context (SM1), research problem (SM2), and research method (SM3) in
|
|
585
|
+
\emph{Purpose and scope}. After you stated research context (SM1), research problem (SM2), and research method (SM3) in \cref{sec:introduction} and possibly \cref{sec:problem-exposition}, the remainder of your entire report addresses execution (SM4), results (SM5), and interpretation (SM6). You usually do this by addressing various sub-problems again through scientific arguments following the 6 steps SM1-SM6.
|
|
513
586
|
|
|
514
|
-
Have a short chapter introduction that recalls and explains the first research problem of your thesis. The problem has to show up in the introduction in
|
|
587
|
+
Have a short chapter introduction that recalls and explains the first research problem of your thesis. The problem has to show up in the introduction in \cref{sec:introduction:research-question} or in \cref{sec:problem-exposition:research-problems} already. This provides the background (SM1) for this chapter while the first research problem of the thesis becomes the research question/hypothesis (SM2) for this chapter.
|
|
515
588
|
|
|
516
|
-
Next, explain in the chapter intro how you solve the research problem in this chapter by breaking it down in further sub-problems. By this, you outline the method (SM3) through which you are going to solve the problem of this chapter. This is necessary to give the reader guidance of what's to come in this chapter and how it fits into the thesis as a whole. Explain that you will address the first sub-problem in
|
|
589
|
+
Next, explain in the chapter intro how you solve the research problem in this chapter by breaking it down in further sub-problems. By this, you outline the method (SM3) through which you are going to solve the problem of this chapter. This is necessary to give the reader guidance of what's to come in this chapter and how it fits into the thesis as a whole. Explain that you will address the first sub-problem in \cref{sec:problem1:subproblem1} and the second sub-problem in \cref{sec:problem1:subproblem2}, etc. The sections then provide the details for execution and results.
|
|
517
590
|
|
|
518
591
|
% ---------------------------------------------------------------------------------
|
|
519
592
|
<%= heading2 %>{First Sub-Problem}\label{sec:problem1:subproblem1}
|
|
@@ -522,12 +595,12 @@ Next, explain in the chapter intro how you solve the research problem in this ch
|
|
|
522
595
|
\emph{The first paragraph describes the first sub-problem and develops the requirements a solution has to satisfy (SM2 for this section).} The requirements have to be based on the knowledge and reasoning developing in the preceding chapters and sections. Try to use an example to illustrate the problem and the desired properties of the solution. Check that every term/concept you use here has already been defined already in a previous section. If you cannot describe your problem without defining new terms, you may have to add another section before this one that develops the terms and concepts you need to explain the problem.
|
|
523
596
|
|
|
524
597
|
\emph{The second paragraph describes the method/approach how you address the problem (SM3 for this section).} Describe the method in a level of detail that allows another student to reproduce your steps.
|
|
525
|
-
Make use of appendices % (see
|
|
598
|
+
Make use of appendices % (see \cref{sec:appendix1})
|
|
526
599
|
if certain details take too much space.
|
|
527
600
|
|
|
528
601
|
\emph{The third, fourth, and following paragraph provides details on applying the method or developing a new approach, i.e., execution (SM4) and may explain results (SM5)}, i.e. details on the steps needed to reproduce the results.
|
|
529
602
|
|
|
530
|
-
Results (SM5) can come in many forms, e.g., conceptual diagrams, algorithms, tables, charts, a list of articles from a literature research etc. You must reference them (
|
|
603
|
+
Results (SM5) can come in many forms, e.g., conceptual diagrams, algorithms, tables, charts, a list of articles from a literature research etc. You must reference them (``\cref{fig:my_label} shows...'') and describe the results in text. If you use diagrams, tables, or charts, you cannot expect the reader to know what to you expect them to see in a diagram, table or chart. Describe to them how to read these, explain the meaning of particular elements, point out special observations. But you may only describe the results you must not interpret them. Make use of appendices if certain details take too much space.
|
|
531
604
|
|
|
532
605
|
\begin{figure}
|
|
533
606
|
\centering
|
|
@@ -538,13 +611,13 @@ Results (SM5) can come in many forms, e.g., conceptual diagrams, algorithms, tab
|
|
|
538
611
|
|
|
539
612
|
\emph{After describing the results, you may interpret them (SM6).} Here you can infer what a particular observation means (for you), how it can be applied, or what others can do with it. You must not write interpretations before completely describing your results. This is a common mistake done by most beginner writers. You want to quickly get to the point, which is the final finding or interpretation. But you forget that your reader does not understand yet what you are interpreting - they do not know yet what you do know. An interpretation can only be followed after all results have been described. The interpretation must be based on the written description only. Then you can be sure that your readers can follow your interpretation and reach the same conclusions as you have.
|
|
540
613
|
|
|
541
|
-
Ideally, your interpretation leads to the next sub-problem in
|
|
614
|
+
Ideally, your interpretation leads to the next sub-problem in \cref{sec:problem1:subproblem2}.
|
|
542
615
|
|
|
543
616
|
% ---------------------------------------------------------------------------------
|
|
544
617
|
<%= heading2 %>{Second Sub-Problem}\label{sec:problem1:subproblem2}
|
|
545
618
|
% ---------------------------------------------------------------------------------
|
|
546
619
|
|
|
547
|
-
You now build on the solution to the first sub-problem of
|
|
620
|
+
You now build on the solution to the first sub-problem of \cref{sec:problem1:subproblem1} (SM1) and recall second sub-problem (SM2, you detailed in the introduction of this chapter) and follow the same pattern as before (SM3-SM6).
|
|
548
621
|
|
|
549
622
|
Note that not all sections may not include all parts SM1-SM6 in all detail. Some sections do not require to repeatedly state the background (SM1) or the research problem (SM2) if they were already clearly defined in a previous section. Sometimes, a section is only dedicated to describing the method (SM3) and execution (SM4) and does not contain any results or interpretations. Sometimes results (SM5) and interpretations (SM6) only come in the evaluation chapter.
|
|
550
623
|
|
|
@@ -561,7 +634,7 @@ What is important for you when you are writing a scientific argument is not to s
|
|
|
561
634
|
<%= heading1 %>{Second Real Chapter}\label{sec:sub-problem2}
|
|
562
635
|
%%% ===============================================================================
|
|
563
636
|
|
|
564
|
-
Have a short chapter introduction that recalls what you already achieved in
|
|
637
|
+
Have a short chapter introduction that recalls what you already achieved in \cref{sec:problem1} and explain the second research problem of your thesis. The problem has to show up in the introduction in \cref{sec:introduction:research-question} or in \cref{sec:problem-exposition:research-problems} already. etc.
|
|
565
638
|
|
|
566
639
|
%%% ===============================================================================
|
|
567
640
|
<%= heading1 %>{Evaluation}\label{sec:evaluation}
|
|
@@ -591,7 +664,7 @@ Provide all details on the execution that are necessary to allows another person
|
|
|
591
664
|
<%= heading2 %>{Results (SM5)}\label{sec:evaluation:results}
|
|
592
665
|
% ---------------------------------------------------------------------------------
|
|
593
666
|
|
|
594
|
-
You only report the measurements. You must present and reference them (
|
|
667
|
+
You only report the measurements. You must present and reference them (``\cref{fig:my_label2} shows...'') and describe the results in text. If you use diagrams, tables, or charts, you cannot expect the reader to know what to you expect them to see in a diagram, table or chart. Describe to them how to read these, explain the meaning of particular elements, point out special observations. But you may only describe the results you must not interpret them. Make use of appendices if certain details take too much space.
|
|
595
668
|
|
|
596
669
|
\begin{figure}
|
|
597
670
|
\centering
|
|
@@ -604,17 +677,19 @@ You only report the measurements. You must present and reference them (``<% if (
|
|
|
604
677
|
<%= heading2 %>{Discussion (SM6)}\label{sec:evaluation:discussion}
|
|
605
678
|
% ---------------------------------------------------------------------------------
|
|
606
679
|
|
|
607
|
-
An interpretation can only be followed after all results have been described. The interpretation must be based on the written description in
|
|
680
|
+
An interpretation can only be followed after all results have been described. The interpretation must be based on the written description in \cref{sec:evaluation:results} only. Then you can be sure that your readers can follow your interpretation and reach the same conclusions as you have.
|
|
608
681
|
|
|
609
682
|
<% } else { -%>
|
|
610
683
|
<%= heading1 %>{Introduction}
|
|
611
684
|
\label{sec:introduction}
|
|
612
685
|
\lipsum[1-3]\todo{Refine me}
|
|
613
686
|
|
|
614
|
-
The remainder of the paper starts with a presentation of related work (
|
|
615
|
-
<% if (examples) { %>It is followed by a presentation of hints on \LaTeX{} (
|
|
616
|
-
<%
|
|
617
|
-
|
|
687
|
+
The remainder of the paper starts with a presentation of related work (\cref{sec:relatedwork}).
|
|
688
|
+
<% if (examples) { %>It is followed by a presentation of hints on \LaTeX{} (\cref{sec:latexhints}).
|
|
689
|
+
<% } -%>
|
|
690
|
+
<% if (!examples && (documentclass == 'ieee')) { %>Afterwards, we present some Lorem Ipsum (\cref{sec:loremipsum}).
|
|
691
|
+
<% } -%>
|
|
692
|
+
Finally, a conclusion is drawn and outlook on future work is made (\cref{sec:outlook}).
|
|
618
693
|
|
|
619
694
|
<%= heading1 %>{Related Work}
|
|
620
695
|
\label{sec:relatedwork}
|
|
@@ -625,11 +700,7 @@ The whole idea of TOSCA is explained by <% if (available.citet) { %>\citet<% } e
|
|
|
625
700
|
|
|
626
701
|
<% if (examples) { -%>
|
|
627
702
|
<%= heading1 %>{LaTeX Hints}
|
|
628
|
-
<% if (documentclass == 'lncs') { -%>
|
|
629
703
|
\label{sec:latexhints}
|
|
630
|
-
<% } else { -%>
|
|
631
|
-
\label{chap:latexhints}
|
|
632
|
-
<% } -%>
|
|
633
704
|
|
|
634
705
|
<% if (useExampleEnvironment) { -%>
|
|
635
706
|
% Required for proper example rendering in the compiled PDF
|
|
@@ -695,8 +766,7 @@ It focuses on minimal examples, which can be directly adapted to the content
|
|
|
695
766
|
<% } -%>
|
|
696
767
|
<% if (enquotes == 'plainlatex') { %><%- include('plainlatex.enquotes.example.en.tex', this); %>
|
|
697
768
|
<% } -%>
|
|
698
|
-
|
|
699
|
-
<% } -%>
|
|
769
|
+
<%- include('cleveref.example.en.tex', this); %>
|
|
700
770
|
<%- include('figure.example.en.tex', this); %>
|
|
701
771
|
<%- include('subfloat.example.en.tex', this); %>
|
|
702
772
|
<%- include('tables.example.en.tex', this); %>
|
|
@@ -706,6 +776,8 @@ It focuses on minimal examples, which can be directly adapted to the content
|
|
|
706
776
|
<%- include('minted.example.en.tex', this); %>
|
|
707
777
|
<% } -%>
|
|
708
778
|
<%- include('paralist.example.en.tex', this); %>
|
|
779
|
+
<% if (feature.acronyms) { %><%- include('acronyms.example.en.tex', this); %>
|
|
780
|
+
<% } -%>
|
|
709
781
|
<%- include('otherfeatures.example.en.tex', this); %>
|
|
710
782
|
<% } -%>
|
|
711
783
|
<% if (howtotext) { -%>
|
|
@@ -714,7 +786,7 @@ It focuses on minimal examples, which can be directly adapted to the content
|
|
|
714
786
|
<%= heading1 %>{Conclusion}\label{sec:conclusion}
|
|
715
787
|
%%% ===============================================================================
|
|
716
788
|
|
|
717
|
-
Your conclusions are not just a factual summary of your work, but they position, interpret, and defend your findings against the state of the art that you discussed in
|
|
789
|
+
Your conclusions are not just a factual summary of your work, but they position, interpret, and defend your findings against the state of the art that you discussed in \cref{sec:introduction:state-of-art}. You specifically outline which concrete findings or methodological contributions advance our knowledge towards the general objective you introduced in \cref{sec:introduction:topic}. Objectively discuss which parts you solved and in which parts you failed.
|
|
718
790
|
|
|
719
791
|
You should explicitly discuss limitations and shortcomings of your work and detail what kind of future studies are needed to overcome these limitations. Be specific in the sense that your arguments for future work should be based on concrete findings and insights you obtained in your report.
|
|
720
792
|
<% } else { -%>
|
|
@@ -765,10 +837,10 @@ See \url{https://help.jabref.org/en/CleanupEntries} for an overview of the clean
|
|
|
765
837
|
<% switch (documentclass) { case "lncs": -%>
|
|
766
838
|
|
|
767
839
|
\renewcommand{\bibsection}{\section*{References}} % requried for natbib to have "References" printed and as section*, not chapter*
|
|
768
|
-
% Use natbib compatbile
|
|
769
|
-
% It does provide all features of
|
|
770
|
-
% Source:
|
|
771
|
-
\bibliographystyle{
|
|
840
|
+
% Use natbib compatbile splncs04nat style.
|
|
841
|
+
% It does provide all features of splncs04.bst, but is developed in a clean way.
|
|
842
|
+
% Source: https://github.com/tpavlic/splncs04nat
|
|
843
|
+
\bibliographystyle{splncs04nat}
|
|
772
844
|
\begingroup
|
|
773
845
|
\microtypecontext{expansion=sloppy}
|
|
774
846
|
\small % ensure correct font size for the bibliography
|
|
@@ -794,6 +866,9 @@ See \url{https://help.jabref.org/en/CleanupEntries} for an overview of the clean
|
|
|
794
866
|
\bibliographystyle{IEEEtranN} % IEEEtranN is the natbib compatible bst file
|
|
795
867
|
% argument is your BibTeX string definitions and bibliography database(s)
|
|
796
868
|
\bibliography{<%= filenames.bib %>}
|
|
869
|
+
<% break; case "scientific-thesis": -%>
|
|
870
|
+
|
|
871
|
+
\printbibliography
|
|
797
872
|
<% break; default: -%>
|
|
798
873
|
|
|
799
874
|
\bibliographystyle{plain}
|
|
@@ -804,8 +879,8 @@ See \url{https://help.jabref.org/en/CleanupEntries} for an overview of the clean
|
|
|
804
879
|
\ \\
|
|
805
880
|
%
|
|
806
881
|
All links were last followed on October 5, 2020.
|
|
807
|
-
<% if (documentclass != 'lncs') { -%>
|
|
808
882
|
|
|
883
|
+
<% switch (documentclass) { case "lncs": -%>
|
|
809
884
|
%%% ===============================================================================
|
|
810
885
|
%\appendix
|
|
811
886
|
%\addcontentsline{toc}{chapter}{APPENDICES}
|
|
@@ -817,6 +892,21 @@ All links were last followed on October 5, 2020.
|
|
|
817
892
|
%%% ===============================================================================
|
|
818
893
|
%<%= heading1 %>{My first appendix}\label{sec:appendix1}
|
|
819
894
|
%%% ===============================================================================
|
|
820
|
-
<%
|
|
895
|
+
<% break; case "scientific-thesis": -%>
|
|
896
|
+
%%% ===============================================================================
|
|
897
|
+
\appendix
|
|
898
|
+
\addcontentsline{toc}{chapter}{Appendices}
|
|
899
|
+
|
|
900
|
+
%\listoffigures
|
|
901
|
+
%\listoftables
|
|
902
|
+
%%% ===============================================================================
|
|
821
903
|
|
|
904
|
+
%%% ===============================================================================
|
|
905
|
+
%<%= heading1 %>{My first appendix}\label{sec:appendix1}
|
|
906
|
+
%%% ===============================================================================
|
|
907
|
+
|
|
908
|
+
\pagestyle{empty}
|
|
909
|
+
\renewcommand*{\chapterpagestyle}{empty}
|
|
910
|
+
\Versicherung
|
|
911
|
+
<% break; } -%>
|
|
822
912
|
\end{document}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<%= heading2 %>{Source Code}
|
|
2
2
|
|
|
3
|
-
\href{https://github.com/gpoore/minted}{minted} is a sophisticated
|
|
3
|
+
\href{https://github.com/gpoore/minted}{minted} is a sophisticated package to enable properly highlighted listings.
|
|
4
4
|
It uses the \href{http://pygments.org/}{pygments} library, which in turn requires Python.
|
|
5
5
|
|
|
6
6
|
<%- bexample %>
|
|
7
|
-
|
|
7
|
+
\Cref{lst:XML} shows source code written in XML.
|
|
8
8
|
\refline{line:comment} contains a comment.
|
|
9
9
|
|
|
10
10
|
\begin{listing}[htbp]
|
|
@@ -19,7 +19,7 @@ It uses the \href{http://pygments.org/}{pygments} library, which in turn require
|
|
|
19
19
|
\end{listing}
|
|
20
20
|
<%- eexample %>
|
|
21
21
|
|
|
22
|
-
One can also typeset JSON as shown in
|
|
22
|
+
One can also typeset JSON as shown in \cref{lst:flJSON}.
|
|
23
23
|
|
|
24
24
|
<%- bexample %>
|
|
25
25
|
\begin{listing}[htbp]
|
|
@@ -33,7 +33,7 @@ One can also typeset JSON as shown in <% if (cleveref) { %>\cref<% } else { %>Li
|
|
|
33
33
|
\end{listing}
|
|
34
34
|
<%- eexample %>
|
|
35
35
|
|
|
36
|
-
Java is also possible as shown in
|
|
36
|
+
Java is also possible as shown in \cref{lst:flJava}.
|
|
37
37
|
|
|
38
38
|
<%- bexample %>
|
|
39
39
|
\begin{listing}[htbp]
|
|
@@ -45,6 +45,6 @@ public class Hello {
|
|
|
45
45
|
}
|
|
46
46
|
\end{minted}
|
|
47
47
|
\caption{Java code rendered using minted}
|
|
48
|
-
\label{lst:
|
|
48
|
+
\label{lst:flJava}
|
|
49
49
|
\end{listing}
|
|
50
50
|
<%- eexample %>
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
\usepackage[newfloat]{minted}
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
\setminted{
|
|
4
|
+
% Line numbers not flowing out of the margin
|
|
5
|
+
numbersep=5pt,
|
|
6
|
+
xleftmargin=12pt,
|
|
7
|
+
%
|
|
8
|
+
% Better listing breaking
|
|
9
|
+
breakafter=-/\{,
|
|
10
|
+
breakbefore=\\
|
|
11
|
+
%
|
|
12
|
+
% Alternative: Rely on pygment's tokenizer. Does not work well with LaTeX and comments
|
|
13
|
+
% breakbytoken=true,
|
|
14
|
+
% breakbytokenanywhere=true
|
|
15
|
+
}
|
|
5
16
|
|
|
6
17
|
\usemintedstyle{bw} %black and white style
|
|
7
18
|
%\usemintedstyle{vs} %visual studio
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<%= heading2 %>{Checking references}
|
|
2
|
+
|
|
3
|
+
The package refcheck provides a) putting used labels into the margin and b) outputting in the log file if labels are unused.
|
|
4
|
+
The features are disabled in the template, because users might not be used to it.
|
|
5
|
+
From this section on, the feature is enabled.
|
|
6
|
+
|
|
7
|
+
% Enable showing reference names
|
|
8
|
+
\showrefnames
|
|
9
|
+
|
|
10
|
+
<%- bexample %>
|
|
11
|
+
\begin{figure}
|
|
12
|
+
Minimal figure to demonstrate refcheck.
|
|
13
|
+
\caption{Minimal figure to demonstrate refcheck.}
|
|
14
|
+
\label{refcheckexamplefigure}
|
|
15
|
+
\end{figure}
|
|
16
|
+
|
|
17
|
+
See \ref{refcheckexamplefigure}.
|
|
18
|
+
<%- eexample %>
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
% Enable equation check feature
|
|
22
|
+
\checkunlbld
|
|
23
|
+
|
|
24
|
+
<%- bexample %>
|
|
25
|
+
\begin{eqnarray}
|
|
26
|
+
a & = & b\label{eq1}\\
|
|
27
|
+
b & = & c\label{eq2}\\
|
|
28
|
+
c & = & d\label{eq3}
|
|
29
|
+
\end{eqnarray}
|
|
30
|
+
|
|
31
|
+
See \ref{eq1}.
|
|
32
|
+
<%- eexample %>
|
|
33
|
+
|
|
34
|
+
% This shows the BibTeX keys in the margin
|
|
35
|
+
% Cannot be demonstrated properly, thus not enabled
|
|
36
|
+
% \showcitenames
|