diff --git a/.dockerignore b/.dockerignore index cbe2c8c..6b51a1b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,431 @@ .github +Dockerfile generator-latex-template + +paper.pdf +paper-*.pdf +figures/*.pdf_tex +democode.tex + +# plantuml +*-plantuml.latex +*-plantuml.txt + +# latexindent +*.bak +*.bak? +*.bak?? + +# tex4ht +*.4ct +*.4tc + +# configured in packages_and_options.tex +*.code + +# IntelliJ +.idea/ + + + + +# Created by https://www.gitignore.io/api/code,latex,linux,emacs,jabref,windows,libreoffice,microsoftoffice +# Edit at https://www.gitignore.io/?templates=code,latex,linux,emacs,jabref,windows,libreoffice,microsoftoffice + +### Code ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json + +### Emacs ### +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive + +# flymake-mode +*_flymake.* + +# eshell files +/eshell/history +/eshell/lastdir + +# elpa packages +/elpa/ + +# reftex files +*.rel + +# AUCTeX auto folder +/auto/ + +# cask packages +.cask/ +dist/ + +# Flycheck +flycheck_*.el + +# server auth directory +/server/ + +# projectiles files +.projectile + +# directory configuration +.dir-locals.el + +# network security +/network-security.data + + +### JabRef ### +# JabRef - https://www.jabref.org/ +*.bak +*.sav + +### LaTeX ### +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Comment the next line if you want to keep your tikz graphics files +*.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices +*.xyc + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# KBibTeX +*~[0-9]* + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +### LaTeX Patch ### +# glossaries +*.glstex + +### LibreOffice ### +# LibreOffice locks +.~lock.*# + +### Linux ### + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### MicrosoftOffice ### +*.tmp + +# Word temporary +~$*.doc* + +# Word Auto Backup File +Backup of *.doc* + +# Excel temporary +~$*.xls* + +# Excel Backup File +*.xlk + +# PowerPoint temporary +~$*.ppt* + +# Visio autosave temporary files +*.~vsd* + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# End of https://www.gitignore.io/api/code,latex,linux,emacs,jabref,windows,libreoffice,microsoftoffice diff --git a/.editorconfig b/.editorconfig index ea55e5b..73db316 100644 --- a/.editorconfig +++ b/.editorconfig @@ -6,6 +6,3 @@ indent_style = space indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true - -[*.yaml] -indent_size = 4 diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..24ef990 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,31 @@ +name: latexmk paper +on: + push: + workflow_dispatch: +concurrency: + group: "${{ github.workflow }}-${{ github.head_ref || github.ref }}" + cancel-in-progress: true +jobs: + check: + runs-on: ubuntu-latest + steps: + - name: Set up Git repository + uses: actions/checkout@v4 + - name: Install TeX Live + uses: zauguin/install-texlive@v3 + with: + package_file: '${{ github.workspace }}/Texlivefile' + - name: Prepare latexmk + run: | + updmap -sys + texhash + tlmgr generate language --rebuild-sys + if [ ! -f "latexmkrc" ]; then + cp "_latexmkrc" "latexmkrc" + fi + - run: latexmk paper + - uses: actions/upload-artifact@v4 + with: + name: test-result + path: | + paper.pdf diff --git a/.github/workflows/update-files.yml b/.github/workflows/update-files.yml index 2632187..bca35dc 100644 --- a/.github/workflows/update-files.yml +++ b/.github/workflows/update-files.yml @@ -1,11 +1,12 @@ name: Update Files on: + pull_request: push: branches: - - update-ltg + - main workflow_dispatch: concurrency: - group: update-files + group: "${{ github.workflow }}-${{ github.head_ref || github.ref }}" cancel-in-progress: true jobs: generatetex: @@ -21,16 +22,17 @@ jobs: examples: [true] steps: - name: Set up Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - path: 'code' - - uses: actions/setup-node@v3 - - name: Update npm - run: npm i -g npm@latest - - run: npm i npm@latest + ref: '${{ github.event.pull_request.head.ref }}' + - uses: actions/setup-node@v4 + with: + node-version: '22' + cache: 'npm' + cache-dependency-path: 'generator-latex-template/package-lock.json' - name: Make generator available globally - working-directory: ${{ github.workspace }}/code/generator-latex-template + working-directory: ${{ github.workspace }}/generator-latex-template run: | npm install npm link @@ -40,15 +42,15 @@ jobs: shell: bash working-directory: /tmp/ltg run: | - yo latex-template\ + yo $GITHUB_WORKSPACE/generator-latex-template/generators/app/index.js \ --githubpublish\ - --docker=reitzig\ + --docker=iot\ --documentclass=lncs\ --papersize=a4\ - --latexcompiler=pdflatex\ + --latexcompiler=both\ --bibtextool=bibtex\ --overleaf=true\ - --texlive=2022\ + --texlive=2024\ --lang=${{ matrix.language }}\ --font=${{ matrix.font }}\ --listings=${{ matrix.listings }}\ @@ -58,7 +60,7 @@ jobs: --examples=${{ matrix.examples }}\ --howtotext=false env: - yeoman_test: true + yeoman_test: false - name: Prepare files working-directory: /tmp/ltg run: | @@ -71,83 +73,78 @@ jobs: # remove files which should not be overwritten + # _latexmkrc alternates between including and excluding "--shell-escape"; we just want to keep the minted + en version of it + if [ "${{ matrix.listings }}" != "minted" ] || [ "${{ matrix.lang }}" != "en" ]; then + rm _latexmkrc + rm -r .github/workflows + fi + # the LICENSE of the repository should be kept rm LICENSE - # _latexmkrc alternates between including and excluding "--shell-escape"; we just want to keep one version of it - rm _latexmkrc - - # copy everything - cp -r * ${{ github.workspace }}/code/ + # Files are ready + # Overwrite old versions in $GITHUB_WORKSPACE + cp -r * $GITHUB_WORKSPACE + cp -r .* $GITHUB_WORKSPACE # output current status - cd ${{ github.workspace }}/code/ + cd ${{ github.workspace }} git status git diff - name: Commit changes - uses: EndBug/add-and-commit@v8 + uses: EndBug/add-and-commit@v9 with: message: 'Update files based on generated files by template generator' committer_email: actions@github.com push: false - cwd: 'code' - name: Push changes run: | - cd code - git status - parallel --retries 10 --delay 9 ::: "git status && git pull --rebase && git push" + parallel --retries 10 --delay 9 ::: "git pull --rebase; git push" publish: runs-on: ubuntu-latest needs: [generatetex] - services: - registry: - image: registry:2 - ports: - - 5000:5000 steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - driver-opts: network=host - - name: Build Docker image - uses: docker/build-push-action@v4 - with: - push: true - provenance: false - tags: localhost:5000/name/app:latest - name: Set up Git repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + ref: '${{ github.event.pull_request.head.ref }}' - run: | + # ensure latest updates + git pull + cp paper-en-default-listings.tex paper.tex cp paper-en-default-minted.tex paper-minted.tex cp paper-en-times-listings.tex paper-newtx.tex cp paper-en-times-minted.tex paper-minted-newtx.tex - mkdir /tmp/out + # use latexmkrc (which is disabled due to easy overleaf usage) cp _latexmkrc latexmkrc - - name: Build paper.tex - run: docker run -v $(pwd):/work/src -v /tmp/out:/work/out localhost:5000/name/app:latest work "latexmk paper.tex" - - name: Build paper-minted.tex - run: docker run -v $(pwd):/work/src -v /tmp/out:/work/out localhost:5000/name/app:latest work "latexmk paper-minted.tex" - - name: Build paper-newtx.tex - run: docker run -v $(pwd):/work/src -v /tmp/out:/work/out localhost:5000/name/app:latest work "latexmk paper-newtx.tex" - - name: Build paper-minted-newtx.tex - run: docker run -v $(pwd):/work/src -v /tmp/out:/work/out localhost:5000/name/app:latest work "latexmk paper-minted-newtx.tex" + - name: Install TeX Live + uses: zauguin/install-texlive@v3 + with: + package_file: '${{ github.workspace }}/Texlivefile' + - name: Prepare latexmk + run: | + updmap -sys + texhash + tlmgr generate language --rebuild-sys + - run: latexmk paper.tex + - run: latexmk paper-minted.tex + - run: latexmk paper-newtx.tex + - run: latexmk paper-minted-newtx.tex - run: | mkdir publish - cp /tmp/out/*.pdf publish/ + cp *.pdf publish/ cp paper.tex publish/ cp README.md publish/ cp .github/_config.yml publish/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: name: publish path: publish/ - name: Deploy if: github.ref == 'refs/heads/main' - uses: peaceiris/actions-gh-pages@v3 + uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./publish diff --git a/.gitignore b/.gitignore index 264e691..272203e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,55 +1,90 @@ +paper.pdf +paper-*.pdf +graphics/*.pdf_tex +democode.tex + +# plantuml +*-plantuml.latex +*-plantuml.txt + +# latexindent *.bak *.bak? +*.bak?? -# downloaded from springer - must not be distributed anywhere else -llncs2e.zip - -# contents of llncs2e.zip -aliascnt.sty -history.txt -llncs.cls -llncs.dem -llncs.doc -llncs.dvi -llncs.ind -llncsdoc.pdf -llncsdoc.sty -readme.txt -remreset.sty -splncs.bst -splncs03.bst -splncs_srt.bst -sprmindx.sty -subjidx.ind - -# more contents of llncs2e.zip as of 2020-01-14 -fig1.eps -samplepaper.tex -splncs04.bst - -#The output should not be versioned -paper.pdf -paper-minted.pdf +# tex4ht +*.4ct +*.4tc -#temporary files by gradle -.gradle +# configured in packages_and_options.tex +*.code -#temporary file produced by lncs_as branch -latex.zip +# IntelliJ +.idea/ +# Created by https://www.toptal.com/developers/gitignore/api/emacs,latex,linux,macos,jabref,windows,libreoffice,microsoftoffice,visualstudiocode +# Edit at https://www.toptal.com/developers/gitignore?templates=emacs,latex,linux,macos,jabref,windows,libreoffice,microsoftoffice,visualstudiocode + +### Emacs ### +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive +# flymake-mode +*_flymake.* +# eshell files +/eshell/history +/eshell/lastdir +# elpa packages +/elpa/ +# reftex files +*.rel +# AUCTeX auto folder +/auto/ +# cask packages +.cask/ +dist/ -# Created by https://www.gitignore.io/api/tex,windows,linux,macos,jabref,microsoftoffice +# Flycheck +flycheck_*.el -### TeX ### +# server auth directory +/server/ + +# projectiles files +.projectile + +# directory configuration +.dir-locals.el + +# network security +/network-security.data + + +### JabRef ### +# JabRef - https://www.jabref.org/ +*.bak +*.sav + +### LaTeX ### ## Core latex/pdflatex auxiliary files: *.aux *.lof @@ -62,9 +97,11 @@ latex.zip *.fot *.cb *.cb2 +.*.lb ## Intermediate documents: *.dvi +*.xdv *-converted-to.* # these rules might exclude image files for figures etc. # *.ps @@ -80,7 +117,6 @@ latex.zip *.blg *-blx.aux *-blx.bib -*.brf *.run.xml ## Build tool auxiliary files: @@ -91,6 +127,10 @@ latex.zip *.synctex.gz(busy) *.pdfsync +## Build tool directories for auxiliary files +# latexrun +latex.out/ + ## Auxiliary and intermediate files from other packages: # algorithms *.alg @@ -108,9 +148,18 @@ acs-*.bib *.snm *.vrb +# changes +*.soc + +# comment +*.cut + # cprotect *.cpt +# elsarticle (documentclass of Elsevier journals) +*.spl + # endnotes *.ent @@ -123,12 +172,12 @@ acs-*.bib *.t[1-9] *.t[1-9][0-9] *.tfm -*.[1-9] -*.[1-9][0-9] #(r)(e)ledmac/(r)(e)ledpar *.end *.?end +*.[1-9] +*.[1-9][0-9] *.[1-9][0-9][0-9] *.[1-9]R *.[1-9][0-9]R @@ -147,36 +196,63 @@ acs-*.bib *.glo *.gls *.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table # gnuplottex *-gnuplottex-* # gregoriotex *.gaux +*.glog *.gtex +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + # hyperref +*.brf # knitr *-concordance.tex -# TODO Comment the next line if you want to keep your tikz graphics files -*.tikz +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz *-tikzDictionary # listings *.lol +# luatexja-ruby +*.ltjruby + # makeidx *.idx *.ilg *.ind -*.ist # minitoc *.maf *.mlf *.mlt *.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* # minted _minted* @@ -185,10 +261,19 @@ _minted* # morewrites *.mw -# mylatexformat +# newpax +*.newpax # nomencl +*.nlg *.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc # sagetex *.sagetex.sage @@ -198,6 +283,9 @@ _minted* # scrwfile *.wrt +# svg +svg-inkscape/ + # sympy *.sout *.sympy @@ -211,6 +299,9 @@ sympy-plots-for-*.tex/ *.pytxcode pythontex-files-*/ +# tcolorbox +*.listing + # thmtools *.loe @@ -219,17 +310,31 @@ pythontex-files-*/ *.md5 *.auxlock +# titletoc +*.ptc + # todonotes *.tdo +# vhistory +*.hst +*.ver + # easy-todo *.lod +# xcolor +*.xcp + +# xmpincl +*.xmpi + # xindy *.xdy -# xypic precompiled matrices +# xypic precompiled matrices and outlines *.xyc +*.xyd # endfloat *.ttt @@ -240,48 +345,58 @@ TSWLatexianTemp* ## Editors: # WinEdt -*.bak -*.sav # Texpad .texpadtmp +# LyX +*.lyx~ + # Kile *.backup +# gummi +.*.swp + # KBibTeX *~[0-9]* -# auto folder when using emacs and auctex -/auto/* +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el # expex forward references with \gathertags *-tags.tex -### Windows ### -# Windows thumbnail cache files -Thumbs.db -ehthumbs.db -ehthumbs_vista.db +# standalone packages +*.sta -# Folder config file -Desktop.ini +# Makeindex log files +*.lpz -# Recycle Bin used on file shares -$RECYCLE.BIN/ +# xwatermark package +*.xwm -# Windows Installer files -*.cab -*.msi -*.msm -*.msp +# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib +# option is specified. Footnotes are the stored in a file with suffix Notes.bib. +# Uncomment the next line to have this generated file ignored. +#*Notes.bib -# Windows shortcuts -*.lnk +### LaTeX Patch ### +# LIPIcs / OASIcs +*.vtc + +# glossaries +*.glstex +### LibreOffice ### +# LibreOffice locks +.~lock.*# ### Linux ### -*~ # temporary files which can be created if a process still has a handle open of a deleted file .fuse_hidden* @@ -295,16 +410,19 @@ $RECYCLE.BIN/ # .nfs files are created when an open file is removed but is still being accessed .nfs* - ### macOS ### -*.DS_Store +# General +.DS_Store .AppleDouble .LSOverride # Icon must end with two \r Icon + + # Thumbnails ._* + # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd @@ -313,6 +431,7 @@ Icon .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent + # Directories potentially created on remote AFP share .AppleDB .AppleDesktop @@ -320,10 +439,9 @@ Network Trash Folder Temporary Items .apdisk - -### JabRef ### -# JabRef - https://www.jabref.org/ - +### macOS Patch ### +# iCloud generated files +*.icloud ### MicrosoftOffice ### *.tmp @@ -331,6 +449,9 @@ Temporary Items # Word temporary ~$*.doc* +# Word Auto Backup File +Backup of *.doc* + # Excel temporary ~$*.xls* @@ -341,6 +462,51 @@ Temporary Items ~$*.ppt* # Visio autosave temporary files -*.~vsdx +*.~vsd* + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk -# End of https://www.gitignore.io/api/tex,windows,linux,macos,jabref,microsoftoffice +# End of https://www.toptal.com/developers/gitignore/api/emacs,latex,linux,macos,jabref,windows,libreoffice,microsoftoffice,visualstudiocode diff --git a/CHANGELOG.md b/CHANGELOG.md index 6838962..64496c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/). From 2022-03-01 onwards, versioning is done using [Calendar Versioning](https://calver.org/). +## [Unreleased] + +### Changed + +- Compilation with both lualatex and pdflatex is possible. Defaults to lualatex. +- Nicer gray scale for `minted` listings. +- `Dockerfile` switched to [Island of TeX's docker image](https://gitlab.com/islandoftex/images/texlive#tex-live-docker-image) to enable easy addition of new LaTeX packages. + ## [2022-06-06] ### Added @@ -216,3 +224,5 @@ First release using semantic versioning. [1.1.1]: https://github.com/latextemplates/LNCS/compare/1.1.0...1.1.1 [1.1.0]: https://github.com/latextemplates/LNCS/compare/1.0.0...1.1.0 [1.0.0]: https://github.com/latextemplates/LNCS/releases/tag/1.0.0 + + diff --git a/Dockerfile b/Dockerfile index 4ebeb8f..47f5810 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,2 @@ -FROM reitzig/texlive-base:2022.8 -RUN apk update && apk add --no-cache bash perl python3 py3-pip -RUN pip3 install pygments - -# Emulate "Install dependencies" of "entrypoint work ..." -RUN tlmgr update --self --repository http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2022/tlnet-final -COPY Texlivefile /work/src -RUN xargs tlmgr install --repository http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2022/tlnet-final < "/work/src/Texlivefile" &&\ - sha256sum "/work/src/Texlivefile" > "/work/tmp/Texlivefile.sha" &&\ - # make latexmk and texlogsieve available - tlmgr path add -# use latest texlogsieve -# RUN cd /usr/local/bin && wget https://gitlab.com/lago/texlogsieve/-/raw/main/texlogsieve?inline=false +FROM registry.gitlab.com/islandoftex/images/texlive:latest-latest +WORKDIR /workdir diff --git a/README.md b/README.md index f5a3a24..1c988f4 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,11 @@ Note that this requires a working perl installation. latexmk paper +To enable this, please move `_latexmkrc` to `latexmkrc`. + In case something goes wrong, you can instruct the LaTeX compiler to stop at the first error: - pdflatex paper + lualatex paper ## Benefits @@ -17,6 +19,9 @@ Following features are enabled in this template: - Provides a skeletal [paper.tex](https://latextemplates.github.io/LNCS/paper.tex) file - Example to have an image being placed right to a text +- Support for German documents (without broken headers): + Contains a fix to increase compatibility with Babel. + See for details. - Automatic setting of "Fig." and "Section"/"Sect." according to the LNCS style. Just use `\Cref{sec:xy}` at the beginning of a sentence and `\cref{sec:xy}` in the middle of a sentence. Thanx to [cleveref]. @@ -32,6 +37,7 @@ Following features are enabled in this template: - Modern packages such as [microtype], [cleveref], [csquotes], [hyperref], [hypcap], [upquote], [natbib], [booktabs]. - (Optional) LaTeX compilation using the modern lualatex compiler. - Ready-to-go configuration for [latexindent]. +- Proper hyphenation and microtype for English texts. ## Disabled features @@ -87,20 +93,19 @@ To have minted running properly, you have to do following steps on Windows: ## Usage with docker -The generated `Dockerfile` is based on the [Dockerfile by reitzig](https://github.com/reitzig/texlive-docker). -The idea of that system is to host the document sources in a directory separated from the output directory. +The generated `Dockerfile` is based on the [Dockerfile by the Island of TeX](https://gitlab.com/islandoftex/images/texlive#tex-live-docker-image). - docker run --rm -v "c:\users\example\latex-document:/work/src" -v "c:\users\example\latex-document\out:/work/out" ltg work latexmk + docker run --rm -v "c:\users\example\latex-document:/workdir" latexmk -Following one-time setup is requried: +Following one-time setup is required: docker build -t ltg . ## FAQs -### Q: ShareLaTeX outputs a warning regarding the llncs class +### Q: Overleaf outputs a warning regarding the llncs class -ShareLaTeX might output following warning: +Overleaf might output following warning: > LaTeX Warning: You have requested, on input line 8, version > 2018/03/10' of document class llncs, but only version 2004/08/17 v2.14 @@ -119,7 +124,7 @@ Please remove the file and update your LaTeX distribution. After that you can use and push the `main` branch as usual. Notes on syncing with the upstream repository [are available from GitHub](https://help.github.com/articles/syncing-a-fork/). -### Q: I get the error `! pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.` +### Q: I get the error `! pdfTeX error (font expansion): auto expansion is only possible with scalable fonts.` Install the `cm-super` package using the MiKTeX package manager. Then, run `initexmf --mkmaps` on the command line. (Long description: ) @@ -158,6 +163,16 @@ The possible options are listed in `paper.tex`. Yes. You can regenerate the template and choose "German" as language. +### Q: `ngerman-x-latest` is reported missing + +Install the package `dehyph-exptl`. + +### Q: I get ``! I can't find file `clmr28t10+20'.`` + +You seem to use `latexmk` locally. +Please move `_latexmkrc` to `latexmkrc` to get `latexmk` working. +If you don't do this, `latexmk` tries to execute `latex`, which tries to produce a DVI file (and not a PDF file). + ## Further information - tex.stackexchange.com questions regarding LNCS: @@ -166,7 +181,6 @@ Yes. You can regenerate the template and choose "German" as language. - Other templates: [booktabs]: https://ctan.org/pkg/booktabs -[cfr-lm]: https://www.ctan.org/pkg/cfr-lm [cleveref]: https://ctan.org/pkg/cleveref [csquotes]: https://www.ctan.org/pkg/csquotes [hypcap]: https://www.ctan.org/pkg/hypcap @@ -175,7 +189,6 @@ Yes. You can regenerate the template and choose "German" as language. [microtype]: https://ctan.org/pkg/microtype [minted]: https://ctan.org/pkg/minted [natbib]: https://ctan.org/pkg/natbib -[newtx]: https://ctan.org/pkg/newtx [paralist]: https://www.ctan.org/pkg/paralist [pdfcomment]: https://www.ctan.org/pkg/pdfcomment [upquote]: https://www.ctan.org/pkg/upquote diff --git a/Texlivefile b/Texlivefile index f8074b2..1a5a25d 100644 --- a/Texlivefile +++ b/Texlivefile @@ -1,13 +1,20 @@ +scheme-basic +latexmk +texlogsieve + amsmath acmart -atbegshi -atveryend +algorithms +algorithmicx +algpseudocodex +autotype auxhook babel babel-english babel-german biblatex biber +bigfoot bigintcalc bitset blindtext @@ -15,10 +22,13 @@ booktabs caption catchfile cfr-lm +charter cleveref +cm-super cmap comment csquotes +ctablestack currfile datetime2 datetime2-german @@ -26,50 +36,70 @@ datetime2-english datatool dehyph-exptl diagbox +enumitem environ +epstopdf etexcmds etoolbox +everyshi +fifo-stack filehook +fixmath +float +floatbytocbasic floatflt +fncychap +fontaxes fontspec -framed -fvextra +footmisc gettitlestring glossaries +glossaries-german +glossaries-english glossaries-extra graphics +helvetic +hyphenex +inconsolata +hycolor +hypcap hyperref hyperxmp hyph-utf8 hyphen-english hyphen-german -hyphenex -inconsolata -ieeetran ifmtarg +ifplatform +iftex infwarerr intcalc koma-script kvdefinekeys kvoptions kvsetkeys -latexmk letltxmacro libertine +libertinus-fonts lineno lipsum listings llncs ltxcmds -luatexbase +lscapeenhanced luacode lualatex-math +luatex85 +luatexbase +ly1 marginnote +mathdesign +mathtools mfirstuc microtype mindflow minted mnsymbol +multirow mwe natbib ncctools @@ -78,45 +108,58 @@ newfloat newtx newtxtt nfssext-cfr +ntheorem nowidow -oberdiek paralist pdfcomment -luatex85 pdfescape +pdflscape pdftexcmds +pdfpages pgf pict2e -preprint +placeins +psnfss +ragged2e refcount -regexpatch rerunfilecheck scientific-thesis-cover +scrhack selnolig setspace +setspaceenhanced +sidecap siunitx snapshot soul soulpos -sttools stringenc +sttools subfig svn-prov +tabto-ltx tcolorbox -texlogsieve -textcase tex-gyre +tikzmark times +tools +totcount totpages tracklang -translator +translations +trimspaces txfonts unicode-math uniquecounter upquote url + +varwidth +xcharter xcolor +xifthen xfor xkeyval +xpatch xstring zref diff --git a/generator-latex-template b/generator-latex-template index 7c3c53a..e869a7b 160000 --- a/generator-latex-template +++ b/generator-latex-template @@ -1 +1 @@ -Subproject commit 7c3c53ace52900eec5231cde553436c525c68519 +Subproject commit e869a7b32bd07b8fc478df3a9dd21d07e5fe890a diff --git a/paper-de-default-listings.tex b/paper-de-default-listings.tex index d0a7d11..0cfbe7a 100644 --- a/paper-de-default-listings.tex +++ b/paper-de-default-listings.tex @@ -3,7 +3,7 @@ % !TeX spellcheck = de-DE % LTeX: language=de-DE % !TeX encoding = utf8 -% !TeX program = pdflatex +% !TeX program = lualatex % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -11,11 +11,12 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % -% "runningheads": +% "runningheads" führt zu folgendem: % % - zeigt Author + Titel auf jeder Seite. % - Während des Schreibens und das Review des Papers hilft das, um z.B. auf konkrete Seitenzahlen einfach verweisen zu können. @@ -25,11 +26,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % -% Diese Option nach Aufforderung durch die Herausgeber entfernen. +% Die Option "runningheads" ist nach Aufforderung durch die Herausgeber entfernen. % % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,ngerman]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) werden als solches in verbatim-Umgebungen dargestellt % Details unter: % - https://tex.stackexchange.com/a/341057/9075 @@ -45,26 +48,6 @@ % Hinweis von http://tex.stackexchange.com/a/321066/9075 % Ermögliche die Benutzung von "= als Trennstriche \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix von https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links verhalten sich so, wie sie sollen % Zeilenumbrüche bei URLs auch bei Bindestrichen erlauben, auch wenn es verwirrend sein könnte: Gehört der Bindestrich zur URL oder ist es ein Trennstrich? @@ -77,6 +60,38 @@ \g@addto@macro{\UrlBreaks}{\UrlOrds} \makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% Typewriter font (for source code etc) +% Use New Computer Modern font (Computer Modern is the default LaTeX font; this is the implemented modern variant) +% Source: https://tug.org/FontCatalogue/newcomputermoderntypewriter/ + +\setmainfont[% +ItalicFont=NewCM10-Italic.otf,% +BoldFont=NewCM10-Bold.otf,% +BoldItalicFont=NewCM10-BoldItalic.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf} + +\setsansfont[% +ItalicFont=NewCMSans10-Oblique.otf,% +BoldFont=NewCMSans10-Bold.otf,% +BoldItalicFont=NewCMSans10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf} + +\setmonofont[ItalicFont=NewCMMono10-Italic.otf,% +BoldFont=NewCMMono10-Bold.otf,% +BoldItalicFont=NewCMMono10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf} + +\setmathfont{NewCMMath-Regular.otf} + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else % This is the modern package for "Computer Modern". % In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex) \usepackage[% @@ -90,6 +105,7 @@ % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Optischer Randausgleich und Grauwertkorrektur. Siehe See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -120,7 +136,7 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} +\usepackage[dvipsnames, table]{xcolor} % Code Listings \usepackage{listings} @@ -161,7 +177,10 @@ } \lstset{ - language=XML, + % everything between (* *) is a latex command + escapeinside={(*}{*)}, + % + language=json, % showstringspaces=false, % @@ -174,13 +193,15 @@ % Default: \rmfamily, damit werden die Strings im Quellcode hervorgehoben. Zusaetzlich evtl.: \scshape oder \rmfamily durch \ttfamily ersetzen. Dann sieht's aus, wie bei fancyvrb stringstyle=\ttfamily, % - breaklines=true, + breaklines=true, % Zeilen werden umbrochen % breakatwhitespace=true, % % Alternative: fixed columns=flexible, % + tabsize=2, % Groesse von Tabs + % numbers=left, % numberstyle=\tiny, @@ -195,6 +216,7 @@ % captionpos=b } +\ifluatex\else % Ermögliche Umlaute when using \lstinputputlisting. % Siehe https://stackoverflow.com/a/29260603/873282 für Details. @@ -213,6 +235,16 @@ {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 } +\fi + +\lstloadlanguages{% Check dokumentation for further languages... + %[Visual]Basic + %Pascal + %C + %C++ + %XML + %HTML +} % For easy quotations: \enquote{text} % This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command @@ -222,7 +254,10 @@ \defineshorthand{"`}{\openautoquote} \defineshorthand{"'}{\closeautoquote} -% Nicer tables (\toprule, \midrule, \bottomrule) +% bessere Abstaende innerhalb der Tabelle (Layout)) +% ------------------------------------------------- +% \toprule, \midrule, \bottomrule +% Doc: https://texdoc.org/serve/booktabs/0 \usepackage{booktabs} % Extended enumerate, such as \begin{compactenum} @@ -264,24 +299,106 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt + +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} + +%%% Fussnoten/Endnoten =================================================== + +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren +% Source: https://tex.stackexchange.com/a/32993/9075 +\usepackage{stfloats} +\fnbelowfloat + +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + % Enable nice comments \usepackage{pdfcomment} -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} -% Fußnoten unter Gleitumgebungen ("floats") platzieren -% Quelle: https://tex.stackexchange.com/a/32993/9075 -\usepackage{stfloats} -\fnbelowfloat +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} \addto\extrasgerman{\sisetup{locale = DE}} @@ -292,10 +409,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -310,6 +429,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % cleveref für cref statt autoref, da cleveref auch bei Definitionen funktioniert @@ -357,6 +484,10 @@ \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} \usepackage{xspace} +% Macht \xspace und \enquote kompatibel +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother % Enable hyphenation at other places as the dash. % Example: applicaiton\hydash specific @@ -365,8 +496,24 @@ % Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx \makeatother +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\usepackage{autotype} +\fi + % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + Spe-zi-fi-ka-tion + In-te-gra-tion + An-for-de-rung An-for-de-run-gen + Be-nut-zer-ober-flä-che + Mes-sung-en + aus-zu-tau-schen + Lauf-zeit-in-for-ma-tionen + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -385,6 +532,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -396,8 +544,13 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\autotypelangoptions{ngerman}{ligbreak} +\fi \title{Paper Title} % If Title is too long, use \titlerunning @@ -430,7 +583,7 @@ \maketitle \begin{abstract} - +\lipsum[1] \keywords{First keyword \and Second keyword \and Third keyword} \end{abstract} @@ -453,7 +606,7 @@ \section{Verwandte Arbeiten} Eine Beschreibung relevanter wissenschaftlicher Arbeiten mit Bezug zur eigenen Arbeit. Der Abschnitt kann je nach Kontext auch an anderer Stelle stehen. -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hinweise} @@ -527,6 +680,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -623,8 +805,9 @@ \subsection{Abbildungen} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} + \subsection{Sub Figures} An example of two sub figures is shown in \cref{fig:two_sub_figures}. @@ -818,7 +1001,7 @@ \subsubsection*{Danksagungen} \renewcommand{\bibsection}{\section*{Literatur}} % requried for natbib to have "References" printed and as section*, not chapter* % Use natbib compatbile splncs04nat style. % It does provide all features of splncs03, but is developed in a clean way. -% Source: http://phaseportrait.blogspot.de/2011/02/natbib-compatible-bibtex-style-bst-file.html +% Source: https://github.com/tpavlic/splncs04nat \bibliographystyle{splncs04nat} \begingroup \microtypecontext{expansion=sloppy} @@ -829,6 +1012,7 @@ \subsubsection*{Danksagungen} % Enfore empty line after bibliography \ \\ % +\noindent Alle Links wurden zuletzt am 29.03.2021 geprüft. %%% =============================================================================== diff --git a/paper-de-default-minted.tex b/paper-de-default-minted.tex index 9fc9f8d..3903127 100644 --- a/paper-de-default-minted.tex +++ b/paper-de-default-minted.tex @@ -3,8 +3,8 @@ % !TeX spellcheck = de-DE % LTeX: language=de-DE % !TeX encoding = utf8 -% !TeX program = pdflatex -% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape] +% !TeX program = lualatex +% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -12,11 +12,12 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % -% "runningheads": +% "runningheads" führt zu folgendem: % % - zeigt Author + Titel auf jeder Seite. % - Während des Schreibens und das Review des Papers hilft das, um z.B. auf konkrete Seitenzahlen einfach verweisen zu können. @@ -26,11 +27,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % -% Diese Option nach Aufforderung durch die Herausgeber entfernen. +% Die Option "runningheads" ist nach Aufforderung durch die Herausgeber entfernen. % % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,ngerman]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) werden als solches in verbatim-Umgebungen dargestellt % Details unter: % - https://tex.stackexchange.com/a/341057/9075 @@ -46,26 +49,6 @@ % Hinweis von http://tex.stackexchange.com/a/321066/9075 % Ermögliche die Benutzung von "= als Trennstriche \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix von https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links verhalten sich so, wie sie sollen % Zeilenumbrüche bei URLs auch bei Bindestrichen erlauben, auch wenn es verwirrend sein könnte: Gehört der Bindestrich zur URL oder ist es ein Trennstrich? @@ -78,6 +61,38 @@ \g@addto@macro{\UrlBreaks}{\UrlOrds} \makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% Typewriter font (for source code etc) +% Use New Computer Modern font (Computer Modern is the default LaTeX font; this is the implemented modern variant) +% Source: https://tug.org/FontCatalogue/newcomputermoderntypewriter/ + +\setmainfont[% +ItalicFont=NewCM10-Italic.otf,% +BoldFont=NewCM10-Bold.otf,% +BoldItalicFont=NewCM10-BoldItalic.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf} + +\setsansfont[% +ItalicFont=NewCMSans10-Oblique.otf,% +BoldFont=NewCMSans10-Bold.otf,% +BoldItalicFont=NewCMSans10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf} + +\setmonofont[ItalicFont=NewCMMono10-Italic.otf,% +BoldFont=NewCMMono10-Bold.otf,% +BoldItalicFont=NewCMMono10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf} + +\setmathfont{NewCMMath-Regular.otf} + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else % This is the modern package for "Computer Modern". % In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex) \usepackage[% @@ -91,6 +106,7 @@ % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Optischer Randausgleich und Grauwertkorrektur. Siehe See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -121,8 +137,9 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} +\usepackage[dvipsnames, table]{xcolor} +% See https://github.com/gpoore/minted \usepackage[newfloat]{minted} \setminted{ @@ -139,9 +156,9 @@ % breakbytokenanywhere=true } -\usemintedstyle{bw} %black and white style +%\usemintedstyle{bw} %black and white style %\usemintedstyle{vs} %visual studio -%\usemintedstyle{friendlygrayscale} % custom style - submitted as pull request https://bitbucket.org/birkenfeld/pygments-main/pull-requests/748/add-style-friendly-grayscale/diff +\usemintedstyle{friendly_grayscale} %\usemintedstyle{friendly} %\usemintedstyle{eclipse} %http://www.jevon.org/wiki/Eclipse_Pygments_Style %\usemintedstyle{autumn} @@ -171,7 +188,10 @@ \defineshorthand{"`}{\openautoquote} \defineshorthand{"'}{\closeautoquote} -% Nicer tables (\toprule, \midrule, \bottomrule) +% bessere Abstaende innerhalb der Tabelle (Layout)) +% ------------------------------------------------- +% \toprule, \midrule, \bottomrule +% Doc: https://texdoc.org/serve/booktabs/0 \usepackage{booktabs} % Extended enumerate, such as \begin{compactenum} @@ -213,24 +233,106 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt + +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} + +%%% Fussnoten/Endnoten =================================================== + +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren +% Source: https://tex.stackexchange.com/a/32993/9075 +\usepackage{stfloats} +\fnbelowfloat + +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + % Enable nice comments \usepackage{pdfcomment} -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} -% Fußnoten unter Gleitumgebungen ("floats") platzieren -% Quelle: https://tex.stackexchange.com/a/32993/9075 -\usepackage{stfloats} -\fnbelowfloat +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} \addto\extrasgerman{\sisetup{locale = DE}} @@ -241,10 +343,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -259,6 +363,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % cleveref für cref statt autoref, da cleveref auch bei Definitionen funktioniert @@ -310,6 +422,10 @@ \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} \usepackage{xspace} +% Macht \xspace und \enquote kompatibel +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother % Enable hyphenation at other places as the dash. % Example: applicaiton\hydash specific @@ -318,8 +434,24 @@ % Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx \makeatother +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\usepackage{autotype} +\fi + % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + Spe-zi-fi-ka-tion + In-te-gra-tion + An-for-de-rung An-for-de-run-gen + Be-nut-zer-ober-flä-che + Mes-sung-en + aus-zu-tau-schen + Lauf-zeit-in-for-ma-tionen + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -338,6 +470,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -349,8 +482,13 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\autotypelangoptions{ngerman}{ligbreak} +\fi \title{Paper Title} % If Title is too long, use \titlerunning @@ -383,7 +521,7 @@ \maketitle \begin{abstract} - +\lipsum[1] \keywords{First keyword \and Second keyword \and Third keyword} \end{abstract} @@ -406,7 +544,7 @@ \section{Verwandte Arbeiten} Eine Beschreibung relevanter wissenschaftlicher Arbeiten mit Bezug zur eigenen Arbeit. Der Abschnitt kann je nach Kontext auch an anderer Stelle stehen. -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hinweise} @@ -476,6 +614,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -572,8 +739,9 @@ \subsection{Abbildungen} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} + \subsection{Sub Figures} An example of two sub figures is shown in \cref{fig:two_sub_figures}. @@ -753,7 +921,7 @@ \subsubsection*{Danksagungen} \renewcommand{\bibsection}{\section*{Literatur}} % requried for natbib to have "References" printed and as section*, not chapter* % Use natbib compatbile splncs04nat style. % It does provide all features of splncs03, but is developed in a clean way. -% Source: http://phaseportrait.blogspot.de/2011/02/natbib-compatible-bibtex-style-bst-file.html +% Source: https://github.com/tpavlic/splncs04nat \bibliographystyle{splncs04nat} \begingroup \microtypecontext{expansion=sloppy} @@ -764,6 +932,7 @@ \subsubsection*{Danksagungen} % Enfore empty line after bibliography \ \\ % +\noindent Alle Links wurden zuletzt am 29.03.2021 geprüft. %%% =============================================================================== diff --git a/paper-de-times-listings.tex b/paper-de-times-listings.tex index 3fb0b95..7666c3e 100644 --- a/paper-de-times-listings.tex +++ b/paper-de-times-listings.tex @@ -3,7 +3,7 @@ % !TeX spellcheck = de-DE % LTeX: language=de-DE % !TeX encoding = utf8 -% !TeX program = pdflatex +% !TeX program = lualatex % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -11,11 +11,12 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % -% "runningheads": +% "runningheads" führt zu folgendem: % % - zeigt Author + Titel auf jeder Seite. % - Während des Schreibens und das Review des Papers hilft das, um z.B. auf konkrete Seitenzahlen einfach verweisen zu können. @@ -25,11 +26,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % -% Diese Option nach Aufforderung durch die Herausgeber entfernen. +% Die Option "runningheads" ist nach Aufforderung durch die Herausgeber entfernen. % % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,ngerman]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) werden als solches in verbatim-Umgebungen dargestellt % Details unter: % - https://tex.stackexchange.com/a/341057/9075 @@ -45,26 +48,6 @@ % Hinweis von http://tex.stackexchange.com/a/321066/9075 % Ermögliche die Benutzung von "= als Trennstriche \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix von https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links verhalten sich so, wie sie sollen % Zeilenumbrüche bei URLs auch bei Bindestrichen erlauben, auch wenn es verwirrend sein könnte: Gehört der Bindestrich zur URL oder ist es ein Trennstrich? @@ -77,12 +60,40 @@ \g@addto@macro{\UrlBreaks}{\UrlOrds} \makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% See https://tug.org/FontCatalogue/texgyretermes/ for more information +\setmainfont{texgyretermes}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic, + Ligatures=TeX +] +% See https://tug.org/FontCatalogue/texgyreheros/ for more information +\setsansfont[Scale=.9]{TeX Gyre Heros Regular} +% newtxtt looks good with times, but no equivalent for lualatex found, +% therefore tried to replace with inconsolata. +% However, inconsolata does not look good in the context of LNCS ... +%\setmonofont[StylisticSet={1,3},Scale=.9]{inconsolata} +% ... thus, we use the good old Latin Modern Mono font for source code. +\setmonofont{Latin Modern Mono} % "variable=false" + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else \RequirePackage{newtxtext} \RequirePackage{newtxmath} \RequirePackage[zerostyle=b,scaled=.9]{newtxtt} % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Optischer Randausgleich und Grauwertkorrektur. Siehe See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -113,7 +124,7 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} +\usepackage[dvipsnames, table]{xcolor} % Code Listings \usepackage{listings} @@ -154,7 +165,10 @@ } \lstset{ - language=XML, + % everything between (* *) is a latex command + escapeinside={(*}{*)}, + % + language=json, % showstringspaces=false, % @@ -167,13 +181,15 @@ % Default: \rmfamily, damit werden die Strings im Quellcode hervorgehoben. Zusaetzlich evtl.: \scshape oder \rmfamily durch \ttfamily ersetzen. Dann sieht's aus, wie bei fancyvrb stringstyle=\ttfamily, % - breaklines=true, + breaklines=true, % Zeilen werden umbrochen % breakatwhitespace=true, % % Alternative: fixed columns=flexible, % + tabsize=2, % Groesse von Tabs + % numbers=left, % numberstyle=\tiny, @@ -188,6 +204,7 @@ % captionpos=b } +\ifluatex\else % Ermögliche Umlaute when using \lstinputputlisting. % Siehe https://stackoverflow.com/a/29260603/873282 für Details. @@ -206,6 +223,16 @@ {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 } +\fi + +\lstloadlanguages{% Check dokumentation for further languages... + %[Visual]Basic + %Pascal + %C + %C++ + %XML + %HTML +} % For easy quotations: \enquote{text} % This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command @@ -215,7 +242,10 @@ \defineshorthand{"`}{\openautoquote} \defineshorthand{"'}{\closeautoquote} -% Nicer tables (\toprule, \midrule, \bottomrule) +% bessere Abstaende innerhalb der Tabelle (Layout)) +% ------------------------------------------------- +% \toprule, \midrule, \bottomrule +% Doc: https://texdoc.org/serve/booktabs/0 \usepackage{booktabs} % Extended enumerate, such as \begin{compactenum} @@ -257,24 +287,106 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt + +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} + +%%% Fussnoten/Endnoten =================================================== + +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren +% Source: https://tex.stackexchange.com/a/32993/9075 +\usepackage{stfloats} +\fnbelowfloat + +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + % Enable nice comments \usepackage{pdfcomment} -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} -% Fußnoten unter Gleitumgebungen ("floats") platzieren -% Quelle: https://tex.stackexchange.com/a/32993/9075 -\usepackage{stfloats} -\fnbelowfloat +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} \addto\extrasgerman{\sisetup{locale = DE}} @@ -285,10 +397,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -303,6 +417,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % cleveref für cref statt autoref, da cleveref auch bei Definitionen funktioniert @@ -350,6 +472,10 @@ \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} \usepackage{xspace} +% Macht \xspace und \enquote kompatibel +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother % Enable hyphenation at other places as the dash. % Example: applicaiton\hydash specific @@ -358,8 +484,24 @@ % Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx \makeatother +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\usepackage{autotype} +\fi + % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + Spe-zi-fi-ka-tion + In-te-gra-tion + An-for-de-rung An-for-de-run-gen + Be-nut-zer-ober-flä-che + Mes-sung-en + aus-zu-tau-schen + Lauf-zeit-in-for-ma-tionen + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -378,6 +520,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -389,8 +532,13 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\autotypelangoptions{ngerman}{ligbreak} +\fi \title{Paper Title} % If Title is too long, use \titlerunning @@ -423,7 +571,7 @@ \maketitle \begin{abstract} - +\lipsum[1] \keywords{First keyword \and Second keyword \and Third keyword} \end{abstract} @@ -446,7 +594,7 @@ \section{Verwandte Arbeiten} Eine Beschreibung relevanter wissenschaftlicher Arbeiten mit Bezug zur eigenen Arbeit. Der Abschnitt kann je nach Kontext auch an anderer Stelle stehen. -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hinweise} @@ -520,6 +668,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -616,8 +793,9 @@ \subsection{Abbildungen} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} + \subsection{Sub Figures} An example of two sub figures is shown in \cref{fig:two_sub_figures}. @@ -811,7 +989,7 @@ \subsubsection*{Danksagungen} \renewcommand{\bibsection}{\section*{Literatur}} % requried for natbib to have "References" printed and as section*, not chapter* % Use natbib compatbile splncs04nat style. % It does provide all features of splncs03, but is developed in a clean way. -% Source: http://phaseportrait.blogspot.de/2011/02/natbib-compatible-bibtex-style-bst-file.html +% Source: https://github.com/tpavlic/splncs04nat \bibliographystyle{splncs04nat} \begingroup \microtypecontext{expansion=sloppy} @@ -822,6 +1000,7 @@ \subsubsection*{Danksagungen} % Enfore empty line after bibliography \ \\ % +\noindent Alle Links wurden zuletzt am 29.03.2021 geprüft. %%% =============================================================================== diff --git a/paper-de-times-minted.tex b/paper-de-times-minted.tex index 17d6e89..fe0c82d 100644 --- a/paper-de-times-minted.tex +++ b/paper-de-times-minted.tex @@ -3,8 +3,8 @@ % !TeX spellcheck = de-DE % LTeX: language=de-DE % !TeX encoding = utf8 -% !TeX program = pdflatex -% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape] +% !TeX program = lualatex +% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -12,11 +12,12 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % -% "runningheads": +% "runningheads" führt zu folgendem: % % - zeigt Author + Titel auf jeder Seite. % - Während des Schreibens und das Review des Papers hilft das, um z.B. auf konkrete Seitenzahlen einfach verweisen zu können. @@ -26,11 +27,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % -% Diese Option nach Aufforderung durch die Herausgeber entfernen. +% Die Option "runningheads" ist nach Aufforderung durch die Herausgeber entfernen. % % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,ngerman]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) werden als solches in verbatim-Umgebungen dargestellt % Details unter: % - https://tex.stackexchange.com/a/341057/9075 @@ -46,26 +49,6 @@ % Hinweis von http://tex.stackexchange.com/a/321066/9075 % Ermögliche die Benutzung von "= als Trennstriche \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix von https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links verhalten sich so, wie sie sollen % Zeilenumbrüche bei URLs auch bei Bindestrichen erlauben, auch wenn es verwirrend sein könnte: Gehört der Bindestrich zur URL oder ist es ein Trennstrich? @@ -78,12 +61,40 @@ \g@addto@macro{\UrlBreaks}{\UrlOrds} \makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% See https://tug.org/FontCatalogue/texgyretermes/ for more information +\setmainfont{texgyretermes}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic, + Ligatures=TeX +] +% See https://tug.org/FontCatalogue/texgyreheros/ for more information +\setsansfont[Scale=.9]{TeX Gyre Heros Regular} +% newtxtt looks good with times, but no equivalent for lualatex found, +% therefore tried to replace with inconsolata. +% However, inconsolata does not look good in the context of LNCS ... +%\setmonofont[StylisticSet={1,3},Scale=.9]{inconsolata} +% ... thus, we use the good old Latin Modern Mono font for source code. +\setmonofont{Latin Modern Mono} % "variable=false" + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else \RequirePackage{newtxtext} \RequirePackage{newtxmath} \RequirePackage[zerostyle=b,scaled=.9]{newtxtt} % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Optischer Randausgleich und Grauwertkorrektur. Siehe See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -114,8 +125,9 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} +\usepackage[dvipsnames, table]{xcolor} +% See https://github.com/gpoore/minted \usepackage[newfloat]{minted} \setminted{ @@ -132,9 +144,9 @@ % breakbytokenanywhere=true } -\usemintedstyle{bw} %black and white style +%\usemintedstyle{bw} %black and white style %\usemintedstyle{vs} %visual studio -%\usemintedstyle{friendlygrayscale} % custom style - submitted as pull request https://bitbucket.org/birkenfeld/pygments-main/pull-requests/748/add-style-friendly-grayscale/diff +\usemintedstyle{friendly_grayscale} %\usemintedstyle{friendly} %\usemintedstyle{eclipse} %http://www.jevon.org/wiki/Eclipse_Pygments_Style %\usemintedstyle{autumn} @@ -164,7 +176,10 @@ \defineshorthand{"`}{\openautoquote} \defineshorthand{"'}{\closeautoquote} -% Nicer tables (\toprule, \midrule, \bottomrule) +% bessere Abstaende innerhalb der Tabelle (Layout)) +% ------------------------------------------------- +% \toprule, \midrule, \bottomrule +% Doc: https://texdoc.org/serve/booktabs/0 \usepackage{booktabs} % Extended enumerate, such as \begin{compactenum} @@ -206,24 +221,106 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt + +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} + +%%% Fussnoten/Endnoten =================================================== + +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren +% Source: https://tex.stackexchange.com/a/32993/9075 +\usepackage{stfloats} +\fnbelowfloat + +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + % Enable nice comments \usepackage{pdfcomment} -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} -% Fußnoten unter Gleitumgebungen ("floats") platzieren -% Quelle: https://tex.stackexchange.com/a/32993/9075 -\usepackage{stfloats} -\fnbelowfloat +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} \addto\extrasgerman{\sisetup{locale = DE}} @@ -234,10 +331,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -252,6 +351,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % cleveref für cref statt autoref, da cleveref auch bei Definitionen funktioniert @@ -303,6 +410,10 @@ \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} \usepackage{xspace} +% Macht \xspace und \enquote kompatibel +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother % Enable hyphenation at other places as the dash. % Example: applicaiton\hydash specific @@ -311,8 +422,24 @@ % Definition of "= taken from http://mirror.ctan.org/macros/latex/contrib/babel-contrib/german/ngermanb.dtx \makeatother +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\usepackage{autotype} +\fi + % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + Spe-zi-fi-ka-tion + In-te-gra-tion + An-for-de-rung An-for-de-run-gen + Be-nut-zer-ober-flä-che + Mes-sung-en + aus-zu-tau-schen + Lauf-zeit-in-for-ma-tionen + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -331,6 +458,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -342,8 +470,13 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/autotype +% See ADR-0008 for alternatives +\autotypelangoptions{ngerman}{ligbreak} +\fi \title{Paper Title} % If Title is too long, use \titlerunning @@ -376,7 +509,7 @@ \maketitle \begin{abstract} - +\lipsum[1] \keywords{First keyword \and Second keyword \and Third keyword} \end{abstract} @@ -399,7 +532,7 @@ \section{Verwandte Arbeiten} Eine Beschreibung relevanter wissenschaftlicher Arbeiten mit Bezug zur eigenen Arbeit. Der Abschnitt kann je nach Kontext auch an anderer Stelle stehen. -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hinweise} @@ -469,6 +602,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -565,8 +727,9 @@ \subsection{Abbildungen} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} + \subsection{Sub Figures} An example of two sub figures is shown in \cref{fig:two_sub_figures}. @@ -746,7 +909,7 @@ \subsubsection*{Danksagungen} \renewcommand{\bibsection}{\section*{Literatur}} % requried for natbib to have "References" printed and as section*, not chapter* % Use natbib compatbile splncs04nat style. % It does provide all features of splncs03, but is developed in a clean way. -% Source: http://phaseportrait.blogspot.de/2011/02/natbib-compatible-bibtex-style-bst-file.html +% Source: https://github.com/tpavlic/splncs04nat \bibliographystyle{splncs04nat} \begingroup \microtypecontext{expansion=sloppy} @@ -757,6 +920,7 @@ \subsubsection*{Danksagungen} % Enfore empty line after bibliography \ \\ % +\noindent Alle Links wurden zuletzt am 29.03.2021 geprüft. %%% =============================================================================== diff --git a/paper-en-default-listings.tex b/paper-en-default-listings.tex index f60ed0f..3a1ac81 100644 --- a/paper-en-default-listings.tex +++ b/paper-en-default-listings.tex @@ -3,7 +3,7 @@ % !TeX spellcheck = en-US % LTeX: language=en-US % !TeX encoding = utf8 -% !TeX program = pdflatex +% !TeX program = lualatex % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -11,9 +11,10 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % % "runningheads" enables: % @@ -25,9 +26,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % +% The optiion "runningheads" neesd to be removed upon request of the publisher. +% % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,english]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) are rendered as such in verbatim environments. % See following links for details: % - https://tex.stackexchange.com/a/341057/9075 @@ -43,26 +48,6 @@ % % Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix by https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links behave as they should. Enables "\url{...}" for URL typesettings. % Allow URL breaks also at a hyphen, even though it might be confusing: Is the "-" part of the address or just a hyphen? @@ -85,6 +70,38 @@ %\g@addto@macro\UrlSpecials{\do\/{\Url@twoslashes}} %\makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% Typewriter font (for source code etc) +% Use New Computer Modern font (Computer Modern is the default LaTeX font; this is the implemented modern variant) +% Source: https://tug.org/FontCatalogue/newcomputermoderntypewriter/ + +\setmainfont[% +ItalicFont=NewCM10-Italic.otf,% +BoldFont=NewCM10-Bold.otf,% +BoldItalicFont=NewCM10-BoldItalic.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf} + +\setsansfont[% +ItalicFont=NewCMSans10-Oblique.otf,% +BoldFont=NewCMSans10-Bold.otf,% +BoldItalicFont=NewCMSans10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf} + +\setmonofont[ItalicFont=NewCMMono10-Italic.otf,% +BoldFont=NewCMMono10-Bold.otf,% +BoldItalicFont=NewCMMono10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf} + +\setmathfont{NewCMMath-Regular.otf} + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else % This is the modern package for "Computer Modern". % In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex) \usepackage[% @@ -98,6 +115,7 @@ % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Character protrusion and font expansion. See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -123,8 +141,7 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} - +\usepackage[dvipsnames, table]{xcolor} % Code Listings \usepackage{listings} @@ -180,13 +197,15 @@ % default: \rmfamily stringstyle=\ttfamily, % - breaklines=true, + breaklines=true, % Zeilen werden umbrochen % breakatwhitespace=true, % % alternative: fixed columns=flexible, % + tabsize=2, % Groesse von Tabs + % numbers=left, % numberstyle=\tiny, @@ -201,6 +220,7 @@ % captionpos=b } +\ifluatex\else % Enable Umlauts when using \lstinputputlisting. % See https://stackoverflow.com/a/29260603/873282 für details. @@ -219,6 +239,16 @@ {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 } +\fi + +\lstloadlanguages{% Check dokumentation for further languages... + %[Visual]Basic + %Pascal + %C + %C++ + %XML + %HTML +} % For easy quotations: \enquote{text} % This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command @@ -270,25 +300,107 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} -% Enable nice comments -\usepackage{pdfcomment} - -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +%%% Fussnoten/Endnoten =================================================== -% Put footnotes below floats +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren % Source: https://tex.stackexchange.com/a/32993/9075 \usepackage{stfloats} \fnbelowfloat +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + +% Enable nice comments +\usepackage{pdfcomment} + +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} + +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} + +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} + +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} + \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} % 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 @@ -297,10 +409,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -308,6 +422,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % Extensions for references inside the document (\cref{fig:sample}, ...) @@ -347,7 +469,13 @@ }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} +% Allows for defining commands that don't eat spaces. \usepackage{xspace} +% Adds compatibility to \xspace und \enquote +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother + \newcommand{\eg}{e.g.,\ } \newcommand{\ie}{i.e.,\ } @@ -360,11 +488,20 @@ % Add manual adapted hyphenation of English words % See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details -% Does not work on MiKTeX, therefore disabled - issue reported at https://github.com/MiKTeX/miktex-packaging/issues/271 -% \input{ushyphex} +\input{ushyphex} + +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/selnolig +% See ADR-0009 for alternatives +\usepackage{selnolig} +\fi % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + op-tical net-works semi-conduc-tor + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -383,6 +520,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -394,7 +532,7 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} \title{Paper Title} @@ -445,7 +583,7 @@ \section{Introduction} \section{Related Work} \label{sec:relatedwork} -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hints} @@ -520,6 +658,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -616,7 +783,7 @@ \subsection{Figures} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} \subsection{Sub Figures} @@ -819,6 +986,7 @@ \subsubsection*{Acknowledgments} % Enfore empty line after bibliography \ \\ % +\noindent All links were last followed on October 5, 2020. %%% =============================================================================== diff --git a/paper-en-default-minted.tex b/paper-en-default-minted.tex index 429ce0a..f24b3b7 100644 --- a/paper-en-default-minted.tex +++ b/paper-en-default-minted.tex @@ -3,8 +3,8 @@ % !TeX spellcheck = en-US % LTeX: language=en-US % !TeX encoding = utf8 -% !TeX program = pdflatex -% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape] +% !TeX program = lualatex +% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -12,9 +12,10 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % % "runningheads" enables: % @@ -26,9 +27,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % +% The optiion "runningheads" neesd to be removed upon request of the publisher. +% % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,english]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) are rendered as such in verbatim environments. % See following links for details: % - https://tex.stackexchange.com/a/341057/9075 @@ -44,26 +49,6 @@ % % Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix by https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links behave as they should. Enables "\url{...}" for URL typesettings. % Allow URL breaks also at a hyphen, even though it might be confusing: Is the "-" part of the address or just a hyphen? @@ -86,6 +71,38 @@ %\g@addto@macro\UrlSpecials{\do\/{\Url@twoslashes}} %\makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% Typewriter font (for source code etc) +% Use New Computer Modern font (Computer Modern is the default LaTeX font; this is the implemented modern variant) +% Source: https://tug.org/FontCatalogue/newcomputermoderntypewriter/ + +\setmainfont[% +ItalicFont=NewCM10-Italic.otf,% +BoldFont=NewCM10-Bold.otf,% +BoldItalicFont=NewCM10-BoldItalic.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf} + +\setsansfont[% +ItalicFont=NewCMSans10-Oblique.otf,% +BoldFont=NewCMSans10-Bold.otf,% +BoldItalicFont=NewCMSans10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf} + +\setmonofont[ItalicFont=NewCMMono10-Italic.otf,% +BoldFont=NewCMMono10-Bold.otf,% +BoldItalicFont=NewCMMono10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf} + +\setmathfont{NewCMMath-Regular.otf} + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else % This is the modern package for "Computer Modern". % In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex) \usepackage[% @@ -99,6 +116,7 @@ % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Character protrusion and font expansion. See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -124,8 +142,8 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} - +\usepackage[dvipsnames, table]{xcolor} +% See https://github.com/gpoore/minted \usepackage[newfloat]{minted} \setminted{ @@ -142,9 +160,9 @@ % breakbytokenanywhere=true } -\usemintedstyle{bw} %black and white style +%\usemintedstyle{bw} %black and white style %\usemintedstyle{vs} %visual studio -%\usemintedstyle{friendlygrayscale} % custom style - submitted as pull request https://bitbucket.org/birkenfeld/pygments-main/pull-requests/748/add-style-friendly-grayscale/diff +\usemintedstyle{friendly_grayscale} %\usemintedstyle{friendly} %\usemintedstyle{eclipse} %http://www.jevon.org/wiki/Eclipse_Pygments_Style %\usemintedstyle{autumn} @@ -216,25 +234,107 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} -% Enable nice comments -\usepackage{pdfcomment} - -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +%%% Fussnoten/Endnoten =================================================== -% Put footnotes below floats +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren % Source: https://tex.stackexchange.com/a/32993/9075 \usepackage{stfloats} \fnbelowfloat +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + +% Enable nice comments +\usepackage{pdfcomment} + +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} + +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} + +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} + +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} + \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} % 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 @@ -243,10 +343,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -254,6 +356,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % Extensions for references inside the document (\cref{fig:sample}, ...) @@ -295,7 +405,13 @@ }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} +% Allows for defining commands that don't eat spaces. \usepackage{xspace} +% Adds compatibility to \xspace und \enquote +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother + \newcommand{\eg}{e.g.,\ } \newcommand{\ie}{i.e.,\ } @@ -308,11 +424,20 @@ % Add manual adapted hyphenation of English words % See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details -% Does not work on MiKTeX, therefore disabled - issue reported at https://github.com/MiKTeX/miktex-packaging/issues/271 -% \input{ushyphex} +\input{ushyphex} + +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/selnolig +% See ADR-0009 for alternatives +\usepackage{selnolig} +\fi % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + op-tical net-works semi-conduc-tor + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -331,6 +456,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -342,7 +468,7 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} \title{Paper Title} @@ -393,7 +519,7 @@ \section{Introduction} \section{Related Work} \label{sec:relatedwork} -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hints} @@ -464,6 +590,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -560,7 +715,7 @@ \subsection{Figures} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} \subsection{Sub Figures} @@ -749,6 +904,7 @@ \subsubsection*{Acknowledgments} % Enfore empty line after bibliography \ \\ % +\noindent All links were last followed on October 5, 2020. %%% =============================================================================== diff --git a/paper-en-times-listings.tex b/paper-en-times-listings.tex index 7e11bd6..2f00472 100644 --- a/paper-en-times-listings.tex +++ b/paper-en-times-listings.tex @@ -3,7 +3,7 @@ % !TeX spellcheck = en-US % LTeX: language=en-US % !TeX encoding = utf8 -% !TeX program = pdflatex +% !TeX program = lualatex % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -11,9 +11,10 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % % "runningheads" enables: % @@ -25,9 +26,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % +% The optiion "runningheads" neesd to be removed upon request of the publisher. +% % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,english]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) are rendered as such in verbatim environments. % See following links for details: % - https://tex.stackexchange.com/a/341057/9075 @@ -43,26 +48,6 @@ % % Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix by https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links behave as they should. Enables "\url{...}" for URL typesettings. % Allow URL breaks also at a hyphen, even though it might be confusing: Is the "-" part of the address or just a hyphen? @@ -85,12 +70,40 @@ %\g@addto@macro\UrlSpecials{\do\/{\Url@twoslashes}} %\makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% See https://tug.org/FontCatalogue/texgyretermes/ for more information +\setmainfont{texgyretermes}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic, + Ligatures=TeX +] +% See https://tug.org/FontCatalogue/texgyreheros/ for more information +\setsansfont[Scale=.9]{TeX Gyre Heros Regular} +% newtxtt looks good with times, but no equivalent for lualatex found, +% therefore tried to replace with inconsolata. +% However, inconsolata does not look good in the context of LNCS ... +%\setmonofont[StylisticSet={1,3},Scale=.9]{inconsolata} +% ... thus, we use the good old Latin Modern Mono font for source code. +\setmonofont{Latin Modern Mono} % "variable=false" + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else \RequirePackage{newtxtext} \RequirePackage{newtxmath} \RequirePackage[zerostyle=b,scaled=.9]{newtxtt} % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Character protrusion and font expansion. See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -116,8 +129,7 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} - +\usepackage[dvipsnames, table]{xcolor} % Code Listings \usepackage{listings} @@ -173,13 +185,15 @@ % default: \rmfamily stringstyle=\ttfamily, % - breaklines=true, + breaklines=true, % Zeilen werden umbrochen % breakatwhitespace=true, % % alternative: fixed columns=flexible, % + tabsize=2, % Groesse von Tabs + % numbers=left, % numberstyle=\tiny, @@ -194,6 +208,7 @@ % captionpos=b } +\ifluatex\else % Enable Umlauts when using \lstinputputlisting. % See https://stackoverflow.com/a/29260603/873282 für details. @@ -212,6 +227,16 @@ {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 } +\fi + +\lstloadlanguages{% Check dokumentation for further languages... + %[Visual]Basic + %Pascal + %C + %C++ + %XML + %HTML +} % For easy quotations: \enquote{text} % This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command @@ -263,25 +288,107 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} -% Enable nice comments -\usepackage{pdfcomment} - -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +%%% Fussnoten/Endnoten =================================================== -% Put footnotes below floats +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren % Source: https://tex.stackexchange.com/a/32993/9075 \usepackage{stfloats} \fnbelowfloat +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + +% Enable nice comments +\usepackage{pdfcomment} + +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} + +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} + +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} + +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} + \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} % 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 @@ -290,10 +397,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -301,6 +410,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % Extensions for references inside the document (\cref{fig:sample}, ...) @@ -340,7 +457,13 @@ }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} +% Allows for defining commands that don't eat spaces. \usepackage{xspace} +% Adds compatibility to \xspace und \enquote +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother + \newcommand{\eg}{e.g.,\ } \newcommand{\ie}{i.e.,\ } @@ -353,11 +476,20 @@ % Add manual adapted hyphenation of English words % See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details -% Does not work on MiKTeX, therefore disabled - issue reported at https://github.com/MiKTeX/miktex-packaging/issues/271 -% \input{ushyphex} +\input{ushyphex} + +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/selnolig +% See ADR-0009 for alternatives +\usepackage{selnolig} +\fi % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + op-tical net-works semi-conduc-tor + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -376,6 +508,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -387,7 +520,7 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} \title{Paper Title} @@ -438,7 +571,7 @@ \section{Introduction} \section{Related Work} \label{sec:relatedwork} -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hints} @@ -513,6 +646,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -609,7 +771,7 @@ \subsection{Figures} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} \subsection{Sub Figures} @@ -812,6 +974,7 @@ \subsubsection*{Acknowledgments} % Enfore empty line after bibliography \ \\ % +\noindent All links were last followed on October 5, 2020. %%% =============================================================================== diff --git a/paper-en-times-minted.tex b/paper-en-times-minted.tex index f3a5025..2531dbc 100644 --- a/paper-en-times-minted.tex +++ b/paper-en-times-minted.tex @@ -3,8 +3,8 @@ % !TeX spellcheck = en-US % LTeX: language=en-US % !TeX encoding = utf8 -% !TeX program = pdflatex -% !TeX TXS-program:compile = txs:///pdflatex/[--shell-escape] +% !TeX program = lualatex +% !TeX TXS-program:compile = txs:///lualatex/[--shell-escape] % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -12,9 +12,10 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % % "runningheads" enables: % @@ -26,9 +27,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % +% The optiion "runningheads" neesd to be removed upon request of the publisher. +% % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,english]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) are rendered as such in verbatim environments. % See following links for details: % - https://tex.stackexchange.com/a/341057/9075 @@ -44,26 +49,6 @@ % % Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix by https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links behave as they should. Enables "\url{...}" for URL typesettings. % Allow URL breaks also at a hyphen, even though it might be confusing: Is the "-" part of the address or just a hyphen? @@ -86,12 +71,40 @@ %\g@addto@macro\UrlSpecials{\do\/{\Url@twoslashes}} %\makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% See https://tug.org/FontCatalogue/texgyretermes/ for more information +\setmainfont{texgyretermes}[ + Extension = .otf, + UprightFont = *-regular, + BoldFont = *-bold, + ItalicFont = *-italic, + BoldItalicFont = *-bolditalic, + Ligatures=TeX +] +% See https://tug.org/FontCatalogue/texgyreheros/ for more information +\setsansfont[Scale=.9]{TeX Gyre Heros Regular} +% newtxtt looks good with times, but no equivalent for lualatex found, +% therefore tried to replace with inconsolata. +% However, inconsolata does not look good in the context of LNCS ... +%\setmonofont[StylisticSet={1,3},Scale=.9]{inconsolata} +% ... thus, we use the good old Latin Modern Mono font for source code. +\setmonofont{Latin Modern Mono} % "variable=false" + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else \RequirePackage{newtxtext} \RequirePackage{newtxmath} \RequirePackage[zerostyle=b,scaled=.9]{newtxtt} % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Character protrusion and font expansion. See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -117,8 +130,8 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} - +\usepackage[dvipsnames, table]{xcolor} +% See https://github.com/gpoore/minted \usepackage[newfloat]{minted} \setminted{ @@ -135,9 +148,9 @@ % breakbytokenanywhere=true } -\usemintedstyle{bw} %black and white style +%\usemintedstyle{bw} %black and white style %\usemintedstyle{vs} %visual studio -%\usemintedstyle{friendlygrayscale} % custom style - submitted as pull request https://bitbucket.org/birkenfeld/pygments-main/pull-requests/748/add-style-friendly-grayscale/diff +\usemintedstyle{friendly_grayscale} %\usemintedstyle{friendly} %\usemintedstyle{eclipse} %http://www.jevon.org/wiki/Eclipse_Pygments_Style %\usemintedstyle{autumn} @@ -209,25 +222,107 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} -% Enable nice comments -\usepackage{pdfcomment} - -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +%%% Fussnoten/Endnoten =================================================== -% Put footnotes below floats +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren % Source: https://tex.stackexchange.com/a/32993/9075 \usepackage{stfloats} \fnbelowfloat +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + +% Enable nice comments +\usepackage{pdfcomment} + +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} + +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} + +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} + +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} + \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} % 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 @@ -236,10 +331,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -247,6 +344,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % Extensions for references inside the document (\cref{fig:sample}, ...) @@ -288,7 +393,13 @@ }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} +% Allows for defining commands that don't eat spaces. \usepackage{xspace} +% Adds compatibility to \xspace und \enquote +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother + \newcommand{\eg}{e.g.,\ } \newcommand{\ie}{i.e.,\ } @@ -301,11 +412,20 @@ % Add manual adapted hyphenation of English words % See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details -% Does not work on MiKTeX, therefore disabled - issue reported at https://github.com/MiKTeX/miktex-packaging/issues/271 -% \input{ushyphex} +\input{ushyphex} + +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/selnolig +% See ADR-0009 for alternatives +\usepackage{selnolig} +\fi % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + op-tical net-works semi-conduc-tor + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -324,6 +444,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -335,7 +456,7 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} \title{Paper Title} @@ -386,7 +507,7 @@ \section{Introduction} \section{Related Work} \label{sec:relatedwork} -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hints} @@ -457,6 +578,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -553,7 +703,7 @@ \subsection{Figures} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} \subsection{Sub Figures} @@ -742,6 +892,7 @@ \subsubsection*{Acknowledgments} % Enfore empty line after bibliography \ \\ % +\noindent All links were last followed on October 5, 2020. %%% =============================================================================== diff --git a/paper.tex b/paper.tex index f60ed0f..3a1ac81 100644 --- a/paper.tex +++ b/paper.tex @@ -3,7 +3,7 @@ % !TeX spellcheck = en-US % LTeX: language=en-US % !TeX encoding = utf8 -% !TeX program = pdflatex +% !TeX program = lualatex % !BIB program = bibtex % -*- coding:utf-8 mod:LaTeX -*- @@ -11,9 +11,10 @@ % % - easy print out on DIN A4 paper size % -% One can configure a4 vs. letter in the LaTeX installation. So it is configuration dependend, what the paper size will be. -% This option present, because the current word template offered by Springer is DIN A4. -% We accept that DIN A4 cause WTFs at persons not used to A4 in USA. +% One can configure default page size (a4 vs. letter) in the LaTeX installation. +% Thus, it is configuration dependend, what the paper size will be. +% Having "a4paper" option present, the page size is set to A4. +% Note that the current word template offered by Springer is DIN A4. % % "runningheads" enables: % @@ -25,9 +26,13 @@ % blindly opening the folder, one could hit not the title page, but an arbitrary page. Therefore, % it is good to have title printed on the pages, too. % +% The optiion "runningheads" neesd to be removed upon request of the publisher. +% % To disable outputting page headers and footers, remove "runningheads" \documentclass[runningheads,a4paper,english]{llncs}[2022/01/12] +\usepackage{iftex} + % backticks (`) are rendered as such in verbatim environments. % See following links for details: % - https://tex.stackexchange.com/a/341057/9075 @@ -43,26 +48,6 @@ % % Hint by http://tex.stackexchange.com/a/321066/9075 -> enable "= as dashes \addto\extrasenglish{\languageshorthands{ngerman}\useshorthands{"}} -% -% Fix by https://tex.stackexchange.com/a/441701/9075 -\usepackage{regexpatch} -\makeatletter -\edef\switcht@albion{% - \relax\unexpanded\expandafter{\switcht@albion}% -} -\xpatchcmd*{\switcht@albion}{ \def}{\def}{}{} -\xpatchcmd{\switcht@albion}{\relax}{}{}{} -\edef\switcht@deutsch{% - \relax\unexpanded\expandafter{\switcht@deutsch}% -} -\xpatchcmd*{\switcht@deutsch}{ \def}{\def}{}{} -\xpatchcmd{\switcht@deutsch}{\relax}{}{}{} -\edef\switcht@francais{% - \relax\unexpanded\expandafter{\switcht@francais}% -} -\xpatchcmd*{\switcht@francais}{ \def}{\def}{}{} -\xpatchcmd{\switcht@francais}{\relax}{}{}{} -\makeatother % Links behave as they should. Enables "\url{...}" for URL typesettings. % Allow URL breaks also at a hyphen, even though it might be confusing: Is the "-" part of the address or just a hyphen? @@ -85,6 +70,38 @@ %\g@addto@macro\UrlSpecials{\do\/{\Url@twoslashes}} %\makeatother +\ifluatex +\usepackage[no-math]{fontspec} +\usepackage{unicode-math} + +% Typewriter font (for source code etc) +% Use New Computer Modern font (Computer Modern is the default LaTeX font; this is the implemented modern variant) +% Source: https://tug.org/FontCatalogue/newcomputermoderntypewriter/ + +\setmainfont[% +ItalicFont=NewCM10-Italic.otf,% +BoldFont=NewCM10-Bold.otf,% +BoldItalicFont=NewCM10-BoldItalic.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCM10-Regular.otf} + +\setsansfont[% +ItalicFont=NewCMSans10-Oblique.otf,% +BoldFont=NewCMSans10-Bold.otf,% +BoldItalicFont=NewCMSans10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMSans10-Regular.otf} + +\setmonofont[ItalicFont=NewCMMono10-Italic.otf,% +BoldFont=NewCMMono10-Bold.otf,% +BoldItalicFont=NewCMMono10-BoldOblique.otf,% +SmallCapsFeatures={Numbers=OldStyle}]{NewCMMono10-Regular.otf} + +\setmathfont{NewCMMath-Regular.otf} + +% Enable proper ligatures +% For more information see https://ctan.org/pkg/selnolig +% language "english" or "ngerman" is passed to selnolig by the document class +\usepackage{selnolig} +\else % This is the modern package for "Computer Modern". % In case this gets activated, one has to switch from cmap package to glyphtounicode (in the case of pdflatex) \usepackage[% @@ -98,6 +115,7 @@ % Has to be loaded AFTER any font packages. See https://tex.stackexchange.com/a/2869/9075. \usepackage[T1]{fontenc} +\fi % Character protrusion and font expansion. See http://www.ctan.org/tex-archive/macros/latex/contrib/microtype/ @@ -123,8 +141,7 @@ % Slashbox is not available in texlive (due to licensing) and also gives bad results. Thus, we use diagbox \usepackage{diagbox} -\usepackage{xcolor} - +\usepackage[dvipsnames, table]{xcolor} % Code Listings \usepackage{listings} @@ -180,13 +197,15 @@ % default: \rmfamily stringstyle=\ttfamily, % - breaklines=true, + breaklines=true, % Zeilen werden umbrochen % breakatwhitespace=true, % % alternative: fixed columns=flexible, % + tabsize=2, % Groesse von Tabs + % numbers=left, % numberstyle=\tiny, @@ -201,6 +220,7 @@ % captionpos=b } +\ifluatex\else % Enable Umlauts when using \lstinputputlisting. % See https://stackoverflow.com/a/29260603/873282 für details. @@ -219,6 +239,16 @@ {ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1 {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1 } +\fi + +\lstloadlanguages{% Check dokumentation for further languages... + %[Visual]Basic + %Pascal + %C + %C++ + %XML + %HTML +} % For easy quotations: \enquote{text} % This package is very smart when nesting is applied, otherwise textcmds (see below) provides a shorter command @@ -270,25 +300,107 @@ { } % Put figures aside a text +% Even though the package is from 1998, it works well \usepackage[rflt]{floatflt} -% Enable nice comments -\usepackage{pdfcomment} - -\newcommand{\commentontext}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} -\newcommand{\commentatside}[1]{\pdfcomment[color={0.045 0.278 0.643},icon=Note]{#1}} +% Farbige Tabellen +% ---------------- +% Das Paket colortbl wird inzwischen automatisch durch xcolor geladen +% +% Erweiterte Funktionen innerhalb von Tabellen +% -------------------------------------------- +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/multirow/multirow.sty +\usepackage{multirow} % Mehrfachspalten +% +%%% Doc: Documentation inside dtx Package +\usepackage{dcolumn} % Ausrichtung an Komma oder Punkt -% Compatibality with packages todo, easy-todo, todonotes -\newcommand{\todo}[1]{\commentatside{#1}} +%%% Doc: http://mirror.ctan.org/tex-archive/macros/latex/contrib/supertabular/supertabular.pdf +%\usepackage{supertabular} -% Compatiblity with package fixmetodonotes -\newcommand{\TODO}[1]{\commentatside{#1}} +%%% Fussnoten/Endnoten =================================================== -% Put footnotes below floats +% EN: Put footnotes below floats +% DE: Fußnoten unter Gleitumgebungen ("floats") platzieren % Source: https://tex.stackexchange.com/a/32993/9075 \usepackage{stfloats} \fnbelowfloat +% EN: Extended support for footnotes +% DE: Fußnoten +% +%\usepackage{dblfnote} %Zweispaltige Fußnoten +% +% Keine hochgestellten Ziffern in der Fußnote (KOMA-Script-spezifisch): +%\deffootnote[1.5em]{0pt}{1em}{\makebox[1.5em][l]{\bfseries\thefootnotemark}} +% +% Abstand zwischen Fußnoten vergrößern: +%\setlength{\footnotesep}{.85\baselineskip} +% +% EN: Following command disables the separting line of the footnote +% DE: Folgendes Kommando deaktiviert die Trennlinie zur Fußnote +%\renewcommand{\footnoterule}{} +% +%\addtolength{\skip\footins}{\baselineskip} % Abstand Text <-> Fußnote + +% DE: Fußnoten immer ganz unten auf einer \raggedbottom-Seite +% DE: fnpos kommt aus dem yafoot package +%\usepackage{fnpos} +%\makeFNbelow +%\makeFNbottom + +% TODO (and comment) configuration +% +% - \todo (from todo, easy-todo, todonotes) / \TODO (from fixmetodonotes) - for "normal" TODOs +% - \todofix - "important" TODOs +% +% - \textcomment - highlights text and has a hover comment +% - \sidecomment - just puts a comment to the side. Note: \comment MUST NOT be used as command name, it is already defined by much packages (mathdesign, mindflow, verbatim, and others) +% +% - \missingfigure +% +% - \textmarker +% - \modified +% - \change - adresses a review comment + +% Enable nice comments +\usepackage{pdfcomment} + +\newcommand{\textcomment}[2]{\colorbox{yellow!60}{#1}\pdfcomment[color={0.234 0.867 0.211},hoffset=-6pt,voffset=10pt,opacity=0.5]{#2}} + +% Small PDF comment +% 1. Parameter: Comment +\newcommand{\sidecomment}[1]{\pdfcomment[color={0.045 0.278 0.643},voffset=4pt,icon=Note]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\sidecomment}[1]{} + +\newcommand{\todo}[1]{TODO!\sidecomment{#1}} + +% Änderungen +% +% 1. Parameter: Review-Kommentar +% 2. Parameter: Neuer Text +\newcommand{\change}[2]{{\color{red}#2}\pdfcomment[color={0.234 0.867 0.211},voffset=8pt,opacity=0.5]{#1}} +% Disabled variant - for the final PDF +%\newcommand{\change}[2]{#2} + +% Define default commands +\makeatletter +\@ifundefined{missingfigure}{\newcommand{\missingfigure}{... missing figure ...}}{} +\@ifundefined{textcomment}{\newcommand{\textcomment}[2]{#1 \todo{#2}}}{} +\@ifundefined{sidecomment}{\newcommand{\sidecomment}[1]{\marginpar{#1}}}{} +\@ifundefined{todo}{\newcommand{\todo}[1]{\sidecomment{#1}}}{} +\@ifundefined{TODO}{\newcommand{\TODO}[1]{\todo{#1}}}{} +\@ifundefined{todofix}{\newcommand{\todofix}[1]{\todo{#1}}}{} +\@ifundefined{change}{\newcommand{\change}[2]{#1 $\rightarrow$ #2}}{} +\makeatother + +% Textmarker (Textfarbe rot) +\newcommand{\textmarker}[1]{{\color{red} #1}\xspace} + +% Modified (Text blau) +\newcommand{\modified}[1]{{\color{blue!60!black} #1}\xspace} + \usepackage[group-minimum-digits=4,per-mode=fraction]{siunitx} % 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 @@ -297,10 +409,12 @@ % Enable hyperref without colors and without bookmarks \hypersetup{ hidelinks, - colorlinks=true, + colorlinks=true, % Links erhalten Farben statt Kaeten + raiselinks=true, % calculate real height of the link allcolors=black, pdfstartview=Fit, - breaklinks=true + breaklinks=true, % Links ueberstehen Zeilenumbruch + hypertexnames=false, % Fix jumping to algorithm line - http://tex.stackexchange.com/a/156404/9075 } % Enable correct jumping to figures when referencing @@ -308,6 +422,14 @@ \usepackage[caption=false,font=footnotesize]{subfig} +% Alternative for making subfigures: +% Part of the caption package. See http://www.ctan.org/pkg/caption +% Ersetzt die Pakete subfigure und subfig - siehe https://tex.stackexchange.com/a/13778/9075 +% +% (subfigure is outdated. subfig is maintained, but subcaption is better) +% See: http://tex.stackexchange.com/questions/13625/subcaption-vs-subfig-best-package-for-referencing-a-subfigure +%\usepackage[hypcap=true]{subcaption} + \usepackage{mindflow} % Extensions for references inside the document (\cref{fig:sample}, ...) @@ -347,7 +469,13 @@ }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} +% Allows for defining commands that don't eat spaces. \usepackage{xspace} +% Adds compatibility to \xspace und \enquote +\makeatletter +\xspaceaddexceptions{\grqq \grq \csq@qclose@i \} } +\makeatother + \newcommand{\eg}{e.g.,\ } \newcommand{\ie}{i.e.,\ } @@ -360,11 +488,20 @@ % Add manual adapted hyphenation of English words % See https://ctan.org/pkg/hyphenex and https://tex.stackexchange.com/a/22892/9075 for details -% Does not work on MiKTeX, therefore disabled - issue reported at https://github.com/MiKTeX/miktex-packaging/issues/271 -% \input{ushyphex} +\input{ushyphex} + +\ifluatex +% Enable correct rendering of ligatures - provided by https://ctan.org/pkg/selnolig +% See ADR-0009 for alternatives +\usepackage{selnolig} +\fi % correct bad hyphenation here -\hyphenation{op-tical net-works semi-conduc-tor} +\hyphenation{ + op-tical net-works semi-conduc-tor + % May not be hypphenated + AROMA TOSCA BPMN OASIS OMG DMTF IT DevOps +} % Add copyright % @@ -383,6 +520,7 @@ \llncs{book editors and title}{0042} \fi +\ifpdftex % Enable copy and paste of text from the PDF % Only required for pdflatex. It "just works" in the case of lualatex. % Alternative: cmap or mmap package @@ -394,7 +532,7 @@ % According to https://tex.stackexchange.com/q/451235/9075 this is the way to go \input glyphtounicode \pdfgentounicode=1 - +\fi \begin{document} \title{Paper Title} @@ -445,7 +583,7 @@ \section{Introduction} \section{Related Work} \label{sec:relatedwork} -Winery~\cite{Winery} is a graphical \commentontext{modeling}{modeling with one ``l'', because of AE} tool. +Winery~\cite{Winery} is a graphical \textcomment{modeling}{modeling with one ``l'', because of AE} tool. The whole idea of TOSCA is explained by \citet{Binz2009}. \section{LaTeX Hints} @@ -520,6 +658,35 @@ \subsection{Notes separated from the text} \end{mindflow} \end{ltgexample} +\subsection{Handling TODOs} + +\begin{ltgexample} +\textmarker{Markierter Text.} +\end{ltgexample} + +Bei \verb1\textmarker1 wird nur die Textfarbe geändert, da dies auch bei einigen Worten gut funktioniert. + +\begin{ltgexample} +\textcomment{Markierter Text.}{Kommentar dazu.} +\end{ltgexample} + +\begin{ltgexample} +\modified{Manuelle Markierung für Text, der seit der letzten Version geändert wurde.} +\end{ltgexample} + +\begin{ltgexample} +Das ist ein Text. +\change{FL1: Text angepasst}{Geänderter Text}. +\end{ltgexample} + +\begin{ltgexample} +Hier nur ein Kommentar\sidecomment{Kommentar}. +\end{ltgexample} + +\begin{ltgexample} +\todo{Hier muss noch kräftig Text produziert werden} +\end{ltgexample} + \subsection{Hyphenation} \LaTeX{} automatically hyphenates words. @@ -616,7 +783,7 @@ \subsection{Figures} \includegraphics[width=.29\linewidth]{example-image-a} \caption{A floating figure} \end{floatingfigure} -\blindtext[2] +\lipsum[2] \end{ltgexample} \subsection{Sub Figures} @@ -819,6 +986,7 @@ \subsubsection*{Acknowledgments} % Enfore empty line after bibliography \ \\ % +\noindent All links were last followed on October 5, 2020. %%% ===============================================================================