diff options
Diffstat (limited to 'tex/context/base/publ-imp-cite.mkvi')
-rw-r--r-- | tex/context/base/publ-imp-cite.mkvi | 249 |
1 files changed, 249 insertions, 0 deletions
diff --git a/tex/context/base/publ-imp-cite.mkvi b/tex/context/base/publ-imp-cite.mkvi new file mode 100644 index 000000000..20f9e24f8 --- /dev/null +++ b/tex/context/base/publ-imp-cite.mkvi @@ -0,0 +1,249 @@ +%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 |