summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/windycity
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-09-08 21:07:25 +0000
committerKarl Berry <karl@freefriends.org>2020-09-08 21:07:25 +0000
commit351aeb2ecc8197c9a399ca8eb0b63f1b578b644d (patch)
tree004bc72ae6f726ce32cae6aa019355c27cbe99eb /Master/texmf-dist/tex/latex/windycity
parent3741b8b40f8f8c90286ae327cb29eadc441fb84e (diff)
windycity (8sep20)
git-svn-id: svn://tug.org/texlive/trunk@56297 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/windycity')
-rw-r--r--Master/texmf-dist/tex/latex/windycity/american-windycity.lbx61
-rw-r--r--Master/texmf-dist/tex/latex/windycity/windycity.bbx562
-rw-r--r--Master/texmf-dist/tex/latex/windycity/windycity.cbx119
-rw-r--r--Master/texmf-dist/tex/latex/windycity/windycity.dbx13
-rw-r--r--Master/texmf-dist/tex/latex/windycity/windycity.sty10
5 files changed, 422 insertions, 343 deletions
diff --git a/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx b/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx
index ed734f97345..c0fa89c3a08 100644
--- a/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx
+++ b/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx
@@ -1,7 +1,5 @@
-% Last modified: Wed 17 Jul 2019 09:45:17 AM CDT
+% Last modified: Mon 07 Sep 2020 06:40:46 PM CDT
-% Copyright (c) 2018 Brian Michael Chase.
-%
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License (LPPL),
% version 1.3.
@@ -13,7 +11,7 @@
% implied warranties of merchantability and fitness for a particular
% purpose.
-\ProvidesFile{american-windycity.lbx}[2019/07/17 Windy City
+\ProvidesFile{american-windycity.lbx}[2020/09/07 Windy City
localization module for biblatex]
\InheritBibliographyExtras{american}
\InheritBibliographyStrings{american}
@@ -121,55 +119,54 @@
}
\NewBibliographyString{by}
-\NewBibliographyString{compiler}
-\NewBibliographyString{compiler+}
-\NewBibliographyString{comptrans}
-\NewBibliographyString{comptrans+}
-\NewBibliographyString{editor+}
-\NewBibliographyString{edtrans}
-\NewBibliographyString{edtrans+}
+\NewBibliographyString{comped,comped+,compiler,compiler+,comprev,comprev+,comptrans,comptrans+}
+\NewBibliographyString{editor+,edcomp,edcomp+,edrev,edrev+,edtrans,edtrans+}
\NewBibliographyString{expanded}
\NewBibliographyString{noplace}
\NewBibliographyString{of}
\NewBibliographyString{origpub}
\NewBibliographyString{part}
+\NewBibliographyString{preface}
+\NewBibliographyString{reprint,reprinted}
+\NewBibliographyString{review,reviewnoauth}
+\NewBibliographyString{revcomp,revcomp+,reved,reved+,reviser,reviser+,revtrans,revtrans+}
\NewBibliographyString{revised}
-\NewBibliographyString{review}
-\NewBibliographyString{reviewnoauth}
-\NewBibliographyString{reprint}
-\NewBibliographyString{reprinted}
\NewBibliographyString{selfpub}
\NewBibliographyString{special}
-\NewBibliographyString{subverbo}
-\NewBibliographyString{subverbos}
-\NewBibliographyString{transcomp}
-\NewBibliographyString{transcomp+}
-\NewBibliographyString{transed}
-\NewBibliographyString{transed+}
+\NewBibliographyString{subverbo,subverbos}
+\NewBibliographyString{transcomp,transcomp+,transed,transed+,translator+,transrev,transrev+}
\DeclareBibliographyStrings{%
am = {{a\adddot m\adddot}{a\adddot m\adddot}},
afterword = {{afterword to}{afterword to}},
andothers = {{et\addabbrvspace al\adddot}{et\addabbrvspace al\adddot}},
- by = {{by}{by}},
bibliography = {{Bibliography}{Bibliography}},
+ by = {{by}{by}},
chapter = {{chap\adddot}{chap\adddot}},
citedas = {{hereafter cited as}{hereafter cited as}},
+ comped = {{compiled and edit\-ed by}{comp\adddotspace and ed\adddot}},
+ comped+ = {{compiled and edit\-ed by}{comps\adddotspace and eds\adddot}},
compiler = {{compiled by}{comp\adddot}},
compiler+ = {{compiled by}{comps\adddot}},
+ comprev = {{compiled and revised by}{comp\adddotspace and rev\adddot}},
+ comprev+ = {{compiled and revised by}{comps\adddotspace and revs\adddot}},
comptrans = {{compiled and translated by}{comp\adddotspace and trans\adddot}},
comptrans+ = {{compiled and translated by}{comps\adddotspace and trans\adddot}},
+ edcomp = {{edit\-ed and compiled by}{ed\adddotspace and comp\adddot}},
+ edcomp+ = {{edit\-ed and compiled by}{eds\adddotspace and comps\adddot}},
edition = {{ed\adddot}{ed\adddot}},
editor = {{edit\-ed by}{ed\adddot}},
editor+ = {{edit\-ed by}{eds\adddot}},
+ edrev = {{edit\-ed and revised by}{ed\adddotspace and rev\adddot}},
+ edrev+ = {{edit\-ed and revised by}{eds\adddotspace and revs\adddot}},
edtrans = {{edit\-ed and translated by}{ed\adddotspace and trans\adddot}},
edtrans+ = {{edit\-ed and translated by}{eds\adddotspace and trans\adddot}},
expanded = {{exp\adddotspace ed\adddot}{exp\adddotspace ed\adddot}},
foreword = {{foreword to}{foreword to}},
forthcoming = {{forthcoming}{forthcoming}},
+ ibidem = {{ibid\adddot}{ibid\adddot}},
in = {{in}{in}},
introduction = {{introduction to}{introduction to}},
- ibidem = {{ibid\adddot}{ibid\adddot}},
mathesis = {{master's thesis}{master's thesis}},
nodate = {{\lowercase{n}\adddot d\adddot}{\lowercase{n}\adddot d\adddot}},
noplace = {{N\adddot p\adddot}{n\adddot p\adddot}},
@@ -177,24 +174,36 @@
origpub = {{originally published as}{orig\adddotspace published as}},
page = {{Page}{Page}}, % assures proper case in 'pageref'
pages = {{Pages}{Pages}}, % assures proper case in 'pageref'
+ part = {{pt\adddot}{pt\adddot}},
phdthesis = {{PhD diss\adddot}{PhD diss\adddot}},
pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
+ preface = {{preface to}{preface to}},
references = {{Bibliography}{Bibliography}},
reprint = {{reprint}{repr\adddot}},
reprinted = {{reprinted in}{reprinted in}},
+ reved = {{revised and edit\-ed by}{rev\adddotspace and ed\adddot}},
+ reved+ = {{revised and edit\-ed by}{revs\adddotspace and eds\adddot}},
+ revcomp = {{revised and compiled by}{rev\adddotspace and comp\adddot}},
+ revcomp+ = {{revised and compiled by}{revs\adddotspace and comps\adddot}},
review = {{review of}{review of}},
reviewnoauth = {{unsigned review of}{unsigned review of}},
revised = {{rev\adddotspace ed\adddot}{rev\adddotspace ed\adddot}},
+ reviser = {{revised by}{rev\adddot}},
+ reviser+ = {{revised by}{revs\adddot}},
+ revtrans = {{revised and translated by}{rev\adddotspace and trans\adddot}},
+ revtrans+ = {{revised and translated by}{revs\adddotspace and trans\adddot}},
selfpub = {{Self-published}{self-pub\adddot}},
special = {{special issue}{special issue}},
subverbo = {{s\adddot v\adddot}{s\adddot v\adddot}},
subverbos = {{s\adddot vv\adddot}{s\adddot vv\adddot}},
transcomp = {{translated and compiled by}{trans\adddotspace and comp\adddot}},
transcomp+ = {{translated and compiled by}{trans\adddotspace and comps\adddot}},
- transed = {{translated and edited by}{trans\adddotspace and ed\adddot}},
- transed+ = {{translated and edited by}{trans\adddotspace and eds\adddot}},
+ transed = {{translated and edit\-ed by}{trans\adddotspace and ed\adddot}},
+ transed+ = {{translated and edit\-ed by}{trans\adddotspace and eds\adddot}},
translator = {{translated by}{trans\adddot}},
- part = {{pt\adddot}{pt\adddot}},
+ translator+ = {{translated by}{trans\adddot}},
+ transrev = {{translated and revised by}{trans\adddotspace and rev\adddot}},
+ transrev+ = {{translated and revised by}{trans\adddotspace and revs\adddot}},
urlseen = {{accessed}{accessed}},
volume = {{vol\adddot}{vol\adddot}},
volumes = {{vols\adddot}{vols\adddot}}
diff --git a/Master/texmf-dist/tex/latex/windycity/windycity.bbx b/Master/texmf-dist/tex/latex/windycity/windycity.bbx
index 6e8e2c35ebe..0476af4784a 100644
--- a/Master/texmf-dist/tex/latex/windycity/windycity.bbx
+++ b/Master/texmf-dist/tex/latex/windycity/windycity.bbx
@@ -1,7 +1,5 @@
-% Last modified: Wed 17 Jul 2019 09:44:45 AM CDT
+% Last modified: Mon 07 Sep 2020 06:40:45 PM CDT
-% Copyright (c) 2019 Brian Michael Chase.
-%
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License (LPPL),
% version 1.3.
@@ -13,13 +11,13 @@
% implied warranties of merchantability and fitness for a particular
% purpose.
-\ProvidesFile{windycity.bbx}[2019/07/17 Windy City bibliography style
+\ProvidesFile{windycity.bbx}[2020/09/07 Windy City bibliography style
for biblatex]
-\@ifpackagelater{biblatex}{2017/11/04}
+\@ifpackagelater{biblatex}{2019/08/17}
{}
{\PackageError{biblatex}
{Outdated 'biblatex' package}
- {Windy City is for biblatex v3.8 and above.\MessageBreak
+ {Windy City is for biblatex v3.13 and above.\MessageBreak
You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
This is a fatal error. I'm aborting now.}%
\endinput}%
@@ -29,24 +27,24 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\providetoggle{anonauth}
-\DeclareEntryOption{anonauth}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{anonauth}[true]{%
\ifstrequal{#1}{true}
{\renewcommand*{\anona}{\bibopenbracket}%
\renewcommand*{\anonb}{\bibclosebracket}}%
{}}
\providetoggle{anonqauth}
-\DeclareEntryOption{anonqauth}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{anonqauth}[true]{%
\ifstrequal{#1}{true}
{\renewcommand*{\anona}{\bibopenbracket}%
\renewcommand*{\anonb}{\addquestion\bibclosebracket}}%
{}}
\providetoggle{annotate}
-\DeclareBibliographyOption[boolean]{annotate}[true]{%
- \global\settoggle{annotate}{#1}}%
+\DeclareBiblatexOption{global}[boolean]{annotate}[true]{%
+ \settoggle{annotate}{#1}}%
-\DeclareBibliographyOption{collsonly}[true]{%
+\DeclareBiblatexOption{global}[boolean]{collsonly}[true]{%
\ifstrequal{#1}{true}
{\ExecuteBibliographyOptions{mincrossrefs=1}%
\ExecuteBibliographyOptions{minxrefs=1}%
@@ -54,45 +52,41 @@
{}}
\providetoggle{firstshort}
-\DeclareBibliographyOption[boolean]{firstshort}[true]{%
- \global\settoggle{firstshort}{#1}}%
+\DeclareBiblatexOption{global}[boolean]{firstshort}[true]{%
+ \settoggle{firstshort}{#1}}%
\providetoggle{ibid}
-\DeclareBibliographyOption{ibid}[true]{%
+\DeclareBiblatexOption{global}[boolean]{ibid}[true]{%
\ifstrequal{#1}{true}
- {\global\toggletrue{ibid}%
- \global\toggletrue{short}}%
- {\global\togglefalse{ibid}}}
+ {\toggletrue{ibid}%
+ \toggletrue{short}}%
+ {\togglefalse{ibid}}}
\providetoggle{isbn}
-\DeclareBibliographyOption[boolean]{isbn}[true]{%
- \global\settoggle{isbn}{#1}}%
-\DeclareEntryOption[boolean]{isbn}[true]{%
+\DeclareBiblatexOption{entry,global}[boolean]{isbn}[true]{%
\settoggle{isbn}{#1}}%
\providetoggle{library}
-\DeclareBibliographyOption[boolean]{library}[true]{%
- \global\settoggle{library}{#1}}%
-\DeclareEntryOption[boolean]{library}[true]{%
+\DeclareBiblatexOption{entry,global}[boolean]{library}[true]{%
\settoggle{library}{#1}}%
\providetoggle{listvols}
-\DeclareEntryOption[boolean]{listvols}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{listvols}[true]{%
\settoggle{listvols}{#1}}%
\providetoggle{noauth}
-\DeclareEntryOption[boolean]{noauth}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{noauth}[true]{%
\settoggle{noauth}{#1}}%
-\DeclareBibliographyOption{nolos}[true]{%
+\DeclareBiblatexOption{global}[boolean]{nolos}[true]{%
\ifstrequal{#1}{true}
{\AtBeginBibliography{\blx@key@bibcheck{nolos}}}
{}}
\providetoggle{reflist}
-\DeclareBibliographyOption{reflist}[true]{%
+\DeclareBiblatexOption{global}[boolean]{reflist}[true]{%
\ifstrequal{#1}{true}
- {\global\toggletrue{reflist}%
+ {\toggletrue{reflist}%
\DeclareLabeldate{%
\field{date}
\field{year}
@@ -101,31 +95,29 @@
\literal{nodate}}
\ExecuteBibliographyOptions{%
sorting=nyt}}%
- {\global\togglefalse{reflist}}}
+ {\togglefalse{reflist}}}
\providetoggle{short}
-\DeclareBibliographyOption{short}[true]{%
+\DeclareBiblatexOption{global}[boolean]{short}[true]{%
\ifstrequal{#1}{true}
- {\global\toggletrue{short}%
- \global\toggletrue{firstshort}}%
- {\global\togglefalse{short}}}
+ {\toggletrue{short}%
+ \toggletrue{firstshort}}%
+ {\togglefalse{short}}}
\providetoggle{skipdate}
-\DeclareEntryOption[boolean]{skipdate}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{skipdate}[true]{%
\settoggle{skipdate}{#1}}%
\providetoggle{swapauth}
-\DeclareEntryOption[boolean]{swapauth}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{swapauth}[true]{%
\settoggle{swapauth}{#1}}%
\providetoggle{swaptrans}
-\DeclareEntryOption[boolean]{swaptrans}[true]{%
+\DeclareBiblatexOption{entry}[boolean]{swaptrans}[true]{%
\settoggle{swaptrans}{#1}}%
\providetoggle{swapvol}
-\DeclareBibliographyOption[boolean]{swapvol}[true]{%
- \global\settoggle{swapvol}{#1}}%
-\DeclareEntryOption[boolean]{swapvol}[true]{%
+\DeclareBiblatexOption{entry,global}[boolean]{swapvol}[true]{%
\settoggle{swapvol}{#1}}%
% For setting 'minbibnames' and such, see CMOS, 17th ed., 14.76 and
@@ -136,7 +128,7 @@
autocite=footnote,
autopunct=true,
block=none,
- citetracker=constrict,
+ citetracker=context,
date=long,
dateabbrev=false,
dateusetime=true,
@@ -259,8 +251,7 @@
\literal{0000}}}
\defbibcheck{collsonly}{%
- \ifboolexpr{ test {\ifentrytype{bookinbook}}
- or test {\ifentrytype{inbook}}}
+ \ifentrytype{inbook}
{\iffieldundef{crossref}
{}
{\skipentry}}%
@@ -277,18 +268,18 @@
\defbibcheck{reference}{%
\ifentrytype{reference}
{\skipentry}%
- {\ifentrytype{inreference}
- {\skipentry}%
- {}}}
+ {}}
%%%%%%%%%%%%%%%%%%%%%%%%
%% Data Inheritance %%
%%%%%%%%%%%%%%%%%%%%%%%%
+% As of biblatex 3.14 or biber 2.14 (or thereabouts), '\inherit' no
+% longer works for 'options'.
+
\ResetDataInheritance
\DefaultInheritance[\except{*}{review}{all=false}]{all=true,override=false}
-\DeclareDataInheritance{*}{%
- incollection,inbook,bookinbook,inproceedings,letter,suppbook,review}{%
+\DeclareDataInheritance{*}{incollection,inbook,letter,review}{%
\inherit{author}{bookauthor}
\inherit{shortauthor}{shortbookauthor}
\inherit{editor}{editora}
@@ -308,9 +299,25 @@
\inherit{volume}{bookvolume}
\inherit{bookvolume}{bookbookvolume}
\inherit{options}{options}}
-\DeclareDataInheritance{collection}{bookinbook,collection,inbook}{%
+\DeclareDataInheritance{collection}{collection,inbook}{%
\inherit{year}{bookyear}
\inherit{endyear}{endbookyear}}
+\DeclareDataInheritance{*}{*}{%
+ \noinherit{crossref}
+ \noinherit{entryset}
+ \noinherit{entrysubtype}
+ \noinherit{execute}
+ \noinherit{ids}
+ \noinherit{label}
+ \noinherit{presort}
+ \noinherit{related}
+ \noinherit{relatedoptions}
+ \noinherit{relatedstring}
+ \noinherit{relatedtype}
+ \noinherit{shorthand}
+ \noinherit{shorthandintro}
+ \noinherit{sortkey}
+ \noinherit{xref}}
%%%%%%%%%%%%%%%%%%%
%% Preliminary %%
@@ -400,6 +407,7 @@
\DeclareNameAlias{editorc}{sortname}
\DeclareNameAlias{foreword}{sortname}
\DeclareNameAlias{introduction}{sortname}
+\DeclareNameAlias{preface}{sortname}
\DeclareNameAlias{translator}{sortname}
\DeclareIndexNameAlias{author}{default}
@@ -411,6 +419,7 @@
\DeclareIndexNameAlias{editorc}{default}
\DeclareIndexNameAlias{foreword}{default}
\DeclareIndexNameAlias{introduction}{default}
+\DeclareIndexNameAlias{preface}{default}
\DeclareIndexNameAlias{translator}{default}
% Affixes like 'Jr.', should appear last, delimited with a comma, when
@@ -485,14 +494,11 @@
\DeclareFieldFormat{blogtitleaddon}{\mkbibparens{#1}}
\DeclareFieldFormat{titleaddon}{\mkbibbrackets{#1}}
-\DeclareFieldFormat[%
- article,incollection,inreference,inproceedings,online,reference,review]
+\DeclareFieldFormat[article,incollection,online,reference,review]
{title}{\mkbibquote{#1}}
-\DeclareFieldFormat[%
- article,incollection,inreference,inproceedings,online,reference,review]
+\DeclareFieldFormat[article,incollection,online,reference,review]
{labeltitle}{\mkbibquote{#1}}
-\DeclareIndexFieldFormat[%
- article,incollection,inreference,inproceedings,online,reference,review]
+\DeclareIndexFieldFormat[article,incollection,online,reference,review]
{indextitle}{\usebibmacro{index:title}{\index}{\mkbibquote{#1}}}
\DeclareFieldAlias[inbook]{title}{title}
@@ -565,53 +571,43 @@
%% Bibliography Aliases %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\DeclareBibliographyAlias{periodical}{article}
-\DeclareBibliographyAlias{cite:periodical}{cite:article}
+\DeclareDriverSourcemap[datatype=bibtex]{
+ \map{
+ \step[typesource=periodical, typetarget=article]
+ \step[typesource=booklet, typetarget=book]
+ \step[typesource=manual, typetarget=book]
+ \step[typesource=mvbook, typetarget=book]
+ \step[typesource=mvcollection, typetarget=book]
+ \step[typesource=proceedings, typetarget=book]
+ \step[typesource=report, typetarget=book]
+ \step[typesource=techreport, typetarget=book]
+ \step[typesource=bookinbook, typetarget=inbook]
+ \step[typesource=conference, typetarget=incollection]
+ \step[typesource=inproceedings, typetarget=incollection]
+ \step[typesource=suppbook, typetarget=incollection]
+ \step[typesource=suppcollection, typetarget=incollection]
+ \step[typesource=electronic, typetarget=online]
+ \step[typesource=www, typetarget=online]
+ \step[typesource=inreference, typetarget=reference]
+ \step[typesource=mathesis, typetarget=thesis]
+ \step[typesource=phdthesis, typetarget=thesis]}
+ \map{
+ \step[fieldsource=school, fieldtarget=institution]
+ \step[fieldsource=address, fieldtarget=location]
+ \step[fieldsource=journal, fieldtarget=journaltitle]}}
-\DeclareBibliographyAlias{booklet}{book}
\DeclareBibliographyAlias{collection}{book}
-\DeclareBibliographyAlias{manual}{book}
-\DeclareBibliographyAlias{mvbook}{book}
-\DeclareBibliographyAlias{mvcollection}{book}
-\DeclareBibliographyAlias{proceedings}{book}
-\DeclareBibliographyAlias{report}{book}
-\DeclareBibliographyAlias{techreport}{book}
-\DeclareBibliographyAlias{cite:booklet}{cite:book}
\DeclareBibliographyAlias{cite:collection}{cite:book}
-\DeclareBibliographyAlias{cite:manual}{cite:book}
-\DeclareBibliographyAlias{cite:mvbook}{cite:book}
-\DeclareBibliographyAlias{cite:mvcollection}{cite:book}
-\DeclareBibliographyAlias{cite:proceedings}{cite:book}
-\DeclareBibliographyAlias{cite:report}{cite:book}
-\DeclareBibliographyAlias{cite:techreport}{cite:book}
-
-\DeclareBibliographyAlias{bookinbook}{incollection}
-\DeclareBibliographyAlias{conference}{incollection}
+
\DeclareBibliographyAlias{inbook}{incollection}
-\DeclareBibliographyAlias{inproceedings}{incollection}
\DeclareBibliographyAlias{letter}{incollection}
-\DeclareBibliographyAlias{suppbook}{incollection}
-\DeclareBibliographyAlias{suppcollection}{incollection}
-\DeclareBibliographyAlias{cite:bookinbook}{cite:incollection}
-\DeclareBibliographyAlias{cite:conference}{cite:incollection}
\DeclareBibliographyAlias{cite:inbook}{cite:incollection}
-\DeclareBibliographyAlias{cite:inproceedings}{cite:incollection}
\DeclareBibliographyAlias{cite:letter}{cite:incollection}
-\DeclareBibliographyAlias{cite:suppbook}{cite:incollection}
-\DeclareBibliographyAlias{cite:suppcollection}{cite:incollection}
-\DeclareBibliographyAlias{mathesis}{thesis}
-\DeclareBibliographyAlias{phdthesis}{thesis}
\DeclareBibliographyAlias{unpublished}{thesis}
-\DeclareBibliographyAlias{cite:mathesis}{cite:thesis}
-\DeclareBibliographyAlias{cite:phdthesis}{cite:thesis}
\DeclareBibliographyAlias{cite:unpublished}{cite:thesis}
-\DeclareBibliographyAlias{inreference}{reference}
-\DeclareBibliographyAlias{cite:inreference}{cite:reference}
-
\DeclareBibliographyAlias{*}{book}
-\DeclareBibliographyAlias{cite:*}{cite:book}
%%%%%%%%%%%%%%%%%%%%%%%%
%% Author's Position %%
@@ -627,11 +623,11 @@
{\usebibmacro{authpos+deflabel}}%
{\usebibmacro{author+bookauthor}%
\ifnameundef{\cbx@namelist}
- {\usebibmacro{edtrans:authpos}%
+ {\usebibmacro{edtransuthpos}%
\ifnameundef{\cbx@namelist}
{\toggletrue{noauth}%
\usebibmacro{journalfirst}}%
- {\usebibmacro{edscomps:authpos}%
+ {\usebibmacro{addplus:authpos}%
\usebibmacro{namehash+etc}}}%
{\usebibmacro{namehash+etc}}}}
@@ -642,12 +638,9 @@
\newbibmacro*{author+bookauthor}{%
\ifboolexpr{ togl {swapauth}
and ( test {\ifentrytype{book}}
- or test {\ifentrytype{bookinbook}}
or test {\ifentrytype{collection}}
or test {\ifentrytype{inbook}}
- or test {\ifentrytype{incollection}}
- or test {\ifentrytype{mvbook}}
- or test {\ifentrytype{mvcollection}} )}
+ or test {\ifentrytype{incollection}} )}
{}
{\ifboolexpr{ togl {collection:ib}
and togl {swapvol}}
@@ -699,20 +692,21 @@
\newunit}%
{\setunit{\addcomma\space}}}
-\newbibmacro*{aft+fore+intro}{%
+\newbibmacro*{supplement}{%
\ifnameundef{afterword}
{\ifnameundef{foreword}
- {\renewcommand*{\cbx@namelist}{introduction}%
- \renewcommand*{\cbx@bibstring}{introduction}}%
+ {\ifnameundef{introduction}
+ {\renewcommand*{\cbx@namelist}{preface}%
+ \renewcommand*{\cbx@bibstring}{preface}}%
+ {\renewcommand*{\cbx@namelist}{introduction}%
+ \renewcommand*{\cbx@bibstring}{introduction}}}
{\renewcommand*{\cbx@namelist}{foreword}%
\renewcommand*{\cbx@bibstring}{foreword}}}
{\renewcommand*{\cbx@namelist}{afterword}%
\renewcommand*{\cbx@bibstring}{afterword}}%
\usebibmacro{printnames+etc}%
\savefield{namehash}{\bbx@lasthash}%
- \usebibmacro{authpos+deflabel}%
- \newunit
- \bibstring{\cbx@bibstring}\space}%
+ \usebibmacro{authpos+deflabel}}%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Editors and Translators %%
@@ -720,7 +714,7 @@
% For editors and translators in the author's position.
-\newbibmacro*{edtrans:authpos}{%
+\newbibmacro*{edtransuthpos}{%
\togglefalse{noed}%
\togglefalse{notrans}%
\usebibmacro{test:ed:authpos}%
@@ -827,48 +821,83 @@
\renewcommand*{\cbx@namelist}{\yeditor}%
\ifnamesequal{\xeditor}{\yeditor}
{\clearname{\xeditor}%
- \iffieldequalstr{\xeditor type}{compiler}
+ \ifboolexpr{ test {\iffieldequalstr{\xeditor type}{compiler}}
+ or test {\iffieldequalstr{\xeditor type}{comped}}
+ or test {\iffieldequalstr{\xeditor type}{comprev}}
+ or test {\iffieldequalstr{\xeditor type}{comptrans}}
+ or test {\iffieldequalstr{\xeditor type}{transcomp}}}
{\renewcommand*{\cbx@bibstring}{transcomp}}%
- {\renewcommand*{\cbx@bibstring}{transed}}}
+ {\ifboolexpr{ test {\iffieldequalstr{\xeditor type}{reviser}}
+ or test {\iffieldequalstr{\xeditor type}{revcomp}}
+ or test {\iffieldequalstr{\xeditor type}{reved}}
+ or test {\iffieldequalstr{\xeditor type}{revtrans}}
+ or test {\iffieldequalstr{\xeditor type}{transrev}}}
+ {\renewcommand*{\cbx@bibstring}{transrev}}%
+ {\renewcommand*{\cbx@bibstring}{transed}}}}
{\renewcommand*{\cbx@bibstring}{translator}}}
\newbibmacro*{edcombos}{%
\renewcommand*{\cbx@namelist}{\xeditor}%
\ifnamesequal{\xeditor}{\yeditor}
{\clearname{\yeditor}%
- \iffieldequalstr{\xeditor type}{compiler}
+ \ifboolexpr{ test {\iffieldequalstr{\xeditor type}{compiler}}
+ or test {\iffieldequalstr{\xeditor type}{comped}}
+ or test {\iffieldequalstr{\xeditor type}{comprev}}
+ or test {\iffieldequalstr{\xeditor type}{comptrans}}
+ or test {\iffieldequalstr{\xeditor type}{transcomp}}}
{\renewcommand*{\cbx@bibstring}{comptrans}}%
- {\renewcommand*{\cbx@bibstring}{edtrans}}}%
+ {\ifboolexpr{ test {\iffieldequalstr{\xeditor type}{reviser}}
+ or test {\iffieldequalstr{\xeditor type}{revcomp}}
+ or test {\iffieldequalstr{\xeditor type}{reved}}
+ or test {\iffieldequalstr{\xeditor type}{revtrans}}
+ or test {\iffieldequalstr{\xeditor type}{transrev}}}
+ {\renewcommand*{\cbx@bibstring}{revtrans}}%
+ {\renewcommand*{\cbx@bibstring}{edtrans}}}}
{\iffieldequalstr{\xeditor type}{compiler}
{\renewcommand*{\cbx@bibstring}{compiler}}%
- {\renewcommand*{\cbx@bibstring}{editor}}}}
-
-\newbibmacro*{edscomps:authpos}{%
+ {\iffieldequalstr{\xeditor type}{reviser}
+ {\renewcommand*{\cbx@bibstring}{reviser}}%
+ {\iffieldequalstr{\xeditor type}{comped}
+ {\renewcommand*{\cbx@bibstring}{comped}}%
+ {\iffieldequalstr{\xeditor type}{comprev}
+ {\renewcommand*{\cbx@bibstring}{comprev}}%
+ {\iffieldequalstr{\xeditor type}{edcomp}
+ {\renewcommand*{\cbx@bibstring}{edcomp}}%
+ {\iffieldequalstr{\xeditor type}{edrev}
+ {\renewcommand*{\cbx@bibstring}{edrev}}%
+ {\iffieldequalstr{\xeditor type}{revcomp}
+ {\renewcommand*{\cbx@bibstring}{revcomp}}%
+ {\iffieldequalstr{\xeditor type}{reved}
+ {\renewcommand*{\cbx@bibstring}{reved}}%
+ {\renewcommand*{\cbx@bibstring}{editor}}}}}}}}}}}
+
+\newbibmacro*{addplus:authpos}{%
\iftoggle{cbx@short}
{}
- {\usebibmacro{edscomps}%
+ {\usebibmacro{addplus}%
\renewcommand*{\plugb}{%
\addcomma\space\bibsstring{\cbx@bibstring}}}}
-\newbibmacro*{edscomps}{%
- \iftoggle{swaptrans}
- {}
- {\ifnameundef{editor}
- {\ifnumgreater{\value{editora}}{1}
- {\edef\cbx@bibstring{\cbx@bibstring +}}%
- {}}
- {\ifnumgreater{\value{editor}}{1}
+\newbibmacro*{addplus}{%
+ \ifnameundef{\xeditor}
+ {\ifnameundef{\yeditor}
+ {}
+ {\ifnumgreater{\value{\yeditor}}{1}
{\edef\cbx@bibstring{\cbx@bibstring +}}%
- {}}}}
+ {}}}
+ {\ifnumgreater{\value{\xeditor}}{1}
+ {\edef\cbx@bibstring{\cbx@bibstring +}}%
+ {}}}
% For editors and translators not in the author's position.
-\newbibmacro*{edtrans:a}{%
+\newbibmacro*{edtrans}{%
\iftoggle{swaptrans}
{\usebibmacro{transcombos+etc}%
\usebibmacro{edcombos+etc}}%
{\usebibmacro{edcombos+etc}%
- \usebibmacro{transcombos+etc}}}
+ \usebibmacro{transcombos+etc}}%
+ \usebibmacro{editoraddon}}%
\newbibmacro*{transcombos+etc}{%
\togglefalse{noed}%
@@ -890,21 +919,17 @@
{\usebibmacro{edcombos}%
\usebibmacro{pluga+etc}}}
-\newbibmacro*{edtrans:b}{%
- \toggletrue{edshift}%
- \usebibmacro{edtrans:a}%
- \usebibmacro{editoraddon}}%
-
\newbibmacro*{pluga+etc}{%
\usebibmacro{edtranspunct:a}%
\usebibmacro{pluga+printnames}%
\usebibmacro{edtranspunct:b}}%
\newbibmacro*{edtranspunct:a}{%
- \ifboolexpr{ togl {authposition}
- or togl {edshift}}
+ \iftoggle{authposition}
{}
- {\newunit}}%
+ {\iftoggle{edshift}
+ {\setunit{\addcomma\space}}%
+ {\newunit}}}
\newbibmacro*{pluga+printnames}{%
\renewcommand*{\pluga}{%
@@ -916,7 +941,7 @@
{\setunit{\addcomma\space}}%
{\newunit}}%
-% Tests for 'edtrans:a' and 'edtrans:b' macros.
+% Tests for 'edtrans' macro.
\newbibmacro*{test:ed}{%
\iftoggle{edshift}
@@ -988,6 +1013,20 @@
{\toggletrue{noed}}%
{\ifdefempty{\xtitle}
{\ifboolexpr{ test {\iffieldequalstr{\xeditor type}{compiler}}
+ or test {\iffieldequalstr{\xeditor type}{comped}}
+ or test {\iffieldequalstr{\xeditor type}{comprev}}
+ or test {\iffieldequalstr{\xeditor type}{comptrans}}
+ or test {\iffieldequalstr{\xeditor type}{editor}}
+ or test {\iffieldequalstr{\xeditor type}{edcomp}}
+ or test {\iffieldequalstr{\xeditor type}{edrev}}
+ or test {\iffieldequalstr{\xeditor type}{edtrans}}
+ or test {\iffieldequalstr{\xeditor type}{reviser}}
+ or test {\iffieldequalstr{\xeditor type}{revcomp}}
+ or test {\iffieldequalstr{\xeditor type}{reved}}
+ or test {\iffieldequalstr{\xeditor type}{revtrans}}
+ or test {\iffieldequalstr{\xeditor type}{transcomp}}
+ or test {\iffieldequalstr{\xeditor type}{transed}}
+ or test {\iffieldequalstr{\xeditor type}{transrev}}
or test {\iffieldequalstr{\xeditor type}{title}}
or test {\iffieldundef{\xeditor type}}}
{}
@@ -1033,7 +1072,7 @@
\ifboolexpr{ togl {collection:bk}
and togl {swapvol}}
{\newunit}%
- {\setunit{\unspace,\addspace}}}
+ {\setunit{\addcomma\space}}}
\newbibmacro*{editorlists}[1]{%
\iffieldequalstr{editortype}{#1}
@@ -1065,9 +1104,9 @@
{\nopunct\printfield{editoraddon}%
\clearfield{editoraddon}}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Printing Names and Dashes %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% Names and Dashes %%
+%%%%%%%%%%%%%%%%%%%%%%%%
\newbibmacro*{printnames+etc}{%
\ifboolexpr{ togl {authposition}
@@ -1170,7 +1209,8 @@
\iffieldundef{\xtitle subtitle}
{}
{\subtitlepunct
- \printfield[noformat]{\xtitle subtitle}}}}
+ \printfield[noformat]{\xtitle subtitle}}%
+ \isdot}}%
\newbibmacro*{test:titledupes}{%
\iffieldsequal{title}{booktitle}
@@ -1199,60 +1239,49 @@
\ifboolexpr{ togl {collection:bk}
and togl {swapvol}}
{\iffieldundef{shortmaintitle}
- {\printfield[title]{maintitle}}%
- {\printfield[title]{shortmaintitle}}}
+ {\printfield[title]{maintitle}\isdot}%
+ {\printfield[title]{shortmaintitle}\isdot}}%
{\ifboolexpr{ togl {collection:ib}
and togl {swapvol}}
{\iffieldundef{shortbooktitle}
- {\printfield[title]{booktitle}}%
- {\printfield[title]{shortbooktitle}}}
- {\printfield[\thefield{entrytype}]{labeltitle}}}}
+ {\printfield[title]{booktitle}\isdot}%
+ {\printfield[title]{shortbooktitle}\isdot}}%
+ {\printfield[\thefield{entrytype}]{labeltitle}\isdot}}}
\newbibmacro*{shorttitle+crossref}{%
\ifboolexpr{ togl {collection:icbk}
and togl {swapvol}}
{\iffieldundef{shortmaintitle}
- {\printfield[title]{maintitle}}%
- {\printfield[title]{shortmaintitle}}}
+ {\printfield[title]{maintitle}\isdot}%
+ {\printfield[title]{shortmaintitle}\isdot}}%
{\ifboolexpr{ togl {collection:icib}
and togl {swapvol}}
{\iffieldundef{shortbooktitle}
- {\printfield[title]{booktitle}}%
- {\printfield[title]{shortbooktitle}}}
- {\printfield[\thefield{entrytype}]{labeltitle}}}}
+ {\printfield[title]{booktitle}\isdot}%
+ {\printfield[title]{shortbooktitle}\isdot}}%
+ {\printfield[\thefield{entrytype}]{labeltitle}\isdot}}}
-\newbibmacro*{booktitle+editor}[1]{%
+\newbibmacro*{booktitle}{%
\iffieldundef{booktitle}
{}
{\renewcommand*{\xtitle}{book}%
\usebibmacro{longtitle+titleaddon}%
- \setunit{\unspace,\addspace}%
- \usebibmacro{bybookauthor+pages}%
- \ifstrequal{#1}{a}
- {\usebibmacro{edtrans:a}}%
- {\usebibmacro{edtrans:b}}}}
+ \usebibmacro{bybookauthor+pages}}}
-\newbibmacro*{bookbooktitle+editor}[1]{%
+\newbibmacro*{bookbooktitle}[1]{%
\iffieldundef{bookbooktitle}
{}
{\ifstrequal{#1}{in}
{\newunit\bibstring{in}\space}%
{}% needs '%'
\renewcommand*{\xtitle}{bookbook}%
- \usebibmacro{longtitle+titleaddon}%
- \setunit{\unspace,\addspace}%
- \usebibmacro{edtrans:b}}}
+ \usebibmacro{longtitle+titleaddon}}}
-\newbibmacro*{maintitle+editor}{%
+\newbibmacro*{maintitle}{%
\iffieldundef{maintitle}
{}
{\renewcommand*{\xtitle}{main}%
- \usebibmacro{longtitle+titleaddon}%
- \iftoggle{swaptrans}
- {\usebibmacro{translatortypes}%
- \usebibmacro{editortypes}{maintitle}}%
- {\usebibmacro{editortypes}{maintitle}%
- \usebibmacro{translatortypes}}}}
+ \usebibmacro{longtitle+titleaddon}}}
\newbibmacro*{issuetitle}{%
\iffieldundef{issuetitle}
@@ -1288,12 +1317,9 @@
\newbibmacro*{test:collection}{%
\ifboolexpr{ test {\ifentrytype{book}}
- or test {\ifentrytype{collection}}
- or test {\ifentrytype{mvbook}}
- or test {\ifentrytype{mvcollection}}}
+ or test {\ifentrytype{collection}}}
{\usebibmacro{test:collection:bk}}%
- {\ifboolexpr{ test {\ifentrytype{bookinbook}}
- or test {\ifentrytype{inbook}}
+ {\ifboolexpr{ test {\ifentrytype{inbook}}
or test {\ifentrytype{incollection}}
or test {\ifentrytype{letter}}}
{\usebibmacro{test:collection:icbk+etc}}%
@@ -1321,8 +1347,7 @@
and not test {\iffieldundef{bookvolume}}}
{\toggletrue{collection}%
\toggletrue{collection:icbk}}%
- {\ifboolexpr{ test {\ifentrytype{bookinbook}}
- or test {\ifentrytype{inbook}}}
+ {\ifentrytype{inbook}
{\usebibmacro{test:collection:ib}}%
{\usebibmacro{test:collection:icib}}}}
@@ -1603,7 +1628,7 @@
\DeclareBibliographyDriver{article}{%
\usebibmacro{bibindex}%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\usebibmacro{articles}%
\usebibmacro{colon+pages+etc}%
\usebibmacro{doi+finentry+etc}}%
@@ -1615,7 +1640,7 @@
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
- \usebibmacro{author+title+etc}%
+ \usebibmacro{author+incollection+etc}%
\usebibmacro{crossref+incollections}%
\usebibmacro{doi+finentry+etc}}%
@@ -1629,7 +1654,7 @@
\DeclareBibliographyDriver{online}{%
\usebibmacro{bibindex}%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\newunit
\usebibmacro{websites}%
\usebibmacro{issue+month+etc}{}%
@@ -1637,7 +1662,7 @@
\DeclareBibliographyDriver{patent}{%
\usebibmacro{bibindex}%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\newunit
\printfield{number}%
\newunit
@@ -1653,7 +1678,7 @@
\DeclareBibliographyDriver{thesis}{%
\usebibmacro{bibindex}%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\newunit
\usebibmacro{inst+loc+date}%
\usebibmacro{doi+finentry+etc}}%
@@ -1669,11 +1694,11 @@
\usebibmacro{annotation}%
\finentry}%
-\newbibmacro*{author+title+ed+note}{%
+\newbibmacro*{author+title+etc}{%
\usebibmacro{author+bookauthor+etc}%
\usebibmacro{title+labelyear}%
- \usebibmacro{edtrans:a}%
- \usebibmacro{note}}%
+ \usebibmacro{note}%
+ \usebibmacro{edtrans}}%
\newbibmacro*{articles}{%
\newunit
@@ -1693,6 +1718,7 @@
\usebibmacro{periodical:number}}%
{\usebibmacro{periodical:number}%
\usebibmacro{issue+month+etc}{}}%
+ \toggletrue{edshift}%
\usebibmacro{edition}{noformat}}%
% If an article has an electronic article ID, don't print its page
@@ -1724,53 +1750,48 @@
\usebibmacro{author+bookauthor+etc}%
\ifboolexpr{ togl {collection:bk}
and togl {swapvol}}
- {\usebibmacro{maintitle+editor}%
- \usebibmacro{note}%
- \usebibmacro{edition}{}%
+ {\usebibmacro{maintitle+note+etc}%
\usebibmacro{volume+number+etc}%
\let\xtitle\empty
\usebibmacro{longtitle+titleaddon}%
- \setunit{\unspace,\addspace}%
- \usebibmacro{byauthor}{}%
- \usebibmacro{edtrans:b}%
- \usebibmacro{volumes}%
- \usebibmacro{bookseries}%
- \usebibmacro{volume+number+etc}%
- \usebibmacro{book:number}%
- \usebibmacro{part}}%
+ \toggletrue{edshift}%
+ \usebibmacro{byauthor}%
+ \usebibmacro{edtrans}%
+ \usebibmacro{volumes+bookseries+etc}}%
{\usebibmacro{title+labelyear}%
- \usebibmacro{byauthor}{newunit}%
- \usebibmacro{edtrans:a}%
- \usebibmacro{editoraddon}%
+ \usebibmacro{byauthor}%
\iffieldundef{maintitle}
- {\usebibmacro{note+edition+etc}}%
- {\usebibmacro{volumes}%
- \usebibmacro{bookseries}%
- \usebibmacro{volume+number+etc}%
- \usebibmacro{book:number}%
- \usebibmacro{part}%
- \usebibmacro{maintitle+editor}%
- \usebibmacro{note}%
- \usebibmacro{edition}{}}}
+ {\usebibmacro{note+edition+etc}%
+ \usebibmacro{volumes+bookseries+etc}}%
+ {\usebibmacro{edtrans}%
+ \usebibmacro{volumes+bookseries+etc}%
+ \usebibmacro{maintitle+note+etc}}}
\usebibmacro{date+loc+etc}%
\usebibmacro{origtitle}}%
-\newbibmacro*{author+title+etc}{%
+\newbibmacro*{author+incollection+etc}{%
\usebibmacro{test:collection}%
\usebibmacro{test:bookauthor}%
\ifboolexpr{ test {\ifnameundef{afterword}}
and test {\ifnameundef{foreword}}
- and test {\ifnameundef{introduction}}}
+ and test {\ifnameundef{introduction}}
+ and test {\ifnameundef{preface}}}
{\usebibmacro{author+bookauthor+etc}%
\iffieldundef{title}
- {\usebibmacro{booktitle+editor}{a}}%
+ {\usebibmacro{booktitle}%
+ \usebibmacro{edtrans}}%
{\ifboolexpr{ togl {collection:ib}
and togl {swapvol}
and not togl {collection:icib}}
- {\usebibmacro{booktitle+editor}{a}}%
+ {\usebibmacro{booktitle}%
+ \usebibmacro{edtrans}}%
{\usebibmacro{title+labelyear}%
- \usebibmacro{byauthor+ed+chapter}}}}
- {\usebibmacro{aft+fore+intro}}}
+ \usebibmacro{byauthor}%
+ \usebibmacro{edtrans}%
+ \usebibmacro{chapter+in}}}}
+ {\usebibmacro{supplement}%
+ \newunit
+ \bibstring{\cbx@bibstring}\space}}%
\newbibmacro*{crossref+incollections}{%
\iffieldundef{crossref}
@@ -1816,7 +1837,8 @@
\setunit{\addcomma\space}%
\iftoggle{firstshort}
{}
- {\usebibmacro{edtrans:b}}}
+ {\toggletrue{edshift}%
+ \usebibmacro{edtrans}}}
\newbibmacro*{inst+loc+date}{%
\usebibmacro{thesis+type}%
@@ -1842,7 +1864,10 @@
\newbibmacro*{note}{%
\iffieldundef{note}
{}
- {\newunit
+ {\iftoggle{edshift}
+ {\setunit{\addcomma\space}%
+ \togglefalse{edshift}}%
+ {\newunit}%
\printfield{note}}}
\newbibmacro*{part}{%
@@ -1949,6 +1974,16 @@
{}}
{}}}
+\newbibmacro*{maintitle+note+etc}{%
+ \usebibmacro{maintitle}%
+ \usebibmacro{note}%
+ \usebibmacro{edition}{}%
+ \iftoggle{swaptrans}
+ {\usebibmacro{translatortypes}%
+ \usebibmacro{editortypes}{maintitle}}%
+ {\usebibmacro{editortypes}{maintitle}%
+ \usebibmacro{translatortypes}}}
+
\newbibmacro*{volume+number+etc}{%
\iffieldundef{\xvolume volume}
{}
@@ -1971,25 +2006,41 @@
{}
{\space\bibstring{of}\space}}}}
-\renewbibmacro*{byauthor}[1]{%
+\renewbibmacro*{byauthor}{%
\ifboolexpr{ test {\ifnameundef{author}}
or togl {noauth}}
{}
- {\ifstrequal{#1}{newunit}
+ {\iftoggle{edshift}
+ {\renewcommand*{\pluga}{%
+ \setunit{\addcomma\space}\bibstring{by}\space}}%
{\renewcommand*{\pluga}{\newunit\bibstring{by}\space}}%
- {\renewcommand*{\pluga}{\bibstring{by}\space}}%
\renewcommand*{\cbx@namelist}{author}%
\usebibmacro{printnames+etc}}}
+\newbibmacro*{volumes+bookseries+etc}{%
+ \usebibmacro{volumes}%
+ \usebibmacro{bookseries}%
+ \usebibmacro{pages}%
+ \usebibmacro{volume+number+etc}%
+ \usebibmacro{book:number}%
+ \usebibmacro{part}}%
+
+\newbibmacro*{note+edition+etc}{%
+ \usebibmacro{note}%
+ \usebibmacro{edition}{}%
+ \usebibmacro{edtrans}}%
+
\newbibmacro*{edition}[1]{%
\iffieldundef{edition}
{}
- {\newunit
+ {\iftoggle{edshift}
+ {\setunit{\addcomma\space}%
+ \togglefalse{edshift}}%
+ {\newunit}%
\iffieldbibstring{edition}
{\bibstring{\thefield{edition}}}
{\ifstrequal{#1}{noformat}
- {\setunit{\addcomma\space}%
- \printfield[noformat]{edition}}%
+ {\printfield[noformat]{edition}}%
{\printfield{edition}}}}}
\newbibmacro*{date+loc+etc}{%
@@ -2011,7 +2062,8 @@
\ifboolexpr{ test {\ifnamesequal{author}{bookauthor}}
or test {\ifnamesequal{afterword}{bookauthor}}
or test {\ifnamesequal{foreword}{bookauthor}}
- or test {\ifnamesequal{introduction}{bookauthor}}}
+ or test {\ifnamesequal{introduction}{bookauthor}}
+ or test {\ifnamesequal{preface}{bookauthor}}}
{\clearname{bookauthor}}%
{\iftoggle{noauth}
{\clearname{bookauthor}}%
@@ -2020,15 +2072,13 @@
\newbibmacro*{bybookauthor+pages}{%
\ifnameundef{bookauthor}
{}
- {\renewcommand*{\pluga}{\bibstring{by}\space}%
+ {\renewcommand*{\pluga}{%
+ \setunit{\addcomma\space}\bibstring{by}\space}%
\renewcommand*{\cbx@namelist}{bookauthor}%
\usebibmacro{printnames+etc}%
- \usebibmacro{pages}%
- \newunit}}%
+ \usebibmacro{pages}}}
-\newbibmacro*{byauthor+ed+chapter}{%
- \usebibmacro{byauthor}{newunit}%
- \usebibmacro{edtrans:a}%
+\newbibmacro*{chapter+in}{%
\iftoggle{collection:ib}
{}
{\newunit
@@ -2043,14 +2093,16 @@
{\ifboolexpr{ togl {collection:icbk}
or togl {collection:icib}}
{\usebibmacro{incollections:ic}}%
- {\usebibmacro{booktitle+editor}{}%
- \usebibmacro{bookbooktitle+editor}{in}%
+ {\usebibmacro{bookbooktitle}{in}%
+ \toggletrue{edshift}%
+ \usebibmacro{booktitle}%
+ \usebibmacro{note+edition+etc}%
\iffieldundef{volume}
{\iffieldundef{bookvolume}%
{\renewcommand*{\xvolume}{bookbook}}%
{\renewcommand*{\xvolume}{book}}%
- \usebibmacro{note+edition+etc}}%
- {\usebibmacro{note+edition+etc}}}}
+ \usebibmacro{volumes+bookseries+etc}}%
+ {\usebibmacro{volumes+bookseries+etc}}}}
\usebibmacro{date+loc+etc}%
\usebibmacro{origtitle}}%
@@ -2070,7 +2122,8 @@
{\iftoggle{bibliography}
{\setunit{\addcomma\space}%
\printfield{pages}%
- \clearfield{pages}}%
+ \clearfield{pages}%
+ \togglefalse{edshift}}%
{}}}
\newbibmacro*{review+title}{%
@@ -2205,48 +2258,43 @@
\newbibmacro*{incollections:ib}{%
\iftoggle{swapvol}
- {\usebibmacro{note+edition+etc}%
+ {\usebibmacro{note}%
+ \usebibmacro{edition}{}%
+ \usebibmacro{volumes+bookseries+etc}%
\let\xtitle\empty
\usebibmacro{longtitle+titleaddon}%
- \setunit{\unspace,\addspace}%
- \usebibmacro{byauthor}{}%
- \usebibmacro{edtrans:b}}%
+ \toggletrue{edshift}%
+ \usebibmacro{byauthor}%
+ \usebibmacro{edtrans}}%
{\usebibmacro{volume+number+etc}%
- \usebibmacro{booktitle+editor}{}%
- \usebibmacro{note+edition+etc}}}
-
-\newbibmacro*{note+edition+etc}{%
- \usebibmacro{note}%
- \usebibmacro{edition}{}%
- \usebibmacro{volumes}%
- \usebibmacro{bookseries}%
- \usebibmacro{pages}%
- \usebibmacro{volume+number+etc}%
- \usebibmacro{book:number}%
- \usebibmacro{part}}%
+ \toggletrue{edshift}%
+ \usebibmacro{booktitle}%
+ \usebibmacro{note+edition+etc}%
+ \usebibmacro{volumes+bookseries+etc}}}
\newbibmacro*{incollections:ic}{%
\iftoggle{swapvol}
{\iftoggle{collection:icbk}
- {\usebibmacro{maintitle+editor}}%
- {\usebibmacro{bookbooktitle+editor}{}}%
+ {\usebibmacro{maintitle+note+etc}}%
+ {\usebibmacro{bookbooktitle}{}%
+ \toggletrue{edshift}%
+ \usebibmacro{note+edition+etc}}%
\renewcommand*{\xvolume}{book}%
- \usebibmacro{note+edition+etc}%
- \usebibmacro{booktitle+editor}{}%
- \usebibmacro{pages}}%
- {\usebibmacro{booktitle+editor}{}%
+ \usebibmacro{volumes+bookseries+etc}%
+ \toggletrue{edshift}%
+ \usebibmacro{booktitle}%
+ \usebibmacro{edtrans}}%
+ {\toggletrue{edshift}%
+ \usebibmacro{booktitle}%
+ \usebibmacro{edtrans}%
\renewcommand*{\xvolume}{book}%
\usebibmacro{volume+number+etc}%
\iftoggle{collection:icbk}
- {\usebibmacro{maintitle+editor}}%
- {\usebibmacro{bookbooktitle+editor}{}}%
+ {\usebibmacro{maintitle+note+etc}}%
+ {\usebibmacro{bookbooktitle}{}%
+ \toggletrue{edshift}%
+ \usebibmacro{note+edition+etc}}%
\renewcommand*{\xvolume}{book}%
- \usebibmacro{note+edition+etc}}}
-
-\newbibmacro*{volume}{%
- \iffieldundef{\xvolume volume}
- {}
- {\newunit
- \printfield[volume]{\xvolume volume}}}
+ \usebibmacro{volumes+bookseries+etc}}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/windycity/windycity.cbx b/Master/texmf-dist/tex/latex/windycity/windycity.cbx
index 8a43318cf55..d5d0a342b5d 100644
--- a/Master/texmf-dist/tex/latex/windycity/windycity.cbx
+++ b/Master/texmf-dist/tex/latex/windycity/windycity.cbx
@@ -1,7 +1,5 @@
-% Last modified: Wed 17 Jul 2019 09:44:59 AM CDT
+% Last modified: Mon 07 Sep 2020 06:40:45 PM CDT
-% Copyright (c) 2019 Brian Michael Chase.
-%
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License (LPPL),
% version 1.3.
@@ -13,13 +11,13 @@
% implied warranties of merchantability and fitness for a particular
% purpose.
-\ProvidesFile{windycity.cbx}[2019/07/17 Windy City citation style for
+\ProvidesFile{windycity.cbx}[2020/09/07 Windy City citation style for
biblatex]
-\@ifpackagelater{biblatex}{2017/11/04}
+\@ifpackagelater{biblatex}{2019/08/17}
{}
{\PackageError{biblatex}
{Outdated 'biblatex' package}
- {Windy City is for biblatex v3.8 and above.\MessageBreak
+ {Windy City is for biblatex v3.13 and above.\MessageBreak
You are using: '\csuse{ver@biblatex.sty}'.\MessageBreak
This is a fatal error. I'm aborting now.}%
\endinput}%
@@ -48,6 +46,9 @@
\renewcommand{\bibendnotewrapper}[1]{%
\bibsentence#1}%
+\providetoggle{cite:collection}
+\providetoggle{cite:long}
+
% Protect commas against abbreviation dots and terminal punctuation
% marks. Note '\addspace'. Using '\space' there causes problems.
@@ -146,8 +147,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newbibmacro*{parencite}{%
- \usebibmacro{test:collection}%
- \usebibmacro{test:crossref}%
\ifboolexpr{ test \ifciteibid
and not test \iffirstonpage}
{\iffieldundef{postnote}
@@ -155,23 +154,17 @@
\usebibmacro{parencite:date}%
\usebibmacro{cite:volume}}}
{}}
- {\printtext[bibhyperref]{%
+ {\ifboolexpr{ test {\ifentrytype{book}}
+ or test {\ifentrytype{collection}}
+ or test {\ifentrytype{incollection}}
+ or test {\ifentrytype{inbook}}
+ or test {\ifentrytype{letter}}}
+ {\usebibmacro{test:crossref}}%
+ {}% needs '%'
+ \printtext[bibhyperref]{%
\usebibmacro{parencite:long}%
\usebibmacro{cite:volume}}}}
-% See note for 'crossref+long'.
-
-\newbibmacro*{test:crossref}{%
- \ifboolexpr{ test {\iffieldundef{crossref}}
- or test {\iffieldundef{title}}}
- {}
- {\xifinlist{\thefield{crossref}}{\crossreflist}
- {\stepcounter{\thefield{crossref}}}
- {\listxadd{\crossreflist}{\thefield{crossref}}%
- \ifcsdef{c@\thefield{crossref}}
- {\setcounter{\thefield{crossref}}{0}}%
- {\newcounter{\thefield{crossref}}}}}}
-
\newbibmacro*{parencite:date}{%
\iffieldundef{labelyear}
{}
@@ -208,7 +201,12 @@
\renewcommand*{\cbx@deflabel}{labelname}%
\clearfield{handle}%
\clearfield{nameaddon}%
- \usebibmacro{author+bookauthor+etc}}}}
+ \ifboolexpr{ test {\ifnameundef{afterword}}
+ and test {\ifnameundef{foreword}}
+ and test {\ifnameundef{introduction}}
+ and test {\ifnameundef{preface}}}
+ {\usebibmacro{author+bookauthor+etc}}%
+ {\usebibmacro{supplement}}}}}
\newbibmacro*{parencite:journal}{%
{\ifentrytype{article}
@@ -285,8 +283,11 @@
{\usebibmacro{author+bookauthor+etc}%
\bibstring{review}}%
\space
- \renewcommand*{\xtitle}{book}%
- \usebibmacro{title+labelyear}%
+% \renewcommand*{\xtitle}{book}%
+% \usebibmacro{title+labelyear}%
+ \iffieldundef{shortbooktitle}
+ {\printfield[title]{booktitle}\isdot}%
+ {\printfield[title]{shortbooktitle}\isdot}%
\usebibmacro{cite:volume}}%
\newbibmacro*{cite:volume}{%
@@ -311,7 +312,10 @@
\usebibmacro{deflabel}%
\iftoggle{firstshort}
{\usebibmacro{cite:short}}%
- {\usebibmacro{crossref+long}}}
+ {\printtext{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}}%
+ {cite:\thefield{entrytype}}}}}
% By default, idemtracker is 'false'. As such, '\ifciteidem' returns
% false. With idemtracker set to 'true' (or to some value that implies
@@ -328,19 +332,18 @@
% collection with entries containing just 'volume' and 'crossref'
% fields. Perhaps justifiable in very rare cases.
-\newbibmacro*{crossref+long}{%
+\newbibmacro*{test:crossref}{%
\ifboolexpr{ test {\iffieldundef{crossref}}
or test {\iffieldundef{title}}}
- {\usebibmacro{cite:long}}%
+ {\toggletrue{cite:long}}%
{\xifinlist{\thefield{crossref}}{\crossreflist}
- {\stepcounter{\thefield{crossref}}%
- \usebibmacro{author+title+etc}%
- \usebibmacro{crossref}}%
- {\listxadd{\crossreflist}{\thefield{crossref}}%
+ {\toggletrue{cite:collection}%
+ \stepcounter{\thefield{crossref}}}
+ {\toggletrue{cite:long}%
+ \listxadd{\crossreflist}{\thefield{crossref}}%
\ifcsdef{c@\thefield{crossref}}
{\setcounter{\thefield{crossref}}{0}}%
- {\newcounter{\thefield{crossref}}}
- \usebibmacro{cite:long}}}}
+ {\newcounter{\thefield{crossref}}}}}}
\newbibmacro*{cite:long}{%
\printtext{%
@@ -394,13 +397,13 @@
\usebibmacro{postnote}%
\usebibmacro{doi+url+etc}}}
-% If the postnote is empty, print the page ranges of journal articles.
-% See CMOS, 17th ed., 14.153, 14.167, and 14.174. As for incollection
-% and inbook entries, 14.106 seems to suggest the same, but the
-% example in 14.30 suggests otherwise. The examples in 14.108 only
-% muddy the waters further. For magazines, CMOS is clear that the
-% range can be left out. To do so, simply omit it from your
-% bibliography database.
+% If the postnote is empty, print the page ranges of journal and
+% review articles. See CMOS, 17th ed., 14.153, 14.167, and 14.174. As
+% for incollection and inbook entries, 14.106 seems to suggest the
+% same, but the example in 14.30 suggests otherwise. The examples in
+% 14.108 don't help. For magazines, CMOS is clear that the range can
+% be left out. To do so, simply omit it from your bibliography
+% database.
\newbibmacro*{cite:pages}{%
\iffieldundef{pages}
@@ -455,23 +458,35 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareBibliographyDriver{cite:article}{%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\usebibmacro{articles}%
\usebibmacro{colon+comma+etc}}%
\DeclareBibliographyDriver{cite:book}{%
- \usebibmacro{author+collection+etc}%
- \newunit
- \usebibmacro{volume+page}}%
+ \usebibmacro{test:crossref}%
+ \iftoggle{cite:long}
+ {\usebibmacro{author+collection+etc}%
+ \newunit
+ \usebibmacro{volume+page}}%
+ {\iftoggle{cite:collection}
+ {\usebibmacro{author+incollection+etc}%
+ \usebibmacro{crossref}}%
+ {}}}
\DeclareBibliographyDriver{cite:incollection}{%
\ifentrytype{letter}
{\toggletrue{noauth}}%
{}% needs '%'
- \usebibmacro{author+title+etc}%
- \usebibmacro{incollections}%
- \newunit
- \usebibmacro{volume+page}}%
+ \usebibmacro{test:crossref}%
+ \iftoggle{cite:long}
+ {\usebibmacro{author+incollection+etc}%
+ \usebibmacro{incollections}%
+ \newunit
+ \usebibmacro{volume+page}}%
+ {\iftoggle{cite:collection}
+ {\usebibmacro{author+incollection+etc}%
+ \usebibmacro{crossref}}%
+ {}}}
\DeclareBibliographyDriver{cite:misc}{%
\usebibmacro{author+bookauthor+etc}%
@@ -481,14 +496,14 @@
\newunit}%
\DeclareBibliographyDriver{cite:online}{%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\setunit*{\newunitpunct}% needs '*'
\usebibmacro{websites}%
\usebibmacro{issue+month+etc}{}%
\newunit}%
\DeclareBibliographyDriver{cite:patent}{%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\newunit
\printfield{number}%
\newunit}%
@@ -511,7 +526,7 @@
\usebibmacro{colon+comma+etc}}%
\DeclareBibliographyDriver{cite:thesis}{%
- \usebibmacro{author+title+ed+note}%
+ \usebibmacro{author+title+etc}%
\setunit{\addspace}% not '\setunit{\space}'
\printtext[parens]{\usebibmacro{inst+loc+date}}%
\newunit}%
diff --git a/Master/texmf-dist/tex/latex/windycity/windycity.dbx b/Master/texmf-dist/tex/latex/windycity/windycity.dbx
index 24c2908303c..db9f2a22fd7 100644
--- a/Master/texmf-dist/tex/latex/windycity/windycity.dbx
+++ b/Master/texmf-dist/tex/latex/windycity/windycity.dbx
@@ -1,22 +1,23 @@
-\ProvidesFile{windycity.dbx}[2019/04/02 Windy City data model file for
+\ProvidesFile{windycity.dbx}[2020/09/07 Windy City data model file for
biblatex]
\DeclareDatamodelFields[type=field,datatype=literal]{%
- blogtitle,
blogsubtitle,
+ blogtitle,
blogtitleaddon,
bookbooktitle,
- bookvolume,
bookbookvolume,
+ bookvolume,
bookyear,
- endbookyear,
editoraddon,
+ endbookyear,
handle,
seriesaddon,
shortbooktitle,
shortmaintitle,
- translatortype,
- translatoratype}
+ translatoratype,
+ translatortype}
\DeclareDatamodelFields[type=list,datatype=name]{%
+ preface,
shortbookauthor,
translatora,
translatorb}
diff --git a/Master/texmf-dist/tex/latex/windycity/windycity.sty b/Master/texmf-dist/tex/latex/windycity/windycity.sty
index 122191c05e9..4d9b7977227 100644
--- a/Master/texmf-dist/tex/latex/windycity/windycity.sty
+++ b/Master/texmf-dist/tex/latex/windycity/windycity.sty
@@ -1,4 +1,4 @@
-% Last modified: Tue 16 Jul 2019 07:49:59 AM CDT
+% Last modified: Sun 19 Jul 2020 11:58:38 AM CDT
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{windycity}
\RequirePackage{ifxetex}
@@ -228,7 +228,7 @@
\TeX}}%
\emergencystretch=1em
\hyphenation{bib-la-tex Chi-ca-go}
-\usepackage{btxdockit}% For \bibfield, \bibtype, \cmd, marglist, optionlist, \op, etc.
+\usepackage{btxdockit}% For \bibfield, \bibtype, \cmd, marglist, optionlist, etc.
\renewenvironment*{marglist}
{\list{}{%
\setlength{\labelwidth}{\marglistwidth}%
@@ -278,4 +278,10 @@
\renewcommand{\opt}[1]{\emph{#1}}%
\renewcommand{\sty}[1]{\emph{#1}}%
+% For tables:
+\usepackage{booktabs}% Enhanced layout
+\usepackage{float}% For nonfloating tables
+\usepackage[it,small]{caption}% Adjust captions
+\gappto{\@floatboxreset}{\centering}% Center floats
+
\endinput