%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 \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} \tttf <\currentbtxcitevariant:\currentbtxtag> \endgroup \stopsetups \startsetups \s!btx:\s!cite:common:normal \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:\s!unknown} \else\ifx\currentbtxsecond\empty \btxcitereference \currentbtxfirst \else \btxcitereference \currentbtxfirst \btxcitevariantparameter\v!inbetween \currentbtxsecond \fi\fi \stopsetups \startsetups \s!btx:\s!cite:common:range \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:\s!unknown} \else\ifx\currentbtxsecond\empty \btxcitereference \currentbtxfirst \else \btxcitereference \currentbtxfirst \btxcitevariantparameter\c!range \currentbtxsecond \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 \directsetup{\s!btx:\s!cite:concat} \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:\s!unknown} \else \texdefinition {btx:cite:inject} { \btxcitereference \currentbtxfirst \ifx\currentbtxsecond\empty \else \btxcitevariantparameter\v!inbetween \currentbtxsecond \fi } \fi \stopsetups \startsetups \s!btx:\s!cite:render:range \directsetup{\s!btx:\s!cite:concat} \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:missing} \else \texdefinition {btx:cite:inject} { \btxcitereference \currentbtxfirst \ifx\currentbtxsecond\empty \else \btxcitevariantparameter\c!range \currentbtxsecond \fi } \fi \stopsetups \startsetups \s!btx:\s!cite:render:variant \directsetup{\s!btx:\s!cite:concat} \texdefinition {btx:cite:inject} { \directsetup{\s!btx:\s!cite:render:\currentbtxcitevariant} } \stopsetups % author lists: can be less \startsetups \s!btx:\s!cite:common:author \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:\s!unknown} \else\ifx\currentbtxcitevariant\v!normal \btxcitereference \currentbtxfirst \else \btxcitereference \currentbtxciteauthor \fi\fi \ifx\currentbtxsecond\empty \else \btxcitevariantparameter\v!inbetween \currentbtxsecond \fi \stopsetups \startsetups \s!btx:\s!cite:render:author \directsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:render:authoryear \directsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:render:authoryears \directsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:render:authornum \directsetup{\s!btx:\s!cite:common:author} \stopsetups \startsetups \s!btx:\s!cite:author:num \directsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:author:year \directsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:author:years \directsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:author \texdefinition{btx:cite:checkconcat} \directsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:authoryear \texdefinition{btx:cite:checkconcat} \directsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:authoryears \texdefinition{btx:cite:checkconcat} \directsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:authornum \texdefinition{btx:cite:checkconcat} \directsetup{\s!btx:\s!cite:render:variant} \stopsetups \startsetups \s!btx:\s!cite:year \directsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:short \directsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:serial \directsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:tag \directsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:key \directsetup{\s!btx:\s!cite:render:normal} \stopsetups %startsetups \s!btx:\s!cite:doi % \directsetup{\s!btx:\s!cite:render:normal} %stopsetups %startsetups \s!btx:\s!cite:url % \directsetup{\s!btx:\s!cite:render:normal} %stopsetups \startsetups \s!btx:\s!cite:category \directsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:type \directsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:num \directsetup{\s!btx:\s!cite:render:range} \stopsetups \startsetups \s!btx:\s!cite:page \directsetup{\s!btx:\s!cite:render:normal} \stopsetups \startsetups \s!btx:\s!cite:render:doi \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:\s!unknown} \else \btxcitereference \hyphenatedurl{\currentbtxfirst} \fi \stopsetups \startsetups \s!btx:\s!cite:url \ifx\currentbtxfirst\empty \directsetup{\s!btx:\s!cite:\s!unknown} \else\ifconditional\btxinteractive \goto { \btxcitereference \hyphenatedurl{\currentbtxfirst} } { url(\currentbtxfirst) } \else \btxcitereference \hyphenatedurl{\currentbtxfirst} \fi\fi \stopsetups \protect