Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
latextemplates
GitHub Repository: latextemplates/LNCS
Path: blob/main/paper.tex
426 views
1
% This template has been tested with LLNCS DOCUMENT CLASS -- version 2.21 (12-Jan-2022)
2
3
% !TeX spellcheck = en-US
4
% LTeX: language=en-US
5
% !TeX encoding = utf8
6
% !TeX program = lualatex
7
% !BIB program = bibtex
8
% -*- coding:utf-8 mod:LaTeX -*-
9
10
% "a4paper" enables:
11
%
12
% - easy print out on DIN A4 paper size
13
%
14
% One can configure default page size (a4 vs. letter) in the LaTeX installation.
15
% Thus, it is configuration dependend, what the paper size will be.
16
% Having "a4paper" option present, the page size is set to A4.
17
% Note that the current word template offered by Springer is DIN A4.
18
%
19
% "runningheads" enables:
20
%
21
% - page number on page 2 onwards
22
% - title/authors on even/odd pages
23
%
24
% This is good for other readers to enable proper archiving among other papers and pointing to
25
% content. Even if the title page states the title, when printed and stored in a folder, when
26
% blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore,
27
% it is good to have title printed on the pages, too.
28
%
29
% The optiion "runningheads" neesd to be removed upon request of the publisher.
30
%
31
% To disable outputting page headers and footers, remove "runningheads"
32
\documentclass[runningheads,a4paper,english]{llncs}[2022/01/12]
33
34
\usepackage{iftex}
35
36
% backticks (`) are rendered as such in verbatim environments.
37
% See following links for details:
38
% - https://tex.stackexchange.com/a/341057/9075
39
% - https://tex.stackexchange.com/a/47451/9075
40
% - https://tex.stackexchange.com/a/166791/9075
41
\usepackage{upquote}
42
43
% Set English as language and allow to write hyphenated"=words
44
%
45
% Even though `american`, `english` and `USenglish` are synonyms for babel package (according to https://tex.stackexchange.com/questions/12775/babel-english-american-usenglish), the llncs document class is prepared to avoid the overriding of certain names (such as "Abstract." -> "Abstract" or "Fig." -> "Figure") when using `english`, but not when using the other 2.
46
% english has to go last to set it as default language
47
\usepackage[ngerman,main=english]{babel}
48
%
49
% Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes
50
\addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}}
51
52
% Links behave as they should. Enables "\url{...}" for URL typesettings.
53
% Allow URL breaks also at a hyphen, even though it might be confusing: Is the "-" part of the address or just a hyphen?
54
% See https://tex.stackexchange.com/a/3034/9075.
55
\usepackage[hyphens]{url}
56
57
% When activated, use text font as url font, not the monospaced one.
58
% For all options see https://tex.stackexchange.com/a/261435/9075.
59
% \urlstyle{same}
60
61
% Improve wrapping of URLs - hint by http://tex.stackexchange.com/a/10419/9075
62
\makeatletter
63
\g@addto@macro{\UrlBreaks}{\UrlOrds}
64
\makeatother
65
66
% nicer // - solution by http://tex.stackexchange.com/a/98470/9075
67
% DO NOT ACTIVATE -> prevents line breaks
68
%\makeatletter
69
%\def\Url@twoslashes{\mathchar`\/\@ifnextchar/{\kern-.2em}{}}
70
%\g@addto@macro\UrlSpecials{\do\/{\Url@twoslashes}}
71
%\makeatother
72
73
%% !!! If you change the font, be sure that words such as "workflow" can
74
%% !!! still be copied from the PDF. If this is not the case, you have
75
%% !!! to use glyphtounicode. See comment at cmap package.
76
%%
77
%% Background: "workflow" contains "fl" which is a ligature, which in turn
78
%% is rendered as one character in the PDF and needs to be split
79
%% whily copying.
80
81
\ifluatex
82
\usepackage[no-math]{fontspec}
83
\usepackage{unicode-math}
84
85
% Typewriter font (for source code etc)
86
% Use New Computer Modern font (Computer Modern is the default LaTeX font; this is the implemented modern variant)
87
% Source: https://tug.org/FontCatalogue/newcomputermoderntypewriter/
88
89
\setmainfont[
90
ItalicFont=NewCM10-Italic.otf,
91
BoldFont=NewCM10-Bold.otf,
92
BoldItalicFont=NewCM10-BoldItalic.otf,
93
SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf}
94
95
\setsansfont[
96
ItalicFont=NewCMSans10-Oblique.otf,
97
BoldFont=NewCMSans10-Bold.otf,
98
BoldItalicFont=NewCMSans10-BoldOblique.otf,
99
SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf}
100
101
\setmonofont[ItalicFont=NewCMMono10-Italic.otf,
102
BoldFont=NewCMMono10-Bold.otf,
103
BoldItalicFont=NewCMMono10-BoldOblique.otf,
104
SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf}
105
106
\setmathfont{NewCMMath-Regular.otf}
107
108
% Enable proper ligatures
109
% For more information see https://ctan.org/pkg/selnolig
110
% language "english" or "ngerman" is passed to selnolig by the document class
111
\usepackage{selnolig}
112
113
\else
114
% This is the modern package for "Computer Modern".
115
% In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex)
116
\usepackage[%
117
rm={oldstyle=false,proportional=true},%
118
sf={oldstyle=false,proportional=true},%
119
% By using 'variable=true' the monospaced font can be used as variable font (with differents widths per letter)
120
% However, this makes listings look ugly.
121
tt={oldstyle=false,proportional=true,variable=false},%
122
qt=false%
123
]{cfr-lm}
124
125
% Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075.
126
\usepackage[T1]{fontenc}
127
\fi
128
129
% Character protrusion and font expansion. See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/
130
131
\usepackage[
132
babel=true, % Enable language-specific kerning. Take language-settings from the languge of the current document (see Section 6 of microtype.pdf)
133
expansion=alltext,
134
protrusion=alltext-nott, % Ensure that at listings, there is no change at the margin of the listing
135
% In the standard configuration, this template is always in the final mode, so this option only makes a difference if "pros" use the draft mode
136
final % Always enable microtype, even if in draft mode. This helps finding bad boxes quickly.
137
]{microtype}
138
139
% \texttt{test -- test} keeps the "--" as "--" (and does not convert it to an en dash)
140
\DisableLigatures{encoding = T1, family = tt* }
141
142
%\DeclareMicrotypeSet*[tracking]{my}{ font = */*/*/sc/* }%
143
%\SetTracking{ encoding = *, shape = sc }{ 45 }
144
% Source: http://homepage.ruhr-uni-bochum.de/Georg.Verweyen/pakete.html
145
% Deactiviated, because does not look good
146
147
\usepackage{graphicx}
148
149
% Diagonal lines in a table - http://tex.stackexchange.com/questions/17745/diagonal-lines-in-table-cell
150
% Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox
151
\usepackage{diagbox}
152
153
\ifluatex
154
\usepackage{spelling}
155
\spellingoutput{off}
156
\fi
157
158
\usepackage[dvipsnames, table]{xcolor}
159
% Code Listings
160
\usepackage{listings}
161
162
\definecolor{eclipseStrings}{RGB}{42,0.0,255}
163
\definecolor{eclipseKeywords}{RGB}{127,0,85}
164
\colorlet{numb}{magenta!60!black}
165
166
% JSON definition
167
% Source: https://tex.stackexchange.com/a/433961/9075
168
169
\lstdefinelanguage{json}{
170
basicstyle=\normalfont\ttfamily,
171
commentstyle=\color{eclipseStrings}, % style of comment
172
stringstyle=\color{eclipseKeywords}, % style of strings
173
numbers=left,
174
numberstyle=\scriptsize,
175
stepnumber=1,
176
numbersep=8pt,
177
showstringspaces=false,
178
breaklines=true,
179
frame=lines,
180
% backgroundcolor=\color{gray}, %only if you like
181
string=[s]{"}{"},
182
comment=[l]{:\ "},
183
morecomment=[l]{:"},
184
literate=
185
*{0}{{{\color{numb}0}}}{1}
186
{1}{{{\color{numb}1}}}{1}
187
{2}{{{\color{numb}2}}}{1}
188
{3}{{{\color{numb}3}}}{1}
189
{4}{{{\color{numb}4}}}{1}
190
{5}{{{\color{numb}5}}}{1}
191
{6}{{{\color{numb}6}}}{1}
192
{7}{{{\color{numb}7}}}{1}
193
{8}{{{\color{numb}8}}}{1}
194
{9}{{{\color{numb}9}}}{1}
195
}
196
197
\lstset{
198
% everything between (* *) is a latex command
199
escapeinside={(*}{*)},
200
%
201
language=json,
202
%
203
showstringspaces=false,
204
%
205
basicstyle=\footnotesize\ttfamily,
206
%
207
commentstyle=\slshape,
208
%
209
% default: \rmfamily
210
stringstyle=\ttfamily,
211
%
212
breaklines=true, % Zeilen werden umbrochen
213
%
214
breakatwhitespace=true,
215
%
216
% alternative: fixed
217
columns=flexible,
218
%
219
tabsize=2, % Groesse von Tabs
220
%
221
numbers=left,
222
%
223
numberstyle=\tiny,
224
%
225
basewidth=.5em,
226
%
227
xleftmargin=.5cm,
228
%
229
% aboveskip=0mm,
230
%
231
% belowskip=0mm,
232
%
233
captionpos=b
234
}
235
236
\ifpdftex
237
% Enable Umlauts when using \lstinputputlisting.
238
% See https://stackoverflow.com/a/29260603/873282 and https://tex.stackexchange.com/a/24532/9075 for details.
239
% listingsutf8 did not work in June 2020.
240
\lstset{extendedchars=true, literate=
241
{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
242
{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
243
{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
244
{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
245
{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
246
{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
247
{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
248
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
249
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1
250
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
251
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
252
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
253
}
254
\fi
255
256
\lstloadlanguages{% Check dokumentation for further languages...
257
%[Visual]Basic
258
%Pascal
259
%C
260
%C++
261
%XML
262
%HTML
263
}
264
265
% For easy quotations: \enquote{text}
266
% This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command
267
\usepackage[autostyle=true]{csquotes}
268
269
% Enable using "`quote"' - see https://tex.stackexchange.com/a/150954/9075
270
\defineshorthand{"`}{\openautoquote}
271
\defineshorthand{"'}{\closeautoquote}
272
273
% Nicer tables (\toprule, \midrule, \bottomrule)
274
\usepackage{booktabs}
275
276
% Extended enumerate, such as \begin{compactenum}
277
\usepackage{paralist}
278
279
% Bibliopgraphy enhancements
280
% - enable \cite[prenote][]{ref}
281
% - enable \cite{ref1,ref2}
282
% Alternative: \usepackage{cite}, which enables \cite{ref1, ref2} only (otherwise: Error message: "White space in argument")
283
284
% Doc: http://texdoc.net/natbib
285
\usepackage[%
286
square, % for square brackets
287
comma, % use commas as separators
288
numbers, % for numerical citations;
289
%sort % orders multiple citations into the sequence in which they appear in the list of references;
290
sort&compress % as sort but in addition multiple numerical citations are compressed if possible (as 3-6, 15);
291
]{natbib}
292
293
% In the bibliography, references have to be formatted as 1., 2., ... not [1], [2], ...
294
\renewcommand{\bibnumfmt}[1]{#1.}
295
296
% Enable hyperlinked author names in the case of \citet
297
% Source: https://tex.stackexchange.com/a/76075/9075
298
\usepackage{etoolbox}
299
\makeatletter
300
\patchcmd{\NAT@test}{\else \NAT@nm}{\else \NAT@hyper@{\NAT@nm}}{}{}
301
\makeatother
302
303
% Prepare more space-saving rendering of the bibliography
304
% Source: https://tex.stackexchange.com/a/280936/9075
305
\SetExpansion
306
[ context = sloppy,
307
stretch = 30,
308
shrink = 60,
309
step = 5 ]
310
{ encoding = {OT1,T1,TS1} }
311
{ }
312
313
% Put figures aside a text
314
% Even though the package is from 1998, it works well
315
\usepackage[rflt]{floatflt}
316
317
% Farbige Tabellen
318
% ----------------
319
% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen
320
%
321
% Erweiterte Funktionen innerhalb von Tabellen
322
% --------------------------------------------
323
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty
324
\usepackage{multirow} % Mehrfachspalten
325
%
326
%%% Doc: Documentation inside dtx Package
327
\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt
328
329
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf
330
%\usepackage{supertabular}
331
332
%%% Fussnoten/Endnoten ===================================================
333
334
% EN: Put footnotes below floats
335
% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren
336
% Source: https://tex.stackexchange.com/a/32993/9075
337
\usepackage{stfloats}
338
\fnbelowfloat
339
340
% EN: Extended support for footnotes
341
% DE: Fußnoten
342
%
343
%\usepackage{dblfnote} %Zweispaltige Fußnoten
344
%
345
% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch):
346
%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}}
347
%
348
% Abstand zwischen Fußnoten vergrößern:
349
%\setlength{\footnotesep}{.85\baselineskip}
350
%
351
% EN: Following command disables the separting line of the footnote
352
% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote
353
%\renewcommand{\footnoterule}{}
354
%
355
%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote
356
357
% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite
358
% DE: fnpos kommt aus dem yafoot package
359
%\usepackage{fnpos}
360
%\makeFNbelow
361
%\makeFNbottom
362
363
% TODO (and comment) configuration
364
%
365
% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs
366
% - \todofix - "important" TODOs
367
%
368
% - \textcomment - highlights text and has a hover comment
369
% - \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)
370
%
371
% - \missingfigure
372
%
373
% - \textmarker
374
% - \modified
375
% - \change - adresses a review comment
376
377
% Enable nice comments
378
\usepackage{pdfcomment}
379
380
\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}}
381
382
% Small PDF comment
383
% 1. Parameter: Comment
384
\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}}
385
% Disabled variant - for the final PDF
386
%\newcommand{\sidecomment}[1]{}
387
388
\newcommand{\todo}[1]{TODO!\sidecomment{#1}}
389
390
% Änderungen
391
%
392
% 1. Parameter: Review-Kommentar
393
% 2. Parameter: Neuer Text
394
\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}}
395
% Disabled variant - for the final PDF
396
%\newcommand{\change}[2]{#2}
397
398
% Define default commands
399
\makeatletter
400
\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{}
401
\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{}
402
\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{}
403
\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{}
404
\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{}
405
\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{}
406
\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{}
407
\makeatother
408
409
% Textmarker (Textfarbe rot)
410
\newcommand{\textmarker}[1]{{\color{red} #1}\xspace}
411
412
% Modified (Text blau)
413
\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace}
414
415
\usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx}
416
417
% 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
418
\usepackage{hyperref}
419
420
% Enable hyperref without colors and without bookmarks
421
\hypersetup{
422
hidelinks,
423
colorlinks=true, % Links erhalten Farben statt Kaeten
424
raiselinks=true, % calculate real height of the link
425
allcolors=black,
426
pdfstartview=Fit,
427
breaklinks=true, % Links ueberstehen Zeilenumbruch
428
hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075
429
}
430
431
% Enable correct jumping to figures when referencing
432
\usepackage[all]{hypcap}
433
434
\usepackage[caption=false,font=footnotesize]{subfig}
435
436
% Alternative for making subfigures:
437
% Part of the caption package. See http://www.ctan.org/pkg/caption
438
% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075
439
%
440
% (subfigure is outdated. subfig is maintained, but subcaption is better)
441
% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure
442
%\usepackage[hypcap=true]{subcaption}
443
444
\usepackage{mindflow}
445
446
% Extensions for references inside the document (\cref{fig:sample}, ...)
447
% Enable usage \cref{...} and \Cref{...} instead of \ref: Type of reference included in the link
448
% That means, "Figure 5" is a full link instead of just "5".
449
\usepackage[capitalise,nameinlink]{cleveref}
450
451
\crefname{section}{Sect.}{Sect.}
452
\Crefname{section}{Section}{Sections}
453
\crefname{listing}{List.}{List.}
454
\crefname{listing}{Listing}{Listings}
455
\Crefname{listing}{Listing}{Listings}
456
\crefname{lstlisting}{Listing}{Listings}
457
\Crefname{lstlisting}{Listing}{Listings}
458
459
\usepackage{lipsum}
460
461
% For demonstration purposes only
462
% These packages can be removed when all examples have been deleted
463
\usepackage[math]{blindtext}
464
\usepackage{mwe}
465
\usepackage[realmainfile]{currfile}
466
\usepackage{tcolorbox}
467
\tcbuselibrary{listings}
468
469
%introduce \powerset - hint by http://matheplanet.com/matheplanet/nuke/html/viewtopic.php?topic=136492&post_id=997377
470
\DeclareFontFamily{U}{MnSymbolC}{}
471
\DeclareSymbolFont{MnSyC}{U}{MnSymbolC}{m}{n}
472
\DeclareFontShape{U}{MnSymbolC}{m}{n}{
473
<-6> MnSymbolC5
474
<6-7> MnSymbolC6
475
<7-8> MnSymbolC7
476
<8-9> MnSymbolC8
477
<9-10> MnSymbolC9
478
<10-12> MnSymbolC10
479
<12-> MnSymbolC12%
480
}{}
481
\DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180}
482
483
% Allows for defining commands that don't eat spaces.
484
\usepackage{xspace}
485
% Adds compatibility to \xspace und \enquote
486
\makeatletter
487
\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} }
488
\makeatother
489
490
\newcommand{\eg}{e.g.,\ }
491
\newcommand{\ie}{i.e.,\ }
492
493
% Enable hyphenation at other places as the dash.
494
% Example: applicaiton\hydash specific
495
\makeatletter
496
\newcommand{\hydash}{\penalty\@M-\hskip\z@skip}
497
% Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx
498
\makeatother
499
500
% Add manual adapted hyphenation of English words
501
% See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details
502
\input{ushyphex}
503
504
% correct bad hyphenation here
505
\hyphenation{
506
op-tical net-works semi-conduc-tor
507
% May not be hypphenated
508
AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
509
}
510
511
\input{commands}
512
513
% Add copyright
514
%
515
% This is recommended if you intend to send the version to colleagues
516
% See https://ctan.org/pkg/llncsconf for details
517
\iffalse
518
% state: intended | submitted | llncs
519
% you can add "crop" if the paper should be cropped to the format Springer is publishing
520
\usepackage[intended]{llncsconf}
521
522
\conference{name of the conference}
523
524
% in case of "proceedings" (final version!)
525
% example: \llncs{Anonymous et al. (eds). \emph{Proceedings of the International Conference on \LaTeX-Hacks}, LNCS~42. Some Publisher, 2016.}{0042}
526
% 0042 denotes an example start page
527
\llncs{book editors and title}{0042}
528
\fi
529
530
\ifpdftex
531
% Enable copy and paste of text from the PDF
532
% Only required for pdflatex. It "just works" in the case of lualatex.
533
% Alternative: cmap or mmap package
534
% mmap enables mathematical symbols, but does not work with the newtx font set
535
% See: https://tex.stackexchange.com/a/64457/9075
536
% 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
537
% Trouble shooting outlined at https://tex.stackexchange.com/a/100618/9075
538
%
539
% According to https://tex.stackexchange.com/q/451235/9075 this is the way to go
540
\input{glyphtounicode}
541
\pdfgentounicode=1
542
\fi
543
\begin{document}
544
545
\title{Paper Title}
546
% If Title is too long, use \titlerunning
547
%\titlerunning{Short Title}
548
549
% Single insitute
550
\author{Firstname Lastname \and Firstname Lastname}
551
552
% If there are too many authors, use \authorrunning
553
%\authorrunning{First Author et al.}
554
555
\institute{Institute}
556
557
%% Multiple insitutes - ALTERNATIVE to the above
558
% \author{%
559
% Firstname Lastname\inst{1} \and
560
% Firstname Lastname\inst{2}
561
% }
562
%
563
%If there are too many authors, use \authorrunning
564
% \authorrunning{First Author et al.}
565
%
566
% \institute{
567
% Insitute 1\\
568
% \email{...}\and
569
% Insitute 2\\
570
% \email{...}
571
%}
572
573
\maketitle
574
575
\begin{abstract}
576
\lipsum[1]
577
578
\keywords{First keyword \and Second keyword \and Third keyword}
579
\end{abstract}
580
581
582
\section{Introduction}
583
\label{sec:introduction}
584
\lipsum[1-3]\todo{Refine me}
585
586
The remainder of the paper starts with a presentation of related work (\cref{sec:relatedwork}).
587
It is followed by a presentation of hints on \LaTeX{} (\cref{sec:latexhints}).
588
Finally, a conclusion is drawn and outlook on future work is made (\cref{sec:outlook}).
589
590
\section{Related Work}
591
\label{sec:relatedwork}
592
593
Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of American English} tool.
594
The whole idea of TOSCA is explained by \citet{Binz2009}.
595
596
\section{LaTeX Hints}
597
\label{sec:latexhints}
598
599
% Required for proper example rendering in the compiled PDF
600
\newcount\LTGbeginlineexample
601
\newcount\LTGendlineexample
602
\newenvironment{ltgexample}%
603
{\LTGbeginlineexample=\numexpr\inputlineno+1\relax}%
604
{\LTGendlineexample=\numexpr\inputlineno-1\relax%
605
\tcbinputlisting{%
606
listing only,
607
listing file=\currfilepath,
608
colback=green!5!white,
609
colframe=green!25,
610
coltitle=black!90,
611
coltext=black!90,
612
left=8mm,
613
title=Corresponding \LaTeX{} code of \texttt{\currfilepath},
614
listing options={
615
frame=none,
616
language={[LaTeX]TeX},
617
escapeinside={},
618
firstline=\the\LTGbeginlineexample,
619
lastline=\the\LTGendlineexample,
620
firstnumber=\the\LTGbeginlineexample,
621
basewidth=.5em,
622
aboveskip=0mm,
623
belowskip=0mm,
624
numbers=left,
625
xleftmargin=0mm,
626
numberstyle=\tiny,
627
numbersep=8pt%
628
}
629
}
630
}%
631
632
This section contains hints on writing LaTeX.
633
It focuses on minimal examples, which can be directly adapted to the content
634
635
\subsection{Handling of paragraphs}
636
637
\begin{ltgexample}
638
One sentence per line.
639
This rule is important for the usage of version control systems.
640
A new line is generated with a blank line.
641
As you would do in Word:
642
New paragraphs are generated by pressing enter.
643
In LaTeX, this does not lead to a new paragraph as LaTeX joins subsequent lines.
644
In case you want a new paragraph, just press enter twice!
645
This leads to an empty line.
646
In word, there is the functionality to press shift and enter.
647
This leads to a hard line break.
648
The text starts at the beginning of a new line.
649
In LaTeX, you can do that by using two backslashes (\textbackslash\textbackslash).
650
\\
651
This is rarely used.
652
653
Please do \textit{not} use two backslashes for new paragraphs.
654
For instance, this sentence belongs to the same paragraph, whereas the last one started a new one.
655
A long motivation for that is provided at \url{http://loopspace.mathforge.org/HowDidIDoThat/TeX/VCS/#section.3}.
656
\end{ltgexample}
657
658
\subsection{Notes separated from the text}
659
660
The package mindflow enables writing down notes and annotations in a way so that they are separated from the main text.
661
662
\begin{ltgexample}
663
\begin{mindflow}
664
This is a small note.
665
\end{mindflow}
666
\end{ltgexample}
667
668
\subsection{Handling TODOs}
669
670
\begin{ltgexample}
671
\textmarker{Markierter Text.}
672
\end{ltgexample}
673
674
Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert.
675
676
\begin{ltgexample}
677
\textcomment{Markierter Text.}{Kommentar dazu.}
678
\end{ltgexample}
679
680
\begin{ltgexample}
681
\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.}
682
\end{ltgexample}
683
684
\begin{ltgexample}
685
Das ist ein Text.
686
\change{FL1: Text angepasst}{Geänderter Text}.
687
\end{ltgexample}
688
689
\begin{ltgexample}
690
Hier nur ein Kommentar\sidecomment{Kommentar}.
691
\end{ltgexample}
692
693
\begin{ltgexample}
694
\todo{Hier muss noch kräftig Text produziert werden}
695
\end{ltgexample}
696
697
\subsection{Hyphenation}
698
699
\LaTeX{} automatically hyphenates words.
700
When using \href{https://ctan.org/pkg/microtype}{microtype}, there should be fewer hyphenations than in other settings.
701
It might be necessary to tweak the hyphenations nevertheless.
702
Here are some hints:
703
704
\begin{ltgexample}
705
In case you write \enquote{application-specific}, then the word will only be hyphenated at the dash.
706
You can also write \verb1applica\allowbreak{}tion-specific1 (result: applica\allowbreak{}tion-specific), but this is much more effort.
707
708
You can now write words containing hyphens which are hyphenated at other places in the word.
709
For instance, \verb1application"=specific1 gets application"=specific.
710
This is enabled by an additional configuration of the babel package.
711
\end{ltgexample}
712
713
\subsection{Typesetting Units}
714
715
\begin{ltgexample}
716
Numbers can be written plain text (such as 100), by using the \href{https://ctan.org/pkg/siunitx}{siunitx} package as follows:
717
\SI{100}{\km\per\hour},
718
or by using plain \LaTeX{} (and math mode):
719
$100 \frac{\mathit{km}}{h}$.
720
\end{ltgexample}
721
722
\begin{ltgexample}
723
\SI{5}{\percent} of \SI{10}{kg}
724
\end{ltgexample}
725
726
\begin{ltgexample}
727
Numbers are automatically grouped: \num{123456}.
728
\end{ltgexample}
729
730
\subsection{Surrounding Text by Quotes}
731
732
\begin{ltgexample}
733
Please use the \enquote{enquote command} to quote something.
734
Quoting with "`quote"' or ``quote'' also works.
735
736
\end{ltgexample}
737
738
\subsection{Cleveref examples}
739
\label{sec:ex:cref}
740
741
Cleveref demonstration: Cref at beginning of sentence, cref in all other cases.
742
743
\begin{figure}
744
\centering
745
\includegraphics[width=.75\linewidth]{example-image-a}
746
\caption{Example figure for cref demo}
747
\label{fig:ex:cref}
748
\end{figure}
749
750
\begin{table}
751
\centering
752
\begin{tabular}{ll}
753
\toprule
754
Heading1 & Heading2 \\
755
\midrule
756
One & Two \\
757
Thee & Four \\
758
\bottomrule
759
\end{tabular}
760
\caption{Example table for cref demo}
761
\label{tab:ex:cref}
762
\end{table}
763
764
\begin{ltgexample}
765
\Cref{fig:ex:cref} shows a simple fact, although \cref{fig:ex:cref} could also show something else.
766
767
\Cref{tab:ex:cref} shows a simple fact, although \cref{tab:ex:cref} could also show something else.
768
769
\Cref{sec:ex:cref} shows a simple fact, although \cref{sec:ex:cref} could also show something else.
770
\end{ltgexample}
771
772
\subsection{Figures}
773
774
\begin{ltgexample}
775
\Cref{fig:label} shows something interesting.
776
777
\begin{figure}
778
\centering
779
\includegraphics[width=.8\linewidth]{example-image-golden}
780
\caption[Simple Figure]{
781
Simple Figure.
782
Based on \citet{mwe}.
783
}
784
\label{fig:label}
785
\end{figure}
786
\end{ltgexample}
787
788
One can also have pictures floating inside text:
789
\clearpage
790
791
\begin{ltgexample}
792
\begin{floatingfigure}{.33\linewidth}
793
\includegraphics[width=.29\linewidth]{example-image-a}
794
\caption{A floating figure}
795
\end{floatingfigure}
796
\lipsum[2]
797
\end{ltgexample}
798
799
\subsection{Sub Figures}
800
801
An example of two sub figures is shown in \cref{fig:two_sub_figures}.
802
803
\begin{ltgexample}
804
\begin{figure}[!b]
805
\centering
806
\subfloat[Case I]{\includegraphics[width=.4\linewidth]{example-image-a}%
807
\label{fig:first_case}}
808
\hfil
809
\subfloat[Case II]{\includegraphics[width=.4\linewidth]{example-image-b}%
810
\label{fig:second_case}}
811
\caption{Example figure with two sub figures.}
812
\label{fig:two_sub_figures}
813
\end{figure}
814
\end{ltgexample}
815
816
\subsection{Tables}
817
818
\begin{ltgexample}
819
\begin{table}
820
\caption{Simple Table}
821
\label{tab:simple}
822
\centering
823
\begin{tabular}{ll}
824
\toprule
825
Heading1 & Heading2 \\
826
\midrule
827
One & Two \\
828
Thee & Four \\
829
\bottomrule
830
\end{tabular}
831
\end{table}
832
\end{ltgexample}
833
834
\begin{ltgexample}
835
% Source: https://tex.stackexchange.com/a/468994/9075
836
\begin{table}
837
\caption{Table with diagonal line}
838
\label{tab:diag}
839
\begin{center}
840
\begin{tabular}{|l|c|c|}
841
\hline
842
\diagbox[width=10em]{Diag \\Column Head I}{Diag Column\\Head II} & Second & Third \\
843
\hline
844
& foo & bar \\
845
\hline
846
\end{tabular}
847
\end{center}
848
\end{table}
849
\end{ltgexample}
850
851
852
\subsection{Source Code}
853
854
\begin{ltgexample}
855
\Cref{lst:XML} shows source code written in XML.
856
\Cref{line:comment} contains a comment.
857
858
\begin{lstlisting}[
859
language=XML,
860
caption={Example XML Listing},
861
label={lst:XML}]
862
<listing name="example">
863
<!-- comment --> (* \label{line:comment} *)
864
<content>not interesting</content>
865
</listing>
866
\end{lstlisting}
867
\end{ltgexample}
868
869
One can also add \verb+float+ as parameter to have the listing floating.
870
\Cref{lst:flXML} shows the floating listing.
871
872
\begin{ltgexample}
873
\begin{lstlisting}[
874
% one can adjust spacing here if required
875
% aboveskip=2.5\baselineskip,
876
% belowskip=-.8\baselineskip,
877
float,
878
language=XML,
879
caption={Example XML listing -- placed as floating figure},
880
label={lst:flXML}]
881
<listing name="example">
882
Floating
883
</listing>
884
\end{lstlisting}
885
\end{ltgexample}
886
887
One can also typeset JSON as shown in \cref{lst:json}.
888
889
\begin{ltgexample}
890
\begin{lstlisting}[
891
float,
892
language=json,
893
caption={Example JSON listing -- placed as floating figure},
894
label={lst:json}]
895
{
896
key: "value"
897
}
898
\end{lstlisting}
899
\end{ltgexample}
900
901
Java is also possible as shown in \cref{lst:java}.
902
903
\begin{ltgexample}
904
\begin{lstlisting}[
905
caption={Example Java listing},
906
label=lst:java,
907
language=Java,
908
float]
909
public class Hello {
910
public static void main (String[] args) {
911
System.out.println("Hello World!");
912
}
913
}
914
\end{lstlisting}
915
\end{ltgexample}
916
917
\subsection{Itemization}
918
919
One can list items as follows:
920
921
\begin{ltgexample}
922
\begin{itemize}
923
\item Item One
924
\item Item Two
925
\end{itemize}
926
\end{ltgexample}
927
928
929
One can enumerate items as follows:
930
931
\begin{ltgexample}
932
\begin{enumerate}
933
\item Item One
934
\item Item Two
935
\end{enumerate}
936
\end{ltgexample}
937
938
939
With paralist, one can even have all items typeset after each other and have them clean in the TeX document:
940
941
\begin{ltgexample}
942
\begin{inparaenum}
943
\item All these items...
944
\item ...appear in one line
945
\item This is enabled by the paralist package.
946
\end{inparaenum}
947
\end{ltgexample}
948
949
\subsection{Other Features}
950
951
\begin{ltgexample}
952
The words \enquote{workflow} and \enquote{dwarflike} can be copied from the PDF and pasted to a text file.
953
\end{ltgexample}
954
955
\begin{ltgexample}
956
The symbol for powerset is now correct: $\powerset$ and not a Weierstrass p ($\wp$).
957
958
$\powerset({1,2,3})$
959
\end{ltgexample}
960
961
\begin{ltgexample}
962
Brackets work as designed:
963
<test>
964
One can also input backticks in verbatim text: \verb|`test`|.
965
\end{ltgexample}
966
967
968
\section{Conclusion and Outlook}
969
\label{sec:outlook}
970
\lipsum[1-2]
971
972
\subsubsection*{Acknowledgments}
973
974
Identification of funding sources and other support, and thanks to individuals and groups that assisted in the research and the preparation of the work should be included in an acknowledgment section, which is placed just before the reference section in your document \cite{acmart}.
975
976
%%% ===============================================================================
977
%%% Bibliography
978
%%% ===============================================================================
979
980
\renewcommand{\bibsection}{\section*{References}} % requried for natbib to have "References" printed and as section*, not chapter*
981
% Use natbib compatbile splncs04nat style.
982
% It does provide all features of splncs04.bst, but is developed in a clean way.
983
% Source: https://github.com/tpavlic/splncs04nat
984
\bibliographystyle{splncs04nat}
985
\begingroup
986
\microtypecontext{expansion=sloppy}
987
\small % ensure correct font size for the bibliography
988
\bibliography{paper}
989
\endgroup
990
991
% Enfore empty line after bibliography
992
\ \\
993
%
994
\noindent
995
All links were last followed on October 5, 2020.
996
997
%%% ===============================================================================
998
%\appendix
999
%\addcontentsline{toc}{chapter}{APPENDICES}
1000
1001
%\listoffigures
1002
%\listoftables
1003
%%% ===============================================================================
1004
1005
%%% ===============================================================================
1006
%\section{My first appendix}\label{sec:appendix1}
1007
%%% ===============================================================================
1008
\end{document}
1009
1010