diff options
author | Karl Berry <karl@freefriends.org> | 2023-11-27 20:40:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-11-27 20:40:50 +0000 |
commit | c693f87bb999811033329ceb2eac1da17281ed89 (patch) | |
tree | 883aa6dd9603477871d02d9eee5d265cfe53df3e /Master | |
parent | fd4bf9c8239a7842dc4557378337a32377d51f70 (diff) |
lni (27nov23)
git-svn-id: svn://tug.org/texlive/trunk@68984 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/bibtex/bst/lni/lni.bst | 6 | ||||
-rw-r--r-- | Master/texmf-dist/bibtex/bst/lni/lnig.bst | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/CHANGELOG.md | 109 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/CONTRIBUTING.md | 34 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/README.md | 37 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/lni-author-template.tex | 37 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/lni-paper-example-de.bib | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/lni-paper-example-de.tex | 69 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/lni.pdf | bin | 360866 -> 377740 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/lni/lni.dtx | 666 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/lni/lni.ins | 8 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/lni/lni.cls | 319 |
12 files changed, 745 insertions, 560 deletions
diff --git a/Master/texmf-dist/bibtex/bst/lni/lni.bst b/Master/texmf-dist/bibtex/bst/lni/lni.bst index 691c6bdce13..6cc6604701a 100644 --- a/Master/texmf-dist/bibtex/bst/lni/lni.bst +++ b/Master/texmf-dist/bibtex/bst/lni/lni.bst @@ -7,7 +7,7 @@ %% lni.dtx (with options: `bibtex,eng') %% lnig.bst %% Lecture Notes in Informatics Style File (english) -%% Version 1.0 (2017/04/07) +%% Version 1.1 (2022/06/10) %% %% The Style File is based on alpha.bst %% @@ -769,7 +769,7 @@ FUNCTION {misc} { output.bibitem author empty$ { "" } - { format.authors output.nonnull } + { format.authors write$ } if$ %title howpublished new.block.checkb format.title output @@ -1285,7 +1285,7 @@ FUNCTION {end.bib} EXECUTE {end.bib} %% -%% Copyright (C) 2016-2021 by Gesellschaft für Informatik e.V. (GI) +%% Copyright (C) 2016-2023 by Gesellschaft für Informatik e.V. (GI) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License (LPPL), either diff --git a/Master/texmf-dist/bibtex/bst/lni/lnig.bst b/Master/texmf-dist/bibtex/bst/lni/lnig.bst index d37ff15b948..b0e9e2276b9 100644 --- a/Master/texmf-dist/bibtex/bst/lni/lnig.bst +++ b/Master/texmf-dist/bibtex/bst/lni/lnig.bst @@ -7,7 +7,7 @@ %% lni.dtx (with options: `bibtex,ger') %% lnig.bst %% Lecture Notes in Informatics Style File (german) -%% Version 1.0 (2017/04/07) +%% Version 1.1 (2022/06/10) %% %% The Style File is based on alpha.bst %% @@ -769,7 +769,7 @@ FUNCTION {misc} { output.bibitem author empty$ { "" } - { format.authors output.nonnull } + { format.authors write$ } if$ %title howpublished new.block.checkb format.title output @@ -1285,7 +1285,7 @@ FUNCTION {end.bib} EXECUTE {end.bib} %% -%% Copyright (C) 2016-2021 by Gesellschaft für Informatik e.V. (GI) +%% Copyright (C) 2016-2023 by Gesellschaft für Informatik e.V. (GI) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License (LPPL), either diff --git a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md index 0620ff73a0c..9eb9a35d236 100644 --- a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md @@ -1,94 +1,142 @@ # Changelog All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com/) -and this project adheres to [Semantic Versioning](http://semver.org/). +The format is based on [Keep a Changelog](https://keepachangelog.com/). -## [Unreleased] +## [1.8] - 2023-11-26 -## [1.7.0] - 2021-03-02 +### Added + +- Added option `anonymous` for anonymizing an article ([#100](https://github.com/gi-ev/LNI/pull/100)) +- Added `\pdfoutput=1` to fix compatibility with [arXiv](https://arxiv.org/) ([#81](https://github.com/gi-ev/LNI/issues/81)) +- Added more links to `biblatex-lni` to documentation ([#90](https://github.com/gi-ev/LNI/issues/90)) +- Added `\yearofpublication` to documentation ([#89](https://github.com/gi-ev/LNI/pull/89)) +- New macro `\affil` for an easier way to enter afiliations (see the documentation and lni-paper-example-de.tex for more details) + +### Changed + +- Improved spacing in and around lists to better match the Word template ([#102](https://github.com/gi-ev/LNI/pull/102)) +- Synced title spacing with Word template ([#104](https://github.com/gi-ev/LNI/pull/104)) +- (chore) `build.sh` assumes `*.md` are formatted using LF line endings, removed `dos2unix` dependency. +- Improvement for documentation ([#89](https://github.com/gi-ev/LNI/issues/89), [#90](https://github.com/gi-ev/LNI/issues/90), [#93](https://github.com/gi-ev/LNI/issues/93), [#95](https://github.com/gi-ev/LNI/issues/95), [#96](https://github.com/gi-ev/LNI/issues/96)) +- Changed delimiter between keywords to comma (,) +- Load `amsmath` explictly +- `author` now holds four arguments to integrate email and ORCID id. + +### Fixed + +- hyperref option `linktoc` fixed to `all` instead of `both` +- Fixed output in bst files ([#97](https://github.com/gi-ev/LNI/issues/97)) +- Hyperlinked bibliographic entries work again ([#107](https://github.com/gi-ev/LNI/issues/107)) +- `\footnote` is not used for pdf bookmarks ([#87](https://github.com/gi-ev/LNI/issues/87)) +- Footnotes are always set at the bottom of the page ([#122](https://github.com/gi-ev/LNI/issues/122)) +- Handling of `fleqn` option for `amsmath` + +### Removed + +- Removed support for `ccicons` +- Removed option `nohyperref` ([#131](https://github.com/gi-ev/LNI/issues/131)) + +## [1.7] - 2021-03-02 ### Changed -- Change loading of latest ngerman hyphenation patterns (#47) -- Change `\year` to `\yearofpublication` to avoid problems (#85) +- Change loading of latest ngerman hyphenation patterns ([#47](https://github.com/gi-ev/LNI/issues/47)) +- Change `\year` to `\yearofpublication` to avoid problems ([#85](https://github.com/gi-ev/LNI/issues/85)) ### Fixed -- Fix setting of pdf metadata (#87) - -## [1.6.0] - 2019-10-14 + +- Fix setting of pdf metadata ([#87](https://github.com/gi-ev/LNI/issues/87)) + +## [1.6] - 2019-10-14 ### Added + - Optional argument for `\booktitle` to support a short book title for running headers - New macro `\booksubtitle` - Add support for `selnolig` (LuaTeX-only) ### Changed + - `\email` now generates a `mailto:` hyperlink - Example file: `align` instead of `eqnarray` - Add `driver=none` option to `geometry` for better crop results (independent from engine) ### Fixed + - Global options are passed to `article` class ([#78](https://github.com/gi-ev/LNI/issues/78)) - Finally fix BiBTeX issue thanks to @ytzemih ([#6](https://github.com/gi-ev/LNI/issues/6)) - `hyperref` is loaded without options to make it more compatible with other packages like `authorarchive` +- `hypcap` is only loaded if `hyperref` has been loaded before. -## [1.5.0] - 2019-04-04 + +## [1.5] - 2019-04-04 ### Added + - Load package `textcomp` by default and add option `upquote` to `listings` package ([#69](https://github.com/gi-ev/LNI/issues/69)) - New option `norunningheads` to remove all running headers from the document ([#77](https://github.com/gi-ev/LNI/issues/77)) ### Changed + - `\refname` changed to `Bibliography` for English texts ### Fixed + - German paper example: Correct language `Java` at example listing - Packages `hyperef`, `cleveref` and `hypcap` are always at the end of the preamble ([#71](https://github.com/gi-ev/LNI/issues/71)) - Option `bookmarks` of `hyperref` now set at load-time. Had no effect before. - Layout for English texts (subtitle) - URL for GI in example file -## [1.4.0] - 2018-01-15 +## [1.4] - 2018-01-15 ### Added + - New option `oldfonts` to use the class file on older systems by loading the `mathptmx` font package ([#56](https://github.com/gi-ev/LNI/issues/56)) - New macros added (taken from `emisa.dtx`) ([#57](https://github.com/gi-ev/LNI/issues/57)) - Hint to word limit for abstract ([#60](https://github.com/gi-ev/LNI/issues/60)) -- Added full example for an article in German ([#63](https://github.com/gi-ev/LNI/issues/63)) +- Full example for an article in German ([#63](https://github.com/gi-ev/LNI/issues/63)) ### Changed + - Package `caption` is loaded in order to make the class more robust ([#59](https://github.com/gi-ev/LNI/issues/59)) ### Fixed + - Basewidth for `lstlistings` ([#62](https://github.com/gi-ev/LNI/issues/62)) - Adapting captions of `lstlistings` - License statement of paper: CC-BY-SA instead of CC-BY-NC ([#67](https://github.com/gi-ev/LNI/issues/67)) +- Font size for `\large` +- Font size bug regarding the running header and the captions -## [1.3.0] - 2017-05-15 +## [1.3] - 2017-05-15 ### Added -- New option `nofonts` to use the class file on older systems ([#53](https://github.com/gi-ev/LNI/issues/52)) + +- New option `nofonts` to use the class file on older systems ([#53](https://github.com/gi-ev/LNI/issues/53)) ### Changed -- Use more stable syntax for font loading with `fontspec` ([#54](https://github.com/gi-ev/LNI/issues/54)) +- Use more stable syntax for font loading with `fontspec` ([#54](https://github.com/gi-ev/LNI/issues/54)) -## [1.2.0] - 2017-05-05 +## [1.2] - 2017-05-05 ### Added + - Quick start section for README.md ([#48](https://github.com/gi-ev/LNI/issues/48)) - New macro `\lnidoi` to add DOI to pages (DOI provided by editor) - General (partial) support for `XeTeX` and `LuaTeX` using the `iftex` package ([#51](https://github.com/gi-ev/LNI/issues/51)) ### Changed -- Option `straightquotes` is set manually for package `newtxtt` to gain compatibility with versions prior to v1.05 ([#49](https://github.com/gi-ev/LNI/issues/49)) +- Option `straightquotes` is set manually for package `newtxtt` to gain compatibility with versions prior to v1.05 ([#49](https://github.com/gi-ev/LNI/issues/49)) -## [1.1.0] - 2017-04-19 +## [1.1] - 2017-04-19 ### Added + - New macro `\subtitle` ([#44](https://github.com/gi-ev/LNI/issues/44)) - New keyword delimiter `\and` ([#43](https://github.com/gi-ev/LNI/issues/43)) - New files CHANGELOG.md and CONTRIBUTING.md @@ -96,22 +144,25 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Check for latest German hyphenation patterns ([#47](https://github.com/gi-ev/LNI/issues/47)) ### Changed + - CTAN script to include new files - Documentation ### Fixed -- Definition of `\Crefname` to always get "Abb." instead of "ABB." etc. ([#45](https://github.com/gi-ev/LNI/pull/45)) +- Definition of `\Crefname` to always gets "Abb." instead of "ABB." etc. ([#45](https://github.com/gi-ev/LNI/pull/45)) + +## [1.0] - 2017-04-07 -## [1.0.0] - 2017-04-07 First release of the revised files -[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.7...HEAD -[1.7.0]: https://github.com/gi-ev/LNI/releases/tag/v1.7 -[1.6.0]: https://github.com/gi-ev/LNI/releases/tag/v1.6 -[1.5.0]: https://github.com/gi-ev/LNI/releases/tag/v1.5 -[1.4.0]: https://github.com/gi-ev/LNI/releases/tag/v1.4 -[1.3.0]: https://github.com/gi-ev/LNI/releases/tag/v1.3 -[1.2.0]: https://github.com/gi-ev/LNI/releases/tag/v1.2 -[1.1.0]: https://github.com/gi-ev/LNI/releases/tag/v1.1 -[1.0.0]: https://github.com/gi-ev/LNI/releases/tag/v1.0 +[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.8...HEAD +[1.8]: https://github.com/gi-ev/LNI/releases/tag/v1.8 +[1.7]: https://github.com/gi-ev/LNI/releases/tag/v1.7.0 +[1.6]: https://github.com/gi-ev/LNI/releases/tag/v1.6.0 +[1.5]: https://github.com/gi-ev/LNI/releases/tag/v1.5 +[1.4]: https://github.com/gi-ev/LNI/releases/tag/v1.4 +[1.3]: https://github.com/gi-ev/LNI/releases/tag/v1.3 +[1.2]: https://github.com/gi-ev/LNI/releases/tag/v1.2 +[1.1]: https://github.com/gi-ev/LNI/releases/tag/v1.1 +[1.0]: https://github.com/gi-ev/LNI/releases/tag/v1.0 diff --git a/Master/texmf-dist/doc/latex/lni/CONTRIBUTING.md b/Master/texmf-dist/doc/latex/lni/CONTRIBUTING.md index ff718c5bd63..0b8e296053c 100644 --- a/Master/texmf-dist/doc/latex/lni/CONTRIBUTING.md +++ b/Master/texmf-dist/doc/latex/lni/CONTRIBUTING.md @@ -6,6 +6,30 @@ We love code contributions. You can easily work on the code if you have a GitHub account ([get one](https://github.com/join)). For that, please [fork the repository](https://help.github.com/articles/fork-a-repo/), work on the code, and submit a [pull request](https://help.github.com/articles/about-pull-requests/). +## LaTeX hints + +We base on [reitzig's TeXLive Docker Images](https://github.com/reitzig/texlive-docker), which are small. +They require each new package listed in `Texlivefile`. +Thus, if you add a new LaTeX package, please also add it into that file. + +You can have a full `bash` environment to experiment by using following command (assuming you are on Windows and checked out the repository at `c:\git-repositories\LNI`): + + docker run -it --rm -v c:\git-repositories\LNI:/work/src reitzig/texlive-base:2023.1 work bash + +After `cd /work/src`, you are in the directory hosting `lni.dtx` and all other files. + +You can check successful generation of `lni.cls` based on `lni.dtx` using following command: + + docker run --rm -v c:\git-repositories\LNI:/work/src reitzig/texlive-base:2023.1 work + +⚠ Running that command overwrites `lni.cls` (based on `lni.dtx`), so be careful. ⚠ + +## CI checks + +We have a GitHub workflow running, which checks the complete build using that Docker image. + +## Hints on GitHub usage + Take a look at GitHub's excellent overview on the [GitHub flow](https://guides.github.com/introduction/flow/index.html). The [Feature Branch Workflow](https://de.atlassian.com/git/tutorials/comparing-workflows#feature-branch-workflow) forms the basis of this kind of development. @@ -20,11 +44,11 @@ In other words: git checkout -b patch -3. Make your changes. -4. Commit your changes. +4. Make your changes. +5. Commit your changes. Thereby, try to write a [good commit message](https://github.com/joelparkerhenderson/git_commit_message). -5. Push your chaneges (to your repository) -6. [submit a pull request](https://github.com/gi-ev/lni/compare/) -7. At this point you're waiting on us. +6. Push your changes (to your repository) +7. [submit a pull request](https://github.com/gi-ev/lni/compare/) +8. At this point you're waiting on us. We like to at least comment on pull requests as soon as possible. We may suggest some changes or improvements or alternatives. diff --git a/Master/texmf-dist/doc/latex/lni/README.md b/Master/texmf-dist/doc/latex/lni/README.md index f986ef46f50..b8ab8bdfc7f 100644 --- a/Master/texmf-dist/doc/latex/lni/README.md +++ b/Master/texmf-dist/doc/latex/lni/README.md @@ -1,10 +1,10 @@ -# lni [![Build Status](https://circleci.com/gh/gi-ev/LNI/tree/master.svg?style=shield)](https://circleci.com/gh/gi-ev/LNI/) [![CTAN](https://img.shields.io/badge/CTAN-lni-blue.svg?style=flat-square)](https://ctan.org/pkg/lni) +# lni -``` +```yaml ---------------------------------------------------------------------------- -lni -- A class for submissions to the ``Lecture Notes in Informatics'' -(c) 2016-2021 Gesellschaft für Informatik (GI) -Version: 1.7 +lni -- A class for submissions to the ``Lecture Notes in Informatics'' +(c) 2016-2023 Gesellschaft für Informatik (GI) +Version: 1.8 Maintainer: Martin Sievers Email: martin.sievers@schoenerpublizieren.de License: Released under the LaTeX Project Public License v1.3c or later @@ -19,19 +19,24 @@ This is the official version of the class “lni” for submissions to the It is based on previous templates created on behalf of the GI. Quick start: -Download [lni-author-template.tex](lni-author-template.tex) and edit it in +Download [`lni-author-template.tex`](lni-author-template.tex) and edit it in your favorite LaTeX editor. -You will have to use [BibTeX](https://www.ctan.org/pkg/bibtex) as bibliography tool. -In case you want to use [biblatex](https://www.ctan.org/pkg/biblatex) and -[Biber](https://www.ctan.org/pkg/biber), read on in the documentation of this class. +By default [BibTeX](https://www.ctan.org/pkg/bibtex) is used as bibliography tool. +In case you want to use [biblatex](https://www.ctan.org/pkg/biblatex) together with +[Biber](https://www.ctan.org/pkg/biber) (strongly recommended), read on in the +documentation. There is a specialized package +[biblatex-lni](https://ctan.org/pkg/biblatex-lni), which can easily be included +to get correctly formed bibliographies. The easiest way is to add `biblatex` as class +option. See documentation for details. + You should use `pdflatex` as `xelatex` and `lualatex` lack some features of the class file. -Stable versions are always uploaded to CTAN (https://www.ctan.org/pkg/lni). -In addition you will find the most recent developer version on GitHub at https://github.com/gi-ev/lni. -The most recent documentation is available at https://github.com/gi-ev/LNI/blob/master/lni.pdf. -It includes a short description how to use the template and also provides trouble shooting hints. +Stable versions are always uploaded to CTAN and available at <https://www.ctan.org/pkg/lni>. +In addition, you will find the most recent developer version on GitHub at https://github.com/gi-ev/lni. +The most recent documentation is available at <https://gi-ev.github.io/LNI/lni.pdf>. +It includes a short description how to use the template and also provides troubleshooting hints. -Please see [CHANGELOG.md](CHANGELOG.md) for a version history +Please see [`CHANGELOG.md`](CHANGELOG.md) for a version history - [GI]: https://www.gi.de/ - [Lecture Notes in Informatics]: https://www.gi.de/service/publikationen/lni.html +[GI]: https://gi.de/ +[Lecture Notes in Informatics]: https://gi.de/service/publikationen/lni diff --git a/Master/texmf-dist/doc/latex/lni/lni-author-template.tex b/Master/texmf-dist/doc/latex/lni/lni-author-template.tex index abdbd74ce60..411fea056ad 100644 --- a/Master/texmf-dist/doc/latex/lni/lni-author-template.tex +++ b/Master/texmf-dist/doc/latex/lni/lni-author-template.tex @@ -2,12 +2,15 @@ % !TeX program = pdflatex % !BIB program = bibtex -%%% Um einen Artikel auf deutsch zu schreiben, genügt es die Klasse ohne -%%% Parameter zu laden. -\documentclass[]{lni} %%% To write an article in English, please use the option ``english'' in order %%% to get the correct hyphenation patterns and terms. %%% \documentclass[english]{class} +%%% for anonymizing an article you can use the ``anonymous'' option. +%%% +%%% Um einen Artikel auf deutsch zu schreiben, genügt es die Klasse ohne +%%% Parameter zu laden. +%%% Zur Anonymisierung kann die ``anonymous'' Option genutzt werden. +\documentclass[]{lni} %% \begin{document} %%% Mehrere Autoren werden durch \and voneinander getrennt. @@ -15,22 +18,19 @@ %%% Das optionale Argument (sofern angegeben) wird für die Kopfzeile verwendet. \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} -%%%\subtitle{Untertitel / Subtitle} % if needed -\author[Vorname1 Nachname1 \and Firstname2 Lastname2] -{Vorname1 Nachname1\footnote{Universität, Abteilung, Straße, Postleitzahl Ort, -Land \email{emailaddress@author1}} \and -Firstname2 Lastname2\footnote{University, Department, Address, Country -\email{emailaddress@author2}}} -\startpage{11} % Beginn der Seitenzählung für diesen Beitrag / Start page -\editor{Herausgeber et al.} % Names of Editors -\booktitle{Name-der-Konferenz} % Name of book title -\yearofpublication{2017} -%%%\lnidoi{18.18420/provided-by-editor-02} % if known +%% \subtitle{Untertitel / Subtitle} % if needed +\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} +\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} +\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000} +\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}% +\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land} +\affil[2]{University\\Department\\Address\\Country} \maketitle \begin{abstract} -This is a brief overview of the paper, which should be 70 to 150 words long and -include the most relevant points. This has to be a single paragraph. +Dies ist eine kurze Übersicht über das Dokument mit einer Länge von +70 bis 150 Wörtern. Es sollte ein Absatz sein, der die relevantesten +Aspekte enthält. \end{abstract} \begin{keywords} Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 @@ -38,6 +38,7 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 %%% Beginn des Artikeltexts \section{Überschrift/Heading} -%%% Angabe der .bib-Datei (ohne Endung) / State .bib file (for BibTeX usage) -\bibliography{mybibfile} %\printbibliography if you use biblatex/Biber +%%% Angabe der .bib-Datei (ohne Endung) / State .bib file (im Falle der Nutzung von BibTeX) +%% \bibliography{mybibfile} +%% \printbibliography % im Falle der Nutzung von biblatex \end{document} diff --git a/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.bib b/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.bib index 93899d66e45..4cd48363761 100644 --- a/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.bib +++ b/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.bib @@ -1,6 +1,6 @@ @InProceedings{ABC01, - author = {N. Abraham and U. Bibel and P. Corleone}, + author = {Abraham, N. and Bibel, U. and Corleone, P.}, title = {Formatting Contributions for Proceedings}, pages = {46-53}, crossref = {Gl01}, @@ -17,7 +17,7 @@ title = {Formatierungsrichtlinien für Tagungsbände}, publisher = {Format-Verlag}, year = {2000}, - author = {K. Abel and U. Bibel}, + author = {Abel, K. and Bibel, U.}, address = {Bonn}, } @@ -25,11 +25,11 @@ title = {The Magic Format -- Your Way to Pretty Books}, publisher = {Noah \& Sons}, year = {2010}, - author = {O. Ezgarani}, + author = {Ezgarani, O.}, } @Article{Gl06, - author = {H. I. Glück}, + author = {Glück, H. I.}, title = {Formatierung leicht gemacht}, journal = {Formatierungsjournal}, volume = {11}, @@ -42,14 +42,14 @@ title = {Essenzen der Informatik}, publisher = {Verlag Formvoll}, year = {2014}, - author = {K. Wasser and H. Feuer and R. Erde and H. Licht}, + author = {Wasser, K. and Feuer, H. and Erde, R. and Licht, H.}, } @Book{Wa14b, title = {Ganz neue Essenzen der Informatik im selben Jahr}, publisher = {Format-Verlag}, year = {2014}, - author = {K. Wasser and H. Feuer and R. Erde and H. Licht}, + author = {Wasser, K. and Feuer, H. and Erde, R. and Licht, H.}, } @Proceedings{Gl01, @@ -65,7 +65,7 @@ title = {Formatierung 2009}, publisher = {Format-Verlag}, year = {2009}, - editor = {H. I. Glück}, + editor = {Glück, H. I.}, number = {999}, series = {LNI}, address = {Bonn}, diff --git a/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.tex b/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.tex index 40f52c0b1fc..5169c43fa71 100644 --- a/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.tex +++ b/Master/texmf-dist/doc/latex/lni/lni-paper-example-de.tex @@ -1,41 +1,14 @@ % !TeX encoding = UTF-8 % !TeX spellcheck = de_DE -%% Dies gibt Warnungen aus, sollten veraltete LaTeX-Befehle verwendet werden -\RequirePackage[l2tabu, orthodox]{nag} - -\documentclass[utf8,biblatex]{lni} -\bibliography{lni-paper-example-de} +\documentclass[biblatex]{lni} +\addbibresource{lni-paper-example-de.bib} %% Schöne Tabellen mittels \toprule, \midrule, \bottomrule \usepackage{booktabs} %% Zu Demonstrationszwecken -\usepackage[math]{blindtext} -\usepackage{mwe} - -%% BibLaTeX-Sonderkonfiguration, -%% falls man schnell eine existierende Bibliographie wiederverwenden will, aber nicht die .bib-Datei händisch anpassen möchte. -%% Bitte \iffalse und \fi entfernen, dann ist diese Konfiguration aktiviert. - -\iffalse -\AtEveryBibitem{% - \ifentrytype{article}{% - }{% - \clearfield{doi}% - \clearfield{issn}% - \clearfield{url}% - \clearfield{urldate}% - }% - \ifentrytype{inproceedings}{% - }{% - \clearfield{doi}% - \clearfield{issn}% - \clearfield{url}% - \clearfield{urldate}% - }% -} -\fi +\usepackage[]{blindtext} \begin{document} %%% Mehrere Autoren werden durch \and voneinander getrennt. @@ -43,14 +16,12 @@ %%% Das optionale Argument (sofern angegeben) wird für die Kopfzeile verwendet. \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} %%%\subtitle{Untertitel / Subtitle} % falls benötigt -\author[Vorname1 Nachname1 \and Vorname2 Nachname2] -{Vorname1 Nachname1\footnote{Universität, Abteilung, Straße, Postleitzahl Ort, Land \email{emailaddress@author1}} \and - Vorname2 Nachname2\footnote{University, Department, Address, Country \email{emailaddress@author2}}} -\startpage{11} % Beginn der Seitenzählung für diesen Beitrag -\editor{Herausgeber et al.} % Namen der Herausgeber -\booktitle{Name-der-Konferenz} % Name des Tagungsband; optional Kurztitel -\yearofpublication{2017} -%%%\lnidoi{18.18420/provided-by-editor-02} % Falls bekannt +\author[1]{Vorname1 Nachname1}{vorname1.name1@affiliation1.de}{0000-0000-0000-0000} +\author[2]{Vorname2 Nachname2}{vorname2.name2@affiliation2.de}{0000-0000-0000-0000} +\author[1]{Vorname3 Nachname3}{vorname3.name3@affiliation1.de}{0000-0000-0000-0000} +\author[1]{Vorname4 Nachname4}{vorname4.name4@affiliation1.de}{0000-0000-0000-0000}% +\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land} +\affil[2]{University\\Department\\Address\\Country} \maketitle \begin{abstract} @@ -61,7 +32,7 @@ Die Formatierung erfolgt automatisch innerhalb des abstract-Bereichs. \end{abstract} \begin{keywords} -LNI Guidelines \and \LaTeX Vorlage +LNI Guidelines \and \LaTeX\ Vorlage \end{keywords} \section{Verwendung} @@ -69,7 +40,7 @@ Die GI gibt unter \url{http://www.gi-ev.de/LNI} Vorgaben für die Formatierung v Für \LaTeX-Dokumente werden diese durch die Dokumentenklasse \texttt{lni} realisiert. Dieses Dokument basiert auf der offiziellen Dokumentation, simplifiziert und setzt grundlegendes LaTeX-Wissen voraus. -Es werden generische Platzhalter an die entsprechenden Stellen (wie beispielsweise die Authoren-Angaben) gesetzt und nicht weiter an anderer Stelle dokumentiert. +Es werden generische Platzhalter an die entsprechenden Stellen (wie beispielsweise die Autoren-Angaben) gesetzt und nicht weiter an anderer Stelle dokumentiert. Dieses Template ist wie folgt gegliedert: \Cref{sec:demos} zeigt Demonstrationen der LNI-Verlage. @@ -82,6 +53,8 @@ Es ist kein Weierstraß-p ($\wp$) mehr. Spitze Klammen können direkt eingegeben werden: <test /> +Anonymisierungen können mittels anonymous-Option in der documentclass automatisch vorgenommen werden. Dafür gibt es das \texttt{anon}-Makro, z.\,B. \anon{Geheim für Review} und \anon[nur für Review]{nur für finale Version}. + Hier eine kleine Demonstration von \href{https://www.ctan.org/pkg/microtype}{microtype}: \blindtext @@ -142,16 +115,22 @@ public class Hello { Alternativ kann auch die \texttt{lstlisting}-Umgebung verwendet werden. -\Cref{L1} zeigt uns ein Beispiel, das mit Hilfe der \texttt{lstlisting}-Umgebung realisiert ist. +\Cref{java-hello-world} zeigt uns ein Beispiel, das mit Hilfe der \texttt{lstlisting}-Umgebung realisiert ist. Ein anderes Beispiel ist \cref{python-hello-world}. -\begin{lstlisting}[caption={Beschreibung}, label=L1, language=Java] +\begin{lstlisting}[caption={Ein Java-Programm}, label=java-hello-world, language=Java] public class Hello { - public static void main (String[] args) { - System.out.println("Hello World!"); - } + public static void main (String[] args) { + System.out.println("Hello World!"); + } } \end{lstlisting} +\begin{lstlisting}[caption={Ein Python-Programm}, label=python-hello-world, language=Python] +# This program prints Hello, world! + +print('Hello, world!') +\end{lstlisting} + \subsection{Formeln und Gleichungen} Die korrekte Einrückung und Nummerierung für Formeln ist bei den Umgebungen diff --git a/Master/texmf-dist/doc/latex/lni/lni.pdf b/Master/texmf-dist/doc/latex/lni/lni.pdf Binary files differindex e4aa3474b2a..4fa2e79a5f0 100644 --- a/Master/texmf-dist/doc/latex/lni/lni.pdf +++ b/Master/texmf-dist/doc/latex/lni/lni.pdf diff --git a/Master/texmf-dist/source/latex/lni/lni.dtx b/Master/texmf-dist/source/latex/lni/lni.dtx index 4ad46abd8df..399b8864167 100644 --- a/Master/texmf-dist/source/latex/lni/lni.dtx +++ b/Master/texmf-dist/source/latex/lni/lni.dtx @@ -16,7 +16,7 @@ \declarepreamble\bibtexengpre lnig.bst Lecture Notes in Informatics Style File (english) -Version 1.0 (2017/04/07) +Version 1.1 (2022/06/10) The Style File is based on alpha.bst @@ -28,7 +28,7 @@ Modified files should be clearly indicated as such and renamed. \declarepreamble\bibtexgerpre lnig.bst Lecture Notes in Informatics Style File (german) -Version 1.0 (2017/04/07) +Version 1.1 (2022/06/10) The Style File is based on alpha.bst @@ -60,7 +60,7 @@ License:| Released under the LaTeX Project Public License v1.3c or later \postamble -Copyright (C) 2016-2021 by Gesellschaft für Informatik e.V. (GI) +Copyright (C) 2016-2023 by Gesellschaft für Informatik e.V. (GI) This work may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either @@ -134,7 +134,7 @@ This work consists of the file lni.dtx %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{lni} %<*class> - [2021/03/02 v1.7 Official class for submissions to the ``Lecture Notes + [2023/11/26 v1.8 Official class for submissions to the ``Lecture Notes in Informatics''] %</class> %<*driver> @@ -156,13 +156,13 @@ This work consists of the file lni.dtx \usepackage{csquotes} \usepackage[dvipsnames]{xcolor} \usepackage{hologo} -\newcommand*{\MiKTeX}{\hologo{MiKTeX}} +\usepackage{dtxdescribe} \usepackage[% pdftitle={lni: Official LaTeX class for submissions to the ``Lecture Notes in Informatics'', published by the ``Gesellschaft für Informatik e.\,V.'' (GI)}, - pdfauthor={Martin Sievers}, + pdfauthor={Martin Sievers and Oliver Kopp}, urlcolor=blue,% - linktoc=both,% + linktoc=all,% colorlinks=true]{hyperref} \usepackage[nameinlink,capitalise]{cleveref} @@ -181,36 +181,6 @@ This work consists of the file lni.dtx \newcommand{\lni}{\texttt{lni}} \newcommand{\LNI}{\emph{Lecture Notes in Informatics}} -\makeatletter -\newcommand*\DescribeOption{% -\leavevmode% -\@bsphack% -\begingroup% - \MakePrivateLetters% - \Describe@Option% -}% -\newcommand*\Describe@Option[1]{% - \endgroup% -\marginpar{% - \raggedleft% - \PrintDescribeEnv{#1}% -}% -\SpecialOptionIndex{#1}% -\@esphack% -\ignorespaces% -}% -\newcommand*\SpecialOptionIndex[1]{% -\@bsphack% -\index{% - #1\actualchar{\protect\ttfamily#1} (option)\encapchar usage% -}% -\index{% - options:\levelchar#1\actualchar{\protect\ttfamily#1}% - \encapchar usage% -}% -\@esphack% -}% -\makeatother \lstset{ basicstyle = \small\ttfamily, gobble = 2, @@ -218,7 +188,7 @@ This work consists of the file lni.dtx language = [LaTeX]{TeX}, moretexcs = {, addbibresource,authorrunning,% - email,lnidoi, + email,lnidoi,affil, ExecuteBibliographyOptions,includegraphics,printbibliography, } frame = single, @@ -305,13 +275,17 @@ This work consists of the file lni.dtx % it more compatible with other packages like \pkg{authorarchive}} % \changes{v1.6}{2019/10/14}{Fix for BibTeX style} % \changes{v1.6}{2019/10/14}{Add support for \pkg{selnolig}} -% \changes{v1.7}{2020/12/03}{Revert redefinition of \cs{year} after +% \changes{v1.7}{2020/12/03}{Revert redefinition of \cs{year} after % \cs{maketitle}} % \changes{v1.7}{2021/03/02}{Fix setting of pdf metadata (#87)} % \changes{v1.7}{2021/03/02}{Change loading of latest ngerman hyphenation % patterns (#47)} -% \changes{v1.7}{2021/03/02}{Change \cs{year} to \cs{yearofpublication} to +% \changes{v1.7}{2021/03/02}{Change \cs{year} to \cs{yearofpublication} to % avoid problems (#85)} +% \changes{v1.8}{2022/06/10}{Improvements for documentation} +% \changes{v1.8}{2022/06/10}{Fix output error in bst files (#97)} +% \changes{v1.8}{2022/11/25}{Make class compatable with latest publisher requirements (#121)} +% \changes{v1.8}{2022/11/25}{Make usage of `hyperref` mandatory (#131)} % % \GetFileInfo{\jobname.dtx} % \DoNotIndex{\newcommand,\newenvironment} @@ -344,19 +318,18 @@ This work consists of the file lni.dtx % % Based on the existing class and bib files I set-up a DTX file and started % reworking the source code. Editors and authors suggested different additions -% and changes, which I tried to incoporate without changing the existing +% and changes, which I tried to incorporate without changing the existing % mechanisms too much. % -% This is the first public release. I would to thank especially -% \href{https://github.com/koppor/}{Oliver Kopp} and -% \href{https://www.fernuni-hagen.de/evis/team/stefan.strecker.shtml}{Stefan -% Strecker} and his team for their suggestions and tests. +% There is an additional package +% \href{https://github.com/gi-ev/biblatex-lni}{\pkg{biblatex-lni}} for an easy +% way of getting a correctly formed bibliography. This package can be +% incorporated using the option \opt{biblatex}. See \cref{sec:bibliography} for +% more information. % % \section{Installation} % The \lni{} bundle is currently distributed via -% \href{https://github.com/gi-ev/LNI}{GitHub}, the -% \href{https://www.gi.de/service/publikationen/lni/autorenrichtlinien.html} -% {GI website} and (preferably) \href{https://www.ctan.org/pkg/lni}{CTAN}. +% \href{https://github.com/gi-ev/LNI}{GitHub} and (preferably) \href{https://www.ctan.org/pkg/lni}{CTAN}. % The later is the basis for all updates of the two main \TeX{} distributions % \MiKTeX{} and \TeX{}~Live. Thus the easiest way to get all files needed to % typeset an article for the \LNI{} is to use the package manager of your @@ -366,7 +339,7 @@ This work consists of the file lni.dtx % twice and % copy all resulting files (cls, tex, pdf and bst) to your local TEXMF tree. % Don't forget to update your file name database. -% \newpage +% % \section{Usage} % To use the predefined layout for a (German) submission to the \LNI{} just % load the class file as usual with \cs{documentclass\{lni\}}. @@ -394,7 +367,8 @@ This work consists of the file lni.dtx % the text, but also the choice of a corresponding \BibTeX{} file % (cf.~\cref{sec:bibliography}). % -% \DescribeOption{utf8}\DescribeOption{latin1}\DescribeOption{applemac}Although +% \DescribeOption{utf8 (deprecated in v1.8)}\DescribeOption{latin1 (deprecated in v1.8)}% +% \DescribeOption{applemac (deprecated in v1.8)}Although % nowadays all major plattforms support and widely use UTF-8 encoding for % text files, there might be some need to change the input encoding the % \LaTeX{} document uses. @@ -404,15 +378,17 @@ This work consists of the file lni.dtx % is strongly recommended. Please note, that currently the bib file is supposed % to use the same encoding. % -% \DescribeOption{biblatex}Nowadays bibliographies cannot only be produced with +% \DescribeOption{biblatex (deprecated in v1.8; will become default option in next major release)}% +% Nowadays bibliographies cannot only be produced with % \BibTeX{}, but with a much more powerful approach consisting of the package % \pkg{biblatex} and the tool \texttt{biber}. % -% There is even a specialized package \pkg{biblatex-lni} which is automatically -% used when setting the class option \opt{biblatex}. For more information see -% as well \cref{sec:bibliography}. +% There is even a specialized package +% \href{https://github.com/gi-ev/biblatex-lni}{\pkg{biblatex-lni}} which is +% automatically used when setting the class option \opt{biblatex}. For more +% information see as well \cref{sec:bibliography}. % -% \DescribeOption{crop\space(new in v1.1)}% +% \DescribeOption{crop (new in v1.1)}% % Option \opt{crop} gives you some crop marks (using the package \pkg{crop}) to % better illustrate the final % result of your article. @@ -423,11 +399,11 @@ This work consists of the file lni.dtx % used with all floating objects. The package is loaded as default. In case it % causes issues, one can disable it using with the \opt{nocleveref} option. % -% \DescribeOption{nohyperref}\pkg{hyperref} is used for colored hyperlinks +% \DescribeOption{nohyperref (deprecated in v1.8)}\pkg{hyperref} is used for colored hyperlinks % within the articles. If you consider problems or just do not want that % feature, you can disable it by using the option \opt{nohyperref}. % -% \DescribeOption{nofonts\space(new in v1.3, deprecated in v1.4)}On old systems +% \DescribeOption{nofonts (deprecated in v1.4)}On old systems % you might not have installed the New TX fonts. If for whatever reason the % \opt{oldfonts} option % does not work for you, you can activate option \opt{nofonts}. This allows to @@ -435,30 +411,41 @@ This work consists of the file lni.dtx % Usually there should be no need to do so. Please note, that your output will % differ from the publishers'. % -% \DescribeOption{oldfonts\space(new in v1.4)}On older systems you might not +% \DescribeOption{oldfonts (deprecated in v1.8)}On older systems you might not % have installed the New TX fonts. Therefore option \opt{oldfonts} allows to % to load the package \pkg{mathptmx} instead of the New TX fonts. The output % will be in accordance to (or at least near) the publisher's requirements. % -% \DescribeOption{norunningheads\space(new in v1.5)}To easily remove all running -% headers from your document, you can use the option \opt{norunningheads}. +% \DescribeOption{norunningheads (deprecated in v1.8)}By default there are no more +% running headers from your document. +% +% \DescribeOption{runningheads (new in v1.8)}Editors can turn on the running headers +% using option \opt{runningheads}. +% +% \DescribeOption{anonymous (new in v1.8)}To easily anonymize a paper for +% blind review, use this option. Then all author information will be replaced +% with a placeholder. Additionally, there is a new macro \cs{anon\marg{hide in review}} +% which will be replaced with ``ANONIMIZED'' if the option is set. +% Also, \cs{anon\marg[for review]{for final version}} can be used that outputs ``for review'' +% if the option is set, and ``for final version'' otherwise. +% % \newpage % \section{Setting up a document} % You can use the file \file{lni-author-template.tex} as a starting point % for setting up a document for submission. The \lni{} class uses the standard -% ways to build an article. +% ways to build an article. A larger German example can be found in \file{lni-paper-example-de.tex} % -% \subsection{Special meta data}\label{sec:metadata} +% \subsection{Special meta comments}\label{sec:metadata} % There is not just one \enquote{\TeX} and one \enquote{bibliography tool}, but % many different ways to transform a .tex file into a PDF. % Some \TeX{} editors like \texttt{TeXstudio}, \texttt{TeXmaker} and -% \texttt{TeXshop} support a special set of meta data to tell the editor, how -% to deal with a concrete document. +% \texttt{TeXshop} support a special set of meta comments to give some +% information, how to deal with a concrete document. % % A typical example looks like: % \begin{examplecode} % % !TeX program = pdflatex -% % !BIB program = bibtex8 +% % !BIB program = biber % % !TeX encoding = UTF-8 % % !TeX spellcheck = en_US % \documentclass[english]{lni} @@ -468,7 +455,7 @@ This work consists of the file lni.dtx % \DescribeMacro{\startpage}\DescribeMacro{\editor}% % \DescribeMacro{\booktitle\space(changed in v1.6)}% % \DescribeMacro{\booksubtitle\space(new in v1.6)}% -% \DescribeMacro{\yearofpublication}In addition to the macros stated in +% \DescribeMacro{\yearofpublication\space(new in v1.7)}In addition to the macros stated in % \cref{sec:titlepage} for authors, there are special editor macros to % influence the layout of the article: % \begin{itemize} @@ -478,7 +465,7 @@ This work consists of the file lni.dtx % \item\cs{booktitle} holds the name of a conference (optional argument for % a short title used in the running headers) % \item\cs{booksubtitle} holds an optional subtitle of a conference -% \item\cs{year} can be used to set the year +% \item\cs{yearofpublication} can be used to set the year of publication % \end{itemize} % % \subsection{Title page}\label{sec:titlepage} @@ -493,20 +480,25 @@ This work consists of the file lni.dtx % % You can also add a subtitle by \cs{subtitle\marg{subtitle}}. % -% \DescribeMacro{\author}\DescribeMacro{\email}\DescribeMacro{\footnote}% -% \DescribeMacro{\and}% +% \DescribeMacro{\author}\DescribeMacro{\email}\DescribeMacro{\footnote\space(deprecated in v1.8)}% +% \DescribeMacro{\and\space(deprecated in v1.8)}\DescribeMacro{\affil}% % The authors of an article are -% given using the standard \cs{author} macro. Multiple authors are separated -% by \cs{and}; affiliations have to be added with -% \cs{footnote\marg{affiliations}} where you can use -% \cs{email\marg{email address}} for the email address of an author: +% given using an extended \cs{author} macro, which holds not only the name, but also +% email adress and ORCID iD. Moreover the affiliation marker (number) is given as an optional +% argument. Affiliations are added with +% \cs{affil\oarg{number}\marg{information}} where you can use +% \texttt{\textbackslash\textbackslash} to split the address. % \begin{examplecode}[label={lst:author}] -% \author[Author 1 \and Author 2]{% -% Author 1\footnote{Affiliations including \email{email@author1}} \and% -% Author 2\footnote{Affiliations including \email{email@author2}}} +% \author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} +% \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} +% \author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000} +% \author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}% +% \affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land} +% \affil[2]{University\\Department\\Address\\Country} % \end{examplecode} -% In case the authors are too long for the page header, see -% \cref{sec:pageheader} of how to shorten the authors for the page header. +% +% Leave the third and/or fourth argument empty if there is no email address and/or ORCID iD. +% Finally \cs{maketitle} will output the formatted title page. % % \DescribeMacro{\lnidoi\space(new in v1.2)}% % LNI provides a DOI for each paper. In case, the DOI is known, it can be @@ -529,30 +521,10 @@ This work consists of the file lni.dtx % \end{abstract} % \begin{keywords} % Give some keywords to categorize your article. You can use \and between two -% keywords to get the correct delimiter (semicolon plus space) automatically. +% keywords to get the correct delimiter (comma plus space) automatically. % \end{keywords} % \end{examplecode} % -% \subsection{Page header}\label{sec:pageheader} -% The template automatically sets the page headers according to the -% requirements of \LNI. From page~2 onwards, the title and the authors are -% printed. These information has to stay in one line. In case the title is too -% long, use the optional argument for \cs{title}: -% \begin{examplecode} -% \title[Short title]{Title} -% \end{examplecode} -% -% \DescribeMacro{\authorrunning}% -% In case there are many authors on a paper, they might not fit into the paper. -% For that purpose, additionally use \cs{authorrunning}: -% \begin{examplecode} -% \author[Firstname1 Lastname1 \and Firstname2 Lastname2% -% \and Firstname3 Lastname3]{Firstname1 Lastname1\footnote{...}% -% \and Firstname2 Lastname2\footnote{...}% -% \and Firstname3 Lastname3\footnote{...}}% -% \authorrunning{Lastname1 et al.} -% \end{examplecode} -% % \subsection{Main text} % \subsubsection{Headings} % \DescribeMacro{\section}\DescribeMacro{\subsection}% @@ -619,8 +591,8 @@ This work consists of the file lni.dtx % specific programming language. % % \subsubsection{Math} -% If you need mathematics, you can load packages \pkg{amsmath} and -% \pkg{mathtools} for +% For writing mathematics the package \pkg{amsmath} is already loaded by default. +% In addtion you can load e.g. \pkg{mathtools} for % additional features. The \lni{} class offers by default the command % \cs{powerset} to render the powerset symbol correctly as $\powerset$ and not % as Weierstrass p ($\wp$). @@ -665,9 +637,11 @@ This work consists of the file lni.dtx % article you have to add \cs{bibliography\marg{Bib file}} at an appropriate % position within your text. The correct bst file is loaded automatically. % -% With option -% \opt{biblatex} (cf.~\cref{sec:options}) you can easily switch to the modern -% \pkg{biblatex} package. However, you have to add information on the bib +% With document option +% \opt{biblatex} (cf.~\cref{sec:options}) you can easily switch to the +% \pkg{biblatex} style \enquote{lni} provided by +% \href{https://github.com/gi-ev/biblatex-lni}{\pkg{biblatex-lni}}. +% However, you have to add information on the bib % file(s) in your preamble using \cs{addbibresource\marg{Bib file(s)}} and call % \cs{printbibliography} where you want the bibliography to appear. % @@ -745,6 +719,10 @@ This work consists of the file lni.dtx % \begin{macrocode} %<*class> % \end{macrocode} +% We have to make sure, that pdf is always written (arXiv's requirements) +% \begin{macrocode} +\RequirePackage{iftex}\ifluatex\else\pdfoutput=1\fi% +% \end{macrocode} % \begin{macrocode} \def\@clearglobaloption#1{% \def\@tempa{#1}% @@ -760,15 +738,22 @@ This work consists of the file lni.dtx \let\@classoptionslist\@empty \fi} % -\DeclareOption{latin1}{\PassOptionsToPackage{latin1}{inputenc}} -\DeclareOption{utf8}{\PassOptionsToPackage{utf8}{inputenc}} -\DeclareOption{ansinew}{\PassOptionsToPackage{ansinew}{inputenc}} +\DeclareOption{latin1}{% + \PassOptionsToPackage{latin1}{inputenc} + \ClassNoteNoLine{lni}{The option `latin1` will be removed from the class with the next major release}} +\DeclareOption{utf8}{% + \PassOptionsToPackage{utf8}{inputenc} + \ClassNoteNoLine{lni}{The option `utf8` will be removed from the class with the next major release as it is the only valid value}} +\DeclareOption{ansinew}{% + \PassOptionsToPackage{ansinew}{inputenc} + \ClassNoteNoLine{lni}{The option `ansinew` will be removed from the class with the next major release}} \newif\iflnienglish \lnienglishfalse \DeclareOption{english}{\lnienglishtrue\@clearglobaloption{english}} \newif\ifusehyperref \usehyperreftrue -\DeclareOption{nohyperref}{\usehyperreffalse} +\DeclareOption{nohyperref}{% + \ClassWarningNoLine{lni}{The option `nohyperref` has been deactivated and will be removed from the class with the next major release}} \newif\ifusecleveref \useclevereftrue \DeclareOption{nocleveref}{\useclevereffalse} @@ -780,20 +765,39 @@ This work consists of the file lni.dtx \DeclareOption{crop}{\croptrue} \newif\ifnofonts \nofontsfalse -\DeclareOption{nofonts}{\nofontstrue\autofontsfalse} +\DeclareOption{nofonts}{% + \nofontstrue\autofontsfalse + \ClassNoteNoLine{lni}{The option `nofonts` will be removed from the class with the next major release}} \newif\ifoldfonts \oldfontsfalse -\DeclareOption{oldfonts}{\oldfontstrue\autofontsfalse} +\DeclareOption{oldfonts}{% + \oldfontstrue\autofontsfalse + \ClassNoteNoLine{lni}{The option `oldfonts` will be removed from the class with the next major release}} \newif\ifautofonts \autofontstrue \newif\ifnorunningheads -\DeclareOption{norunningheads}{\norunningheadstrue} -\ExecuteOptions{utf8} +\DeclareOption{norunningheads}{% + \norunningheadstrue + \ClassNoteNoLine{lni}{The option `norunningheads` will be removed from the class with the next major release}} +\newif\ifrunningheads +\DeclareOption{runningheads}{\norunningheadsfalse} +\newif\ifanonymous +\anonymousfalse +\DeclareOption{anonymous}{\anonymoustrue} +\newcommand{\anon}[2][\iflnienglish ANONYMIZED\else ANONYMISIERT\fi]{% + \ifanonymous% + {\color{orange}#1}% + \else% + #2% + \fi} +\ExecuteOptions{utf8,norunningheads} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions\relax -% -\RequirePackage{iftex} -\LoadClass[10pt,twoside,a4paper,fleqn]{article} +% \end{macrocode} +% \changes{v1.8}{2023/11/06}{Fix option handling for \opt{fleqn}} +% \begin{macrocode} +\PassOptionsToPackage{fleqn}{amsmath} +\LoadClass[10pt,twoside,a4paper]{article} \ifPDFTeX \RequirePackage{cmap} \RequirePackage{inputenc} @@ -918,9 +922,8 @@ This work consists of the file lni.dtx }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} % \end{macrocode} +% \changes{v1.8}{2023/11/06}{Remove support for ccicons} % \begin{macrocode} -% Support for CC icons -\RequirePackage{ccicons} % Support for \cs{ifdefempty} \RequirePackage{etoolbox} % \end{macrocode} @@ -1004,6 +1007,7 @@ This work consists of the file lni.dtx \ifusebiblatex \RequirePackage[% backend=biber,% UTF-8 support + date=year, style=LNI, % The GI style - see https://www.ctan.org/pkg/biblatex-lni natbib=true % Required for \Citet ]{biblatex}[2016-09-15]% at least version 3.6 of biblatex is required. @@ -1022,16 +1026,28 @@ This work consists of the file lni.dtx \printtext[bibhyperref]{\printnames{labelname}}}% {\multicitedelim}% {\usebibmacro{postnote}}% +% \end{macrocode} % \end{macro} % \begin{macrocode} \fi% % \end{macrocode} +% \changes{v1.8}{2023/11/06}{Load \pkg{amsmath} explicitly by default (was implicitly done before)} % \begin{macrocode} +\RequirePackage{amsmath} +\RequirePackage{etoolbox} \RequirePackage{graphicx} \RequirePackage{eso-pic} \RequirePackage{grffile} \RequirePackage{fancyhdr} \RequirePackage{listings} +\RequirePackage{enumitem} +\RequirePackage[hang]{footmisc} +\setlength{\footnotemargin}{1em} +\def\@makefnmark{\rlap{\normalfont\@thefnmark}}% + +% \end{macrocode} +% \begin{macrocode} +%\def\@makefnmark{\rlap{\normalfont\@thefnmark}}% % \end{macrocode} % We fix the basewidth for lstlistings: % The default setting of listings with ``fixed columns'' has a space 0.6em @@ -1079,7 +1095,8 @@ This work consists of the file lni.dtx % \begin{macro}{\title} % \begin{macrocode} \renewcommand{\title}{\@dblarg\@@title} -\def\@@title[#1]#2{\gdef\@shorttitle{#1}\gdef\@title{#2}} +\def\@@title[#1]#2{% + \gdef\@shorttitle{#1}\gdef\@title{#2}} % \end{macrocode} % \end{macro} % \begin{macro}{\subtitle} @@ -1089,23 +1106,100 @@ This work consists of the file lni.dtx % \end{macro} % \begin{macro}{\author} % \begin{macrocode} -\renewcommand{\author}{\@dblarg\@@author} -\newcommand{\@@author}[2][]{% - \DeclareRobustCommand{\@shortauthor}{% - {% - %\let\footnote\@gobble% - \def\and{\texorpdfstring{\unskip,\ }{}}% - #1% - }% - }% - \DeclareRobustCommand{\@author}{#2}% +\RequirePackage{authblk} +\newcommand{\@authlisthead}{} +\newtoks\@temptokenb +\newtoks\@temptokenc +\renewcommand\Authsep{, } +\renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }} +\renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }} +\renewcommand{\AB@authnote}[1]{$^{\mbox{\footnotesize #1}}$} +\renewcommand\author[4][]{% + \ifnewaffil\addtocounter{affil}{1}% + \edef\AB@thenote{\arabic{affil}}% + \fi% + \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}% + \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}% + \setcounter{Maxaffil}{0}\fi + \ifnum\value{authors}=0\def\@firstauthor{#2}\fi + \ifnum\value{authors}>1\relax + \@namedef{@sep\number\c@authors}{\Authsep}\fi + \addtocounter{authors}{1}% + \begingroup + \let\protect\@unexpandable@protect \let\and\AB@pand + \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}% + \@temptokena=\expandafter{\AB@authors}% + \@temptokenb=\expandafter{\AB@authors}% + {\def\\{\protect\\[\@affilsep]\protect\Affilfont + \protect\AB@resetsep}% + \xdef\AB@author{\AB@blk@and#2}% + \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}% + \xdef\AB@authors{\the\@temptokena\AB@blk@and}% + \else + \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}% + \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}% + \gdef\AB@as{\Authsep}% + \fi + \gdef\AB@au@str{#2}}% + \@temptokena=\expandafter{\AB@authlist}% + \@temptokenb=\expandafter{\@authlisthead}% + \let\\=\authorcr + \xdef\AB@authlist{\the\@temptokena + \protect\@nameuse{@sep\number\c@authors}% + \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}% + \xdef\@authlisthead{\the\@temptokenb + \protect\@nameuse{@sep\number\c@authors}% + \protect\Authfont#2}% + \endgroup + \ifnum\value{authors}>2\relax + \@namedef{@sep\number\c@authors}{\Authands}\fi + \ifcsempty{@emailsandorcids\AB@note}% + {\csgappto{@emailsandorcids\AB@note}{% + \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}% + }% + {\csgappto{@emailsandorcids\AB@note}{% + \if\relax#3\relax\else;\ \email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}% + + \newaffilfalse +} + +\renewcommand\@author{% + \ifx\AB@affillist\AB@empty\AB@author\else + \ifnum\value{affil}>\value{Maxaffil}\def\rlap##1{##1}% + \AB@authlist\AB@affillist + \else\AB@authors% + \fi% + \fi% +} + +\renewcommand\affil[2][]{% + \newaffiltrue\let\AB@blk@and\AB@pand + \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}% + \setcounter{Maxaffil}{0}\fi% + \begingroup + \let\protect\@unexpandable@protect + \def\thanks{\protect\thanks}\def\footnotetext{\protect\footnotetext}% + \@temptokena=\expandafter{\AB@authors}% + {\def\\{\protect\\\protect\Affilfont}\xdef\AB@temp{#2}}% + \xdef\AB@authors{\the\@temptokena\AB@las\AB@au@str + \protect\\[\affilsep]\protect\Affilfont\AB@temp}% + \gdef\AB@las{}\gdef\AB@au@str{}% + {\def\\{, \ignorespaces}\xdef\AB@temp{#2}}% + \@temptokena=\expandafter{\AB@affillist}% + \xdef\AB@affillist{\the\@temptokena \AB@affilsep + \footnotetext[\AB@note]{% + \raggedright\AB@temp\ifcsempty{@emailsandorcids\AB@note}{}{, \csuse{@emailsandorcids\AB@note}}}% } + \endgroup + \let\AB@affilsep\AB@affilsepx + \setcounter{footnote}{#1} +} % \end{macrocode} % \end{macro} % \begin{macro}{\authorrunning} % \begin{macrocode} \newcommand{\authorrunning}[1]{% - \fancyhead[LE]{\hspace{0.05cm}\oldsmall\thepage\hspace{5pt}#1}} + \fancyhead[LE]{\hspace{0.05cm}\oldsmall\thepage\hspace{5pt}\ifanonymous\iflnienglish Anonymized for review\else Anonymisiert für Review\fi\else#1\fi}} % \end{macrocode} % \end{macro} % \begin{macro}{\email} @@ -1113,26 +1207,25 @@ This work consists of the file lni.dtx \newcommand*{\email}[1]{\href{mailto:#1}{\urlstyle{same}\protect\nolinkurl{#1}}} % \end{macrocode} % \end{macro} +% \begin{macro}{\orcid} +% \begin{macrocode} +\newcommand*{\orcid}[1]{% + \unskip~\orcidlink{#1}\,\href{https://orcid.org/#1}{https://orcid.org/#1}}% +% \end{macrocode} +% \end{macro} % \begin{macro}{\lnidoi} % \begin{macrocode} \newcommand{\@lnidoi}{} -\newcommand{\lnidoi}[1]{\gdef\@lnidoi{#1}} +\newcommand{\lnidoi}{% + \begingroup\catcode`\_12 \lnidoi@i} +\newcommand{\lnidoi@i}[1]{% + \gdef\@lnidoi{#1}\endgroup} % \end{macrocode} % \end{macro} -% Title: Kopie aus article.cls mit anderem \thispagestyle % \begin{macrocode} \renewcommand\maketitle{\par% \begingroup \renewcommand\thefootnote{\@arabic\c@footnote}% - \def\@makefnmark% keine Einrückung der Fußnoten eingestellt - {\@textsuperscript{\normalfont\@thefnmark}}% - \long\def\@makefntext##1{% - \@setpar{\@@par - \@tempdima = \hsize - \advance\@tempdima -1em - \parshape \@ne 0.15cm \@tempdima}% - \par\parindent 0.3cm \noindent - \hb@xt@\z@{\hss\@textsuperscript{\normalfont\@thefnmark}\,}##1} \if@twocolumn \ifnum \col@number=\@ne \@maketitle @@ -1151,14 +1244,12 @@ This work consists of the file lni.dtx \fi% \@thanks \endgroup - \ifusehyperref - \HyXeTeX@CheckUnicode - \HyPsd@PrerenderUnicode{\@shortauthor}% - \pdfstringdef\@pdfauthor{\@shortauthor}% - \HyXeTeX@CheckUnicode - \HyPsd@PrerenderUnicode{\@title}% - \pdfstringdef\@pdftitle{\@title}% - \fi% + \HyXeTeX@CheckUnicode + \HyPsd@PrerenderUnicode{\@authlisthead}% + \ifanonymous\else\pdfstringdef\@pdfauthor{\@authlisthead}\fi% + \HyXeTeX@CheckUnicode + \HyPsd@PrerenderUnicode{\@title}% + \pdfstringdef\@pdftitle{\@title}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax @@ -1166,6 +1257,7 @@ This work consists of the file lni.dtx \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty + \global\let\@subtitle\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax @@ -1177,41 +1269,42 @@ This work consists of the file lni.dtx \newpage \null \begin{center}% - \vskip -24pt% Abstand vor dem Titel + \vskip -27pt% Abstand vor dem Titel \raggedright% Linksbündig \let\footnote\thanks {\Large\bfseries\@title\par}% - \ifx\@subtitle\empty\else - \ifx\@subtitle\undefined\else - \vskip 16pt + \ifx\@subtitle\empty\vskip 9pt\else % Abstand nach dem Titel + \ifx\@subtitle\undefined\vskip 9pt\else + \vskip 9pt {\normalsize\bfseries\@subtitle}% + \vskip 15pt% Abstand nach dem Titel \fi% \fi% - \vskip 19pt% Abstand nach dem Titel {\normalsize% \lineskip .5em% + \ifanonymous + \iflnienglish + Anonymized for review\footnote{placeholder for contact information} + \else + Anonymisiert für Review\footnote{Platzhalter für Kontaktinformationen} + \fi% + \else \@author + \fi% \par}% - \vskip 28pt% Abstand vor dem Abstract + \vskip 21pt% Abstand vor dem Abstract \end{center}% -% output CC license and DOI (if it exists) +% output DOI (if it exists) \AddToShipoutPictureBG*{\AtPageLowerLeft{% \put(\LenToUnit{\the\doihoffset},\LenToUnit{\the\doivoffset}){% - \ifusehyperref - \href{https://creativecommons.org/licenses/by-sa/4.0/}{\ccbysa} + \ifanonymous \else - \ccbysa - \fi - \ifdefempty{\@lnidoi}{}{ - \footnotesize - \ifusehyperref - \href{https://doi.org/\@lnidoi}{doi:\@lnidoi} - \else - doi:\@lnidoi - \fi% - } - } - }} + \ifdefempty{\@lnidoi}% + {}% + {\footnotesize\href{https://doi.org/\@lnidoi}{doi:\@lnidoi}} + \fi% + }% + }}% \par }% % \end{macrocode} @@ -1223,13 +1316,14 @@ This work consists of the file lni.dtx }{\endquotation} % \end{macrocode} % \end{environment} +% \changes{v1.8}{2023/11/06}{Change delimiter to comma} % \begin{environment}{keywords} % \begin{macrocode} \newif\ifkeywords \newenvironment{keywords}% {\global\keywordstrue\small% - \def\and{\unskip;\space}% - \noindent\ignorespaces{\bfseries Keywords:\ }}% + \def\and{\unskip,\space}% + \vskip -2pt\noindent\ignorespaces{\bfseries Keywords:\ }}% {\global\keywordsfalse} \let\@RIGsection\section \pretocmd\@startsection{% @@ -1289,60 +1383,38 @@ This work consists of the file lni.dtx \RequirePackage{verbatim} \def\verbatim@processline{\hskip0.5cm\the\verbatim@line\par} % \end{macrocode} +% \begin{macrocode} +\robustify{\footnote} +% \end{macrocode} % Set rule width und correct size % \begin{macrocode} \renewcommand\footnoterule{% - \kern-3\p@ + \vfill\kern-3\p@ \hrule\@width 5cm \kern2.6\p@} -\newdimen\fnindent -\fnindent0.18cm -\long\def\@makefntext#1{% - \parindent \fnindent% - \leftskip \fnindent% Einrückung vor der footnotemark - \noindent - \llap{\hb@xt@0.10cm{\hss\@makefnmark\ }}\ignorespaces#1} + %\newdimen\fnindent + %\fnindent0.18cm + %\long\def\@makefntext#1{% + %\parindent \fnindent% + %\leftskip \fnindent% Einrückung vor der footnotemark + %\noindent + %\llap{\hb@xt@0.10cm{\hss\@makefnmark\ }}\ignorespaces#1} % \end{macrocode} % \begin{macrocode} \setlength{\parindent}{0pt} \setlength{\parskip}{8pt} % \end{macrocode} -% Set symbols for itemize -% \begin{macrocode} -\renewcommand{\labelitemi}{$\bullet$} -\renewcommand*\itemize{% - \ifnum \@itemdepth >\thr@@\@toodeep\else - \setlength{\labelsep}{0.70cm}% - \advance\@itemdepth\@ne - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter - \list - \csname\@itemitem\endcsname - {\def\makelabel##1{\hss\llap{##1}}% - \setlength{\itemsep}{8pt}% - \setlength{\parsep}{-2pt}}% - \fi} +% Set symbols and spacings for itemize +% \begin{macrocode} +\setlist{topsep=0pt,itemsep=7pt,parsep=-2pt} +\setlist[itemize]{labelsep=0.70cm}%Abstand zur Aufzählungsnummer +\setlist[itemize,1]{label=$\bullet$} +\setlist[itemize,2]{topsep=9pt} % \end{macrocode} % and numbered lists % \begin{macrocode} - \renewcommand{\labelenumii}{\alph{enumii})} - \renewcommand*\enumerate{% - \ifnum \@enumdepth >\thr@@ - \@toodeep - \else - \setlength{\labelsep}{0.70cm}%Abstand zur Aufzählungsnummer - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% - \fi - \@ifnextchar[{\@enumlabel@{\@enumerate@}[}{\@enumerate@}} - \def\@enumerate@{% - \expandafter\list\csname label\@enumctr\endcsname{% - \usecounter{\@enumctr}% - \def\makelabel##1{\hss\llap{##1}} - \setlength{\labelsep}{0.6cm} %Einrückung des Aufzählungszeichens - \setlength{\itemsep}{8pt}% - \setlength{\parsep}{-2pt}} - }% +\setlist[enumerate]{labelsep=0.60cm}%Einrückung des Aufzählungszeichens +\setlist[enumerate,2]{label=\alph*),topsep=9pt} % \end{macrocode} % \begin{macro}{\andname} % \begin{macrocode} @@ -1397,12 +1469,12 @@ This work consists of the file lni.dtx \fancypagestyle{plain}{% \fancyhead{} % Löscht alle Kopfzeileneinstellungen \fancyhead[RO]{% - \small\@editor~(Hrsg.):\ + \small\@editor~(Hrsg.):\ \ifdefempty{\@bookshorttitle}% {}% {\@bookshorttitle,\hspace{1sp}}% \null\linebreak% - Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, + Lecture Notes in Informatics (LNI), Gesellschaft für Informatik, Bonn~\@yearofpublication% \hspace{5pt}\thepage\hspace{0.05cm}% }% @@ -1412,7 +1484,7 @@ This work consists of the file lni.dtx {}% {\@bookshorttitle,\hspace{1sp}}% \linebreak\hspace{0.05cm}\thepage\hspace{5pt} Lecture Notes - in Informatics (LNI), Gesellschaft für Informatik, + in Informatics (LNI), Gesellschaft für Informatik, Bonn~\@yearofpublication% }% \fancyfoot{}% Löscht alle Fußzeileneinstellungen @@ -1424,7 +1496,7 @@ This work consists of the file lni.dtx \pagestyle{fancy} \fancyhead{}% Löscht alle Kopfzeileneinstellungen \fancyhead[RO]{\small\@shorttitle\hspace{5pt}\thepage\hspace{0.05cm}} - \fancyhead[LE]{\hspace{0.05cm}\small\thepage\hspace{5pt}\@shortauthor} + \fancyhead[LE]{\hspace{0.05cm}\small\thepage\hspace{5pt}\ifanonymous\iflnienglish Anonymized for review\else Anonymisiert für Review\fi\else\@authlisthead\fi} \fancyfoot{}% Löscht alle Fußzeileneinstellungen \renewcommand{\headrulewidth}{0.4pt} %Linie unter Kopfzeile \fi% @@ -1440,23 +1512,24 @@ This work consists of the file lni.dtx \RequirePackage{xspace} % \end{macrocode} % \begin{macrocode} -\ifusehyperref - \AtEndPreamble{% - \RequirePackage[bookmarks=false]{hyperref} - \hypersetup{% +\AddToHook{env/document/begin}[lni/loadhyperref]{% + \RequirePackage[bookmarks=false]{hyperref} + \hypersetup{% pdfdisplaydoctitle,% colorlinks=true,% allcolors=black,% pdfstartview=Fit,% - }% -%%% \pdfstringdefDisableCommands{% -%%% \def\unskip{}% -%%% \renewcommand{\footnote}[1]{}% -%%% }% }% -\else - \providecommand{\texorpdfstring}[2]{#2}% -\fi% + \pdfstringdefDisableCommands{% + \def\footnote#1{}% + } + \RequirePackage{orcidlink}% +% \end{macrocode} +% enables correct jumping to figures when referencing +% \begin{macrocode} + \RequirePackage[all]{hypcap}% +}% +\DeclareHookRule{env/document/begin}{lni/loadhyperref}{before}{biblatex} % \end{macrocode} % \begin{macrocode} \ifusecleveref% @@ -1477,14 +1550,6 @@ This work consists of the file lni.dtx }% \fi% % \end{macrocode} -% enables correct jumping to figures when referencing -% \begin{macrocode} -\AtEndPreamble{% - \@ifpackageloaded{hyperref} - {\RequirePackage[all]{hypcap}}% - {}% -}% -% \end{macrocode} % \begin{macrocode} \def\and{\texorpdfstring{\unskip\hspace{-0.42em},\hspace{.6em}}{, }}% % \end{macrocode} @@ -2404,7 +2469,7 @@ FUNCTION {misc} { output.bibitem author empty$ { "" } - { format.authors output.nonnull } + { format.authors write$ } if$ %title howpublished new.block.checkb format.title output @@ -2960,12 +3025,18 @@ EXECUTE {end.bib} %</eng|ger> %</bibtex> %<*template> -%%% Um einen Artikel auf deutsch zu schreiben, genügt es die Klasse ohne -%%% Parameter zu laden. -\documentclass[]{lni} +% % !TeX program = pdflatex +% % !BIB program = biber +% % !TeX spellcheck = de-DE %%% To write an article in English, please use the option ``english'' in order %%% to get the correct hyphenation patterns and terms. %%% \documentclass[english]{class} +%%% for anonymizing an article you can use the ``anonymous'' option. +%%% +%%% Um einen Artikel auf deutsch zu schreiben, genügt es die Klasse ohne +%%% Parameter zu laden. +%%% Zur Anonymisierung kann die ``anonymous'' Option genutzt werden. +\documentclass[]{lni} %% \begin{document} %%% Mehrere Autoren werden durch \and voneinander getrennt. @@ -2973,23 +3044,19 @@ EXECUTE {end.bib} %%% Das optionale Argument (sofern angegeben) wird für die Kopfzeile verwendet. \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} -%%%\subtitle{Untertitel / Subtitle} % if needed -\author[Vorname1 Nachname1 \and Firstname2 Lastname2] -{Vorname1 Nachname1\footnote{Universität, Abteilung, Straße, Postleitzahl Ort, -Land \email{emailaddress@author1}} \and -Firstname2 Lastname2\footnote{University, Department, Address, Country -\email{emailaddress@author2}}} -\startpage{11} % Beginn der Seitenzählung für diesen Beitrag / Start page -%numbering at this number -\editor{Herausgeber et al.} % Names of Editors -\booktitle{Name-der-Konferenz} % Name of book title -\yearofpublication{2017} -%%%\lnidoi{18.18420/provided-by-editor-02} % if known +%% \subtitle{Untertitel / Subtitle} % if needed +\author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} +\author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} +\author[1]{Firstname3 Lastname3}{firstname3.lastname3@affiliation1.org}{0000-0000-0000-0000} +\author[1]{Firstname4 Lastname4}{firstname4.lastname4@affiliation1.org}{0000-0000-0000-0000}% +\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land} +\affil[2]{University\\Department\\Address\\Country} \maketitle \begin{abstract} -This is a brief overview of the paper, which should be 70 to 150 words long and -include the most relevant points. This has to be a single paragraph. +Dies ist eine kurze Übersicht über das Dokument mit einer Länge von +70 bis 150 Wörtern. Es sollte ein Absatz sein, der die relevantesten +Aspekte enthält. \end{abstract} \begin{keywords} Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 @@ -2997,15 +3064,16 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 %%% Beginn des Artikeltexts \section{Überschrift/Heading} -%%% Angabe der .bib-Datei (ohne Endung) / State .bib file (for BibTeX usage) -\bibliography{mybibfile} %\printbibliography if you use biblatex/Biber +%%% Angabe der .bib-Datei (ohne Endung) / State .bib file (im Falle der Nutzung von BibTeX) +%% \bibliography{mybibfile} +%% \printbibliography % im Falle der Nutzung von biblatex \end{document} %</template> %<*exampledebib> % Encoding: UTF-8 @InProceedings{ABC01, - author = {N. Abraham and U. Bibel and P. Corleone}, + author = {Abraham, N. and Bibel, U. and Corleone, P.}, title = {Formatting Contributions for Proceedings}, pages = {46-53}, crossref = {Gl01}, @@ -3022,7 +3090,7 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 title = {Formatierungsrichtlinien für Tagungsbände}, publisher = {Format-Verlag}, year = {2000}, - author = {K. Abel and U. Bibel}, + author = {Abel, K. and Bibel, U.}, address = {Bonn}, } @@ -3030,11 +3098,11 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 title = {The Magic Format -- Your Way to Pretty Books}, publisher = {Noah \& Sons}, year = {2010}, - author = {O. Ezgarani}, + author = {Ezgarani, O.}, } @Article{Gl06, - author = {H. I. Glück}, + author = {Glück, H. I.}, title = {Formatierung leicht gemacht}, journal = {Formatierungsjournal}, volume = {11}, @@ -3047,14 +3115,14 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 title = {Essenzen der Informatik}, publisher = {Verlag Formvoll}, year = {2014}, - author = {K. Wasser and H. Feuer and R. Erde and H. Licht}, + author = {Wasser, K. and Feuer, H. and Erde, R. and Licht, H.}, } @Book{Wa14b, title = {Ganz neue Essenzen der Informatik im selben Jahr}, publisher = {Format-Verlag}, year = {2014}, - author = {K. Wasser and H. Feuer and R. Erde and H. Licht}, + author = {Wasser, K. and Feuer, H. and Erde, R. and Licht, H.}, } @Proceedings{Gl01, @@ -3070,7 +3138,7 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 title = {Formatierung 2009}, publisher = {Format-Verlag}, year = {2009}, - editor = {H. I. Glück}, + editor = {Glück, H. I.}, number = {999}, series = {LNI}, address = {Bonn}, @@ -3095,41 +3163,17 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 @Comment{jabref-meta: databaseType:biblatex;} %</exampledebib> %<*exampledetex> -%% Dies gibt Warnungen aus, sollten veraltete LaTeX-Befehle verwendet werden -\RequirePackage[l2tabu, orthodox]{nag} - -\documentclass[utf8,biblatex]{lni} -\bibliography{lni-paper-example-de} +% % !TeX program = pdflatex +% % !BIB program = biber +% % !TeX spellcheck = de-DE +\documentclass[biblatex]{lni} +\addbibresource{lni-paper-example-de.bib} %% Schöne Tabellen mittels \toprule, \midrule, \bottomrule \usepackage{booktabs} %% Zu Demonstrationszwecken -\usepackage[math]{blindtext} -\usepackage{mwe} - -%% BibLaTeX-Sonderkonfiguration, -%% falls man schnell eine existierende Bibliographie wiederverwenden will, aber nicht die .bib-Datei händisch anpassen möchte. -%% Bitte \iffalse und \fi entfernen, dann ist diese Konfiguration aktiviert. - -\iffalse -\AtEveryBibitem{% - \ifentrytype{article}{% - }{% - \clearfield{doi}% - \clearfield{issn}% - \clearfield{url}% - \clearfield{urldate}% - }% - \ifentrytype{inproceedings}{% - }{% - \clearfield{doi}% - \clearfield{issn}% - \clearfield{url}% - \clearfield{urldate}% - }% -} -\fi +\usepackage[]{blindtext} \begin{document} %%% Mehrere Autoren werden durch \and voneinander getrennt. @@ -3137,14 +3181,12 @@ Schlagwort1 \and Schlagwort2 %Keyword1 \and Keyword2 %%% Das optionale Argument (sofern angegeben) wird für die Kopfzeile verwendet. \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} %%%\subtitle{Untertitel / Subtitle} % falls benötigt -\author[Vorname1 Nachname1 \and Vorname2 Nachname2] -{Vorname1 Nachname1\footnote{Universität, Abteilung, Straße, Postleitzahl Ort, Land \email{emailaddress@author1}} \and - Vorname2 Nachname2\footnote{University, Department, Address, Country \email{emailaddress@author2}}} -\startpage{11} % Beginn der Seitenzählung für diesen Beitrag -\editor{Herausgeber et al.} % Namen der Herausgeber -\booktitle{Name-der-Konferenz} % Name des Tagungsband; optional Kurztitel -\yearofpublication{2017} -%%%\lnidoi{18.18420/provided-by-editor-02} % Falls bekannt +\author[1]{Vorname1 Nachname1}{vorname1.name1@affiliation1.de}{0000-0000-0000-0000} +\author[2]{Vorname2 Nachname2}{vorname2.name2@affiliation2.de}{0000-0000-0000-0000} +\author[1]{Vorname3 Nachname3}{vorname3.name3@affiliation1.de}{0000-0000-0000-0000} +\author[1]{Vorname4 Nachname4}{vorname4.name4@affiliation1.de}{0000-0000-0000-0000}% +\affil[1]{Universität\\Abteilung\\Straße\\Postleitzahl Ort\\Land} +\affil[2]{University\\Department\\Address\\Country} \maketitle \begin{abstract} @@ -3155,7 +3197,7 @@ Die Formatierung erfolgt automatisch innerhalb des abstract-Bereichs. \end{abstract} \begin{keywords} -LNI Guidelines \and \LaTeX Vorlage +LNI Guidelines \and \LaTeX\ Vorlage \end{keywords} \section{Verwendung} @@ -3163,7 +3205,7 @@ Die GI gibt unter \url{http://www.gi-ev.de/LNI} Vorgaben für die Formatierung v Für \LaTeX-Dokumente werden diese durch die Dokumentenklasse \texttt{lni} realisiert. Dieses Dokument basiert auf der offiziellen Dokumentation, simplifiziert und setzt grundlegendes LaTeX-Wissen voraus. -Es werden generische Platzhalter an die entsprechenden Stellen (wie beispielsweise die Authoren-Angaben) gesetzt und nicht weiter an anderer Stelle dokumentiert. +Es werden generische Platzhalter an die entsprechenden Stellen (wie beispielsweise die Autoren-Angaben) gesetzt und nicht weiter an anderer Stelle dokumentiert. Dieses Template ist wie folgt gegliedert: \Cref{sec:demos} zeigt Demonstrationen der LNI-Verlage. @@ -3176,6 +3218,8 @@ Es ist kein Weierstraß-p ($\wp$) mehr. Spitze Klammen können direkt eingegeben werden: <test /> +Anonymisierungen können mittels anonymous-Option in der documentclass automatisch vorgenommen werden. Dafür gibt es das \texttt{anon}-Makro, z.\,B. \anon{Geheim für Review} und \anon[nur für Review]{nur für finale Version}. + Hier eine kleine Demonstration von \href{https://www.ctan.org/pkg/microtype}{microtype}: \blindtext @@ -3236,16 +3280,22 @@ public class Hello { Alternativ kann auch die \texttt{lstlisting}-Umgebung verwendet werden. -\Cref{L1} zeigt uns ein Beispiel, das mit Hilfe der \texttt{lstlisting}-Umgebung realisiert ist. +\Cref{java-hello-world} zeigt uns ein Beispiel, das mit Hilfe der \texttt{lstlisting}-Umgebung realisiert ist. Ein anderes Beispiel ist \cref{python-hello-world}. -\begin{lstlisting}[caption={Beschreibung}, label=L1, language=Java] +\begin{lstlisting}[caption={Ein Java-Programm}, label=java-hello-world, language=Java] public class Hello { - public static void main (String[] args) { - System.out.println("Hello World!"); - } + public static void main (String[] args) { + System.out.println("Hello World!"); + } } \end{lstlisting} +\begin{lstlisting}[caption={Ein Python-Programm}, label=python-hello-world, language=Python] +# This program prints Hello, world! + +print('Hello, world!') +\end{lstlisting} + \subsection{Formeln und Gleichungen} Die korrekte Einrückung und Nummerierung für Formeln ist bei den Umgebungen diff --git a/Master/texmf-dist/source/latex/lni/lni.ins b/Master/texmf-dist/source/latex/lni/lni.ins index 5536ab57b97..6f7d41e1480 100644 --- a/Master/texmf-dist/source/latex/lni/lni.ins +++ b/Master/texmf-dist/source/latex/lni/lni.ins @@ -13,7 +13,7 @@ \declarepreamble\bibtexengpre lnig.bst Lecture Notes in Informatics Style File (english) -Version 1.0 (2017/04/07) +Version 1.1 (2022/06/10) The Style File is based on alpha.bst @@ -25,7 +25,7 @@ Modified files should be clearly indicated as such and renamed. \declarepreamble\bibtexgerpre lnig.bst Lecture Notes in Informatics Style File (german) -Version 1.0 (2017/04/07) +Version 1.1 (2022/06/10) The Style File is based on alpha.bst @@ -57,7 +57,7 @@ License:| Released under the LaTeX Project Public License v1.3c or later \postamble -Copyright (C) 2016-2021 by Gesellschaft für Informatik e.V. (GI) +Copyright (C) 2016-2023 by Gesellschaft für Informatik e.V. (GI) This work may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either @@ -97,7 +97,7 @@ This work consists of the file lni.dtx } \endbatchfile %% -%% Copyright (C) 2016-2021 by Gesellschaft für Informatik e.V. (GI) +%% Copyright (C) 2016-2023 by Gesellschaft für Informatik e.V. (GI) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License (LPPL), either diff --git a/Master/texmf-dist/tex/latex/lni/lni.cls b/Master/texmf-dist/tex/latex/lni/lni.cls index 9611c58ba84..0fd9f73ec8b 100644 --- a/Master/texmf-dist/tex/latex/lni/lni.cls +++ b/Master/texmf-dist/tex/latex/lni/lni.cls @@ -14,8 +14,9 @@ %% --------| ----------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{lni} - [2021/03/02 v1.7 Official class for submissions to the ``Lecture Notes + [2023/11/26 v1.8 Official class for submissions to the ``Lecture Notes in Informatics''] +\RequirePackage{iftex}\ifluatex\else\pdfoutput=1\fi% \def\@clearglobaloption#1{% \def\@tempa{#1}% \def\@tempb{\@gobble}% @@ -29,15 +30,22 @@ \expandafter\ifx\@tempb\@gobble \let\@classoptionslist\@empty \fi} -\DeclareOption{latin1}{\PassOptionsToPackage{latin1}{inputenc}} -\DeclareOption{utf8}{\PassOptionsToPackage{utf8}{inputenc}} -\DeclareOption{ansinew}{\PassOptionsToPackage{ansinew}{inputenc}} +\DeclareOption{latin1}{% + \PassOptionsToPackage{latin1}{inputenc} + \ClassNoteNoLine{lni}{The option `latin1` will be removed from the class with the next major release}} +\DeclareOption{utf8}{% + \PassOptionsToPackage{utf8}{inputenc} + \ClassNoteNoLine{lni}{The option `utf8` will be removed from the class with the next major release as it is the only valid value}} +\DeclareOption{ansinew}{% + \PassOptionsToPackage{ansinew}{inputenc} + \ClassNoteNoLine{lni}{The option `ansinew` will be removed from the class with the next major release}} \newif\iflnienglish \lnienglishfalse \DeclareOption{english}{\lnienglishtrue\@clearglobaloption{english}} \newif\ifusehyperref \usehyperreftrue -\DeclareOption{nohyperref}{\usehyperreffalse} +\DeclareOption{nohyperref}{% + \ClassWarningNoLine{lni}{The option `nohyperref` has been deactivated and will be removed from the class with the next major release}} \newif\ifusecleveref \useclevereftrue \DeclareOption{nocleveref}{\useclevereffalse} @@ -49,19 +57,36 @@ \DeclareOption{crop}{\croptrue} \newif\ifnofonts \nofontsfalse -\DeclareOption{nofonts}{\nofontstrue\autofontsfalse} +\DeclareOption{nofonts}{% + \nofontstrue\autofontsfalse + \ClassNoteNoLine{lni}{The option `nofonts` will be removed from the class with the next major release}} \newif\ifoldfonts \oldfontsfalse -\DeclareOption{oldfonts}{\oldfontstrue\autofontsfalse} +\DeclareOption{oldfonts}{% + \oldfontstrue\autofontsfalse + \ClassNoteNoLine{lni}{The option `oldfonts` will be removed from the class with the next major release}} \newif\ifautofonts \autofontstrue \newif\ifnorunningheads -\DeclareOption{norunningheads}{\norunningheadstrue} -\ExecuteOptions{utf8} +\DeclareOption{norunningheads}{% + \norunningheadstrue + \ClassNoteNoLine{lni}{The option `norunningheads` will be removed from the class with the next major release}} +\newif\ifrunningheads +\DeclareOption{runningheads}{\norunningheadsfalse} +\newif\ifanonymous +\anonymousfalse +\DeclareOption{anonymous}{\anonymoustrue} +\newcommand{\anon}[2][\iflnienglish ANONYMIZED\else ANONYMISIERT\fi]{% + \ifanonymous% + {\color{orange}#1}% + \else% + #2% + \fi} +\ExecuteOptions{utf8,norunningheads} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} \ProcessOptions\relax -\RequirePackage{iftex} -\LoadClass[10pt,twoside,a4paper,fleqn]{article} +\PassOptionsToPackage{fleqn}{amsmath} +\LoadClass[10pt,twoside,a4paper]{article} \ifPDFTeX \RequirePackage{cmap} \RequirePackage{inputenc} @@ -164,7 +189,6 @@ <12-> MnSymbolC12% }{} \DeclareMathSymbol{\powerset}{\mathord}{MnSyC}{180} -\RequirePackage{ccicons} \RequirePackage{etoolbox} \newlength{\doihoffset} \newlength{\doivoffset} @@ -239,6 +263,7 @@ \ifusebiblatex \RequirePackage[% backend=biber,% UTF-8 support + date=year, style=LNI, % The GI style - see https://www.ctan.org/pkg/biblatex-lni natbib=true % Required for \Citet ]{biblatex}[2016-09-15]% at least version 3.6 of biblatex is required. @@ -255,11 +280,18 @@ {\multicitedelim}% {\usebibmacro{postnote}}% \fi% +\RequirePackage{amsmath} +\RequirePackage{etoolbox} \RequirePackage{graphicx} \RequirePackage{eso-pic} \RequirePackage{grffile} \RequirePackage{fancyhdr} \RequirePackage{listings} +\RequirePackage{enumitem} +\RequirePackage[hang]{footmisc} +\setlength{\footnotemargin}{1em} +\def\@makefnmark{\rlap{\normalfont\@thefnmark}}% + \lstset{% basicstyle=\ttfamily,% columns=fixed,% @@ -290,36 +322,110 @@ \par}% \fi} \renewcommand{\title}{\@dblarg\@@title} -\def\@@title[#1]#2{\gdef\@shorttitle{#1}\gdef\@title{#2}} +\def\@@title[#1]#2{% + \gdef\@shorttitle{#1}\gdef\@title{#2}} \newcommand{\subtitle}[1]{\gdef\@subtitle{#1}} -\renewcommand{\author}{\@dblarg\@@author} -\newcommand{\@@author}[2][]{% - \DeclareRobustCommand{\@shortauthor}{% - {% - %\let\footnote\@gobble% - \def\and{\texorpdfstring{\unskip,\ }{}}% - #1% - }% - }% - \DeclareRobustCommand{\@author}{#2}% +\RequirePackage{authblk} +\newcommand{\@authlisthead}{} +\newtoks\@temptokenb +\newtoks\@temptokenc +\renewcommand\Authsep{, } +\renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }} +\renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }} +\renewcommand{\AB@authnote}[1]{$^{\mbox{\footnotesize #1}}$} +\renewcommand\author[4][]{% + \ifnewaffil\addtocounter{affil}{1}% + \edef\AB@thenote{\arabic{affil}}% + \fi% + \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}% + \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}% + \setcounter{Maxaffil}{0}\fi + \ifnum\value{authors}=0\def\@firstauthor{#2}\fi + \ifnum\value{authors}>1\relax + \@namedef{@sep\number\c@authors}{\Authsep}\fi + \addtocounter{authors}{1}% + \begingroup + \let\protect\@unexpandable@protect \let\and\AB@pand + \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}% + \@temptokena=\expandafter{\AB@authors}% + \@temptokenb=\expandafter{\AB@authors}% + {\def\\{\protect\\[\@affilsep]\protect\Affilfont + \protect\AB@resetsep}% + \xdef\AB@author{\AB@blk@and#2}% + \ifnewaffil\gdef\AB@las{}\gdef\AB@lasx{\protect\Authand}\gdef\AB@as{}% + \xdef\AB@authors{\the\@temptokena\AB@blk@and}% + \else + \xdef\AB@authors{\the\@temptokena\AB@as\AB@au@str}% + \global\let\AB@las\AB@lasx\gdef\AB@lasx{\protect\Authands}% + \gdef\AB@as{\Authsep}% + \fi + \gdef\AB@au@str{#2}}% + \@temptokena=\expandafter{\AB@authlist}% + \@temptokenb=\expandafter{\@authlisthead}% + \let\\=\authorcr + \xdef\AB@authlist{\the\@temptokena + \protect\@nameuse{@sep\number\c@authors}% + \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB@authnote{\AB@note}}% + \xdef\@authlisthead{\the\@temptokenb + \protect\@nameuse{@sep\number\c@authors}% + \protect\Authfont#2}% + \endgroup + \ifnum\value{authors}>2\relax + \@namedef{@sep\number\c@authors}{\Authands}\fi + \ifcsempty{@emailsandorcids\AB@note}% + {\csgappto{@emailsandorcids\AB@note}{% + \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}% + }% + {\csgappto{@emailsandorcids\AB@note}{% + \if\relax#3\relax\else;\ \email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}% + + \newaffilfalse +} + +\renewcommand\@author{% + \ifx\AB@affillist\AB@empty\AB@author\else + \ifnum\value{affil}>\value{Maxaffil}\def\rlap##1{##1}% + \AB@authlist\AB@affillist + \else\AB@authors% + \fi% + \fi% +} + +\renewcommand\affil[2][]{% + \newaffiltrue\let\AB@blk@and\AB@pand + \if\relax#1\relax\def\AB@note{\AB@thenote}\else\def\AB@note{#1}% + \setcounter{Maxaffil}{0}\fi% + \begingroup + \let\protect\@unexpandable@protect + \def\thanks{\protect\thanks}\def\footnotetext{\protect\footnotetext}% + \@temptokena=\expandafter{\AB@authors}% + {\def\\{\protect\\\protect\Affilfont}\xdef\AB@temp{#2}}% + \xdef\AB@authors{\the\@temptokena\AB@las\AB@au@str + \protect\\[\affilsep]\protect\Affilfont\AB@temp}% + \gdef\AB@las{}\gdef\AB@au@str{}% + {\def\\{, \ignorespaces}\xdef\AB@temp{#2}}% + \@temptokena=\expandafter{\AB@affillist}% + \xdef\AB@affillist{\the\@temptokena \AB@affilsep + \footnotetext[\AB@note]{% + \raggedright\AB@temp\ifcsempty{@emailsandorcids\AB@note}{}{, \csuse{@emailsandorcids\AB@note}}}% } + \endgroup + \let\AB@affilsep\AB@affilsepx + \setcounter{footnote}{#1} +} \newcommand{\authorrunning}[1]{% - \fancyhead[LE]{\hspace{0.05cm}\oldsmall\thepage\hspace{5pt}#1}} + \fancyhead[LE]{\hspace{0.05cm}\oldsmall\thepage\hspace{5pt}\ifanonymous\iflnienglish Anonymized for review\else Anonymisiert für Review\fi\else#1\fi}} \newcommand*{\email}[1]{\href{mailto:#1}{\urlstyle{same}\protect\nolinkurl{#1}}} +\newcommand*{\orcid}[1]{% + \unskip~\orcidlink{#1}\,\href{https://orcid.org/#1}{https://orcid.org/#1}}% \newcommand{\@lnidoi}{} -\newcommand{\lnidoi}[1]{\gdef\@lnidoi{#1}} +\newcommand{\lnidoi}{% + \begingroup\catcode`\_12 \lnidoi@i} +\newcommand{\lnidoi@i}[1]{% + \gdef\@lnidoi{#1}\endgroup} \renewcommand\maketitle{\par% \begingroup \renewcommand\thefootnote{\@arabic\c@footnote}% - \def\@makefnmark% keine Einrückung der Fußnoten eingestellt - {\@textsuperscript{\normalfont\@thefnmark}}% - \long\def\@makefntext##1{% - \@setpar{\@@par - \@tempdima = \hsize - \advance\@tempdima -1em - \parshape \@ne 0.15cm \@tempdima}% - \par\parindent 0.3cm \noindent - \hb@xt@\z@{\hss\@textsuperscript{\normalfont\@thefnmark}\,}##1} \if@twocolumn \ifnum \col@number=\@ne \@maketitle @@ -338,14 +444,12 @@ \fi% \@thanks \endgroup - \ifusehyperref - \HyXeTeX@CheckUnicode - \HyPsd@PrerenderUnicode{\@shortauthor}% - \pdfstringdef\@pdfauthor{\@shortauthor}% - \HyXeTeX@CheckUnicode - \HyPsd@PrerenderUnicode{\@title}% - \pdfstringdef\@pdftitle{\@title}% - \fi% + \HyXeTeX@CheckUnicode + \HyPsd@PrerenderUnicode{\@authlisthead}% + \ifanonymous\else\pdfstringdef\@pdfauthor{\@authlisthead}\fi% + \HyXeTeX@CheckUnicode + \HyPsd@PrerenderUnicode{\@title}% + \pdfstringdef\@pdftitle{\@title}% \global\let\thanks\relax \global\let\maketitle\relax \global\let\@maketitle\relax @@ -353,6 +457,7 @@ \global\let\@author\@empty \global\let\@date\@empty \global\let\@title\@empty + \global\let\@subtitle\@empty \global\let\title\relax \global\let\author\relax \global\let\date\relax @@ -362,40 +467,41 @@ \newpage \null \begin{center}% - \vskip -24pt% Abstand vor dem Titel + \vskip -27pt% Abstand vor dem Titel \raggedright% Linksbündig \let\footnote\thanks {\Large\bfseries\@title\par}% - \ifx\@subtitle\empty\else - \ifx\@subtitle\undefined\else - \vskip 16pt + \ifx\@subtitle\empty\vskip 9pt\else % Abstand nach dem Titel + \ifx\@subtitle\undefined\vskip 9pt\else + \vskip 9pt {\normalsize\bfseries\@subtitle}% + \vskip 15pt% Abstand nach dem Titel \fi% \fi% - \vskip 19pt% Abstand nach dem Titel {\normalsize% \lineskip .5em% + \ifanonymous + \iflnienglish + Anonymized for review\footnote{placeholder for contact information} + \else + Anonymisiert für Review\footnote{Platzhalter für Kontaktinformationen} + \fi% + \else \@author + \fi% \par}% - \vskip 28pt% Abstand vor dem Abstract + \vskip 21pt% Abstand vor dem Abstract \end{center}% \AddToShipoutPictureBG*{\AtPageLowerLeft{% \put(\LenToUnit{\the\doihoffset},\LenToUnit{\the\doivoffset}){% - \ifusehyperref - \href{https://creativecommons.org/licenses/by-sa/4.0/}{\ccbysa} + \ifanonymous \else - \ccbysa - \fi - \ifdefempty{\@lnidoi}{}{ - \footnotesize - \ifusehyperref - \href{https://doi.org/\@lnidoi}{doi:\@lnidoi} - \else - doi:\@lnidoi - \fi% - } - } - }} + \ifdefempty{\@lnidoi}% + {}% + {\footnotesize\href{https://doi.org/\@lnidoi}{doi:\@lnidoi}} + \fi% + }% + }}% \par }% \renewenvironment*{abstract}{% @@ -405,8 +511,8 @@ \newif\ifkeywords \newenvironment{keywords}% {\global\keywordstrue\small% - \def\and{\unskip;\space}% - \noindent\ignorespaces{\bfseries Keywords:\ }}% + \def\and{\unskip,\space}% + \vskip -2pt\noindent\ignorespaces{\bfseries Keywords:\ }}% {\global\keywordsfalse} \let\@RIGsection\section \pretocmd\@startsection{% @@ -446,50 +552,26 @@ \setlength{\mathindent}{0.5cm} \RequirePackage{verbatim} \def\verbatim@processline{\hskip0.5cm\the\verbatim@line\par} +\robustify{\footnote} \renewcommand\footnoterule{% - \kern-3\p@ + \vfill\kern-3\p@ \hrule\@width 5cm \kern2.6\p@} -\newdimen\fnindent -\fnindent0.18cm -\long\def\@makefntext#1{% - \parindent \fnindent% - \leftskip \fnindent% Einrückung vor der footnotemark - \noindent - \llap{\hb@xt@0.10cm{\hss\@makefnmark\ }}\ignorespaces#1} + %\newdimen\fnindent + %\fnindent0.18cm + %\long\def\@makefntext#1{% + %\parindent \fnindent% + %\leftskip \fnindent% Einrückung vor der footnotemark + %\noindent + %\llap{\hb@xt@0.10cm{\hss\@makefnmark\ }}\ignorespaces#1} \setlength{\parindent}{0pt} \setlength{\parskip}{8pt} -\renewcommand{\labelitemi}{$\bullet$} -\renewcommand*\itemize{% - \ifnum \@itemdepth >\thr@@\@toodeep\else - \setlength{\labelsep}{0.70cm}% - \advance\@itemdepth\@ne - \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}% - \expandafter - \list - \csname\@itemitem\endcsname - {\def\makelabel##1{\hss\llap{##1}}% - \setlength{\itemsep}{8pt}% - \setlength{\parsep}{-2pt}}% - \fi} - \renewcommand{\labelenumii}{\alph{enumii})} - \renewcommand*\enumerate{% - \ifnum \@enumdepth >\thr@@ - \@toodeep - \else -\setlength{\labelsep}{0.70cm}%Abstand zur Aufzählungsnummer - \advance\@enumdepth \@ne - \edef\@enumctr{enum\romannumeral\the\@enumdepth}% - \fi - \@ifnextchar[{\@enumlabel@{\@enumerate@}[}{\@enumerate@}} - \def\@enumerate@{% - \expandafter\list\csname label\@enumctr\endcsname{% - \usecounter{\@enumctr}% - \def\makelabel##1{\hss\llap{##1}} -\setlength{\labelsep}{0.6cm} %Einrückung des Aufzählungszeichens - \setlength{\itemsep}{8pt}% - \setlength{\parsep}{-2pt}} - }% +\setlist{topsep=0pt,itemsep=7pt,parsep=-2pt} +\setlist[itemize]{labelsep=0.70cm}%Abstand zur Aufzählungsnummer +\setlist[itemize,1]{label=$\bullet$} +\setlist[itemize,2]{topsep=9pt} +\setlist[enumerate]{labelsep=0.60cm}%Einrückung des Aufzählungszeichens +\setlist[enumerate,2]{label=\alph*),topsep=9pt} \newcommand{\andname}{} \addto\captionsngerman{% \renewcommand{\andname}{und}% @@ -544,30 +626,28 @@ \pagestyle{fancy} \fancyhead{}% Löscht alle Kopfzeileneinstellungen \fancyhead[RO]{\small\@shorttitle\hspace{5pt}\thepage\hspace{0.05cm}} - \fancyhead[LE]{\hspace{0.05cm}\small\thepage\hspace{5pt}\@shortauthor} + \fancyhead[LE]{\hspace{0.05cm}\small\thepage\hspace{5pt}\ifanonymous\iflnienglish Anonymized for review\else Anonymisiert für Review\fi\else\@authlisthead\fi} \fancyfoot{}% Löscht alle Fußzeileneinstellungen \renewcommand{\headrulewidth}{0.4pt} %Linie unter Kopfzeile \fi% \RequirePackage{url} \g@addto@macro{\UrlBreaks}{\UrlOrds} \RequirePackage{xspace} -\ifusehyperref - \AtEndPreamble{% - \RequirePackage[bookmarks=false]{hyperref} - \hypersetup{% +\AddToHook{env/document/begin}[lni/loadhyperref]{% + \RequirePackage[bookmarks=false]{hyperref} + \hypersetup{% pdfdisplaydoctitle,% colorlinks=true,% allcolors=black,% pdfstartview=Fit,% - }% -%%% \pdfstringdefDisableCommands{% -%%% \def\unskip{}% -%%% \renewcommand{\footnote}[1]{}% -%%% }% }% -\else - \providecommand{\texorpdfstring}[2]{#2}% -\fi% + \pdfstringdefDisableCommands{% + \def\footnote#1{}% + } + \RequirePackage{orcidlink}% + \RequirePackage[all]{hypcap}% +}% +\DeclareHookRule{env/document/begin}{lni/loadhyperref}{before}{biblatex} \ifusecleveref% \AtEndPreamble{% \iflnienglish @@ -585,11 +665,6 @@ \Crefname{table}{\tablename}{\tablename} }% \fi% -\AtEndPreamble{% - \@ifpackageloaded{hyperref} - {\RequirePackage[all]{hypcap}}% - {}% -}% \def\and{\texorpdfstring{\unskip\hspace{-0.42em},\hspace{.6em}}{, }}% \ifusebiblatex \else @@ -645,7 +720,7 @@ \vfuzz \hfuzz \raggedbottom %% -%% Copyright (C) 2016-2021 by Gesellschaft für Informatik e.V. (GI) +%% Copyright (C) 2016-2023 by Gesellschaft für Informatik e.V. (GI) %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License (LPPL), either |