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.mkiv54
1 files changed, 42 insertions, 12 deletions
diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv
index 0ef8f39cc..c2823d45b 100644
--- a/tex/context/base/publ-ini.mkiv
+++ b/tex/context/base/publ-ini.mkiv
@@ -62,6 +62,8 @@
\def\s!btxref {btxref}
\def\s!btxint {btxint}
\def\s!btxbck {btxbck}
+\def\s!btxltx {btxltx}
+\def\s!btxrtx {btxrtx}
\definelabelclass[btxlabel][2]
@@ -356,6 +358,8 @@
\let\currentbtxsecond \empty \unexpanded\def\btxsetsecond {\def\currentbtxsecond}
\let\currentbtxthird \empty \unexpanded\def\btxsetthird {\def\currentbtxthird}
\let\currentbtxinternal \empty \unexpanded\def\btxsetinternal {\def\currentbtxinternal}
+\let\currentbtxlefttext \empty \unexpanded\def\btxsetlefttext {\def\currentbtxlefttext}
+\let\currentbtxrighttext \empty \unexpanded\def\btxsetrighttext {\def\currentbtxrighttext}
\let\currentbtxlanguage \empty \unexpanded\def\btxsetlanguage {\def\currentbtxlanguage}
\let\currentbtxtag \empty \unexpanded\def\btxsettag {\def\currentbtxtag}
\let\currentbtxnumber \empty \unexpanded\def\btxsetnumber {\def\currentbtxnumber}
@@ -397,6 +401,8 @@
{\let\currentbtxcombis \empty
\let\currentbtxcategory \empty
\let\currentbtxinternal \empty
+ \let\currentbtxlefttext \empty
+ \let\currentbtxrighttext\empty
\let\currentbtxbacklink \empty
\let\currentbtxbacktrace\empty
\let\currentbtxlanguage \empty
@@ -492,12 +498,14 @@
\endgroup}
\def\btx_entry_inject_yes
- {\fastsetup\currentbtxsetup
+ {\fastsetup{\s!btx:\currentbtxalternative:lefttext}%
+ \fastsetup\currentbtxsetup
\removeunwantedspaces
\ifx\currentbtxcombis\empty \else
\btxrenderingparameter\c!separator
\processcommacommand[\currentbtxcombis]\btx_entry_inject_combi
- \fi}
+ \fi
+ \fastsetup{\s!btx:\currentbtxalternative:righttext}}%
\def\btx_entry_inject_nop
{\tttf \getmessage\m!publications{12}{\currentbtxsetup}}
@@ -667,7 +675,9 @@
{\btx_trace_list_cross\empty\currentbtxbacktrace
\global\advance\c_btx_list_reference\plusone
\strc_references_direct_full_user
- {\s!btxset="\currentbtxdataset",\s!btxref="\currentbtxtag",\ifx\currentbtxbacklink\currentbtxbacktrace\s!btxint="\currentbtxbacklink"\else\s!btxbck="\currentbtxbacktrace"\fi}%
+ {\s!btxset="\currentbtxdataset",%
+ \s!btxref="\currentbtxtag",%
+ \ifx\currentbtxbacklink\currentbtxbacktrace\s!btxint="\currentbtxbacklink"\else\s!btxbck="\currentbtxbacktrace"\fi}%
{\s!btx::\v!list::\number\c_btx_list_reference}%
{\currentbtxnumber}}
@@ -675,13 +685,22 @@
{\dontleavehmode
\iftrialtypesetting \else
\ifx\currentbtxbacklink\empty
- % can be made empty when combining author / year
+ % can be made empty when combining author / year
\else
- \btx_trace_list_cross\currentbtxbacklink\empty
- \normalexpanded{\writedatatolist[\s!btx][\s!btxset=\currentbtxdataset,\s!btxref=\currentbtxtag,\s!btxint=\number\currentbtxbacklink]}% % \c!location=\v!here
+ \btx_cite_reference_inject_indeed
\fi
\fi}
+\def\btx_cite_reference_inject_indeed
+ {\btx_trace_list_cross\currentbtxbacklink\empty
+ \normalexpanded{\writedatatolist%
+ [\s!btx]%
+ [\s!btxset=\currentbtxdataset,%
+ \s!btxref=\currentbtxtag,%
+ \ifx\p_publ_cite_lefttext \empty\else\s!btxltx={\p_publ_cite_lefttext },\fi%
+ \ifx\p_publ_cite_righttext\empty\else\s!btxrtx={\p_publ_cite_righttext},\fi%
+ \s!btxint=\number\currentbtxbacklink]}}% % \c!location=\v!here
+
\let\btxcitereference\btx_cite_reference_inject
\let\currentbtxnumbering\empty
@@ -853,6 +872,13 @@
% [base::tags]
% [settings|variant][base::tags]
+% these need to be sort of protected:
+
+\let\p_publ_cite_before \empty
+\let\p_publ_cite_after \empty
+\let\p_publ_cite_lefttext \empty
+\let\p_publ_cite_righttext\empty
+
\unexpanded\def\btxcite
{\dontleavehmode
\begingroup
@@ -882,6 +908,8 @@
\letdummyparameter\c!after \empty
\letdummyparameter\c!extras \empty
\letdummyparameter\c!alternative\empty
+ \letdummyparameter\c!lefttext \empty
+ \letdummyparameter\c!righttext \empty
\getdummyparameters[#1]%
\edef\p_alternative{\dummyparameter\c!alternative}%
\ifx\p_alternative\empty
@@ -897,17 +925,19 @@
\setexpandedbtxcitevariantparameter\p_right{\p_extras\p_right}%
\fi
\fi
- \edef\p_before{\dummyparameter\c!before}%
- \edef\p_after {\dummyparameter\c!after}%
+ \edef\p_publ_cite_before {\dummyparameter\c!before}%
+ \edef\p_publ_cite_after {\dummyparameter\c!after}%
+ \edef\p_publ_cite_lefttext {\dummyparameter\c!lefttext}%
+ \edef\p_publ_cite_righttext{\dummyparameter\c!righttext}%
\the\everysetupbtxciteplacement
- \ifx\p_before\empty \else
- \p_before
+ \ifx\p_publ_cite_before\empty \else
+ \p_publ_cite_before
\space
\fi
\publ_cite_variant
- \ifx\p_after\empty \else
+ \ifx\p_publ_cite_after\empty \else
\optionalspace
- \p_after
+ \p_publ_cite_after
\fi
\endgroup}