summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/bibl-bib.mkiv')
-rw-r--r--Master/texmf-dist/tex/context/base/bibl-bib.mkiv51
1 files changed, 29 insertions, 22 deletions
diff --git a/Master/texmf-dist/tex/context/base/bibl-bib.mkiv b/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
index 10abe5cb8a7..681be325f2b 100644
--- a/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
+++ b/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
@@ -118,16 +118,16 @@
\newtoks \everysetupbibtexsession
\setfalse \tracebibtexformat
-\unexpanded\def\definebibtexsession {\dosingleargument\dodefinebibtexsession}
+\unexpanded\def\definebibtexsession{\dosingleargument\dodefinebibtexsession}
\def\preparebibtexsession {\dodoubleempty \dopreparebibtexsession}
-\unexpanded\def\setupbibtexsession {\dodoubleargument\dosetupbibtexsession}
+\unexpanded\def\setupbibtexsession {\dodoubleargument\dosetupbibtexsession}
\def\dodefinebibtexsession [#1]{\edef\currentbibtexsession{#1}%
- \ctxlua{commands.definebibtexsession("#1")}%
+ \ctxcommand{definebibtexsession("#1")}%
\the\everydefinebibtexsession}
\def\dopreparebibtexsession[#1][#2]{\edef\currentbibtexsession{#1}%
- \ctxlua{commands.preparebibtexsession("#1","bibtex:#1","#2")}%
+ \ctxcommand{preparebibtexsession("#1","bibtex:#1","#2")}%
\the\everypreparebibtexsession}
\def\dosetupbibtexsession [#1][#2]{\edef\currentbibtexsession{#1}%
@@ -138,8 +138,8 @@
\def\registerbibtexentry {\dodoubleargument\doregisterbibtexentry}
\def\applytobibtexsession {\dodoubleargument\doapplytobibtexsession}
-\def\doregisterbibtexfile [#1][#2]{\ctxlua{commands.registerbibtexfile("#1","#2")}}
-\def\doregisterbibtexentry [#1][#2]{\ctxlua{commands.registerbibtexentry("#1","#2")}}
+\def\doregisterbibtexfile [#1][#2]{\ctxcommand{registerbibtexfile("#1","#2")}}
+\def\doregisterbibtexentry [#1][#2]{\ctxcommand{registerbibtexentry("#1","#2")}}
\def\doapplytobibtexsession[#1][#2]{\xmlprocessregistered{bibtex:#1}{#2}{#2}}
\unexpanded\def\bibtexcommand#1%
@@ -169,7 +169,7 @@
\def\bibxmlflush #1{\xmlcontext \currentbibxmlnode{/field[@name='#1']}}
\def\bibxmlsetup {\xmlsetup \currentbibxmlnode} % {#1}
-\def\currentbibtexformat{apa} % ho wto interface this, maybe split loading and key
+\def\currentbibtexformat{apa} % how to interface this, maybe split loading and key
\def\currentbibxmlnode {unset}
\def\currentbibxmltag {unset}
@@ -280,7 +280,6 @@
*doi*
\stopxmlsetups
-
\startxmlsetups bibtex:format:doi
% \bibdoifelse{\@@pb@biburl}{#1\expanded{\bibgotoURL{\@@pb@thekey}{\@@pb@biburl}}#2}{#3}
*url*
@@ -299,7 +298,7 @@
% lists
\def\bibtexlistprocessor
- {\ctxlua{bibtex.hacks.add(structure.lists.uservalue("\currentlist",\currentlistindex,"bibref"),\currentlistindex)}}
+ {\ctxlua{bibtex.hacks.add(structures.lists.uservalue("\currentlist",\currentlistindex,"bibref"),\currentlistindex)}}
\appendtoks
\definelist[\currentbibtexsession]%
@@ -456,17 +455,23 @@
\def\dodoloadbibtexpublicationalternative#1%
{\doonlyonce{#1}
- {\readsysfile{bxml-#1.mkiv}
+ {\startreadingfile
+ \readsysfile{bxml-#1.mkiv}
{\showmessage\m!publications{6}{bxml-#1}}
- {\showmessage\m!publications{1}{bxml-#1}}}}
+ {\showmessage\m!publications{1}{bxml-#1}}%
+ \stopreadingfile}}
\appendtoks
\doloadbibtexpublicationalternative
\to \everysetupbibtexpublications
-\appendtoks
- \doloadbibtexpublicationalternative
-\to \everyjob
+% we expect at least one invocation of the setup commands
+% because otherwise we always load the apa style even if
+% no publications are used
+%
+% \appendtoks
+% \doloadbibtexpublicationalternative
+% \to \everystarttext
% whatever, should be key
@@ -578,7 +583,7 @@
{\ifx\currentbibtexnumbering\v!short
\setbox\scratchbox\hbox{\bibtexpublicationsparameter\c!numbercommand{\bibtexpublicationsparameter\c!samplesize}}%
\else
- \setbox\scratchbox\hbox{\bibtexpublicationsparameter\c!numbercommand{\ctxlua{tex.write(structure.lists.size())}}}%
+ \setbox\scratchbox\hbox{\bibtexpublicationsparameter\c!numbercommand{\ctxlua{tex.write(structures.lists.size())}}}%
\fi
\bibtexnumberwidth\wd\scratchbox
\setuplist[\currentbibtexsession][\c!distance=\zeropoint]}
@@ -615,10 +620,12 @@
\doifelse{\bibtexpublicationsparameter\c!method}\v!local
{\ctxlua{bibtex.hacks.reset(1)}}% function can take method
{\ctxlua{bibtex.hacks.reset(2)}}%
- \placestructurelist
+ \doplacestructurelist
{\currentbibtexsession}
{\currentbibtexcriterium}
{\namedlistparameter\currentbibtexsession\c!number}%
+ {\namedlistparameter\currentbibtexsession\c!extras}%
+ {\namedlistparameter\currentbibtexsession\c!order}%
\ctxlua{bibtex.hacks.flush("\bibtexpublicationsparameter\c!sorttype")}%
\doendoflist}
@@ -627,7 +634,7 @@
\ifx\currentbibtexsessiontag\empty
% can't really happen
\else\ifx\currentbibtexcriterium\v!all
- \doplacepublicationindeed
+ \dotypesetbibtexpublication % was \doplacepublicationindeed
\else
\ctxlua{bibtex.hacks.doifalreadyplaced("\currentbibtexsessiontag")}
\donothing
@@ -822,17 +829,17 @@
\def\inbibtexlink#1#2%
{\doifreferencefoundelse{\bibtexrefprefix#1}
{\goto{#2}[\bibtexrefprefix#1]}
- {!#1!\unknownreference{#1}}}
+ {!#1!}}
\def\dobibtexgotolink#1#2%
{\doifreferencefoundelse{\bibtexrefprefix#1}
{\goto{#2}[\bibtexrefprefix#1]}
- {!#1!\unknownreference{#1}}}
+ {!#1!}}
\def\dobibattexlink#1#2%
{\doifreferencefoundelse{\bibtexrefprefix#1}
{\at{#2}[\bibtexrefprefix#1]}
- {!#1!\unknownreference{#1}}}
+ {!#1!}}
\def\dobibtexurllink#1#2%
{\expanded{\useURL[bibtex:url:#1][#2]}%
@@ -940,7 +947,7 @@
% \setuppublications[\c!refcommand=num]%
% \cite[#1]%
% \endgroup}
-% {\unknownreference{#1}}}
+% {}}
% compress years
% andtext namesep
@@ -956,7 +963,7 @@
\def\dodobibtexauthoryearref #1{\ctxlua{bibtex.authoryearref ("bibtex:\currentbibtexsession","#1","normal","author")}}
\def\dodobibtexauthoryearsref#1{\ctxlua{bibtex.authoryearsref("bibtex:\currentbibtexsession","#1","normal","author")}}
-\unexpanded\def\bibtexsingularplural#1#2{\ctxlua{bibtex.singular_or_plural(\!!bs#1\!!es,\!!bs#2\!!es)}}
+\unexpanded\def\bibtexsingularplural#1#2{\ctxlua{bibtex.singularorplural(\!!bs#1\!!es,\!!bs#2\!!es)}}
\protect \endinput