Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
latextemplates
GitHub Repository: latextemplates/LNCS
Path: blob/main/paper.tex
224 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
extendedchars=true,
206
%
207
basicstyle=\footnotesize\ttfamily,
208
%
209
commentstyle=\slshape,
210
%
211
% default: \rmfamily
212
stringstyle=\ttfamily,
213
%
214
breaklines=true, % Zeilen werden umbrochen
215
%
216
breakatwhitespace=true,
217
%
218
% alternative: fixed
219
columns=flexible,
220
%
221
tabsize=2, % Groesse von Tabs
222
%
223
numbers=left,
224
%
225
numberstyle=\tiny,
226
%
227
basewidth=.5em,
228
%
229
xleftmargin=.5cm,
230
%
231
% aboveskip=0mm,
232
%
233
% belowskip=0mm,
234
%
235
captionpos=b
236
}
237
\ifpdftex
238
239
% Enable Umlauts when using \lstinputputlisting.
240
% See https://stackoverflow.com/a/29260603/873282 für details.
241
% listingsutf8 did not work in June 2020.
242
\lstset{literate=
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 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
250
{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
251
{Ã}{{\~A}}1 {ã}{{\~a}}1 {Õ}{{\~O}}1 {õ}{{\~o}}1
252
{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
253
{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
254
{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
255
}
256
\fi
257
258
\lstloadlanguages{% Check dokumentation for further languages...
259
%[Visual]Basic
260
%Pascal
261
%C
262
%C++
263
%XML
264
%HTML
265
}
266
267
% For easy quotations: \enquote{text}
268
% This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command
269
\usepackage[autostyle=true]{csquotes}
270
271
% Enable using "`quote"' - see https://tex.stackexchange.com/a/150954/9075
272
\defineshorthand{"`}{\openautoquote}
273
\defineshorthand{"'}{\closeautoquote}
274
275
% Nicer tables (\toprule, \midrule, \bottomrule)
276
\usepackage{booktabs}
277
278
% Extended enumerate, such as \begin{compactenum}
279
\usepackage{paralist}
280
281
% Bibliopgraphy enhancements
282
% - enable \cite[prenote][]{ref}
283
% - enable \cite{ref1,ref2}
284
% Alternative: \usepackage{cite}, which enables \cite{ref1, ref2} only (otherwise: Error message: "White space in argument")
285
286
% Doc: http://texdoc.net/natbib
287
\usepackage[%
288
square, % for square brackets
289
comma, % use commas as separators
290
numbers, % for numerical citations;
291
%sort % orders multiple citations into the sequence in which they appear in the list of references;
292
sort&compress % as sort but in addition multiple numerical citations are compressed if possible (as 3-6, 15);
293
]{natbib}
294
295
% In the bibliography, references have to be formatted as 1., 2., ... not [1], [2], ...
296
\renewcommand{\bibnumfmt}[1]{#1.}
297
298
% Enable hyperlinked author names in the case of \citet
299
% Source: https://tex.stackexchange.com/a/76075/9075
300
\usepackage{etoolbox}
301
\makeatletter
302
\patchcmd{\NAT@test}{\else \NAT@nm}{\else \NAT@hyper@{\NAT@nm}}{}{}
303
\makeatother
304
305
% Prepare more space-saving rendering of the bibliography
306
% Source: https://tex.stackexchange.com/a/280936/9075
307
\SetExpansion
308
[ context = sloppy,
309
stretch = 30,
310
shrink = 60,
311
step = 5 ]
312
{ encoding = {OT1,T1,TS1} }
313
{ }
314
315
% Put figures aside a text
316
% Even though the package is from 1998, it works well
317
\usepackage[rflt]{floatflt}
318
319
% Farbige Tabellen
320
% ----------------
321
% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen
322
%
323
% Erweiterte Funktionen innerhalb von Tabellen
324
% --------------------------------------------
325
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty
326
\usepackage{multirow} % Mehrfachspalten
327
%
328
%%% Doc: Documentation inside dtx Package
329
\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt
330
331
%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf
332
%\usepackage{supertabular}
333
334
%%% Fussnoten/Endnoten ===================================================
335
336
% EN: Put footnotes below floats
337
% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren
338
% Source: https://tex.stackexchange.com/a/32993/9075
339
\usepackage{stfloats}
340
\fnbelowfloat
341
342
% EN: Extended support for footnotes
343
% DE: Fußnoten
344
%
345
%\usepackage{dblfnote} %Zweispaltige Fußnoten
346
%
347
% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch):
348
%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}}
349
%
350
% Abstand zwischen Fußnoten vergrößern:
351
%\setlength{\footnotesep}{.85\baselineskip}
352
%
353
% EN: Following command disables the separting line of the footnote
354
% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote
355
%\renewcommand{\footnoterule}{}
356
%
357
%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote
358
359
% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite
360
% DE: fnpos kommt aus dem yafoot package
361
%\usepackage{fnpos}
362
%\makeFNbelow
363
%\makeFNbottom
364
365
% TODO (and comment) configuration
366
%
367
% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs
368
% - \todofix - "important" TODOs
369
%
370
% - \textcomment - highlights text and has a hover comment
371
% - \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)
372
%
373
% - \missingfigure
374
%
375
% - \textmarker
376
% - \modified
377
% - \change - adresses a review comment
378
379
% Enable nice comments
380
\usepackage{pdfcomment}
381
382
\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}}
383
384
% Small PDF comment
385
% 1. Parameter: Comment
386
\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}}
387
% Disabled variant - for the final PDF
388
%\newcommand{\sidecomment}[1]{}
389
390
\newcommand{\todo}[1]{TODO!\sidecomment{#1}}
391
392
% Änderungen
393
%
394
% 1. Parameter: Review-Kommentar
395
% 2. Parameter: Neuer Text
396
\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}}
397
% Disabled variant - for the final PDF
398
%\newcommand{\change}[2]{#2}
399
400
% Define default commands
401
\makeatletter
402
\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{}
403
\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{}
404
\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{}
405
\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{}
406
\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{}
407
\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{}
408
\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{}
409
\makeatother
410
411
% Textmarker (Textfarbe rot)
412
\newcommand{\textmarker}[1]{{\color{red} #1}\xspace}
413
414
% Modified (Text blau)
415
\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace}
416
417
\usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx}
418
419
% 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
420
\usepackage{hyperref}
421
422
% Enable hyperref without colors and without bookmarks
423
\hypersetup{
424
hidelinks,
425
colorlinks=true, % Links erhalten Farben statt Kaeten
426
raiselinks=true, % calculate real height of the link
427
allcolors=black,
428
pdfstartview=Fit,
429
breaklinks=true, % Links ueberstehen Zeilenumbruch
430
hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075
431
}
432
433
% Enable correct jumping to figures when referencing
434
\usepackage[all]{hypcap}
435
436
\usepackage[caption=false,font=footnotesize]{subfig}
437
438
% Alternative for making subfigures:
439
% Part of the caption package. See http://www.ctan.org/pkg/caption
440
% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075
441
%
442
% (subfigure is outdated. subfig is maintained, but subcaption is better)
443
% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure
444
%\usepackage[hypcap=true]{subcaption}
445
446
\usepackage{mindflow}
447
448
% Extensions for references inside the document (\cref{fig:sample}, ...)
449
% Enable usage \cref{...} and \Cref{...} instead of \ref: Type of reference included in the link
450
% That means, "Figure 5" is a full link instead of just "5".
451
\usepackage[capitalise,nameinlink]{cleveref}
452
453
\crefname{section}{Sect.}{Sect.}
454
\Crefname{section}{Section}{Sections}
455
\crefname{listing}{List.}{List.}
456
\crefname{listing}{Listing}{Listings}
457
\Crefname{listing}{Listing}{Listings}
458
\crefname{lstlisting}{Listing}{Listings}
459
\Crefname{lstlisting}{Listing}{Listings}
460
461
\usepackage{lipsum}
462
463
% For demonstration purposes only
464
% These packages can be removed when all examples have been deleted
465
\usepackage[math]{blindtext}
466
\usepackage{mwe}
467
\usepackage[realmainfile]{currfile}
468
\usepackage{tcolorbox}
469
\tcbuselibrary{listings}
470
471
%introduce \powerset - hint by http://matheplanet.com/matheplanet/nuke/html/viewtopic.php?topic=136492&post_id=997377
472
\DeclareFontFamily{U}{MnSymbolC}{}
473
\DeclareSymbolFont{MnSyC}{U}{MnSymbolC}{m}{n}
474
\DeclareFontShape{U}{MnSymbolC}{m}{n}{
475
<-6> MnSymbolC5
476
<6-7> MnSymbolC6
477
<7-8> MnSymbolC7
478
<8-9> MnSymbolC8
479
<9-10> MnSymbolC9
480
<10-12> MnSymbolC10
481
<12-> MnSymbolC12%
482
}{}
483
\DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180}
484
485
% Allows for defining commands that don't eat spaces.
486
\usepackage{xspace}
487
% Adds compatibility to \xspace und \enquote
488
\makeatletter
489
\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} }
490
\makeatother
491
492
\newcommand{\eg}{e.g.,\ }
493
\newcommand{\ie}{i.e.,\ }
494
495
% Enable hyphenation at other places as the dash.
496
% Example: applicaiton\hydash specific
497
\makeatletter
498
\newcommand{\hydash}{\penalty\@M-\hskip\z@skip}
499
% Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx
500
\makeatother
501
502
% Add manual adapted hyphenation of English words
503
% See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details
504
\input{ushyphex}
505
506
% correct bad hyphenation here
507
\hyphenation{
508
op-tical net-works semi-conduc-tor
509
% May not be hypphenated
510
AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps
511
}
512
513
\input{commands}
514
515
% Add copyright
516
%
517
% This is recommended if you intend to send the version to colleagues
518
% See https://ctan.org/pkg/llncsconf for details
519
\iffalse
520
% state: intended | submitted | llncs
521
% you can add "crop" if the paper should be cropped to the format Springer is publishing
522
\usepackage[intended]{llncsconf}
523
524
\conference{name of the conference}
525
526
% in case of "proceedings" (final version!)
527
% example: \llncs{Anonymous et al. (eds). \emph{Proceedings of the International Conference on \LaTeX-Hacks}, LNCS~42. Some Publisher, 2016.}{0042}
528
% 0042 denotes an example start page
529
\llncs{book editors and title}{0042}
530
\fi
531
532
\ifpdftex
533
% Enable copy and paste of text from the PDF
534
% Only required for pdflatex. It "just works" in the case of lualatex.
535
% Alternative: cmap or mmap package
536
% mmap enables mathematical symbols, but does not work with the newtx font set
537
% See: https://tex.stackexchange.com/a/64457/9075
538
% 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
539
% Trouble shooting outlined at https://tex.stackexchange.com/a/100618/9075
540
%
541
% According to https://tex.stackexchange.com/q/451235/9075 this is the way to go
542
\input{glyphtounicode}
543
\pdfgentounicode=1
544
\fi
545
\begin{document}
546
547
\title{Paper Title}
548
% If Title is too long, use \titlerunning
549
%\titlerunning{Short Title}
550
551
% Single insitute
552
\author{Firstname Lastname \and Firstname Lastname}
553
554
% If there are too many authors, use \authorrunning
555
%\authorrunning{First Author et al.}
556
557
\institute{Institute}
558
559
%% Multiple insitutes - ALTERNATIVE to the above
560
% \author{%
561
% Firstname Lastname\inst{1} \and
562
% Firstname Lastname\inst{2}
563
% }
564
%
565
%If there are too many authors, use \authorrunning
566
% \authorrunning{First Author et al.}
567
%
568
% \institute{
569
% Insitute 1\\
570
% \email{...}\and
571
% Insitute 2\\
572
% \email{...}
573
%}
574
575
\maketitle
576
577
\begin{abstract}
578
\lipsum[1]
579
580
\keywords{First keyword \and Second keyword \and Third keyword}
581
\end{abstract}
582
583
584
\section{Introduction}
585
\label{sec:introduction}
586
\lipsum[1-3]\todo{Refine me}
587
588
The remainder of the paper starts with a presentation of related work (\cref{sec:relatedwork}).
589
It is followed by a presentation of hints on \LaTeX{} (\cref{sec:latexhints}).
590
Finally, a conclusion is drawn and outlook on future work is made (\cref{sec:outlook}).
591
592
\section{Related Work}
593
\label{sec:relatedwork}
594
595
Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of American English} tool.
596
The whole idea of TOSCA is explained by \citet{Binz2009}.
597
598
\section{LaTeX Hints}
599
\label{sec:latexhints}
600
601
% Required for proper example rendering in the compiled PDF
602
\newcount\LTGbeginlineexample
603
\newcount\LTGendlineexample
604
\newenvironment{ltgexample}%
605
{\LTGbeginlineexample=\numexpr\inputlineno+1\relax}%
606
{\LTGendlineexample=\numexpr\inputlineno-1\relax%
607
\tcbinputlisting{%
608
listing only,
609
listing file=\currfilepath,
610
colback=green!5!white,
611
colframe=green!25,
612
coltitle=black!90,
613
coltext=black!90,
614
left=8mm,
615
title=Corresponding \LaTeX{} code of \texttt{\currfilepath},
616
listing options={
617
frame=none,
618
language={[LaTeX]TeX},
619
escapeinside={},
620
firstline=\the\LTGbeginlineexample,
621
lastline=\the\LTGendlineexample,
622
firstnumber=\the\LTGbeginlineexample,
623
basewidth=.5em,
624
aboveskip=0mm,
625
belowskip=0mm,
626
numbers=left,
627
xleftmargin=0mm,
628
numberstyle=\tiny,
629
numbersep=8pt%
630
}
631
}
632
}%
633
634
This section contains hints on writing LaTeX.
635
It focuses on minimal examples, which can be directly adapted to the content
636
637
\subsection{Handling of paragraphs}
638
639
\begin{ltgexample}
640
One sentence per line.
641
This rule is important for the usage of version control systems.
642
A new line is generated with a blank line.
643
As you would do in Word:
644
New paragraphs are generated by pressing enter.
645
In LaTeX, this does not lead to a new paragraph as LaTeX joins subsequent lines.
646
In case you want a new paragraph, just press enter twice!
647
This leads to an empty line.
648
In word, there is the functionality to press shift and enter.
649
This leads to a hard line break.
650
The text starts at the beginning of a new line.
651
In LaTeX, you can do that by using two backslashes (\textbackslash\textbackslash).
652
\\
653
This is rarely used.
654
655
Please do \textit{not} use two backslashes for new paragraphs.
656
For instance, this sentence belongs to the same paragraph, whereas the last one started a new one.
657
A long motivation for that is provided at \url{http://loopspace.mathforge.org/HowDidIDoThat/TeX/VCS/#section.3}.
658
\end{ltgexample}
659
660
\subsection{Notes separated from the text}
661
662
The package mindflow enables writing down notes and annotations in a way so that they are separated from the main text.
663
664
\begin{ltgexample}
665
\begin{mindflow}
666
This is a small note.
667
\end{mindflow}
668
\end{ltgexample}
669
670
\subsection{Handling TODOs}
671
672
\begin{ltgexample}
673
\textmarker{Markierter Text.}
674
\end{ltgexample}
675
676
Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert.
677
678
\begin{ltgexample}
679
\textcomment{Markierter Text.}{Kommentar dazu.}
680
\end{ltgexample}
681
682
\begin{ltgexample}
683
\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.}
684
\end{ltgexample}
685
686
\begin{ltgexample}
687
Das ist ein Text.
688
\change{FL1: Text angepasst}{Geänderter Text}.
689
\end{ltgexample}
690
691
\begin{ltgexample}
692
Hier nur ein Kommentar\sidecomment{Kommentar}.
693
\end{ltgexample}
694
695
\begin{ltgexample}
696
\todo{Hier muss noch kräftig Text produziert werden}
697
\end{ltgexample}
698
699
\subsection{Hyphenation}
700
701
\LaTeX{} automatically hyphenates words.
702
When using \href{https://ctan.org/pkg/microtype}{microtype}, there should be fewer hyphenations than in other settings.
703
It might be necessary to tweak the hyphenations nevertheless.
704
Here are some hints:
705
706
\begin{ltgexample}
707
In case you write \enquote{application-specific}, then the word will only be hyphenated at the dash.
708
You can also write \verb1applica\allowbreak{}tion-specific1 (result: applica\allowbreak{}tion-specific), but this is much more effort.
709
710
You can now write words containing hyphens which are hyphenated at other places in the word.
711
For instance, \verb1application"=specific1 gets application"=specific.
712
This is enabled by an additional configuration of the babel package.
713
\end{ltgexample}
714
715
\subsection{Typesetting Units}
716
717
\begin{ltgexample}
718
Numbers can be written plain text (such as 100), by using the \href{https://ctan.org/pkg/siunitx}{siunitx} package as follows:
719
\SI{100}{\km\per\hour},
720
or by using plain \LaTeX{} (and math mode):
721
$100 \frac{\mathit{km}}{h}$.
722
\end{ltgexample}
723
724
\begin{ltgexample}
725
\SI{5}{\percent} of \SI{10}{kg}
726
\end{ltgexample}
727
728
\begin{ltgexample}
729
Numbers are automatically grouped: \num{123456}.
730
\end{ltgexample}
731
732
\subsection{Surrounding Text by Quotes}
733
734
\begin{ltgexample}
735
Please use the \enquote{enquote command} to quote something.
736
Quoting with "`quote"' or ``quote'' also works.
737
738
\end{ltgexample}
739
740
\subsection{Cleveref examples}
741
\label{sec:ex:cref}
742
743
Cleveref demonstration: Cref at beginning of sentence, cref in all other cases.
744
745
\begin{figure}
746
\centering
747
\includegraphics[width=.75\linewidth]{example-image-a}
748
\caption{Example figure for cref demo}
749
\label{fig:ex:cref}
750
\end{figure}
751
752
\begin{table}
753
\centering
754
\begin{tabular}{ll}
755
\toprule
756
Heading1 & Heading2 \\
757
\midrule
758
One & Two \\
759
Thee & Four \\
760
\bottomrule
761
\end{tabular}
762
\caption{Example table for cref demo}
763
\label{tab:ex:cref}
764
\end{table}
765
766
\begin{ltgexample}
767
\Cref{fig:ex:cref} shows a simple fact, although \cref{fig:ex:cref} could also show something else.
768
769
\Cref{tab:ex:cref} shows a simple fact, although \cref{tab:ex:cref} could also show something else.
770
771
\Cref{sec:ex:cref} shows a simple fact, although \cref{sec:ex:cref} could also show something else.
772
\end{ltgexample}
773
774
\subsection{Figures}
775
776
\begin{ltgexample}
777
\Cref{fig:label} shows something interesting.
778
779
\begin{figure}
780
\centering
781
\includegraphics[width=.8\linewidth]{example-image-golden}
782
\caption[Simple Figure]{
783
Simple Figure.
784
Based on \citet{mwe}.
785
}
786
\label{fig:label}
787
\end{figure}
788
\end{ltgexample}
789
790
One can also have pictures floating inside text:
791
\clearpage
792
793
\begin{ltgexample}
794
\begin{floatingfigure}{.33\linewidth}
795
\includegraphics[width=.29\linewidth]{example-image-a}
796
\caption{A floating figure}
797
\end{floatingfigure}
798
\lipsum[2]
799
\end{ltgexample}
800
801
\subsection{Sub Figures}
802
803
An example of two sub figures is shown in \cref{fig:two_sub_figures}.
804
805
\begin{ltgexample}
806
\begin{figure}[!b]
807
\centering
808
\subfloat[Case I]{\includegraphics[width=.4\linewidth]{example-image-a}%
809
\label{fig:first_case}}
810
\hfil
811
\subfloat[Case II]{\includegraphics[width=.4\linewidth]{example-image-b}%
812
\label{fig:second_case}}
813
\caption{Example figure with two sub figures.}
814
\label{fig:two_sub_figures}
815
\end{figure}
816
\end{ltgexample}
817
818
\subsection{Tables}
819
820
\begin{ltgexample}
821
\begin{table}
822
\caption{Simple Table}
823
\label{tab:simple}
824
\centering
825
\begin{tabular}{ll}
826
\toprule
827
Heading1 & Heading2 \\
828
\midrule
829
One & Two \\
830
Thee & Four \\
831
\bottomrule
832
\end{tabular}
833
\end{table}
834
\end{ltgexample}
835
836
\begin{ltgexample}
837
% Source: https://tex.stackexchange.com/a/468994/9075
838
\begin{table}
839
\caption{Table with diagonal line}
840
\label{tab:diag}
841
\begin{center}
842
\begin{tabular}{|l|c|c|}
843
\hline
844
\diagbox[width=10em]{Diag \\Column Head I}{Diag Column\\Head II} & Second & Third \\
845
\hline
846
& foo & bar \\
847
\hline
848
\end{tabular}
849
\end{center}
850
\end{table}
851
\end{ltgexample}
852
853
854
\subsection{Source Code}
855
856
\begin{ltgexample}
857
\Cref{lst:XML} shows source code written in XML.
858
\Cref{line:comment} contains a comment.
859
860
\begin{lstlisting}[
861
language=XML,
862
caption={Example XML Listing},
863
label={lst:XML}]
864
<listing name="example">
865
<!-- comment --> (* \label{line:comment} *)
866
<content>not interesting</content>
867
</listing>
868
\end{lstlisting}
869
\end{ltgexample}
870
871
One can also add \verb+float+ as parameter to have the listing floating.
872
\Cref{lst:flXML} shows the floating listing.
873
874
\begin{ltgexample}
875
\begin{lstlisting}[
876
% one can adjust spacing here if required
877
% aboveskip=2.5\baselineskip,
878
% belowskip=-.8\baselineskip,
879
float,
880
language=XML,
881
caption={Example XML listing -- placed as floating figure},
882
label={lst:flXML}]
883
<listing name="example">
884
Floating
885
</listing>
886
\end{lstlisting}
887
\end{ltgexample}
888
889
One can also typeset JSON as shown in \cref{lst:json}.
890
891
\begin{ltgexample}
892
\begin{lstlisting}[
893
float,
894
language=json,
895
caption={Example JSON listing -- placed as floating figure},
896
label={lst:json}]
897
{
898
key: "value"
899
}
900
\end{lstlisting}
901
\end{ltgexample}
902
903
Java is also possible as shown in \cref{lst:java}.
904
905
\begin{ltgexample}
906
\begin{lstlisting}[
907
caption={Example Java listing},
908
label=lst:java,
909
language=Java,
910
float]
911
public class Hello {
912
public static void main (String[] args) {
913
System.out.println("Hello World!");
914
}
915
}
916
\end{lstlisting}
917
\end{ltgexample}
918
919
\subsection{Itemization}
920
921
One can list items as follows:
922
923
\begin{ltgexample}
924
\begin{itemize}
925
\item Item One
926
\item Item Two
927
\end{itemize}
928
\end{ltgexample}
929
930
931
One can enumerate items as follows:
932
933
\begin{ltgexample}
934
\begin{enumerate}
935
\item Item One
936
\item Item Two
937
\end{enumerate}
938
\end{ltgexample}
939
940
941
With paralist, one can even have all items typeset after each other and have them clean in the TeX document:
942
943
\begin{ltgexample}
944
\begin{inparaenum}
945
\item All these items...
946
\item ...appear in one line
947
\item This is enabled by the paralist package.
948
\end{inparaenum}
949
\end{ltgexample}
950
951
\subsection{Other Features}
952
953
\begin{ltgexample}
954
The words \enquote{workflow} and \enquote{dwarflike} can be copied from the PDF and pasted to a text file.
955
\end{ltgexample}
956
957
\begin{ltgexample}
958
The symbol for powerset is now correct: $\powerset$ and not a Weierstrass p ($\wp$).
959
960
$\powerset({1,2,3})$
961
\end{ltgexample}
962
963
\begin{ltgexample}
964
Brackets work as designed:
965
<test>
966
One can also input backticks in verbatim text: \verb|`test`|.
967
\end{ltgexample}
968
969
970
\section{Conclusion and Outlook}
971
\label{sec:outlook}
972
\lipsum[1-2]
973
974
\subsubsection*{Acknowledgments}
975
976
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}.
977
978
%%% ===============================================================================
979
%%% Bibliography
980
%%% ===============================================================================
981
982
In the bibliography, use \texttt{\textbackslash textsuperscript} for \enquote{st}, \enquote{nd}, \ldots:
983
E.g., \enquote{The 2\textsuperscript{nd} conference on examples}.
984
When you use \href{https://www.jabref.org}{JabRef}, you can use the clean up command to achieve that.
985
See \url{https://help.jabref.org/en/CleanupEntries} for an overview of the cleanup functionality.
986
987
\renewcommand{\bibsection}{\section*{References}} % requried for natbib to have "References" printed and as section*, not chapter*
988
% Use natbib compatbile splncs04nat style.
989
% It does provide all features of splncs04.bst, but is developed in a clean way.
990
% Source: https://github.com/tpavlic/splncs04nat
991
\bibliographystyle{splncs04nat}
992
\begingroup
993
\microtypecontext{expansion=sloppy}
994
\small % ensure correct font size for the bibliography
995
\bibliography{paper}
996
\endgroup
997
998
% Enfore empty line after bibliography
999
\ \\
1000
%
1001
\noindent
1002
All links were last followed on October 5, 2020.
1003
1004
%%% ===============================================================================
1005
%\appendix
1006
%\addcontentsline{toc}{chapter}{APPENDICES}
1007
1008
%\listoffigures
1009
%\listoftables
1010
%%% ===============================================================================
1011
1012
%%% ===============================================================================
1013
%\section{My first appendix}\label{sec:appendix1}
1014
%%% ===============================================================================
1015
\end{document}
1016
1017