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.mkiv52
1 files changed, 42 insertions, 10 deletions
diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv
index af8be9fdc..2f25724a0 100644
--- a/tex/context/base/publ-ini.mkiv
+++ b/tex/context/base/publ-ini.mkiv
@@ -201,6 +201,8 @@
\installcorenamespace {btxrendering}
\installcorenamespace {btxcommand}
\installcorenamespace {btxnumbering}
+\installcorenamespace {btxrenderingdefinition}
+
\installcommandhandler \??btxdataset {btxdataset} \??btxdataset
\installcommandhandler \??btxlistvariant {btxlistvariant} \??btxlistvariant
@@ -341,10 +343,12 @@
\dosingleempty\btx_start_rendering}
\def\btx_start_rendering[#1]%
- {\edef\currentbtxrendering{#1}}
+ {\edef\currentbtxrendering{#1}%
+ \btxrenderingparameter\v!before}
\unexpanded\def\stopbtxrendering
- {\endgroup}
+ {\btxrenderingparameter\v!after
+ \endgroup}
\unexpanded\def\btxtodo#1%
{[#1]}
@@ -393,13 +397,22 @@
{\begingroup
\edef\currentbtxcategory{\btxfield{category}}%
\ignorespaces
- \directsetup{\s!btx:\currentbtxalternative:\currentbtxcategory}%
+ \edef\currentbtxsetup{\s!btx:\currentbtxalternative:\currentbtxcategory}%
+ \doifsetupselse\currentbtxsetup
+ \btx_entry_inject_yes
+ \btx_entry_inject_nop
+ \endgroup}
+
+\def\btx_entry_inject_yes
+ {\directsetup\currentbtxsetup
\removeunwantedspaces
\ifx\currentbtxcombis\empty \else
\btxrenderingparameter\c!separator
\processcommacommand[\currentbtxcombis]\btx_entry_inject_combi
- \fi
- \endgroup}
+ \fi}
+
+\def\btx_entry_inject_nop
+ {\tttf \getmessage\m!publications{12}{\currentbtxsetup}}
\def\btx_entry_inject_combi#1%
{\begingroup
@@ -464,9 +477,9 @@
\def\publ_place_list_indeed
{\startbtxrendering[\currentbtxrendering]%
- \directsetup{\btxrenderingparameter\c!setups}%
+ % \directsetup{\btxrenderingparameter\c!setups}% specific initializations
% \determinelistcharacteristics[\currentbtxrendering]%
- \edef\currentbtxalternative{\btxrenderingparameter\c!alternative}%
+ \btx_set_rendering_alternative
\edef\currentbtxdataset{\btxrenderingparameter\c!dataset}%
\let\currentlist\s!btx
\let\currentbtxlist\currentbtxrendering
@@ -968,6 +981,25 @@
%D Loading variants:
+\let\currentbtxrenderingdefinition\empty
+\let\currentbtxalternative \empty
+
+\unexpanded\def\startbtxrenderingdefinitions[#1]%
+ {\pushmacro\currentbtxrenderingdefinition
+ \edef\currentbtxrenderingdefinition{#1}%
+ \letvalue{\??btxrenderingdefinition\currentbtxrenderingdefinition}\currentbtxrenderingdefinition}
+
+\unexpanded\def\stopbtxrenderingdefinitions
+ {\popmacro\currentbtxrenderingdefinition}
+
+\def\btx_set_rendering_alternative
+ {\edef\currentbtxalternative{\btxrenderingparameter\c!alternative}%
+ \ifcsname\??btxrenderingdefinition\currentbtxalternative\endcsname
+ % maybe fall back on apa ?
+ \else
+ \showmessage\m!publications{14}{\currentbtxalternative}%
+ \fi}
+
\appendtoks
\loadbtxdefinitionfile[\btxrenderingparameter\c!alternative]
\to \everysetupbtxrendering
@@ -996,13 +1028,13 @@
\c!repeat=\v!no,
\c!continue=\v!no,
\c!method=\v!global,
- \c!setups=btx:rendering:\btxrenderingparameter\c!alternative,
+ % \c!setups=btx:\btxrenderingparameter\c!alternative:initialize, % not the same usage as cite !
\c!alternative=apa,
\c!sorttype=,
\c!criterium=,
\c!refcommand=authoryears, % todo
\c!numbering=\v!yes,
-% \c!autohang=\v!no,
+ % \c!autohang=\v!no, % not used
\c!width=\v!auto,
\c!separator={; },
\c!distance=1.5\emwidth]
@@ -1012,7 +1044,7 @@
\setupbtxcitevariant
[\c!interaction=\v!start,
- \c!setups=btx:cite:\btxcitevariantparameter\c!alternative,
+ % \c!setups=btx:cite:initialize,
\c!alternative=num,
\c!authorconversion=\v!normal,
\c!andtext={ \btxlabeltext{and} },