From c4d413f7fd5020baebc166f24b7f39ba8f8aaacd Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 5 Mar 2018 22:20:02 +0000 Subject: biblatex-oxref (4mar18) git-svn-id: svn://tug.org/texlive/trunk@46852 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-oxref/american-oxref.lbx | 2 +- .../tex/latex/biblatex-oxref/british-oxref.lbx | 2 +- .../tex/latex/biblatex-oxref/english-oxref.lbx | 21 +- .../texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx | 29 +- .../texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx | 3 +- .../texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx | 2 +- .../tex/latex/biblatex-oxref/oxnotes.bbx | 2 +- .../tex/latex/biblatex-oxref/oxnotes.cbx | 2 +- .../tex/latex/biblatex-oxref/oxnotes.dbx | 2 +- .../texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx | 2 +- .../texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx | 3 +- .../texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx | 2 +- .../texmf-dist/tex/latex/biblatex-oxref/oxref.bbx | 578 +++++++++++++++++---- .../texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx | 198 +++++-- .../texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx | 21 +- .../texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx | 2 +- 16 files changed, 668 insertions(+), 203 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx b/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx index b676a135588..2d5b7073fd7 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/american-oxref.lbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{american-oxref.lbx} [\Version\space American English conventions required by the biblatex-oxref styles] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx b/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx index 916bcab9ed0..3bbb4ff5003 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/british-oxref.lbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{british-oxref.lbx} [\Version\space British English conventions required by the biblatex-oxref styles] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx b/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx index 7bcc4501a7d..b7d66667c75 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/english-oxref.lbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{english-oxref.lbx} [\Version\space Generic English conventions required by the biblatex-oxref styles] @@ -33,17 +33,29 @@ \DeclareBibliographyStrings{% inherit = {english}, director = {{director}{dir\adddot}}, + directors = {{directors}{dirs\adddot}}, performer = {{}{}}, + performers = {{}{}}, reader = {{reader}{reader}}, + readers = {{readers}{readers}}, conductor = {{conductor}{cond\adddot}}, + conductors = {{conductors}{cond\adddot}}, + serieseditor = {{series editor}{ser\adddotspace ed\adddot}}, + serieseditors = {{series editors}{ser\adddotspace eds\adddot}}, + holder = {{holder}{holder}}, + holders = {{holders}{holders}}, + editorcm = {{editor and compiler}{ed\adddotspace and comp\adddot}}, + editorcms = {{editors and compilers}{eds\adddotspace and comp\adddot}}, byperformer = {{}{}}, bydirector = {{directed by}{dir\adddot}}, byreader = {{read by}{read by}}, byconductor = {{conducted by}{cond\adddot}}, byserieseditor = {{edited by}{ed\adddot}}, + byholder = {{held by}{held by}}, + byeditorcm = {{edited and compiled by}{ed\adddotspace and comp\adddot}}, facsimile = {{facsimile edition}{facs\adddotspace edn\adddot}}, revised = {{revised edition}{rev\adddotspace edn\adddot}}, - revisedenlarged = {{revised and enlarged edition}{rev\adddotspace ane enl\addotspace edn\adddot}}, + revisedenlarged = {{revised and enlarged edition}{rev\adddotspace and enl\addotspace edn\adddot}}, revisedreprint = {{revised reprint}{rev\adddotspace repr\adddot}}, suppto = {{Supplement to}{Supplement to}}, equals = {{=}{=}}, @@ -99,9 +111,14 @@ modified = {{last modified}{last modified}}, recorded = {{recorded}{recorded}}, uploaded = {{uploaded}{uploaded}}, + filed = {{filed}{filed}}, + issued = {{issued}{issued}}, anon = {{Anonymous}{Anon\adddot}}, pseudo = {{Pseudo-}{Ps\adddot-}}, urldown = {{downloaded}{downloaded}}, + countryjp = {{Japan}{JP}}, + patentjp = {{Japanese patent}{Japanese pat.\adddot}}, + patreqjp = {{Japanese patent request}{Japanese pat.\adddot req.\adddot}}, 1column = {{one column}{1\addnbspace col\adddot}}, 2column = {{two columns}{2\addnbspace col\adddot}}, inflayer = {{inferior layer}{inf\adddotspace lay\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx index 34ee93433ae..7c5a7f8abce 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxalph.bbx} [\Version\space Alphabetic bibliography style inspired by the Oxford Guide to Style] @@ -28,37 +28,12 @@ }{% \csuse{print\thefield{labeldatesource}date} }{}{} -\xpatchcmd{\bbx@opt@mergedate@maximum}{% - \printlabeldateextra -}{% - \printlabeldate -}{}{} \xpatchcmd{\bbx@opt@mergedate@compact}{% \csuse{print\thefield{labeldatesource}dateextra} }{% \csuse{print\thefield{labeldatesource}date} }{}{} -\xpatchcmd{\bbx@opt@mergedate@compact}{% - \printlabeldateextra -}{% - \printlabeldate -}{}{} -\xpatchcmd{\bbx@opt@mergedate@year}{% - \printlabeldateextra -}{% - \printlabeldate -}{}{} -\xpatchcmd{\bbx@opt@mergedate@basic}{% - \printlabeldateextra -}{% - \printlabeldate -}{}{} -\xpatchcmd{\bbx@opt@mergedate@minimum}{% - \printlabeldateextra -}{% - \printlabeldate -}{}{} -\xpatchcmd{\bbx@opt@mergedate@false}{% +\xpatchbibmacro{labeldate}{% \printlabeldateextra }{% \printlabeldate diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx index b185a9b56ca..72864e74f02 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx @@ -13,11 +13,12 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxalph.cbx} [\Version\space Alphabetic citation style inspired by the Oxford Guide to Style] \RequireCitationStyle{alphabetic} +\renewcommand*{\multicitedelim}{\addsemicolon\space} \renewcommand*{\compcitedelim}{\addsemicolon\space} \renewcommand*{\postnotedelim}{\addcolon\space} \xpatchbibmacro{textcite}{% diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx index 0dd8da08fa1..f62f22d2af1 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxalph.dbx} [\Version\space Data model for the Oxref family of styles] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx index 94e0778d790..9b4b607cf20 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnotes.bbx} [\Version\space Footnote-based bibliography style inspired by the Oxford Guide to Style] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx index 384ee890fa2..e525ac8db3f 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnotes.cbx} [\Version\space Footnote-based citation style inspired by the Oxford Guide to Style] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx index 101d00fc48f..a1b9e8b83b2 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnotes.dbx} [\Version\space Data model for the Oxref family of styles] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx index efb102d0b53..66330d82aab 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnum.bbx} [\Version\space Numeric bibliography style inspired by the Oxford Guide to Style] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx index 4fa5e4ab329..02dafba84ea 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx @@ -13,11 +13,12 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnum.cbx} [\Version\space Numeric citation style inspired by the Oxford Guide to Style] \RequireCitationStyle{numeric-comp} +\renewcommand*{\multicitedelim}{\addsemicolon\space} \renewcommand*{\compcitedelim}{\addsemicolon\space} \renewcommand*{\postnotedelim}{\addcolon\space} \xpatchbibmacro{textcite}{% diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx index 488296fc80b..c6aa1fb296c 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnum.dbx} [\Version\space Data model for the Oxref family of styles] diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx index ce8086d62e7..acfede01a6d 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxref.bbx} [\Version\space Base settings for bibliography styles inspired by the Oxford Guide to Style] @@ -22,8 +22,9 @@ \RequirePackage{graphicx} \DeclareLanguageMappingSuffix{-oxref} \NewBibliographyString{% - director, performer, reader, conductor, - bydirector, byperformer, byreader, byconductor, byserieseditor, + director, performer, reader, conductor, serieseditor, holder, editorcm, + directors, performers, readers, conductors, serieseditors, holders, editorcms, + bydirector, byperformer, byreader, byconductor, byserieseditor, byholder, byeditorcm, facsimile, revised, revisedenlarged, revisedreprint, suppto, equals, original, inpressin, book, books, canto, cantos, stanza, stanzas, act, acts, scene, scenes, folio, folios, @@ -33,8 +34,9 @@ articletotal, articletotals, clausetotal, clausetotals, regulationtotal, regulationtotals, ruletotal, ruletotals, facebook, tweet, podcast, clip, webcast, poster, - nolocation, modified, recorded, uploaded, + nolocation, modified, recorded, uploaded, filed, issued, anon, pseudo, urldown, + countryjp, patentjp, patreqjp, 1column, 2column, inflayer, suplayer, paper, papyrus, pergament, eucase, eujoinedcases, commissiondecision, application, order, bill, draft, opened, signed, adopted, inforce, @@ -62,6 +64,8 @@ \newtoggle{blx@ox@nametitle}\toggletrue{blx@ox@nametitle}% \DeclareBibliographyOption[boolean]{usenametitles}[true]{% \settoggle{blx@ox@nametitle}{#1}} +\DeclareTypeOption[boolean]{usenametitles}[true]{% + \settoggle{blx@ox@nametitle}{#1}} \DeclareEntryOption[boolean]{usenametitles}[true]{% \settoggle{blx@ox@nametitle}{#1}} \newbibmacro*{name:title-given-family}[5]{% @@ -455,6 +459,7 @@ \setunit{\addspace}}}% {\global\undef\bbx@lasthash}} \DeclareFieldFormat{authortype}{\mkbibparens{#1}} +\newcommand{\titlebyauthordelim}{\addspace} \renewbibmacro*{editor}{% \usebibmacro{bbx:editor}{editorstrg}} \renewbibmacro*{editor+others}{% @@ -611,6 +616,8 @@ \newtoggle{blx@ox@timefirst} \DeclareBibliographyOption{timefirst}[true]{% \settoggle{blx@ox@timefirst}{#1}} +\DeclareTypeOption{timefirst}[true]{% + \settoggle{blx@ox@timefirst}{#1}} \DeclareEntryOption{timefirst}[true]{% \settoggle{blx@ox@timefirst}{#1}} \newbibmacro*{date+time}{% @@ -657,6 +664,18 @@ \setunit*{\addcomma\space}% \printorigtime}% } +\DeclareFieldFormat{date}{% + \def\currentfield{date}% + \iffieldannotation{inferred}{\mkbibbrackets{#1}}{#1}% + \undef\currentfield} +\DeclareFieldFormat{origdate}{% + \def\currentfield{origdate}% + \iffieldannotation{inferred}{\mkbibbrackets{#1}}{#1}% + \undef\currentfield} +\DeclareFieldFormat{eventdate}{% + \def\currentfield{eventdate}% + \iffieldannotation{inferred}{\mkbibbrackets{#1}}{#1}% + \undef\currentfield} \xpatchfieldformat{edition}{% #1\isdot }{% @@ -733,7 +752,6 @@ \do\={\mathbin{}\mskip-\Urlmuskip\mathchar`\=\mskip\Urlmuskip}% \do\?{\mathbin{}\mskip-\Urlmuskip\mathchar`\?\mskip\Urlmuskip}% \do\_{\mathbin{}\mskip-\Urlmuskip\_\mskip\Urlmuskip}% - \do\@{\mathbin{}\mskip-\Urlmuskip\@\mskip\Urlmuskip}% \do\#{\mathbin{}\mskip-\Urlmuskip\#\mskip\Urlmuskip}% }% \ifnumgreater{\value{biburlnumpenalty}}{0} @@ -780,7 +798,7 @@ \DeclareFieldFormat{pubstate}{\mkbibparens{#1}} \DeclareFieldFormat{howpublished}{\mkbibbrackets{#1}} \DeclareFieldFormat[misc,unpublished]{howpublished}{#1} -\DeclareFieldFormat[article,periodical,review]{entrysubtype}{\mkbibbrackets{#1}} +\DeclareFieldFormat[article,periodical,suppperiodical,review]{entrysubtype}{\mkbibbrackets{#1}} \newcommand*{\blx@ox@abbrevstring}{% A\^{A}BCDEFG\u{G}HI\.{I}\^{I}JKLMNO\"{O}\^{O}PQRSTU\"{U}\^{U}VWXYZ.}% \AtBeginDocument{ @@ -884,8 +902,16 @@ \newtoggle{blx@ox@varissuedate} \DeclareBibliographyOption[boolean]{varissuedate}[true]{% \settoggle{blx@ox@varissuedate}{#1}} +\DeclareTypeOption[boolean]{varissuedate}[true]{% + \settoggle{blx@ox@varissuedate}{#1}} \DeclareEntryOption[boolean]{varissuedate}[true]{% \settoggle{blx@ox@varissuedate}{#1}} +\DeclareBibliographyOption[boolean]{issuedate-plain}[true]{% + \settoggle{blx@ox@varissuedate}{#1}} +\DeclareTypeOption[boolean]{issuedate-plain}[true]{% + \settoggle{blx@ox@varissuedate}{#1}} +\DeclareEntryOption[boolean]{issuedate-plain}[true]{% + \settoggle{blx@ox@varissuedate}{#1}} \renewbibmacro*{issue+date}{% \ifboolexpr{ test {\iffieldundef{issue}} @@ -928,7 +954,7 @@ \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{bytranslator+others}% @@ -990,16 +1016,61 @@ \usebibmacro{related}} {}% \usebibmacro{finentry}} +\DeclareFieldFormat[suppperiodical]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{\mkbibquote{#1\isdot}}% + \undef\currentfield} +\DeclareFieldFormat[suppperiodical]{volume}{#1}% volume of a journal +\DeclareFieldFormat[suppperiodical]{number}{#1}% number of a journal +\DeclareFieldFormat[suppperiodical]{series}{% series of a journal + \ifinteger{#1} + {\mkbibordseries{#1}~\bibstring{jourser}} + {\ifbibstring{#1}{\bibstring{#1}}{#1}}} +\DeclareBibliographyDriver{suppperiodical}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \setunit{\titlebyauthordelim}\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{bytranslator+others}% + \newunit\newblock + \printfield{note}\clearfield{note}% + \newunit\newblock + \printfield{version}% + \newunit\newblock + \usebibmacro{journal+issuetitle}% + \newunit + \usebibmacro{byeditor+others}% + \iffieldequalstr{relatedtype}{suppto}{% + \setunit{\addsemicolon\space}% + \iftoggle{bbx:related}{% + \usebibmacro{related:init}% + \usebibmacro{related}% + \clearfield{related}% + }{}% + }{}% + \newunit + \usebibmacro{note+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{issn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} \ExecuteBibliographyOptions[book,mvbook,reference,mvreference]{useeditor=false,usetranslator=false} -\DeclareFieldFormat[bookinbook]{citetitle}{% - \ifboolexpr{ - test {\iffieldequalstr{entrysubtype}{poem}} - or - test {\iffieldequalstr{entrysubtype}{play}} - }{% - \mkbibemph{#1}% - }{% - \mkbibquote{#1\isdot}}} \DeclareFieldFormat[bookinbook]{title}{% \ifboolexpr{ test {\iffieldequalstr{entrysubtype}{poem}} @@ -1045,6 +1116,16 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{byserieseditor}% \setunit*{\addcomma\space}% \printfield{number}} +\newtoggle{blx@ox@altbookseries} +\DeclareBibliographyOption[string]{bookseries}[in]{% + \ifstrequal{#1}{out}{% + \toggletrue{blx@ox@altbookseries}% + }{% + \togglefalse{blx@ox@altbookseries}% + \ifstrequal{#1}{in}{}{% + \PackageError{oxref} + {Invalid option 'bookseries=#1'} + {Valid values are 'in' and 'out'.}}}} \newcounter{locpubpairs} \newbibmacro*{edition+publisher+location+date}{% \printlist{origlocation}% @@ -1103,6 +1184,9 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{date}% } \newbibmacro*{series+number+edition+publisher+location+date}{% + \iftoggle{blx@ox@altbookseries}{% + \usebibmacro{series+number}% + \setunit{\addspace}\newblock}{}% \ifboolexpr{ test {\iffieldundef{series}} and @@ -1122,8 +1206,9 @@ reference,mvreference,inreference]{volume}{% }{}{% \nopunct \printtext[publication]{% - \usebibmacro{series+number}% - \setunit{\addsemicolon\addspace}% + \iftoggle{blx@ox@altbookseries}{}{% + \usebibmacro{series+number}% + \setunit{\addsemicolon\addspace}}% \usebibmacro{edition+publisher+location+date}% \usebibmacro{copub}}}% \iffieldequalstr{relatedtype}{copub}{\clearfield{related}}% @@ -1131,6 +1216,9 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{origpub}% } \newbibmacro*{series+number+publisher+location+date}{% + \iftoggle{blx@ox@altbookseries}{% + \usebibmacro{series+number}% + \setunit{\addspace}\newblock}{}% \ifboolexpr{ test {\iffieldundef{series}} and @@ -1148,8 +1236,9 @@ reference,mvreference,inreference]{volume}{% }{}{% \nopunct \printtext[publication]{% - \usebibmacro{series+number}% - \setunit{\addsemicolon\addspace}% + \iftoggle{blx@ox@altbookseries}{}{% + \usebibmacro{series+number}% + \setunit{\addsemicolon\addspace}}% \usebibmacro{publisher+location+date}% \usebibmacro{copub}}}% \iffieldequalstr{relatedtype}{copub}{\clearfield{related}}% @@ -1186,7 +1275,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author/editor+others/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -1232,7 +1321,7 @@ reference,mvreference,inreference]{volume}{% }{}{% \printfield{volume}% \printfield{part}}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -1277,7 +1366,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% @@ -1295,7 +1384,7 @@ reference,mvreference,inreference]{volume}{% \printfield{volumes}% \newunit\newblock \printfield{note}% - \newunit\newblock% + \newunit\newblock \usebibmacro{series+number+edition+publisher+location+date}% \newunit\newblock \usebibmacro{chapter+pages}% @@ -1315,14 +1404,61 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{related}} {}% \usebibmacro{finentry}} -\DeclareFieldFormat[suppbook]{title}{#1\nopunct} -\DeclareBibliographyDriver{bookinbook}{% +\DeclareFieldFormat[suppbook]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{\mkbibemph{#1}}% + \undef\currentfield} +\DeclareBibliographyDriver{suppbook}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% + \setunit{\titlebyauthordelim}\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \setunit{\addspace}\newblock + \usebibmacro{in:}% + \usebibmacro{bybookauthor}% \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{bookinbook}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% @@ -1341,7 +1477,7 @@ reference,mvreference,inreference]{volume}{% \newunit\newblock \printfield{note}% \newunit\newblock - \usebibmacro{series+number+publisher+location+date}% + \usebibmacro{series+number+edition+publisher+location+date}% \newunit\newblock \usebibmacro{chapter+pages}% \newunit\newblock @@ -1451,7 +1587,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% @@ -1487,6 +1623,52 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{related}} {}% \usebibmacro{finentry}} +\DeclareFieldFormat[suppcollection]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{\mkbibemph{#1}}% + \undef\currentfield} +\DeclareBibliographyDriver{suppcollection}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author/translator+others}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \setunit{\titlebyauthordelim}\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \printfield{note}% + \setunit{\addspace}\newblock + \usebibmacro{in:}% + \usebibmacro{bookeditor}% + \newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit + \iffieldundef{maintitle} + {\printfield{volume}% + \printfield{part}} + {}% + \newunit\newblock + \printfield{volumes}% + \newunit\newblock% + \usebibmacro{series+number+edition+publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} \DeclareBibliographyDriver{reference}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% @@ -1495,7 +1677,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{title}% \newunit\newblock \printfield{edition}% - \newunit + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -1541,7 +1723,7 @@ reference,mvreference,inreference]{volume}{% \printfield{part}}% \newunit\newblock \printfield{edition}% - \newunit + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -1586,7 +1768,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \iffieldundef{editor}{}{% @@ -1634,18 +1816,10 @@ reference,mvreference,inreference]{volume}{% \printfield{eventtitle}% \newunit \printfield{eventtitleaddon}% - \ifboolexpr{ - test {\iffieldundef{venue}} - and - test {\iffieldundef{eventyear}} - }{}{% - \iffieldundef{eventtitle}{% - \setunit{\mkbibemph{\addcomma}\space}% - }{% - \newunit}% - \printfield{venue}% - \newunit% - \printeventdate}% + \newunit + \printfield{venue}% + \newunit% + \printeventdate% \newunit} \DeclareBibliographyDriver{proceedings}{% \usebibmacro{bibindex}% @@ -1696,7 +1870,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% @@ -1791,9 +1965,28 @@ reference,mvreference,inreference]{volume}{% \setunit*{\addcomma\space}% \usebibmacro{date}}}} \newtoggle{blx@ox@altthesis} +\newtoggle{blx@ox@plainthesis} +\DeclareFieldAlias{thesis:publication}{publication} +\DeclareFieldFormat{plain}{#1} \DeclareBibliographyOption[boolean]{altthesis}[true]{% \settoggle{blx@ox@altthesis}{#1} } +\DeclareBibliographyOption[string]{thesis}[out]{% + \ifstrequal{#1}{plain}{% + \toggletrue{blx@ox@altthesis}% + \toggletrue{blx@ox@plainthesis}% + \DeclareFieldAlias{thesis:publication}{plain}% + }{% + \togglefalse{blx@ox@plainthesis}% + \DeclareFieldAlias{thesis:publication}{publication}% + \ifstrequal{#1}{in}{% + \toggletrue{blx@ox@altthesis}% + }{% + \togglefalse{blx@ox@altthesis}% + \ifstrequal{#1}{out}{}{% + \PackageError{oxref} + {Invalid option 'bookseries=#1'} + {Valid values are 'in', 'out', and 'plain'.}}}}} \newbibmacro*{type+institution+location+date}{% \iftoggle{blx@ox@altthesis}{% \ifboolexpr{ @@ -1809,8 +2002,8 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{month}} }{}{% - \nopunct - \printtext[publication]{% + \iftoggle{blx@ox@plainthesis}{}{\nopunct}% + \printtext[thesis:publication]{% \printfield{type}% \setunit*{\addcomma\space}% \printlist{location}% @@ -1880,7 +2073,7 @@ reference,mvreference,inreference]{volume}{% {\printfield{volume}% \printfield{part}} {}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \printfield{version}% @@ -1920,20 +2113,118 @@ reference,mvreference,inreference]{volume}{% }{% \usebibmacro{type+institution+location+date}% }{}{} -\DeclareBibliographyDriver{manual}{% +\DeclareFieldFormat[booklet]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{% + \mkbibquote{#1\isdot}}% + \undef\currentfield} +\DeclareFieldFormat[patent]{title}{\mkbibemph{#1}} +\DeclareFieldFormat[patent]{type}{\ifbibstring{#1}{\biblstring{#1}}{#1}} +\DeclareNameAlias{byholder}{default} +\renewbibmacro*{byholder}{% + \ifnameundef{holder}{}{% + \bibstring{byholder}% + \setunit{\addspace}% + \printnames[byholder]{holder}}} +\newbibmacro*{location+dates}{% + \ifboolexpr{ + test {\iffieldundef{location}} + and + test {\iffieldundef{origyear}} + and + test {\iffieldundef{origmonth}} + and + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \nopunct + \printtext[publication]{% + \printlist[][-\value{listtotal}]{location}% + \setunit*{\addcomma\space}% + \ifboolexpr{ + test {\iffieldundef{origyear}} + and + test {\iffieldundef{origmonth}} + }{}{% + \iffieldundef{origdatetype}{% + \bibstring{filed} + }{ + \printfield{origdatetype}}% + \setunit*{\addspace}}% + \usebibmacro{origdate+time}% + \setunit*{\addcomma\space}% + \ifboolexpr{ + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{}{% + \iffieldundef{datetype}{% + \bibstring{issued}% + }{ + \printfield{datetype}}% + \setunit*{\addspace}}% + \usebibmacro{date}}}} +\DeclareBibliographyDriver{patent}{% \usebibmacro{bibindex}% \usebibmacro{begentry}% - \usebibmacro{author/editor}% + \usebibmacro{author}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \newunit + \printlist{language}% + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock - \usebibmacro{byeditor}% + \printfield{note}% \newunit\newblock \printfield{type}% + \setunit*{\addspace}% + \printfield{number}% + \newunit\newblock + \usebibmacro{byholder}% + \newunit\newblock + \usebibmacro{location+dates}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyDriver{manual}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \ifboolexpr{ + test {\ifentrytype{standard}} + and + ( test {\ifnameundef{author}} + or + not test \ifuseauthor ) + and + not test {\iffieldundef{number}} + }{% + \printfield{number}\clearfield{number}% + \newunit\newblock + }{}% + \usebibmacro{author/editor}% + \setunit{\printdelim{nametitledelim}}\newblock + \ifentrytype{software}{% + \usebibmacro{title+version}% + }{% + \usebibmacro{title}}% + \setunit{\titlebyauthordelim}\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor}% \newunit - \printfield{version}% + \ifentrytype{software}{}{% + \newunit\printfield{version}}% \newunit \printfield{note}% \newunit\newblock @@ -1958,6 +2249,8 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{related}} {}% \usebibmacro{finentry}} +\DeclareBibliographyAlias{standard}{manual} +\ExecuteBibliographyOptions[standard]{useeditor=false} \newbibmacro*{publisher+type+series+number+date}{% \iffieldundef{number}{}{% \setunit{\addcomma\space}% @@ -1982,11 +2275,11 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{month}} and - test {\iffieldundef{eventyear}} + test {\iffieldundef{origyear}} and - test {\iffieldundef{eventseason}} + test {\iffieldundef{origseason}} and - test {\iffieldundef{eventmonth}} + test {\iffieldundef{origmonth}} and test {\iffieldundef{hour}} }{}{% @@ -2044,7 +2337,7 @@ reference,mvreference,inreference]{volume}{% }{}% \setunit{\addspace} \usebibmacro{onlinetype}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{pre-byeditor+others}% @@ -2085,7 +2378,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{in:}% @@ -2195,10 +2488,83 @@ reference,mvreference,inreference]{volume}{% \mkbibemph{#1}}}% \undef\currentfield} -\DeclareBibliographyAlias{image}{online} -\DeclareFieldFormat[image]{title}{\mkbibquote{#1\isdot}} +\DeclareBibliographyDriver{performance}{% + \usebibmacro{bibindex}% + \usebibmacro{begentry}% + \usebibmacro{author}% + \setunit{\printdelim{nametitledelim}}\newblock + \usebibmacro{title}% + \newunit + \usebibmacro{maintitle}% + \iffieldequalstr{relatedtype}{includes}{% + \iftoggle{bbx:related}{% + \newunit\newblock + \usebibmacro{related:init}% + \usebibmacro{related}% + \clearfield{related}% + }{}% + }{}% + \setunit{\addspace} + \usebibmacro{onlinetype}% + \setunit{\titlebyauthordelim}\newblock + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{pre-byeditor+others}% + \setunit{\addspace}% + \printfield{howpublished}% + \newunit\newblock + \printfield{type}% + \newunit\newblock + \printfield{note}% + \ifboolexpr{ + test {\iffieldundef{origyear}} + and + test {\iffieldundef{origmonth}} + }{}{% + \setunit{\addspace}\newblock + \printtext[publication]{\usebibmacro{origdate+time}}} + \newunit\newblock + \usebibmacro{event+venue+location+date}% + \newunit\newblock + \usebibmacro{post-byeditor+others}% + \newunit\newblock + \printlist{organization}% + \newunit\newblock + \iftoggle{bbx:isbn} + {\printfield{isbn}} + {}% + \newunit\newblock + \usebibmacro{doi+eprint+url}% + \newunit\newblock + \usebibmacro{addendum+pubstate}% + \setunit{\bibpagerefpunct}\newblock + \usebibmacro{pageref}% + \setunit{\relatedtypepunct}\newblock + \iftoggle{bbx:related} + {\usebibmacro{related:init}% + \usebibmacro{related}} + {}% + \usebibmacro{finentry}} +\DeclareBibliographyAlias{image}{performance} +\DeclareBibliographyAlias{artwork}{performance} +\renewbibmacro*{event+venue+location+date}{% + \printfield{eventtitle}% + \newunit + \printfield{eventtitleaddon}% + \newunit + \printlist{institution}% + \newunit + \printfield{venue}% + \newunit + \printlist{location}% + \newunit% + \ifboolexpr{ + test {\iffieldundef{year}} + and + test {\iffieldundef{month}} + }{\printeventdate}{\usebibmacro{date+time}}} -\DeclareFieldFormat[online]{title}{% +\DeclareFieldFormat[online,image]{title}{% \def\currentfield{title}% \iffieldannotation{descriptor}{#1}{\mkbibquote{#1\isdot}}% \undef\currentfield} @@ -2222,7 +2588,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{maintitle} \setunit{\addspace}% \usebibmacro{onlinetype}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{byeditor+others}% @@ -2272,42 +2638,7 @@ reference,mvreference,inreference]{volume}{% } \DeclareFieldFormat[software]{version}{\mkbibparens{\bibstring{version}~#1}} \DeclareFieldFormat[software]{urldate}{\bibstring{urldown}\space#1} -\DeclareBibliographyDriver{software}{% - \usebibmacro{bibindex}% - \usebibmacro{begentry}% - \usebibmacro{author/editor}% - \setunit{\printdelim{nametitledelim}}\newblock - \usebibmacro{title+version}% - \newunit\newblock - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor}% - \newunit\newblock - \printfield{type}% - \newunit - \printfield{note}% - \newunit\newblock - \usebibmacro{type+series+number+edition+organization+publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit - \printfield{pagetotal}% - \newunit\newblock - \iftoggle{bbx:isbn} - {\printfield{isbn}} - {}% - \newunit\newblock - \usebibmacro{doi+eprint+url}% - \newunit\newblock - \usebibmacro{addendum+pubstate}% - \setunit{\bibpagerefpunct}\newblock - \usebibmacro{pageref}% - \setunit{\relatedtypepunct}\newblock - \iftoggle{bbx:related} - {\usebibmacro{related:init}% - \usebibmacro{related}} - {}% - \usebibmacro{finentry}} +\DeclareBibliographyAlias{software}{manual} \DeclareBibliographyAlias{dataset}{manual} \newtoggle{bbx:scotstyle} \DeclareEntryOption{scottish-style}[true]{% @@ -3210,12 +3541,16 @@ reference,mvreference,inreference]{volume}{% test {\ifnameundef{author}} and test {\iffieldundef{title}} + and + test {\iffieldundef{label}} }{}{\usebibmacro{date}}} \newbibmacro{dating}{% \ifboolexpr{( test {\ifnameundef{author}} and test {\iffieldundef{title}} + and + test {\iffieldundef{label}} ) or test {\iffieldundef{year}} }{% @@ -3275,7 +3610,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \printfield{howpublished}% @@ -3323,13 +3658,13 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock - \printfield{howpublished}% - \newunit\newblock \printfield{note}% \newunit\newblock + \printfield{howpublished}% + \newunit\newblock \iftoggle{blx@ox@ms}{% \usebibmacro{manuscript:date}% \newunit\newblock @@ -3357,7 +3692,13 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{related}} {}% \usebibmacro{finentry}} - +\DeclareBibliographyAlias{letter}{unpublished} +\DeclareFieldFormat[letter]{title}{% + \def\currentfield{title}% + \iffieldannotation{descriptor}{#1}{\mkbibquote{#1\isdot}}% + \undef\currentfield} +\DeclareFieldFormat[letter]{date}{% + \iffieldundef{url}{#1}{\mkbibparens{#1}}} \xpatchbibdriver{booklet}{% \newunit\newblock \iftoggle{bbx:related} @@ -3372,13 +3713,6 @@ reference,mvreference,inreference]{volume}{% \setunit{\relatedtypepunct}\newblock \iftoggle{bbx:related} }{}{} -\xpatchbibdriver{patent}{% - \newunit\newblock - \iftoggle{bbx:related} -}{% - \setunit{\relatedtypepunct}\newblock - \iftoggle{bbx:related} -}{}{} \DeclareBibliographyOption{relationpunct}[semicolon]{% \ifcsdef{add#1}{% \ifstrequal{#1}{space}{% @@ -3391,6 +3725,18 @@ reference,mvreference,inreference]{volume}{% }{% Valid values are 'dot', 'comma', 'semicolon', 'colon',\MessageBreak 'period', 'exclam', 'question', and 'space'.}}} +\DeclareTypeOption{relationpunct}[semicolon]{% + \ifcsdef{add#1}{% + \ifstrequal{#1}{space}{% + \renewcommand*{\relatedtypepunct}{\addspace}% + }{% + \renewcommand*{\relatedtypepunct}{\csuse{add#1}\space}}% + }{% + \PackageError{biblatex-oxref}{% + Invalid option 'relationpunct=#1'% + }{% + Valid values are 'dot', 'comma', 'semicolon', 'colon',\MessageBreak + 'period', 'exclam', 'question', and 'space'.}}} \newtoggle{blx@ox@relpunctset} \DeclareEntryOption{relationpunct}[semicolon]{% \ifcsdef{add#1}{% @@ -3507,7 +3853,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{author/translator+others}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}% - \newunit\newblock + \setunit{\titlebyauthordelim}\newblock \usebibmacro{byauthor}% \newunit\newblock \usebibmacro{bytranslator+others}% @@ -3702,6 +4048,14 @@ reference,mvreference,inreference]{volume}{% \step[fieldset=jointauthortype, fieldvalue={=translator}] } + \map[overwrite=false]{ + \pertype{standard} + \step[notfield=author, + fieldsource=number, + final] + \step[fieldset=sortkey, + origfieldval] + } \map[overwrite=false]{ \pertype{audio} \pertype{music} @@ -3973,8 +4327,8 @@ reference,mvreference,inreference]{volume}{% } } \ExecuteBibliographyOptions - [proceedings,report,audio,music,movie,video,manuscript,unpublished,review]% - {useeditor=false} + [proceedings,report,artwork,audio,image,music,movie,performance,video,% + manuscript,unpublished,review]{useeditor=false} %% %% Copyright (C) 2016–2018 Alex Ball %% diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx index d569b2b7532..63af99d76be 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxyear.bbx} [\Version\space Author-year bibliography style inspired by the Oxford Guide to Style] @@ -26,8 +26,25 @@ {Invalid option 'mergedate=#1'} {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak 'year', 'true' (=year), and 'false'.}}} +\DeclareTypeOption{mergedate}[true]{% + \ifcsdef{bbx@opt@mergedate@#1} + {\csuse{bbx@opt@mergedate@#1}} + {\PackageError{biblatex} + {Invalid option 'mergedate=#1'} + {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak + 'year', 'true' (=year), and 'false'.}}} \providebibmacro*{date+extradate}{} \DeclareFieldFormat{datelabel}{\mkbibparens{#1}} +\DeclareFieldFormat{labeldate}{% + \iflabeldateisdate{% + \def\currentfield{date}% + }{% + \iflabeldateisanydate{% + \def\currentfield{\thefield{labeldatesource}date}% + }{% + \def\currentfield{\thefield{labeldatesource}}}}% + \iffieldannotation{inferred}{\mkbibbrackets{#1}}{#1}% + \undef\currentfield} \DeclareLabeldate{% \field{origdate} \field{date} @@ -56,50 +73,62 @@ \ifboolexpr{% not test {\iffieldundef{labeldatesource}} and test {\iffieldequalstr{labeldatesource}{pubstate}}}} +\newtoggle{blx@ox@nonodate} +\DeclareBibliographyOption[boolean]{nonodate}[true]{% + \settoggle{blx@ox@nonodate}{#1}} +\DeclareTypeOption[boolean]{nonodate}[true]{% + \settoggle{blx@ox@nonodate}{#1}} +\DeclareEntryOption[boolean]{nonodate}[true]{% + \settoggle{blx@ox@nonodate}{#1}} +\newbibmacro*{labeldate}{% + \ifboolexpr{ + test {\iffieldequalstr{labeldatesource}{nodate}} + and + togl {blx@ox@nonodate} + }{}{\printtext[datelabel]{\printlabeldateextra}}} \def\bbx@opt@mergedate@true{\bbx@opt@mergedate@year} \def\bbx@opt@mergedate@maximum{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{% - \iflabeldateisdate{% + \iflabeldateisdate{% + \printtext[datelabel]{% \printfield{issue}\clearfield{issue}% \setunit*{\addspace}% - \printdateextra - \clearfield{year}\clearfield{season}\clearfield{month}\clearfield{day}% + \printdateextra}% + \clearfield{year}\clearfield{season}\clearfield{month}\clearfield{day}% + }{% + \iflabeldateisanydate{% + \printtext[datelabel]{% + \csuse{print\thefield{labeldatesource}dateextra}}% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{\thefield{labeldatesource}season}% + \clearfield{\thefield{labeldatesource}month}% + \clearfield{\thefield{labeldatesource}day}% }{% - \iflabeldateisanydate{% - \csuse{print\thefield{labeldatesource}dateextra}% - \clearfield{\thefield{labeldatesource}year}% - \clearfield{\thefield{labeldatesource}season}% - \clearfield{\thefield{labeldatesource}month}% - \clearfield{\thefield{labeldatesource}day}% - }{% - \printlabeldateextra - \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% - }}}}}} + \usebibmacro{labeldate}% + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}}}}}} \def\bbx@opt@mergedate@compact{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{% - \iflabeldateisdate{% - \printdateextra - \clearfield{year}\clearfield{season}\clearfield{month}\clearfield{day}% + \iflabeldateisdate{% + \printtext[datelabel]{\printdateextra}% + \clearfield{year}\clearfield{season}\clearfield{month}\clearfield{day}% + }{% + \iflabeldateisanydate{% + \printtext[datelabel]{% + \csuse{print\thefield{labeldatesource}dateextra}}% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{\thefield{labeldatesource}season}% + \clearfield{\thefield{labeldatesource}month}% + \clearfield{\thefield{labeldatesource}day}% }{% - \iflabeldateisanydate{% - \csuse{print\thefield{labeldatesource}dateextra}% - \clearfield{\thefield{labeldatesource}year}% - \clearfield{\thefield{labeldatesource}season}% - \clearfield{\thefield{labeldatesource}month}% - \clearfield{\thefield{labeldatesource}day}% - }{% - \printlabeldateextra - \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% - }}}}}} + \usebibmacro{labeldate}% + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}}}}}} \def\bbx@opt@mergedate@year{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{\printlabeldateextra}% + \usebibmacro{labeldate}% \iflabeldateisdate{% \clearfield{year} }{% @@ -111,7 +140,7 @@ \def\bbx@opt@mergedate@basic{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{\printlabeldateextra}% + \usebibmacro{labeldate}% \iflabeldateisdate{% \ifboolexpr{ test {\ifdateshavedifferentprecision{label}{}} @@ -129,7 +158,7 @@ \def\bbx@opt@mergedate@minimum{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{\printlabeldateextra}% + \usebibmacro{labeldate}% \iflabeldateisdate{% \ifboolexpr{ test {\ifdateshavedifferentprecision{label}{}} @@ -153,7 +182,7 @@ \def\bbx@opt@mergedate@false{% \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{\printlabeldateextra}% + \usebibmacro{labeldate}% \iflabeldateisanydate{}{% \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% }}}} @@ -411,9 +440,29 @@ test {\iffieldundef{month}} }% }{}{} -\DeclareFieldFormat[online,image]{citetitle}{\mkbibquote{#1\isdot}} -\DeclareFieldFormat[legislation,legal]{citetitle}{#1} -\DeclareFieldFormat[manuscript,unpublished]{citetitle}{% +\DeclareFieldFormat[bookinbook]{citetitle}{% + \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{poem}} + or + test {\iffieldequalstr{entrysubtype}{play}} + }{% + \mkbibemph{#1}% + }{% + \mkbibquote{#1\isdot}}} +\DeclareFieldFormat[suppperiodical,inaudio,inmusic,inmovie,invideo,online,% + image,manuscript,unpublished]{citetitle}{% + \def\currentfield{title}% + \ifboolexpr{ + test {\iffieldannotation{descriptor}} + or ( + test {\iffieldundef{shorttitle}} + and + test {\iffieldundef{title}} + ) + }{#1}{\mkbibquote{#1\isdot}}% + \undef\currentfield} +\DeclareFieldFormat[suppperiodical,inaudio,inmusic,inmovie,invideo,online,% + image,manuscript,unpublished]{citetitle}{% \def\currentfield{title}% \ifboolexpr{ test {\iffieldannotation{descriptor}} @@ -424,6 +473,60 @@ ) }{#1}{\mkbibquote{#1\isdot}}% \undef\currentfield} +\DeclareFieldFormat[audio,music]{citetitle}{% + \def\currentfield{title}% + \ifboolexpr{ + test {\iffieldannotation{descriptor}} + or ( + test {\iffieldundef{shorttitle}} + and + test {\iffieldundef{title}} + ) + }{#1}{% + \iffieldequalstr{entrysubtype}{podcast}{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}}}% + \undef\currentfield} +\DeclareFieldFormat[movie,video]{citetitle}{% + \def\currentfield{title}% + \ifboolexpr{ + test {\iffieldannotation{descriptor}} + or ( + test {\iffieldundef{shorttitle}} + and + test {\iffieldundef{title}} + ) + }{#1}{% + \ifboolexpr{ + test {\iffieldequalstr{entrysubtype}{episode}} + or + test {\iffieldequalstr{entrysubtype}{clip}} + or + test {\iffieldequalstr{entrysubtype}{webcast}} + }{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}}}% + \undef\currentfield} +\DeclareFieldFormat[legislation,legal]{citetitle}{#1} +\DeclareFieldFormat[misc]% + {citetitle}{% + \def\currentfield{title}% + \ifboolexpr{ + test {\iffieldannotation{descriptor}} + or ( + test {\iffieldundef{shorttitle}} + and + test {\iffieldundef{title}} + ) + }{#1}{% + \iffieldequalstr{relatedtype}{in}{% + \mkbibquote{#1\isdot}% + }{% + \mkbibemph{#1}% + }}% + \undef\currentfield} \renewcommand*{\bibpagespunct}{% \ifboolexpr{ @@ -438,16 +541,31 @@ \addcomma\space }% } -\DeclareFieldFormat[manuscript]{datelabel}{\mkbibbrackets{#1}} -\DeclareFieldFormat[unpublished]{datelabel}{% - \iftoggle{blx@ox@ms}{\mkbibbrackets{#1}}{\mkbibparens{#1}}} -\renewbibmacro*{manuscript:date}{\usebibmacro{date}} \DeclareLabeltitle{% \field{shorttitle} \field{title} \field{maintitle} \field{library} } +\DeclareStyleSourcemap{% + \maps[datatype=bibtex]{% + \map[overwrite=true]{ + \step[notmatch=\regexp{nonodate}, fieldsource=options, final] + \step[fieldsource=sortyear, final] + \step[fieldset=options, append, fieldvalue={,nonodate}] + } + \map[overwrite=true]{ + \step[notfield=options, final] + \step[fieldsource=sortyear, final] + \step[fieldset=options, fieldvalue={nonodate}] + } + \map[overwrite=false]{ + \pertype{standard} + \step[notfield=author, + fieldsource=number, + fieldtarget=label] + } +}} %% %% Copyright (C) 2016–2018 Alex Ball diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx index 2f807628edb..047dbed9316 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx @@ -13,22 +13,20 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxyear.cbx} [\Version\space Author-year citation style inspired by the Oxford Guide to Style] \RequireCitationStyle{authoryear-comp} \ExecuteBibliographyOptions{uniquename=init} -\xpatchbibmacro{cite:labeldate+extradate}{% - \printfield{labelendyear}% -}{% - \iffieldundef{extradate}{% - \blx@ox@compyear - {\thefield{labelyear}}% - {\thefield{labelendyear}}% - }{% - \printfield{labelendyear}}% -}{}{} +\newbibmacro*{cite:labeldate+extradate}{% + \ifboolexpr{ + test {\iffieldundef{labelyear}} + or + ( test {\iffieldequalstr{labeldatesource}{nodate}} + and + togl {blx@ox@nonodate} ) + }{}{\printtext[bibhyperref]{\printlabeldateextra}}} \xpatchbibmacro{cite}{% \printnames{labelname}% }{% @@ -52,6 +50,7 @@ \iflabeldateisanydate {\addspace}% {\addcomma\space}} +\renewcommand*{\multicitedelim}{\addsemicolon\space} \renewcommand*{\compcitedelim}{\addsemicolon\space} \renewcommand*{\postnotedelim}{\addcolon\space} \xpatchbibmacro{textcite}{% diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx index 26cef3f2849..3cc2c63eed0 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx @@ -13,7 +13,7 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2018/02/09 v0.11.3} +\def\Version{2018/03/03 v0.12} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxyear.dbx} [\Version\space Data model for the Oxref family of styles] -- cgit v1.2.3