summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx80
1 files changed, 47 insertions, 33 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
index 9ff2154745..215ca654fe 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx
@@ -1,9 +1,9 @@
-% biblatex-ext v0.15 (2022-03-06)
+% biblatex-ext v0.16 (2022-06-18)
% Maintainer: Moritz Wemheuer
% Licence: LaTeX Project Public License v1.3c or later
%
\ProvidesFile{ext-standard.bbx}
- [2022/03/06 v0.15 extended biblatex standard style (MW)]
+ [2022/06/18 v0.16 extended biblatex standard style (MW)]
\blx@inputonce{ext-biblatex-aux.def}{auxiliary code for ext-biblatex}
{}{}{}{}
@@ -82,9 +82,25 @@
% maxbibnames = 999,
}
+% introcite & xrefcite and possibly more ...
+% initialise "cite" emulation in the bibliography
+% {<delimcontext>}
+\newcommand*{\extblx@bibcite@init}[1]{%
+ \iftoggle{blx@citation}
+ {}
+ {\togglefalse{blx@bibliography}%
+ \toggletrue{blx@citation}}%
+ \delimcontext{#1}%
+ \csuse{blx@hook@cite}%
+ \csuse{blx@hook@citekey}%
+ \undef\cbx@lasthash
+ \undef\cbx@lastyear
+ \citetrackerfalse\pagetrackerfalse\backtrackerfalse
+ \defcounter{maxnames}{\blx@maxcitenames}%
+ \defcounter{minnames}{\blx@mincitenames}%
+}
-\newbibmacro*{bbx:introcite}{\usebibmacro{cite}}
-
+% introcite
\RegisterCiteDelims{inner}{bbx@introcite}
\DeclareInnerCiteDelimsAlias{bbx@introcite}{cite}
\DeclareFieldFormat{bbx@introcite}{#1}
@@ -97,38 +113,28 @@
\newlength{\introcitesep}
\setlength{\introcitesep}{\biblabelsep}
+
\newrobustcmd*{\AtIntrocite}{%
\@ifstar
{\global\undef\extblx@hook@introcite
\gappto\extblx@hook@introcite}
{\gappto\extblx@hook@introcite}}
-\newcommand*{\extblx@introcite@init}{%
- \iftoggle{blx@citation}
- {}
- {\togglefalse{blx@bibliography}%
- \toggletrue{blx@citation}}%
- \delimcontext{bbx@introcite}%
- \csuse{blx@hook@cite}%
- \csuse{blx@hook@citekey}%
- \DeclareFieldFormat{bibhyperref}{##1}%
- \undef\cbx@lasthash
- \undef\cbx@lastyear
- \citetrackerfalse\pagetrackerfalse\backtrackerfalse
- \defcounter{maxnames}{\blx@maxcitenames}%
- \defcounter{minnames}{\blx@mincitenames}%
-}
+% we also disable links
+\AtIntrocite{%
+ \extblx@bibcite@init{bbx@introcite}%
+ \DeclareFieldFormat{bibhyperref}{#1}}
-\AtIntrocite{\extblx@introcite@init}
+\newbibmacro*{bbx:introcite}{\usebibmacro{cite}}
-\newbibmacro{introcite:typeset}{%
+\newbibmacro*{introcite:typeset}{%
\begingroup
\csuse{extblx@hook@introcite}%
\printtext[bbx@introcite]{\usebibmacro{bbx:introcite}}%
\endgroup
}
-\newbibmacro{introcite:plain}{%
+\newbibmacro*{introcite:plain}{%
\ifcsequal{extblx@introcite}{extblx@opt@introcite@plain}
{\usebibmacro{introcite:typeset}%
\printunit*{\introcitepunct}}
@@ -142,16 +148,14 @@
{\introcitebreak}
{}}
+% xrefcite (for citexref option)
+\newrobustcmd*{\AtXrefcite}{%
+ \@ifstar
+ {\global\undef\extblx@hook@xrefcite
+ \gappto\extblx@hook@xrefcite}
+ {\gappto\extblx@hook@xrefcite}}
-\newbibmacro*{bbx:inxrefcite}{\usebibmacro{cite}}
-
-\DeclareCiteCommand{\bbx@xrefcite}[\mkouterbbx@xrefcitedelims]
- {\boolfalse{citetracker}%
- \boolfalse{pagetracker}%
- \boolfalse{backtracker}}
- {\usebibmacro{bbx:inxrefcite}}
- {}
- {}
+\AtXrefcite{\extblx@bibcite@init{bbx@xrefcite}}
\RegisterCiteDelims{outer}{bbx@xrefcite}
\DeclareOuterCiteDelimsAlias{bbx@xrefcite}{cite}
@@ -159,14 +163,24 @@
\DeclareInnerCiteDelimsAlias{bbx@xrefcite}{cite}
\DeclareDelimcontextAlias{bbx@xrefcite}{cite}
+\DeclareFieldFormat{bbx@xrefcite}{%
+ \mkouterbbx@xrefcitedelims{#1}}
+
+\newbibmacro*{bbx@xrefcite}[1]{%
+ \entrydata*{#1}{%
+ \csuse{extblx@hook@xrefcite}%
+ \printtext[bbx@xrefcite]{%
+ \usebibmacro{bbx:xrefcite}}}}
+
+\newbibmacro*{bbx:xrefcite}{\usebibmacro{cite}}
\newbibmacro*{crosscite}[1]{%
\iftoggle{bbx:citexref}
{\iffieldundef{crossref}
{\iffieldundef{xref}
{\usebibmacro{#1}}
- {\printtext{\bbx@xrefcite{\thefield{xref}}}}}
- {\printtext{\bbx@xrefcite{\thefield{crossref}}}}}
+ {\usebibmacro{bbx@xrefcite}{\thefield{xref}}}}
+ {\usebibmacro{bbx@xrefcite}{\thefield{crossref}}}}
{\usebibmacro{#1}}}
\DeclareDelimAlias{innametitledelim}{nametitledelim}