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.mkiv33
1 files changed, 22 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/context/base/bibl-bib.mkiv b/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
index 681be325f2b..56007d21c1f 100644
--- a/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
+++ b/Master/texmf-dist/tex/context/base/bibl-bib.mkiv
@@ -5,7 +5,7 @@
%D subtitle=Initialization,
%D author=Hans Hagen \& Taco Hoekwater,
%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
+%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
@@ -527,24 +527,29 @@
\edef\currentbibtexsession{#1}%
\let\currentlist\currentbibtexsession
\setuplist[\currentbibtexsession][\c!criterium=\v!previous,#2]
- \doifelsenothing{\namedlistparameter\currentbibtexsession\c!title}
- {\systemsuppliedchapter[\currentbibtexsession]{\headtext{\currentbibtexsession}}}
- {\normalexpanded{\systemsuppliedchapter[\currentbibtexsession]{\namedlistparameter\currentbibtexsession\c!title}}}%
- \dodoplacebibtexpublications}
+ \edef\currentbibtexsessiontitle{\namedlistparameter\currentbibtexsession\c!title}%
+ \ifx\currentbibtexsessiontitle\empty
+ \normalexpanded{\startnamedsection[\v!chapter][\c!reference=\currentbibtexsession,\c!title={\headtext{\currentbibtexsession}}]}%
+ \else
+ \normalexpanded{\startnamedsection[\v!chapter][\c!reference=\currentbibtexsession,\c!title={\currentbibtexsessiontitle}]}%
+ \fi
+ \dodoplacebibtexpublications
+ \stopnamedsection
+ \endgroup}
\def\doplacebibtexpublications[#1][#2]%
{\begingroup
\edef\currentbibtexsession{#1}%
\let\currentlist\currentbibtexsession
\setuplist[\currentbibtexsession][\c!criterium=\v!previous,#2]%
- \dodoplacebibtexpublications}
+ \dodoplacebibtexpublications
+ \endgroup}
\def\dodoplacebibtexpublications
{\determinelistcharacteristics[\currentbibtexsession]%
\the\everysetupbibtexlistplacement
\forgetall
\typesetbibtexlist
- \endgroup
\global\advance\bibtexblock\plusone}
\setvalue{\??pb:\c!numbering:\v!short}#1% todo var s -> short tag
@@ -614,7 +619,8 @@
\to \everysetupbibtexlistplacement
\def\typesetbibtexlist
- {\dobeginoflist
+ {\begingroup
+ \startpacked[\v!blank]%
\doif{\namedlistparameter\currentbibtexsession\c!criterium}\v!cite
{\setuplist[\currentbibtexsession][\c!criterium=\v!here]}%
\doifelse{\bibtexpublicationsparameter\c!method}\v!local
@@ -627,7 +633,8 @@
{\namedlistparameter\currentbibtexsession\c!extras}%
{\namedlistparameter\currentbibtexsession\c!order}%
\ctxlua{bibtex.hacks.flush("\bibtexpublicationsparameter\c!sorttype")}%
- \doendoflist}
+ \stoppacked
+ \endgroup}
\unexpanded\def\typesetbibtexpublication#1%
{\edef\currentbibtexsessiontag{#1}%
@@ -645,7 +652,11 @@
{\doifbibreferencefoundelse\currentbibtexsessiontag
{\global\advance\bibtexcounter\plusone
\ctxlua{bibtex.hacks.registerplaced("\currentbibtexsessiontag")}%
- \dodolistelement{\currentbibtexsession}{}{\number\bibtexcounter}{\thebibtexpublicationlistelement}{}{}}
+ \let\currentlist\currentbibtexsession
+ \let\currentlistentrynumber \bibtexcounter
+ \let\currentlistentrytitle \thebibtexpublicationlistelement
+ \let\currentlistentrypagenumber\empty
+ \strc_lists_apply_renderingsetup}
{}} % invalid
\def\thebibtexpublicationlistelement
@@ -725,7 +736,7 @@
{\dontleavehmode
\begingroup
\bibtexcitationparameter\v!left
- \penalty\!!tenthousand
+ \penalty\plustenthousand
\ctxlua{bibtex.hacks.resolve("","\number\bibtexblock","#1")}%
\bibtexcitationparameter\v!right
\endgroup}