summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/windycity/windycity.bbx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/windycity/windycity.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/windycity/windycity.bbx208
1 files changed, 141 insertions, 67 deletions
diff --git a/Master/texmf-dist/tex/latex/windycity/windycity.bbx b/Master/texmf-dist/tex/latex/windycity/windycity.bbx
index 29bc593dddb..9bf9170ab8f 100644
--- a/Master/texmf-dist/tex/latex/windycity/windycity.bbx
+++ b/Master/texmf-dist/tex/latex/windycity/windycity.bbx
@@ -1,4 +1,4 @@
-% Last modified: Tue 29 Sep 2020 06:28:58 PM CDT
+% Last modified: Tue 10 Nov 2020 05:24:28 PM CST
% Permission is granted to copy, distribute and/or modify this
% software under the terms of the LaTeX Project Public License (LPPL),
@@ -11,7 +11,7 @@
% implied warranties of merchantability and fitness for a particular
% purpose.
-\ProvidesFile{windycity.bbx}[2020/09/29 Windy City bibliography style
+\ProvidesFile{windycity.bbx}[2020/11/10 Windy City bibliography style
for biblatex]
\@ifpackagelater{biblatex}{2019/08/17}
{}
@@ -26,20 +26,6 @@
%% Bibliography and Entry Options %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\providetoggle{anonauth}
-\DeclareBiblatexOption{entry}[boolean]{anonauth}[true]{%
- \ifstrequal{#1}{true}
- {\renewcommand*{\anona}{\bibopenbracket}%
- \renewcommand*{\anonb}{\bibclosebracket}}%
- {}}
-
-\providetoggle{anonqauth}
-\DeclareBiblatexOption{entry}[boolean]{anonqauth}[true]{%
- \ifstrequal{#1}{true}
- {\renewcommand*{\anona}{\bibopenbracket}%
- \renewcommand*{\anonb}{\addquestion\bibclosebracket}}%
- {}}
-
\providetoggle{annotate}
\DeclareBiblatexOption{global}[boolean]{annotate}[true]{%
\settoggle{annotate}{#1}}%
@@ -66,6 +52,10 @@
\DeclareBiblatexOption{entry,global}[boolean]{isbn}[true]{%
\settoggle{isbn}{#1}}%
+\providetoggle{issn}
+\DeclareBiblatexOption{entry,global}[boolean]{isnn}[true]{%
+ \settoggle{issn}{#1}}%
+
\providetoggle{library}
\DeclareBiblatexOption{entry,global}[boolean]{library}[true]{%
\settoggle{library}{#1}}%
@@ -83,6 +73,10 @@
{\AtBeginBibliography{\blx@key@bibcheck{nolos}}}
{}}
+\providetoggle{nopages}
+\DeclareBiblatexOption{global}[boolean]{nopages}[true]{%
+ \settoggle{nopages}{#1}}%
+
\providetoggle{reflist}
\DeclareBiblatexOption{global}[boolean]{reflist}[true]{%
\ifstrequal{#1}{true}
@@ -133,7 +127,6 @@
dateabbrev=false,
dateusetime=true,
ibidtracker=constrict,
-% Just one use of '\ifciteidem'. See note in windycity.cbx.
idemtracker=false,
indexing=true,
labeldateparts=true,
@@ -281,6 +274,7 @@
\DefaultInheritance[\except{*}{review}{all=false}]{all=true,override=false}
\DeclareDataInheritance{*}{incollection,inbook,letter,review}{%
\inherit{author}{bookauthor}
+ \inherit{authortype}{bookauthortype}
\inherit{shortauthor}{shortbookauthor}
\inherit{editor}{editora}
\inherit{editora}{editorb}
@@ -321,9 +315,9 @@
\noinherit{sortkey}
\noinherit{xref}}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Other Basic Settings %%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Other Basic Settings %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\let\cbx@bibstring\empty
\let\cbx@deflabel\empty
@@ -347,6 +341,7 @@
\providetoggle{cbx:collection}
\providetoggle{cbx:first}
+\providetoggle{cbx:idem}
\providetoggle{cbx:short}
\providetoggle{collection}
@@ -614,9 +609,9 @@
\DeclareBibliographyAlias{*}{book}
-%%%%%%%%%%%%%%%%%%%%%%%%
-%% Author's Position %%
-%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Author's Position %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand*{\revsdnamedelim}{%
\iftoggle{bibliography}
@@ -628,7 +623,7 @@
{\usebibmacro{authpos+deflabel}}%
{\usebibmacro{author+bookauthor}%
\ifnameundef{\cbx@namelist}
- {\usebibmacro{edtransuthpos}%
+ {\usebibmacro{edtrans:authpos}%
\ifnameundef{\cbx@namelist}
{\toggletrue{noauth}%
\usebibmacro{authpos+deflabel}%
@@ -659,13 +654,31 @@
\ifboolexpr{ test {\ifnameundef{shortauthor}}
or togl {bibliography}}
{\renewcommand*{\cbx@namelist}{author}}%
- {\renewcommand*{\cbx@namelist}{shortauthor}}}
+ {\renewcommand*{\cbx@namelist}{shortauthor}}%
+ \usebibmacro{author+bookauthor+type}}%
\newbibmacro*{bookauthor+namelist}{%
\ifboolexpr{ test {\ifnameundef{shortbookauthor}}
or togl {bibliography}}
{\renewcommand*{\cbx@namelist}{bookauthor}}%
- {\renewcommand*{\cbx@namelist}{shortbookauthor}}}
+ {\renewcommand*{\cbx@namelist}{shortbookauthor}}%
+ \usebibmacro{author+bookauthor+type}}%
+
+% See notes for 'handle' and 'nameaddon'.
+
+\newbibmacro*{author+bookauthor+type}{%
+ \iffieldundef{\cbx@namelist type}
+ {}
+ {\iffieldequalstr{\cbx@namelist type}{anon}
+ {\renewcommand*{\anona}{\bibopenbracket}%
+ \renewcommand*{\anonb}{\bibclosebracket}}%
+ {\iffieldequalstr{\cbx@namelist type}{anon?}
+ {\renewcommand*{\anona}{\bibopenbracket}%
+ \renewcommand*{\anonb}{\addquestion\bibclosebracket}}%
+ {\ifboolexpr{ test {\iffieldequalstr{\cbx@namelist type}{pseudo}}
+ and not togl {cbx:short}}
+ {\renewcommand*{\anonb}{\space\mkbibbrackets{\bibstring{pseudo}}}}
+ {}}}}}
% When 'journaltitle' goes in the author's position.
@@ -735,7 +748,7 @@
% For editors and translators in the author's position.
-\newbibmacro*{edtransuthpos}{%
+\newbibmacro*{edtrans:authpos}{%
\togglefalse{noed}%
\togglefalse{notrans}%
\usebibmacro{test:ed:authpos}%
@@ -842,55 +855,90 @@
\renewcommand*{\cbx@namelist}{\yeditor}%
\ifnamesequal{\xeditor}{\yeditor}
{\clearname{\xeditor}%
- \ifboolexpr{ test {\iffieldequalstr{\xeditor type}{compiler}}
- or test {\iffieldequalstr{\xeditor type}{comped}}
- or test {\iffieldequalstr{\xeditor type}{comprev}}
- or test {\iffieldequalstr{\xeditor type}{comptrans}}
+ \ifboolexpr{ test {\iffieldstart{editortype}{c}}
or test {\iffieldequalstr{\xeditor type}{transcomp}}}
{\renewcommand*{\cbx@bibstring}{transcomp}}%
- {\ifboolexpr{ test {\iffieldequalstr{\xeditor type}{reviser}}
- or test {\iffieldequalstr{\xeditor type}{revcomp}}
- or test {\iffieldequalstr{\xeditor type}{reved}}
- or test {\iffieldequalstr{\xeditor type}{revtrans}}
+ {\ifboolexpr{ test {\iffieldstart{\xeditor type}{r}}
or test {\iffieldequalstr{\xeditor type}{transrev}}}
{\renewcommand*{\cbx@bibstring}{transrev}}%
- {\renewcommand*{\cbx@bibstring}{transed}}}}
+ {\ifboolexpr{ test {\iffieldstart{\xeditor type}{u}}
+ or test {\iffieldequalstr{\xeditor type}{transup}}}
+ {\renewcommand*{\cbx@bibstring}{transup}}%
+ {\renewcommand*{\cbx@bibstring}{transed}}}}}
{\renewcommand*{\cbx@bibstring}{translator}}}
\newbibmacro*{edcombos}{%
\renewcommand*{\cbx@namelist}{\xeditor}%
\ifnamesequal{\xeditor}{\yeditor}
{\clearname{\yeditor}%
- \ifboolexpr{ test {\iffieldequalstr{\xeditor type}{compiler}}
- or test {\iffieldequalstr{\xeditor type}{comped}}
- or test {\iffieldequalstr{\xeditor type}{comprev}}
- or test {\iffieldequalstr{\xeditor type}{comptrans}}
- or test {\iffieldequalstr{\xeditor type}{transcomp}}}
- {\renewcommand*{\cbx@bibstring}{comptrans}}%
- {\ifboolexpr{ test {\iffieldequalstr{\xeditor type}{reviser}}
- or test {\iffieldequalstr{\xeditor type}{revcomp}}
- or test {\iffieldequalstr{\xeditor type}{reved}}
- or test {\iffieldequalstr{\xeditor type}{revtrans}}
- or test {\iffieldequalstr{\xeditor type}{transrev}}}
- {\renewcommand*{\cbx@bibstring}{revtrans}}%
- {\renewcommand*{\cbx@bibstring}{edtrans}}}}
- {\iffieldequalstr{\xeditor type}{compiler}
- {\renewcommand*{\cbx@bibstring}{compiler}}%
- {\iffieldequalstr{\xeditor type}{reviser}
- {\renewcommand*{\cbx@bibstring}{reviser}}%
+ \usebibmacro{edcombos:trans}}%
+ {\usebibmacro{edcombos:notrans}}}
+
+\newbibmacro*{edcombos:trans}{%
+ \iffieldstart{\xeditor type}{c}
+ {\renewcommand*{\cbx@bibstring}{comptrans}}%
+ {\iffieldstart{\xeditor type}{r}
+ {\renewcommand*{\cbx@bibstring}{revtrans}}%
+ {\iffieldstart{\xeditor type}{u}
+ {\renewcommand*{\cbx@bibstring}{uptrans}}%
+ {\iffieldequalstr{\xeditor type}{transcomp}
+ {\renewcommand*{\cbx@bibstring}{transcomp}}%
+ {\iffieldequalstr{\xeditor type}{transed}
+ {\renewcommand*{\cbx@bibstring}{transed}}%
+ {\iffieldequalstr{\xeditor type}{transrev}
+ {\renewcommand*{\cbx@bibstring}{transrev}}%
+ {\iffieldequalstr{\xeditor type}{transup}
+ {\renewcommand*{\cbx@bibstring}{transup}}%
+ {\renewcommand*{\cbx@bibstring}{edtrans}}}}}}}}}
+
+\newbibmacro*{edcombos:notrans}{%
+ \iffieldequalstr{\xeditor type}{compiler}
+ {\renewcommand*{\cbx@bibstring}{compiler}}%
+ {\iffieldequalstr{\xeditor type}{reviser}
+ {\renewcommand*{\cbx@bibstring}{reviser}}%
+ {\iffieldequalstr{\xeditor type}{updater}
+ {\renewcommand*{\cbx@bibstring}{updater}}%
{\iffieldequalstr{\xeditor type}{comped}
{\renewcommand*{\cbx@bibstring}{comped}}%
{\iffieldequalstr{\xeditor type}{comprev}
{\renewcommand*{\cbx@bibstring}{comprev}}%
- {\iffieldequalstr{\xeditor type}{edcomp}
- {\renewcommand*{\cbx@bibstring}{edcomp}}%
- {\iffieldequalstr{\xeditor type}{edrev}
- {\renewcommand*{\cbx@bibstring}{edrev}}%
- {\iffieldequalstr{\xeditor type}{revcomp}
- {\renewcommand*{\cbx@bibstring}{revcomp}}%
- {\iffieldequalstr{\xeditor type}{reved}
- {\renewcommand*{\cbx@bibstring}{reved}}%
- {\renewcommand*{\cbx@bibstring}{editor}}}}}}}}}}}
+ {\iffieldequalstr{\xeditor type}{compup}
+ {\renewcommand*{\cbx@bibstring}{compup}}%
+ {\iffieldequalstr{\xeditor type}{edcomp}
+ {\renewcommand*{\cbx@bibstring}{edcomp}}%
+ {\iffieldequalstr{\xeditor type}{edrev}
+ {\renewcommand*{\cbx@bibstring}{edrev}}%
+ {\iffieldequalstr{\xeditor type}{edup}
+ {\renewcommand*{\cbx@bibstring}{edup}}%
+ {\iffieldequalstr{\xeditor type}{revcomp}
+ {\renewcommand*{\cbx@bibstring}{revcomp}}%
+ {\iffieldequalstr{\xeditor type}{reved}
+ {\renewcommand*{\cbx@bibstring}{reved}}%
+ {\iffieldequalstr{\xeditor type}{revup}
+ {\renewcommand*{\cbx@bibstring}{revup}}%
+ {\iffieldequalstr{\xeditor type}{upcomp}
+ {\renewcommand*{\cbx@bibstring}{upcomp}}%
+ {\iffieldequalstr{\xeditor type}{uped}
+ {\renewcommand*{\cbx@bibstring}{uped}}%
+ {\iffieldequalstr{\xeditor type}{uprev}
+ {\renewcommand*{\cbx@bibstring}{uprev}}%
+ {\renewcommand*{\cbx@bibstring}{editor}}}}}}}}}}}}}}}}}
+
+% Thanks to David Fussner's biblatex-chicago for pointing me to this
+% command by Philipp Lehman. Source:
+% https://groups.google.com/forum/#!topic/comp.text.tex/kG003fkZK1I
+
+\newrobustcmd*{\iffieldstart}[2]{%
+ \iffieldundef{#1}
+ {\@secondoftwo}% originally '\@gobbletwo'
+ {\begingroup
+ \edef\@tempa{%
+ \long\def\noexpand\iffieldstart@i####1\detokenize{#2}####2}%
+ \@tempa\@nil{\endgroup\ifblank{##1}}%
+ \savefield*{#1}{\@tempa}%
+ \expandafter\iffieldstart@i\detokenize
+ \expandafter\expandafter\expandafter{%
+ \expandafter\@tempa\detokenize{#2}}\@nil}}%
\newbibmacro*{addplus:authpos}{%
\iftoggle{cbx:short}
@@ -1037,17 +1085,26 @@
or test {\iffieldequalstr{\xeditor type}{comped}}
or test {\iffieldequalstr{\xeditor type}{comprev}}
or test {\iffieldequalstr{\xeditor type}{comptrans}}
+ or test {\iffieldequalstr{\xeditor type}{compup}}
or test {\iffieldequalstr{\xeditor type}{editor}}
or test {\iffieldequalstr{\xeditor type}{edcomp}}
or test {\iffieldequalstr{\xeditor type}{edrev}}
or test {\iffieldequalstr{\xeditor type}{edtrans}}
+ or test {\iffieldequalstr{\xeditor type}{edup}}
or test {\iffieldequalstr{\xeditor type}{reviser}}
or test {\iffieldequalstr{\xeditor type}{revcomp}}
or test {\iffieldequalstr{\xeditor type}{reved}}
or test {\iffieldequalstr{\xeditor type}{revtrans}}
+ or test {\iffieldequalstr{\xeditor type}{revup}}
or test {\iffieldequalstr{\xeditor type}{transcomp}}
or test {\iffieldequalstr{\xeditor type}{transed}}
or test {\iffieldequalstr{\xeditor type}{transrev}}
+ or test {\iffieldequalstr{\xeditor type}{transup}}
+ or test {\iffieldequalstr{\xeditor type}{updater}}
+ or test {\iffieldequalstr{\xeditor type}{upcomp}}
+ or test {\iffieldequalstr{\xeditor type}{uped}}
+ or test {\iffieldequalstr{\xeditor type}{uprev}}
+ or test {\iffieldequalstr{\xeditor type}{uptrans}}
or test {\iffieldequalstr{\xeditor type}{title}}
or test {\iffieldundef{\xeditor type}}}
{}
@@ -1158,17 +1215,23 @@
{\anona\pluga\printnames[\cbx@deflabel]{%
\cbx@namelist}\plugb\anonb}}%
-% A screen name precedes 'nameaddon'. See CMOS, 17th ed., 14.208.
+% A screen name precedes 'nameaddon' and can be omitted from short
+% citations. See CMOS, 17th ed., 14.209.
\newbibmacro*{handle}{%
- \iffieldundef{handle}
+ \ifboolexpr{ test {\iffieldundef{handle}}
+ or togl {cbx:short}}
{}
{\space
\printfield[parens]{handle}%
\clearfield{handle}}}
+% In short citations, omit addons. See CMOS, 17th ed., 14.80 and
+% 14.209.
+
\newbibmacro*{nameaddon}{%
- \iffieldundef{nameaddon}
+ \ifboolexpr{ test {\iffieldundef{nameaddon}}
+ or togl {cbx:short}}
{}
{\space
\printfield[brackets]{nameaddon}%
@@ -1281,7 +1344,7 @@
{\printfield[title]{shortbooktitle}\isdot}}%
{\printfield[\thefield{entrytype}]{labeltitle}\isdot}}}
-\newbibmacro*{booktitle}{%
+\renewbibmacro*{booktitle}{%
\iffieldundef{booktitle}
{}
{\renewcommand*{\xtitle}{book}%
@@ -1297,7 +1360,7 @@
\renewcommand*{\xtitle}{bookbook}%
\usebibmacro{longtitle+titleaddon}}}
-\newbibmacro*{maintitle}{%
+\renewbibmacro*{maintitle}{%
\iffieldundef{maintitle}
{}
{\renewcommand*{\xtitle}{main}%
@@ -1760,6 +1823,7 @@
\newbibmacro*{doi+finentry+etc}{%
\usebibmacro{doi+url+etc}%
\usebibmacro{isbn}%
+ \usebibmacro{issn}%
\usebibmacro{library}%
\usebibmacro{pageref+finentry}}%
@@ -1982,6 +2046,16 @@
{}}
{}}}
+\newbibmacro*{issn}{%
+ \iffieldundef{issn}
+ {}
+ {\iftoggle{bibliography}
+ {\iftoggle{issn}
+ {\newunit
+ \printfield{issn}}%
+ {}}
+ {}}}
+
\newbibmacro*{library}{%
\iffieldundef{library}
{}