diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx | 578 |
1 files changed, 466 insertions, 112 deletions
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}% @@ -3703,6 +4049,14 @@ reference,mvreference,inreference]{volume}{% fieldvalue={=translator}] } \map[overwrite=false]{ + \pertype{standard} + \step[notfield=author, + fieldsource=number, + final] + \step[fieldset=sortkey, + origfieldval] + } + \map[overwrite=false]{ \pertype{audio} \pertype{music} \pertype{movie} @@ -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 %% |