%D \module %D [ file=publ-imp-cite, %D version=2013.12.24, %D title=\CONTEXT\ Publication Support, %D subtitle=Citations, %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 \startsetups \s!btx:\s!cite:nocite \dontleavehmode \btxcitereference \stopsetups \starttexdefinition btx:cite:inject #content \ifconditional\btxinteractive \ifx\currentbtxinternal\empty #content \else \goto { #content } [ \s!internal(\currentbtxinternal) ] \fi \else #content \fi \stoptexdefinition \starttexdefinition btx:cite:checkconcat \ifnum\currentbtxcount>\zerocount \let\currentbtxinternal\empty \let\currentbtxbacklink\empty \fi \stoptexdefinition % The null case: \startsetups \s!btx:\s!cite:none % dummy \stopsetups % This saves keying: \startsetups [\s!btx:\s!cite:\s!unknown] \begingroup \showmessage\m!publications{13}{\currentbtxcitevariant,\currentbtxtag,\currentbtxdataset} \tttf <\currentbtxcitevariant:\currentbtxtag> \endgroup \stopsetups \startsetups \s!btx:\s!cite:common:normal \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:\s!unknown} \else\ifx\currentbtxsecond\empty \btxcitereference \currentbtxfirst \ifx\currentbtxthird\empty \else \currentbtxthird \fi \else \btxcitereference \currentbtxfirst \btxcitevariantparameter\v!inbetween \currentbtxsecond \ifx\currentbtxthird\empty \else \currentbtxthird \fi \fi\fi \stopsetups \startsetups \s!btx:\s!cite:common:range \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:\s!unknown} \else\ifx\currentbtxsecond\empty \btxcitereference \currentbtxfirst \ifx\currentbtxthird\empty \else \currentbtxthird \fi \else \btxcitereference \currentbtxfirst \btxcitevariantparameter\c!range \currentbtxsecond \ifx\currentbtxthird\empty \else \currentbtxthird \fi \fi\fi \stopsetups \startsetups \s!btx:\s!cite:concat \ifcase\currentbtxconcat \or \or \btxcitevariantparameter\c!pubsep \or \btxcitevariantparameter\c!finalpubsep \or \btxcitevariantparameter\c!lastpubsep \fi \stopsetups \startsetups \s!btx:\s!cite:render:normal \fastsetup{\s!btx:\s!cite:concat} \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:\s!unknown} \else \texdefinition {btx:cite:inject} { \btxcitereference \currentbtxfirst \ifx\currentbtxsecond\empty \else \btxcitevariantparameter\v!inbetween \currentbtxsecond \fi \ifx\currentbtxthird\empty \else \currentbtxthird \fi } \fi \stopsetups \startsetups \s!btx:\s!cite:render:range \fastsetup{\s!btx:\s!cite:concat} \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:missing} \else \texdefinition {btx:cite:inject} { \btxcitereference \currentbtxfirst \ifx\currentbtxsecond\empty \else \btxcitevariantparameter\c!range \currentbtxsecond \fi \ifx\currentbtxthird\empty \else \currentbtxthird \fi } \fi \stopsetups \startsetups \s!btx:\s!cite:render:variant \fastsetup{\s!btx:\s!cite:concat} \texdefinition {btx:cite:inject} { \fastsetup{\s!btx:\s!cite:render:\currentbtxcitevariant} } \stopsetups \startsetups \s!btx:\s!cite:common:author \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:\s!unknown} \else \btxcitereference \currentbtxfirst \fi \ifx\currentbtxsecond\empty \else \relax % keeps a following space \btxcitevariantparameter\v!inbetween \currentbtxsecond \fi \ifx\currentbtxthird\empty \else \currentbtxthird \fi \stopsetups % one level will be removed \startsetups \s!btx:\s!cite:render:author \fastsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:render:authoryear \fastsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:render:authoryears \fastsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:render:authornum \fastsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:author:num \fastsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:author:year \fastsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:author:years \fastsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:author \fastsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:authoryear \fastsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:authoryears \fastsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:authornum \fastsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:year \fastsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:short \fastsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:serial \fastsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:tag \fastsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:key \fastsetup{\s!btx:\s!cite:render:normal} \stopsetups %startsetups \s!btx:\s!cite:doi % \fastsetup{\s!btx:\s!cite:render:normal} %stopsetups %startsetups \s!btx:\s!cite:url % \fastsetup{\s!btx:\s!cite:render:normal} %stopsetups \startsetups \s!btx:\s!cite:category \fastsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:type \fastsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:num \fastsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:page \fastsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:render:doi \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:\s!unknown} \else \btxcitereference \hyphenatedurl{\currentbtxfirst} \fi \stopsetups \startsetups \s!btx:\s!cite:url \ifx\currentbtxfirst\empty \fastsetup{\s!btx:\s!cite:\s!unknown} \else\ifconditional\btxinteractive \goto { \btxcitereference \hyphenatedurl{\currentbtxfirst} } [ url(\currentbtxfirst) ] \else \btxcitereference \hyphenatedurl{\currentbtxfirst} \fi\fi \stopsetups \protect