summaryrefslogtreecommitdiff
path: root/tex/context/base/publ-ini.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/publ-ini.mkiv')
-rw-r--r--tex/context/base/publ-ini.mkiv91
1 files changed, 72 insertions, 19 deletions
diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv
index 45cc7325a..ab20d2fd9 100644
--- a/tex/context/base/publ-ini.mkiv
+++ b/tex/context/base/publ-ini.mkiv
@@ -45,6 +45,8 @@
\unprotect
+\startcontextdefinitioncode
+
\def\s!btx {btx}
\def\s!cite {cite}
\def\v!btxlist{btxlist}
@@ -720,12 +722,18 @@
\def\publ_cite_tags_settings_indeed#1%
{\letinteractionparameter\c!style\empty
%\letinteractionparameter\c!color\empty
- \getdummyparameters[\c!alternative=,\c!extras=,#1]%
+ \letdummyparameter\c!before \empty
+ \letdummyparameter\c!after \empty
+ \letdummyparameter\c!extras \empty
+ \letdummyparameter\c!alternative\empty
+ \getdummyparameters[#1]%
\edef\p_alternative{\dummyparameter\c!alternative}%
- \ifx\p_alternative\empty \else
+ \ifx\p_alternative\empty
+ \edef\currentbtxcitevariant{\btxcitevariantparameter\c!alternative}%
+ \else
\let\currentbtxcitevariant\p_alternative
\fi
- \setupcurrentbtxcitevariantparameters[#1]%
+ \setupcurrentbtxcitevariant[#1]%
\edef\p_extras{\dummyparameter\c!extras}%
\ifx\p_extras\empty \else
\edef\p_right{\btxcitevariantparameter\c!right}%
@@ -733,7 +741,17 @@
\setexpandedbtxcitevariantparameter\p_right{\p_extras\p_right}%
\fi
\fi
+ \edef\p_before{\dummyparameter\c!before}%
+ \edef\p_after {\dummyparameter\c!after}%
+ \ifx\p_before\empty \else
+ \p_before
+ \space
+ \fi
\publ_cite_variant
+ \ifx\p_after\empty \else
+ \optionalspace
+ \p_after
+ \fi
\endgroup}
\def\publ_cite_tags_variants_indeed#1%
@@ -761,14 +779,22 @@
\letbtxcitevariantparameter\c!alternative\currentbtxcitevariant
\btxcitevariantparameter\v!left
\edef\p_compress{\btxcitevariantparameter\c!compress}%
- \ctxcommand{btxhandlecite(%
- "\currentbtxdataset",%
- "#1",%
- \iftrialtypesetting false\else true\fi,%
- "\currentbtxcitevariant",%
- "\btxcitevariantparameter\c!sorttype",%
- \ifx\p_compress\v!no false\else true\fi%
- )}%
+% \ctxcommand{btxhandlecite(%
+% "\currentbtxdataset",%
+% "#1",%
+% \iftrialtypesetting false\else true\fi,%
+% "\currentbtxcitevariant",%
+% "\btxcitevariantparameter\c!sorttype",%
+% \ifx\p_compress\v!yes true\else false\fi%
+% )}%
+ \ctxcommand{btxhandlecite{%
+ dataset = "\currentbtxdataset",%
+ reference = "#1",%
+ markentry = \iftrialtypesetting false\else true\fi,%
+ variant = "\currentbtxcitevariant",%
+ sorttype = "\btxcitevariantparameter\c!sorttype",%
+ compress = \ifx\p_compress\v!yes true\else false\fi,%
+ }}%
\btxcitevariantparameter\v!right
\endgroup}
@@ -830,6 +856,16 @@
\unexpanded\def\btxsetreference#1#2% #3#4%
{\strc_references_direct_full_user{btxset="#1",btxref="#2"}}
+\unexpanded\def\btxstartsubcite#1%
+ {\bgroup
+ \btxcitereset
+ \def\currentbtxcitevariant{#1}%
+ \btxcitevariantparameter\c!left}
+
+\unexpanded\def\btxstopsubcite
+ {\btxcitevariantparameter\c!right
+ \egroup}
+
%D List helpers:
\def\currentbtxindex{0}
@@ -855,6 +891,8 @@
\loadbtxdefinitionfile[\btxrenderingparameter\c!alternative]
\to \everysetupbtxrendering
+\stopcontextdefinitioncode
+
%D Defaults:
\setupbtxrendering
@@ -884,6 +922,7 @@
\c!finalpubsep={ and },
\c!compress=\v!no,
\c!inbetween={ },
+ \c!range=\endash,
\c!left=,
\c!middle=,
\c!right=]
@@ -896,6 +935,11 @@
\c!right={)}]
\definebtxcitevariant
+ [authornum]
+ [author]
+ [\c!inbetween={ }]
+
+\definebtxcitevariant
[authoryear]
[\c!compress=\v!yes,
\c!inbetween={, },
@@ -908,16 +952,27 @@
[authoryear]
\definebtxcitevariant
+ [author:num]
[authornum]
- [author]
- [num:\c!left={[},
- num:\c!right={]},
- num:\c!middle={, }]
+ [\c!left={[},
+ \c!right={]}]
+
+\definebtxcitevariant
+ [author:year]
+ [authoryear]
+ [\c!left={(},
+ \c!right={)}]
+
+\definebtxcitevariant
+ [author:years]
+ [authoryears]
+ [\c!left=,
+ \c!right=]
\definebtxcitevariant
[year]
[\c!left={(},
- \c!middle={, },
+ \c!middle={, }, % is middle used?
\c!right={)}]
\definebtxcitevariant
@@ -974,13 +1029,11 @@
[page]
[\c!left=,
\c!middle={, },
- \c!right=,
- \c!inbetween=\endash]
+ \c!right=]
\definebtxcitevariant
[num]
[\c!compress=\v!yes,
- \c!inbetween={--},
\c!left={[},
\c!middle={, },
\c!right={]}]