diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/windycity/windycity.bbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/windycity/windycity.bbx | 208 |
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} {} |