summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-imp-cite.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/publ-imp-cite.mkvi')
-rw-r--r--tex/context/base/publ-imp-cite.mkvi249
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