texlive[71687] Master/texmf-dist: lni (2jul24)
commits+karl at tug.org
commits+karl at tug.org
Tue Jul 2 22:04:32 CEST 2024
Revision: 71687
https://tug.org/svn/texlive?view=revision&revision=71687
Author: karl
Date: 2024-07-02 22:04:32 +0200 (Tue, 02 Jul 2024)
Log Message:
-----------
lni (2jul24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/lni/CHANGELOG.md
trunk/Master/texmf-dist/doc/latex/lni/README.md
trunk/Master/texmf-dist/doc/latex/lni/lni-author-template.tex
trunk/Master/texmf-dist/doc/latex/lni/lni.pdf
trunk/Master/texmf-dist/source/latex/lni/lni.dtx
trunk/Master/texmf-dist/tex/latex/lni/lni.cls
Modified: trunk/Master/texmf-dist/doc/latex/lni/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lni/CHANGELOG.md 2024-07-02 20:04:23 UTC (rev 71686)
+++ trunk/Master/texmf-dist/doc/latex/lni/CHANGELOG.md 2024-07-02 20:04:32 UTC (rev 71687)
@@ -6,6 +6,10 @@
## [Unreleased]
+## [1.9] - 2024-07-1
+### Added
+- Support for multiple affiliations
+
## [1.8.1] - 2024-01-08
### Changed
@@ -167,7 +171,8 @@
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
Modified: trunk/Master/texmf-dist/doc/latex/lni/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lni/README.md 2024-07-02 20:04:23 UTC (rev 71686)
+++ trunk/Master/texmf-dist/doc/latex/lni/README.md 2024-07-02 20:04:32 UTC (rev 71687)
@@ -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 at schoenerpublizieren.de
License: Released under the LaTeX Project Public License v1.3c or later
Modified: trunk/Master/texmf-dist/doc/latex/lni/lni-author-template.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/lni/lni-author-template.tex 2024-07-02 20:04:23 UTC (rev 71686)
+++ trunk/Master/texmf-dist/doc/latex/lni/lni-author-template.tex 2024-07-02 20:04:32 UTC (rev 71687)
@@ -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 at affiliation1.org}{0000-0000-0000-0000}
-\author[2]{Firstname2 Lastname2}{firstname2.lastname2 at affiliation2.org}{0000-0000-0000-0000}
-\author[1]{Firstname3 Lastname3}{firstname3.lastname3 at affiliation1.org}{0000-0000-0000-0000}
-\author[1]{Firstname4 Lastname4}{firstname4.lastname4 at 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 at affiliation1.org}{0000-0000-0000-0000}
+ \author[2]{Firstname2 Lastname2}{firstname2.lastname2 at affiliation2.org}{0000-0000-0000-0000}
+ \author[3]{Firstname3 Lastname3}{firstname3.lastname3 at affiliation1.org}{0000-0000-0000-0000}
+ \author[1]{Firstname4 Lastname4}{firstname4.lastname4 at 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}
Modified: trunk/Master/texmf-dist/doc/latex/lni/lni.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/lni/lni.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/lni/lni.dtx 2024-07-02 20:04:23 UTC (rev 71686)
+++ trunk/Master/texmf-dist/source/latex/lni/lni.dtx 2024-07-02 20:04:32 UTC (rev 71687)
@@ -134,7 +134,7 @@
%<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 @@
% \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 @@
% \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 at affiliation1.org}{0000-0000-0000-0000}
+% \author[1,2]{Firstname1 Lastname1}{firstname1.lastname1 at affiliation1.org}{0000-0000-0000-0000}
% \author[2]{Firstname2 Lastname2}{firstname2.lastname2 at affiliation2.org}{0000-0000-0000-0000}
-% \author[1]{Firstname3 Lastname3}{firstname3.lastname3 at affiliation1.org}{0000-0000-0000-0000}
+% \author[3]{Firstname3 Lastname3}{firstname3.lastname3 at affiliation1.org}{0000-0000-0000-0000}
% \author[1]{Firstname4 Lastname4}{firstname4.lastname4 at 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 @@
\renewcommand\Authsep{, }
\renewcommand\Authands{\iflanguage{ngerman}{ und }{, and }}
\renewcommand\Authand{\iflanguage{ngerman}{ und }{ and }}
-\renewcommand{\AB at 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 at thenote{\arabic{affil}}%
\fi%
\if\relax#1\relax\def\AB at note{\AB at thenote}\else\def\AB at note{#1}%
- \ifcsundef{@emailsandorcids\AB at note}{\csgdef{@emailsandorcids\AB at note}{}}{}%
\setcounter{Maxaffil}{0}\fi
\ifnum\value{authors}=0\def\@firstauthor{#2}\fi
\ifnum\value{authors}>1\relax
- \@namedef{@sep\number\c at authors}{\Authsep}\fi
+ \@namedef{@sep\number\c at authors}{\Authsep}\fi
\addtocounter{authors}{1}%
\begingroup
- \let\protect\@unexpandable at protect \let\and\AB at pand
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB at authors}%
- \@temptokenb=\expandafter{\AB at authors}%
- {\def\\{\protect\\[\@affilsep]\protect\Affilfont
- \protect\AB at resetsep}%
- \xdef\AB at author{\AB at blk@and#2}%
- \ifnewaffil\gdef\AB at las{}\gdef\AB at lasx{\protect\Authand}\gdef\AB at as{}%
- \xdef\AB at authors{\the\@temptokena\AB at blk@and}%
- \else
- \xdef\AB at authors{\the\@temptokena\AB at as\AB at au@str}%
- \global\let\AB at las\AB at lasx\gdef\AB at lasx{\protect\Authands}%
- \gdef\AB at as{\Authsep}%
- \fi
- \gdef\AB at au@str{#2}}%
- \@temptokena=\expandafter{\AB at authlist}%
- \@temptokenb=\expandafter{\@authlisthead}%
- \let\\=\authorcr
- \xdef\AB at authlist{\the\@temptokena
- \protect\@nameuse{@sep\number\c at authors}%
- \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB at authnote{\AB at note}}%
- \xdef\@authlisthead{\the\@temptokenb
- \protect\@nameuse{@sep\number\c at authors}%
- \protect\Authfont#2}%
+ \let\protect\@unexpandable at protect \let\and\AB at pand
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB at authors}%
+ \@temptokenb=\expandafter{\AB at authors}%
+ {\def\\{\protect\\[\@affilsep]\protect\Affilfont
+ \protect\AB at resetsep}%
+ \xdef\AB at author{\AB at blk@and#2}%
+ \ifnewaffil\gdef\AB at las{}\gdef\AB at lasx{\protect\Authand}\gdef\AB at as{}%
+ \xdef\AB at authors{\the\@temptokena\AB at blk@and}%
+ \else
+ \xdef\AB at authors{\the\@temptokena\AB at as\AB at au@str}%
+ \global\let\AB at las\AB at lasx\gdef\AB at lasx{\protect\Authands}%
+ \gdef\AB at as{\Authsep}%
+ \fi
+ \gdef\AB at au@str{#2}}%
+ \@temptokena=\expandafter{\AB at authlist}%
+ \@temptokenb=\expandafter{\@authlisthead}%
+ \let\\=\authorcr
+ \xdef\AB at authlist{\the\@temptokena
+ \protect\@nameuse{@sep\number\c at authors}%
+ \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB at authnote{\AB at note}}%
+ \xdef\@authlisthead{\the\@temptokenb
+ \protect\@nameuse{@sep\number\c at authors}%
+ \protect\Authfont#2}%
\endgroup
\ifnum\value{authors}>2\relax
\@namedef{@sep\number\c at authors}{\Authands}\fi
+ \ifcsundef{@emailsandorcids\AB at note}{\csgdef{@emailsandorcids\AB at note}{}}{}%
+ \sbox\z@{\@tempcnta=0#1\relax}%
+ \expandafter\ifdim\wd\z@>\z@\relax
+ \multiaffil{#1}{#3}{#4}
+ \else
+ \ifcsundef{@emailsandorcids\AB at note}{\csgdef{@emailsandorcids\AB at note}{}}{}%
\ifcsempty{@emailsandorcids\AB at note}%
{\csgappto{@emailsandorcids\AB at 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 at 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 @@
\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 at affiliation1.org}{0000-0000-0000-0000}
-\author[2]{Firstname2 Lastname2}{firstname2.lastname2 at affiliation2.org}{0000-0000-0000-0000}
-\author[1]{Firstname3 Lastname3}{firstname3.lastname3 at affiliation1.org}{0000-0000-0000-0000}
-\author[1]{Firstname4 Lastname4}{firstname4.lastname4 at 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 at affiliation1.org}{0000-0000-0000-0000}
+ \author[2]{Firstname2 Lastname2}{firstname2.lastname2 at affiliation2.org}{0000-0000-0000-0000}
+ \author[3]{Firstname3 Lastname3}{firstname3.lastname3 at affiliation1.org}{0000-0000-0000-0000}
+ \author[1]{Firstname4 Lastname4}{firstname4.lastname4 at 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}
Modified: trunk/Master/texmf-dist/tex/latex/lni/lni.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/lni/lni.cls 2024-07-02 20:04:23 UTC (rev 71686)
+++ trunk/Master/texmf-dist/tex/latex/lni/lni.cls 2024-07-02 20:04:32 UTC (rev 71687)
@@ -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 at 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 at thenote{\arabic{affil}}%
\fi%
\if\relax#1\relax\def\AB at note{\AB at thenote}\else\def\AB at note{#1}%
- \ifcsundef{@emailsandorcids\AB at note}{\csgdef{@emailsandorcids\AB at note}{}}{}%
\setcounter{Maxaffil}{0}\fi
\ifnum\value{authors}=0\def\@firstauthor{#2}\fi
\ifnum\value{authors}>1\relax
- \@namedef{@sep\number\c at authors}{\Authsep}\fi
+ \@namedef{@sep\number\c at authors}{\Authsep}\fi
\addtocounter{authors}{1}%
\begingroup
- \let\protect\@unexpandable at protect \let\and\AB at pand
- \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
- \@temptokena=\expandafter{\AB at authors}%
- \@temptokenb=\expandafter{\AB at authors}%
- {\def\\{\protect\\[\@affilsep]\protect\Affilfont
- \protect\AB at resetsep}%
- \xdef\AB at author{\AB at blk@and#2}%
- \ifnewaffil\gdef\AB at las{}\gdef\AB at lasx{\protect\Authand}\gdef\AB at as{}%
- \xdef\AB at authors{\the\@temptokena\AB at blk@and}%
- \else
- \xdef\AB at authors{\the\@temptokena\AB at as\AB at au@str}%
- \global\let\AB at las\AB at lasx\gdef\AB at lasx{\protect\Authands}%
- \gdef\AB at as{\Authsep}%
- \fi
- \gdef\AB at au@str{#2}}%
- \@temptokena=\expandafter{\AB at authlist}%
- \@temptokenb=\expandafter{\@authlisthead}%
- \let\\=\authorcr
- \xdef\AB at authlist{\the\@temptokena
- \protect\@nameuse{@sep\number\c at authors}%
- \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB at authnote{\AB at note}}%
- \xdef\@authlisthead{\the\@temptokenb
- \protect\@nameuse{@sep\number\c at authors}%
- \protect\Authfont#2}%
+ \let\protect\@unexpandable at protect \let\and\AB at pand
+ \def\thanks{\protect\thanks}\def\footnote{\protect\footnote}%
+ \@temptokena=\expandafter{\AB at authors}%
+ \@temptokenb=\expandafter{\AB at authors}%
+ {\def\\{\protect\\[\@affilsep]\protect\Affilfont
+ \protect\AB at resetsep}%
+ \xdef\AB at author{\AB at blk@and#2}%
+ \ifnewaffil\gdef\AB at las{}\gdef\AB at lasx{\protect\Authand}\gdef\AB at as{}%
+ \xdef\AB at authors{\the\@temptokena\AB at blk@and}%
+ \else
+ \xdef\AB at authors{\the\@temptokena\AB at as\AB at au@str}%
+ \global\let\AB at las\AB at lasx\gdef\AB at lasx{\protect\Authands}%
+ \gdef\AB at as{\Authsep}%
+ \fi
+ \gdef\AB at au@str{#2}}%
+ \@temptokena=\expandafter{\AB at authlist}%
+ \@temptokenb=\expandafter{\@authlisthead}%
+ \let\\=\authorcr
+ \xdef\AB at authlist{\the\@temptokena
+ \protect\@nameuse{@sep\number\c at authors}%
+ \protect\Authfont#2\if\relax#4\relax\else\,\orcidlink{#4}\fi\AB at authnote{\AB at note}}%
+ \xdef\@authlisthead{\the\@temptokenb
+ \protect\@nameuse{@sep\number\c at authors}%
+ \protect\Authfont#2}%
\endgroup
\ifnum\value{authors}>2\relax
\@namedef{@sep\number\c at authors}{\Authands}\fi
+ \ifcsundef{@emailsandorcids\AB at note}{\csgdef{@emailsandorcids\AB at note}{}}{}%
+ \sbox\z@{\@tempcnta=0#1\relax}%
+ \expandafter\ifdim\wd\z@>\z@\relax
+ \multiaffil{#1}{#3}{#4}
+ \else
+ \ifcsundef{@emailsandorcids\AB at note}{\csgdef{@emailsandorcids\AB at note}{}}{}%
\ifcsempty{@emailsandorcids\AB at note}%
{\csgappto{@emailsandorcids\AB at 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 at note}{%
\if\relax#3\relax\else;\ \email{#3}\fi\if\relax#4\relax\else,\ \orcid{#4}\fi}}%
-
+ \fi%
\newaffilfalse
}
\renewcommand\@author{%
More information about the tex-live-commits
mailing list.