texlive[50625] Master/texmf-dist: windycity (28mar19)
commits+karl at tug.org
commits+karl at tug.org
Thu Mar 28 21:58:02 CET 2019
Revision: 50625
http://tug.org/svn/texlive?view=revision&revision=50625
Author: karl
Date: 2019-03-28 21:58:02 +0100 (Thu, 28 Mar 2019)
Log Message:
-----------
windycity (28mar19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/windycity/CHANGES.md
trunk/Master/texmf-dist/doc/latex/windycity/README.md
trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.bib
trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.pdf
trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.sty
trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.tex
Added Paths:
-----------
trunk/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx
trunk/Master/texmf-dist/tex/latex/windycity/windycity.bbx
trunk/Master/texmf-dist/tex/latex/windycity/windycity.cbx
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/windycity/bbx/
trunk/Master/texmf-dist/doc/latex/windycity/cbx/
trunk/Master/texmf-dist/doc/latex/windycity/lbx/
Modified: trunk/Master/texmf-dist/doc/latex/windycity/CHANGES.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/windycity/CHANGES.md 2019-03-28 01:24:01 UTC (rev 50624)
+++ trunk/Master/texmf-dist/doc/latex/windycity/CHANGES.md 2019-03-28 20:58:02 UTC (rev 50625)
@@ -2,11 +2,25 @@
Versions of Windy City are indicated by release date. The most recent
date below is the current version, which is available on
-[CTAN](https://www.ctan.org/pkg/windycity "CTAN"). Changes since then,
-if any, are listed below under "Latest" and indicate updates to [Windy
-City's repository](https://github.com/brianchase/windycity "GitHub:
-brianchase/windycity") on [GitHub](https://github.com "GitHub").
+[CTAN](https://www.ctan.org/pkg/windycity "CTAN: pkg/windycity").
+Changes since then, if any, are listed below under "Latest" and
+indicate updates to Windy City's [repository on
+GitHub](https://github.com/brianchase/windycity "GitHub:
+brianchase/windycity").
+## 2019-03-27
+
+* fixed a bug that could prevent names in the 'editora' field from
+ printing in the author's position
+* fixed typos that broke the 'mathesis' entry type
+* fixed 'mathesis' and 'phdthesis' entry types so that they don't need
+ a 'type' field to distinguish the MA from the PhD (only the 'thesis'
+ entry type needs it)
+* improved support for newspapers and magazines with issue numbers
+ (see updated documentation on how to implement it)
+* added support for citing a newspaper's edition, such as 'Sunday Book
+ Review'
+
## 2019-02-21
* fixed reviews with titles
@@ -52,8 +66,8 @@
* changed processing of spacing and punctuation around 'postnote' for
all citations
* added support for swapping the place of an author with an editor or
- translator, as in CMS 14.104
-* extended the previous to cover a similar case in CMS 14.122
+ translator, as in CMOS 14.104
+* extended the previous to cover a similar case in CMOS 14.122
* improved handling of name lists and cross-referencing
* removed no longer maintained citation commands
* other bug fixes and housekeeping
@@ -106,7 +120,7 @@
* fixed 'noauth' entry option (it should only affect notes)
* fixed 'inst+loc+date'
-* following CMS, made 'cite:short' print just a work's title without
+* following CMOS, made 'cite:short' print just a work's title without
the name of the collection
* fixed name formatting for affixes like 'Jr.' in notes (no comma
before them, unlike in bibliographies, where names are inverted)
@@ -142,10 +156,11 @@
* put back preamble options 'useeditor' and 'usetranslator', which
are necessary after all (double ugh!)
* more readable and arguably simpler date processing for periodicals
-* added preamble option 'ibid' to prepare for the 17th edition of CMS
+* added preamble option 'ibid' to prepare for the 17th edition of CMOS
* updated windycity.tex to reflect the last point, also to make use of
optionlist
-* remove unused entries from windycity.bib for the 15th edition of CMS
+* remove unused entries from windycity.bib for the 15th edition of
+ CMOS
## 2018-11-13
@@ -153,8 +168,8 @@
for endday field)
* fixed spacing between volumes and pages in author-date system for
periodicals
-* support names of anonymous authors as in CMS 14.80 (16th edition)
- and CMS 14.79 (17th edition)
+* support names of anonymous authors as in CMOS 14.80 (16th edition)
+ and CMOS 14.79 (17th edition)
## 2018-11-09
Modified: trunk/Master/texmf-dist/doc/latex/windycity/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/windycity/README.md 2019-03-28 01:24:01 UTC (rev 50624)
+++ trunk/Master/texmf-dist/doc/latex/windycity/README.md 2019-03-28 20:58:02 UTC (rev 50625)
@@ -26,28 +26,62 @@
If you already know how to use
[biblatex](http://www.ctan.org/pkg/biblatex "biblatex"), getting
-started with Windy City is easy. Locate
-[biblatex](http://www.ctan.org/pkg/biblatex "biblatex") on your
-system, and copy Windy City's files into their respective directories:
+started with Windy City is easy. The first task is to confirm that
+[biblatex](http://www.ctan.org/pkg/biblatex "biblatex") and Windy City
+are installed properly on your system. Since both are included in some
+distributions of [LaTeX](https://en.wikipedia.org/wiki/LaTeX "LaTeX"),
+you might be able to skip this step.
+Windy City consists of four files:
+
+* [windycity.dbx](https://github.com/brianchase/windycity/blob/master/windycity.dbx "windycity.dbx")
+* [windycity.bbx](https://github.com/brianchase/windycity/blob/master/bbx/windycity.bbx "windycity.bbx")
+* [windycity.cbx](https://github.com/brianchase/windycity/blob/master/cbx/windycity.cbx "windycity.cbx")
+* [american-windycity.lbx](https://github.com/brianchase/windycity/blob/master/lbx/american-windycity.lbx "american-windycity.lbx")
+
+If you need to install Windy City on your system, you may copy its
+files to one of several places. One option is to locate
+[biblatex](http://www.ctan.org/pkg/biblatex "biblatex") on your system
+and use its directories:
+
* .../biblatex/[windycity.dbx](https://github.com/brianchase/windycity/blob/master/windycity.dbx "windycity.dbx")
* .../biblatex/bbx/[windycity.bbx](https://github.com/brianchase/windycity/blob/master/bbx/windycity.bbx "windycity.bbx")
* .../biblatex/cbx/[windycity.cbx](https://github.com/brianchase/windycity/blob/master/cbx/windycity.cbx "windycity.cbx")
* .../biblatex/lbx/[american-windycity.lbx](https://github.com/brianchase/windycity/blob/master/lbx/american-windycity.lbx "american-windycity.lbx")
-Next, tell [biblatex](http://www.ctan.org/pkg/biblatex "biblatex") to
-load Windy City with the load-time option `style`:
+If you prefer not to mix Windy City's files with
+[biblatex](http://www.ctan.org/pkg/biblatex "biblatex")'s, another
+option is to find where your distribution of
+[LaTeX](https://en.wikipedia.org/wiki/LaTeX "LaTeX") keeps
+[biblatex](http://www.ctan.org/pkg/biblatex "biblatex")'s third-party
+style files and proceed accordingly. Yet another option is to install
+Windy City in your local `texmf`. Its location will depend on your
+system and preferences. For a one-off compilation, say, to give Windy
+City a trial run on a single document, you can copy Windy City's files
+to the document's root directory.
+After copying the files to one of those places — or another of your
+choosing — remember that for every option but the last (a document's
+root directory), you need to update your `texmf` file name database.
+
+To compile a document with Windy City, tell
+[biblatex](http://www.ctan.org/pkg/biblatex "biblatex") to load it
+with the load-time option `style`:
+
```
\usepackage[style=windycity]{biblatex}
```
+Typically, this goes in a document's preamble or in one of its style
+files.
+
For some entries in your bibliography database, you may need to add
-fields or make other adjustments to get the right output. However,
-since Windy City relies as much as possible on standard BibTeX fields,
-and secondarily on [biblatex](http://www.ctan.org/pkg/biblatex
-"biblatex") fields, you may not need to make major changes. The
-examples in this document and its accompanying bibliography database,
+fields or make other adjustments to get the right output. But since
+Windy City relies as much as possible on standard
+[BibTeX](http://www.bibtex.org "BibTeX") fields, and secondarily on
+[biblatex](http://www.ctan.org/pkg/biblatex "biblatex") fields, you
+may not need to make major changes. The examples in this document and
+its accompanying bibliography database,
[windycity.bib](https://github.com/brianchase/windycity/blob/master/doc/windycity.bib
"windycity.bib"), should serve as a guide for how to manage your input
for nearly every circumstance that the style is meant to handle.
@@ -66,6 +100,5 @@
## Requirements
-* [TeX Live](http://www.tug.org/texlive "TeX Live")
* [biblatex](http://www.ctan.org/pkg/biblatex "biblatex") 3.8 or higher
Modified: trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.bib 2019-03-28 01:24:01 UTC (rev 50624)
+++ trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.bib 2019-03-28 20:58:02 UTC (rev 50625)
@@ -3,7 +3,7 @@
@Book{chicago2017,
author = {{University of Chicago Press}},
title = {The Chicago Manual of Style},
- shorthand = {\emph{CMS}},
+ shorthand = {\emph{CMOS}},
shorthandintro = {\addperiod\space Hereafter, \printfield{shorthand}},
edition = {17},
address = {Chicago},
@@ -11,7 +11,7 @@
year = {2017}
}
-% Examples not in CMS
+% Examples not in CMOS
@Book{doe2010a,
options = {skipbib},
@@ -1126,7 +1126,7 @@
author = {Tauber, Abraham},
title = {Spelling Reform in the United States},
type = {phdthesis},
- institution = {Columbia University},
+ institution = {Colum\-bia University},
year = {1958},
howpublished = {microfilm}
}
@@ -1589,7 +1589,7 @@
year = {2008},
origlocation = {New York},
origyear = {1909},
- sortyear = {1910},
+ sortyear = {1910},% sort after james1909
url = {http://www.gutenberg.org/ebooks/432}
}
@Book{james1909,
@@ -2020,7 +2020,7 @@
title = {Deconstructing Dinner},
journal = {New York Times},
date = {2006-04-23},
-% section = {Sunday Book Review},% FIX: no such field
+ edition = {Sunday Book Review},
url = {http://www.nytimes.com/2006/04/23/books/review/23kamp.html},
crossref = {pollan2006}
}
Modified: trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.sty
===================================================================
--- trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.sty 2019-03-28 01:24:01 UTC (rev 50624)
+++ trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.sty 2019-03-28 20:58:02 UTC (rev 50625)
@@ -1,4 +1,4 @@
-% Last modified: Wed 20 Feb 2019 05:58:18 PM CST
+% Last modified: Wed 27 Mar 2019 01:19:37 PM CDT
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{windycity}
\RequirePackage{ifxetex}
@@ -91,6 +91,11 @@
\usepackage[inline]{enumitem}
\setlist[enumerate,itemize]{noitemsep}
+% Allow line breaks in '\item[]':
+\newcommand{\tshortstack}{\@ifnextchar[\@tshortstack{\@tshortstack[c]}}%
+\let\@tshortstack\@shortstack
+\patchcmd\@tshortstack\vbox\vtop{}{}%
+
\newenvironment{citebib}
{\begin{enumerate}[%
before=\RaggedRight\citereset\newrefsegment\small,
@@ -225,6 +230,17 @@
\emergencystretch=1em
\hyphenation{bib-la-tex Chi-ca-go}
\usepackage{btxdockit}% For \bibfield, \bibtype, \cmd, marglist, optionlist, \op, etc.
+\renewenvironment*{marglist}
+ {\list{}{%
+ \setlength{\labelwidth}{\marglistwidth}%
+% Commented next line for normal paragraphing:
+% \setlength{\labelsep}{\marglistsep}%
+ \setlength{\leftmargin}{0pt}%
+% Added next line for normal paragraphing:
+ \setlength{\parsep}{0pt}%
+ \setlength{\listparindent}{\parindent}%
+ \renewcommand*{\makelabel}[1]{\hss\marglistfont##1}}}
+ {\endlist}
\renewenvironment*{optionlist}
{\list{}{%
\setlength{\labelwidth}{\marglistwidth}%
@@ -236,7 +252,6 @@
\renewcommand*{\makelabel}[1]{\hss\optionlistfont##1}}%
\ltd at optionlist}
{\endlist}
- \setlength{\itemsep}{0pt}%
\renewenvironment*{typelist}
{\list{}{%
\setlength{\labelwidth}{\marglistwidth}%
Modified: trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.tex 2019-03-28 01:24:01 UTC (rev 50624)
+++ trunk/Master/texmf-dist/doc/latex/windycity/doc/windycity.tex 2019-03-28 20:58:02 UTC (rev 50625)
@@ -1,4 +1,4 @@
-% Last modified: Thu 21 Feb 2019 03:04:32 PM CST
+% Last modified: Thu 28 Mar 2019 09:28:40 AM CDT
\documentclass[11pt,letterpaper,oneside]{article}
\usepackage{windycity}
@@ -8,7 +8,7 @@
\author{Brian Michael Chase}
\email{brianmichaelchase at gmail.com}
\website{https://github.com/brianchase/windycity}
-\version{2019-02-21}
+\version{2019-03-27}
\maketitle
\begingroup
\hypersetup{linkcolor=black}
@@ -26,7 +26,7 @@
Windy City is a style for \biblatex that formats notes,
bibliographies, parenthetical citations, and reference lists according
to the 17th edition of \textit{The Chicago Manual of Style}
-(\textit{CMS}).\footnote{\cite{chicago2017}} It accurately handles a
+(\textit{CMOS}).\footnote{\cite{chicago2017}} It accurately handles a
wide range of citations in different formats and includes a set of
options and commands to support special circumstances. It also has
extensive support for citing and arranging different kinds of editors,
@@ -33,13 +33,13 @@
translators, and compilers within a single citation. These features
make Windy City especially suitable for academic work.
-The following sections assume familiarity with \textit{CMS} and
+The following sections assume familiarity with \textit{CMOS} and
\biblatex. Section \ref{overview} gives a brief overview of the
style's features. Section \ref{edtrans} discusses the assignment and
placement of editors, translators, and compilers. Section
\ref{collections} discusses several issues with collections, including
options for formatting citations of individual volumes. Sections
-\ref{notes} and \ref{paren} reproduce examples from \textit{CMS}
+\ref{notes} and \ref{paren} reproduce examples from \textit{CMOS}
Chapters 14 and 15, respectively, with occasional commentary and
references to other sections.
@@ -58,9 +58,30 @@
\subsection{Getting Started}
If you already know how to use \biblatex, getting started with Windy
-City is easy. Locate \biblatex on your system, and copy Windy City's
-files into their respective directories:
+City is easy. The first task is to confirm that \biblatex and Windy
+City are installed properly on your system. Since both are included in
+some distributions of \LaTeX, you might be able to skip this step.
+Either way, please consider downloading the most recent release of
+Windy City from \begingroup \hypersetup{urlcolor=blue}
+\href{https://www.ctan.org/pkg/windycity}{its home on CTAN}. More
+recent but potentially less reliable updates are available from Windy
+City's \href{https://github.com/brianchase/windycity}{repository on
+GitHub}.\endgroup
+
+Windy City consists of four files:
+
+\begin{itemize}[before=\small]
+\item \file{windycity.dbx}
+\item \file{windycity.bbx}
+\item \file{windycity.cbx}
+\item \file{american-windycity.lbx}
+\end{itemize}
+
+\noindent If you need to install Windy City on your system, you may
+copy its files to one of several places. One option is to locate
+\biblatex on your system and use its directories:
+
\begin{itemize}[before=\small,label=]
\item \ldots\path{/biblatex/windycity.dbx}
\item \ldots\path{/biblatex/bbx/windycity.bbx}
@@ -68,18 +89,34 @@
\item \ldots\path{/biblatex/lbx/american-windycity.lbx}
\end{itemize}
-\noindent Next, tell \biblatex to load Windy City with the load-time
-option \opt{style}:
+If you prefer not to mix Windy City's files with \biblatex's, another
+option is to find where your distribution of \LaTeX\ keeps \biblatex's
+third-party style files and proceed accordingly. Yet another option is
+to install Windy City in your local \path{texmf}. Its location will
+depend on your system and preferences. For a one-off compilation, say,
+to give Windy City a trial run on a single document, you can copy
+Windy City's files to the document's root directory.
+After copying the files to one of those places---or another of your
+choosing---remember that for every option but the last (a document's
+root directory), you need to update your \path{texmf} file name
+database.
+
+To compile a document with Windy City, tell \biblatex to load it with
+the load-time option \opt{style}:
+
\begin{verbatim}
\usepackage[style=windycity]{biblatex}
\end{verbatim}
+\noindent Typically, this goes in a document's preamble or in one of
+its style files.
+
For some entries in your bibliography database, you may need to add
-fields or make other adjustments to get the right output. However,
-since Windy City relies as much as possible on standard \BibTeX
-fields, and secondarily on \biblatex fields, you may not need to make
-major changes. The examples in this document and its accompanying
+fields or make other adjustments to get the right output. But since
+Windy City relies as much as possible on standard \BibTeX\ fields, and
+secondarily on \biblatex fields, you may not need to make major
+changes. The examples in this document and its accompanying
bibliography database, \file{windycity.bib}, should serve as a guide
for how to manage your input for nearly every circumstance that the
style is meant to handle.
@@ -87,7 +124,7 @@
\subsection{The Default Format}
\label{default}
-For a first set of examples, consider a passage from \textit{CMS}
+For a first set of examples, consider a passage from \textit{CMOS}
\ref{14.30}:
\begin{citeonly}
@@ -120,7 +157,7 @@
\end{bibonly}
\noindent You may also print a bibliography in the author-date format,
-what \textit{CMS} calls a reference list:
+what \textit{CMOS} calls a reference list:
\begin{refonly}
\nocite{kaiser1964,morley1995,schwartz1992}
@@ -166,9 +203,9 @@
\subsection{Short Citations}
\label{short}
-Aside from the author-date format, \textit{CMS} offers scant
+Aside from the author-date format, \textit{CMOS} offers scant
documentation of alternative formats. Nevertheless, there are
-alternatives. Consider this example from \textit{CMS}
+alternatives. Consider this example from \textit{CMOS}
\ref{14.34}:\footnote{Switching formats within a document isn't a
feature of the style. For demonstration purposes, though, it's
possible.}
@@ -224,12 +261,12 @@
author's name. To use this format, start \biblatex with the preamble
option \opt{short}. See Section \ref{preops} for more information.
-\textit{CMS} \ref{14.34} also shows how to render the passage above
-with \textit{ibid.} Unlike previous editions of \textit{CMS}, the 17th
-edition discourages its use. As such, \textit{ibid.} is no longer part
-of Windy City's default format. Enable it with the preamble option
-\opt{ibid} (again, see Section \ref{preops}). Options \opt{short} and
-\opt{ibid} together give the following:
+\textit{CMOS} \ref{14.34} also shows how to render the passage above
+with \textit{ibid.} Unlike previous editions of \textit{CMOS}, the
+17th edition discourages its use. As such, \textit{ibid.} is no longer
+part of Windy City's default format. Enable it with the preamble
+option \opt{ibid} (again, see Section \ref{preops}). Options
+\opt{short} and \opt{ibid} together give the following:
\begin{citeonly}
\AtNextCitekey{\toggletrue{short}\toggletrue{firstshort}\toggletrue{ibid}}
@@ -299,7 +336,7 @@
context like that, do you really need to remind readers of the
author's full name? If you think not, change \opt{idemtracker} to an
appropriate value (see Section 3.1.2.3 of \biblatex's user
-guide).\footnote{\textit{CMS} seems to have no policy on this point.
+guide).\footnote{\textit{CMOS} seems to have no policy on this point.
In the 16th edition, however, Figure 14.3 shows consecutive citations
of works by the same author, both of which give the author's full
name.}
@@ -328,11 +365,11 @@
\noindent Use this option to shorten the first citation of each work.
The resulting format consists mainly of the author's name and the
-work's title. According to \textit{CMS}, this approach is optional for
-documents with complete bibliographies. (See \textit{CMS} \ref{14.23},
-also 14.29--14.36.) You may use \opt{firstshort} in conjunction with
-\opt{ibid}. However, it adds nothing to \opt{short}, which has the
-same effect on first citations.
+work's title. According to \textit{CMOS}, this approach is optional
+for documents with complete bibliographies. (See \textit{CMOS}
+\ref{14.23}, also 14.29--14.36.) You may use \opt{firstshort} in
+conjunction with \opt{ibid}. However, it adds nothing to \opt{short},
+which has the same effect on first citations.
\optitem[false]{ibid}{\opt{true}, \opt{false}}
@@ -340,10 +377,10 @@
on the same page receive an \textit{ibid}. The qualification ``on the
same page'' means that \textit{ibid.} always refers to a work cited on
the current page without an \textit{ibid.} The latter is not a
-requirement of \textit{CMS} but seems reasonable, since it prevents
+requirement of \textit{CMOS} but seems reasonable, since it prevents
readers from having to look at another page to determine the referent
of an \textit{ibid.} For examples of its output, see Section
-\ref{short} and \ref{14.34}. As of the 17th edition, \textit{CMS}
+\ref{short} and \ref{14.34}. As of the 17th edition, \textit{CMOS}
discourages the use of \textit{ibid.} (see \ref{14.34}).
\optitem[false]{isbn}{\opt{true}, \opt{false}}
@@ -374,9 +411,9 @@
\optitem[false]{reflist}{\opt{true}, \opt{false}}
\noindent Use this option to print a bibliography in the author-date
-format, what \textit{CMS} calls a reference list. If you choose
+format, what \textit{CMOS} calls a reference list. If you choose
parenthetical citations over notes, consider using \opt{reflist} to
-maintain consistency with \textit{CMS}. Again, another way to print a
+maintain consistency with \textit{CMOS}. Again, another way to print a
reference list is to pass \opt{env=reflist} to
\cmd{printbibliography}. See Section \ref{overview} for more
information.
@@ -384,13 +421,13 @@
\optitem[false]{short}{\opt{true}, \opt{false}}
\noindent As shown in Section \ref{short}, this option prints
-citations in a short format (see \textit{CMS} \ref{14.34}). The use of
-\opt{short} has one feature in common with \opt{ibid}: Just as
+citations in a short format (see \textit{CMOS} \ref{14.34}). The use
+of \opt{short} has one feature in common with \opt{ibid}: Just as
\textit{ibid.} appears only for consecutive citations of a work on the
same page, and so never refers to a citation on a previous page,
\opt{short} drops the title from consecutive citations of a work on
the same page, never in reference to a citation on a previous page. As
-with \textit{ibid.}, this feature isn't required by \textit{CMS}, but
+with \textit{ibid.}, this feature isn't required by \textit{CMOS}, but
it prevents readers from having to look at a previous page to
determine which title a citation refers to.
@@ -428,7 +465,7 @@
\optitem[false]{anonauth}{\opt{true}, \opt{false}}
\noindent This option prints the author's name of an anonymously
-published work in brackets, as in this example from \textit{CMS}
+published work in brackets, as in this example from \textit{CMOS}
\ref{14.79}:
\begin{citebib}
@@ -438,7 +475,7 @@
\optitem[false]{anonqauth}{\opt{true}, \opt{false}}
\noindent Similar to the previous but adds a question mark after the
-author's name, as in this example from \textit{CMS} \ref{14.79}:
+author's name, as in this example from \textit{CMOS} \ref{14.79}:
\begin{citebib}
\item \cite{hawkes1834}
@@ -461,12 +498,12 @@
\optitem[false]{listvols}{\opt{true}, \opt{false}}
-\noindent \textit{CMS} offers some flexibility over whether a long
-citation gives a work's total number of volumes (see \textit{CMS}
+\noindent \textit{CMOS} offers some flexibility over whether a long
+citation gives a work's total number of volumes (see \textit{CMOS}
\ref{14.118}). Windy City replicates this in a roundabout way: By
default, it prints the \bibfield{volumes} field in certain long
citations only if the \bibfield{postnote} field is empty. This does a
-better job of matching examples in \textit{CMS} than a simpler policy
+better job of matching examples in \textit{CMOS} than a simpler policy
would. For the rest, use \opt{listvols}. It prints the
\bibfield{volumes} field in those citations no matter what the
\bibfield{postnote} contains. For more information, see Section
@@ -476,7 +513,7 @@
\noindent This option tells the style to bypass the author's position
of a work in notes and bibliographies. Citations will begin with the
-title's position. Below is an example from \textit{CMS} \ref{14.105}:
+title's position. Below is an example from \textit{CMOS} \ref{14.105}:
\begin{citebib}
\item \cite{chaucer1966}
@@ -501,7 +538,7 @@
\optitem[false]{swaptrans}{\opt{true}, \opt{false}}
-\noindent According to \textit{CMS}, if a work has an editor and a
+\noindent According to \textit{CMOS}, if a work has an editor and a
translator, their names should appear in citations in the order in
which they appear on the work's title page (\ref{14.104}). By default,
the style lists editors first. Entries with the option
@@ -549,7 +586,7 @@
Use this command to cite a work without printing anything in the
author's position. It comes in handy when the context makes the
-author's name clear. From \textit{CMS} \ref{14.78}:
+author's name clear. From \textit{CMOS} \ref{14.78}:
\begin{citebib}
\item \cite*[233]{franklin1868}
@@ -566,7 +603,7 @@
Use this command to print a parenthetical citation without the
author's position. The most likely contexts for this are passages in
which the author receives explicit mention. Here's an example from
-\textit{CMS} \ref{15.25}:
+\textit{CMOS} \ref{15.25}:
\begin{quote} Fiorina et al. \parencite*{fiorina2005} and Fischer and
Hout \parencite*{fischer2006} reach more or less the same conclusions.
@@ -584,57 +621,6 @@
\end{ltxsyntax}
-\subsection{Additional Data Fields}
-\label{datafields}
-
-Windy City uses several data fields that aren't available with
-\biblatex. Some of them are for Windy City's internal use in
-cross-referencing and aren't listed below, as they're not meant for
-use in a bibliography database. The fields below are different: You
-can use them to store information in a bibliography database that you
-want to appear in citations. Without these fields, quite a few
-citations in this document wouldn't match their counterparts in
-\textit{CMS}.
-
-\begin{marglist}
-
-\item[blogtitle/blogsubtitle]
-
-The name of a blog goes in \bibfield{blogtitle} and
-\bibfield{blogsubtitle}. Using already existing fields for this
-information would have been preferable. But since blog posts take the
-usual \bibfield{title} and \bibfield{subtitle} fields, and since blogs
-may have host names of different types, nothing else seemed suitable.
-
-\item[editoraddon] Use this field to include additional editorial
-information about a book. It's available for \bibtype{book},
-\bibtype{incollection}, and \bibfield{review} entry types and their
-aliases. (For information on aliases in Windy City, see Section
-\ref{entrytypes}.) When applicable, its content appears after the
-names of a book's editors and translators without intervening
-punctuation. For an example, see Section \ref{entryops}, where the
-citation of \textit{Chaucer Life-Records} prints this
-\bibfield{editoraddon}: ``from materials compiled by John M. Manly and
-Edith Richert, with the assistance of Lilian J. Redstone et al.''
-
-\item[seriesaddon] This field is for additional information about a
-book's series. That includes information about the run of a series,
-such as \textit{2nd ser.} and \textit{n.s.}. For examples, see
-\textit{CMS} \ref{14.123} and \ref{14.126}. Keep in mind that, for
-journals, which occasionally have a series but no series name,
-information like \textit{2nd ser.} and \textit{n.s.} go in the
-\bibfield{series} field.
-
-\item[shortmaintitle] This field is for the short form of a
-\bibfield{maintitle}. Use it in a bibliography database when a work's
-\bibfield{maintitle} may occupy the position of a regular title in a
-short citation and needs a short form. This should only happen with
-certain works in collections. See, for example, the citation of
-\textit{The Complete Tales of Henry James} in Section
-\ref{multivolume}.
-
-\end{marglist}
-
\subsection{Entry Types}
\label{entrytypes}
@@ -690,7 +676,7 @@
entries: You may cross-reference \bibtype{inreference} entries to
\bibtype{reference} entries, as with articles in books, but you can
get the same output using one or the other entry type alone. Take an
-example from \textit{CMS} \ref{14.232}:
+example from \textit{CMOS} \ref{14.232}:
\begin{citeonly}
\item \cite{salvation1980}
@@ -731,7 +717,7 @@
the style, consider using the \bibtype{misc} entry type. The style
formats these entries with a small number of fields but in way that
makes it a fallback for almost anything. The example below is from
-\textit{CMS} 14.264:
+\textit{CMOS} 14.264:
\begin{citebib}
\item \cite{roosevelt1959}
@@ -760,7 +746,7 @@
\end{verbatim}
You may also use the \bibtype{misc} entry type to cross-reference
-entries in a bibliography, as in \textit{CMS} \ref{14.81} and
+entries in a bibliography, as in \textit{CMOS} \ref{14.81} and
\ref{14.82}.
\begin{bibonly}
@@ -788,6 +774,134 @@
\ref{notes}, \ref{14.108}; Section \ref{paren}, \ref{15.42}; and
Section \ref{collections}.
+For more information on entry types---specifically, on the use of
+certain data fields with them---see Section \ref{datafields}.
+
+\subsection{Data Fields}
+\label{datafields}
+
+As Windy City has grown to support more citations, it has had to add
+data fields that aren't recognized by \BibTeX\ or \biblatex. It also
+uses some standard ones in perhaps unexpected ways.
+
+\subsubsection{Additional Data Fields}
+\label{datafields}
+
+Some of Windy City's additional or nonstandard data fields are for its
+internal handling of cross-referencing. Those fields aren't listed
+below, as they're not meant for use in a bibliography database. The
+rest store information that's crucial for correct formatting. Without
+them, quite a few citations in this document wouldn't match their
+counterparts in \textit{CMOS}.
+
+\begin{marglist}
+
+\item[\smash{\tshortstack[l]{blogtitle\\blogsubtitle}}] The name of a
+blog goes in \bibfield{blogtitle} and \bibfield{blogsubtitle}. Of
+course, already existing fields would have been preferable for this
+purpose. But since blog posts take the usual \bibfield{title} and
+\bibfield{subtitle}, and since blogs may have host names of different
+sorts, new fields seemed necessary.
+
+\item[editoraddon] Use this field to include additional editorial
+information about a book. It's available for \bibtype{book},
+\bibtype{incollection}, and \bibfield{review} entry types and their
+aliases. (For information on aliases in Windy City, see Section
+\ref{entrytypes}.) When applicable, its content appears after the
+names of a book's editors and translators without intervening
+punctuation. For an example, see Section \ref{entryops}, where the
+citation of \textit{Chaucer Life-Records} prints this
+\bibfield{editoraddon}: ``from materials compiled by John M. Manly and
+Edith Richert, with the assistance of Lilian J. Redstone et al.''
+
+\item[seriesaddon] This field is for additional information about a
+book's series. That includes information about the run of a series,
+such as \textit{2nd ser.} and \textit{n.s.}. For examples, see
+\textit{CMOS} \ref{14.123} and \ref{14.126}. Keep in mind that, for
+journals, which occasionally have a series but no series name,
+information like \textit{2nd ser.} and \textit{n.s.} go in the
+\bibfield{series} field.
+
+\item[shortmaintitle] This field is for the short form of a
+\bibfield{maintitle}. Use it in a bibliography database when a work's
+\bibfield{maintitle} may occupy the position of a regular title in a
+short citation and needs a short form. This should only happen with
+certain works in collections. See, for example, the citation of
+\textit{The Complete Tales of Henry James} in Section
+\ref{multivolume}.
+
+\end{marglist}
+
+\subsubsection{Other Data Fields}
+\label{fieldscon}
+
+Examples in this document don't always make it clear how Windy City
+uses standard data fields. The list below discusses some of them.
+
+\begin{marglist}
+
+\item[edition] To indicate a numbered edition of a work, put the
+number of the edition in this field---for example, \textit{2} for a
+second edition. To indicate a revised edition, enter either
+\textit{revised} or \textit{rev. ed.}. Both options give the same
+output. You may also use the field to indicate a newspaper's edition,
+such as\textit{Sunday Book Review} (see \textit{CMOS} \ref{14.202}).
+
+\item[issue] Windy City uses this field with the \bibtype{article},
+\bibtype{online}, and \bibtype{review} entry types to record a work's
+season of publication (spring, summer, autumn/fall, winter). The
+\bibtype{date} field also records seasons---but the value \textit{23},
+for the third season, returns \textit{Autumn}. To print \textit{Fall},
+use an \bibfield{issue} field with that value. In other words, for the
+output \textit{Fall 2013}, a work's bibliography database entry should
+contain:
+
+\begin{verbatim}
+ issue = {Fall},
+ date = {2013},
+\end{verbatim}
+
+\noindent Whereas for \textit{Autumn 2013}, use either:
+
+\begin{verbatim}
+ date = {2013-23},
+\end{verbatim}
+
+\noindent Or:
+
+\begin{verbatim}
+ issue = {Autumn},
+ date = {2013},
+\end{verbatim}
+
+\noindent Remember that when \bibfield{date} contains just a year of
+publication, you may use the classic \bibfield{year} field instead.
+
+\item[series] See the comments for \bibfield{seriesaddon} in Section
+\ref{datafields}.
+
+\item[type] With the \bibtype{thesis} entry type, Windy City uses the
+\bibfield{type} field to distinguish a Master's thesis from a PhD
+dissertation. For the latter, \bibtype{type} should have the values
+\textit{phdthesis} or \textit{PhD diss.}. For the former, use
+\textit{mathesis} or \textit{master's thesis}. No \bibfield{type}
+field is needed for the \bibtype{mathesis} and \bibtype{phdthesis}
+entry types.
+
+In rare cases, the \bibfield{type} field is necessary for the
+\bibtype{article} and \bibtype{review} entry types when a work's
+bibliographic information doesn't allow Windy City to distinguish a
+journal article from a magazine or newspaper article. This happens
+when a magazine or newspaper article has an issue number. Normally,
+Windy City would respond by printing the issue number before the date
+and enclosing the date in parentheses. But the issue number needs to
+go first, and the date shouldn't be in parentheses. The workaround is
+to include a \bibfield{type} field with the value \textit{newsmag}.
+For an example, see \textit{CMOS} \ref{14.204} and compare it with the
+citation of Beattie in \ref{14.171}.
+
+\end{marglist}
+
\section{Editors, Translators, and Compilers}
\label{edtrans}
@@ -804,7 +918,7 @@
scope of an entry. In most cases, then, you can assign editors and
translators simply by adding the \bibfield{editor} and
\bibfield{translator} fields to a database entry. Below is the entry
-for an example in \textit{CMS} \ref{14.104}:
+for an example in \textit{CMOS} \ref{14.104}:
\begin{verbatim}
@Collection{adorno1999,
@@ -832,7 +946,7 @@
Cross-referencing introduces a bit more complexity, though the
principle is the same: Within the scope of an entry, the style
associates \bibfield{editor} and \bibfield{translator} with the lowest
-level title. In this example from \textit{CMS} \ref{14.30}, an essay
+level title. In this example from \textit{CMOS} \ref{14.30}, an essay
is cross-referenced to a collection:
\begin{verbatim}
@@ -903,7 +1017,7 @@
compiler to an entry, add the compiler's name to an available field
for an editor, then add an appropriate \bibfield{editortype} field
with the value \textit{compiler}. It may help to see the bibliography
-database entry for an example in \textit{CMS} \ref{14.103}:
+database entry for an example in \textit{CMOS} \ref{14.103}:
\begin{verbatim}
@Book{schechter2011,
@@ -923,7 +1037,7 @@
Follow the same pattern for editors of a \bibfield{maintitle},
\bibfield{series}, or \bibfield{issuetitle}. Here's an example from
-\textit{CMS} \ref{14.123}:
+\textit{CMOS} \ref{14.123}:
\begin{verbatim}
@Book{allen2009,
@@ -1005,7 +1119,7 @@
If a work has no author, but has an editor, the style will print the
editor's name in the author's position. The same happens if a work has
no author but has a translator. The following are examples from
-\textit{CMS} \ref{14.103}:
+\textit{CMOS} \ref{14.103}:
\begin{citebib}
\item \cite[100]{egan2014}
@@ -1029,7 +1143,7 @@
Similarly, if a work's editors and translators are identical, the
style will print the editors' role first, as in \textit{edited and
translated by}\ldots Reverse them with \opt{swaptrans}. From
-\textit{CMS} \ref{14.104}:
+\textit{CMOS} \ref{14.104}:
\begin{citebib}
\item \cite{menchu1999}
@@ -1040,7 +1154,7 @@
compilers' names will print first, unless you use \opt{swaptrans}.
In rare cases, you may want to swap the position of an author and an
-editor or translator. \textit{CMS} \ref{14.104} gives an example:
+editor or translator. \textit{CMOS} \ref{14.104} gives an example:
\begin{citebib}
\item \cite{pound1953}
@@ -1084,7 +1198,7 @@
\label{collections}
Before you cite a collection or one of its volumes, you need to
-consider how you want the citation to look (\textit{CMS} gives you
+consider how you want the citation to look (\textit{CMOS} gives you
options) and whether the collection should count as a single work or
as a composite. These issues have implications for how you structure
entries in your bibliography database and how you use citation
@@ -1098,7 +1212,7 @@
preparing your bibliography database, the most basic choice to make
about a work in a collection is which publication information has
priority, the collection's or the volume's. Consider an example from
-\textit{CMS} \ref{14.119}:
+\textit{CMOS} \ref{14.119}:
\begin{citebib}
\item \cite{armstrong2014}
@@ -1106,8 +1220,8 @@
\noindent The editor and title of the volume precede the editor and
title of the collection. In notes and bibliographies in the default
-format, \textit{CMS} gives you the option of reversing this order.
-(See especially \textit{CMS} \ref{14.119}, \ref{14.121}, and
+format, \textit{CMOS} gives you the option of reversing this order.
+(See especially \textit{CMOS} \ref{14.119}, \ref{14.121}, and
\ref{14.122}, and compare \ref{14.144} and \ref{15.41}.) Windy City
does as well, with the entry or preamble option \opt{swapvol}.
@@ -1137,9 +1251,9 @@
\end{citeonly}
Notice the appearance of the volume number in the second note above,
-separated from the page citation with a colon. When the collection has
+separated from the page citation by a colon. When the collection has
priority, the volume number should appear in the citation. There are
-enough examples in \textit{CMS} to make that clear. But when the
+enough examples in \textit{CMOS} to make that clear. But when the
volume has priority, the volume number is at best optional but
probably incorrect. (It could cause confusion, since the collection is
what comes in volumes, not the volumes themselves.) In any event,
@@ -1147,7 +1261,7 @@
priority, that is, when \opt{swapvol} is \textit{true}.
Sometimes, you may want collections to have priority in every case. If
-so, compile your documents with the \opt{swapvol} preamble option,
+so, compile documents with the \opt{swapvol} preamble option,
which acts globally, affecting all relevant citations. More likely,
though, you'll want to give priority to the collection when citing
some works but not others. That's why there's a \opt{swapvol} entry
@@ -1154,7 +1268,7 @@
option for changing individual citations.
A good candidate for the entry option is this example from
-\textit{CMS} \ref{14.118}:
+\textit{CMOS} \ref{14.118}:
\begin{citebib}
\item \cite*{james1963.5}
@@ -1198,7 +1312,7 @@
entries when they're cross-referenced to works that are changed by
\opt{swapvol}. They should have their own authors or titles that Windy
City can use for proper sorting. As for examples, it seems that
-\textit{CMS} gives exactly one in \ref{14.120}:
+\textit{CMOS} gives exactly one in \ref{14.120}:
\begin{citebib}
\item \cite[169--71]{king2014}
@@ -1220,7 +1334,7 @@
volume number before the page reference. That's because, with or
without \opt{swapvol}, the citation is directly to the work's title,
not to the collection. The same goes for articles, chapters, books,
-and other works of this type. Further, consistent with \textit{CMS}
+and other works of this type. Further, consistent with \textit{CMOS}
\ref{14.108} and \ref{15.42}, Windy City cross-references previously
cited volumes.
@@ -1249,7 +1363,7 @@
How does Windy City determine which entries in a bibliography database
work with \opt{swapvol}? To keep things simple, let's focus on
individual volumes of a collection, rather than works collected in
-them, like articles and chapters. Below are the entries for an earlier
+them, like articles and chapters. Below are entries for an earlier
example:
\begin{verbatim}
@@ -1349,7 +1463,7 @@
entries is probably simpler. The other way is simpler if you plan to
cite just one work in one volume.
-As mentioned in \textit{CMS} \ref{15.41}, reference lists should give
+As mentioned in \textit{CMOS} \ref{15.41}, reference lists should give
priority to the volume, not to the collection. Nevertheless, Windy
City doesn't prevent you from using \opt{swapvol} with \opt{reflist}.
Either way, remember that when a volume and a collection have
@@ -1364,13 +1478,13 @@
A final issue concerns whether you want long citations to give a
work's total number of volumes. Whereas entries in a bibliography
almost always give that number (the exceptions are those that work
-with \opt{swapvol}), doing so in notes is optional (per \textit{CMS}
+with \opt{swapvol}), doing so in notes is optional (per \textit{CMOS}
\ref{14.118}).
Here's what Windy City does: Apart from entries that work with
\opt{swapvol}, it prints the \bibfield{volumes} field in long
citations only if the \bibfield{postnote} field is empty. That's not a
-requirement of \textit{CMS}. But there are several reasons for
+requirement of \textit{CMOS}. But there are several reasons for
preferring this approach. If the \bibfield{postnote} is empty,
printing the total preserves the correspondence between the long
citation and its entry in the bibliography. This prevents the
@@ -1381,13 +1495,13 @@
volume number makes it less important, arguably, to include the total
number of volumes. The main benefit, anyway, is that Windy City's
approach is consistent with citations of \textit{The Lisle Letters} in
-\textit{CMS} \ref{14.117} and \ref{14.118}. No simpler rule would be.
+\textit{CMOS} \ref{14.117} and \ref{14.118}. No simpler rule would be.
Confused? All you need to know is that, barring exceptions for
\opt{swapvol}, if you want to print a work's total number of volumes
without regard to the \bibfield{postnote}, use the entry option
\opt{listvols}. Windy City uses it to match some examples in
-\textit{CMS}, such as in \ref{14.59}:
+\textit{CMOS}, such as in \ref{14.59}:
\begin{citeonly}
\item \cite[1:126]{shurtleff1853}
@@ -1396,11 +1510,11 @@
\subsection{Collections as Single Works}
\label{multivolume}
-Although its discussion is a bit obscure, \textit{CMS} treats some
+Although its discussion is a bit obscure, \textit{CMOS} treats some
multivolume collections as single works---but only, it seems, if every
volume of the collection has the same title and publication date. To
illustrate the distinction between a collection that counts as a
-single work and one that doesn't, \textit{CMS} gives the following
+single work and one that doesn't, \textit{CMOS} gives the following
examples in \ref{14.118}:
\begin{citeonly}
@@ -1440,8 +1554,8 @@
To cite a particular volume of the collection, include the volume
number in the citation's \bibfield{postnote}. For citations of pages,
-remember the format from \textit{CMS} \ref{14.118}: Volume numbers and
-pages are separated with a colon. Here's the source for the first
+remember the format from \textit{CMOS} \ref{14.118}: Volume numbers
+and pages are separated with a colon. Here's the source for the first
citation of \textit{The Lisle Letters}:
\begin{verbatim}
@@ -1450,7 +1564,7 @@
\noindent To cite a volume by itself, without a page reference, or to
cite chapters, sections, and other parts of the work, remember to use
-the appropriate abbreviations (for some examples, see \textit{CMS}
+the appropriate abbreviations (for some examples, see \textit{CMOS}
\ref{14.120}, 15.23, and \ref{15.41}):
\begin{verbatim}
@@ -1472,7 +1586,7 @@
For collections like \textit{The Complete Tales of Henry James}, which
don't count as single works, every volume needs to have its own entry
in the bibliography database. Here's the entry for the volume cited in
-\textit{CMS} \ref{14.118}:
+\textit{CMOS} \ref{14.118}:
\begin{verbatim}
@Collection{james1963.5,
@@ -1507,7 +1621,7 @@
Complete Tales Henry James}, cross-referencing would result in errors
because, with different titles and publication dates, not all
publication data for the collection is true of each volume. To cite
-the collection as a whole, as in \textit{CMS} \ref{14.117}, add a
+the collection as a whole, as in \textit{CMOS} \ref{14.117}, add a
separate entry:
\begin{verbatim}
@@ -1561,7 +1675,7 @@
\item \cite{spinoza1900.1.1}
\end{citebib}
-\noindent If instead \bibfield{volume} were within the scope of
+\noindent If \bibfield{volume} were within the scope of
\bibfield{spinoza1900.1.1}, Windy City would assume that \textit{A
Theological-Political Treatise} is volume one of \textit{The Chief
Works of Benedict de Spinoza}, that it's a volume of a collection,
@@ -1576,13 +1690,13 @@
output.) Only then would Windy City associate \bibfield{volume} with
the right \bibfield{title}.
-\section{Examples from \emph{CMS} Chap. 14, ``Notes and
+\section{Examples from \emph{CMOS} Chap. 14, ``Notes and
Bibliography''}
\label{notes}
-Examples in this section reproduce those in \textit{CMS} Chapter 14.
+Examples in this section reproduce those in \textit{CMOS} Chapter 14.
To help with cross-checking, subsection numbers and headings are from
-\textit{CMS}.
+\textit{CMOS}.
\subsection{Basic Format, with Examples and Variations}
\setcounter{subsection}{14}
@@ -1708,10 +1822,10 @@
You may override the default announcement of a \bibfield{shorthand} by
adding your preferred content to \bibfield{shorthandintro}. For an
example, one that prints the announcement in a separate sentence, see
-the first citation of \textit{CMS} in this document's introduction.
+the first citation of \textit{CMOS} in this document's introduction.
Note that Windy City doesn't automatically italicize a
-\bibfield{shorthand}. Per \textit{CMS} 14.60, a shorthand should be
+\bibfield{shorthand}. Per \textit{CMOS} 14.60, a shorthand should be
italicized if the title that it abbreviates is also italicized. Set
this in the bibliography database with \cmd{emph} or \cmd{mkbibemph}.
@@ -2004,8 +2118,8 @@
% refsegment without using \nocite.
% Unlike article entries, incollection entries don't automatically
-% print page ranges. That seems right, though CMS isn't entirely clear
-% on this point. See note for 'cite:pages' in windycity.cbx.
+% print page ranges. That seems right, though CMOS isn't entirely
+% clear on this point. See note for 'cite:pages' in windycity.cbx.
\begin{citebib}
\item \cite[84--87]{keating1968}
@@ -2067,7 +2181,7 @@
\begin{citebib}
\item \cite[152--53]{barzun1994}
\item \cite{bahadur2014}
-% CMS prints the original date in the wrong place:
+% CMOS prints the original date in the wrong place:
%\item \cite{emerson1985}
\item \cite{schweitzer1966}
\end{citebib}
@@ -2075,11 +2189,11 @@
\subsubsection{Microform editions}
% 14.115 Microform editions
-Farwell's citation fails to match \textit{CMS} because the
+Farwell's citation fails to match \textit{CMOS} because the
\bibfield{howpublished} field, which seems like the best choice to
contain \textit{microfiche}, follows the \bibfield{postnote} field,
which contains \textit{p. 67, 3C12}. This order is necessary
-elsewhere, such as in \textit{CMS} \ref{14.163}.
+elsewhere, such as in \textit{CMOS} \ref{14.163}.
\begin{citebib}
\item \cite[p. 67, 3C12]{farwell1997}
@@ -2141,12 +2255,12 @@
\label{14.120}
There are some peculiarities with the first example. In the book, but
-not online, \textit{CMS} errs in printing `.ed' rather than `editeb
+not online, \textit{CMOS} errs in printing `.ed' rather than `editeb
by' in the bibliography and neglects to invert the author's name. More
worrisome are the striking differences between the note and
bibliography. They may represent alternative ways of formatting the
data, as other examples do. But the note seems inconsistent with
-\textit{CMS} \ref{14.118}, and so doesn't make much sense as an
+\textit{CMOS} \ref{14.118}, and so doesn't make much sense as an
alternative. Windy City ignores it and in both cases follows the
example of the bibliography.
@@ -2373,9 +2487,9 @@
\subsubsection{Freely available electronic editions of older works}
% 14.162 Freely available electronic editions of older works
-The first example comes close to \textit{CMS}, except that, consistent
-with \ref{14.114} and \ref{15.40}, it lists the edition by Project
-Gutenberg as a reprint.
+The first example comes close to \textit{CMOS}, except that,
+consistent with \ref{14.114} and \ref{15.40}, it lists the edition by
+Project Gutenberg as a reprint.
\begin{citebib}
\item \cite[bk. 6, chap. 1]{james2008}
@@ -2400,10 +2514,10 @@
\label{14.171}
The note for Harper includes the month of publication. Windy City
-includes it in the bibliography as well, even though \textit{CMS}
-omits it. As for Lock's entry, \textit{CMS} clearly errs in printing
+includes it in the bibliography as well, even though \textit{CMOS}
+omits it. As for Lock's entry, \textit{CMOS} clearly errs in printing
the surname twice. Also, for Wilder's article, Windy City prints
-\textit{nos.} before \textit{1/2}, not \textit{no.}, as \textit{CMS}
+\textit{nos.} before \textit{1/2}, not \textit{no.}, as \textit{CMOS}
has it. To print the correct season, Wilder's entry in the
bibliography database includes \textit{Fall} in the \bibfield{issue}
field. Using the \bibfield{date} field with \textit{2013-23} would
@@ -2581,12 +2695,8 @@
\setcounter{subsubsection}{201}
\subsubsection{Book reviews}
% 14.202 Book reviews
+\label{14.202}
-At present, Windy City has no place to print information about a
-section or edition of a newspaper or magazine. Thus, \textit{Sunday
-Book Review} is missing from the second example. It does, however,
-show success at formatting a review with a title.
-
\begin{citebib}
\item \cite[B13--B14]{ratliff1999}
\item \cite{kamp2006}
@@ -2596,11 +2706,10 @@
\setcounter{subsubsection}{203}
\subsubsection{Unsigned reviews}
% 14.204 Unsigned reviews
+\label{14.204}
-The date below should appear immediately after the newspaper's title
-and not in parentheses. Nevertheless, it's consistent with other types
-of articles. In particular, see the citation of Beattie in
-\ref{14.171}.
+On the use of the \bibfield{type} field to format this example
+correctly, see Section \ref{fieldscon}.
\begin{citebib}
\item \cite{zeitung1828}
@@ -2615,7 +2724,7 @@
% 14.208 Citing blog posts and blogs
\label{14.208}
-In \textit{CMS}, one citation refers to \textit{The Chronicle of
+In \textit{CMOS}, one citation refers to \textit{The Chronicle of
Higher Education} and another to \textit{Chronicle of Higher
Education}. The latter appears in \ref{15.51}, so it's probably
correct.
@@ -2689,7 +2798,7 @@
as books. Use the \bibtype{book} entry type for them. The first three
citations below are different. They need the \bibtype{reference} or
\bibtype{inreference} entry type. See Section \ref{entrytypes} for
-more information. Following the suggestion in \textit{CMS} 14.232,
+more information. Following the suggestion in \textit{CMOS} 14.232,
\bibtype{reference} and \bibtype{inreference} works don't appear in
bibliographies and reference lists.
@@ -2707,7 +2816,7 @@
Like some of the reference works in the previous section, the ones
below need the \bibtype{reference} or \bibtype{inreference} entry
-type. As odd as it may seem, but consistent with \textit{CMS}, they,
+type. As odd as it may seem, but consistent with \textit{CMOS}, they,
too, aren't included in bibliographies and reference lists. See
Section \ref{entrytypes} for more information.
@@ -2758,14 +2867,14 @@
\item \cite[269]{zukofsky1931}, quoted in \cite[78]{costello1981}
\end{citebib}
-\section{Examples from \emph{CMS} Chap. 15, ``Author-Date
+\section{Examples from \emph{CMOS} Chap. 15, ``Author-Date
References''}
\label{paren}
-Examples in this section reproduce those in \textit{CMS} Chapter 15.
+Examples in this section reproduce those in \textit{CMOS} Chapter 15.
To help with cross-checking, subsection numbers and headings are from
-\textit{CMS}. Since parenthetical citations are relatively simple, and
-since the format of references lists is derivative of the default,
+\textit{CMOS}. Since parenthetical citations are relatively simple,
+and since the format of references lists is derivative of the default,
the examples below are more selective than those in the previous
section.
@@ -2816,7 +2925,7 @@
% 15.22 Text citations—basic form
\label{15.22}
-Ignore the error in \textit{CMS}: In reference lists, a title goes
+Ignore the error in \textit{CMOS}: In reference lists, a title goes
after the year, not before.
\begin{citeref}
@@ -2902,7 +3011,7 @@
\subsubsection{Organization as author in author-date references}
% 15.37 Organization as author in author-date references
-In the reference list, \textit{CMS} errs in printing `:1997' after
+In the reference list, \textit{CMOS} errs in printing `:1997' after
`ISO 4'. Compare it with the nearly identical example in \ref{14.84}.
\begin{citeref}
@@ -2960,7 +3069,7 @@
% 15.47 Parentheses or comma with issue number
In the second example, Windy City prints a colon after the journal
-number. \textit{CMS} prints a comma there---likely an error.
+number. \textit{CMOS} prints a comma there---likely an error.
\begin{citeref}
\item \parencite{glass2014}
@@ -2990,7 +3099,7 @@
% 15.51 Citing blogs in author-date format
\label{15.51}
-\textit{CMS} seems mistaken in printing a period after
+\textit{CMOS} seems mistaken in printing a period after
\textit{Chronicle of Higher Education} instead of a comma. Compare
with \ref{14.208} and \ref{15.42}.
Added: trunk/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/windycity/american-windycity.lbx 2019-03-28 20:58:02 UTC (rev 50625)
@@ -0,0 +1,124 @@
+% Last modified: Mon 11 Feb 2019 05:36:39 PM CST
+
+% 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.
+%
+% The LPPL maintenance status of this software is 'author-maintained'.
+%
+% This software is provided 'as is', without warranty of any kind,
+% either expressed or implied, including, but not limited to, the
+% implied warranties of merchantability and fitness for a particular
+% purpose.
+
+\ProvidesFile{american.lbx}
+[\abx at lbxid]
+
+\InheritBibliographyExtras{american}
+\InheritBibliographyStrings{american}
+
+% The code below comes from english.lbx. The only change is to remove
+% '\parentext{}' from '\mkbibtimezone{\thefield{#4}'.
+
+\DeclareBibliographyExtras{%
+ \expandafter\protected\expandafter\def\csname mkbibtime12h\endcsname#1#2#3#4{%
+ \stripzeros{\mktimehh{\thefield{#1}}}%
+ \bibtimesep
+ \forcezerosmdt{\thefield{#2}}%
+ \iffieldundef{#3}{}
+ {\bibtimesep
+ \forcezerosmdt{\thefield{#3}}}%
+ \space
+ \ifnumless{\thefield{#1}}{12}
+ {\bibstring{am}}
+ {\bibstring{pm}}%
+ \iffieldundef{#4}{}
+ {\space\bibtimezonesep
+ \mkbibtimezone{\thefield{#4}}}}%
+}
+
+\NewBibliographyString{bibnamedash}
+\NewBibliographyString{by}
+\NewBibliographyString{compiler}
+\NewBibliographyString{compiler+}
+\NewBibliographyString{comptrans}
+\NewBibliographyString{comptrans+}
+\NewBibliographyString{editor+}
+\NewBibliographyString{edtrans}
+\NewBibliographyString{edtrans+}
+\NewBibliographyString{expanded}
+\NewBibliographyString{noplace}
+\NewBibliographyString{of}
+\NewBibliographyString{origpub}
+\NewBibliographyString{part}
+\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+}
+
+\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}},
+ bibnamedash = {{\rule[2.4pt]{3em}{0.2pt}}{\rule[2.4pt]{3em}{0.2pt}}},
+ bibliography = {{Bibliography}{Bibliography}},
+ chapter = {{chap\adddot}{chap\adddot}},
+ citedas = {{hereafter cited as}{hereafter cited as}},
+ compiler = {{compiled by}{comp\adddot}},
+ compiler+ = {{compiled by}{comps\adddot}},
+ comptrans = {{compiled and translated by}{comp\adddotspace and trans\adddot}},
+ comptrans+ = {{compiled and translated by}{comps\adddotspace and trans\adddot}},
+ edition = {{ed\adddot}{ed\adddot}},
+ editor = {{edit\-ed by}{ed\adddot}},
+ editor+ = {{edit\-ed by}{eds\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}},
+ 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}},
+ of = {{of}{of}},
+ origpub = {{originally published as}{orig\adddotspace published as}},
+ page = {{Page}{Page}}, % assures proper case in 'pageref'
+ pages = {{Pages}{Pages}}, % assures proper case in 'pageref'
+ phdthesis = {{PhD diss\adddot}{PhD diss\adddot}},
+ pm = {{p\adddot m\adddot}{p\adddot m\adddot}},
+ references = {{Bibliography}{Bibliography}},
+ reprint = {{reprint}{repr\adddot}},
+ reprinted = {{reprinted in}{reprinted in}},
+ review = {{review of}{review of}},
+ reviewnoauth = {{unsigned review of}{unsigned review of}},
+ revised = {{rev\adddotspace ed\adddot}{rev\adddotspace ed\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}},
+ translator = {{translated by}{trans\adddot}},
+ part = {{pt\adddot}{pt\adddot}},
+ urlseen = {{accessed}{accessed}},
+ volume = {{vol\adddot}{vol\adddot}},
+ volumes = {{vols\adddot}{vols\adddot}}
+}
+
+\endinput
Added: trunk/Master/texmf-dist/tex/latex/windycity/windycity.bbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/windycity/windycity.bbx (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/windycity/windycity.bbx 2019-03-28 20:58:02 UTC (rev 50625)
@@ -0,0 +1,2237 @@
+% Last modified: Wed 27 Mar 2019 10:37:54 AM 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.
+%
+% The LPPL maintenance status of this software is 'author-maintained'.
+%
+% This software is provided 'as is', without warranty of any kind,
+% either expressed or implied, including, but not limited to, the
+% implied warranties of merchantability and fitness for a particular
+% purpose.
+
+\ProvidesFile{windycity.bbx}[Windy City style for biblatex]
+\@ifpackagelater{biblatex}{2017/11/04}
+ {}
+ {\PackageError{biblatex}
+ {Outdated 'biblatex' package}
+ {Windy City 2019-03-27 is for biblatex v3.8 and above.\MessageBreak
+ You are using: '\csuse{ver at biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now.}%
+ \endinput}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Bibliography and Entry Options %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\providetoggle{anonauth}
+\DeclareEntryOption{anonauth}[true]{%
+ \ifstrequal{#1}{true}
+ {\renewcommand*{\anona}{\bibopenbracket}%
+ \renewcommand*{\anonb}{\bibclosebracket}}%
+ {}}
+
+\providetoggle{anonqauth}
+\DeclareEntryOption{anonqauth}[true]{%
+ \ifstrequal{#1}{true}
+ {\renewcommand*{\anona}{\bibopenbracket}%
+ \renewcommand*{\anonb}{\addquestion\bibclosebracket}}%
+ {}}
+
+\providetoggle{annotate}
+\DeclareBibliographyOption[boolean]{annotate}[true]{%
+ \global\settoggle{annotate}{#1}}%
+
+\DeclareBibliographyOption{collsonly}[true]{%
+ \ifstrequal{#1}{true}
+ {\ExecuteBibliographyOptions{mincrossrefs=1}%
+ \ExecuteBibliographyOptions{minxrefs=1}%
+ \AtBeginBibliography{\blx at key@bibcheck{collsonly}}}
+ {}}
+
+\providetoggle{firstshort}
+\DeclareBibliographyOption[boolean]{firstshort}[true]{%
+ \global\settoggle{firstshort}{#1}}%
+
+\providetoggle{ibid}
+\DeclareBibliographyOption{ibid}[true]{%
+ \ifstrequal{#1}{true}
+ {\global\toggletrue{ibid}%
+ \global\toggletrue{short}}%
+ {\global\togglefalse{ibid}}}
+
+\providetoggle{isbn}
+\DeclareBibliographyOption[boolean]{isbn}[true]{%
+ \global\settoggle{isbn}{#1}}%
+\DeclareEntryOption[boolean]{isbn}[true]{%
+ \settoggle{isbn}{#1}}%
+
+\providetoggle{library}
+\DeclareBibliographyOption[boolean]{library}[true]{%
+ \global\settoggle{library}{#1}}%
+\DeclareEntryOption[boolean]{library}[true]{%
+ \settoggle{library}{#1}}%
+
+\providetoggle{listvols}
+\DeclareEntryOption[boolean]{listvols}[true]{%
+ \settoggle{listvols}{#1}}%
+
+\providetoggle{noauth}
+\DeclareEntryOption[boolean]{noauth}[true]{%
+ \settoggle{noauth}{#1}}%
+
+\DeclareBibliographyOption{nolos}[true]{%
+ \ifstrequal{#1}{true}
+ {\AtBeginBibliography{\blx at key@bibcheck{nolos}}}
+ {}}
+
+\providetoggle{reflist}
+\DeclareBibliographyOption{reflist}[true]{%
+ \ifstrequal{#1}{true}
+ {\global\toggletrue{reflist}%
+ \DeclareLabeldate{%
+ \field{date}
+ \field{year}
+ \field{origdate}
+ \field{urldate}
+ \literal{nodate}}
+ \ExecuteBibliographyOptions{%
+ autocite=inline,
+ sorting=nyt}}%
+ {\global\togglefalse{reflist}%
+ \ExecuteBibliographyOptions{%
+ autocite=footnote,
+ sorting=nty}}}
+
+\providetoggle{short}
+\DeclareBibliographyOption{short}[true]{%
+ \ifstrequal{#1}{true}
+ {\global\toggletrue{short}%
+ \global\toggletrue{firstshort}}%
+ {\global\togglefalse{short}}}
+
+\providetoggle{skipdate}
+\DeclareEntryOption[boolean]{skipdate}[true]{%
+ \settoggle{skipdate}{#1}}%
+
+\providetoggle{swapauth}
+\DeclareEntryOption[boolean]{swapauth}[true]{%
+ \settoggle{swapauth}{#1}}%
+
+\providetoggle{swaptrans}
+\DeclareEntryOption[boolean]{swaptrans}[true]{%
+ \settoggle{swaptrans}{#1}}%
+
+\providetoggle{swapvol}
+\DeclareBibliographyOption[boolean]{swapvol}[true]{%
+ \global\settoggle{swapvol}{#1}}%
+\DeclareEntryOption[boolean]{swapvol}[true]{%
+ \settoggle{swapvol}{#1}}%
+
+% For setting 'minbibnames' and such, see CMOS, 17th ed., 14.76 and
+% 15.29.
+
+\ExecuteBibliographyOptions{%
+ abbreviate=true,
+ autopunct=true,
+ block=none,
+ citetracker=constrict,
+ date=long,
+ dateabbrev=false,
+ dateusetime=true,
+ ibidtracker=constrict,
+% Just one use of '\ifciteidem'. See note in windycity.cbx.
+ idemtracker=false,
+ indexing=true,
+ labeldateparts=true,
+ loccittracker=constrict,
+ minbibnames=7,
+ maxbibnames=10,
+ mincitenames=1,
+ maxcitenames=3,
+% Remember, if 'mincrossrefs' is greater than 1, and you cite just one
+% entrykey in a document (or refsection, etc), the field 'crossref' is
+% undefined.
+ mincrossrefs=2,
+ minxrefs=2,
+ pagetracker=page,
+ parentracker=true,
+ sortcites=false,
+ time=12h,
+ timezones=true,
+ uniquelist=minyear,
+ uniquename=minfull,
+ urldate=long,
+ useeditor=true,
+ useprefix=false,
+ usetranslator=true}
+
+\DeclareLanguageMapping{english}{american-windycity}
+\DeclareLabeldate{% 'reflist' preamble option loads an alternative
+ \field{bookyear}
+ \field{date}
+ \field{year}
+ \field{origdate}
+ \field{urldate}
+ \literal{nodate}}
+\DeclareLabelname{%
+ \field{author}
+ \field{editor}
+ \field{translator}
+ \field{editora}
+ \field{translatora}}
+\DeclareLabelname[inbook,incollection]{%
+ \field{author}
+ \field{bookauthor}
+ \field{editor}
+ \field{translator}
+ \field{editora}
+ \field{translatora}}
+\DeclareSortingTemplate{nty}{%
+ \sort{\field{presort}}
+ \sort[final]{\field{sortkey}}
+ \sort{%
+ \field{sortname}
+ \field{author}
+ \field{bookauthor}
+ \field{editor}
+ \field{translator}
+ \field{editora}
+ \field{sorttitle}
+ \field{title}
+ \field{booktitle}
+ \field{bookbooktitle}
+ \field{blogtitle}
+ \field{journaltitle}}
+ \sort{%
+ \field{sorttitle}
+ \field{title}
+ \field{booktitle}
+ \field{bookbooktitle}
+ \field{blogtitle}
+ \field{journaltitle}}
+ \sort{%
+ \field{sortyear}
+ \field{year}
+ \field{labelyear}}
+ \sort{%
+ \field[padside=left,padwidth=4,padchar=0]{volume}
+ \literal{0000}}}
+\DeclareSortingTemplate{nyt}{%
+ \sort{\field{presort}}
+ \sort[final]{\field{sortkey}}
+ \sort{%
+ \field{sortname}
+ \field{author}
+ \field{bookauthor}
+ \field{editor}
+ \field{translator}
+ \field{editora}
+ \field{sorttitle}
+ \field{title}
+ \field{booktitle}
+ \field{bookbooktitle}
+ \field{blogtitle}
+ \field{journaltitle}}
+ \sort{%
+ \field{sortyear}
+ \field{origyear}
+ \field{labelyear}
+ \field{year}}
+ \sort{%
+ \field{sorttitle}
+ \field{title}
+ \field{booktitle}
+ \field{bookbooktitle}
+ \field{blogtitle}
+ \field{journaltitle}}
+ \sort{%
+ \field[padside=left,padwidth=4,padchar=0]{volume}
+ \literal{0000}}}
+
+\defbibcheck{collsonly}{%
+ \ifboolexpr{ test {\ifentrytype{bookinbook}}
+ or test {\ifentrytype{inbook}}}
+ {\iffieldundef{crossref}
+ {}
+ {\skipentry}}%
+ {\ifentrytype{incollection}
+ {\iffieldundef{crossref}
+ {}
+ {\iffieldundef{chapter}
+ {}
+ {\skipentry}}}}}
+\defbibcheck{nolos}{%
+ \iffieldundef{shorthand}
+ {}
+ {\skipentry}}%
+\defbibcheck{reference}{%
+ \ifentrytype{reference}
+ {\skipentry}%
+ {\ifentrytype{inreference}
+ {\skipentry}%
+ {}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% Data Inheritance %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ResetDataInheritance
+\DefaultInheritance[\except{*}{review}{all=false}]{all=true,override=false}
+\DeclareDataInheritance{*}{%
+ incollection,inbook,bookinbook,inproceedings,letter,suppbook,review}{%
+ \inherit{author}{bookauthor}
+ \inherit{shortauthor}{shortbookauthor}
+ \inherit{editor}{editora}
+ \inherit{editora}{editorb}
+ \inherit{editorb}{editorc}
+ \inherit{editortype}{editoratype}
+ \inherit{editoratype}{editorbtype}
+ \inherit{editorbtype}{editorctype}
+ \inherit{translator}{translatora}
+ \inherit{translatora}{translatorb}
+ \inherit{translatortype}{translatoratype}
+ \inherit{title}{booktitle}
+ \inherit{subtitle}{booksubtitle}
+ \inherit{titleaddon}{booktitleaddon}
+ \inherit{shorttitle}{shortbooktitle}
+ \inherit{booktitle}{bookbooktitle}
+ \inherit{volume}{bookvolume}
+ \inherit{bookvolume}{bookbookvolume}
+ \inherit{options}{options}}
+\DeclareDataInheritance{collection}{bookinbook,collection,inbook}{%
+ \inherit{year}{bookyear}
+ \inherit{endyear}{endbookyear}}
+
+%%%%%%%%%%%%%%%%%%%
+%% Preliminary %%
+%%%%%%%%%%%%%%%%%%%
+
+\let\cbx at bibstring\empty
+\let\cbx at deflabel\empty
+\let\cbx at keyhash\empty
+\let\cbx at namelist\empty
+\let\anona\empty
+\let\anonb\empty
+\let\crossreflist\empty
+\let\pluga\empty
+\let\plugb\empty
+\let\xeditor\empty
+\let\yeditor\empty
+\let\xtitle\empty
+\let\xvolume\empty
+
+\providetoggle{authposition}
+\providetoggle{bibliography}
+\providetoggle{journalfirst}
+\providetoggle{multicite}
+\providetoggle{cbx at first}
+\providetoggle{cbx at loccit}
+\providetoggle{cbx at short}
+
+\providetoggle{collection}
+\providetoggle{collection:bk}
+\providetoggle{collection:ib}
+\providetoggle{collection:icbk}
+\providetoggle{collection:icib}
+
+\providetoggle{edshift}
+\providetoggle{noed}
+\providetoggle{notrans}
+
+\newcommand*{\AtBeginLists}{%
+ \renewcommand*{\newunitpunct}{\addperiod\space}%
+ \let\bibstring\biblstring
+ \global\undef\bbx at lasthash
+ \blx at key@bibcheck{reference}}%
+
+\newcommand*{\AtEveryItem}{%
+ \global\toggletrue{authposition}%
+ \global\togglefalse{cbx at short}}%
+
+\AtBeginBibliography{\AtBeginLists}%
+\AtBeginShorthands{\AtBeginLists}%
+\AtEveryBibitem{%
+ \global\toggletrue{bibliography}%
+ \AtEveryItem}%
+\AtEveryLositem{\AtEveryItem}%
+
+\defbibenvironment{reflist}
+ {\global\toggletrue{reflist}%
+ \list{}{%
+ \leftmargin\bibhang
+ \itemindent-\leftmargin
+ \itemsep\bibitemsep
+ \parsep\bibparsep}}
+ {\endlist
+ \global\togglefalse{reflist}}%
+ {\item}
+
+% Index names only.
+
+\renewbibmacro*{bibindex}{%
+ \ifbibindex
+ {\indexnames{labelname}}%
+ {}}
+\renewbibmacro*{citeindex}{%
+ \ifciteindex
+ {\indexnames{labelname}}%
+ {}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Field Formats for Names %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareNameAlias{author}{sortname}
+\DeclareNameAlias{afterword}{sortname}
+\DeclareNameAlias{bookauthor}{sortname}
+\DeclareNameAlias{editor}{sortname}
+\DeclareNameAlias{editora}{sortname}
+\DeclareNameAlias{editorb}{sortname}
+\DeclareNameAlias{editorc}{sortname}
+\DeclareNameAlias{foreword}{sortname}
+\DeclareNameAlias{introduction}{sortname}
+\DeclareNameAlias{translator}{sortname}
+
+\DeclareIndexNameAlias{author}{default}
+\DeclareIndexNameAlias{afterword}{default}
+\DeclareIndexNameAlias{bookauthor}{default}
+\DeclareIndexNameAlias{editor}{default}
+\DeclareIndexNameAlias{editora}{default}
+\DeclareIndexNameAlias{editorb}{default}
+\DeclareIndexNameAlias{editorc}{default}
+\DeclareIndexNameAlias{foreword}{default}
+\DeclareIndexNameAlias{introduction}{default}
+\DeclareIndexNameAlias{translator}{default}
+
+% Affixes like 'Jr.', should appear last, delimited with a comma, when
+% inverted, as in a bibliography, but not otherwise, as in a note. See
+% CMOS, 17th ed., 6.43 and 16.41, as well as the example in 14.75.
+
+\renewbibmacro*{name:family-given}[4]{%
+ \ifuseprefix
+ {\usebibmacro{name:delim}{#3#1}%
+ \usebibmacro{name:hook}{#3#1}%
+ \ifdefvoid{#3}{}{%
+ \ifcapital
+ {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
+ {\mkbibnameprefix{#3}\isdot}%
+ \ifprefchar{}{\bibnamedelimc}}%
+ \mkbibnamefamily{#1}\isdot
+ \ifdefvoid{#4}{}{\bibnamedelimd\mkbibnamesuffix{#4}\isdot}%
+ \ifdefvoid{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamegiven{#2}\isdot}}
+ {\usebibmacro{name:delim}{#1}%
+ \usebibmacro{name:hook}{#1}%
+ \mkbibnamefamily{#1}\isdot
+ \ifboolexpe{%
+ test {\ifdefvoid{#2}}
+ and
+ test {\ifdefvoid{#3}}}
+ {}
+ {\revsdnamepunct}%
+ \ifdefvoid{#2}{}{\bibnamedelimd\mkbibnamegiven{#2}\isdot}%
+ \ifdefvoid{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}%
+ \ifdefvoid{#4}{}{\revsdnamepunct\bibnamedelimd\mkbibnamesuffix{#4}\isdot}}}
+
+\renewcommand*{\mkbibindexname}[4]{%
+ \ifuseprefix
+ {\ifdefvoid{#3}{}{#3 }%
+ \@firstofone #1% remove spurious braces
+ \ifdefvoid{#4}{}{ #4}%
+ \ifdefvoid{#2}{}{, #2}%
+ \actualoperator
+ \ifdefvoid{#3}{}{\MakeCapital{#3} }%
+ #1%
+ \ifdefvoid{#4}{}{ #4}%
+ \ifdefvoid{#2}{}{, #2}}
+ {\@firstofone #1% remove spurious braces
+ \ifboolexpe{%
+ test {\ifdefvoid{#2}}
+ and
+ test {\ifdefvoid{#3}}}
+ {}
+ {,}%
+ \ifdefvoid{#2}{}{ #2}%
+ \ifdefvoid{#3}{}{ #3}%
+ \ifdefvoid{#4}{}{, #4}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Field Formats for Titles %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareFieldFormat{blogtitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{bookbooktitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{booktitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{journaltitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{labeltitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{maintitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{shortbooktitle}{\mkbibemph{#1}}
+\DeclareFieldFormat{title}{\mkbibemph{#1}}
+
+\DeclareIndexFieldFormat{indextitle}{%
+ \usebibmacro{index:title}{\index}{\mkbibemph{#1}}}
+\renewbibmacro*{index:title}[2]{%
+ \usebibmacro{index:field}{#1}{\thefield{indexsorttitle}}{#2}}%
+
+\DeclareFieldFormat{blogtitleaddon}{\mkbibparens{#1}}
+\DeclareFieldFormat{titleaddon}{\mkbibbrackets{#1}}
+
+\DeclareFieldFormat[%
+ article,incollection,inreference,inproceedings,online,reference,review]
+ {title}{\mkbibquote{#1}}
+\DeclareFieldFormat[%
+ article,incollection,inreference,inproceedings,online,reference,review]
+ {labeltitle}{\mkbibquote{#1}}
+\DeclareIndexFieldFormat[%
+ article,incollection,inreference,inproceedings,online,reference,review]
+ {indextitle}{\usebibmacro{index:title}{\index}{\mkbibquote{#1}}}
+
+\DeclareFieldAlias[inbook]{title}{title}
+\DeclareFieldAlias[inbook]{labeltitle}{labeltitle}
+\DeclareIndexFieldAlias[inbook]{indextitle}{indextitle}
+\DeclareFieldAlias[book]{origtitle}{title}
+
+\DeclareFieldFormat{chapter}{\bibstring{chapter}\space #1}
+\DeclareFieldFormat{issuetitle}{\ifcapital{\MakeCapital{#1}}{#1}}
+\DeclareFieldFormat[letter,misc,patent]{title}{#1}
+\DeclareFieldFormat[letter,misc,patent]{labeltitle}{#1}
+\DeclareFieldFormat[thesis,unpublished]{title}{%
+ \iftoggle{bibliography}
+ {\mkbibquote{#1}}%
+ {\iftoggle{cbx at short}
+ {\mkbibquote{#1}}%
+ {\mkbibquote{#1}\nopunct}}}
+\DeclareFieldFormat[thesis]{labeltitle}{%
+ \iftoggle{bibliography}
+ {\mkbibquote{#1}}%
+ {\iftoggle{cbx at short}
+ {\mkbibquote{#1}}%
+ {\mkbibquote{#1}\nopunct}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Other Field Formats %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareFieldFormat{addendum}{\ifcapital{\MakeCapital{#1}}{#1}}%
+\DeclareFieldFormat{annotation}{\\[\bibitemsep] #1}
+\DeclareFieldAlias{doi}{url}
+\DeclareFieldFormat{edition}{%
+ \ifinteger{#1}
+ {\mkbibordedition{#1}~\bibstring{edition}}%
+ {\ifcapital{\MakeCapital{#1}}{#1}}}
+\DeclareFieldFormat{endmonth}{\mkbibmonth{#1}}%
+\DeclareFieldFormat{howpublished}{\ifcapital{\MakeCapital{#1}}{#1}}%
+\DeclareFieldFormat{issue}{\MakeCapital{#1}}% always capitalize
+\DeclareFieldFormat{journum}{%
+ \ifnumeral{#1}
+ {no\adddotspace\printfield{number}}%
+ {nos\adddotspace\printfield{number}}}
+\DeclareFieldFormat{labelyear}{%
+ \ifboolexpr{ test {\iffieldundef{year}}
+ and test {\iffieldundef{bookyear}}}
+ {\biblcstring{#1}}%
+ {\ifbibstring{#1}{\bibstring{#1}}{\stripzeros{#1}}}}
+\DeclareListFormat{location}{#1}%
+\DeclareFieldFormat{month}{\mkbibmonth{#1}}%
+\DeclareFieldFormat{note}{\ifcapital{\MakeCapital{#1}}{#1}}%
+\DeclareFieldFormat{pages}{#1}
+\DeclareFieldFormat{part}{\bibstring{part}\space#1}
+\DeclareFieldFormat{postnote}{#1}
+\DeclareListFormat{publisher}{#1}
+\DeclareFieldFormat{season}{\MakeCapital{#1}}% always capitalize
+
+% A shorthand should be italicized if the title that it abbreviates is
+% also italicized. See CMOS, 17th ed., 14.60. Set this in the
+% bibliography database with '\emph{}' or '\mkbibemph{}'.
+
+\DeclareFieldFormat{shorthand}{#1}
+\DeclareFieldFormat{shorthandintro}{%
+ \ifcapital{\MakeCapital{#1}}{#1}}%
+\DeclareFieldFormat{shorthandwidth}{#1}
+\DeclareFieldFormat{type}{\ifcapital{\MakeCapital{#1}}{#1}}%
+\DeclareFieldFormat{url}{\url{#1}}
+\DeclareFieldFormat{urldate}{\bibstring{urlseen}\space#1}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Bibliography Aliases %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareBibliographyAlias{periodical}{article}
+\DeclareBibliographyAlias{cite:periodical}{cite:article}
+
+\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 %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+\renewcommand*{\revsdnamedelim}{%
+ \iftoggle{bibliography}
+ {\addcomma}%
+ {}}
+
+\newbibmacro*{author+bookauthor+etc}{%
+ \iftoggle{noauth}
+ {\usebibmacro{authpos+deflabel}}%
+ {\usebibmacro{author+bookauthor}%
+ \ifnameundef{\cbx at namelist}
+ {\usebibmacro{edtrans:authpos}%
+ \ifnameundef{\cbx at namelist}
+ {\toggletrue{noauth}%
+ \usebibmacro{journalfirst}}%
+ {\usebibmacro{edscomps:authpos}%
+ \usebibmacro{namehash+etc}}}%
+ {\usebibmacro{namehash+etc}}}}
+
+\newbibmacro*{authpos+deflabel}{%
+ \global\togglefalse{authposition}%
+ \renewcommand*{\cbx at deflabel}{default}}%
+
+\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}} )}
+ {}
+ {\ifboolexpr{ togl {collection:ib}
+ and togl {swapvol}}
+ {\usebibmacro{bookauthor+namelist}}%
+ {\ifnameundef{author}
+ {\usebibmacro{bookauthor+namelist}}%
+ {\usebibmacro{author+namelist}}}}}
+
+\newbibmacro*{author+namelist}{%
+ \ifboolexpr{ test {\ifnameundef{shortauthor}}
+ or togl {bibliography}}
+ {\renewcommand*{\cbx at namelist}{author}}%
+ {\renewcommand*{\cbx at namelist}{shortauthor}}}
+
+\newbibmacro*{bookauthor+namelist}{%
+ \ifboolexpr{ test {\ifnameundef{shortbookauthor}}
+ or togl {bibliography}}
+ {\renewcommand*{\cbx at namelist}{bookauthor}}%
+ {\renewcommand*{\cbx at namelist}{shortbookauthor}}}
+
+% When 'journaltitle' or 'blogtitle' goes in the author's position.
+
+\newbibmacro*{journalfirst}{%
+ \usebibmacro{authpos+deflabel}%
+ \ifboolexpr{ ( test {\ifentrytype{article}}
+ or test {\ifentrytype{review}} )
+ and togl {bibliography}}
+ {\toggletrue{journalfirst}%
+ \usebibmacro{bibjournaldash}%
+ \setunit{\space}%
+ \usebibmacro{journallocation}%
+ \clearlist{location}%
+ \usebibmacro{labeldate+extradate}%
+ \newunit}%
+ {\ifboolexpr{ test {\ifentrytype{online}}
+ and togl {bibliography}}
+ {\toggletrue{journalfirst}%
+ \usebibmacro{bibblogdash}%
+ \setunit{\space}%
+ \usebibmacro{labeldate+extradate}%
+ \newunit}%
+ {}}}
+
+\newbibmacro*{namehash+etc}{%
+ \usebibmacro{printnames+etc}%
+ \iftoggle{authposition}% false in 'crossref' macro
+ {\savefield{namehash}{\bbx at lasthash}%
+ \usebibmacro{authpos+deflabel}%
+ \newunit}%
+ {\setunit{\addcomma\space}}}
+
+\newbibmacro*{aft+fore+intro}{%
+ \ifnameundef{afterword}
+ {\ifnameundef{foreword}
+ {\renewcommand*{\cbx at namelist}{introduction}%
+ \renewcommand*{\cbx at bibstring}{introduction}}%
+ {\renewcommand*{\cbx at namelist}{foreword}%
+ \renewcommand*{\cbx at bibstring}{foreword}}}
+ {\renewcommand*{\cbx at namelist}{afterword}%
+ \renewcommand*{\cbx at bibstring}{afterword}}%
+ \usebibmacro{printnames+etc}%
+ \savefield{namehash}{\bbx at lasthash}%
+ \usebibmacro{authpos+deflabel}%
+ \newunit
+ \bibstring{\cbx at bibstring}\space}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Editors and Translators %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% For editors and translators in the author's position.
+
+\newbibmacro*{edtrans:authpos}{%
+ \togglefalse{noed}%
+ \togglefalse{notrans}%
+ \usebibmacro{test:ed:authpos}%
+ \usebibmacro{test:trans:authpos}%
+ \ifboolexpr{ togl {noed}
+ and togl {notrans}}
+ {}
+ {\iftoggle{noed}
+ {\usebibmacro{transcombos}}%
+ {\iftoggle{notrans}
+ {\usebibmacro{edcombos}}%
+ {\iftoggle{swaptrans}
+ {\usebibmacro{transcombos}}%
+ {\usebibmacro{edcombos}}}}}}
+
+\newbibmacro*{test:ed:authpos}{%
+ \ifboolexpr{ test {\ifnameundef{editor}}
+ and test {\ifnameundef{editora}}}
+ {\toggletrue{noed}}%
+ {\ifnameundef{editor}
+ {\usebibmacro{test:editora:authpos}}%
+ {\usebibmacro{test:editor:authpos}%
+ \iftoggle{noed}
+ {\global\togglefalse{noed}%
+ \usebibmacro{test:editora:authpos}}%
+ {}}}}
+
+\newbibmacro*{test:xeditor:a}[1]{%
+ \ifboolexpr{ test {\ifnameundef{\xeditor}}
+ or test {\iffieldequalstr{\xeditor type}{issuetitle}}
+ or test {\iffieldequalstr{\xeditor type}{series}}}
+ {\toggletrue{noed}}%
+ {\ifstrequal{#1}{ap}% not 'authposition' toggle
+ {\usebibmacro{test:xeditor:b:authpos}}%
+ {\usebibmacro{test:xeditor:b}}}}
+
+\newbibmacro*{test:xeditor:b:authpos}{%
+ \iffieldequalstr{\xeditor type}{maintitle}
+ {\iftoggle{collection:bk}
+ {\iftoggle{swapvol}
+ {}
+ {\toggletrue{noed}}}
+ {\toggletrue{noed}}}
+ {\ifboolexpr{ togl {collection:bk}
+ and togl {swapvol}}
+ {\toggletrue{noed}}%
+ {\ifboolexpr{ togl {collection:icbk}
+ or togl {collection:icib}}
+ {\ifnameundef{translator}
+ {}
+ {\toggletrue{noed}}}
+ {}}}}
+
+\newbibmacro*{test:editor:authpos}{%
+ \renewcommand*{\xeditor}{editor}%
+ \usebibmacro{test:xeditor:a}{ap}%
+ \iftoggle{noed}
+ {}
+ {\ifboolexpr{ togl {collection:ib}
+ and togl {swapvol}
+ and not test {\ifnameundef{editora}}}
+ {\toggletrue{noed}}%
+ {\ifboolexpr{ togl {swapvol}
+ and ( togl {collection:icbk}
+ or togl {collection:icib} )}
+ {\toggletrue{noed}}%
+ {}}}}
+
+\newbibmacro*{test:editora:authpos}{%
+ \renewcommand*{\xeditor}{editora}%
+ \usebibmacro{test:xeditor:a}{ap}%
+ \iftoggle{noed}
+ {}
+ {\ifboolexpr{ togl {collection:ib}
+ and not togl {swapvol}
+ and test {\ifnameundef{editor}}}
+ {\toggletrue{noed}}%
+ {}}}
+
+\newbibmacro*{test:trans:authpos}{%
+ \usebibmacro{trans+transa+transb}%
+ \ifnameundef{\yeditor}
+ {\toggletrue{notrans}}%
+ {\iffieldequalstr{translatortype}{maintitle}
+ {\ifboolexpr{ togl {collection:bk}
+ and togl {swapvol}}
+ {}
+ {\toggletrue{notrans}}}
+ {\iffieldequalstr{translatoratype}{maintitle}
+ {\ifboolexpr{ togl {collection:icbk}
+ and togl {swapvol}}
+ {}
+ {\toggletrue{notrans}}}
+ {}}}}
+
+\newbibmacro*{trans+transa+transb}{%
+ \ifnameundef{translator}
+ {\ifnameundef{translatora}
+ {\renewcommand*{\yeditor}{translatorb}}%
+ {\renewcommand*{\yeditor}{translatora}}}
+ {\renewcommand*{\yeditor}{translator}}}
+
+\newbibmacro*{transcombos}{%
+ \renewcommand*{\cbx at namelist}{\yeditor}%
+ \ifnamesequal{\xeditor}{\yeditor}
+ {\clearname{\xeditor}%
+ \iffieldequalstr{\xeditor type}{compiler}
+ {\renewcommand*{\cbx at bibstring}{transcomp}}%
+ {\renewcommand*{\cbx at bibstring}{transed}}}
+ {\renewcommand*{\cbx at bibstring}{translator}}}
+
+\newbibmacro*{edcombos}{%
+ \renewcommand*{\cbx at namelist}{\xeditor}%
+ \ifnamesequal{\xeditor}{\yeditor}
+ {\clearname{\yeditor}%
+ \iffieldequalstr{\xeditor type}{compiler}
+ {\renewcommand*{\cbx at bibstring}{comptrans}}%
+ {\renewcommand*{\cbx at bibstring}{edtrans}}}%
+ {\iffieldequalstr{\xeditor type}{compiler}
+ {\renewcommand*{\cbx at bibstring}{compiler}}%
+ {\renewcommand*{\cbx at bibstring}{editor}}}}
+
+\newbibmacro*{edscomps:authpos}{%
+ \iftoggle{cbx at short}
+ {}
+ {\usebibmacro{edscomps}%
+ \renewcommand*{\plugb}{%
+ \addcomma\space\bibsstring{\cbx at bibstring}}}}
+
+\newbibmacro*{edscomps}{%
+ \iftoggle{swaptrans}
+ {}
+ {\ifnameundef{editor}
+ {\ifnumgreater{\value{editora}}{1}
+ {\edef\cbx at bibstring{\cbx at bibstring +}}%
+ {}}
+ {\ifnumgreater{\value{editor}}{1}
+ {\edef\cbx at bibstring{\cbx at bibstring +}}%
+ {}}}}
+
+% For editors and translators not in the author's position.
+
+\newbibmacro*{edtrans:a}{%
+ \iftoggle{swaptrans}
+ {\usebibmacro{transcombos+etc}%
+ \usebibmacro{edcombos+etc}}%
+ {\usebibmacro{edcombos+etc}%
+ \usebibmacro{transcombos+etc}}}
+
+\newbibmacro*{transcombos+etc}{%
+ \togglefalse{noed}%
+ \togglefalse{notrans}%
+ \usebibmacro{test:ed}%
+ \usebibmacro{test:trans}%
+ \iftoggle{notrans}
+ {}
+ {\usebibmacro{transcombos}%
+ \usebibmacro{pluga+etc}}}
+
+\newbibmacro*{edcombos+etc}{%
+ \togglefalse{noed}%
+ \togglefalse{notrans}%
+ \usebibmacro{test:ed}%
+ \usebibmacro{test:trans}%
+ \iftoggle{noed}
+ {}
+ {\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}}
+ {}
+ {\newunit}}%
+
+\newbibmacro*{pluga+printnames}{%
+ \renewcommand*{\pluga}{%
+ \bibstring{\cbx at bibstring}\space}%
+ \usebibmacro{printnames+etc}}%
+
+\newbibmacro*{edtranspunct:b}{%
+ \iftoggle{edshift}
+ {\setunit{\addcomma\space}}%
+ {\newunit}}%
+
+% Tests for 'edtrans:a' and 'edtrans:b' macros.
+
+\newbibmacro*{test:ed}{%
+ \iftoggle{edshift}
+ {\usebibmacro{eda+edb+edc}}%
+ {\ifnameundef{editor}
+ {\usebibmacro{test:editora}}%
+ {\usebibmacro{test:editor}%
+ \iftoggle{noed}
+ {\togglefalse{noed}%
+ \usebibmacro{test:editora}}%
+ {}}}}
+
+\newbibmacro*{eda+edb+edc}{%
+ \ifnameundef{editor}
+ {\ifnameundef{editora}
+ {\ifnameundef{editorb}
+ {\renewcommand*{\xeditor}{editorc}}%
+ {\renewcommand*{\xeditor}{editorb}}%
+ \usebibmacro{test:editorb}}%
+ {\usebibmacro{test:editora}%
+ \iftoggle{noed}
+ {\togglefalse{noed}%
+ \renewcommand*{\xeditor}{editorb}%
+ \usebibmacro{test:editorb}}%
+ {}}}
+ {\usebibmacro{test:editor}%
+ \iftoggle{noed}
+ {\togglefalse{noed}%
+ \usebibmacro{test:editora}}%
+ {}}}
+
+\newbibmacro*{test:editor}{%
+ \renewcommand*{\xeditor}{editor}%
+ \usebibmacro{test:xeditor:a}{}%
+ \iftoggle{noed}
+ {}
+ {\ifdefstring{\xtitle}{book}
+ {\toggletrue{noed}}%
+ {}}}
+
+\newbibmacro*{test:editora}{%
+ \renewcommand*{\xeditor}{editora}%
+ \usebibmacro{test:xeditor:a}{}%
+ \iftoggle{noed}
+ {}
+ {\ifboolexpr{ test {\ifdefempty{\xtitle}}
+ and ( togl {collection:ib}
+ or togl {collection:icbk}
+ or togl {collection:icib}
+ or not togl {collection} )}
+ {\toggletrue{noed}}%
+ {\ifboolexpr{ test {\ifdefstring{\xtitle}{bookbook}}
+ and togl {swapvol}
+ and ( togl {collection:icib}
+ or togl {collection:icbk} )}
+ {\toggletrue{noed}}%
+ {}}}}
+
+\newbibmacro*{test:editorb}{%
+ \usebibmacro{test:xeditor:a}{}%
+ \iftoggle{collection:icib}
+ {\ifdefstring{\xtitle}{book}
+ {\toggletrue{noed}}%
+ {}}
+ {}}
+
+\newbibmacro*{test:xeditor:b}{%
+ \iffieldequalstr{\xeditor type}{maintitle}
+ {\toggletrue{noed}}%
+ {\ifdefempty{\xtitle}
+ {\ifboolexpr{ test {\iffieldequalstr{\xeditor type}{compiler}}
+ or test {\iffieldequalstr{\xeditor type}{title}}
+ or test {\iffieldundef{\xeditor type}}}
+ {}
+ {\toggletrue{noed}}}
+ {}}}
+
+\newbibmacro*{test:trans}{%
+ \usebibmacro{trans+transa+transb}%
+ \ifnameundef{\yeditor}
+ {\toggletrue{notrans}}%
+ {\iffieldequalstr{\yeditor type}{maintitle}
+ {\toggletrue{notrans}}%
+ {\ifdefstring{\yeditor}{translatorb}
+ {\ifboolexpr{ test {\ifdefempty{\xtitle}}
+ or test {\ifdefstring{\xtitle}{book}}}
+ {\toggletrue{notrans}}%
+ {}}
+ {\ifdefstring{\yeditor}{translatora}
+ {\ifboolexpr{ test {\ifdefempty{\xtitle}}
+ or test {\ifdefstring{\xtitle}{bookbook}}}
+ {\toggletrue{notrans}}%
+ {}}
+ {\ifboolexpr{ togl {collection}
+ and togl {swapvol}
+ and test {\ifdefstring{\xtitle}{book}}}
+ {\toggletrue{notrans}}%
+ {}}}}}}
+
+% For editors of an 'issuetitle', 'maintitle', or 'series'.
+
+\newbibmacro*{editortypes}[1]{%
+ \ifboolexpr{ test {\iffieldequalstr{editortype}{#1}}
+ or test {\iffieldequalstr{editoratype}{#1}}
+ or test {\iffieldequalstr{editorbtype}{#1}}
+ or test {\iffieldequalstr{editorctype}{#1}}}
+ {\usebibmacro{edtranspunct:c}%
+ \renewcommand*{\cbx at bibstring}{editor}%
+ \usebibmacro{editorlists}{#1}%
+ \usebibmacro{pluga+printnames}}%
+ {}}
+
+\newbibmacro*{edtranspunct:c}{%
+ \ifboolexpr{ togl {collection:bk}
+ and togl {swapvol}}
+ {\newunit}%
+ {\setunit{\unspace,\addspace}}}
+
+\newbibmacro*{editorlists}[1]{%
+ \iffieldequalstr{editortype}{#1}
+ {\renewcommand*{\cbx at namelist}{editor}}%
+ {\iffieldequalstr{editoratype}{#1}
+ {\renewcommand*{\cbx at namelist}{editora}}%
+ {\iffieldequalstr{editorbtype}{#1}
+ {\renewcommand*{\cbx at namelist}{editorb}}%
+ {\renewcommand*{\cbx at namelist}{editorc}}}}}
+
+% For translators of a 'maintitle'.
+
+\newbibmacro*{translatortypes}{%
+ \ifboolexpr{ test {\iffieldequalstr{translatortype}{maintitle}}
+ or test {\iffieldequalstr{translatoratype}{maintitle}}}
+ {\usebibmacro{edtranspunct:c}%
+ \renewcommand*{\cbx at bibstring}{translator}%
+ \iffieldequalstr{translatortype}{maintitle}
+ {\renewcommand*{\cbx at namelist}{translator}}%
+ {\renewcommand*{\cbx at namelist}{translatora}}%
+ \usebibmacro{pluga+printnames}}%
+ {}}
+
+% A catchall for additional editorial information about a 'title'.
+
+\newbibmacro*{editoraddon}{%
+ \iffieldundef{editoraddon}
+ {}
+ {\nopunct\printfield{editoraddon}%
+ \clearfield{editoraddon}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Printing Names and Dashes %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{printnames+etc}{%
+ \ifboolexpr{ togl {authposition}
+ and togl {bibliography}}
+ {\usebibmacro{bibnamedash+printnames}}%
+ {\usebibmacro{printnames}}%
+ \usebibmacro{handle}%
+ \usebibmacro{nameaddon}%
+ \usebibmacro{a:labeldate+extradate}%
+ \usebibmacro{clearnames+empty}}%
+
+\newbibmacro*{bibnamedash+printnames}{%
+ \ifboolexpr{ test {\iffieldequals{namehash}{\bbx at lasthash}}
+ and not test \iffirstonpage}
+ {\ifboolexpr{ test {\ifnameundef{author}}
+ and test {\ifnameundef{bookauthor}}}
+ {\bibstring{bibnamedash}\plugb}%
+ {\bibstring{bibnamedash}}}
+ {\usebibmacro{printnames}}}
+
+\newbibmacro*{printnames}{%
+ \ifnameundef{\cbx at namelist}
+ {}
+ {\anona\pluga\printnames[\cbx at deflabel]{%
+ \cbx at namelist}\plugb\anonb}}%
+
+% A screen name precedes 'nameaddon'. See CMOS, 17th ed., 14.208.
+
+\newbibmacro*{handle}{%
+ \iffieldundef{handle}
+ {}
+ {\space
+ \printfield[parens]{handle}%
+ \clearfield{handle}}}
+
+\newbibmacro*{nameaddon}{%
+ \iffieldundef{nameaddon}
+ {}
+ {\space
+ \printfield[brackets]{nameaddon}%
+ \clearfield{nameaddon}}}
+
+\newbibmacro*{clearnames+empty}{%
+ \clearname{\cbx at namelist}%
+ \let\cbx at namelist\empty
+ \let\anona\empty
+ \let\anonb\empty
+ \let\pluga\empty
+ \let\plugb\empty}%
+
+% When 'journaltitle' goes in the author's position.
+
+\newbibmacro*{bibjournaldash}{%
+ \ifboolexpr{ test {\iffieldequals{journaltitle}{\bbx at lasthash}}
+ and not test \iffirstonpage}
+ {\bibstring{bibnamedash}%
+ \clearfield{journaltitle}%
+ \clearlist{location}%
+ \newunit}%
+ {\savefield{journaltitle}{\bbx at lasthash}%
+ \renewcommand*{\xtitle}{journal}%
+ \usebibmacro{longtitle+titleaddon}%
+ \let\xtitle\empty}}%
+
+% When 'blogtitle' goes in the author's position. This should only
+% apply when a blog has changed urls or host organizations.
+
+\newbibmacro*{bibblogdash}{%
+ \ifboolexpr{ test {\iffieldequals{blogtitle}{\bbx at lasthash}}
+ and not test \iffirstonpage}
+ {\bibstring{bibnamedash}%
+ \clearfield{blogtitle}%
+ \newunit}%
+ {\savefield{blogtitle}{\bbx at lasthash}%
+ \renewcommand*{\xtitle}{blog}%
+ \usebibmacro{longtitle+titleaddon}%
+ \let\xtitle\empty}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Titles and Subtitles %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\renewcommand*{\subtitlepunct}{\ifterm{\space}{:\space}}%
+
+\newbibmacro*{longtitle+titleaddon}{%
+ \iffieldundef{\xtitle title}
+ {}
+ {\usebibmacro{longtitle}%
+ \usebibmacro{titleaddon}%
+ \usebibmacro{test:titledupes}%
+ \clearfield{\xtitle title}}}
+
+\newbibmacro*{longtitle}{%
+ \printtext[\xtitle title]{%
+ \printfield[noformat]{\xtitle title}%
+ \iffieldundef{\xtitle subtitle}
+ {}
+ {\subtitlepunct
+ \printfield[noformat]{\xtitle subtitle}}}}
+
+\newbibmacro*{test:titledupes}{%
+ \iffieldsequal{title}{booktitle}
+ {\ifboolexpr{ test {\iffieldundef{subtitle}}
+ or test {\iffieldsequal{subtitle}{booksubtitle}}}
+ {\clearfield{booktitle}}%
+ {}}
+ {}}
+
+\newbibmacro*{titleaddon}{%
+ \iffieldundef{\xtitle titleaddon}
+ {}
+ {\addspace% '\space' has issues with quotation marks
+ \printfield{\xtitle titleaddon}}}
+
+\newbibmacro*{title+labelyear}{%
+ \iftoggle{bibliography}
+ {\usebibmacro{longtitle+titleaddon}%
+ \usebibmacro{b:labeldate+extradate}}%
+ {\ifboolexpr{ test \ifciteseen
+ or togl {firstshort}}
+ {\usebibmacro{shorttitle}}%
+ {\usebibmacro{longtitle+titleaddon}}}}
+
+\newbibmacro*{shorttitle}{%
+ \ifboolexpr{ togl {collection:bk}
+ and togl {swapvol}}
+ {\iffieldundef{shortmaintitle}
+ {\printfield[title]{maintitle}}%
+ {\printfield[title]{shortmaintitle}}}
+ {\ifboolexpr{ togl {collection:ib}
+ and togl {swapvol}}
+ {\iffieldundef{shortbooktitle}
+ {\printfield[title]{booktitle}}%
+ {\printfield[title]{shortbooktitle}}}
+ {\printfield[\thefield{entrytype}]{labeltitle}}}}
+
+\newbibmacro*{shorttitle+crossref}{%
+ \ifboolexpr{ togl {collection:icbk}
+ and togl {swapvol}}
+ {\iffieldundef{shortmaintitle}
+ {\printfield[title]{maintitle}}%
+ {\printfield[title]{shortmaintitle}}}
+ {\ifboolexpr{ togl {collection:icib}
+ and togl {swapvol}}
+ {\iffieldundef{shortbooktitle}
+ {\printfield[title]{booktitle}}%
+ {\printfield[title]{shortbooktitle}}}
+ {\printfield[\thefield{entrytype}]{labeltitle}}}}
+
+\newbibmacro*{booktitle+editor}[1]{%
+ \iffieldundef{booktitle}
+ {}
+ {\renewcommand*{\xtitle}{book}%
+ \usebibmacro{longtitle+titleaddon}%
+ \setunit{\unspace,\addspace}%
+ \usebibmacro{bybookauthor+pages}%
+ \ifstrequal{#1}{a}
+ {\usebibmacro{edtrans:a}}%
+ {\usebibmacro{edtrans:b}}}}
+
+\newbibmacro*{bookbooktitle+editor}[1]{%
+ \iffieldundef{bookbooktitle}
+ {}
+ {\ifstrequal{#1}{in}
+ {\newunit\bibstring{in}\space}%
+ {}% needs '%'
+ \renewcommand*{\xtitle}{bookbook}%
+ \usebibmacro{longtitle+titleaddon}%
+ \setunit{\unspace,\addspace}%
+ \usebibmacro{edtrans:b}}}
+
+\newbibmacro*{maintitle+editor}{%
+ \iffieldundef{maintitle}
+ {}
+ {\renewcommand*{\xtitle}{main}%
+ \usebibmacro{longtitle+titleaddon}%
+ \iftoggle{swaptrans}
+ {\usebibmacro{translatortypes}%
+ \usebibmacro{editortypes}{maintitle}}%
+ {\usebibmacro{editortypes}{maintitle}%
+ \usebibmacro{translatortypes}}}}
+
+\newbibmacro*{issuetitle}{%
+ \iffieldundef{issuetitle}
+ {}
+ {\iffieldequalstr{issuetitle}{special issue}
+ {}
+ {\bibstring{in}\space
+ \renewcommand*{\xtitle}{issue}%
+ \usebibmacro{longtitle+titleaddon}%
+ \usebibmacro{editortypes}{issuetitle}}%
+ \newunit\bibstring{special}%
+ \setunit{\addcomma\space}}}
+
+\newbibmacro*{origtitle}{%
+ \iffieldundef{origtitle}
+ {}
+ {\newunit
+ \bibstring{origpub}%
+ \space
+ \renewcommand*{\xtitle}{orig}%
+ \usebibmacro{longtitle+titleaddon}%
+ \setunit{\addspace}% not '\setunit{\space}'
+ \printtext[parens]{%
+ \usebibmacro{origlocation}%
+ \usebibmacro{origpublisher}%
+ \iftoggle{reflist}
+ {}
+ {\usebibmacro{origyear+origendyear}}}}}
+
+%%%%%%%%%%%%%%%%%%%
+%% Collections %%
+%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{test:collection}{%
+ \ifboolexpr{ test {\ifentrytype{book}}
+ or test {\ifentrytype{collection}}
+ or test {\ifentrytype{mvbook}}
+ or test {\ifentrytype{mvcollection}}}
+ {\usebibmacro{test:collection:bk}}%
+ {\ifboolexpr{ test {\ifentrytype{bookinbook}}
+ or test {\ifentrytype{inbook}}
+ or test {\ifentrytype{incollection}}
+ or test {\ifentrytype{letter}}}
+ {\usebibmacro{test:collection:icbk+etc}}%
+ {}}}
+
+\newbibmacro*{test:collection:bk}{%
+ \ifboolexpr{ test {\iffieldundef{booktitle}}
+ and test {\iffieldundef{bookbooktitle}}
+ and test {\iffieldundef{bookvolume}}
+ and test {\iffieldundef{bookbookvolume}}
+ and not test {\iffieldundef{title}}
+ and not test {\iffieldundef{maintitle}}
+ and not test {\iffieldundef{volume}}}
+ {\toggletrue{collection}%
+ \toggletrue{collection:bk}}%
+ {}}
+
+\newbibmacro*{test:collection:icbk+etc}{%
+ \ifboolexpr{ test {\iffieldundef{bookbooktitle}}
+ and test {\iffieldundef{volume}}
+ and test {\iffieldundef{bookbookvolume}}
+ and not test {\iffieldundef{title}}
+ and not test {\iffieldundef{booktitle}}
+ and not test {\iffieldundef{maintitle}}
+ and not test {\iffieldundef{bookvolume}}}
+ {\toggletrue{collection}%
+ \toggletrue{collection:icbk}}%
+ {\ifboolexpr{ test {\ifentrytype{bookinbook}}
+ or test {\ifentrytype{inbook}}}
+ {\usebibmacro{test:collection:ib}}%
+ {\usebibmacro{test:collection:icib}}}}
+
+\newbibmacro*{test:collection:ib}{%
+ \ifboolexpr{ test {\iffieldundef{maintitle}}
+ and test {\iffieldundef{bookbooktitle}}
+ and test {\iffieldundef{bookvolume}}
+ and test {\iffieldundef{bookbookvolume}}
+ and not test {\iffieldundef{title}}
+ and not test {\iffieldundef{booktitle}}
+ and not test {\iffieldundef{volume}}}
+ {\toggletrue{collection}%
+ \toggletrue{collection:ib}}%
+ {}}
+
+\newbibmacro*{test:collection:icib}{%
+ \ifboolexpr{ test {\iffieldundef{maintitle}}
+ and test {\iffieldundef{volume}}
+ and test {\iffieldundef{bookbookvolume}}
+ and not test {\iffieldundef{booktitle}}
+ and not test {\iffieldundef{bookbooktitle}}
+ and not test {\iffieldundef{bookvolume}}}
+ {\toggletrue{collection}%
+ \toggletrue{collection:icib}}%
+ {}}
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% Dates and Times %%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{issue+month+etc}[1]{%
+ \iffieldundef{year}
+ {\iffieldundef{month}
+ {}
+ {\setunit{\space}%
+ \printtext[parens]{\usebibmacro{month+endmonth}}}}
+ {\ifboolexpr{ test {\iffieldundef{volume}}
+ and test {\iffieldundef{number}}}
+ {\iffieldundef{journal}
+ {}
+ {\setunit{\addcomma\space}}%
+ \iffieldundef{month}
+ {\usebibmacro{issue+season+year}}%
+ {\usebibmacro{month+day+year}}}
+ {\iffieldundef{month}
+ {\setunit{\space}%
+ \usebibmacro{reflist+issue+season}}%
+ {\ifstrequal{#1}{noparens}
+ {\newunit
+ \usebibmacro{month+day+year}}%
+ {\setunit{\space}%
+ \printtext[parens]{%
+ \usebibmacro{month+day+year}}}}}}}
+
+\newbibmacro*{month+day+year}{%
+ \usebibmacro{month+endmonth}%
+ \usebibmacro{reflist+day+year}}%
+
+\newbibmacro*{month+endmonth}{%
+ \iffieldundef{month}
+ {}
+ {\printfield{month}%
+ \ifboolexpr{ test {\iffieldundef{endmonth}}
+ or test {\iffieldsequal{month}{endmonth}}}
+ {}
+ {\addslash\printfield{endmonth}}}}
+
+\newbibmacro*{reflist+day+year}{%
+ \ifboolexpr{ togl {bibliography}
+ and togl {reflist}}
+ {\iffieldundef{day}
+ {}
+ {\usebibmacro{day+endday+year}}}
+ {\iffieldundef{day}
+ {\addspace
+ \printfield{year}}%
+ {\usebibmacro{day+endday+year}}}}
+
+\newbibmacro*{day+endday+year}{%
+ \usebibmacro{day+endday}%
+ \addcomma\space
+ \printfield{year}%
+ \usebibmacro{hour+minute+timezone}}%
+
+\newbibmacro*{day+endday}{%
+ \iffieldundef{day}
+ {}
+ {\addspace
+ \stripzeros{\thefield{day}}%
+ \iffieldundef{endday}
+ {}
+ {\textendash\stripzeros{\thefield{endday}}}}}
+
+\newbibmacro*{hour+minute+timezone}{%
+ \iffieldundef{hour}
+ {}
+ {\addcomma\space
+ \printtime}}%
+
+% Treat 'season' as an alternative for 'issue'.
+
+\newbibmacro*{reflist+issue+season}{%
+ \ifboolexpr{ togl {bibliography}
+ and togl {reflist}}
+ {\ifboolexpr{ test {\iffieldundef{issue}}
+ and test {\iffieldundef{season}}}
+ {}
+ {\setunit{\space}%
+ \iffieldundef{issue}
+ {\printtext[parens]{\printfield{season}}}
+ {\printtext[parens]{\printfield{issue}}}}}
+ {\setunit{\space}%
+ \printtext[parens]{\usebibmacro{issue+season+year}}}}
+
+\newbibmacro*{issue+season+year}{%
+ \ifboolexpr{ test {\iffieldundef{issue}}
+ and test {\iffieldundef{season}}}
+ {\printfield{year}}%
+ {\iffieldundef{issue}
+ {\printfield{season}%
+ \space
+ \printfield{year}}%
+ {\printfield{issue}%
+ \space
+ \printfield{year}}}}
+
+% Per CMOS, 17th ed., 14.119, print the publication year of the
+% last-mentioned title.
+
+\newbibmacro*{year+bookyear}{%
+ \ifboolexpr{ togl {bibliography}
+ and togl {reflist}}
+ {\ifboolexpr{ test {\iffieldundef{bookyear}}
+ or test {\iffieldundef{year}}
+ or test {\iffieldsequal{year}{bookyear}}
+ or not test {\iffieldequalstr{labeldatesource}{bookyear}}}
+ {}
+ {\printfield{bookyear}%
+ \usebibmacro{endbookyear}}}
+ {\ifboolexpr{ test {\iffieldundef{year}}
+ and test {\iffieldundef{bookyear}}}
+ {\bibstring{nodate}}%
+ {\iffieldundef{bookyear}
+ {\printfield{year}%
+ \usebibmacro{endyear}}%
+ {\ifboolexpr{ togl {collection}
+ and togl {swapvol}
+ and not test {\iffieldundef{year}}}
+ {\printfield{year}%
+ \usebibmacro{endyear}}%
+ {\printfield{bookyear}%
+ \usebibmacro{endbookyear}}}}}}
+
+\newbibmacro*{endyear}{%
+ \iffieldundef{endyear}
+ {}
+ {\iffieldsequal{year}{endyear}
+ {}
+ {\textendash\printfield{endyear}}}}
+
+\newbibmacro*{endbookyear}{%
+ \iffieldundef{endbookyear}
+ {}
+ {\iffieldsequal{bookyear}{endbookyear}
+ {}
+ {\textendash\printfield{endbookyear}}}}
+
+\newbibmacro*{origyear+origendyear}{%
+ \iffieldundef{origyear}
+ {}
+ {\printfield{origyear}%
+ \ifboolexpr{ test {\iffieldundef{endorigyear}}
+ or test {\iffieldsequal{origyear}{endorigyear}}}
+ {}
+ {\textendash\printfield{endorigyear}}}}
+
+% For reference lists.
+
+\newbibmacro*{a:labeldate+extradate}{%
+ \ifboolexpr{ togl {noauth}
+ or not togl {authposition}}
+ {}
+ {\usebibmacro{labeldate+extradate}}}
+
+\newbibmacro*{b:labeldate+extradate}{%
+ \ifboolexpr{ togl {noauth}
+ and not togl {journalfirst}}
+ {\usebibmacro{labeldate+extradate}}%
+ {}}
+
+\newbibmacro*{labeldate+extradate}{%
+ \ifboolexpr{ togl {reflist}
+ and not togl {skipdate}}
+ {\newunit
+ \usebibmacro{reflist+origyear}%
+ \usebibmacro{labeldate+endyear}%
+ \printfield{extradate}%
+ \ifboolexpr{ test {\iffieldundef{year}}
+ or test {\ifnumeral{\thefield{year}}}}
+ {\newunit}%
+ {\bibsentence\newunit}}% if year enclosed in brackets
+ {}}
+
+\newbibmacro*{reflist+origyear}{%
+ \iffieldundef{origyear}
+ {}
+ {\printtext[parens]{\usebibmacro{origyear+origendyear}}%
+ \space}}%
+
+% The next macro helps bib environments that use the 'reflist' toggle
+% (see the 'reflist' bib environment set elsewhere in this file).
+% Since they can't use the 'reflist' preamble option, they can't load
+% the DeclareLabeldate for reference lists. The macro below makes the
+% output consistent in those cases but can cause problems with
+% sorting. Resolve them with '\sortyear'. Also, end dates go here. See
+% CMOS, 17th ed., 15.37 and 15.41. Although '\printlabeldate' prints
+% them, the workaround needs to run 'endyear', which can cause
+% problems not only with sorting but with 'extralabeldate'.
+
+\newbibmacro*{labeldate+endyear}{%
+ \iffieldequalstr{labeldatesource}{bookyear}
+ {\iffieldundef{year}
+ {\printlabeldate}%
+ {\printfield{year}%
+ \usebibmacro{endyear}}}
+ {\printlabeldate}}%
+
+%%%%%%%%%%%%%%%%%
+%% Locations %%
+%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{loc+pub+year}{%
+ \usebibmacro{loc+pub}{1}%
+ \ifnumgreater{\value{publisher}}{1}
+ {\setunit{\addsemicolon\space}%
+ \usebibmacro{loc+pub}{2}}%
+ {}
+ \setunit{\addcomma\space}%
+ \usebibmacro{year+bookyear}}%
+
+\newbibmacro*{loc+pub}[1]{%
+ \usebibmacro{location}{#1}%
+ \setunit{\addcolon\space}%
+ \printlist[publisher][#1-#1]{publisher}}%
+
+\newbibmacro*{location}[1]{%
+ \ifboolexpr{ test {\iflistundef{location}}
+ and test {\iffieldundef{howpublished}}
+ and test {\iffieldundef{url}}
+ and test {\iffieldundef{doi}}}
+ {\bibstring{noplace}}%
+ {\printlist[location][#1-#1]{location}}}
+
+\newbibmacro*{origlocation}{%
+ \iflistundef{origlocation}
+ {}
+ {\printlist{origlocation}%
+ \iflistundef{origpublisher}
+ {\setunit{\addcomma\space}}%
+ {\setunit{\addcolon\space}}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Bibliography Drivers %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareBibliographyDriver{shorthand}{%
+ \usedriver
+ {\DeclareNameAlias{author}{sortname}}%
+ {\thefield{entrytype}}%
+ \iftoggle{annotate}
+ {\global\togglefalse{annotate}%
+ \usebibmacro{pageref+finentry}%
+ \global\toggletrue{annotate}}%
+ {\usebibmacro{pageref+finentry}}}
+
+\DeclareBibliographyDriver{article}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+title+ed+note}%
+ \usebibmacro{articles}%
+ \usebibmacro{colon+pages+etc}%
+ \usebibmacro{doi+finentry+etc}}%
+
+\DeclareBibliographyDriver{book}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+collection+etc}%
+ \usebibmacro{doi+finentry+etc}}%
+
+\DeclareBibliographyDriver{incollection}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+title+etc}%
+ \usebibmacro{crossref+incollections}%
+ \usebibmacro{doi+finentry+etc}}%
+
+\DeclareBibliographyDriver{misc}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+bookauthor+etc}%
+ \usebibmacro{title+labelyear}%
+ \newunit
+ \printfield{userb}%
+ \usebibmacro{doi+finentry+etc}}%
+
+\DeclareBibliographyDriver{online}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+title+ed+note}%
+ \newunit
+ \usebibmacro{websites}%
+ \usebibmacro{issue+month+etc}{}%
+ \usebibmacro{doi+finentry+etc}}%
+
+\DeclareBibliographyDriver{patent}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+title+ed+note}%
+ \newunit
+ \printfield{number}%
+ \newunit
+ \printfield{addendum}%
+ \usebibmacro{pageref+finentry}}%
+
+\DeclareBibliographyDriver{review}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{reviews}%
+ \usebibmacro{articles}%
+ \usebibmacro{colon+pages+etc}%
+ \usebibmacro{doi+finentry+etc}}%
+
+\DeclareBibliographyDriver{thesis}{%
+ \usebibmacro{bibindex}%
+ \usebibmacro{author+title+ed+note}%
+ \newunit
+ \usebibmacro{inst+loc+date}%
+ \usebibmacro{doi+finentry+etc}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Second Tier Macros %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{pageref+finentry}{%
+ \newunit
+ \usebibmacro{pageref}%
+ \newunit
+ \usebibmacro{annotation}%
+ \finentry}%
+
+\newbibmacro*{author+title+ed+note}{%
+ \usebibmacro{author+bookauthor+etc}%
+ \usebibmacro{title+labelyear}%
+ \usebibmacro{edtrans:a}%
+ \usebibmacro{note}}%
+
+\newbibmacro*{articles}{%
+ \newunit
+ \usebibmacro{part}%
+ \usebibmacro{issuetitle}%
+ \renewcommand*{\xtitle}{journal}%
+ \usebibmacro{longtitle+titleaddon}%
+ \usebibmacro{journalseries}%
+ \setunit{\space}%
+ \usebibmacro{journallocation}%
+ \printfield[noformat]{volume}%
+ \iftoggle{journalfirst}
+ {\newunit}%
+ {\setunit{\addcomma\space}}%
+ \iffieldequalstr{type}{newsmag}
+ {\usebibmacro{issue+month+etc}{noparens}%
+ \usebibmacro{periodical:number}}%
+ {\usebibmacro{periodical:number}%
+ \usebibmacro{issue+month+etc}{}}%
+ \usebibmacro{edition}{noformat}}%
+
+% If an article has an electronic article ID, don't print its page
+% range in the bibliography. See CMOS, 17th ed., 14.174.
+
+\newbibmacro*{colon+pages+etc}{%
+ \ifboolexpr{ test {\iffieldundef{pages}}
+ or not test {\iffieldundef{eid}}}
+ {}
+ {\iftoggle{reflist}
+ {\ifboolexpr{test {\iffieldundef{number}}
+ and test {\iffieldundef{month}}
+ and test {\iffieldundef{issue}}
+ and test {\iffieldundef{season}}}
+ {\setunit{\addcolon}%
+ \printfield{pages}}%
+ {\setunit{\addcolon\space}%
+ \printfield{pages}}}
+ {\usebibmacro{colon+pages}}}}
+
+\newbibmacro*{doi+finentry+etc}{%
+ \usebibmacro{doi+url+etc}%
+ \usebibmacro{isbn}%
+ \usebibmacro{library}%
+ \usebibmacro{pageref+finentry}}%
+
+\newbibmacro*{author+collection+etc}{%
+ \usebibmacro{test:collection}%
+ \usebibmacro{author+bookauthor+etc}%
+ \ifboolexpr{ togl {collection:bk}
+ and togl {swapvol}}
+ {\usebibmacro{maintitle+editor}%
+ \usebibmacro{note}%
+ \usebibmacro{edition}{}%
+ \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}}%
+ {\usebibmacro{title+labelyear}%
+ \usebibmacro{byauthor}{newunit}%
+ \usebibmacro{edtrans:a}%
+ \usebibmacro{editoraddon}%
+ \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{date+loc+etc}%
+ \usebibmacro{origtitle}}%
+
+\newbibmacro*{author+title+etc}{%
+ \usebibmacro{test:collection}%
+ \usebibmacro{test:bookauthor}%
+ \ifboolexpr{ test {\ifnameundef{afterword}}
+ and test {\ifnameundef{foreword}}
+ and test {\ifnameundef{introduction}}}
+ {\usebibmacro{author+bookauthor+etc}%
+ \iffieldundef{title}
+ {\usebibmacro{booktitle+editor}{a}}%
+ {\ifboolexpr{ togl {collection:ib}
+ and togl {swapvol}
+ and not togl {collection:icib}}
+ {\usebibmacro{booktitle+editor}{a}}%
+ {\usebibmacro{title+labelyear}%
+ \usebibmacro{byauthor+ed+chapter}}}}
+ {\usebibmacro{aft+fore+intro}}}
+
+\newbibmacro*{crossref+incollections}{%
+ \iffieldundef{crossref}
+ {\usebibmacro{incollections}}%
+ {\xifinlist{\thefield{crossref}}{\crossreflist}
+ {\ifnumgreater{\value{\thefield{crossref}}}{0}
+ {\usebibmacro{crossref}%
+ \usebibmacro{pages}}%
+ {\usebibmacro{incollections}}}
+ {\listxadd{\crossreflist}{\thefield{crossref}}%
+ \ifcsdef{c@\thefield{crossref}}
+ {\setcounter{\thefield{crossref}}{0}}%
+ {\newcounter{\thefield{crossref}}}% needs '%'
+ \usebibmacro{incollections}}}}
+
+\newbibmacro*{websites}{%
+ \ifboolexpr{ test {\iffieldundef{blogtitle}}
+ and test {\iffieldundef{journaltitle}}
+ and test {\iflistundef{organization}}}
+ {}
+ {\renewcommand*{\xtitle}{blog}%
+ \usebibmacro{longtitle+titleaddon}%
+ \newunit
+ \renewcommand*{\xtitle}{journal}%
+ \usebibmacro{longtitle+titleaddon}%
+ \newunit
+ \printlist{organization}%
+ \setunit{\addcomma\space}}}
+
+\newbibmacro*{reviews}{%
+ \ifboolexpr{ test {\ifnameundef{author}}
+ and not test {\ifnameundef{bookauthor}}}
+ {\savename{bookauthor}{\reviewee}%
+ \clearname{bookauthor}}%
+ {\let\reviewee\empty}%
+ \usebibmacro{author+bookauthor+etc}%
+ \iffieldundef{title}
+ {}
+ {\usebibmacro{title+labelyear}%
+ \newunit}%
+ \usebibmacro{note}%
+ \usebibmacro{review+title}%
+ \setunit{\addcomma\space}%
+ \iftoggle{firstshort}
+ {}
+ {\usebibmacro{edtrans:b}}}
+
+\newbibmacro*{inst+loc+date}{%
+ \usebibmacro{thesis+type}%
+ \setunit{\addcomma\space}%
+ \iflistundef{institution}
+ {\printfield{venue}}%
+ {\printlist{institution}}%
+ \setunit{\addcomma\space}%
+ \printlist{location}%
+ \setunit{\addcomma\space}%
+ \usebibmacro{month+day+year}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Third Tier Macros %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\renewbibmacro*{annotation}{%
+ \iftoggle{annotate}
+ {\printfield{annotation}}%
+ {}}
+
+\newbibmacro*{note}{%
+ \iffieldundef{note}
+ {}
+ {\newunit
+ \printfield{note}}}
+
+\newbibmacro*{part}{%
+ \iffieldundef{part}
+ {}
+ {\setunit{\addcomma\space}%
+ \iffieldnum{part}
+ {\printfield{part}}%
+ {\printfield[noformat]{part}}%
+ \setunit{\addcomma\space}%
+ \clearfield{part}}}
+
+\newbibmacro*{journalseries}{%
+ \iffieldundef{series}
+ {}
+ {\iflistundef{location}
+ {\setunit{\addcomma\space}%
+ \printfield{series}}%
+ {\setunit{\space}%
+ \printfield{series}}%
+ \isdot\addcomma
+ \usebibmacro{seriesaddon}%
+ \usebibmacro{editortypes}{series}%
+ \newunit}}%
+
+\newbibmacro*{journallocation}{%
+ \iflistundef{location}
+ {}
+ {\nopunct\printtext[parens]{%
+ \printlist{location}}\space}}%
+
+% On how to format the issue number of periodicals, see CMOS, 17th
+% ed., 14.171 and 15.47.
+
+\newbibmacro*{periodical:number}{%
+ \iffieldundef{number}
+ {}
+ {\ifboolexpr{ togl {bibliography}
+ and togl {reflist}
+ and test {\iffieldundef{issue}}
+ and test {\iffieldundef{season}}
+ and test {\iffieldundef{month}}
+ and not test {\iffieldundef{volume}}}
+ {\setunit{\space}%
+ \printfield[parens]{number}}%
+ {\setunit{\addcomma\space}%
+ \printfield[journum]{number}}}}
+
+\newbibmacro*{colon+pages}{%
+ \ifboolexpr{ test {\iffieldundef{month}}
+ and test {\iffieldundef{year}}
+ and test {\iffieldundef{issue}}}
+ {\setunit{\addcolon}%
+ \printfield{pages}}%
+ {\ifboolexpr{ test {\iffieldundef{month}}
+ and test {\iffieldundef{year}}}
+ {\setunit{\addcolon\space}%
+ \printfield{pages}}%
+ {\ifboolexpr{ test {\iffieldundef{number}}
+ and test {\iffieldundef{volume}}}
+ {\setunit{\addcomma\space}%
+ \printfield{pages}}%
+ {\setunit{\addcolon\space}%
+ \printfield{pages}}}}}
+
+\newbibmacro*{doi+url+etc}{%
+ \ifboolexpr{ test {\iffieldundef{howpublished}}
+ and test {\iffieldundef{url}}
+ and test {\iffieldundef{doi}}
+ and test {\iffieldundef{addendum}}
+ or ( togl {firstshort} and not togl {bibliography} )}
+ {}
+ {\usebibmacro{eid}%
+ \newunit
+ \printfield{howpublished}%
+ \newunit
+ \printurldate
+ \newunit
+ \printfield[noformat]{version}%
+ \newunit
+ \printfield{url}%
+ \newunit
+ \printfield{doi}%
+ \newunit
+ \printfield{addendum}}}
+
+\newbibmacro*{isbn}{%
+ \iffieldundef{isbn}
+ {}
+ {\iftoggle{bibliography}
+ {\iftoggle{isbn}
+ {\newunit
+ \printfield{isbn}}%
+ {}}
+ {}}}
+
+\newbibmacro*{library}{%
+ \iffieldundef{library}
+ {}
+ {\iftoggle{bibliography}
+ {\iftoggle{library}
+ {\newunit
+ \printfield{library}}%
+ {}}
+ {}}}
+
+\newbibmacro*{volume+number+etc}{%
+ \iffieldundef{\xvolume volume}
+ {}
+ {\usebibmacro{swapvol+pages}%
+ \iffieldundef{series}
+ {\newunit}%
+ {\setunit{\addcomma\space}}%
+ \iffieldnum{\xvolume volume}
+ {\printfield[volume]{\xvolume volume}%
+ \usebibmacro{volume:number}}%
+ {\bibstring{volumes}\space
+ \printfield[noformat]{\xvolume volume}}%
+ \clearfield{\xvolume volume}%
+ \usebibmacro{part}%
+ \iftoggle{collection}
+ {\iftoggle{swapvol}
+ {\addcomma\space}%
+ {\space\bibstring{of}\space}}%
+ {\iffieldundef{maintitle}
+ {}
+ {\space\bibstring{of}\space}}}}
+
+\renewbibmacro*{byauthor}[1]{%
+ \ifboolexpr{ test {\ifnameundef{author}}
+ or togl {noauth}}
+ {}
+ {\ifstrequal{#1}{newunit}
+ {\renewcommand*{\pluga}{\newunit\bibstring{by}\space}}%
+ {\renewcommand*{\pluga}{\bibstring{by}\space}}%
+ \renewcommand*{\cbx at namelist}{author}%
+ \usebibmacro{printnames+etc}}}
+
+\newbibmacro*{edition}[1]{%
+ \iffieldundef{edition}
+ {}
+ {\newunit
+ \iffieldbibstring{edition}
+ {\bibstring{\thefield{edition}}}
+ {\ifstrequal{#1}{noformat}
+ {\setunit{\addcomma\space}%
+ \printfield[noformat]{edition}}%
+ {\printfield{edition}}}}}
+
+\newbibmacro*{date+loc+etc}{%
+ \ifboolexpr{ test {\iflistundef{location}}
+ and test {\iflistundef{publisher}}}
+ {\newunit
+ \usebibmacro{month+day+year}}%
+ {\iffieldundef{origtitle}
+ {\iftoggle{bibliography}
+ {\newunit
+ \usebibmacro{orig+etc}}%
+ {\setunit{\addspace}% not '\setunit{\space}'
+ \printtext[parens]{\usebibmacro{orig+etc}}}}
+ {\newunit
+ \usebibmacro{loc+pub+year}}}}
+
+\newbibmacro*{test:bookauthor}{%
+ \ifboolexpr{ test {\ifnamesequal{author}{bookauthor}}
+ or test {\ifnamesequal{afterword}{bookauthor}}
+ or test {\ifnamesequal{foreword}{bookauthor}}
+ or test {\ifnamesequal{introduction}{bookauthor}}}
+ {\clearname{bookauthor}}%
+ {\iftoggle{noauth}
+ {\clearname{bookauthor}}%
+ {}}}
+
+\newbibmacro*{bybookauthor+pages}{%
+ \ifnameundef{bookauthor}
+ {}
+ {\renewcommand*{\pluga}{\bibstring{by}\space}%
+ \renewcommand*{\cbx at namelist}{bookauthor}%
+ \usebibmacro{printnames+etc}%
+ \usebibmacro{pages}%
+ \newunit}}%
+
+\newbibmacro*{byauthor+ed+chapter}{%
+ \usebibmacro{byauthor}{newunit}%
+ \usebibmacro{edtrans:a}%
+ \iftoggle{collection:ib}
+ {}
+ {\newunit
+ \iffieldundef{chapter}
+ {\bibstring{in}\space}%
+ {\printfield{chapter}\space
+ \bibstring{in}\space}}}
+
+\newbibmacro*{incollections}{%
+ \iftoggle{collection:ib}
+ {\usebibmacro{incollections:ib}}%
+ {\ifboolexpr{ togl {collection:icbk}
+ or togl {collection:icib}}
+ {\usebibmacro{incollections:ic}}%
+ {\usebibmacro{booktitle+editor}{}%
+ \usebibmacro{bookbooktitle+editor}{in}%
+ \iffieldundef{volume}
+ {\iffieldundef{bookvolume}%
+ {\renewcommand*{\xvolume}{bookbook}}%
+ {\renewcommand*{\xvolume}{book}}%
+ \usebibmacro{note+edition+etc}}%
+ {\usebibmacro{note+edition+etc}}}}
+ \usebibmacro{date+loc+etc}%
+ \usebibmacro{origtitle}}%
+
+\newbibmacro*{crossref}{%
+ \renewcommand*{\cbx at deflabel}{labelname}%
+ \global\toggletrue{cbx at short}%
+ \entrydata{\thefield{crossref}}{%
+ \iftoggle{reflist}
+ {\usebibmacro{parencite:long}}%
+ {\usebibmacro{author+bookauthor+etc}%
+ \usebibmacro{shorttitle+crossref}}%
+ \usebibmacro{cite:volume}}}
+
+\newbibmacro*{pages}{%
+ \iffieldundef{pages}
+ {}
+ {\iftoggle{bibliography}
+ {\setunit{\addcomma\space}%
+ \printfield{pages}%
+ \clearfield{pages}}%
+ {}}}
+
+\newbibmacro*{review+title}{%
+ \iftoggle{noauth}
+ {\bibcpstring{reviewnoauth}}%
+ {\bibstring{review}}%
+ \space
+ \renewcommand*{\xtitle}{book}%
+ \usebibmacro{title+labelyear}%
+ \iftoggle{firstshort}
+ {\clearfield{booktitle}}%
+ {\setunit{\addcomma\space}%
+ \ifdefempty{\reviewee}
+ {}
+ {\restorename{bookauthor}{\reviewee}}%
+ \renewcommand*{\pluga}{\bibstring{by}\space}%
+ \renewcommand*{\cbx at namelist}{bookauthor}%
+ \usebibmacro{printnames+etc}}}
+
+\newbibmacro*{thesis+type}{%
+ \ifentrytype{mathesis}
+ {\bibstring{mathesis}}%
+ {\ifentrytype{phdthesis}
+ {\bibstring{phdthesis}}%
+ {\iffieldundef{type}
+ {}
+ {\iffieldbibstring{type}
+ {\bibstring{\thefield{type}}}
+ {\printfield{type}}}}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Fourth and Higher Tier Macros %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{eid}{%
+ \iffieldundef{eid}
+ {}
+ {\iftoggle{bibliography}
+ {\setunit{\addcolon\space}}%
+ {\newunit}%
+ \printfield{eid}}}
+
+\newbibmacro*{volumes}{%
+ \iffieldundef{volumes}
+ {}
+ {\ifboolexpr{ togl {collection}
+ or ( not togl {bibliography}
+ and not togl {listvols}
+ and not test {\iffieldundef{postnote}} )}
+ {}
+ {\newunit
+ \printfield{volumes}%
+ \clearfield{volumes}}}}
+
+\newbibmacro*{bookseries}{%
+ \iffieldundef{series}
+ {}
+ {\usebibmacro{pages}%
+ \newunit
+ \printfield{series}%
+ \usebibmacro{seriesaddon}%
+ \usebibmacro{editortypes}{series}%
+ \setunit{\addcomma\space}}}
+
+\newbibmacro*{seriesaddon}{%
+ \iffieldundef{seriesaddon}
+ {}
+ {\addcomma\space
+ \printfield{seriesaddon}%
+ \isdot\addcomma}}%
+
+\newbibmacro*{swapvol+pages}{%
+ \ifboolexpr{ togl {collection}
+ and togl {swapvol}}
+ {}
+ {\usebibmacro{pages}}}
+
+\newbibmacro*{volume:number}{%
+ \iffieldundef{number}
+ {}
+ {\addcomma\space
+ \printfield[journum]{number}%
+ \clearfield{number}}}
+
+\newbibmacro*{book:number}{%
+ \iffieldundef{number}
+ {}
+ {\ifentrytype{letter}
+ {\usebibmacro{letter:number}}%
+ {\usebibmacro{other:number}}}}
+
+\newbibmacro*{letter:number}{%
+ \iftoggle{bibliography}
+ {\setunit{\addcomma\space}%
+ \printfield[journum]{number}}%
+ {}}
+
+\newbibmacro*{other:number}{%
+ \ifboolexpr{ test {\iffieldequalstr{editortype}{series}}
+ or test {\iffieldequalstr{editoratype}{series}}
+ or test {\iffieldequalstr{editorbtype}{series}}
+ or test {\iffieldequalstr{editorctype}{series}}}
+ {\setunit{\addcomma\space}%
+ \printfield{number}}%
+ {\setunit{\addspace}% not '\setunit{\space}'
+ \printfield{number}}}
+
+\newbibmacro*{orig+etc}{%
+ \usebibmacro{origlocation}%
+ \usebibmacro{origpublisher}%
+ \iftoggle{reflist}
+ {}
+ {\usebibmacro{origyear+origendyear}}%
+ \usebibmacro{reprint}%
+ \usebibmacro{loc+pub+year}}%
+
+\newbibmacro*{origpublisher}{%
+ \iflistundef{origpublisher}
+ {}
+ {\printlist{origpublisher}%
+ \setunit{\addcomma\space}}}
+
+\newbibmacro*{reprint}{%
+ \ifboolexpr{ test {\iffieldundef{origyear}}
+ and test {\iflistundef{origpublisher}}}
+ {}
+ {\iftoggle{bibliography}
+ {\newunit}%
+ {\setunit{\addsemicolon\space}}%
+ \bibstring{reprint}%
+ \addcomma\space}}%
+
+\newbibmacro*{incollections:ib}{%
+ \iftoggle{swapvol}
+ {\usebibmacro{note+edition+etc}%
+ \let\xtitle\empty
+ \usebibmacro{longtitle+titleaddon}%
+ \setunit{\unspace,\addspace}%
+ \usebibmacro{byauthor}{}%
+ \usebibmacro{edtrans:b}}%
+ {\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}}%
+
+\newbibmacro*{incollections:ic}{%
+ \iftoggle{swapvol}
+ {\iftoggle{collection:icbk}
+ {\usebibmacro{maintitle+editor}}%
+ {\usebibmacro{bookbooktitle+editor}{}}%
+ \renewcommand*{\xvolume}{book}%
+ \usebibmacro{note+edition+etc}%
+ \usebibmacro{booktitle+editor}{}%
+ \usebibmacro{pages}}%
+ {\usebibmacro{booktitle+editor}{}%
+ \renewcommand*{\xvolume}{book}%
+ \usebibmacro{volume+number+etc}%
+ \iftoggle{collection:icbk}
+ {\usebibmacro{maintitle+editor}}%
+ {\usebibmacro{bookbooktitle+editor}{}}%
+ \renewcommand*{\xvolume}{book}%
+ \usebibmacro{note+edition+etc}}}
+
+\newbibmacro*{volume}{%
+ \iffieldundef{\xvolume volume}
+ {}
+ {\newunit
+ \printfield[volume]{\xvolume volume}}}
+
+\endinput
Added: trunk/Master/texmf-dist/tex/latex/windycity/windycity.cbx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/windycity/windycity.cbx (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/windycity/windycity.cbx 2019-03-28 20:58:02 UTC (rev 50625)
@@ -0,0 +1,490 @@
+% Last modified: Wed 27 Mar 2019 10:38:04 AM 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.
+%
+% The LPPL maintenance status of this software is 'author-maintained'.
+%
+% This software is provided 'as is', without warranty of any kind,
+% either expressed or implied, including, but not limited to, the
+% implied warranties of merchantability and fitness for a particular
+% purpose.
+
+\ProvidesFile{windycity.cbx}[Windy City style for biblatex]
+\@ifpackagelater{biblatex}{2017/11/04}
+ {}
+ {\PackageError{biblatex}
+ {Outdated 'biblatex' package}
+ {Windy City 2019-03-27 is for biblatex v3.8 and above.\MessageBreak
+ You are using: '\csuse{ver at biblatex.sty}'.\MessageBreak
+ This is a fatal error. I'm aborting now.}%
+ \endinput}%
+
+% This file contains material only for formatting notes and
+% parenthetical citations. For content that is also used for
+% bibliographies and reference lists, see windycity.bbx.
+
+%%%%%%%%%%%%%%%%%%%
+%% Preliminary %%
+%%%%%%%%%%%%%%%%%%%
+
+\InitializeCitationStyle{\let\crossreflist\empty}%
+\DeclareAutoPunctuation{.,;:!?}
+\DeclareCitePunctuationPosition{cite}{r}
+\AtEveryCite{%
+ \global\togglefalse{bibliography}%
+ \global\togglefalse{multicite}%
+ \global\togglefalse{cbx at first}%
+ \global\togglefalse{cbx at loccit}%
+ \AtEveryItem}%
+\AtEveryMultiCite{\toggletrue{multicite}}%
+
+% To facilitate uniform output, citations in notes always end with
+% '\addperiod' (see cite:postnote). This makes '\footcite{something}'
+% and '\footnote{\cite{something}}' functionally equivalent. To
+% prevent an extra period from printing in very rare cases, as when
+% '\footcite{something}' ends with a capital letter, remove
+% '\addperiod' from the commands below:
+
+\renewcommand{\bibfootnotewrapper}[1]{%
+ \bibsentence#1}%
+\renewcommand{\bibendnotewrapper}[1]{%
+ \bibsentence#1}%
+
+% Protect commas against abbreviation dots and terminal punctuation
+% marks. Note '\addspace'. Using '\space' there causes problems.
+
+\renewcommand*{\newunitpunct}{\ifterm{,\addspace}{\addcomma\space}}%
+
+% Prevents errant space after a colon.
+
+\renewcommand*{\multicitedelim}{\setunit{\addsemicolon\space}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Citation Commands %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareCiteCommand{\cite}
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{cite:postnote}}%
+
+\DeclareCiteCommand*{\cite}
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \toggletrue{noauth}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{cite:postnote}}%
+
+\DeclareCiteCommand{\footcite}[\mkbibfootnote]
+ {\bibsentence\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{cite:postnote}}%
+
+\DeclareCiteCommand*{\footcite}[\mkbibfootnote]
+ {\bibsentence\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \toggletrue{noauth}%
+ \usebibmacro{cite}}%
+ {\multicitedelim}%
+ {\usebibmacro{cite:postnote}}%
+
+\DeclareCiteCommand{\parencite}[\mkbibparens]
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \usebibmacro{parencite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+\DeclareCiteCommand*{\parencite}[\mkbibparens]
+ {\usebibmacro{prenote}}%
+ {\usebibmacro{citeindex}%
+ \toggletrue{noauth}%
+ \usebibmacro{parencite}}%
+ {\multicitedelim}%
+ {\usebibmacro{postnote}}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Parenthetical Citations %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{parencite}{%
+ \usebibmacro{test:collection}%
+ \usebibmacro{test:crossref}%
+ \ifboolexpr{ test \ifciteibid
+ and not test \iffirstonpage}
+ {\iffieldundef{postnote}
+ {\printtext[bibhyperref]{%
+ \usebibmacro{parencite:date}%
+ \usebibmacro{cite:volume}}}
+ {}}
+ {\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}
+ {}
+ {\usebibmacro{parencite:origyear}%
+ \ifboolexpr{ test {\iffieldundef{year}}
+ or test {\iffieldequalstr{year}{forthcoming}}}
+ {\addcomma}%
+ {}% needs '%'
+ \usebibmacro{labeldate+endyear}%
+ \printfield{extradate}}}
+
+\newbibmacro*{parencite:origyear}{%
+ \iffieldundef{origyear}
+ {}
+ {\printfield[brackets]{origyear}%
+ \space}}%
+
+\newbibmacro*{parencite:long}{%
+ \iffieldundef{shorthand}
+ {\usebibmacro{parencite:auth+title}}%
+ {\printfield{shorthand}}%
+ \setunit{\addspace}% not '\setunit{\space}'
+ \usebibmacro{parencite:date}}%
+
+\newbibmacro*{parencite:auth+title}{%
+ \iftoggle{noauth}
+ {}
+ {\ifboolexpr{ test {\ifnameundef{labelname}}
+ or test {\iffieldundef{labelyear}}}
+ {\iffieldundef{label}
+ {\usebibmacro{parencite:journal}}%
+ {\printfield{label}}}
+ {\global\toggletrue{cbx at short}%
+ \renewcommand*{\cbx at deflabel}{labelname}%
+ \clearfield{handle}%
+ \clearfield{nameaddon}%
+ \usebibmacro{author+bookauthor+etc}}}}
+
+\newbibmacro*{parencite:journal}{%
+ {\ifentrytype{article}
+ {\iffieldundef{shortjournal}
+ {\renewcommand*{\xtitle}{journal}%
+ \usebibmacro{longtitle}}%
+ {\printfield[journal]{shortjournal}}}
+ {\printfield[citetitle]{labeltitle}}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Citations in Notes %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{cite}{%
+ \usebibmacro{test:multicite}%
+ \ifciteseen
+ {\usebibmacro{test:collection}%
+ \renewcommand*{\cbx at deflabel}{labelname}%
+ \printtext[bibhyperref]{\usebibmacro{cite:seen}}}
+ {\printtext[bibhyperref]{\usebibmacro{cite:new}}}% needs '%'
+ \usebibmacro{savefields}}%
+
+\newbibmacro*{test:multicite}{%
+ \ifboolexpr{ test {\iffieldequals{namehash}{\bbx at lasthash}}
+ and togl {multicite}
+ and togl {short}}
+ {\toggletrue{noauth}}%
+ {}}
+
+\newbibmacro*{cite:seen}{%
+ \iffieldundef{shorthand}
+ {\ifboolexpr{ test \ifciteibid
+ and togl {short}
+ and not test \iffirstonpage}
+ {\usebibmacro{cite:ibid}}%
+ {\usebibmacro{cite:short}}}
+ {\printfield{shorthand}%
+ \usebibmacro{cite:volume}}}
+
+\newbibmacro*{cite:ibid}{%
+ \iftoggle{ibid}
+ {\bibcpstring{ibidem}%
+ \ifloccit
+ {\global\toggletrue{cbx at loccit}}%
+ {\usebibmacro{cite:volume}}}
+ {\global\toggletrue{cbx at short}%
+ \ifentrytype{review}
+ {\usebibmacro{ibid:review}}%
+ {\usebibmacro{author+bookauthor+etc}%
+ \iftoggle{noauth}
+ {\usebibmacro{title+labelyear}}%
+ {}% needs '%'
+ \usebibmacro{cite:volume}}}}
+
+\newbibmacro*{ibid:review}{%
+ \ifnameundef{author}
+ {\bibcpstring{reviewnoauth}%
+ \space
+ \usebibmacro{title+labelyear}}%
+ {\usebibmacro{author+bookauthor+etc}}%
+ \usebibmacro{cite:volume}}%
+
+\newbibmacro*{cite:short}{%
+ \global\toggletrue{cbx at short}%
+ \ifentrytype{review}
+ {\usebibmacro{short:review}}%
+ {\usebibmacro{author+bookauthor+etc}%
+ \usebibmacro{title+labelyear}%
+ \usebibmacro{cite:volume}}}
+
+\newbibmacro*{short:review}{%
+ \ifnameundef{author}
+ {\bibcpstring{reviewnoauth}}%
+ {\usebibmacro{author+bookauthor+etc}%
+ \bibstring{review}}%
+ \space
+ \renewcommand*{\xtitle}{book}%
+ \usebibmacro{title+labelyear}%
+ \usebibmacro{cite:volume}}%
+
+\newbibmacro*{cite:volume}{%
+ \newunit
+ \iftoggle{swapvol}
+ {\ifboolexpr{ togl {collection:bk}
+ or togl {collection:ib}}
+ {\usebibmacro{volume+page}}%
+ {}}
+ {}}
+
+\newbibmacro*{volume+page}{%
+ \iffieldundef{volume}
+ {}
+ {\iffieldpages{postnote}
+ {\printfield[noformat]{volume}%
+ \addcolon}%
+ {\printfield{volume}}}}
+
+\newbibmacro*{cite:new}{%
+ \global\toggletrue{cbx at first}%
+ \usebibmacro{deflabel}%
+ \iftoggle{firstshort}
+ {\usebibmacro{cite:short}}%
+ {\usebibmacro{crossref+long}}}
+
+% By default, idemtracker is 'false'. As such, '\ifciteidem' returns
+% false. With idemtracker set to 'true' (or to some value that implies
+% 'true') the test below will print 'labelname' if it matches that of
+% the previous citation.
+
+\newbibmacro*{deflabel}{%
+ \ifboolexpr{ test {\ifciteidem}
+ or togl {firstshort}}
+ {\renewcommand*{\cbx at deflabel}{labelname}}%
+ {\renewcommand*{\cbx at deflabel}{default}}}
+
+% Checking for 'title' below helps if you cross-reference volumes to a
+% collection with entries containing just 'volume' and 'crossref'
+% fields. Perhaps justifiable in very rare cases.
+
+\newbibmacro*{crossref+long}{%
+ \ifboolexpr{ test {\iffieldundef{crossref}}
+ or test {\iffieldundef{title}}}
+ {\usebibmacro{cite:long}}%
+ {\xifinlist{\thefield{crossref}}{\crossreflist}
+ {\stepcounter{\thefield{crossref}}%
+ \usebibmacro{author+title+etc}%
+ \usebibmacro{crossref}}%
+ {\listxadd{\crossreflist}{\thefield{crossref}}%
+ \ifcsdef{c@\thefield{crossref}}
+ {\setcounter{\thefield{crossref}}{0}}%
+ {\newcounter{\thefield{crossref}}}
+ \usebibmacro{cite:long}}}}
+
+\newbibmacro*{cite:long}{%
+ \printtext{%
+ \usedriver
+ {\DeclareNameAlias{sortname}{default}}%
+ {cite:\thefield{entrytype}}}}
+
+\newbibmacro*{savefields}{%
+ \iffieldundef{crossref}
+ {\let\cbx at keyhash\empty}%
+ {\savefield{crossref}{\cbx at keyhash}}}
+
+% See CMOS, 17th ed., 14.174, 14.177, 14.185, and 14.188.
+
+\newbibmacro*{colon+comma+etc}{%
+ \ifboolexpr{ test {\iffieldundef{pages}}
+ and test {\iffieldundef{postnote}}}
+ {}
+ {\ifboolexpr{ test {\iffieldundef{year}}
+ and test {\iffieldundef{month}}
+ and test {\iffieldundef{issue}}}
+ {\setunit{\addcolon}}%
+ {\ifboolexpr{ test {\iffieldundef{number}}
+ and test {\iffieldundef{volume}}}
+ {\newunit}%
+ {\setunit{\addcolon\space}}}}}
+
+%%%%%%%%%%%%%%%%
+%% Postnote %%
+%%%%%%%%%%%%%%%%
+
+\newbibmacro*{cite:postnote}{%
+ \usebibmacro{postnote+etc}%
+ \usebibmacro{postpunct+etc}}%
+
+\newbibmacro*{postnote+etc}{%
+ \ifboolexpr{ togl {cbx at loccit}
+ and togl {ibid}}
+ {}
+ {\iftoggle{cbx at first}
+ {\usebibmacro{postnote:first}%
+ \usebibmacro{shorthand+intro}}%
+ {\usebibmacro{postnote}}}}
+
+\newbibmacro*{postnote:first}{%
+ \ifboolexpr{ test {\iffieldundef{postnote}}
+ and test {\iffieldundef{pages}}
+ and test {\iffieldundef{url}}}
+ {\usebibmacro{doi+url+etc}}%
+ {\usebibmacro{cite:pages}%
+ \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.
+
+\newbibmacro*{cite:pages}{%
+ \iffieldundef{pages}
+ {}
+ {\ifboolexpr{ test {\ifentrytype{article}}
+ or test {\ifentrytype{review}}}
+ {\iffieldundef{postnote}
+ {\printtext[bibhyperref]{\printfield{pages}}}
+ {}}
+ {}}}
+
+\renewbibmacro*{postnote}{%
+ \iffieldundef{postnote}
+ {}
+ {\printtext[bibhyperref]{\printfield{postnote}}}}
+
+\newbibmacro*{shorthand+intro}{%
+ \iffieldundef{shorthand}
+ {}
+ {\iffieldundef{shorthandintro}
+ {\setunit{\addspace}%
+ \printtext[parens]{%
+ \bibstring{citedas}\space
+ \printfield{shorthand}}}
+ {\setunit{\addspace}%
+ \printfield{shorthandintro}}}}
+
+\newbibmacro*{postpunct+etc}{%
+ \iflastcitekey
+ {\iffieldundef{postpunct}
+ {\addperiod}%
+ {}}
+ {}}
+
+\newbibmacro*{refworks}{%
+ \ifboolexpr{ test {\iffieldundef{howpublished}}
+ and test {\iffieldundef{year}}}
+ {}
+ {\setunit{\addspace}%
+ \iffieldundef{howpublished}
+ {\printtext[parens]{\printfield{year}}}
+ {\global\togglefalse{cbx at first}%
+ \printtext[parens]{%
+ \printfield{howpublished}%
+ \newunit
+ \printfield{version}%
+ \newunit
+ \printfield{year}}}}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Bibliography Drivers for Notes %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareBibliographyDriver{cite:article}{%
+ \usebibmacro{author+title+ed+note}%
+ \usebibmacro{articles}%
+ \usebibmacro{colon+comma+etc}}%
+
+\DeclareBibliographyDriver{cite:book}{%
+ \usebibmacro{author+collection+etc}%
+ \newunit
+ \usebibmacro{volume+page}}%
+
+\DeclareBibliographyDriver{cite:incollection}{%
+ \ifentrytype{letter}
+ {\toggletrue{noauth}}%
+ {}% needs '%'
+ \usebibmacro{author+title+etc}%
+ \usebibmacro{incollections}%
+ \newunit
+ \usebibmacro{volume+page}}%
+
+\DeclareBibliographyDriver{cite:misc}{%
+ \usebibmacro{author+bookauthor+etc}%
+ \usebibmacro{title+labelyear}%
+ \newunit
+ \printfield{usera}%
+ \newunit}%
+
+\DeclareBibliographyDriver{cite:online}{%
+ \usebibmacro{author+title+ed+note}%
+ \setunit*{\newunitpunct}% needs '*'
+ \usebibmacro{websites}%
+ \usebibmacro{issue+month+etc}{}%
+ \newunit}%
+
+\DeclareBibliographyDriver{cite:patent}{%
+ \usebibmacro{author+title+ed+note}%
+ \newunit
+ \printfield{number}%
+ \newunit}%
+
+\DeclareBibliographyDriver{cite:reference}{%
+ \printlist{organization}%
+ \usebibmacro{edition}{}%
+ \usebibmacro{refworks}%
+ \newunit
+ \bibstring{subverbo}\space
+ \usebibmacro{longtitle+titleaddon}%
+ \newunit
+ \renewcommand*{\pluga}{\bibstring{by}\space}%
+ \renewcommand*{\cbx at namelist}{author}%
+ \usebibmacro{printnames+etc}}%
+
+\DeclareBibliographyDriver{cite:review}{%
+ \usebibmacro{reviews}%
+ \usebibmacro{articles}%
+ \usebibmacro{colon+comma+etc}}%
+
+\DeclareBibliographyDriver{cite:thesis}{%
+ \usebibmacro{author+title+ed+note}%
+ \setunit{\addspace}% not '\setunit{\space}'
+ \printtext[parens]{\usebibmacro{inst+loc+date}}%
+ \newunit}%
+
+\endinput
More information about the tex-live-commits
mailing list