From 20660a493139f7da8061a165133f5ff2bc3da266 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 18 Nov 2017 21:46:27 +0000 Subject: biblatex-oxref (18nov17) git-svn-id: svn://tug.org/texlive/trunk@45847 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 | 23 +- .../texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx | 128 ++++++ .../texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx | 41 ++ .../texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx | 43 ++ .../tex/latex/biblatex-oxref/oxnotes.bbx | 2 +- .../tex/latex/biblatex-oxref/oxnotes.cbx | 17 +- .../tex/latex/biblatex-oxref/oxnotes.dbx | 5 +- .../texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx | 86 ++++ .../texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx | 41 ++ .../texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx | 43 ++ .../texmf-dist/tex/latex/biblatex-oxref/oxref.bbx | 160 +++++-- .../texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx | 499 +++++++-------------- .../texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx | 26 +- .../texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx | 5 +- 16 files changed, 726 insertions(+), 397 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx (limited to 'Master/texmf-dist/tex/latex') 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 c491d1552b7..70481eeda8a 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{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \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 4f0d7ad6935..3ab0182f05b 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{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \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 9fc4d3a95fd..4637f32d8c4 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{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{english-oxref.lbx} [\Version\space Generic English conventions required by the biblatex-oxref styles] @@ -69,6 +69,26 @@ regulations = {{regulations}{regs\adddot}}, rule = {{rule}{r\adddot}}, rules = {{rules}{rr\adddot}}, + booktotal = {{book}{bk\adddot}}, + booktotals = {{books}{bks\adddot}}, + cantototal = {{canto}{canto}}, + cantototals = {{cantos}{cantos}}, + stanzatotal = {{stanza}{stanza}}, + stanzatotals = {{stanzas}{stanzas}}, + acttotal = {{Act}{Act}}, + acttotals = {{Acts}{Acts}}, + scenetotal = {{Scene}{Scene}}, + scenetotals = {{Scenes}{Scenes}}, + foliototal = {{folio}{fo\adddot}}, + foliototals = {{folios}{fos\adddot}}, + articletotal = {{article}{art\adddot}}, + articletotals = {{articles}{arts\adddot}}, + clausetotal = {{clause}{cl\adddot}}, + clausetotals = {{clauses}{cls\adddot}}, + regulationtotal = {{regulation}{reg\adddot}}, + regulationtotals = {{regulations}{regs\adddot}}, + ruletotal = {{rule}{r\adddot}}, + ruletotals = {{rules}{rr\adddot}}, facebook = {{Facebook post}{Facebook post}}, tweet = {{Twitter post}{Twitter post}}, podcast = {{podcast}{podcast}}, @@ -76,6 +96,7 @@ webcast = {{webcast}{webcast}}, poster = {{poster}{poster}}, nolocation = {{no place}{n\adddot p\adddot}}, + modified = {{last modified}{last modified}}, recorded = {{recorded}{recorded}}, uploaded = {{uploaded}{uploaded}}, anon = {{Anonymous}{Anon\adddot}}, diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx new file mode 100644 index 00000000000..d9163d0dd3a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.bbx @@ -0,0 +1,128 @@ +%% +%% This is file `oxalph.bbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `bbx,a') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/11/18 v0.11} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxalph.bbx} + [\Version\space Alphabetic bibliography style inspired by the Oxford Guide to Style] +\RequireBibliographyStyle{oxyear} +\xpatchcmd{\bbx@opt@mergedate@maximum}{% + \printdateextra +}{% + \printdate +}{}{} +\xpatchcmd{\bbx@opt@mergedate@maximum}{% + \csuse{print\thefield{labeldatesource}dateextra} +}{% + \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}{% + \printlabeldateextra +}{% + \printlabeldate +}{}{} +\ExecuteBibliographyOptions{mergedate} + +\ExecuteBibliographyOptions{labelalpha,sorting=anyt} + +\DeclareFieldFormat{labelalphawidth}{\mkbibbrackets{#1}} +\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}} + +\defbibenvironment{bibliography} + {\list + {\printtext[labelalphawidth]{% + \printfield{labelprefix}% +\printfield{labelalpha}% + \printfield{extraalpha}}} + {\setlength{\labelwidth}{\labelalphawidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{##1\hss}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{##1\hss}}} + {\endlist} + {\item} +\DeclareStyleSourcemap{% + \maps[datatype=bibtex]{% + \map[overwrite=false]{% + \step[fieldsource=title, final] + \step[fieldset=shortlabeltitle, origfieldval] + \step[fieldsource=subtitle] + \step[fieldset=shortlabeltitle, origfieldval, append=true] + \step[fieldsource=shortlabeltitle, + match=\regexp{[^\p{Lu}]}, + replace=\regexp{}] +}}} +\DeclareLabelalphaTemplate{% + \labelelement{ + \field[final]{shorthand} + \field{label} + \field[strwidth=3,strside=left,ifnames=1]{labelname} + \field[strwidth=1,strside=left]{labelname} + \field[strwidth=3,strside=left]{shortlabeltitle} + \field[strwidth=4,strside=left]{labeltitle} + } + \labelelement{ + \field[strwidth=2,strside=right]{labelyear} + } +} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxalph.bbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx new file mode 100644 index 00000000000..79ebcad979c --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.cbx @@ -0,0 +1,41 @@ +%% +%% This is file `oxalph.cbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `cbx,a') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/11/18 v0.11} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxalph.cbx} + [\Version\space Alphabetic citation style inspired by the Oxford Guide to Style] +\RequireCitationStyle{alphabetic} +\renewcommand*{\compcitedelim}{\addsemicolon\space} +\renewcommand*{\postnotedelim}{\addcolon\space} +\xpatchbibmacro{textcite}{% + \printnames{labelname}% +}{% + \ifboolexpr{ + test {\iffieldequalstr{labelnamesource}{author}} + and + togl {blx@ox@autoanon} + and + test {\iffieldequals{rawauthor}{\oxrefanon}} + }{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% + }{% + \printnames{labelname}% + }% +}{}{} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxalph.cbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx new file mode 100644 index 00000000000..913bd84de74 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxalph.dbx @@ -0,0 +1,43 @@ +%% +%% This is file `oxalph.dbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `dbx,a') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/11/18 v0.11} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxalph.dbx} + [\Version\space Data model for the Oxref family of styles] +\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,title} +\DeclareDatamodelFields[type=field,datatype=literal]{datetype,origdatetype} +\DeclareDatamodelFields[type=list,datatype=name]{authoraddon,editoraddon,serieseditor} +\DeclareDatamodelFields[type=list,datatype=name]{jointauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{jointauthortype} +\DeclareDatamodelFields[type=field,datatype=literal]{rawauthor} +\DeclareDatamodelEntryfields{datetype,origdatetype,authoraddon,editoraddon,% + serieseditor,jointauthor,jointauthortype,rawauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{shortlabeltitle} +\DeclareDatamodelEntrytypes{manuscript} +\DeclareDatamodelFields[type=field,datatype=literal]{catalog,dating,% + shortlibrary,columns, collection,shortcollection,usualtitle,shelfmark,% + sortshelfmark,support,columns,layer} +\DeclareDatamodelFields[type=list,datatype=name]{scribe,owner} +\DeclareDatamodelFields[type=list,datatype=literal]{origin} +\DeclareDatamodelEntryfields[manuscript]{catalog,dating,shortlibrary,% + shortcollection,columns,languages,collection,usualtitle,shelfmark,% + sortshelfmark,support,columns,origin,scribe,owner} +\DeclareDatamodelFields[type=field,datatype=date]{pardate} +\DeclareDatamodelEntryfields[jurisdiction]{pardate} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxalph.dbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.bbx index 6b50f6a13c3..cf0095c9957 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{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \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 10d5274686b..07d0cb6627d 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.cbx @@ -13,11 +13,26 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnotes.cbx} [\Version\space Footnote-based citation style inspired by the Oxford Guide to Style] \RequireCitationStyle{verbose} +\xpatchbibmacro{textcite}{% + \printnames{labelname}% +}{% + \ifboolexpr{ + test {\iffieldequalstr{labelnamesource}{author}} + and + togl {blx@ox@autoanon} + and + test {\iffieldequals{rawauthor}{\oxrefanon}} + }{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% + }{% + \printnames{labelname}% + }% +}{}{} %% %% Copyright (C) 2016 Alex Ball %% diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnotes.dbx index 01b9a4e8e3d..314a2d306a3 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{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxnotes.dbx} [\Version\space Data model for the Oxref family of styles] @@ -25,6 +25,7 @@ \DeclareDatamodelFields[type=field,datatype=literal]{rawauthor} \DeclareDatamodelEntryfields{datetype,origdatetype,authoraddon,editoraddon,% serieseditor,jointauthor,jointauthortype,rawauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{shortlabeltitle} \DeclareDatamodelEntrytypes{manuscript} \DeclareDatamodelFields[type=field,datatype=literal]{catalog,dating,% shortlibrary,columns, collection,shortcollection,usualtitle,shelfmark,% @@ -32,7 +33,7 @@ \DeclareDatamodelFields[type=list,datatype=name]{scribe,owner} \DeclareDatamodelFields[type=list,datatype=literal]{origin} \DeclareDatamodelEntryfields[manuscript]{catalog,dating,shortlibrary,% - shortcollection,columns,languages, collection,usualtitle,shelfmark,% + shortcollection,columns,languages,collection,usualtitle,shelfmark,% sortshelfmark,support,columns,origin,scribe,owner} \DeclareDatamodelFields[type=field,datatype=date]{pardate} \DeclareDatamodelEntryfields[jurisdiction]{pardate} diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx new file mode 100644 index 00000000000..95f5f085205 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.bbx @@ -0,0 +1,86 @@ +%% +%% This is file `oxnum.bbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `bbx,m') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/11/18 v0.11} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxnum.bbx} + [\Version\space Numeric bibliography style inspired by the Oxford Guide to Style] +\RequireBibliographyStyle{oxref} +\DeclareNameAlias{author}{bib-family-given/cite-given-family} +\DeclareNameAlias[related:reviewof]{author}{given-family} +\DeclareNameAlias{editor}{bib-family-given/cite-given-family} +\DeclareNameAlias[related:reviewof]{editor}{given-family} +\xpatchbibmacro{author}{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% +}{% + \iftoggle{blx@ox@abbranon}{% + \iftoggle{blx@ox@scnames}{\bibcpsstring[\textsc]{anon}}{\bibcpsstring{anon}}% + }{% + \iftoggle{blx@ox@scnames}{\bibcplstring[\textsc]{anon}}{\bibcplstring{anon}}% + }% +}{}{} +\ExecuteBibliographyOptions{labelnumber} + +\providebool{bbx:subentry} + +\DeclareBibliographyOption[boolean]{subentry}[true]{% + \setbool{bbx:subentry}{#1}} + +\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}} +\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}} +\DeclareFieldFormat{shorthandwidth}{\mkbibbrackets{#1}} + +\defbibenvironment{bibliography} + {\list + {\printtext[labelnumberwidth]{% +\printfield{labelprefix}% +\printfield{labelnumber}}} + {\setlength{\labelwidth}{\labelnumberwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}% + \renewcommand*{\makelabel}[1]{\hss##1}} + {\endlist} + {\item} + +\defbibenvironment{shorthand} + {\list + {\printfield[shorthandwidth]{shorthand}} + {\setlength{\labelwidth}{\shorthandwidth}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\labelsep}{\biblabelsep}% + \addtolength{\leftmargin}{\labelsep}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}% + \renewcommand*{\makelabel}[1]{\hss##1}}} + {\endlist} + {\item} + +\DeclareBibliographyDriver{set}{% + \entryset + {\ifbool{bbx:subentry} + {\printfield[bibentrysetcount]{entrysetcount}% +\printunit*{\addnbspace}} + {}} + {}% + \newunit\newblock + \usebibmacro{setpageref}% + \finentry} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxnum.bbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx new file mode 100644 index 00000000000..6f678321cc7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.cbx @@ -0,0 +1,41 @@ +%% +%% This is file `oxnum.cbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `cbx,m') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/11/18 v0.11} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxnum.cbx} + [\Version\space Numeric citation style inspired by the Oxford Guide to Style] +\RequireCitationStyle{numeric-comp} +\renewcommand*{\compcitedelim}{\addsemicolon\space} +\renewcommand*{\postnotedelim}{\addcolon\space} +\xpatchbibmacro{textcite}{% + \printnames{labelname}% +}{% + \ifboolexpr{ + test {\iffieldequalstr{labelnamesource}{author}} + and + togl {blx@ox@autoanon} + and + test {\iffieldequals{rawauthor}{\oxrefanon}} + }{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% + }{% + \printnames{labelname}% + }% +}{}{} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxnum.cbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx new file mode 100644 index 00000000000..d13af69bc7d --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxnum.dbx @@ -0,0 +1,43 @@ +%% +%% This is file `oxnum.dbx', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% oxref.dtx (with options: `dbx,m') +%% ---------------------------------------------------------------- +%% biblatex-oxref --- Biblatex styles inspired by the Oxford Guide to Style +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +\def\Version{2017/11/18 v0.11} +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesFile{oxnum.dbx} + [\Version\space Data model for the Oxref family of styles] +\DeclareDatamodelConstant[type=list]{nameparts}{prefix,family,suffix,given,title} +\DeclareDatamodelFields[type=field,datatype=literal]{datetype,origdatetype} +\DeclareDatamodelFields[type=list,datatype=name]{authoraddon,editoraddon,serieseditor} +\DeclareDatamodelFields[type=list,datatype=name]{jointauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{jointauthortype} +\DeclareDatamodelFields[type=field,datatype=literal]{rawauthor} +\DeclareDatamodelEntryfields{datetype,origdatetype,authoraddon,editoraddon,% + serieseditor,jointauthor,jointauthortype,rawauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{shortlabeltitle} +\DeclareDatamodelEntrytypes{manuscript} +\DeclareDatamodelFields[type=field,datatype=literal]{catalog,dating,% + shortlibrary,columns, collection,shortcollection,usualtitle,shelfmark,% + sortshelfmark,support,columns,layer} +\DeclareDatamodelFields[type=list,datatype=name]{scribe,owner} +\DeclareDatamodelFields[type=list,datatype=literal]{origin} +\DeclareDatamodelEntryfields[manuscript]{catalog,dating,shortlibrary,% + shortcollection,columns,languages,collection,usualtitle,shelfmark,% + sortshelfmark,support,columns,origin,scribe,owner} +\DeclareDatamodelFields[type=field,datatype=date]{pardate} +\DeclareDatamodelEntryfields[jurisdiction]{pardate} +%% +%% Copyright (C) 2016 Alex Ball +%% +%% End of file `oxnum.dbx'. diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx index ae5b9e4521b..7846ef62050 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxref.bbx @@ -13,16 +13,14 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxref.bbx} [\Version\space Base settings for bibliography styles inspired by the Oxford Guide to Style] \RequirePackage{xpatch} \RequirePackage{xstring} \RequirePackage{graphicx} -\DeclareLanguageMapping{english}{british-oxref} -\DeclareLanguageMapping{british}{british-oxref} -\DeclareLanguageMapping{american}{american-oxref} +\DeclareLanguageMappingSuffix{-oxref} \NewBibliographyString{% director, performer, reader, conductor, bydirector, byperformer, byreader, byconductor, byserieseditor, @@ -30,8 +28,12 @@ inpressin, book, books, canto, cantos, stanza, stanzas, act, acts, scene, scenes, folio, folios, article, articles, clause, clauses, regulation, regulations, rule, rules, + booktotal, booktotals, cantototal, cantototals, stanzatotal, stanzatotals, + acttotal, acttotals, scenetotal, scenetotals, foliototal, foliototals, + articletotal, articletotals, clausetotal, clausetotals, regulationtotal, + regulationtotals, ruletotal, ruletotals, facebook, tweet, podcast, clip, webcast, poster, - nolocation, recorded, uploaded, + nolocation, modified, recorded, uploaded, anon, pseudo, urldown, 1column, 2column, inflayer, suplayer, paper, papyrus, pergament, eucase, eujoinedcases, commissiondecision, application, @@ -44,10 +46,13 @@ \renewcommand*{\subtitlepunct}{\addcolon\space} \renewcommand*{\intitlepunct}{\nopunct\space} \renewcommand*{\bibnamedash}{\resizebox{2em}{\height}{\textemdash}\addthinspace} -\renewcommand*{\revsdnamedelim}{\addcomma} \newcommand*{\recordseriespunct}{\addcomma\space} \newcommand*{\relatedtypepunct}{\addsemicolon\space} \renewcommand*{\relateddelim}{\addsemicolon\space} +\DeclareDelimFormat{revsdnamedelim}{\addcomma} +\DeclareDelimFormat{authortypedelim}{\addspace} +\DeclareDelimFormat{editortypedelim}{\addspace} +\DeclareDelimFormat{translatortypedelim}{\addspace} \DeclareNameAlias{bookauthor}{default} \DeclareNameAlias{bookeditor}{default} \newtoggle{blx@ox@scnames} @@ -83,20 +88,28 @@ \ifprefchar{}{\bibnamedelimc}}% \mkbibnamefamily{#1}\isdot \ifdefvoid{#4}{}{\ifnumeral{#4}{}{\addcomma}\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% - \ifdefvoid{#5}{}{\ifgiveninits{}{\mkbibnametitle{#5}\isdot\bibnamedelimd}}% - \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}% + \ifboolexpe{% + (test {\ifdefvoid{#5}} or not togl {blx@ox@nametitle}) + and + test {\ifdefvoid{#2}}% + }{}{% + \revsdnamepunct}% + \ifdefvoid{#5}{}{\iftoggle{blx@ox@nametitle}{\bibnamedelimd\mkbibnametitle{#5}\isdot}{}}% + \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% }{% \usebibmacro{name:delim}{#1}% \usebibmacro{name:hook}{#1}% \mkbibnamefamily{#1}\isdot \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}% \ifboolexpe{% + (test {\ifdefvoid{#5}} or not togl {blx@ox@nametitle}) + and test {\ifdefvoid{#2}} and test {\ifdefvoid{#3}}% }{}{% \revsdnamepunct}% - \ifdefvoid{#5}{}{\iftoggle{blx@ox@nametitle}{\mkbibnametitle{#5}\isdot\bibnamedelimd}{}}% + \ifdefvoid{#5}{}{\iftoggle{blx@ox@nametitle}{\bibnamedelimd\mkbibnametitle{#5}\isdot}{}}% \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}% \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}} \def\blx@ox@lasthash{} @@ -302,7 +315,7 @@ \ifnumgreater{\c@minnames}{1}{% \finalandcomma }{}% - \andothersdelim\bibstring{andothers}% + \printdelim{andothersdelim}\bibstring{andothers}% }{}% \restorebibmacro{name:andothers}% } @@ -434,7 +447,7 @@ {} {\setunit{\addspace}% \printfield{nameaddon}}% - \setunit{\addspace}}% + \setunit{\printdelim{authortypedelim}}}% \iffieldundef{authortype} {} {\usebibmacro{authorstrg}% @@ -454,7 +467,7 @@ {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\usebibmacro{editor+alteditor}% - \setunit{\addspace}% + \setunit{\printdelim{editortypedelim}}% \usebibmacro{bbx:savehash}}% \usebibmacro{#1}% \clearname{editor}} @@ -473,7 +486,7 @@ {\usebibmacro{bbx:dashcheck} {\bibnamedash} {\printnames{translator}% - \setunit{\addspace}% + \setunit{\printdelim{translatortypedelim}}% \usebibmacro{bbx:savehash}}% \usebibmacro{#1}% \clearname{translator}% @@ -563,6 +576,20 @@ \StrGobbleLeft{0\num@two}{\Result}}% {\num@two}% } +\patchcmd{\mkdaterangefull}{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% +}{% + \iffieldundef{#2endmonth}% + {\blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% +}{}{} +\patchcmd{\mkdaterangefullextra}{% + \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% +}{% + \iffieldundef{#2endmonth}% + {\blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}}% + {\csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% +}{}{} \patchcmd{\mkdaterangetrunc}{% \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% }{% @@ -589,6 +616,8 @@ \ifboolexpr{ test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} and test {\iffieldundef{hour}} @@ -607,20 +636,17 @@ \DeclareFieldFormat{origdatetype}{% \ifbibstring{#1}{\bibstring{#1}}{#1\isdot}% } -\newbibmacro*{origdate+time}[1][]{% +\newbibmacro*{origdate+time}{% \ifboolexpr{ test {\iffieldundef{origyear}} and + test {\iffieldundef{origseason}} + and test {\iffieldundef{origmonth}} and test {\iffieldundef{orighour}} }{}{% - \ifstrempty{#1}{% - \printfield{origdatetype}% - }{% - \iffieldundef{origdatetype}% - {\bibstring{#1}}% - {\printfield{origdatetype}}}}% + \printfield{origdatetype}}% \setunit*{\addspace}% \iftoggle{blx@ox@timefirst}{% \printorigtime @@ -856,6 +882,8 @@ and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} }{}{% \ifboolexpr{ @@ -1078,6 +1106,8 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} }{}{% \nopunct @@ -1102,6 +1132,8 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} }{}{% \nopunct @@ -1727,6 +1759,8 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} }{}{% \nopunct @@ -1761,6 +1795,8 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} }{}{% \nopunct @@ -1797,6 +1833,8 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} }{}{% \nopunct @@ -1913,7 +1951,7 @@ reference,mvreference,inreference]{volume}{% \newbibmacro*{publisher+type+series+number+date}{% \iffieldundef{number}{}{% \setunit{\addcomma\space}% - \usebibmacro{origdate+time}[recorded]% + \usebibmacro{origdate+time}% }% \ifboolexpr{% test {\iflistundef{origpublisher}} @@ -1930,10 +1968,14 @@ reference,mvreference,inreference]{volume}{% and test {\iffieldundef{year}} and + test {\iffieldundef{season}} + and test {\iffieldundef{month}} and test {\iffieldundef{eventyear}} and + test {\iffieldundef{eventseason}} + and test {\iffieldundef{eventmonth}} and test {\iffieldundef{hour}} @@ -1959,7 +2001,7 @@ reference,mvreference,inreference]{volume}{% \printfield{number}% \iffieldundef{number}{% \setunit{\addcomma\space}% - \usebibmacro{origdate+time}[recorded]% + \usebibmacro{origdate+time}% }{}% \setunit{\addcomma\space}% \usebibmacro{date+time}}}} @@ -3143,8 +3185,7 @@ reference,mvreference,inreference]{volume}{% \newcommand{\columnslayerpunct}{\addsemicolon\addspace}% \def\recto{r} \def\verso{v} -\NumCheckSetup{\def\recto{r}\def\verso{v}} -\DeclareNumChars*{rv} +\NumCheckSetup{\def\recto{}\def\verso{}} \DeclareFieldFormat[manuscript,unpublished]{title}{% \def\currentfield{title}% \iffieldannotation{descriptor}{#1}{\mkbibquote{#1\isdot}}% @@ -3403,8 +3444,8 @@ reference,mvreference,inreference]{volume}{% }{}}% \renewbibmacro*{related:init}{}% \DeclareNameAlias{sortname}{default}% - \ifbibmacroundef{date+extrayear}{}{% - \renewbibmacro*{date+extrayear}{}% + \ifbibmacroundef{date+extradate}{}{% + \renewbibmacro*{date+extradate}{}% \renewbibmacro*{date}{\printdate}}% \renewbibmacro*{pageref}{}% }{% @@ -3490,7 +3531,7 @@ reference,mvreference,inreference]{volume}{% \usebibmacro{finentry}} \DeclareFieldFormat{related:multivolume}{#1} -\newbibmacro*{related:multivolume}[1]{% +\renewbibmacro*{related:multivolume}[1]{% \entrydata*{#1}{% \printtext{% \printfield{volume}% @@ -3518,7 +3559,7 @@ reference,mvreference,inreference]{volume}{% \printfield{volumes}% \newunit \usebibmacro{series+number+publisher+location+date}}} -\newbibmacro*{related:bytranslator}[1]{% +\renewbibmacro*{related:bytranslator}[1]{% \entrydata{#1}{% \renewbibmacro*{name:hook}[1]{% \ifnumequal{\value{listcount}}{1} @@ -3542,8 +3583,8 @@ reference,mvreference,inreference]{volume}{% \ifnumequal{\value{blx@ox@relitem}}{\value{bbx:relatedtotal}}% {\bibstring{and}\addspace}{}% \entrydata{#1}{% - \ifbibmacroundef{date+extrayear}{}{% - \renewbibmacro*{date+extrayear}{}}% + \ifbibmacroundef{date+extradate}{}{% + \renewbibmacro*{date+extradate}{}}% \usebibmacro{author}% \setunit{\printdelim{nametitledelim}}\newblock \usebibmacro{title}}} @@ -3570,9 +3611,9 @@ reference,mvreference,inreference]{volume}{% {}}% \renewbibmacro*{related:init}{}% \DeclareNameAlias{sortname}{default}% - \ifbibmacroundef{date+extrayear} + \ifbibmacroundef{date+extradate} {} - {\renewbibmacro*{date+extrayear}{}% + {\renewbibmacro*{date+extradate}{}% \renewbibmacro*{date}{\printdate}}% \renewbibmacro*{pageref}{}} {\thefield{entrytype}}% @@ -3651,6 +3692,17 @@ reference,mvreference,inreference]{volume}{% \step[fieldset=jointauthortype, fieldvalue={=translator}] } + \map[overwrite=false]{ + \pertype{audio} + \pertype{music} + \pertype{movie} + \pertype{video} + \pertype{inaudio} + \pertype{inmusic} + \pertype{inmovie} + \pertype{invideo} + \step[fieldset=origdatetype,fieldvalue={recorded}] + } \map[overwrite=false]{ \pertype{jurisdiction} \step[fieldsource=reporter, @@ -3797,7 +3849,7 @@ reference,mvreference,inreference]{volume}{% } }% } -\DeclareSortingScheme{nty}{ +\DeclareSortingTemplate{nty}{ \sort{ \field{presort} } @@ -3834,10 +3886,50 @@ reference,mvreference,inreference]{volume}{% } } -\DeclareSortingScheme{nyt}{ +\DeclareSortingTemplate{nyt}{ + \sort{ + \field{presort} + } + \sort[final]{ + \field{sortkey} + } + \sort{ + \field{sortname} + \field{author} + \field{editor} + \field{translator} + \field{sorttitle} + \field{title} + \field{library} + } + \sort{ + \field{sortyear} + \field{year} + } + \sort{ + \field{sorttitle} + \field{title} + } + \sort{ + \field{volume} + \literal{0} + } + \sort{ + \field{location} + } + \sort{ + \field{collection} + \field{series} + } +} + +\DeclareSortingTemplate{anyt}{ \sort{ \field{presort} } + \sort{ + \field{labelalpha} + } \sort[final]{ \field{sortkey} } diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx index 15ddd94fa91..88c2516b65a 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.bbx @@ -13,12 +13,12 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxyear.bbx} [\Version\space Author-year bibliography style inspired by the Oxford Guide to Style] \RequireBibliographyStyle{oxref} -\ExecuteBibliographyOptions{uniquename=init,giveninits,labeldateparts,sorting=nyt,pagetracker,maxcitenames=2} +\ExecuteBibliographyOptions{giveninits,labeldateparts,sorting=nyt,pagetracker,maxcitenames=2} \DeclareBibliographyOption{mergedate}[true]{% \ifcsdef{bbx@opt@mergedate@#1} {\csuse{bbx@opt@mergedate@#1}} @@ -26,265 +26,155 @@ {Invalid option 'mergedate=#1'} {Valid values are 'maximum', 'compact', 'basic', 'minimum',\MessageBreak 'year', 'true' (=year), and 'false'.}}} -\providebibmacro*{date+extrayear}{} +\providebibmacro*{date+extradate}{} \DeclareFieldFormat{datelabel}{\mkbibparens{#1}} -\newbibmacro*{labelyearrange}{% - \printfield{labelyear}% - \printfield{extrayear}% - \iffieldundef{labelendyear}{}{% - \iffieldsequal{labelyear}{labelendyear}{}{% - \iffieldequalstr{labelendyear}{}{% - \mbox{\bibdaterangesep}% - }{% - \bibdaterangesep - \iffieldundef{extrayear}{% - \blx@ox@compyear - {\thefield{labelyear}}% - {\thefield{labelendyear}}% - }{% - \printfield{labelendyear}}}}}} +\DeclareLabeldate{% + \field{origdate} + \field{date} + \field{year} + \field{eventdate} + \field{pubstate} + \literal{nodate} +} +\DeclareFieldFormat{extradate}{% + \iffieldundef{\thefield{labeldatesource}}{% + \iffieldnums{\thefield{labeldatesource}year}{}{~}% + }{% + \iffieldnums{\thefield{labeldatesource}}{}{~}% + }% + \mkbibemph{\mknumalph{#1}}}% + +\def\iflabeldateisanydate{% + \ifboolexpr{% + togl {blx@labeldateparts} + and not test {\iffieldundef{labeldatesource}} + and not test {\iffieldundef{\thefield{labeldatesource}year}}}} +\def\iflabeldateispubstate{% + \ifboolexpr{% + not test {\iffieldundef{labeldatesource}} + and test {\iffieldequalstr{labeldatesource}{pubstate}}}} + \def\bbx@opt@mergedate@true{\bbx@opt@mergedate@year} \def\bbx@opt@mergedate@maximum{% - \renewbibmacro*{date+extrayear}{% + \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% \printtext[datelabel]{% - \printfield{issue}% - \setunit*{\addspace}% - \ifboolexpr{% - not test {\iffieldundef{\thefield{labeldatesource}year}} - and - test {\iffieldsequal{\thefield{labeldatesource}year}{labelyear}} - }{% - \printlabeldateextra + \iflabeldateisdate{% + \printfield{issue}\clearfield{issue}% + \setunit*{\addspace}% + \printdateextra + \clearfield{year}\clearfield{season}\clearfield{month}\clearfield{day}% }{% - \printfield{labelyear}% - \printfield{extrayear}}}% - \iffieldundef{\thefield{labeldatesource}year}{% - \iffieldundef{\thefield{labeldatesource}}{}{% - \iffieldequalstr{labeldatesource}{pubstate}{}{% - \clearfield{\thefield{labeldatesource}}}}% - }{% - \clearfield{\thefield{labeldatesource}year}% - \clearfield{end\thefield{labeldatesource}year}% - \clearfield{\thefield{labeldatesource}month}% - \clearfield{end\thefield{labeldatesource}month}% - \clearfield{\thefield{labeldatesource}day}% - \clearfield{end\thefield{labeldatesource}day}% - }% - \clearfield{issue}}}}% + \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}}}% + }}}}}}% \def\bbx@opt@mergedate@compact{% - \renewbibmacro*{date+extrayear}{% + \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% \printtext[datelabel]{% - \ifboolexpr{% - not test {\iffieldundef{\thefield{labeldatesource}year}} - and - test {\iffieldsequal{\thefield{labeldatesource}year}{labelyear}} + \iflabeldateisanydate{% + \csuse{print\thefield{labeldatesource}dateextra}% + \clearfield{\thefield{labeldatesource}year}% + \clearfield{\thefield{labeldatesource}season}% + \clearfield{\thefield{labeldatesource}month}% + \clearfield{\thefield{labeldatesource}day}% }{% \printlabeldateextra - }{% - \printfield{labelyear}% - \printfield{extrayear}}}% - \iffieldundef{\thefield{labeldatesource}year}{% - \iffieldundef{\thefield{labeldatesource}}{}{% - \iffieldequalstr{labeldatesource}{pubstate}{}{% - \clearfield{\thefield{labeldatesource}}}}% - }{% - \clearfield{\thefield{labeldatesource}year}% - \clearfield{end\thefield{labeldatesource}year}% - \clearfield{\thefield{labeldatesource}month}% - \clearfield{end\thefield{labeldatesource}month}% - \clearfield{\thefield{labeldatesource}day}% - \clearfield{end\thefield{labeldatesource}day}% - }}}} + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% + }}}}}% \def\bbx@opt@mergedate@year{% - \renewbibmacro*{date+extrayear}{% + \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{% - \usebibmacro{labelyearrange}}% - \iffieldundef{\thefield{labeldatesource}year}{% - \iffieldundef{\thefield{labeldatesource}}{}{% - \iffieldequalstr{labeldatesource}{pubstate}{}{% - \clearfield{\thefield{labeldatesource}}}}% - }{% + \printtext[datelabel]{\printlabeldateextra}% + \iflabeldateisanydate{% \clearfield{\thefield{labeldatesource}year}% - \clearfield{end\thefield{labeldatesource}year}% - }}}} + }{% + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% + }}}}% \def\bbx@opt@mergedate@basic{% - \renewbibmacro*{date+extrayear}{% + \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{% - \usebibmacro{labelyearrange}}% - \iffieldundef{\thefield{labeldatesource}year}{% - \iffieldundef{\thefield{labeldatesource}}{}{% - \iffieldequalstr{labeldatesource}{pubstate}{}{% - \clearfield{\thefield{labeldatesource}}}}% + \printtext[datelabel]{\printlabeldateextra}% + \iflabeldateisanydate{% + \ifdateshavedifferentprecision{label}{\thefield{labeldatesource}}{}{% + \ifboolexpr{ + test {\iffieldequalstr{labeldatesource}{}} + and + not test {\iffieldundef{issue}} + }{}{% + \clearfield{\thefield{labeldatesource}year}}}% }{% - \ifboolexpr{ - test {\iffieldundef{\thefield{labeldatesource}month}} - and ( - test {\iffieldundef{issue}} - or - not test {\iffieldequalstr{labeldatesource}{}} - )}{% - \clearfield{\thefield{labeldatesource}year}% - \clearfield{end\thefield{labeldatesource}year}% - }{}}}}}% + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% + }}}} \def\bbx@opt@mergedate@minimum{% - \renewbibmacro*{date+extrayear}{% + \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{% - \usebibmacro{labelyearrange}}% - \iffieldundef{\thefield{labeldatesource}year}{% - \iffieldundef{\thefield{labeldatesource}}{}{% - \iffieldequalstr{labeldatesource}{pubstate}{}{% - \clearfield{\thefield{labeldatesource}}}}% - }{% + \printtext[datelabel]{\printlabeldateextra}% + \iflabeldateisanydate{% \ifboolexpr{ - test {\iffieldundef{\thefield{labeldatesource}month}} - and - test {\iffieldundef{extrayear}} - and ( - test {\iffieldundef{issue}} - or - not test {\iffieldequalstr{labeldatesource}{}} - )}{% - \clearfield{\thefield{labeldatesource}year}% - \clearfield{end\thefield{labeldatesource}year}% - }{}}}}}% + test {\ifdateshavedifferentprecision{label}{\thefield{labeldatesource}}} + or + not test {\iffieldundef{extradate}} + }{}{% + \ifboolexpr{ + test {\iffieldequalstr{labeldatesource}{}} + and + not test {\iffieldundef{issue}} + }{}{% + \clearfield{\thefield{labeldatesource}year}}}% + }{% + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% + }}}} \def\bbx@opt@mergedate@false{% - \renewbibmacro*{date+extrayear}{% + \renewbibmacro*{date+extradate}{% \iffieldundef{labelyear}{}{% - \printtext[datelabel]{% - \usebibmacro{labelyearrange}}}}% - \iffieldundef{\thefield{labeldatesource}year}{% - \iffieldundef{\thefield{labeldatesource}}{}{% - \iffieldequalstr{labeldatesource}{pubstate}{}{% - \clearfield{\thefield{labeldatesource}}}}}{}} + \printtext[datelabel]{\printlabeldateextra}% + \iflabeldateisanydate{}{% + \iflabeldateispubstate{}{\clearfield{\thefield{labeldatesource}}}% + }}}} \ExecuteBibliographyOptions{mergedate} -\DeclareRobustCommand*{\mkdaterangefull}[2]{% - \blx@metadateinfo{#2}% - \iffieldundef{#2year}{% - \iffieldundef{#2month}{}{% - \datecircaprint - \printtext[#2date]{% - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{}{#2month}{#2day}% - \blx@printtime{#2}{}% - }{% - \csuse{mkbibseasondate#1}{}{#2season}}% - \dateuncertainprint - \iffieldundef{#2endmonth}{}{% - \iffieldequalstr{#2endmonth}{}{% - \mbox{\bibdaterangesep}% - }{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% - \blx@printtime{#2}{end}% - }{% - \csuse{mkbibseasondate#1}{}{#2endseason}}% - \enddateuncertainprint}}}}% - }{% +\newrobustcmd*{\mknoyeardaterangefull}[2]{% + \iffieldundef{#2month}{}{% \datecircaprint \printtext[#2date]{% - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \blx@printtime{#2}{}% + \iffieldundef{#2season}{% + \csuse{mkbibdate#1}{}{#2month}{#2day}% + \blx@printtime{#2}{}% + }{% + \csuse{mkbibseasondate#1}{}{#2season}}% + \dateuncertainprint + \iffieldundef{#2endmonth}{}{% + \iffieldequalstr{#2endmonth}{}{% + \mbox{\bibdaterangesep}% }{% - \csuse{mkbibseasondate#1}{#2year}{#2season}}% - \dateuncertainprint - \dateeraprint{#2year}% - \iffieldundef{#2endyear}{}{% - \iffieldequalstr{#2endyear}{}{% - \mbox{\bibdaterangesep}% - }{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% - \blx@printtime{#2}{end}% - }{% - \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}} - -\DeclareRobustCommand*{\mkdaterangetrunc}[2]{% - \blx@metadateinfo{#2}% - \iffieldundef{#2year}{% - \iffieldundef{#2month}{}{% - \datecircaprint - \printtext[#2date]{% + \bibdaterangesep + \enddatecircaprint \iffieldundef{#2season}{% - \ifboolexpr{ - test {\iffieldsequal{labelyear}{labelendyear}} - and - test {\iffieldsequal{#2month}{#2endmonth}} - }{% - \csuse{mkbibdate#1}{}{}{#2day}% - }{% - \csuse{mkbibdate#1}{}{#2month}{#2day}}% + \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% + \blx@printtime{#2}{end}% }{% - \csuse{mkbibseasondate#1}{}{#2season}}% - \dateuncertainprint - \iffieldundef{#2endmonth}{}{% - \iffieldequalstr{#2endmonth}{}{% - \mbox{\bibdaterangesep}% - }{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% - }{% - \csuse{mkbibseasondate#1}{}{#2endseason}}% - \enddateuncertainprint}}}}% - }{% + \csuse{mkbibseasondate#1}{}{#2endseason}}% + \enddateuncertainprint}}}}} +\newrobustcmd*{\mknoyeardaterangetrunc}[2]{% + \iffieldundef{#2month}{}{% \datecircaprint \printtext[#2date]{% \iffieldundef{#2season}{% - \iffieldsequal{#2year}{#2endyear}{% - \iffieldsequal{#2month}{#2endmonth}{% - \csuse{mkbibdate#1}{}{}{#2day}% - }{% - \csuse{mkbibdate#1}{}{#2month}{#2day}}% - }{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \iffieldsequal{#2dateera}{#2enddateera}{}{% - \dateeraprint{#2year}}}% - }{% - \iffieldsequal{#2year}{#2endyear}{% - \csuse{mkbibseasondate#1}{}{#2season}% + \ifboolexpr{ + test {\iffieldsequal{labelyear}{labelendyear}} + and + test {\iffieldsequal{#2month}{#2endmonth}} }{% - \csuse{mkbibseasondate#1}{#2year}{#2season}% - \iffieldsequal{#2dateera}{#2enddateera}{}{% - \dateeraprint{#2year}}}}% - \dateuncertainprint - \iffieldundef{#2endyear}{}{% - \iffieldequalstr{#2endyear}{}{% - \mbox{\bibdaterangesep}% + \csuse{mkbibdate#1}{}{}{#2day}% }{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \iffieldundef{#2endmonth}{% - \blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}% - }{% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - }{% - \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}} - -\DeclareRobustCommand*{\mkdaterangefullextra}[2]{% - \blx@metadateinfo{#2}% - \iffieldundef{#2year}{% - \iffieldundef{#2month}{}{% - \datecircaprint - \printtext[#2date]{% - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{}{#2month}{#2day}% - \blx@printtime{#2}{}% + \csuse{mkbibdate#1}{}{#2month}{#2day}}% }{% \csuse{mkbibseasondate#1}{}{#2season}}% \dateuncertainprint @@ -296,122 +186,29 @@ \enddatecircaprint \iffieldundef{#2season}{% \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% - \blx@printtime{#2}{end}% }{% \csuse{mkbibseasondate#1}{}{#2endseason}}% - \enddateuncertainprint}}}}% - }{% - \datecircaprint - \printtext[#2date]{% - \printtext{% - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \blx@printtime{#2}{}% - }{% - \csuse{mkbibseasondate#1}{#2year}{#2season}}% - \dateuncertainprint - \dateeraprint{#2year}% - \iffieldundef{#2endyear}{% - \printfield{extrayear}% - }{% - \iffieldequalstr{#2endyear}{}{% - \printfield{extrayear}% - \printtext{\mbox{\bibdaterangesep}}% - }{% - \printtext{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}% - \blx@printtime{#2}{end}% - }{% - \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% - \printfield{extrayear}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}}} - -\DeclareRobustCommand*{\mkdaterangetruncextra}[2]{% - \blx@metadateinfo{#2}% - \iffieldundef{#2year}{% - \iffieldundef{#2month}{}{% - \datecircaprint - \printtext[#2date]{% - \iffieldundef{#2season}{% - \iffieldsequal{#2month}{#2endmonth}{% - \csuse{mkbibdate#1}{}{}{#2day}% - }{% - \csuse{mkbibdate#1}{}{#2month}{#2day}}% - }{% - \csuse{mkbibseasondate#1}{}{#2season}}% - \dateuncertainprint - \iffieldundef{#2endmonth}{}{% - \iffieldequalstr{#2endmonth}{}{% - \mbox{\bibdaterangesep}% - }{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \csuse{mkbibdate#1}{}{#2endmonth}{#2endday}% - }{% - \csuse{mkbibseasondate#1}{}{#2endseason}}% - \enddateuncertainprint}}}}% - }{% - \datecircaprint - \printtext[#2date]{% - \iffieldundef{#2season}{% - \iffieldsequal{#2year}{#2endyear}{% - \iffieldsequal{#2month}{#2endmonth}{% - \csuse{mkbibdate#1}{}{}{#2day}% - }{% - \csuse{mkbibdate#1}{}{#2month}{#2day}}% - }{% - \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% - \iffieldsequal{#2dateera}{#2enddateera}{}{% - \dateeraprint{#2year}}}% - }{% - \iffieldsequal{#2year}{#2endyear}{% - \csuse{mkbibseasondate#1}{}{#2season}% - }{% - \csuse{mkbibseasondate#1}{#2year}{#2season} - \iffieldsequal{#2dateera}{#2enddateera}{}{% - \dateeraprint{#2year}}}}% - \dateuncertainprint - \iffieldundef{#2endyear}{% - \printfield{extrayear}% - }{% - \iffieldequalstr{#2endyear}{}{% - \printfield{extrayear}% - \printtext{\mbox{\bibdaterangesep}}% - }{% - \printtext{% - \bibdaterangesep - \enddatecircaprint - \iffieldundef{#2season}{% - \iffieldundef{#2endmonth}{% - \blx@ox@compyear{\thefield{#2year}}{\thefield{#2endyear}}% - }{% - \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}% - }{% - \csuse{mkbibseasondate#1}{#2endyear}{#2endseason}}}% - \printfield{extrayear}% - \enddateuncertainprint - \dateeraprint{#2endyear}}}}}} - -\DeclareLabeldate{% - \field{origdate} - \field{date} - \field{year} - \field{eventdate} - \field{pubstate} - \literal{nodate} -} -\DeclareFieldFormat{extrayear}{% - \iffieldundef{\thefield{labeldatesource}}{% - \iffieldnums{\thefield{labeldatesource}year}{}{~}% - }{% - \iffieldnums{\thefield{labeldatesource}}{}{~}% - }% - \mkbibemph{\mknumalph{#1}}}% + \enddateuncertainprint}}}}} +\xpatchcmd{\mkdaterangefull}{% + \iffieldundef{#2year} {}% +}{% + \iffieldundef{#2year} {\mknoyeardaterangefull{#1}{#2}}% +}{}{} +\xpatchcmd{\mkdaterangetrunc}{% + \iffieldundef{#2year} {}% +}{% + \iffieldundef{#2year} {\mknoyeardaterangetrunc{#1}{#2}}% +}{}{} +\xpatchcmd{\mkdaterangefullextra}{% + \iffieldundef{#2year} {}% +}{% + \iffieldundef{#2year} {\mknoyeardaterangefull{#1}{#2}}% +}{}{} +\xpatchcmd{\mkdaterangetruncextra}{% + \iffieldundef{#2year} {}% +}{% + \iffieldundef{#2year} {\mknoyeardaterangetrunc{#1}{#2}}% +}{}{} \DeclareFieldFormat{shorthandwidth}{#1} \xpretonameformat{family-given}{% @@ -473,7 +270,7 @@ \xpatchbibmacro{author}{% \iffieldundef{authortype}% }{% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% \setunit*{\addspace}% \iffieldundef{authortype}% }{}{}% @@ -483,7 +280,7 @@ \global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\addspace}% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% }{}{}% \xpatchbibmacro{namepairs}{% \printnames[by#1]% @@ -506,7 +303,7 @@ \xpatchbibmacro{bbx:editor}{% \usebibmacro{#1}% }{% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% \setunit*{\addspace}% \usebibmacro{#1}% }{}{}% @@ -516,7 +313,7 @@ \global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\addspace}% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% }{}{}% \xpatchbibmacro{editor+alteditor}{% \printnames[byeditor]% @@ -542,12 +339,12 @@ \global\undef\bbx@lasthash \usebibmacro{labeltitle}% \setunit*{\addspace}% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% }{}{}% \xpatchbibmacro{bbx:translator}{% \usebibmacro{#1}% }{% - \usebibmacro{date+extrayear}% + \usebibmacro{date+extradate}% \setunit*{\addspace}% \usebibmacro{#1}% }{}{}% @@ -590,7 +387,11 @@ \xpatchbibdriver{online}{% \iffieldundef{year}% }{% - \iffieldundef{month}% + \ifboolexpr{ + test {\iffieldundef{season}} + and + test {\iffieldundef{month}} + }% }{}{} \DeclareFieldFormat[online,image]{citetitle}{\mkbibquote{#1\isdot}} \DeclareFieldFormat[legislation,legal]{citetitle}{#1} diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx index ab35b12e8ba..1da19f3a206 100644 --- a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.cbx @@ -13,15 +13,16 @@ %% See: http://www.latex-project.org/lppl.txt %% ---------------------------------------------------------------- %% -\def\Version{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxyear.cbx} [\Version\space Author-year citation style inspired by the Oxford Guide to Style] \RequireCitationStyle{authoryear-comp} -\xpatchbibmacro{cite:labelyear+extrayear}{% +\ExecuteBibliographyOptions{uniquename=init} +\xpatchbibmacro{cite:labeldate+extradate}{% \printfield{labelendyear}% }{% - \iffieldundef{extrayear}{% + \iffieldundef{extradate}{% \blx@ox@compyear {\thefield{labelyear}}% {\thefield{labelendyear}}% @@ -43,16 +44,31 @@ \printnames{labelname}% }% }{}{} -\renewcommand*{\nameyeardelim}{% +\DeclareDelimFormat{nameyeardelim}{% \iffieldundef{\thefield{labeldatesource}year}% {\addcomma\space}% {\addspace}} -\renewcommand*{\nonameyeardelim}{% +\DeclareDelimFormat{nonameyeardelim}{% \iffieldundef{\thefield{labeldatesource}year}% {\addcomma\space}% {\addspace}} \renewcommand*{\compcitedelim}{\addsemicolon\space} \renewcommand*{\postnotedelim}{\addcolon\space} +\xpatchbibmacro{textcite}{% + \printnames{labelname}% +}{% + \ifboolexpr{ + test {\iffieldequalstr{labelnamesource}{author}} + and + togl {blx@ox@autoanon} + and + test {\iffieldequals{rawauthor}{\oxrefanon}} + }{% + \iftoggle{blx@ox@abbranon}{\bibcpsstring{anon}}{\bibcplstring{anon}}% + }{% + \printnames{labelname}% + }% +}{}{} %% %% Copyright (C) 2016 Alex Ball %% diff --git a/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx b/Master/texmf-dist/tex/latex/biblatex-oxref/oxyear.dbx index 4018fd03f89..2727b129fb4 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{2017/05/14 v0.10} +\def\Version{2017/11/18 v0.11} \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesFile{oxyear.dbx} [\Version\space Data model for the Oxref family of styles] @@ -25,6 +25,7 @@ \DeclareDatamodelFields[type=field,datatype=literal]{rawauthor} \DeclareDatamodelEntryfields{datetype,origdatetype,authoraddon,editoraddon,% serieseditor,jointauthor,jointauthortype,rawauthor} +\DeclareDatamodelFields[type=field,datatype=literal]{shortlabeltitle} \DeclareDatamodelEntrytypes{manuscript} \DeclareDatamodelFields[type=field,datatype=literal]{catalog,dating,% shortlibrary,columns, collection,shortcollection,usualtitle,shelfmark,% @@ -32,7 +33,7 @@ \DeclareDatamodelFields[type=list,datatype=name]{scribe,owner} \DeclareDatamodelFields[type=list,datatype=literal]{origin} \DeclareDatamodelEntryfields[manuscript]{catalog,dating,shortlibrary,% - shortcollection,columns,languages, collection,usualtitle,shelfmark,% + shortcollection,columns,languages,collection,usualtitle,shelfmark,% sortshelfmark,support,columns,origin,scribe,owner} \DeclareDatamodelFields[type=field,datatype=date]{pardate} \DeclareDatamodelEntryfields[jurisdiction]{pardate} -- cgit v1.2.3