diff options
author | Karl Berry <karl@freefriends.org> | 2024-07-02 20:04:32 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-07-02 20:04:32 +0000 |
commit | 51754e7b8913dbca70099f39a9d2107010fbb3e9 (patch) | |
tree | 45bb9866b1aa47dc183771c619e1a83e2afa8955 /Master/texmf-dist | |
parent | 1ba7347c4cb7d7e0f5d27d373705f40a6234da08 (diff) |
lni (2jul24)
git-svn-id: svn://tug.org/texlive/trunk@71687 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/CHANGELOG.md | 7 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/README.md | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/lni-author-template.tex | 13 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/lni/lni.pdf | bin | 377695 -> 377652 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/lni/lni.dtx | 103 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/lni/lni.cls | 80 |
6 files changed, 125 insertions, 80 deletions
diff --git a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md index 84bff5fcc6e..5bb6f9697cd 100644 --- a/Master/texmf-dist/doc/latex/lni/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/lni/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +## [1.9] - 2024-07-1 +### Added +- Support for multiple affiliations + ## [1.8.1] - 2024-01-08 ### Changed @@ -167,7 +171,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/). First release of the revised files -[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.8.1...HEAD +[Unreleased]: https://github.com/gi-ev/LNI/compare/v1.9...HEAD +[1.9]: https://github.com/gi-ev/LNI/compare/v1.8.1...v1.9 [1.8.1]: https://github.com/gi-ev/LNI/compare/v1.8...v1.8.1 [1.8]: https://github.com/gi-ev/LNI/compare/v1.7...v1.8 [1.7]: https://github.com/gi-ev/LNI/compare/v1.6...v1.7 diff --git a/Master/texmf-dist/doc/latex/lni/README.md b/Master/texmf-dist/doc/latex/lni/README.md index 31fbf3da10f..034ef480d86 100644 --- a/Master/texmf-dist/doc/latex/lni/README.md +++ b/Master/texmf-dist/doc/latex/lni/README.md @@ -4,7 +4,7 @@ ---------------------------------------------------------------------------- lni -- A class for submissions to the ``Lecture Notes in Informatics'' (c) 2016-2024 Gesellschaft für Informatik (GI) -Version: 1.8.1 +Version: 1.9 Maintainer: Martin Sievers Email: martin.sievers@schoenerpublizieren.de License: Released under the LaTeX Project Public License v1.3c or later 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 411fea056ad..9a39a2d585b 100644 --- a/Master/texmf-dist/doc/latex/lni/lni-author-template.tex +++ b/Master/texmf-dist/doc/latex/lni/lni-author-template.tex @@ -19,12 +19,13 @@ \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} %% \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} + \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} + \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} + \author[3]{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 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land} + \affil[2]{University 2 \\Department\\Address\\Country} + \affil[3]{University 3\\Department\\Address\\Country} \maketitle \begin{abstract} diff --git a/Master/texmf-dist/doc/latex/lni/lni.pdf b/Master/texmf-dist/doc/latex/lni/lni.pdf Binary files differindex ae032bd25bd..c3b50c0cd12 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 20261238d4e..257f0d4bb0d 100644 --- a/Master/texmf-dist/source/latex/lni/lni.dtx +++ b/Master/texmf-dist/source/latex/lni/lni.dtx @@ -134,7 +134,7 @@ This work consists of the file lni.dtx %<class>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<class>\ProvidesClass{lni} %<*class> - [2024/01/08 v1.8.1 Official class for submissions to the ``Lecture Notes + [2024/07/01 v1.9 Official class for submissions to the ``Lecture Notes in Informatics''] %</class> %<*driver> @@ -286,6 +286,7 @@ This work consists of the file lni.dtx % \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)} +% \changes{v1.9}{2024/07/01}{Support multiple affiliations (#158)} % % \GetFileInfo{\jobname.dtx} % \DoNotIndex{\newcommand,\newenvironment} @@ -489,12 +490,13 @@ This work consists of the file lni.dtx % \cs{affil\oarg{number}\marg{information}} where you can use % \texttt{\textbackslash\textbackslash} to split the address. % \begin{examplecode}[label={lst:author}] -% \author[1]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} +% \author[1,2]{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[3]{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} +% \affil[1]{Universität 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land} +% \affil[2]{University 2 \\Department\\Address\\Country} +% \affil[3]{University 3\\Department\\Address\\Country} % \end{examplecode} % % Leave the third and/or fourth argument empty if there is no email address and/or ORCID iD. @@ -1149,53 +1151,71 @@ This work consists of the file lni.dtx \renewcommand\Authsep{, } \renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }} \renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }} -\renewcommand{\AB@authnote}[1]{$^{\text{\mbox{\normalfont\footnotesize #1}}}$} +\NewDocumentCommand{\multiaffil}{ >{\SplitList{,}} m m m}{% + \gdef\@currEmail{#2} + \gdef\@currOrcid{#3} + \ProcessList{#1}{\@multiaffil} +} + +\newcommand{\@multiaffil}[1]{% + \ifcsundef{@emailsandorcids#1}{\csgdef{@emailsandorcids#1}{}}{}% + \ifcsempty{@emailsandorcids#1}% + {\csgappto{@emailsandorcids#1}{% + \if\relax\@currEmail\relax\else\email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}% + {\csgappto{@emailsandorcids#1}{% + \if\relax\@currEmail\relax\else;\ \email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}% +} + \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 + \@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}% + \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 + \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}% + \sbox\z@{\@tempcnta=0#1\relax}% + \expandafter\ifdim\wd\z@>\z@\relax + \multiaffil{#1}{#3}{#4} + \else + \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}% \ifcsempty{@emailsandorcids\AB@note}% {\csgappto{@emailsandorcids\AB@note}{% - \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}% - }% + \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}}% - + \fi% \newaffilfalse } \renewcommand\@author{% @@ -3071,12 +3091,13 @@ EXECUTE {end.bib} \title[Ein Kurztitel]{Ein sehr langer Titel über mehrere Zeilen mit sehr vielen Worten und noch mehr Buchstaben} %% \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} + \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1@affiliation1.org}{0000-0000-0000-0000} + \author[2]{Firstname2 Lastname2}{firstname2.lastname2@affiliation2.org}{0000-0000-0000-0000} + \author[3]{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 1\\Abteilung\\Straße\\Postleitzahl Ort\\Land} + \affil[2]{University 2 \\Department\\Address\\Country} + \affil[3]{University 3\\Department\\Address\\Country} \maketitle \begin{abstract} diff --git a/Master/texmf-dist/tex/latex/lni/lni.cls b/Master/texmf-dist/tex/latex/lni/lni.cls index 90eed28073c..14eb413f8aa 100644 --- a/Master/texmf-dist/tex/latex/lni/lni.cls +++ b/Master/texmf-dist/tex/latex/lni/lni.cls @@ -14,7 +14,7 @@ %% --------| ----------------------------------------------------------------- \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{lni} - [2024/01/08 v1.8.1 Official class for submissions to the ``Lecture Notes + [2024/07/01 v1.9 Official class for submissions to the ``Lecture Notes in Informatics''] \RequirePackage{iftex}\ifluatex\else\pdfoutput=1\fi% \def\@clearglobaloption#1{% @@ -371,53 +371,71 @@ \renewcommand\Authsep{, } \renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }} \renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }} -\renewcommand{\AB@authnote}[1]{$^{\text{\mbox{\normalfont\footnotesize #1}}}$} +\NewDocumentCommand{\multiaffil}{ >{\SplitList{,}} m m m}{% + \gdef\@currEmail{#2} + \gdef\@currOrcid{#3} + \ProcessList{#1}{\@multiaffil} +} + +\newcommand{\@multiaffil}[1]{% + \ifcsundef{@emailsandorcids#1}{\csgdef{@emailsandorcids#1}{}}{}% + \ifcsempty{@emailsandorcids#1}% + {\csgappto{@emailsandorcids#1}{% + \if\relax\@currEmail\relax\else\email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}% + {\csgappto{@emailsandorcids#1}{% + \if\relax\@currEmail\relax\else;\ \email{\@currEmail}\fi\if\relax\@currOrcid\relax\else,\ \orcid{\@currOrcid}\fi}}% +} + \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 + \@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}% + \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 + \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}% + \sbox\z@{\@tempcnta=0#1\relax}% + \expandafter\ifdim\wd\z@>\z@\relax + \multiaffil{#1}{#3}{#4} + \else + \ifcsundef{@emailsandorcids\AB@note}{\csgdef{@emailsandorcids\AB@note}{}}{}% \ifcsempty{@emailsandorcids\AB@note}% {\csgappto{@emailsandorcids\AB@note}{% - \if\relax#3\relax\else\email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}% - }% + \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}}% - + \fi% \newaffilfalse } \renewcommand\@author{% |