From f47e3c5290244f2047d952b91749e3fc804cae55 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Sat, 6 Sep 2014 13:38:00 +0200 Subject: beta 2014.09.06 13:38 --- tex/context/base/publ-ini.mkiv | 82 +++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 32 deletions(-) (limited to 'tex/context/base/publ-ini.mkiv') diff --git a/tex/context/base/publ-ini.mkiv b/tex/context/base/publ-ini.mkiv index 6e680e790..46fe46543 100644 --- a/tex/context/base/publ-ini.mkiv +++ b/tex/context/base/publ-ini.mkiv @@ -318,6 +318,11 @@ % \let\btxsetdataset\setbtxdataset % \let\btxsetentry \setbtxentry +% todo: no need for the currents as we can keep them at the lua end so we will haqve +% +% \btxfield : current +% \btxspecificfield : dataset,tag,key + \def\btxfield #1{\ctxcommand{btxfield("\currentbtxdataset","\currentbtxtag","#1")}} \def\btxdetail #1{\ctxcommand{btxdetail("\currentbtxdataset","\currentbtxtag","#1")}} \def\btxauthorfield#1{\ctxcommand{btxauthorfield(\number\currentbtxauthorindex,"#1")}} @@ -326,7 +331,6 @@ \def\btxdoif #1{\ctxcommand{btxdoif("\currentbtxdataset","\currentbtxtag","#1")}} \def\btxdoifnot #1{\ctxcommand{btxdoifnot("\currentbtxdataset","\currentbtxtag","#1")}} - \let\btxsetup\fastsetup %D How complex will we go? Can we assume that e.g. an apa style will not be mixed @@ -509,7 +513,7 @@ \fi \ifx\currentbtxrighttext\empty\else \fastsetup{\s!btx:\currentbtxalternative:righttext}% - \fi}% + \fi} \def\btx_entry_inject_nop {\tttf \getmessage\m!publications{12}{\currentbtxsetup}} @@ -697,13 +701,17 @@ \def\btx_cite_reference_inject_indeed {\btx_trace_list_cross\currentbtxbacklink\empty - \normalexpanded{\writedatatolist% + \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 + \s!btxint=\number\currentbtxbacklink + \ifx\currentbtxciteuservariables\empty\else,\currentbtxciteuservariables\fi]}} + +\def\currentbtxuservariable #1{\ctxcommand{btxuservariable("\currentbtxdataset","#1")}} +\def\btxdoifelseuservariable#1{\ctxcommand{btxdoifelseuservariable("\currentbtxdataset","#1")}} \let\btxcitereference\btx_cite_reference_inject @@ -878,8 +886,8 @@ % these need to be sort of protected: -\let\p_publ_cite_before \empty -\let\p_publ_cite_after \empty +%let\p_publ_cite_before \empty +%let\p_publ_cite_after \empty \let\p_publ_cite_lefttext \empty \let\p_publ_cite_righttext\empty @@ -898,23 +906,32 @@ \let\publ_citation_tags_indeed\publ_cite_tags_indeed +\let\currentbtxciteuservariables\empty + \unexpanded\def\publ_cite_tags_options[#1]% {\strictdoifnextoptionalelse{\publ_cite_tags_options_indeed{#1}}{\publ_cite_tags_indeed{#1}}} -\unexpanded\def\publ_cite_tags_options_indeed#1[#2]% - {\edef\currentbtxcitetag{#2}% - \doifassignmentelse{#1}\publ_cite_tags_settings_indeed\publ_cite_tags_variants_indeed{#1}} +\unexpanded\def\publ_cite_tags_options_indeed#1% + {\doifassignmentelse{#1}\publ_cite_tags_settings_indeed\publ_cite_tags_variants_indeed{#1}} -\def\publ_cite_tags_settings_indeed#1% +\def\publ_cite_tags_settings_indeed#1[#2]% {\letinteractionparameter\c!style\empty %\letinteractionparameter\c!color\empty - \letdummyparameter\c!before \empty - \letdummyparameter\c!after \empty + \letdummyparameter\c!reference \empty \letdummyparameter\c!extras \empty \letdummyparameter\c!alternative\empty + %letdummyparameter\c!before \empty + %letdummyparameter\c!after \empty \letdummyparameter\c!lefttext \empty \letdummyparameter\c!righttext \empty \getdummyparameters[#1]% + \edef\p_reference{\dummyparameter\c!reference}% + \ifx\p_reference\empty + \edef\currentbtxcitetag{#2}% + \else + \let\currentbtxcitetag\p_reference + \edef\currentbtxciteuservariables{#2}% + \fi \edef\p_alternative{\dummyparameter\c!alternative}% \ifx\p_alternative\empty \edef\currentbtxcitevariant{\btxcitevariantparameter\c!alternative}% @@ -929,25 +946,26 @@ \setexpandedbtxcitevariantparameter\p_right{\p_extras\p_right}% \fi \fi - \edef\p_publ_cite_before {\dummyparameter\c!before}% - \edef\p_publ_cite_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_publ_cite_before\empty \else - \p_publ_cite_before - \space - \fi + %ifx\p_publ_cite_before\empty \else + % \p_publ_cite_before + % \space + %fi \publ_cite_variant - \ifx\p_publ_cite_after\empty \else - \optionalspace - \p_publ_cite_after - \fi + %ifx\p_publ_cite_after\empty \else + % \optionalspace + % \p_publ_cite_after + %fi \endgroup} -\def\publ_cite_tags_variants_indeed#1% +\def\publ_cite_tags_variants_indeed#1[#2]% {\letinteractionparameter\c!style\empty \edef\currentbtxcitevariant{#1}% + \edef\currentbtxcitetag{#2}% \the\everysetupbtxciteplacement \publ_cite_variant \endgroup} @@ -1125,11 +1143,11 @@ % \c!setups=btx:cite:initialize, \c!alternative=num, \c!authorconversion=\v!normal, - \c!andtext={ \btxlabeltext{and} }, - \c!otherstext={ \btxlabeltext{others}}, + \c!andtext={ \btxlabeltext{\currentbtxalternative:and} }, + \c!otherstext={ \btxlabeltext{\currentbtxalternative:others}}, \c!pubsep={, }, - \c!lastpubsep={ \btxlabeltext{and} }, - \c!finalpubsep={ \btxlabeltext{and} }, + \c!lastpubsep={ \btxlabeltext{\currentbtxalternative:and} }, + \c!finalpubsep={ \btxlabeltext{\currentbtxalternative:and} }, \c!compress=\v!no, \c!inbetween={ }, \c!range=\endash, @@ -1256,9 +1274,10 @@ \setupbtxlistvariant [\c!namesep={, }, - \c!lastnamesep={ \btxlabeltext{and} }, - \c!finalnamesep={ \btxlabeltext{and} }, + \c!lastnamesep={ \btxlabeltext{\currentbtxalternative:and} }, + \c!finalnamesep={ \btxlabeltext{\currentbtxalternative:and} }, \c!firstnamesep={ }, + \c!otherstext={ \btxlabeltext{\currentbtxalternative:others}}, \c!juniorsep={ }, \c!vonsep={ }, \c!initialsep={ }, @@ -1266,8 +1285,7 @@ \c!surnameinitialsep={, }, \c!surnamefirstnamesep={, }, \c!etallimit=5, - \c!etaldisplay=5, - \c!etaltext={ \btxlabeltext{others}}, + \c!etaldisplay=\btxlistvariantparameter\c!etallimit, %c!journalconversion=\v!normal, \c!monthconversion=\v!number, \c!authorconversion=\v!normal] @@ -1299,7 +1317,7 @@ \c!surnamefirstnamesep=\btxlistvariantparameter\c!surnamefirstnamesep, \c!etallimit=\btxlistvariantparameter\c!etallimit, \c!etaldisplay=\btxlistvariantparameter\c!etaldisplay, - \c!etaltext=\btxlistvariantparameter\c!etaltext, + \c!otherstext=\btxlistvariantparameter\c!otherstext, \c!monthconversion=\btxlistvariantparameter\c!monthconversion, \c!authorconversion=\v!name] -- cgit v1.2.3