% TODO: MAKE default %D \module %D [ file=publ-imp-author, %D version=2014.06.23, %D title=\CONTEXT\ Publication Support, %D subtitle=Authors, %D author=Hans Hagen, %D date=\currentdate, %D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}] %C %C This module is part of the \CONTEXT\ macro||package and is %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. \unprotect % these can be used instead of the macros and they accept manipulator prefixes % % \currentbtxinitials : \btxauthorfield{initials} % \currentbtxfirstnames : \btxauthorfield{firstnames} % \currentbtxvons : \btxauthorfield{vons} % \currentbtxsurnames : \btxauthorfield{surnames} % \currentbtxjuniors : \btxauthorfield{juniors} \starttexdefinition mutable protected \s!btx:\s!cite:\s!author:\s!de \ifx\currentbtxlanguage\s!de \setmode{\s!btx:\s!de} \fi \stoptexdefinition \startsetups \s!btx:\s!cite:\s!author:concat \ifcase\currentbtxoverflow \btxparameter{\c!separator:names:\number\currentbtxconcat} \else\ifnum\currentbtxauthorindex>\plusone \btxparameter{\c!separator:names:2} \fi\fi \stopsetups \startsetups \s!btx:\s!cite:\s!author:others \ifcase\currentbtxoverflow \else \btxparameter\c!otherstext \fi \stopsetups \startsetups \s!btx:\s!cite:\s!author:normal \fastsetup{\s!btx:\s!cite:\s!author:concat} \ifx\currentbtxfirstnames\empty \else \currentbtxfirstnames \btxparameter{\c!separator:firstnames} \fi \ifx\currentbtxvons\empty \else \currentbtxvons \ifx\currentbtxsurnames\empty \else \btxparameter{\c!separator:vons} \fi \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \fastsetup{\s!btx:\s!cite:\s!author:others} \stopsetups \startsetups \s!btx:\s!cite:\s!author:normalshort \fastsetup{\s!btx:\s!cite:\s!author:concat} \ifx\currentbtxinitials\empty \else \currentbtxinitials \btxparameter{\c!separator:initials} \fi \ifx\currentbtxvons\empty \else \currentbtxvons \ifx\currentbtxsurnames\empty \else \btxparameter{\c!separator:vons} \fi \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \fastsetup{\s!btx:\s!cite:\s!author:others} \stopsetups \startsetups \s!btx:\s!cite:\s!author:inverted \fastsetup{\s!btx:\s!cite:\s!author:concat} \ifx\currentbtxvons\empty \else \texdefinition{\s!btx:\s!cite:\s!author:\s!de} \doifmode {\s!btx:\s!de} { \currentbtxvons \btxparameter{\c!separator:vons} } \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \ifx\currentbtxfirstnames\empty % firstnames are optional \else \btxparameter{\c!separator:invertedfirstnames} \currentbtxfirstnames \fi \ifx\currentbtxvons\empty \else \doifnotmode {\s!btx:\s!de} { \btxparameter{\c!separator:vons} \currentbtxvons } \fi \fastsetup{\s!btx:\s!cite:\s!author:others} \stopsetups \startsetups \s!btx:\s!cite:\s!author:invertedfirst \ifnum\currentbtxauthorindex>\plusone \fastsetup{\s!btx:\s!cite:\s!author:normal} \else \fastsetup{\s!btx:\s!cite:\s!author:inverted} \fi \stopsetups \startsetups \s!btx:\s!cite:\s!author:invertedshort \fastsetup{\s!btx:\s!cite:\s!author:concat} \ifx\currentbtxvons\empty \else \texdefinition{\s!btx:\s!cite:\s!author:\s!de} \doifnotmode {\s!btx:\s!de} { \currentbtxvons \btxparameter{\c!separator:vons} } \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \ifx\currentbtxinitials\empty % initials are optional \else \btxparameter{\c!separator:invertedinitials} \currentbtxinitials \fi \ifx\currentbtxvons\empty \else \doifmode {\s!btx:\s!de} { \btxparameter{\c!separator:vons} \currentbtxvons } \fi \fastsetup{\s!btx:\s!cite:\s!author:others} \stopsetups \startsetups \s!btx:\s!cite:\s!author:name \fastsetup{\s!btx:\s!cite:\s!author:concat} % is this treated differently in german? \ifx\currentbtxvons\empty \else \currentbtxvons \btxparameter{\c!separator:vons} \fi \currentbtxsurnames \ifcase\currentbtxauthorstate \else % potential clash of names so we force initials \ifx\currentbtxinitials\empty \else \btxparameter{\c!separator:invertedinitials} \currentbtxinitials \fi \fi \fastsetup{\s!btx:\s!cite:\s!author:others} \stopsetups % list (mostly the same) \startsetups \s!btx:\s!list:\s!author:concat \ifcase\currentbtxoverflow \btxparameter{\c!separator:names:\number\currentbtxconcat} \else\ifnum\currentbtxauthorindex>\plusone \btxparameter{\c!separator:names:2} \fi\fi \stopsetups \startsetups \s!btx:\s!list:\s!author:others \ifcase\currentbtxoverflow \else \btxparameter\c!otherstext \fi \stopsetups \startsetups \s!btx:\s!list:\s!author:normal \fastsetup{\s!btx:\s!list:\s!author:concat} \ifx\currentbtxfirstnames\empty \else \currentbtxfirstnames \btxparameter{\c!separator:firstnames} \fi \ifx\currentbtxvons\empty \else \currentbtxvons \ifx\currentbtxsurnames\empty \else \btxparameter{\c!separator:vons} \fi \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \fastsetup{\s!btx:\s!list:\s!author:others} \stopsetups \startsetups \s!btx:\s!list:\s!author:normalshort \fastsetup{\s!btx:\s!list:\s!author:concat} \ifx\currentbtxinitials\empty \else \currentbtxinitials \btxparameter{\c!separator:initials} \fi \ifx\currentbtxvons\empty \else \currentbtxvons \ifx\currentbtxsurnames\empty \else \btxparameter{\c!separator:vons} \fi \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \fastsetup{\s!btx:\s!list:\s!author:others} \stopsetups \startsetups \s!btx:\s!list:\s!author:inverted \fastsetup{\s!btx:\s!list:\s!author:concat} \ifx\currentbtxvons\empty \else \texdefinition{\s!btx:\s!cite:\s!author:\s!de} \doifnotmode {\s!btx:\s!de} { \currentbtxvons \btxparameter{\c!separator:vons} } \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \ifx\currentbtxfirstnames\empty % firstnames are optional \else \btxparameter{\c!separator:invertedfirstnames} \currentbtxfirstnames \fi \ifx\currentbtxvons\empty \else \doifmode {\s!btx:\s!de} { \btxparameter{\c!separator:vons} \currentbtxvons } \fi \fastsetup{\s!btx:\s!list:\s!author:others} \stopsetups \startsetups \s!btx:\s!list:\s!author:invertedfirst \ifnum\currentbtxauthorindex>\plusone \fastsetup{\s!btx:\s!list:\s!author:normal} \else \fastsetup{\s!btx:\s!list:\s!author:inverted} \fi \stopsetups \startsetups \s!btx:\s!list:\s!author:invertedshort \fastsetup{\s!btx:\s!list:\s!author:concat} \ifx\currentbtxvons\empty \else \texdefinition{\s!btx:\s!cite:\s!author:\s!de} \doifnotmode {\s!btx:\s!de} { \currentbtxvons \btxparameter{\c!separator:vons} } \fi \ifx\currentbtxsurnames\empty \else \currentbtxsurnames \ifx\currentbtxjuniors\empty \else \btxparameter{\c!separator:juniors} \currentbtxjuniors \fi \fi \ifx\currentbtxinitials\empty % initials are optional \else \btxparameter{\c!separator:invertedinitials} \currentbtxinitials \fi \ifx\currentbtxvons\empty \else \doifmode {\s!btx:\s!de} { \btxparameter{\c!separator:vons} \currentbtxvons } \fi \fastsetup{\s!btx:\s!list:\s!author:others} \stopsetups \startsetups \s!btx:\s!list:\s!author:name \fastsetup{\s!btx:\s!list:\s!author:concat} % is this treated differently in german? \ifx\currentbtxvons\empty \else \currentbtxvons \btxparameter{\c!separator:vons} \fi \currentbtxsurnames \fastsetup{\s!btx:\s!list:\s!author:others} \stopsetups \protect