summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-01-04 21:49:07 +0000
committerKarl Berry <karl@freefriends.org>2019-01-04 21:49:07 +0000
commit39eaa60079c4839f8ed7bcdcf907c6ce0e5e75ab (patch)
tree469f887f40d00b37bd475cd7daa4ca566905ace0 /Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty
parent0034d54351819457808cf0c8c3d6811269ad264f (diff)
biblatex-ext (4jan19)
git-svn-id: svn://tug.org/texlive/trunk@49597 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty34
1 files changed, 26 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty b/Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty
index 930a3d1db3d..9795ae2f788 100644
--- a/Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty
+++ b/Master/texmf-dist/tex/latex/biblatex-ext/biblatex-ext-oa.sty
@@ -1,5 +1,5 @@
\ProvidesPackage{biblatex-ext-oa}
- [2018/11/23 v0.6 mark open access in biblatex bibliographies (MW)]
+ [2019/01/04 v0.6a mark open access in biblatex bibliographies (MW)]
\protected\def\extblx@oa@error#1#2{%
\PackageError{biblatex-ext-oa}{#1}{#2.}}
@@ -23,6 +23,15 @@
Please see the documentation of biblatex-ext for more information}%
\endinput}
+% xpatch has xapptobibmacro,
+% but I did not want to buy into all of expl3 just for this one macro
+% ... at least for the moment
+% note that this is not nearly as sophisticated as xpatch and does not
+% deal with optional arguments
+\newcommand*{\extblx@oa@apptobibmcro}[1]{%
+ \expandafter\apptocmd
+ \expandafter{\csname abx@macro@\detokenize{#1}\endcsname}}
+
\newtoggle{extblx@oa@opt@forcedoiapi}
\DeclareBibliographyOption[string]{openaccess}[true]{%
\ifstrequal{#1}{forcedoiapi}
@@ -283,8 +292,15 @@
{}
{\extblx@oa@marginmark}}
- \renewbibmacro*{begentry}{%
- \usebibmacro{oamark}}
+ % patch begentry bibmacro
+ % safer than \renewbibmacro{begentry} if it contains something,
+ % but uses the internal implementation of bibmacros
+ \extblx@oa@apptobibmcro{begentry}
+ {\usebibmacro{oamark}}
+ {}
+ {\extblx@oa@warning@noline{%
+ Failed to patch 'begentry' bibmacro.\MessageBreak
+ The open access logo may not be displayed at all}}
\ifbool{extblx@oa@opt@doiapi}
{\NewBibliographyString{openaccessat}
@@ -307,11 +323,13 @@
\newunit\newblock}
{}}
- \letbibmacro*{bbxorig:doi+eprint+url}{doi+eprint+url}
- \renewbibmacro*{doi+eprint+url}{%
- \usebibmacro{bbxorig:doi+eprint+url}%
- \newunit\newblock
- \usebibmacro{api:bestoaurl}}}}
+ \extblx@oa@apptobibmcro{doi+eprint+url}
+ {\newunit\newblock
+ \usebibmacro{api:bestoaurl}}
+ {}
+ {\extblx@oa@warning@noline{%
+ Failed to patch 'doi+eprint+url' bibmacro.\MessageBreak
+ The best open access URL might not be shown}}}}
{\csletcs{extblx@oa@url@from}{extblx@oa@url@from@none}}