From 9fa5900b00d781aa12ad98b7c5203796ae2b1dc8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 9 Jun 2021 20:29:05 +0000 Subject: biblatex-mla (9jun21) git-svn-id: svn://tug.org/texlive/trunk@59529 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/biblatex-mla/american-mla.lbx | 16 +- .../tex/latex/biblatex-mla/english-mla.lbx | 54 +- .../tex/latex/biblatex-mla/italian-mla.lbx | 52 +- .../tex/latex/biblatex-mla/mla-footnotes.cbx | 434 +++++++ .../texmf-dist/tex/latex/biblatex-mla/mla-new.bbx | 1292 +------------------ .../texmf-dist/tex/latex/biblatex-mla/mla-new.cbx | 834 +----------- .../tex/latex/biblatex-mla/mla-strict.bbx | 1337 ++++++++++++++++++++ .../tex/latex/biblatex-mla/mla-strict.cbx | 5 + Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx | 1322 ++----------------- Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx | 667 +++------- Master/texmf-dist/tex/latex/biblatex-mla/mla.dbx | 56 + Master/texmf-dist/tex/latex/biblatex-mla/mla7.bbx | 1224 ++++++++++++++++++ Master/texmf-dist/tex/latex/biblatex-mla/mla7.cbx | 5 + .../tex/latex/biblatex-mla/portuguese-mla.lbx | 51 +- .../tex/latex/biblatex-mla/spanish-mla.lbx | 51 +- 15 files changed, 3462 insertions(+), 3938 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/biblatex-mla/mla-footnotes.cbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.cbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-mla/mla.dbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-mla/mla7.bbx create mode 100644 Master/texmf-dist/tex/latex/biblatex-mla/mla7.cbx (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/american-mla.lbx b/Master/texmf-dist/tex/latex/biblatex-mla/american-mla.lbx index 3c5d93cc149..ca79f29c734 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/american-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/american-mla.lbx @@ -1,14 +1,12 @@ -% american-mla.lbx v0.2.5 2013/03/24 - -\ProvidesFile{american-mla.lbx}[2013/03/24 v0.2.5 biblatex style localization] - +% american-mla.lbx v2.0 2021/06/07 +\ProvidesFile{american-mla.lbx}[2021/06/07 v2.0 biblatex style localization] \InheritBibliographyExtras{american} \DeclareBibliographyExtras{% \protected\def\mkbibdatelong#1#2#3{% \iffieldundef{#3} {} - {\mkdatezeros{\thefield{#3}}% + {\mkdayzeros{\thefield{#3}}% \iffieldundef{#2}{}{\nobreakspace}}% \iffieldundef{#2} {} @@ -18,17 +16,17 @@ \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} - {\mkdatezeros{\thefield{#3}}% + {\mkdayzeros{\thefield{#3}}% \iffieldundef{#2}{}{/}}% \iffieldundef{#2} {} - {\mkdatezeros{\thefield{#2}}% + {\mkmonthzeros{\thefield{#2}}% \iffieldundef{#1}{}{/}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% } \DeclareBibliographyStrings{% inherit = {english}, }% -\endinput \ No newline at end of file +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/english-mla.lbx b/Master/texmf-dist/tex/latex/biblatex-mla/english-mla.lbx index 1e98c7d73cb..9246682fc5d 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/english-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/english-mla.lbx @@ -1,6 +1,6 @@ -% english-mla.lbx v0.4.5 2013/03/24 +% english-mla.lbx v2.0 2021/05/12 -\ProvidesFile{english-mla.lbx}[2013/03/24 v0.4.5 biblatex style localization] +\ProvidesFile{english-mla.lbx}[2021/05/12 v2.0 biblatex style localization] \InheritBibliographyExtras{english} \DeclareBibliographyExtras{% @@ -13,17 +13,17 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} - {\mkdatezeros{\thefield{#3}}% + {\mkdayzeros{\thefield{#3}}% \iffieldundef{#2}{}{/}}% \iffieldundef{#2} {} - {\mkdatezeros{\thefield{#2}}% + {\mkmonthzeros{\thefield{#2}}% \iffieldundef{#1}{}{/}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% } \DeclareBibliographyStrings{% @@ -31,21 +31,21 @@ bibliography = {{Works Cited}{Works Cited}}, references = {{Works Cited}{Works Cited}}, compilerandeditor = {{compiler and editor}{comp\adddotspace and ed\adddot}},% 0.95 - bycompilerandeditor = {{compiled and edited by}{comp\adddotspace and ed\adddot}},% 0.95 + bycompilerandeditor = {{compiled and edited by}{compiled and edited by}},% 0.95 % typecompilerandeditor = {{compiler and editor}{comp\adddotspace and ed\adddot}},% 0.7 % bytypecompilerandeditor = {{compiled and edited by}{comp\adddotspace and ed\adddot}},% 0.7 % typegeneraleditor = {{general editor}{gen\adddotspace ed\adddot}},% 0.7.1 % bytypegeneraleditor = {{general editor}{gen\adddotspace ed\adddot}},% 0.7.1 - generaleditor = {{general editor}{gen\adddotspace ed\adddot}}, + generaleditor = {{gen\adddot ed\adddot}{general editor}}, bytranslator = {{translated by}{translated by}}, byeditor = {{edited by}{edited by}}, % byserieseditor = {{general editor}{general editor}},% not used? % page = {{\unskip}{\unskip}}, % pages = {{\unskip}{\unskip}}, - byeditortr = {{ed\adddotspace and trans\adddot}{ed\adddotspace and trans\adddot}}, + byeditortr = {{ed\adddotspace and trans\adddot}{edited and translated}}, byeditorco = {{ed\adddotspace and comm\adddot}{ed\adddotspace and comm\adddot}}, byeditoran = {{ed\adddotspace and annot\adddot}{ed\adddotspace and annot\adddot}}, - byeditorin = {{ed\adddotspace and introd\adddot}{ed\adddotspace and introd\adddot}}, + byeditorin = {{ed\adddotspace and introd\adddot}{edited and introduced by}}, byeditorfo = {{ed\adddotspace and forew\adddot}{ed\adddotspace and forew\adddot}}, byeditoraf = {{ed\adddotspace and afterw\adddot}{ed\adddotspace and afterw\adddot}}, byeditortrco = {{ed, trans\adddot, and comm\adddot}{ed, trans\adddot, and comm\adddot}}, @@ -76,10 +76,11 @@ bytranslatoranin = {{trans\adddot, annot\adddot, and introd\adddot}{trans\adddot, annot\adddot, and introd\adddot}}, bytranslatoranfo = {{trans\adddot, annot\adddot, and forew\adddot}{trans\adddot, annot\adddot, and forew\adddot}}, bytranslatoranaf = {{trans\adddot, annot\adddot, and afterw\adddot}{trans\adddot, annot\adddot, and afterw\adddot}}, + circa = {{ca\adddot}{circa}}, newseries = {{ns}{ns}}, oldseries = {{os}{os}}, reprintof = {{reprint of}{rpt\adddotspace of}},% 0.7.1 fixed - phdthesis = {{Diss\adddot}{Diss\adddot}}, + phdthesis = {{PhD dissertation}{PhD dissertation}}, reviewof = {{rev\adddotspace of}{rev\adddotspace of}}, specissue = {{spec\adddot\addspace issue of}{spec\adddot\addspace issue of}}, section = {{sec\adddot}{sec\adddot}}, @@ -88,16 +89,27 @@ withintroduction = {{introd\adddot}{introd\adddot}}, withforeword = {{forew\adddot}{forew\adddot}}, withafterword = {{afterw\adddot}{afterw\adddot}}, - phd = {{Diss\adddot}{Diss\adddot}}, - dphil = {{Diss\adddot}{Diss\adddot}}, + phd = {{PhD dissertation}{PhD dissertation}}, + dphil = {{DPhil dissertation}{DPhil dissertation}}, lic = {{Licentiate thesis}{Licentiate thesis}}, - ma = {{{MA}\adddotspace thesis}{{MA}\adddotspace thesis}}, - ms = {{{MS}\adddotspace thesis}{{MS}\adddotspace thesis}}, - msc = {{{MS}c\adddotspace thesis}{{MS}c\adddotspace thesis}}, - mphil = {{{MP}hil\adddotspace thesis}{{MP}hil\adddotspace thesis}}, - mlitt = {{{ML}itt\adddotspace thesis}{{ML}itt\adddotspace thesis}}, - manuscript = {{ms\adddot}{ms\adddot}}, - typescript = {{ts\adddot}{ts\adddot}}, + ma = {{{MA} thesis}{{MA} thesis}}, + ms = {{{MS} thesis}{{MS} thesis}}, + msc = {{{MS}c thesis}{{MS}c thesis}}, + mphil = {{{MP}hil thesis}{{MP}hil thesis}}, + mlitt = {{{ML}itt thesis}{{ML}itt thesis}}, + manuscript = {{manuscript}{manuscript}}, + patentde = {{Deutsches Patent- und Markenamt}{DE}}, + patenteu = {{European Patent Office}{EU}}, + patentfr = {{Institut National de la Propriété Industrielle}{FR}}, + patentuk = {{The Intellectual Property Office of the United Kingdom}{UK}}, + patentus = {{United States Patent and Trademark Office}{US}}, + % patreq = {{patent request}{pat\adddot\ req\adddot}}, + % patreqde = {{German patent request}{German pat\adddot\ req\adddot}}, + % patreqeu = {{European patent request}{European pat\adddot\ req\adddot}}, + patreqfr = {{Institut National de la Propriété Industrielle}{FR pat\adddot req\adddot}}, + % patrequk = {{British patent request}{British pat\adddot\ req\adddot}}, + % patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}}, + typescript = {{typescript}{typescript}}, director = {{dir\adddot}{dir\adddot}}, screenplay = {{adapt\adddot}{adapt\adddot}}, adaptation = {{adapt\adddot}{adapt\adddot}}, @@ -139,4 +151,4 @@ % % regex for find and replace (moving from mla.bbx to localized modules) % find: {(.*?)}, -% replace: {{$1}{$1}}, \ No newline at end of file +% replace: {{$1}{$1}}, diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/italian-mla.lbx b/Master/texmf-dist/tex/latex/biblatex-mla/italian-mla.lbx index 46a0dae5048..20aee0c0ece 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/italian-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/italian-mla.lbx @@ -1,9 +1,10 @@ -% italian-mla.lbx v0.1.5 2013/03/24 +% italian-mla.lbx v0.1.6 2021/06/08 % % Italian localization in this file provided by Andrea Marchitelli. % Abbreviations taken, whenever possible, from Italian Cataloguing Rules +% Updated inexpertly by a non-native speaker many years later. -\ProvidesFile{italian-mla.lbx}[2013/03/24 v0.1.5 biblatex style localization] +\ProvidesFile{italian-mla.lbx}[2021/06/08 v0.1.6 biblatex style localization] \InheritBibliographyExtras{italian} @@ -17,17 +18,17 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} - {\mkdatezeros{\thefield{#3}}% + {\mkdayzeros{\thefield{#3}}% \iffieldundef{#2}{}{/}}% \iffieldundef{#2} {} - {\mkdatezeros{\thefield{#2}}% + {\mkmonthzeros{\thefield{#2}}% \iffieldundef{#1}{}{/}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% } \DeclareBibliographyStrings{% @@ -90,24 +91,43 @@ msc = {{MSc\addabbrvspace tesis}{MSc\addabbrvspace tesis}},% 0.6 mphil = {{MPhil\addabbrvspace tesis}{MPhil\addabbrvspace tesis}},% 0.6 mlitt = {{MLitt\addabbrvspace tesis}{MLitt\addabbrvspace tesis}},% 0.6 - manuscript = {{manoscritto}{ms\adddot}}, - typescript = {{dattiloscritto}{datt\adddot}}, - director = {{regista}{reg\adddot}}, - screenplay = {{sceneggiatura\adddot}{scen\adddot}}, + manuscript = {{manoscritto}{manoscritto}}, + typescript = {{dattiloscritto}{dattiloscritto}}, + director = {{regista}{regista}}, + screenplay = {{sceneggiatura}{scen\adddot}}, adaptation = {{adattamento}{adatt\adddot}}, - adaptor = {{adatt\adddot}{adapt\adddot}},% + adaptor = {{adatt\adddot}{adatt\adddot}},% % performer = {{perf\adddot}{perf\adddot}},% % performers = {{perf\adddot}{perf\adddot}},% % composer = {{compositore}{compositore}}, % composedby = {{composto~da}{composto~da}},% % producer = {{produttore}{produttore}}, with = {{con}{con}}, - proceedings = {{atti}{atti}},% FIXME + proceedings = {{atti}{atti}}, bycompiler = {{compilato da}{comp\addotspace da}}, print = {{a stampa}{a stampa}},% 0.9 - web = {{online}{online}},% 0.9 - transof = {{traduzione di}{trad\adddotspace di}},% 0.7 - reprintof = {{ristampa di}{rpt\adddotspace of}},% 0.7.1 fixed + web = {{web}{web}},% 2.0 changed + transof = {{traduzione di}{traduzione di}, + reprintof = {{ristampa di}{rpt\adddotspace of}}, + % FIXME 2.0 check the following for quality of Italian translation + patentde = {{Deutsches Patent- und Markenamt}{DE}},% localised in German + patenteu = {{Ufficio europeo dei brevetti}{EU}}, + patentfr = {{Institut National de la Propriété Industrielle}{FR}},% localised in French + patentuk = {{The Intellectual Property Office of the United Kingdom}{UK}},% localised in English + patentus = {{United States Patent and Trademark Office}{US}},% localised in English + % patreq = {{patent request}{pat\adddot\ req\adddot}}, + % patreqde = {{German patent request}{German pat\adddot\ req\adddot}}, + % patreqeu = {{European patent request}{European pat\adddot\ req\adddot}}, + patreqfr = {{Institut National de la Propriété Industrielle}{FR pat\adddot req\adddot}}, + % patrequk = {{British patent request}{British pat\adddot\ req\adddot}}, + % patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}}, + performer = {{artista}{artista}, + performers = {{art\adddot}{art\adddot}, + composer = {{comp\adddot}{comp\adddot}}, + composedby = {{composto~da}{composto~da}}, + producer = {{prod\adddot}{prod\adddot}}, + volstodate = {{volumi fino ad oggi}{volumi fino ad oggi}}, + supptotitle = {{a}{a}}, } -\endinput \ No newline at end of file +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla-footnotes.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla-footnotes.cbx new file mode 100644 index 00000000000..ff89a9212f7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-footnotes.cbx @@ -0,0 +1,434 @@ +% This cbx file does not supply a stand-alone type. Rather, these functions are separated in order to simplify maintenance of the main mla-strict.cbx file, since the MLA Handbook no longer advises on ways to style full bibliographic information in the footnote. To use MLA-style footnotes, please set your style to "mla" or "mla-strict" and add the option "autocite=footnote". +\ProvidesFile{mla-footnotes.cbx}[2021/05/12 v2.0 biblatex citation style] + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%% Format Declarations %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\@ifpackagelater{biblatex}{2016/03/01}{% + \DeclareNameFormat{cite:foot:editor}{% + \nameparts{#1}% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}% + \usebibmacro{name:andothers}}% + \DeclareNameFormat{cite:foot:translator}{% + \nameparts{#1}% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}% + \usebibmacro{name:andothers}}% +}{% + \DeclareNameFormat{cite:foot:editor}{% + \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% + \usebibmacro{name:andothers}}% + \DeclareNameFormat{cite:foot:translator}{% + \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% + \usebibmacro{name:andothers}}% +}% +\DeclareFieldFormat{foot:cite:edition:format}{% + \ifinteger{#1}% + {\mkbibordinal{#1}~\bibstring{edition}}% + {\printtext[mla:lowercase]{#1}}} +\DeclareFieldFormat{supptotitle}% + {\bibstring{supptotitle}\addspace\mkbibemph{#1}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%% Footnote Definitions %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newbibmacro*{cite:mla:foot}{% + \ifciteseen% + {\usebibmacro{cite:mla:seen}}% + {\ifbool{cbx@nofullfootnote}% + {\usebibmacro{cite:mla:seen}}% + {\usedriver{}{footcite:\strfield{entrytype}}}% + }} + +\newbibmacro*{cite:foot:name}{% + \global\boolfalse{cbx@named}% + \usebibmacro{cite:foot:author/editor}% + \savefield{namehash}{\cbx@lasthash}}% + +\newbibmacro*{cite:foot:author:review}{% + \global\boolfalse{cbx@named}% + \ifnameundef{author}% + {}% + {\usebibmacro{cite:foot:author}% + \savefield{namehash}{\cbx@lasthash}% + \global\booltrue{cbx@named}% + }}% + +\newbibmacro*{cite:foot:author/editor}% +{\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}% + {\usebibmacro{cite:foot:author}}% + {\usebibmacro{cite:foot:editor}}}% + +\newbibmacro*{cite:foot:author}{% + \ifbool{bbx@totalnames}% + {\printnames[byauthor][-\value{listtotal}]{author}}% + {\printnames[byauthor]{author}}% + \clearname{author}\global\booltrue{cbx@named}% + \printfield{nameaddon}} + +\newbibmacro*{cite:foot:editor}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifbool{bbx@totalnames}% + {\printnames[byeditor][[-\value{listtotal}]]{editor}}% + {\printnames[byeditor]{editor}}% + \setunit*{\addcomma\space}% + \usebibmacro{editorstrg}% + \clearname{editor}\global\booltrue{cbx@named}}% + {\ifusetranslator% + {\printnames[byeditor]{translator}% + \setunit*{\addcomma\space}% + \usebibmacro{translatorstrg}% + \clearname{translator}\global\booltrue{cbx@named}}% + {}% + }}% + +\newbibmacro*{cite:foot:byauthor:incollection}{% + \ifthenelse{\ifuseauthor\OR% + \ifnameundef{author}\OR% + \ifnamesequal{author}{bookauthor}}% + {}% + {\biblcstring{byauthor}\addspace% + \printnames[byauthor]{author}}} + +\newbibmacro*{cite:foot:byauthor}{% + \ifthenelse{\ifuseauthor\OR% + \ifnameundef{author}}% + {}% + {\bibstring{byauthor}\addspace\printnames[byauthor]{author}}} + +\newbibmacro*{cite:foot:bybookauthor}{% + \ifthenelse{\ifnameundef{bookauthor}\OR% + \(\ifnamesequal{author}{bookauthor}\AND\ifuseauthor\)\OR% + \iffieldequalstr{entrytype}{inbook}}% + {}% + {\bibstring{byauthor}\addspace\printnames[byauthor]{bookauthor}}} + +\DeclareBibliographyDriver{footcite:booklet}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:mvbook}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:collection}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:reference}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:book}{% + \usebibmacro{cite:foot:name}% + \ifbool{cbx@named}% 0.7.1 + {\setunit{\newunitpunct}}% + {\setunit{}}% + \usebibmacro{cite:foot:title}% + \newunit% + \usebibmacro{cite:foot:byauthor}% + \newunit% + \usebibmacro{cite:foot:byeditor}% + \newunit% + \usebibmacro{cite:foot:bytranslator}% + \newunit% + \printfield{edition}% + \newunit% + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit% + \printfield{volumes}% + \newunit% + \usebibmacro{series+number}% + \setunit{\addspace}% + \usebibmacro{cite:foot:publisher+location+year}} + +\newbibmacro*{cite:foot:publisher+location+year}{% + \printtext[parens]{% + \printfield[noformat]{origyear}% + \setunit*{\addsemicolon\addspace}% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addspace}}% + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \newunit% + \printfield{year}}} + +\DeclareBibliographyDriver{footcite:article}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{cite:foot:title}% + \newunit% + \usebibmacro{cite:foot:byauthor:incollection}% + \newunit% + \usebibmacro{cite:foot:bytranslator}% + \newunit% + \usebibmacro{journal+issuetitle}% + \newunit% + \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% + \setunit{\addcolon\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}}% + +\newbibmacro*{cite:foot:url+urldate}{% + \printtext{\biburldatelong}% + \setunit{\addspace}% + \printfield{url}} + +\DeclareBibliographyDriver{footcite:inreference}{% + \usedriver{}{footcite:incollection}} + +\DeclareBibliographyDriver{footcite:inbook}{% + \usedriver{}{footcite:incollection}} + +\DeclareBibliographyDriver{footcite:incollection}{% + \usebibmacro{cite:foot:name}% + \ifbool{cbx@named}% 0.7.1 + {\setunit{\newunitpunct}}% + {\setunit{}}% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}}% + {\usebibmacro{cite:foot:title:incollection:italics}}% + {\usebibmacro{cite:foot:title}}% + \newunit% + \printfield[mla:lowercase]{titleaddon}% + \newunit% + \usebibmacro{cite:foot:byauthor:incollection}% + \newunit% + \ifbool{bbx@uniquetranslator}% + {\usebibmacro{cite:foot:bytranslator}\clearname{translator}}% + {}% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}}% + {\setunit{\addcomma\addspace\bibstring{in}\addspace}}% + {\newunit}% + \printtext[citetitle:book]{% + \printfield[noformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{booksubtitle}% + }% + \usebibmacro{cite:foot:bybookauthor}% + \newunit% + \usebibmacro{cite:foot:byeditor}% + \newunit% + \iffieldsequal{year}{edition}% + {\printfield{year}~\bibstring{edition}\clearfield{year}}% + {\printfield[foot:cite:edition:format]{edition}\isdot}% + \newunit% + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit% + \printfield{volumes}% + \newunit% + \usebibmacro{series+number}% + \setunit{\addspace}% + \iffieldundef{year}% + {}% + {\usebibmacro{cite:foot:publisher+location+year}}% + \setunit{\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}% + }% + +\DeclareBibliographyDriver{footcite:phdthesis}{% + \usedriver{}{footcite:thesis}} + +\DeclareBibliographyDriver{footcite:thesis}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{title}% + \newunit% + \ifbibstring{\thefield{type}}% + {\printtext[default]{\bibstring{\thefield{type}}}}% + {\printtext[default]{\printfield{type}}}% + \newunit% + \printlist{institution}% + \newunit% + \iffieldequalstr{entrysubtype}{published}% + {\printfield{origyear}\clearfield{origyear}}% + {\printfield{year}}% + \newunit% + \iffieldequalstr{entrysubtype}{published}% + {\usebibmacro{series+number}% + \setunit{\addspace}% + \usebibmacro{cite:foot:publisher+location+year}}% + {}} + +\DeclareBibliographyDriver{footcite:review}{% + \usebibmacro{cite:foot:author:review}% + \ifbool{cbx@named}% + {\setunit{\newunitpunct}}% + {\setunit{}}% + \usebibmacro{cite:foot:title}% + \setunit*{\newunitpunct}% + \printtext[bibhyperref]% + {\bibstring{reviewof}\addspace\printfield{booktitle}}% + \newunit% + \ifnameundef{bookauthor}% + {\printtext[reviewededitor]{\printnames[default]{editor}}}% + {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% + \newunit% + \usebibmacro{journal+issuetitle}% + \newunit% + \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% + \setunit{\addcolon\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}}% + +\DeclareBibliographyDriver{footcite:video}{% + \setbool{cbx@named}{false}% + \ifnamesequal{labelname}{author}% + {\usebibmacro{mla:video:name:first:footnote}{author}% + \setbool{cbx@named}{true}}% + {}% + \ifnamesequal{labelname}{editor}% + {\usebibmacro{mla:video:name:first:footnote}{editor}% + \setbool{cbx@named}{true}}% + {}% + \ifbool{cbx@named}% + {\setunit{\newunitpunct}}% + {\setunit{}}% + \printtext[bibhyperref]{\printfield{title}}% + \newunit% + \ifnameundef{bookauthor}% + {}% + {\printtext[reviewedauthor]{\printnames[byeditor]{bookauthor}}}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{author}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{editor}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{namea}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{nameb}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{namec}% + \newunit% + \printfield{origyear}% + \newunit% + \printfield{howpublished}% + \newunit% + \printlist{publisher}% + \newunit% + \printfield{year}% + \addperiod} + +\DeclareBibliographyDriver{footcite:suppcollection}{% + \usedriver{}{footcite:suppbook}} + +\DeclareBibliographyDriver{footcite:suppbook}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{cite:foot:title}% + \newunit% + \printfield{entrysubtype}% + \newunit% + \usebibmacro{booktitle}% + \setunit{\newunitpunct\bibstring{bytypeauthor}\addspace}% + \ifnamesequal{labelname}{bookauthor}% + {\printnames[mla:last]{bookauthor}}% + {\printnames[byauthor]{bookauthor}}% + \newunit% + \usebibmacro{byeditor+others}% + \newunit% + \printfield{edition}% + \newunit% + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit% + \printfield{volumes}% + \newunit% + \usebibmacro{series+number}% + \setunit{\addspace}% + \usebibmacro{cite:foot:publisher+location+year}% + \setunit{\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}} + +\DeclareBibliographyDriver{footcite:unpublished}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{mla:title:unpublished}% + \newunit% + \newunit% + \printfield{note}% + \newunit% + \usebibmacro{mla:all:type:foot}% + \setunit*{\isdot\addspace}% + \printfield{number}% + \newunit% + \printfield{library}% + \setunit{\addcomma\addspace}% + \printlist{location}% + \newunit% + \printfield{addendum}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{footcite:periodical}{% + \usebibmacro{cite:foot:editor}% + \setunit{\labelnamepunct}\newblock% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock + \printfield{note}% + \setunit{\addcolon\addspace}\newblock + \iffieldundef{postnote}% + {\printfield{pages}}% + {}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \usebibmacro{finentry}} + +\newbibmacro*{cite:foot:title}{% + \iffieldundef{title}% + {}% + {\printtext[bibhyperref]{% + \printtext[citetitle:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + }}% + +\newbibmacro*{cite:foot:title:incollection:italics}{% + \printtext[bibhyperref]{% + \printtext[title:book]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + }}% + +\newbibmacro*{cite:foot:bytranslator}{% + \ifnameundef{translator}% + {}% + {\printtext[default]{\bibstring{bytranslator}\addspace% + \printnames[cite:foot:translator]{translator}}}} + +\newbibmacro*{cite:foot:byeditor}{% + \ifthenelse{\ifnameundef{editor}\OR% + \( \iffieldequalstr{entrytype}{collection}\AND% + \ifnameundef{author} \)}% + {}% + {\usebibmacro{byeditor+others}}} + +\newbibmacro*{mla:foot:postnote}{% + \iffieldundef{postnote}% + {\unspace}% + {\unspace\addspace\printfield[footpostnote]{postnote}}% + \usebibmacro{cite:reset}} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx index ee436e14d22..fa518c9e519 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx @@ -1,1292 +1,6 @@ -% mla.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 -% Maintained at by James Clawson. -% -% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements in formatting and MLA standards compliance back to James Clawson: . -% -% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. - -\ProvidesFile{mla-new.bbx}[2016/11/01 v1.9 biblatex bibliography style] - -\RequireBibliographyStyle{standard} -\DeclareLanguageMapping{american}{american-mla} -\DeclareLanguageMapping{english}{english-mla} - -\NewBibliographyString{byserieseditor} -\NewBibliographyString{reviewof} -\NewBibliographyString{specissue} -\NewBibliographyString{phd} -\NewBibliographyString{dphil} -\NewBibliographyString{lic} -\NewBibliographyString{ma} -\NewBibliographyString{ms} -\NewBibliographyString{msc} -\NewBibliographyString{mphil} -\NewBibliographyString{mlitt} -\NewBibliographyString{manuscript} -\NewBibliographyString{typescript} -\NewBibliographyString{director} -\NewBibliographyString{screenplay} -\NewBibliographyString{adaptation} -\NewBibliographyString{adaptor} -\NewBibliographyString{performer} -\NewBibliographyString{performers} -\NewBibliographyString{composer} -\NewBibliographyString{composedby} -\NewBibliographyString{producer} -\NewBibliographyString{with} -\NewBibliographyString{proceedings} -\NewBibliographyString{compilerandeditor}% -\NewBibliographyString{bycompilerandeditor}% -\NewBibliographyString{transof}% -\NewBibliographyString{volstodate}% -\NewBibliographyString{supptotitle}% -\NewBibliographyString{print}% -\NewBibliographyString{web}% -\NewBibliographyString{generaleditor}% - -\setlength{\bibitemsep}{0pt} -\renewcommand*{\mkbibnamesuffix}[1]{\addcomma\addlowpenspace#1} - -\DeclareNameAlias{author}{sortname} -\@ifpackagelater{biblatex}{2016/03/01}{% - \DeclareNameFormat{mla:last}{\nameparts{#1}\namepartfamily}% - \DeclareNameFormat{default}{% - \nameparts{#1}% - \ifgiveninits{% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}% - }{% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% - }% - \usebibmacro{name:andothers}% - }% -}{% - \DeclareNameFormat{mla:last}{#1}% - \DeclareNameFormat{default}{% - \iffirstinits{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - }{% - \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% - }% - \usebibmacro{name:andothers}% - }% -} - -\defbibenvironment{bibliography} - {\list - {} - {\setlength{\leftmargin}{\bibhang}% - \setlength{\itemindent}{-\leftmargin}% - \setlength{\itemsep}{\bibitemsep}% - \setlength{\parsep}{\bibparsep}}} - {\endlist} - {\item} - -\DeclareFieldFormat{title:article}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:online}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inreference}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:book}{\mkbibemph{#1}} -\DeclareFieldFormat{title:booklet}{\mkbibemph{#1}} -\DeclareFieldFormat{title:collection}{\mkbibemph{#1}} -\DeclareFieldFormat{title:incollection}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}% -\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}% -\DeclareFieldFormat{isbn}{} -\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}} -\DeclareFieldFormat[review]{volume}{#1}% -\DeclareFieldFormat[article]{volume}{#1}% -\DeclareListFormat[article]{location}% - {\unspace\mkbibbrackets{#1}\addspace}% -\DeclareFieldFormat[article]{version}{#1\isdot}% -\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}% -\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% -\DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}% -\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}% -\DeclareFieldFormat{url}{% - \ifhyperref% - {\href{http://#1}{\nolinkurl{#1}}}% - {\url{#1}}}% -\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% -\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}% -\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} -\DeclareFieldFormat{mla:newspaper:section}{\bibstring{section}\addspace#1}% -\DeclareFieldFormat{library}{#1\isdot}% -\DeclareFieldFormat{reviewededitor}{\bibstring{byeditor}\addspace#1}% -\DeclareFieldFormat{reviewedauthor}{\bibstring{byauthor}\addspace#1}% -\DeclareFieldFormat{title:suppbook}{\mkbibquote{#1}} -\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}% -\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}% -\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}% -\DeclareFieldFormat{eprinttype}{\mkbibemph{#1}} -\DeclareFieldFormat{eprint:jstor}{% - \iffieldundef{url}{% - \mkbibemph{JSTOR}\addcomma\space \printtext[url]{www.jstor.org/stable/#1}}{% - \mkbibemph{JSTOR}}} -\DeclareFieldFormat{eprint:hulu}{% - \iffieldundef{url}{% - \mkbibemph{Hulu}\addcomma\space \printtext[url]{www.hulu.com/watch/#1}}{% - \mkbibemph{Hulu}}} -\DeclareFieldFormat{eprint:googlebooks}{% - \iffieldundef{url}{% - \mkbibemph{Google Books}\addcomma\space \printtext[url]{books.google.com/books?id=#1}}{% - \mkbibemph{Google Books}}} -\DeclareFieldFormat{eprint:muse}{% - \iffieldundef{url}{% - \mkbibemph{Project Muse}\addcomma\space \printtext[url]{muse.jhu.edu/article/#1}}{% - \mkbibemph{Project Muse}}} -\DeclareFieldFormat{eprint}{\emph{#1}}% - -\DeclareFieldFormat{urldate}{#1}% -\DeclareFieldFormat[article,periodical,review]{volume}{\bibstring{volume}\ppspace#1}% volume of a journal -\DeclareFieldFormat[article,periodical,review]{number}{\bibstring{number}\ppspace#1}% number of a journal - -\DeclareBibliographyAlias{artwork}{article}% -\DeclareBibliographyAlias{audio}{article}% -\DeclareBibliographyAlias{booklet}{book} -\DeclareBibliographyAlias{bookinbook}{incollection}% -\DeclareBibliographyAlias{collection}{book} -\DeclareBibliographyAlias{reference}{book} -\DeclareBibliographyAlias{image}{article}% -\DeclareBibliographyAlias{inbook}{incollection}% -\DeclareBibliographyAlias{letter}{article}% -\DeclareBibliographyAlias{manual}{customa} -\DeclareBibliographyAlias{misc}{customa} -\DeclareBibliographyAlias{music}{audio}% -\DeclareBibliographyAlias{online}{article} -\DeclareBibliographyAlias{patent}{customa} -\DeclareBibliographyAlias{report}{customa} -\DeclareBibliographyAlias{suppcollection}{suppbook} - -\DeclareFieldAlias[online]{maintitle}{journaltitle} -\DeclareFieldAlias[book]{subtitle}{booksubtitle} -\DeclareFieldAlias[book]{title}{booktitle} - -\renewcommand*{\newunitpunct}{\addcomma\space} -\renewcommand*{\multilistdelim}{/} -\renewcommand*{\finallistdelim}{/} -\renewcommand*{\newblockpunct}{\addperiod\space} -\renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace} -\renewcommand*{\subtitlepunct}{\ifterm{}{\addcolon}\space} - -\newboolean{bbx@mla-incollection} -\newbool{bbx@inset} - -\DeclareBibliographyOption{dashed}[true]{% - \ifstrequal{#1}{true} - {\ExecuteBibliographyOptions{pagetracker}% - \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} - {\ExecuteBibliographyOptions{pagetracker=false}% - \renewbibmacro*{bbx:savehash}{}}} - -\newboolean{bbx@annotation}% same as biblatex-dw -\DeclareBibliographyOption{annotation}[true]{% -\setbool{bbx@annotation}{#1}} - -\newboolean{bbx@totalnames} -\DeclareEntryOption{totalnames}[true]{% - \setbool{bbx@totalnames}{#1}} - -% for translated incollections where the collection has no shared translator -\newboolean{bbx@uniquetranslator}% -\DeclareEntryOption{uniquetranslator}[true]{% - \setbool{bbx@uniquetranslator}{#1}} - -\newbool{bbx:gnoreminfo}% -\setbool{bbx:gnoreminfo}{false} -\DeclareBibliographyOption{noremoteinfo}[true]{\setbool{bbx:gnoreminfo}{#1}} - -\newbool{bbx:lnoreminfo}% -\setbool{bbx:lnoreminfo}{false} -\DeclareEntryOption{noremoteinfo}[true]{\setbool{bbx:lnoreminfo}{#1}} - -\newtoggle{bbx:isan} -\DeclareBibliographyOption{isan}[true]{\settoggle{bbx:isan}{#1}}% - -\newtoggle{bbx:ismn} -\DeclareBibliographyOption{ismn}[true]{\settoggle{bbx:ismn}{#1}}% - -\newtoggle{bbx:isrn} -\DeclareBibliographyOption{isrn}[true]{\settoggle{bbx:isrn}{#1}}% - -\newtoggle{bbx:issn} -\DeclareBibliographyOption[boolean]{issn}[true]{\settoggle{bbx:issn}{#1}}% - -\newboolean{mla@nodate}% -\DeclareEntryOption{nodate}[true]{\setbool{mla@nodate}{#1}} - -\ExecuteBibliographyOptions{maxnames=2,datezeros=false,eprint=true}% - -\newrobustcmd{\openrangeformat}[1]{% - \begingroup% - \let\blx@org@rangedash=\bibrangedash% - \def\bibrangedash{% - \blx@org@rangedash% - \futurelet\@let@token\blx@openrangeformat}% - #1% - \endgroup} - -\newcommand*{\blx@openrangeformat}{% - \ifx\@let@token\endgroup% - \openrangemark% - \fi} - -\newcommand*{\openrangemark}{\mbox{ }}% - -\newbibmacro*{bbx:savehash}{% - \savefield{fullhash}{\bbx@lasthash}} - -\renewcommand*{\bibnamedash}{% suggested by StackExchange user Audrey - \mlanamedash% - \iffieldundef{nameaddon}{\addperiod\addspace}{\nopunct}}% - -\newcommand*{\mlanamedash}{-{}-{}-} - -\renewbibmacro*{author}{% - \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\usebibmacro{bbx:dashcheck}% - {\bibnamedash}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{author}} - {\printnames{author}}% - \usebibmacro{bbx:savehash}}% - \iffieldundef{nameaddon}% - {}% - {\setunit{\addspace}% - \printfield{nameaddon}}% - \iffieldundef{authortype}% - {}% - {\newunit% - \usebibmacro{authorstrg}}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{editor}{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{editor}}% - {\printnames{editor}}% - \newunit% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{editorstrg}\clearname{editor}\setunit{\addperiod\space}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{editor+others}{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{editor}}% - {\printnames[sortname]{editor}}% - \newunit% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{editor+othersstrg}\clearname{editor}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{translator}{% - \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{translator}}% - {\printnames[sortname]{translator}}% - \newunit% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{translatorstrg}\clearname{translator}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{translator+others}{% - \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{translator}}% - {\printnames[sortname]{translator}}% - \newunit% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{translator+othersstrg}\clearname{translator}}% - {\global\undef\bbx@lasthash}} - -\newbibmacro*{journal+issue+year+pages}{% - \usebibmacro{journal+ser+vol+num}% - \setunit{\addspace}% - \printtext[parens]{% - \iffieldundef{issue}% - {\iffieldundef{month}% - {\printfield{year}}% - {\iffieldundef{day}% - {\printfield{month}% - \setunit{\addspace}% - \printfield{year}}% - {\printtext{\bibdate}}}}% - {\printfield{issue}% - \setunit{\addspace}% - \printfield{year}}}% - \newunit% - \printfield{pages}} - -\renewbibmacro*{url+urldate}{% - \printfield[mla:capital:web]{url}\clearfield{url}% - \printunit{\addperiod\space}\newblock% - \iffieldundef{urlyear}{}{\printtext{Accessed}\space\printurldate\clearfield{urlyear}}% - } - -\newbibmacro*{mla:container:top}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \ifthenelse{% - \iffieldequalstr{entrytype}{suppbook}% - \OR% - \iffieldequalstr{entrytype}{suppcollection}}% - {\ifthenelse{\iffieldundef{title}}{\printfield[mla:capital]{entrysubtype}}{\usebibmacro{title}}% - \printunit{\addperiod\space}\newblock% - \newunit}% - {\usebibmacro{maintitle+booktitle}}% - \printunit{\addperiod\space}\newblock% - } - -\newbibmacro*{mla:container:one}{% - \usebibmacro{mla:article:journal+issuetitle}% - \newunit\newblock - \printfield{note}% - \newunit% - \printfield{pages}% - \newunit% - \ifthenelse{\iffieldundef{eprinttype} \OR \(\iffieldundef{eprinttype} \AND \iffieldundef{eprint}\)} - {\usebibmacro{url+urldate}}% - {}% - \printunit{\addperiod\space}\newblock% - } - -\newbibmacro*{mla:container:two}{% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock - \usebibmacro{url+urldate}% - \newunit\newblock - \printfield{addendum}% - \printunit{\addperiod\space}\newblock% - \usebibmacro{pageref}% - } - -\DeclareBibliographyDriver{book}{% - \usebibmacro{mla:container:top}% - \printunit{\addperiod\space}\newblock% - \usebibmacro{bytranslator+others}% - \newunit% - \usebibmacro{byeditor+others}% - \newunit% - \printfield{edition}\isdot% - \newunit% - \iffieldundef{maintitle}{\printfield{volume}\printfield{part}}{}% - \newunit% - \iffieldundef{volume}{\printfield{volumes}\clearfield{volumes}}{}%% - \newunit% - \usebibmacro{series+number}% - \newunit% - \printfield{note}% - \newunit% - \printlist{publisher}% - \newunit% - \printdate% - \newunit% - \printfield{pages}% - \newunit% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit% - \iffieldundef{origtitle}% - {}% - {\usebibmacro{mla:reprint}}% - \newunit% - \iffieldundef{volumes}% - {}% - {\usebibmacro{mla:multivolumes}}% - \newunit% - \printfield[mla:sentence-case]{addendum}% - \newunit% - \usebibmacro{pageref}% - \newunit% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{article}{% - \usebibmacro{mla:container:top}% - \printunit{\addperiod\space}\newblock% - \usebibmacro{mla:container:one}% - \printunit{\addperiod\space}\newblock% - \usebibmacro{mla:container:two}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{periodical}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{mla:article:journal+issuetitle}% - \newunit\newblock% - \printfield{note}% - \newunit% - \printfield{pages}% - \newunit\newblock% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock% - \usebibmacro{url+urldate}% - \newunit\newblock% - \printfield{addendum}% - \newunit\newblock% - \usebibmacro{pageref}% - \newunit% - \usebibmacro{finentry}} - -\newbibmacro*{mla:reprint}{% - \iffieldundef{origtitle}% - {\newunit}% - {\iffieldundef{origlanguage} - {\setunit{\newunitpunct\bibstring{reprintof}\addspace}}% - {\setunit{\newunitpunct\bibstring{transof}\addspace}}% -}% - \printfield[title:\strfield{entrytype}]{origtitle}% - \newunit\newblock% - \printlist{origlocation}\clearlist{origlocation}% - \setunit*{\addcolon\addspace}% - \printlist{origpublisher}\clearlist{origpublisher}% - \newunit% - \ifbool{bbx@mla-incollection}% - {\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}% - {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% - {\printorigdate\clearfield{origyear}}% - {}% - }% -} - -\newbibmacro*{mla:multivolumes}{% - \iffieldundef{maintitle}% - {}% - {\printfield[volumeof]{volume}% - \setunit{\addspace}% - \usebibmacro{maintitle}}% - \usebibmacro{mla:generaleditor}% - \iffieldequalstr{eventendyear}{}% - {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}% - {\printfield{volumes}\clearfield{volumes}}% - \newunit\newblock% - \printeventdate\clearfield{eventyear}% -} - - -\renewbibmacro*{byeditorx}{% - \usebibmacro{byeditorx:internal}{a}% - \usebibmacro{byeditorx:internal}{b}% - \usebibmacro{byeditorx:internal}{c}% -} - -\newbibmacro*{byeditorx:internal}[1]{% - \ifnameundef{editor#1} - {} - {\iffieldequalstr{editor#1type}{generaleditor} - {} - {\usebibmacro{bytypestrg}{editor#1}{editor}% - \setunit{\addspace}% - \printnames[byeditor#1]{editor#1}% - \newunit}}% -} - -\newbibmacro*{mla:generaleditor}{% - \usebibmacro{mla:generaleditor:internal}{}% - \usebibmacro{mla:generaleditor:internal}{a}% - \usebibmacro{mla:generaleditor:internal}{b}% - \usebibmacro{mla:generaleditor:internal}{c}% -} - -\newbibmacro*{mla:generaleditor:internal}[1]{% - \iffieldequalstr{editor#1type}{generaleditor}% - {\printnames{editor#1}% - \newunit% - \bibstring{generaleditor}% - \newunit}% - {}% -} - -\newbibmacro*{mla:isbn/issn+doi+eprint}{% - \iftoggle{bbx:isan}{\printfield{isan}\clearfield{isan}}{}% - \newunit\newblock% - \iftoggle{bbx:isbn}{\printfield{isbn}\clearfield{isbn}}{}% - \newunit\newblock% - \iftoggle{bbx:ismn}{\printfield{ismn}\clearfield{ismn}}{}% - \newunit\newblock% - \iftoggle{bbx:isrn}{\printfield{isrn}\clearfield{isrn}}{}% - \newunit\newblock% - \iftoggle{bbx:issn}{\printfield{issn}\clearfield{issn}}{}% - \newunit\newblock% - \iftoggle{bbx:doi}{\printfield{doi}\clearfield{doi}}{}% - \newunit\newblock% - \iftoggle{bbx:eprint}{\usebibmacro{eprint+extra}}{}% - \newunit\newblock} - -\newbibmacro*{eprint+extra}{% - \iffieldundef{eprinttype} - {\printfield{eprint}} - {\iffieldundef{eprint} - {\printfield{eprinttype}} - {\printfield[eprint:\strfield{eprinttype}]{eprint}}}} - -\DeclareBibliographyDriver{suppbook}{% - \usebibmacro{mla:container:top}% - \newunit\newblock - \iffieldundef{crossref}% - {\iffieldundef{xref}% - {\usebibmacro{mla:incollection:internal}}% - {\bbx@crossref{\thefield{xref}}% - \setunit{\addspace}% - \printfield{pages}}}% - {\bbx@crossref{\thefield{crossref}}% - \setunit{\addspace}% - \printfield{pages}% - \newunit}% - \newunit% - \usebibmacro{finentry}} - -\DeclareCiteCommand{\bbx@crossref}% - {} - {\ifsingletitle% - {\printtext[bibhyperref]{\printnames{labelname}}% - \setunit{\space}}% - {\printnames{labelname}% - \newunit% - \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}} - \setunit{\space}}}% - {}% - {} - -\DeclareBibliographyDriver{incollection}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \ifthenelse{% - \iffieldequalstr{entrysubtype}{book}% - \OR% - \iffieldequalstr{entrysubtype}{play}% - \OR% - \iffieldequalstr{entrytype}{bookinbook}}% - {\usebibmacro{title:incollection:italics}}% - {\setbool{bbx@mla-incollection}{true}% - \usebibmacro{title}% - \setbool{bbx@mla-incollection}{false}}% - \newunit\newblock% - \ifbool{bbx@uniquetranslator}% - {\usebibmacro{bytranslator+others}\newunit}% - {}% - \newunit\newblock% - \iffieldundef{crossref}% - {\iffieldundef{xref}% - {\usebibmacro{mla:incollection:internal}}% - {\bbx@crossref{\thefield{xref}}% - \setunit{\addspace}% - \printfield{pages}}}% - {\bbx@crossref{\thefield{crossref}}% - \setunit{\addspace}% - \printfield{pages}% - \newunit}% - \newunit% - \usebibmacro{finentry}} - -\newbibmacro*{mla:incollection:internal}{% - \setbool{bbx@mla-incollection}{true}% - \usebibmacro{maintitle+booktitle}% - \ifthenelse{% - \iffieldequalstr{entrytype}{suppbook}% - \OR% - \iffieldequalstr{entrytype}{suppcollection}}% - {\setunit{\newunitpunct\bibstring{byauthor}\addspace}% - \ifnamesequal{labelname}{bookauthor}% - {\printnames[mla:last]{bookauthor}}% - {\printnames[byauthor]{bookauthor}}}% - {}% - \newunit\newblock% - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}\isdot% - \newunit - \iffieldundef{maintitle}% - {\printfield{volume}\printfield{part}}% - {}% - \newunit - \iffieldundef{volume}% - {\printfield{volumes}\clearfield{volumes}}% - {}%% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit% - \usebibmacro{chapter+pages}% - \newunit% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit% - \usebibmacro{url+urldate}% - \newunit% - \iffieldundef{volumes}% - {}% - {\usebibmacro{mla:multivolumes}}% - \newunit% - \printfield{addendum}% - \newunit% - \usebibmacro{pageref}% - \setbool{bbx@mla-incollection}{false}} - -\DeclareBibliographyDriver{inproceedings}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{title}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{mla:proceedings:booktitle}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \newunit% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{proceedings}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{mla:proceedings:booktitle}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \newunit% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{unpublished}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{title}% - \setunit{\addperiod\space}\newblock% - \printfield{note}% - \newunit\newblock - \usebibmacro{mla:all:type}% - \newunit\newblock - \printfield{number}% - \newunit\newblock - \printfield{library}% - \newunit% - \printlist{location}% - \newunit\newblock - \printfield{addendum}% - \newunit% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{thesis}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{title}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{mla:thesis:type}% - \newunit\newblock - \printlist{institution}% - \newunit% - \iffieldequalstr{entrysubtype}{published}% - {\printfield{origyear}\clearfield{origyear}}% - {\printfield{year}}% - \newunit\newblock - \iffieldequalstr{entrysubtype}{published}% - {\usebibmacro{series+number}% - \newunit% - \printlist{location}% - \setunit{\addcolon\addspace}% - \printlist{publisher}% - \newunit% - \printfield{year}}% - {}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \newunit% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{review}{% - \usebibmacro{bibindex}% - \usebibmacro{author}% - \setunit{\addperiod\space}\newblock% - \printfield[title:article]{title}% - \setunit{\addperiod\space}\newblock% - \printfield[title:reviewedbook]{booktitle}% - \newunit% - \ifnameundef{bookauthor}% - {\printtext[reviewededitor]{\printnames[default]{editor}}}% - {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{mla:container:one}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{mla:container:two}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{inreference}{% - \usebibmacro{bibindex}% - \usebibmacro{author}% - \setunit{\addperiod\space}\newblock% - \usebibmacro{title}% - \setunit{\addperiod\space}\newblock% - \iffieldundef{crossref}% - {\iffieldundef{xref}% - {\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \iffieldsequal{year}{edition}% - {\printfield{year}~\bibstring{edition}\clearfield{year}}% - {\printfield{edition}\isdot}% - \newunit - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \usebibmacro{series+number}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock - \usebibmacro{url+urldate}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}}% - {}}% - {\bbx@crossref{\thefield{crossref}}% - \nopunct\unspace\printfield{pages}}% - \newunit% - \usebibmacro{finentry}} - -\newbibmacro{mlabelnamepunct}{\setunit{\labelnamepunct}\newblock} - -\newbibmacro{mla:video:localized:last-first}[1]{% - \ifnameundef{#1}% - {}% - {\printnames{#1}\addcomma\addspace% - \ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\printfield[mla:lowercase]{#1type}}}}% -\newunit}% - -\newbibmacro{mla:video:name:first:footnote}[1]{% - \ifnameundef{#1}% - {}% - {\printnames[byeditor]{#1}\addcomma\addspace% - \ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\printfield[mla:lowercase]{#1type}}}}% - \clearname{#1}% -} - -\newbibmacro{mla:video:localized:first-last}[1]{% - \ifnameundef{#1}% - {}% - {\ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type} \and \not % - \iffieldequalstr{#1type}{composer}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\iffieldequalstr{#1type}{composer}% - {\bibstring{composedby}}% - {\printfield[mla:capital]{#1type}}}}% - \addspace\printnames[byeditor][-\value{listtotal}]{#1}}% -\newunit}% - -\newbibmacro{mla:video:name:second:footnote}[1]{% - \ifnameundef{#1}% - {}% - {\ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type} \and \not % - \iffieldequalstr{#1type}{composer}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\iffieldequalstr{#1type}{composer}% - {\bibstring{composedby}}% - {\printfield[mla:lowercase]{#1type}}}}% - \addspace\printnames[byeditor][-\value{listtotal}]{#1}% - }}% - -\DeclareBibliographyDriver{video}{% - \ifnamesequal{labelname}{author}% - {\usebibmacro{mla:video:localized:last-first}{author}}{}% - \ifnamesequal{labelname}{editor}% - {\usebibmacro{mla:video:localized:last-first}{editor}}{}% - \printfield{title}% - \setunit{\newunitpunct\bibstring{byauthor}\addspace}% - \printnames[byeditor]{bookauthor}% - \newunit% - \ifthenelse{\NOT\ifnamesequal{author}{labelname}% - \AND\NOT\ifnameundef{author}}% - {\usebibmacro{mla:video:localized:first-last}{author}}% - {}% - \ifthenelse{\NOT\ifnamesequal{editor}{labelname}% - \AND\NOT\ifnameundef{editor}}% - {\usebibmacro{mla:video:localized:first-last}{editor}}% - {}% - \usebibmacro{mla:video:localized:first-last}{namea}% - \usebibmacro{mla:video:localized:first-last}{nameb}% - \usebibmacro{mla:video:localized:first-last}{namec}% - \printfield{origyear}\clearfield{origyear}% - \newunit\newblock% - \printlist{publisher}% - \newunit% - \printfield{year}% - \newunit\newblock% - \usebibmacro{finentry}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % % % % % % % % % % % % % % % % % % % % % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% drivers to add eventually: -% * \DeclareBibliographyDriver{misc} -% * \DeclareBibliographyDriver{artwork} -% * \DeclareBibliographyDriver{audio} -% * \DeclareBibliographyDriver{image} -% * \DeclareBibliographyDriver{movie} -% * \DeclareBibliographyDriver{music} -% * \DeclareBibliographyDriver{performance} -% -% Specifically important mainstay types to add for MLA users -% 0 support for multiple publishers? % can't do with bibtex -% * editorial -% * letter (to the editor, etc.) -% * interview - -\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% - \iffieldundef{maintitle}% - {}% - {\printtext[maintitle]{% - \printfield[noformat]{maintitle}% - \newunit - \printfield[noformat]{mainsubtitle}}% - \newunit - \printfield{maintitleaddon}% - \newunit\newblock - \iffieldundef{volume}% - {}% - {\printfield{volume}% - \printfield{part}% - \setunit{\addcolon\space}}}% - \usebibmacro{title+stitle}} - -\renewbibmacro*{series+number}{% - \iffieldundef{series}% - {}% - {\printfield{series}\clearfield{series}\setunit*{\addspace}\printfield{number}}% -} - -\renewbibmacro*{title}{% - \iffieldequalstr{entrytype}{thesis}% - {\usebibmacro{mla:title:thesis}}% - {\iffieldequalstr{entrytype}{unpublished}% - {\usebibmacro{mla:title:unpublished}}% - {\usebibmacro{title+stitle}}}}% - -\renewbibmacro*{publisher+location+date}{% - % \printlist{location}% platypus - removed for 1.9... add an option to 2.0 for printing location - % \iflistundef{publisher}% - % {\setunit*{\addcomma\space}}% - % {\setunit*{\addcolon\space}}% - \printlist{publisher}% - \newunit% - \ifbool{mla@nodate}{\printtext{n.d.}}% - \printdate% - \newunit} - -\newbibmacro*{mla:title:unpublished}{% - \ifthenelse{\iffieldundef{author} \AND \iffieldundef{nameaddon}}% - {\unspace}% - {}% - \iffieldundef{title}% - {}% - {\printtext[title:article]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - \newunit - \printtext[title:book]{% - \printfield[noformat]{booktitle}% - \setunit{\subtitlepunct}% - \printfield[noformat]{booksubtitle}}% - \newunit - \ifcitation% - {\printfield[mla:lowercase]{titleaddon}}% - {\printfield{titleaddon}}% - \newunit} - -\newbibmacro*{name:first-last:andothers}{% - \ifthenelse{\value{listcount}=\value{liststop}\AND - \ifmorenames} - {\ifnum\value{liststop}>1 \finalandcomma\fi - \addspace\bibstring{andothers}} - {}} - -\newbibmacro*{mla:title:thesis}{% - \iffieldundef{title}% - {}% - {\iffieldequalstr{entrysubtype}{published}% - {\printtext[title:book]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - {\printtext[title:\strfield{entrytype}]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - \newunit% - \printfield{titleaddon}% - \newunit\newblock}} - -\newbibmacro*{mla:thesis:type}{% - \iffieldundef{type}% - {\printtext[mla:capital]{\bibstring{phdthesis}}}% - {\usebibmacro{mla:all:type}}}% - -\newbibmacro*{mla:all:type}{% - \ifbibstring{\thefield{type}}% - {\printtext[mla:capital]{\bibstring{\thefield{type}}}}% - {\printtext[mla:capital]{\printfield{type}}}}% - -\newbibmacro*{mla:all:type:foot}{% - \ifbibstring{\thefield{type}}% - {\printtext[noformat]{\bibstring{\thefield{type}}}}% - {\printtext[noformat]{\printfield{type}}}}% - -\renewbibmacro*{maintitle+title}{% - \usebibmacro{title}% - \newunit% - \iffieldsequal{maintitle}{title}% - {\clearfield{maintitle}% - \clearfield{mainsubtitle}% - \clearfield{maintitleaddon}}% - {}% - \iffieldundef{volume}% - {\usebibmacro{maintitle}}% - {}% - \iffieldundef{maintitle}% - {\printfield{volume}\clearfield{volume}}% - {}% - \newunit} - -\renewbibmacro*{maintitle+booktitle}{% - \usebibmacro{booktitle}% - \printunit*{\addperiod\space}% - \iffieldundef{maintitle}% - {}% - {\usebibmacro{maintitle}% - \newunit% - \iffieldundef{volume}% - {}% - {\printfield{volume}% - \printfield{part}% - \setunit{\addcolon\space}}}% - \printunit*{\addperiod\space}} - -\renewbibmacro*{booktitle}{% - \ifboolexpr{ - test {\iffieldundef{booktitle}} - and - test {\iffieldundef{booksubtitle}} - } - {\usebibmacro{title}} - {\printtext[booktitle]{% - \printfield[titlecase]{booktitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{booksubtitle}}% - \newunit}% - \printfield{booktitleaddon}} - -\newbibmacro*{mla:proceedings:booktitle}{% - \usebibmacro{booktitle}% - \newunit% - \iffieldundef{eventtitle}% - {}% - {\printtext[default]{% - \bibstring{proceedings}\addspace\bibstring{ofseries}\addspace% - \printfield[default]{eventtitle}\isdot}}% - \setunit*{\isdot\addcomma\addspace}% - \printlist{organization}% - \newunit% - \printeventdate% - \newunit% - \printlist{institution}% - \newunit% - \printfield{venue}} - -\newbibmacro*{title+stitle}{% - \iffieldundef{title}% - {\ifthenelse{% - \iffieldequalstr{entrytype}{suppbook}% - \OR% - \iffieldequalstr{entrytype}{suppcollection}}% - {}% - {\printtext[title:\strfield{entrytype}]{% - \printfield[noformat]{booktitle}% - \setunit*{\subtitlepunct}% - \printfield[noformat]{booksubtitle}}}}% - {\printtext[title:\strfield{entrytype}]{% - \printfield[noformat]{title}% - \setunit*{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - \printunit{\addperiod\space}% - \printfield[noformat]{titleaddon}% - \newunit% - \usebibmacro{byauthor}% - \iffieldundef{origtitle}% - {\usebibmacro{mla:reprint}}% - {}% -}% - -\newbibmacro*{title:incollection:italics}{% - \iffieldundef{title}% - {}% - {\printtext[title:book]{% - \printfield[noformat]{title}% - \setunit*{\subtitlepunct}% - \printfield[noformat]{subtitle}}% - \newunit% - \printfield[noformat]{titleaddon}% - \newunit% - \setbool{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setbool{bbx@mla-incollection}{false}% - \newunit\newblock}} - -\newbibmacro*{mla:article:journal+issuetitle}{% - \usebibmacro{issue}% - \newunit\newblock% - \iffieldundef{issuetitle}% - {}% - {\usebibmacro{byeditor+others}% - \newunit\newblock% - \bibstring{specissue}\setunit*{\addspace}}% - \ifthenelse{\iffieldequalstr{entrytype}{periodical} \AND \iffieldundef{journaltitle}}% - {\usebibmacro{periodical}}% - {\usebibmacro{journal}}% - \ifthenelse{\iffieldequalstr{entrytype}{online}}{\usebibmacro{mla:online}}{\setunit*{\addspace}}% - \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine} \or \iffieldequalstr{entrytype}{online}}% - {\printlist[brackets]{location}% - \newunit% - \printtext{\printdate}% - \newunit% - \printfield{version}% - \newunit% - \printfield[mla:newspaper:section]{chapter}% - }% - {\printfield{series}\clearfield{series}% - \newunit% - \printfield{volume}% - \newunit% - \printfield{number}\clearfield{number}% - \newunit% - \usebibmacro{issue+date}% - \newunit\newblock - \newunit}% -} - -\newbibmacro*{mla:online}{% - \iffieldundef{maintitle}% - {}% - {\printtext[maintitle]{% - \printfield[titlecase]{maintitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{mainsubtitle}}}% - \newunit\newblock% - \printlist{publisher}% - \newunit% -} - -\renewbibmacro*{journal+issuetitle}{% - \usebibmacro{journal}% - \setunit*{\addspace}% - \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% - {\printlist[brackets]{location}% - \printtext{\printdate}% - \newunit% - \printfield{version}% - \newunit% - \printfield[mla:newspaper:section]{chapter}% - }% - {\printfield{series}\clearfield{series}% - \setunit{\addspace}% - \printfield{volume}% - \newunit% - \printfield{number}\clearfield{number}% - \newunit% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit% - \usebibmacro{issue+date}% - \newunit\newblock - \usebibmacro{issue}% - \newunit}} - -\renewbibmacro*{issue+date}{% - \printtext{% - \iffieldundef{issue} - {\usebibmacro{date}} - {\printfield{issue}% - \setunit*{\addspace}% - \usebibmacro{date}}}% - \newunit} - -\renewbibmacro{finentry}{% - \finentry% - \iffieldundef{annotation}% - {}% - {\ifbool{bbx@annotation}% - {\begin{quotation}\noindent% - \printfield{annotation}% - \end{quotation}}% - {}}% -} - -% \newbibmacro{publimedium}{% -% \ifbool{bbx@publimedium}% -% {\printfield[mla:capital]{howpublished}% -% \ifthenelse{\iffieldundef{howpublished}\AND\boolean{bbx@guessmedium}}% -% {\ifthenelse{\iffieldundef{url}\AND\iffieldundef{eprinttype}}% -% {\printtext[mla:publimedium]{\bibstring{print}}}% -% {\iffieldundef{eprinttype}% -% {\printfield{eprint}}% -% {\printfield[eprint:\strfield{eprinttype}]{eprint}}% -% \newunit% -% \usebibmacro{url+urldate}% -% }% -% }% -% {}%-keep-blank -% \newunit% -% \usebibmacro{series+number}}% -% \newunit% -% \usebibmacro{mla:reprint}% -% {}%-keep-blank -% } - -\newbibmacro*{bbx:dashcheck}[2]{% - \ifboolexpr{ - test {\iffieldequals{fullhash}{\bbx@lasthash}} - and - not test \iffirstonpage - and - ( - not bool {bbx@inset} - or - test {\iffieldequalstr{entrysetcount}{1}} - ) - } - {#1} - {#2}} - -\DeclareStyleSourcemap{ - \maps[datatype=bibtex]{ - \map{ - \step[fieldsource=publisher, match={University Press}, replace={UP}] - \step[fieldsource=publisher, match={University}, replace={U}] - \step[fieldsource=publisher, match={Press}, replace={P}] - \step[fieldsource=publisher, match=\regexp{Company|Co\.|Corporation|Corp\.|Incorporated|Inc\.|Limited|Ltd\.}, replace={}] - \step[fieldsource=url, match=\regexp{http(s)?://}, replace={}] - } - \map{% JSTOR - \step[fieldsource=url, match={jstor.org}, final] - \step[fieldset=eprint, fieldvalue={JSTOR}] - % \step[fieldset=urldate, null] - } - \map{% Project Muse - \step[fieldsource=url, match={muse.jhu.edu}, final] - \step[fieldset=eprint, fieldvalue={Project Muse}] - % \step[fieldset=urldate, null] - } - \map{% Adelaide eBooks - \step[fieldsource=url, match={ebooks.adelaide.edu.au}, final] - \step[fieldset=eprint, origfieldval] - \step[fieldset=eprinttype, fieldvalue={adelaide}] - % \step[fieldset=urldate, null] - } - \map{% Google Books - \step[fieldsource=url, match={books.google}, final] - \step[fieldset=eprint, fieldvalue={Google Books}] - % \step[fieldset=urldate, null] - } - \map{% EBSCO - Academic Search Complete - \step[fieldsource=url, match={db=a9h}, final] - \step[fieldset=eprint, fieldvalue={Academic Search Complete}] - % \step[fieldset=urldate, null] - } - \map{% EBSCO - LexisNexis Academic - \step[fieldsource=url, match={db=fdcaae48}, final] - \step[fieldset=eprint, fieldvalue={LexisNexis Academic}] - % \step[fieldset=urldate, null] - } - \map{% EBSCO - MLA Database - \step[fieldsource=url, match={db=mzh}, final] - \step[fieldset=eprint, fieldvalue={MLA International Bibliography}] - % \step[fieldset=urldate, null] - } - \map{ - \step[fieldsource=url, match=\regexp{dx.doi.org/(.+)}, fieldtarget=doi] - \step[fieldsource=doi, match=\regexp{http(s)?://dx.doi.org/(.+)}, replace=\regexp{$1}] - \step[fieldsource=doi, match=\regexp{dx.doi.org/(.+)}, replace=\regexp{$1}] - } - \map{ % removes url + urldate field from all entries that have a doi field - \step[fieldsource=doi, final] - \step[fieldset=url, null] - \step[fieldset=urldate, null] - } - % \map{ % removes url + urldate field from all entries that have an eprint field - % \step[fieldsource=eprint, final] - % \step[fieldset=urldate, null] - % } - } -} - -\endinput +% This file exists just to help avoid any breakage when updating from older versions of biblatex-mla. +\ProvidesFile{mla-new.bbx}[2021/06/07 v2.0 biblatex citation style] +\RequireBibliographyStyle{mla} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.cbx index 21923bd97ac..6f5d00babfc 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.cbx @@ -1,834 +1,6 @@ -% mla.cbx, v1.9 2016/11/01 * compatible with biblatex 3.4 -% Maintained at by James Clawson. -% -% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements in formatting and MLA standards compliance back to James Clawson: . -% -% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. - -\ProvidesFile{mla-new.cbx}[2016/11/01 v1.9 biblatex citation style] - -\newboolean{cbx@firstlonghand}% -\DeclareBibliographyOption{firstlonghand}[true]{\setboolean{cbx@firstlonghand}{#1}} -\newboolean{cbx@nofullfootnote}% -\DeclareBibliographyOption{nofullfootnote}[true]{\setboolean{cbx@nofullfootnote}{#1}} - -\DeclareBibliographyOption{mancitepar}[true]{% - \ifstrequal{#1}{true}{% - \let\mypkg@@everypar\everypar - \newtoks\mypkg@everypar - \mypkg@everypar\expandafter{\the\everypar} - \mypkg@@everypar{\mypkgs@ownstuff\the\mypkg@everypar} - \def\mypkgs@ownstuff{% - \mancite}% - \let\everypar\mypkg@everypar - }{}} - -% The following is taken from biblatex-chicago-notes-df for parity of feature set. I don't like the naming of the option there ("strict"), so even though consistency trumps (or defines) clarity, I changed the name for now. -\DeclareBibliographyOption{footnoterulestrict}[true]{% 0.7 renamed - \let\splitfootnoterule\footnoterule - \renewcommand\footnoterule{}% - \advance\skip\footins 4\p@\@plus2\p@\relax - \gdef\split@prev{0} - \let\pagefootnoterule\footnoterule - \def\footnoterule{\relax - \ifnum\split@prev=\z@ - \pagefootnoterule - \else - \splitfootnoterule - \fi - \xdef\split@prev{\the\insertpenalties}% - }} - -\ExecuteBibliographyOptions{citetracker=true,ibidtracker=constrict,opcittracker=constrict,singletitle,autocite=inline,uniquename=init,hyperref=true,useprefix=true,firstlonghand,annotation=false,loccittracker=strict,noremoteinfo=true,date=long,urldate=long,mancitepar=false,datezeros=false}% - -\newbool{cbx@named}% -\newbool{cbx@mlafootnotes}% -\newbool{cbx@hyperpages}% - -\newbool{cbx@mladraft}% -\DeclareBibliographyOption{mladraft}[true]{% - \setboolean{cbx@mladraft}{#1}} - -\urlstyle{same} - -\newbibmacro*{cite:init}{% - \global\let\cbx@tempa=\empty - \global\undef\cbx@lasthash} - -\renewcommand*{\citereset}{% - \usebibmacro{cite:reset} - \@ifstar - {} - {\global\cslet{blx@bsee@\the\c@refsection}\@empty - \global\cslet{blx@fsee@\the\c@refsection}\@empty - \blx@ibidreset@force - \blx@idemreset@force - \blx@opcitreset@force - \blx@loccitreset@force}} - -\InitializeCitationStyle{% - \usebibmacro{cite:reset}% - \@expandtwoargs\in@{,draft,}{,\@classoptionslist,}% - \ifin@% - \ExecuteBibliographyOptions{mladraft}% draft option present - \fi - \long\def\mlasymbolfootnote#1{\begingroup\def% - \thefootnote{\fnsymbol{footnote}}\footnote[0]{#1}\endgroup}% - \newcounter{mladraftnote}} - -\OnManualCitation{% - \usebibmacro{cite:reset}% - \global\let\cbx@lastpostnote=\empty} - -\newbibmacro*{cite:reset}{% - \global\undef\cbx@lasthash}% - -\newbibmacro*{cite:save}{% - \savefield{entrykey}{\cbx@lastkey}% - \savefield{namehash}{\cbx@lasthash}% - \savefieldcs{entrykey}{cbx@lastkey@\thefield{namehash}}% - \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% In-Line Citations %%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\newbibmacro*{cite:mla}{% - \bibhypertarget{cite\the\value{instcount}}{% - \ifciteseen% - {\usebibmacro{cite:mla:seen}} - {\usebibmacro{cite:mla:unseen}\usebibmacro{cite:save}}% - \global\boolfalse{cbx@mlafootnotes}}} - -\newbibmacro*{cite:mla:unseen}{% - \ifbool{cbx@firstlonghand} - {\usebibmacro{cite:mla:noshorthand}}% - {\usebibmacro{cite:mla:seen}}} - -\newbibmacro*{cite:mla:seen}{% - \iffieldundef{shorthand}% - {\usebibmacro{cite:mla:noshorthand}}% - {\usebibmacro{cite:mla:shorthand}% - \savefield{namehash}{\cbx@lasthash}}} - -\newbibmacro*{cite:mla:noshorthand}{% - \ifciteibid% - {\ifbool{cbx@mlafootnotes}% - {\usebibmacro{cite:mla:noibid}\usebibmacro{cite:save}}% - {\usebibmacro{cite:ibid}}}% - {\usebibmacro{cite:mla:noibid}\usebibmacro{cite:save}}}% - -\newbibmacro*{cite:mla:noibid}% - {\global\boolfalse{cbx@hyperpages}% - \ifthenelse{\iffieldequals{namehash}{\cbx@lasthash}}% - {\usebibmacro{cite:idem}% - \usebibmacro{cite:mla:title}}% - {\ifnameundef{labelname}% - {\global\boolfalse{cbx@named}\usebibmacro{cite:mla:title}}% - {\ifthenelse{\iffieldequalstr{entrytype}{incollection} \or \iffieldequalstr{entrytype}{inreference} \or \iffieldequalstr{entrytype}{review}} % - {\ifnameundef{author}% - {\global\boolfalse{cbx@named}% - \usebibmacro{cite:mla:title}}% - {\usebibmacro{cite:name}% - \usebibmacro{cite:mla:title}\setunit{\addspace}}}% - {\usebibmacro{cite:name}% - \usebibmacro{cite:mla:title}}}}}% - -\newbibmacro*{cite:mla:shorthand}{% - \ifciteibid% - {\ifbool{cbx@mlafootnotes}% - {\printtext[bibhyperref]{% - \printfield[citetitle:\strfield{entrytype}]{shorthand}}\setunit{\addspace}}% - {\usebibmacro{cite:ibid}}}% - {\global\boolfalse{cbx@hyperpages}\printtext[bibhyperref]{% - \printfield[citetitle:\strfield{entrytype}]{shorthand}}\setunit{\addspace}}} - -\newbibmacro*{cite:name}{% - \ifsingletitle% - {\printtext[bibhyperref]{% - \printnames{labelname}}% - \savefield{namehash}{\cbx@lasthash}% - \global\booltrue{cbx@named}}% - {\printnames{labelname}% - \savefield{namehash}{\cbx@lasthash}% - \global\booltrue{cbx@named}}}% - -\newbibmacro*{cite:mla:title}{% - \ifnameundef{labelname}% - {\printtext[bibhyperref]{% - \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}% - {\ifsingletitle% - {}% - {\usebibmacro{cite:mla:title:internal}}}% - \ifthenelse{\iffieldequalstr{entrytype}{review}% - \and\ifnameundef{author}% - \and\iffieldundef{title}}% - {\printtext[bibhyperref]% - {\printtext{\bibcpstring{reviewof}% - \setunit{\addspace}% - \printfield{booktitle}}}}% - {}% - \setunit{\addspace}}% - -\newbibmacro*{cite:mla:title:internal}{% - \ifbool{cbx@named}{\setunit{\addcomma\addspace}}{}% - \iffieldundef{title}% - {\iffieldequalstr{entrytype}{review}% - {\printtext[bibhyperref]% - {\printtext{\bibcpstring{reviewof}% - \setunit{\addspace}% - \printfield{booktitle}}}}% - {\ifthenelse{\iffieldequalstr{entrytype}{suppbook}% - \OR\iffieldequalstr{entrytype}{suppcollection}}% - {\printtext[bibhyperref]{% - \printfield[mla:capital]{entrysubtype}}}% - {}}}% - {\printtext[bibhyperref]{% - \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}}% - -%%%%%%%%%%% for ibid, idem, opcit %%%%%%%% - -\newbibmacro*{cite:idem}{% - \ifsingletitle% - {\usebibmacro{cite:name}}% - {\global\boolfalse{cbx@named}}} - -\newbibmacro*{cite:opcit}{% - \usebibmacro{cite:mla:title}\setunit{\addspace}} - -\newbibmacro*{cite:ibid}{% - \iffieldundef{postnote}% - {\usebibmacro{cite:mla:noibid}}% - {\global\booltrue{cbx@hyperpages}}% - \usebibmacro{cite:save}% - \iffieldundef{prenote}% - {}% - {\usebibmacro{cite:mla:noibid}\usebibmacro{cite:reset}}}% - -\renewcommand*{\postnotedelim}{\addspace}% - -\renewbibmacro*{postnote}{% - \iffieldundef{postnote} - {} - {\setunit{\addspace}% - \ifbool{cbx@hyperpages}% - {\printtext[bibhyperref]{\printfield[ibidpostnote]{postnote}}}% - {\printfield[ibidpostnote]{postnote}}}}% - -\newbibmacro*{locpostnote}{% - \ifbool{cbx@mladraft}% - {\ifbool{cbx@hyperpages}% - {\printtext[mlarepeatedcites]{% - \printtext[bibhyperref]{\printfield[ibidpostnote]{postnote}}}}% - {\printtext[mlarepeatedcites]{% - \printfield[ibidpostnote]{postnote}}}% - \ifthenelse{\value{mladraftnote}<2}% - {\mlasymbolfootnote{\addtocounter{mladraftnote}{4}% - $\clubsuit$ It is best to cite once at the end % - of a passage quoting a single page range.}}% - {}}% - {\usebibmacro{postnote}}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% Footnote Citations %%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\newbibmacro*{cite:mla:foot}{% - \ifciteseen% - {\usebibmacro{cite:mla:seen}}% - {\ifbool{cbx@nofullfootnote}% - {\usebibmacro{cite:mla:seen}}% - {\usedriver{}{footcite:\strfield{entrytype}}}% - }} - -\newbibmacro*{cite:foot:name}{% - \global\boolfalse{cbx@named}% - \usebibmacro{cite:foot:author/editor}% - \savefield{namehash}{\cbx@lasthash}}% - -\newbibmacro*{cite:foot:author:review}{% - \global\boolfalse{cbx@named}% - \ifnameundef{author}% - {}% - {\usebibmacro{cite:foot:author}% - \savefield{namehash}{\cbx@lasthash}% - \global\booltrue{cbx@named}% - }}% - -\newbibmacro*{cite:foot:author/editor}% -{\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}% - {\usebibmacro{cite:foot:author}}% - {\usebibmacro{cite:foot:editor}}}% - -\newbibmacro*{cite:foot:author}{% - \ifbool{bbx@totalnames}% - {\printnames[byauthor][-\value{listtotal}]{author}}% - {\printnames[byauthor]{author}}% - \clearname{author}\global\booltrue{cbx@named}% - \printfield{nameaddon}} - -\newbibmacro*{cite:foot:editor}{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% - {\ifbool{bbx@totalnames}% - {\printnames[byeditor][[-\value{listtotal}]]{editor}}% - {\printnames[byeditor]{editor}}% - \setunit*{\addcomma\space}% - \usebibmacro{editorstrg}% - \clearname{editor}\global\booltrue{cbx@named}}% - {\ifusetranslator% - {\printnames[byeditor]{translator}% - \setunit*{\addcomma\space}% - \usebibmacro{translatorstrg}% - \clearname{translator}\global\booltrue{cbx@named}}% - {}% - }}% - -\newbibmacro*{cite:foot:byauthor:incollection}{% - \ifthenelse{\ifuseauthor\OR% - \ifnameundef{author}\OR% - \ifnamesequal{author}{bookauthor}}% - {}% - {\biblcstring{byauthor}\addspace% - \printnames[byauthor]{author}}} - -\newbibmacro*{cite:foot:byauthor}{% - \ifthenelse{\ifuseauthor\OR% - \ifnameundef{author}}% - {}% - {\bibstring{byauthor}\addspace\printnames[byauthor]{author}}} - -\newbibmacro*{cite:foot:bybookauthor}{% - \ifthenelse{\ifnameundef{bookauthor}\OR% - \(\ifnamesequal{author}{bookauthor}\AND\ifuseauthor\)}% - {}% - {\bibstring{byauthor}\addspace\printnames[byauthor]{bookauthor}}} - -\DeclareBibliographyDriver{footcite:booklet}{% - \usedriver{}{footcite:book}} - -\DeclareBibliographyDriver{footcite:collection}{% - \usedriver{}{footcite:book}} - -\DeclareBibliographyDriver{footcite:reference}{% - \usedriver{}{footcite:book}} - -\DeclareBibliographyDriver{footcite:book}{% - \usebibmacro{cite:foot:name}% - \ifbool{cbx@named}% 0.7.1 - {\setunit{\newunitpunct}}% - {\setunit{}}% - \usebibmacro{cite:foot:title}% - \newunit% - \usebibmacro{cite:foot:byauthor}% - \newunit% - \usebibmacro{cite:foot:byeditor}% - \newunit% - \usebibmacro{cite:foot:bytranslator}% - \newunit% - \printfield{edition}% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \printfield{volumes}% - \newunit% - \usebibmacro{series+number}% - \setunit{\addspace}% - \usebibmacro{cite:foot:publisher+location+year}} - -\newbibmacro*{cite:foot:publisher+location+year}{% - \printtext[parens]{% - \printfield[noformat]{origyear}% - \setunit*{\addsemicolon\addspace}% - \printlist{location}% - \iflistundef{publisher}% - {\setunit*{\addspace}}% - {\setunit*{\addcolon\space}}% - \printlist{publisher}% - \newunit% - \printfield{year}}} - -\DeclareBibliographyDriver{footcite:article}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{cite:foot:title}% - \newunit% - \usebibmacro{cite:foot:byauthor:incollection}% - \newunit% - \usebibmacro{cite:foot:bytranslator}% - \newunit% - \usebibmacro{journal+issuetitle}% - \newunit% - \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% - \setunit{\addcolon\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}}% - -\newbibmacro*{cite:foot:url+urldate}{% - \printtext{\biburldatelong}% - \setunit{\addspace}% - \printfield{url}} - -\DeclareBibliographyDriver{footcite:inreference}{% - \usedriver{}{footcite:incollection}} - -\DeclareBibliographyDriver{footcite:incollection}{% - \usebibmacro{cite:foot:name}% - \ifbool{cbx@named}% 0.7.1 - {\setunit{\newunitpunct}}% - {\setunit{}}% - \ifthenelse{% - \iffieldequalstr{entrysubtype}{book}% - \OR% - \iffieldequalstr{entrysubtype}{play}}% - {\usebibmacro{cite:foot:title:incollection:italics}}% - {\usebibmacro{cite:foot:title}}% - \newunit% - \printfield[mla:lowercase]{titleaddon}% - \newunit% - \usebibmacro{cite:foot:byauthor:incollection}% - \newunit% - \ifbool{bbx@uniquetranslator}% - {\usebibmacro{cite:foot:bytranslator}\clearname{translator}}% - {}% - \ifthenelse{% - \iffieldequalstr{entrysubtype}{book}% - \OR% - \iffieldequalstr{entrysubtype}{play}}% - {\setunit{\addcomma\addspace\bibstring{in}\addspace}}% - {\newunit}% - \printtext[citetitle:book]{% - \printfield[noformat]{booktitle}% - \setunit{\subtitlepunct}% - \printfield[noformat]{booksubtitle}% - }% - \usebibmacro{cite:foot:bybookauthor}% - \newunit% - \usebibmacro{cite:foot:byeditor}% - \newunit% - \iffieldsequal{year}{edition}% - {\printfield{year}~\bibstring{edition}\clearfield{year}}% - {\printfield[foot:cite:edition:format]{edition}\isdot}% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \printfield{volumes}% - \newunit% - \usebibmacro{series+number}% - \setunit{\addspace}% - \iffieldundef{year}% - {}% - {\usebibmacro{cite:foot:publisher+location+year}}% - \setunit{\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}% - }% - -\DeclareBibliographyDriver{footcite:phdthesis}{% - \usedriver{}{footcite:thesis}} - -\DeclareBibliographyDriver{footcite:thesis}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{title}% - \newunit% - \ifbibstring{\thefield{type}}% - {\printtext[default]{\bibstring{\thefield{type}}}}% - {\printtext[default]{\printfield{type}}}% - \newunit% - \printlist{institution}% - \newunit% - \iffieldequalstr{entrysubtype}{published}% - {\printfield{origyear}\clearfield{origyear}}% - {\printfield{year}}% - \newunit% - \iffieldequalstr{entrysubtype}{published}% - {\usebibmacro{series+number}% - \setunit{\addspace}% - \usebibmacro{cite:foot:publisher+location+year}}% - {}} - -\DeclareBibliographyDriver{footcite:review}{% - \usebibmacro{cite:foot:author:review}% - \ifbool{cbx@named}% - {\setunit{\newunitpunct}}% - {\setunit{}}% - \usebibmacro{cite:foot:title}% - \setunit*{\newunitpunct}% - \printtext[bibhyperref]% - {\bibstring{reviewof}\addspace\printfield{booktitle}}% - \newunit% - \ifnameundef{bookauthor}% - {\printtext[reviewededitor]{\printnames[default]{editor}}}% - {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% - \newunit% - \usebibmacro{journal+issuetitle}% - \newunit% - \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% - \setunit{\addcolon\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}}% - -\DeclareBibliographyDriver{footcite:video}{% - \setbool{cbx@named}{false}% - \ifnamesequal{labelname}{author}% - {\usebibmacro{mla:video:name:first:footnote}{author}% - \setbool{cbx@named}{true}}% - {}% - \ifnamesequal{labelname}{editor}% - {\usebibmacro{mla:video:name:first:footnote}{editor}% - \setbool{cbx@named}{true}}% - {}% - \ifbool{cbx@named}% - {\setunit{\newunitpunct}}% - {\setunit{}}% - \printtext[bibhyperref]{\printfield{title}}% - \newunit% - \ifnameundef{bookauthor}% - {}% - {\printtext[reviewedauthor]{\printnames[byeditor]{bookauthor}}}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{author}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{editor}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{namea}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{nameb}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{namec}% - \newunit% - \printfield{origyear}% - \newunit% - \printfield{howpublished}% - \newunit% - \printlist{publisher}% - \newunit% - \printfield{year}% - \addperiod} - -\DeclareBibliographyDriver{footcite:suppcollection}{% - \usedriver{}{footcite:suppbook}} - -\DeclareCiteCommand{\titleandsubtitle} - {\boolfalse{citetracker}% - \boolfalse{pagetracker}% - \usebibmacro{prenote}} - {\indexfield{indextitle}% - \printtext[citetitle]{% - \printfield[noformat]{title}% - \iffieldundef{subtitle}{}{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - {\multicitedelim} - {\usebibmacro{postnote}} - -\DeclareBibliographyDriver{footcite:suppbook}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{cite:foot:title}% - \newunit% - \printfield{entrysubtype}% - \newunit% - \usebibmacro{booktitle}% - \setunit{\newunitpunct\bibstring{bytypeauthor}\addspace}% - \ifnamesequal{labelname}{bookauthor}% - {\printnames[mla:last]{bookauthor}}% - {\printnames[byauthor]{bookauthor}}% - \newunit% - \usebibmacro{byeditor+others}% - \newunit% - \printfield{edition}% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \printfield{volumes}% - \newunit% - \usebibmacro{series+number}% - \setunit{\addspace}% - \usebibmacro{cite:foot:publisher+location+year}% - \setunit{\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}} - -\DeclareBibliographyDriver{footcite:unpublished}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{mla:title:unpublished}% - \newunit% - \newunit% - \printfield{note}% - \newunit% - \usebibmacro{mla:all:type:foot}% - \setunit*{\isdot\addspace}% - \printfield{number}% - \newunit% - \printfield{library}% - \setunit{\addcomma\addspace}% - \printlist{location}% - \newunit% - \printfield{addendum}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{footcite:periodical}{% - \usebibmacro{cite:foot:editor}% - \setunit{\labelnamepunct}\newblock% - \usebibmacro{mla:article:journal+issuetitle}% - \newunit\newblock - \printfield{note}% - \setunit{\addcolon\addspace}\newblock - \iffieldundef{postnote}% - {\printfield{pages}}% - {}% - \newunit\newblock - \usebibmacro{url+urldate}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \usebibmacro{finentry}} - -\newbibmacro*{cite:foot:title}{% - \iffieldundef{title}% - {}% - {\printtext[bibhyperref]{% - \printtext[citetitle:\strfield{entrytype}]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - }}% - -\newbibmacro*{cite:foot:title:incollection:italics}{% - \printtext[bibhyperref]{% - \printtext[title:book]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% - }}% - -\newbibmacro*{cite:foot:bytranslator}{% - \ifnameundef{translator}% - {}% - {\printtext[default]{\bibstring{bytranslator}\addspace% - \printnames[cite:foot:translator]{translator}}}} - -\newbibmacro*{cite:foot:byeditor}{% - \ifthenelse{\ifnameundef{editor}\OR% - \( \iffieldequalstr{entrytype}{collection}\AND% - \ifnameundef{author} \)}% - {}% - {\usebibmacro{byeditor+others}}} - -\newbibmacro*{mla:foot:postnote}{% - \iffieldundef{postnote}% - {\unspace}% - {\unspace\addspace\printfield[footpostnote]{postnote}}% - \usebibmacro{cite:reset}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%% Format Declarations %%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\DeclareFieldFormat{citetitle:article}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:inreference}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:book}{\mkbibemph{#1}} -\DeclareFieldFormat{citetitle:booklet}{\mkbibemph{#1}}% -\DeclareFieldFormat{citetitle:collection}{\mkbibemph{#1}}% -\DeclareFieldFormat{citetitle:reference}{\mkbibemph{#1}}% -\DeclareFieldFormat{citetitle:incollection}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:online}{\mkbibquote{#1}}% 1.4.9 -\DeclareFieldFormat{citetitle:inproceedings}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:unpublished}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:thesis}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:video}{\mkbibemph{#1}} -\DeclareFieldFormat{citetitle:review}{\mkbibquote{#1}}% -\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% -\DeclareFieldFormat{ibidpostnote}{#1}% -\DeclareFieldFormat{footpostnote}{#1}% -\DeclareFieldFormat{mlarepeatedcites}{\fbox{#1}% - \marginpar{\hfill\footnotesize{$\clubsuit$}}}% -\@ifpackagelater{biblatex}{2016/03/01}{% - \DeclareNameFormat{cite:foot:editor}{% - \nameparts{#1}% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}% - \usebibmacro{name:andothers}}% - \DeclareNameFormat{cite:foot:translator}{% - \nameparts{#1}% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}% - \usebibmacro{name:andothers}}% -}{% - \DeclareNameFormat{cite:foot:editor}{% - \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% - \usebibmacro{name:andothers}}% - \DeclareNameFormat{cite:foot:translator}{% - \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% - \usebibmacro{name:andothers}}% -}% -\DeclareFieldFormat{foot:cite:edition:format}{% - \ifinteger{#1}% - {\mkbibordinal{#1}~\bibstring{edition}}% - {\printtext[mla:lowercase]{#1}}} -\DeclareFieldFormat{supptotitle}% - {\bibstring{supptotitle}\addspace\mkbibemph{#1}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%% Cite Commands %%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\renewbibmacro*{prenote}{% - \iffieldundef{prenote} - {\global\undef\cbx@lastprenote} - {\printfield{prenote}% - \prenotedelim% - \ifthenelse{\iffieldequals{prenote}{\cbx@lastprenote} \and \iffieldequals{entrykey}{\cbx@lastkey}}% - {}% - {\usebibmacro{cite:reset}}% - \savefield{prenote}{\cbx@lastprenote}}} - -\DeclareCiteCommand{\parencite}[\mkbibparens] - {\usebibmacro{prenote}} - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla}} - {} - {\ifthenelse{\iffieldequals{postnote}{\cbx@lastpostnote} \and \iffieldequals{entrykey}{\cbx@lastkey}}% - {\usebibmacro{locpostnote}}% - {\usebibmacro{postnote}}% - \savefield{postnote}{\cbx@lastpostnote}}% - -\DeclareCiteCommand*{\parencite}[\mkbibparens] - {\global\undef\cbx@lasthash\usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla:starred:title}} - {} - {\usebibmacro{postnote}} - -\DeclareCiteCommand{\cite}% 1.9 added support for smart switching when used in footnote - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla}}% - {}% - {\usebibmacro{postnote}} - -\DeclareCiteCommand{\textcite}% 1.9 new - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla}}% - {}% - {\usebibmacro{postnote}} - -\DeclareCiteCommand{\headlesscite}% 1.9 added alias to starred command for Chicago compatibility - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla:starred:title}} - {}% - {\usebibmacro{postnote}} - -\DeclareCiteCommand*{\cite}% 1.9 added support for smart switching when used in footnote - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla:starred:title}} - {}% - {\usebibmacro{postnote}} - -\DeclareCiteCommand{\footcite}[\mkbibfootnote] - {\bibsentence% - \usebibmacro{cite:init}% - \usebibmacro{prenote}} - {\usebibmacro{citeindex}% - \global\booltrue{cbx@mlafootnotes}% - \renewcommand*{\newunitpunct}{\addcomma\space}% - \usebibmacro{cite:mla:foot}} - {} - {\usebibmacro{mla:foot:postnote}} - -\DeclareCiteCommand{\fullcite} - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla:title}} - {}% - {\usebibmacro{postnote}} - -\DeclareCiteCommand{\headlessfullcite} - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla:starred:title}} - {}% - {\usebibmacro{postnote}} - -\newbibmacro{mla:fullcite:prenote}{% -\citereset\renewbibmacro*{author}{% - \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\DeclareNameAlias{author}{default}\ifthenelse{\iffieldequals{namehash}{\cbx@lasthash}\AND\NOT - \iffirstonpage} - {\mbox{\mlanamedash\unspace\newunitpunct}} - {\printnames{author}% - \savefield{namehash}{\cbx@lasthash}}} - {\let\cbx@lasthash\undefined}}} - -% \DeclareCiteCommand{\fullcite} -% {\usebibmacro{mla:fullcite:prenote}\usebibmacro{prenote}} -% {\usedriver -% {\DeclareNameAlias{sortname}{default}\DeclareNameAlias{default}{last-first}} -% {\thefield{entrytype}}} -% {\multicitedelim} -% {\usebibmacro{postnote}} - -\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote]% - {\usebibmacro{prenote}} - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla}} - {\multicitedelim} - {\usebibmacro{cite:postnote}} - -\newbibmacro*{cite:mla:starred:title}{% - \ifciteibid - {\iffieldundef{postnote} - {\usebibmacro{cite:mla:title:alone}} - {\global\booltrue{cbx@hyperpages}}} - {\iffieldundef{shorthand} - {\ifsingletitle% - {\iffieldundef{postnote} - {\usebibmacro{cite:mla:title:alone}} - {\global\booltrue{cbx@hyperpages}}}% - {\usebibmacro{cite:mla:title:alone}\setunit{\addspace}}} - {\usebibmacro{cite:mla:shorthand}}}} - -\newbibmacro*{cite:mla:title:alone}{% - \printtext[bibhyperref]{% suggested by StackExchange user Audrey - \printfield[citetitle:\strfield{entrytype}]{labeltitle}}% - \ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}% - {\printtext[bibhyperref]{% - \printfield[mla:capital]{entrysubtype}}}% - {}} +% This file exists just to help avoid any breakage when updating from older versions of biblatex-mla. +\ProvidesFile{mla-new.cbx}[2021/06/07 v2.0 biblatex citation style] +\RequireCitationStyle{mla} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.bbx new file mode 100644 index 00000000000..ce97a2b3a04 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.bbx @@ -0,0 +1,1337 @@ +% mla-strict.bbx, v2.0 2021/06/07 * compatible with biblatex 3.16 +% Maintained at . +% +% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements back to the project on GitHub or to James Clawson: . +% +% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. + +\ProvidesFile{mla-strict.bbx}[2021/06/07 v2.0 biblatex bibliography style] + +\RequireBibliographyStyle{standard} +\DeclareLanguageMappingSuffix{-mla} + +\NewBibliographyString{byserieseditor} +\NewBibliographyString{reviewof} +\NewBibliographyString{specissue} +\NewBibliographyString{phd} +\NewBibliographyString{dphil} +\NewBibliographyString{lic} +\NewBibliographyString{ma} +\NewBibliographyString{ms} +\NewBibliographyString{msc} +\NewBibliographyString{mphil} +\NewBibliographyString{mlitt} +\NewBibliographyString{manuscript} +\NewBibliographyString{typescript} +\NewBibliographyString{director} +\NewBibliographyString{screenplay} +\NewBibliographyString{adaptation} +\NewBibliographyString{adaptor} +\NewBibliographyString{performer} +\NewBibliographyString{performers} +\NewBibliographyString{composer} +\NewBibliographyString{composedby} +\NewBibliographyString{producer} +\NewBibliographyString{with} +\NewBibliographyString{proceedings} +\NewBibliographyString{compilerandeditor}% +\NewBibliographyString{bycompilerandeditor}% +\NewBibliographyString{transof}% +\NewBibliographyString{volstodate}% +\NewBibliographyString{supptotitle}% +\NewBibliographyString{print}% +\NewBibliographyString{web}% +\NewBibliographyString{generaleditor}% + +\setlength{\bibitemsep}{0pt} +\renewcommand*{\mkbibnamesuffix}[1]{\addcomma\addlowpenspace#1} + +\DeclareNameAlias{author}{sortname} +\@ifpackagelater{biblatex}{2016/03/01}{% + \DeclareNameFormat{mla:last}{\nameparts{#1}\namepartfamily}% + \DeclareNameFormat{default}{% + \nameparts{#1}% + \ifgiveninits{% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}% + }{% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% + }% + \usebibmacro{name:andothers}% + }% +}{% + \DeclareNameFormat{mla:last}{#1}% + \DeclareNameFormat{default}{% + \iffirstinits{% + \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% + }{% + \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% + }% + \usebibmacro{name:andothers}% + }% +} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\DeclareFieldFormat{title:article}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:online}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inreference}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:book}{\mkbibemph{#1}} +\DeclareFieldFormat{title:booklet}{\mkbibemph{#1}} +\DeclareFieldFormat{title:collection}{\mkbibemph{#1}} +\DeclareFieldFormat{title:incollection}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:mvbook}{\mkbibemph{#1}}% mla-2.0 +\DeclareFieldFormat{title:patent}{\mkbibquote{#1}} +\DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:unpublished}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}% +\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}% +\DeclareFieldFormat{isbn}{#1}% +\DeclareFieldFormat{pages}{\mkpageprefix[bookpagination]{#1}} +\DeclareFieldFormat[review]{volume}{#1}% +\DeclareFieldFormat[article]{volume}{#1}% +\DeclareListFormat[article]{location}% + {\unspace\mkbibbrackets{#1}\addspace}% +\DeclareFieldFormat[article]{version}{#1\isdot}% +\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}% +\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% + +\DeclareFieldFormat[patent]{number}{#1}% + +\DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}% +\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}% +\DeclareFieldFormat{url}{% + \ifhyperref% + {\href{http://#1}{\nolinkurl{#1}}}% + {\url{#1}}}% +\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}% +\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} +\DeclareFieldFormat{mla:newspaper:section}{\bibstring{section}\addspace#1}% +\DeclareFieldFormat{library}{#1\isdot}% +\DeclareFieldFormat{reviewededitor}{\bibstring{byeditor}\addspace#1}% +\DeclareFieldFormat{reviewedauthor}{\bibstring{byauthor}\addspace#1}% +\DeclareFieldFormat{title:suppbook}{\mkbibquote{#1}} +\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}% +\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}% +\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}% +\DeclareFieldFormat{eprinttype}{\mkbibemph{#1}} +\DeclareFieldFormat{eprint:arxiv}{% + \iffieldundef{url}{% + \mkbibemph{arXiv}\addcomma\space \printtext[url]{arxiv.org/abs/#1}}{% + \mkbibemph{arXiv}}} +\DeclareFieldFormat{eprint:jstor}{% + \iffieldundef{url}{% + \mkbibemph{JSTOR}\addcomma\space \printtext[url]{www.jstor.org/stable/#1}}{% + \mkbibemph{JSTOR}}} +\DeclareFieldFormat{eprint:hulu}{% + \iffieldundef{url}{% + \mkbibemph{Hulu}\addcomma\space \printtext[url]{www.hulu.com/watch/#1}}{% + \mkbibemph{Hulu}}} +\DeclareFieldFormat{eprint:googlebooks}{% + \iffieldundef{url}{% + \mkbibemph{Google Books}\addcomma\space \printtext[url]{books.google.com/books?id=#1}}{% + \mkbibemph{Google Books}}} +\DeclareFieldFormat{eprint:muse}{% + \iffieldundef{url}{% + \mkbibemph{Project Muse}\addcomma\space \printtext[url]{muse.jhu.edu/article/#1}}{% + \mkbibemph{Project Muse}}} +\DeclareFieldFormat{eprint}{\emph{#1}}% +\DeclareFieldFormat{doi}{% + doi\addcolon% + \ifhyperref% + {\href{https://doi.org/#1}{\nolinkurl{#1}}}% + {\nolinkurl{#1}}} + +\DeclareFieldFormat{urldate}{#1}% +\DeclareFieldFormat[article,periodical,review]{volume}{\bibstring{volume}\ppspace#1}% volume of a journal +\DeclareFieldFormat[article,periodical,review]{number}{\bibstring{number}\ppspace#1}% number of a journal + +\DeclareBibliographyAlias{artwork}{article}% +\DeclareBibliographyAlias{audio}{article}% +\DeclareBibliographyAlias{booklet}{book}% +\DeclareBibliographyAlias{bookinbook}{incollection}% +\DeclareBibliographyAlias{collection}{book}% +\DeclareBibliographyAlias{reference}{book}% +\DeclareBibliographyAlias{image}{article}% +\DeclareBibliographyAlias{inbook}{incollection}% +\DeclareBibliographyAlias{letter}{article}% +\DeclareBibliographyAlias{manual}{book}% 2.0 ADDED √ +\DeclareBibliographyAlias{misc}{article}% 2.0 ADDED √ +\DeclareBibliographyAlias{movie}{video}% 2.0 ADDED √ +\DeclareBibliographyAlias{music}{audio}% +\DeclareBibliographyAlias{online}{article} +\DeclareBibliographyAlias{patent}{article}% 2.0 ADDED √ +\DeclareBibliographyAlias{report}{book}% 2.0 ADDED √ +\DeclareBibliographyAlias{suppcollection}{suppbook}% + +\DeclareFieldAlias[online]{maintitle}{journaltitle} +\DeclareFieldAlias[book]{subtitle}{booksubtitle} +\DeclareFieldAlias[book]{title}{booktitle} +% \DeclareFieldAlias[patent]{holder}{addendum} + +\renewcommand*{\newunitpunct}{\addcomma\addspace} +\renewcommand*{\multilistdelim}{/} +\renewcommand*{\finallistdelim}{/} +\renewcommand*{\newblockpunct}{\addperiod\addspace} +\renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace} +\renewcommand*{\subtitlepunct}{\ifterm{}{\addcolon}\addspace} + +\newboolean{bbx@mla-incollection} +\newbool{bbx@inset} + +\DeclareBibliographyOption{dashed}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{pagetracker}% + \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} + {\ExecuteBibliographyOptions{pagetracker=false}% + \renewbibmacro*{bbx:savehash}{}}} + +\newboolean{bbx@annotation}% same as biblatex-dw +\DeclareBibliographyOption{annotation}[true]{% +\setbool{bbx@annotation}{#1}} + +\newboolean{bbx@totalnames} +\newboolean{cbx@totalnames} +\DeclareEntryOption{totalnames}[true]{% + \setbool{bbx@totalnames}{#1}\setbool{cbx@totalnames}{#1}} + +% for translated incollections where the collection has no shared translator +\newboolean{bbx@uniquetranslator}% +\DeclareEntryOption{uniquetranslator}[true]{% + \setbool{bbx@uniquetranslator}{#1}} + +\newtoggle{bbx:showlocation}% 2.0 add a global/entry toggle to show location +\settoggle{bbx:showlocation}{false} +\DeclareBibliographyOption{showlocation}[true]{\settoggle{bbx:showlocation}{#1}} +\DeclareEntryOption{showlocation}[true]{\settoggle{bbx:showlocation}{#1}} + +\newtoggle{bbx:longdash}% 2.0 change bibnamedash default and add a toggle to revert +\settoggle{bbx:longdash}{true} +\DeclareBibliographyOption{longdash}[true]{\settoggle{bbx:longdash}{#1}} + +\newbool{bbx:gnoreminfo}% +\setbool{bbx:gnoreminfo}{false} +\DeclareBibliographyOption{noremoteinfo}[true]{\setbool{bbx:gnoreminfo}{#1}} + +\newbool{bbx:lnoreminfo}% +\setbool{bbx:lnoreminfo}{false} +\DeclareEntryOption{noremoteinfo}[true]{\setbool{bbx:lnoreminfo}{#1}} + +\newtoggle{bbx:isan} +\DeclareBibliographyOption{isan}[true]{\settoggle{bbx:isan}{#1}}% + +\newtoggle{bbx:ismn} +\DeclareBibliographyOption{ismn}[true]{\settoggle{bbx:ismn}{#1}}% + +\newtoggle{bbx:isrn} +\DeclareBibliographyOption{isrn}[true]{\settoggle{bbx:isrn}{#1}}% + +\newtoggle{bbx:issn} +\DeclareBibliographyOption[boolean]{issn}[true]{\settoggle{bbx:issn}{#1}}% + +\newboolean{mla@nodate}% +\DeclareEntryOption{nodate}[true]{\setbool{mla@nodate}{#1}} + +\ExecuteBibliographyOptions{maxnames=2,datezeros=false,eprint=true}% + +\newrobustcmd{\openrangeformat}[1]{% + \begingroup% + \let\blx@org@rangedash=\bibrangedash% + \def\bibrangedash{% + \blx@org@rangedash% + \futurelet\@let@token\blx@openrangeformat}% + #1% + \endgroup} + +\newcommand*{\blx@openrangeformat}{% + \ifx\@let@token\endgroup% + \openrangemark% + \fi} + +\newcommand*{\openrangemark}{\mbox{ }}% + +\newbibmacro*{bbx:savehash}{% + \savefield{fullhash}{\bbx@lasthash}} + +\iftoggle{bbx:longdash}% MLA Handbook 9 says either is viable if used consistently + {\newcommand*{\mlanamedash}{\textemdash\textemdash\textemdash}} + {\newcommand*{\mlanamedash}{-{}-{}-}} + +\renewcommand*{\bibnamedash}{% + \iftoggle{bbx:longdash}% MLA Handbook 9 says either is viable if used consistently + {\printtext[noformat]{\textemdash\textemdash\textemdash}}% + {\printtext[noformat]{-{}-{}-}}% + % \printtext[noformat]{\mlanamedash}% + \iffieldundef{nameaddon}% + {\setunit{\addperiod\addspace}}% + {\setunit{\nopunct}}}% + +\renewbibmacro*{author}{% + \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} + {\usebibmacro{bbx:dashcheck}% + {\bibnamedash}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{author}} + {\printnames{author}}% + \usebibmacro{bbx:savehash}}% + \iffieldundef{nameaddon}% + {}% + {\setunit{\addspace}% + \printfield{nameaddon}}% + \iffieldundef{authortype}% + {}% + {\newunit% + \usebibmacro{authorstrg}}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{editor}}% + {\printnames{editor}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editorstrg}\clearname{editor}\setunit{\addperiod\space}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor+others}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{editor}}% + {\printnames[sortname]{editor}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editor+othersstrg}\clearname{editor}\clearfield{editortype}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{translator}}% + {\printnames[sortname]{translator}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translatorstrg}\clearname{translator}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator+others}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{translator}}% + {\printnames[sortname]{translator}}% + \newunit% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translator+othersstrg}\clearname{translator}}% + {\global\undef\bbx@lasthash}} + +\newbibmacro*{journal+issue+year+pages}{% + \usebibmacro{journal+ser+vol+num}% + \setunit{\addspace}% + \printtext[parens]{% + \iffieldundef{issue}% + {\iffieldundef{month}% + {\printfield{year}}% + {\iffieldundef{day}% + {\printfield{month}% + \setunit{\addspace}% + \printfield{year}}% + {\printtext{\bibdate}}}}% + {\printfield{issue}% + \setunit{\addspace}% + \printfield{year}}}% + \newunit% + \printfield{pages}} + +\renewbibmacro*{url+urldate}{% + \printfield[mla:capital:web]{url}\clearfield{url}% + \printunit{\addperiod\space}\newblock% + \iffieldundef{urlyear}{}{\printtext{Accessed}\space\printurldate\clearfield{urlyear}}% + } + +\newbibmacro*{mla:container:top}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% bibnamedash + \setunit{\addperiod\space}\newblock% + \ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {\usebibmacro{title}% + \printunit{\addperiod\space}\newblock% + \printfield[mla:capital]{entrysubtype}}% 2.0 adjusted to show both title and entrysubtype + {\ifentrytype{book} + {\usebibmacro{booktitle}} + {\usebibmacro{maintitle+booktitle}}}% + \printunit{\addperiod\space}\newblock% + } + +\newbibmacro*{mla:container:one}{% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock + \printfield{note}% + \newunit% + \printfield{pages}% + \newunit% + \ifthenelse{\iffieldundef{eprinttype} \OR \(\iffieldundef{eprinttype} \AND \iffieldundef{eprint}\)} + {}%\usebibmacro{url+urldate}}% mla9 - drop + {}% + \printunit{\addperiod\space}\newblock% + } + +\newbibmacro*{mla:container:two}{% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \printfield{addendum}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{pageref}% + } + +\DeclareFieldFormat{titlea}{\mkbibemph{#1}} +\DeclareFieldFormat{titleb}{\mkbibemph{#1}} +\DeclareFieldFormat[mlasource]{mla:unstyled}{#1} +\DeclareFieldFormat[mlasource]{mla:complete}{\mkbibemph{#1}} +\DeclareFieldFormat[mlasource]{mla:part}{\mkbibquote{#1}} + +\newbibmacro*{mla:source}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \iffieldundef{titletype} + {\iffieldundef{titlea} + {\printfield[mla:complete]{title}} + {\printfield[mla:part]{title}}} + {\printfield[mla:\thefield{titletype}]{title}} + \setunit{\addperiod\space}\newblock% + \printfield[noformat]{supplemental} + } + +\newbibmacro*{mla:containera}{% + \printfield{titlea}% + \newunit\newblock + \printfield{contributora}% + \newunit\newblock + \printfield{versiona}% + \newunit\newblock + \printfield{numbera}% + \newunit\newblock + \printfield{publishera}% + \newunit\newblock + \printfield{datea}% + \newunit\newblock + \printfield{locationa}% + \newunit\newblock + \printfield{supplementala}% +} + +\newbibmacro*{mla:containerb}{% + \printfield{titleb}% + \newunit\newblock + \printfield{contributorb}% + \newunit\newblock + \printfield{versionb}% + \newunit\newblock + \printfield{numberb}% + \newunit\newblock + \printfield{publisherb}% + \newunit\newblock + \printfield{dateb}% + \newunit\newblock + \printfield{locationb}% + \newunit\newblock + \printfield{supplementalb}% +} + +\DeclareBibliographyDriver{mlasource}{% + \usebibmacro{mla:source}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{mla:containera}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{mla:containerb}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{mla:container:top}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{bytranslator+others}% + \newunit% + \usebibmacro{byeditor+others}% + \newunit% + \printfield{edition}\isdot% + \newunit% + \iffieldundef{maintitle}{\printfield{volume}\clearfield{volume}\printfield{part}}{}% + % \newunit% + % \iffieldundef{volume}{\printfield{volumes}\clearfield{volumes}}{}%% 2.0 undefined to show later + \newunit% + \usebibmacro{series+number}% + \newunit% + \printfield{note}% + \newunit% + \iftoggle{bbx:showlocation}{\printlist{location}}{}% new toggle IN 2.0 + \newunit% + \iffieldundef{maintitle} + {\newunit% + \printlist{publisher}\clearlist{publisher}} + {}% + \newunit% + \printdate% + \newunit% + \printfield{pages}% really? + \newunit\newblock% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit% + \iffieldundef{origtitle}% + {}% + {\usebibmacro{mla:reprint}}% + \setunit{\addperiod\addspace}% + \iffieldundef{volumes}% + {}% + {\usebibmacro{mla:multivolumes}}% + \newunit% + \printfield[mla:sentence-case]{addendum}% + \newunit% + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{article}{% + \usebibmacro{mla:container:top}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:one}% + \printunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:two}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock% + \printfield{note}% + \newunit% + \printfield{pages}% + \newunit\newblock% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock% + \usebibmacro{url+urldate}% + \newunit\newblock% + \printfield{addendum}% + \newunit\newblock% + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\newbibmacro*{mla:reprint}{% + \iffieldundef{origtitle}% + {\newunit}% + {\iflistundef{origlanguage} + {\setunit{\newunitpunct\bibstring{reprintof}\addspace}}% + {\setunit{\newunitpunct\bibstring{transof}\addspace}}% +}% + \printfield[title:\strfield{entrytype}]{origtitle}% + \newunit\newblock% + \printlist{origlocation}\clearlist{origlocation}% + \setunit*{\addcolon\addspace}% + \printlist{origpublisher}\clearlist{origpublisher}% + \newunit% + \ifbool{bbx@mla-incollection}% + {\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}% + {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% + {\printorigdate\clearfield{origyear}}% + {}% + }% +} + +\newbibmacro*{mla:multivolumes}{% 2.0 improvement for mla-compliant multivolumes + \usebibmacro{maintitle}% + \newunit% + \usebibmacro{mla:generaleditor}% + \newunit% + \printfield{volume}% + \newunit% + \printlist{publisher}\clearlist{publisher}% + \newunit% + \printeventdate\clearfield{eventyear}% + \setunit{\addperiod\addspace}% + \iffieldequalstr{eventendyear}{}% + {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}% + {\printfield{volumes}\clearfield{volumes}}% +} + + +\renewbibmacro*{byeditorx}{% + \usebibmacro{byeditorx:internal}{a}% + \usebibmacro{byeditorx:internal}{b}% + \usebibmacro{byeditorx:internal}{c}% +} + +\newbibmacro*{byeditorx:internal}[1]{% + \ifnameundef{editor#1} + {} + {\iffieldequalstr{editor#1type}{generaleditor} + {} + {\usebibmacro{bytypestrg}{editor#1}{editor}% + \setunit{\addspace}% + \printnames[byeditor#1]{editor#1}% + \newunit}}% +} + +\newbibmacro*{mla:generaleditor}{% + \usebibmacro{mla:generaleditor:internal}{}% + \usebibmacro{mla:generaleditor:internal}{a}% + \usebibmacro{mla:generaleditor:internal}{b}% + \usebibmacro{mla:generaleditor:internal}{c}% +} + +\newbibmacro*{mla:generaleditor:internal}[1]{% + \iffieldequalstr{editor#1type}{generaleditor}% + {\printnames{editor#1}% + \setunit{\addcomma\addspace} + \bibstring{generaleditor} + \newunit}% + {}% +} + +\newbibmacro*{mla:isbn/issn+doi+eprint}{% + \iftoggle{bbx:isan}{\printfield{isan}\clearfield{isan}}{}% + \newunit\newblock% + \iftoggle{bbx:isbn}{\printfield{isbn}\clearfield{isbn}}{}% + \newunit\newblock% + \iftoggle{bbx:ismn}{\printfield{ismn}\clearfield{ismn}}{}% + \newunit\newblock% + \iftoggle{bbx:isrn}{\printfield{isrn}\clearfield{isrn}}{}% + \newunit\newblock% + \iftoggle{bbx:issn}{\printfield{issn}\clearfield{issn}}{}% + \newunit\newblock% + \iftoggle{bbx:doi}{\printfield{doi}\clearfield{doi}}{}% + \newunit\newblock% + \iftoggle{bbx:eprint}{\setunit{\addperiod\space}\newblock\usebibmacro{eprint+extra}}{}% + \newunit\newblock} + +\newbibmacro*{eprint+extra}{% + \iffieldundef{eprinttype} + {\printfield{eprint}} + {\iffieldundef{eprint} + {\printfield{eprinttype}} + {\printfield[eprint:\strfield{eprinttype}]{eprint}}}} + +\DeclareBibliographyDriver{suppbook}{% + \usebibmacro{mla:container:top}% + \newunit\newblock + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\usebibmacro{mla:incollection:internal}}% + {\bbx@crossref{\thefield{xref}}% + \setunit{\addspace}% + \printfield{pages}}}% + {\bbx@crossref{\thefield{crossref}}% + \setunit{\addspace}% + \printfield{pages}% + \newunit}% + \newunit% + \usebibmacro{finentry}} + +\DeclareCiteCommand{\bbx@crossref}% + {} + {\ifsingletitle% + {\printtext[bibhyperref]{\printnames{labelname}}% + \setunit{\space}}% + {\printnames{labelname}% + \newunit% + \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}}% + }}% + {}% + {} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}% + \OR% + \iffieldequalstr{entrytype}{bookinbook}}% + {\usebibmacro{title:incollection:italics}}% + {\setbool{bbx@mla-incollection}{true}% + \usebibmacro{title}% + \setbool{bbx@mla-incollection}{false}}% + \newunit\newblock% + \ifbool{bbx@uniquetranslator}% + {\usebibmacro{bytranslator+others}}% + {}% + \setunit{\addperiod\addspace}% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\usebibmacro{mla:incollection:internal}}% + {\bbx@crossref{\thefield{xref}}% + \setunit{\addspace}% + \printfield{pages}}}% + {\bbx@crossref{\thefield{crossref}}% + \setunit{\addcomma\addspace}% + \printfield{volume}% + \setunit{\addcomma\addspace}% + \printfield{pages}% + \newunit}% + \newunit% + \usebibmacro{finentry}} + +\newbibmacro*{mla:incollection:internal}{% + \setbool{bbx@mla-incollection}{true}% + \usebibmacro{maintitle+booktitle}% + \ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}% + \OR% + \iffieldequalstr{entrysubtype}{interview}% + \OR% + \iffieldequalstr{entrysubtype}{untitled}}% + {\setunit{\newunitpunct\bibstring{byauthor}\addspace}% + \ifnamesequal{labelname}{bookauthor}% + {\printnames[mla:last]{bookauthor}}% + {\printnames[byauthor]{bookauthor}}}% + {}% + \newunit\newblock% + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}\isdot% + \newunit + \iffieldundef{maintitle}% + {\printfield{volume}\printfield{part}}% + {}% + \newunit + \iffieldundef{volume}% + {\printfield{volumes}\clearfield{volumes}}% + {}%% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit% + \usebibmacro{chapter+pages}% + \newunit% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit% + \usebibmacro{url+urldate}% + \newunit% + \iffieldundef{volumes}% + {}% + {\usebibmacro{mla:multivolumes}}% + \newunit% + \printfield{addendum}% + \newunit% + \usebibmacro{pageref}% + \setbool{bbx@mla-incollection}{false}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:proceedings:booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:proceedings:booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \printfield{note}% + \newunit\newblock% + \printfield{origyear} + \newunit\newblock + \printfield{library}% + \newunit% + \printlist{location}% + \newunit\newblock + \usebibmacro{mla:all:type}% + \setunit{\addspace} + \printfield{number}% + \setunit{\addperiod\addspace} + \printfield{addendum}% + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \iffieldequalstr{entrysubtype}{published}% + {\printfield{origyear}\clearfield{origyear}}% + {\printfield{year}}% + \printunit{\addperiod\space}\newblock% + \newunit\newblock + \printlist{institution}% + \newunit% + \usebibmacro{mla:thesis:type}% + \printunit{\addperiod\addspace}\newblock% + \iffieldequalstr{entrysubtype}{published}% + {\usebibmacro{series+number}% + \newunit% + \usebibmacro{publisher+location+date}}% + {}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \newunit% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \setunit{\addperiod\space}\newblock% + \printfield[title:article]{title}% + \setunit{\addperiod\space}\newblock% + \printfield[title:reviewedbook]{booktitle}% + \newunit% + \ifnameundef{bookauthor}% + {\printtext[reviewededitor]{\printnames[default]{editor}}}% + {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:one}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{mla:container:two}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \setunit{\addperiod\space}\newblock% + \usebibmacro{title}% + \setunit{\addperiod\space}\newblock% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldsequal{year}{edition}% + {\printfield{year}~\bibstring{edition}\clearfield{year}}% + {\printfield{edition}\isdot}% + \newunit + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \usebibmacro{series+number}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \usebibmacro{url+urldate}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}}% + {}}% + {\bbx@crossref{\thefield{crossref}}% + \nopunct\unspace\printfield{pages}}% + \newunit% + \usebibmacro{finentry}} + +\newbibmacro{mlabelnamepunct}{\setunit{\labelnamepunct}\newblock} + +\newbibmacro{mla:video:localized:last-first}[1]{% + \ifnameundef{#1}% + {}% + {\printnames{#1}\addcomma\addspace% + \ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\printfield[mla:lowercase]{#1type}}}}% +\newunit}% + +\newbibmacro{mla:video:name:first:footnote}[1]{% + \ifnameundef{#1}% + {}% + {\printnames[byeditor]{#1}\addcomma\addspace% + \ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\printfield[mla:lowercase]{#1type}}}}% + \clearname{#1}% +} + +\newbibmacro{mla:video:localized:first-last}[1]{% + \ifnameundef{#1}% + {}% + {\ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type} \and \not % + \iffieldequalstr{#1type}{composer}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\iffieldequalstr{#1type}{composer}% + {\bibstring{composedby}}% + {\printfield[mla:capital]{#1type}}}}% + \addspace\printnames[byeditor][-\value{listtotal}]{#1}}% +\newunit}% + +\newbibmacro{mla:video:name:second:footnote}[1]{% + \ifnameundef{#1}% + {}% + {\ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type} \and \not % + \iffieldequalstr{#1type}{composer}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\iffieldequalstr{#1type}{composer}% + {\bibstring{composedby}}% + {\printfield[mla:lowercase]{#1type}}}}% + \addspace\printnames[byeditor][-\value{listtotal}]{#1}% + }}% + +\DeclareBibliographyDriver{video}{% + \ifnamesequal{labelname}{author}% + {\usebibmacro{mla:video:localized:last-first}{author}}{}% + \ifnamesequal{labelname}{editor}% + {\usebibmacro{mla:video:localized:last-first}{editor}}{}% + \printfield{title}% + \setunit{\newunitpunct\bibstring{byauthor}\addspace}% + \printnames[byeditor]{bookauthor}% + \newunit% + \ifthenelse{\NOT\ifnamesequal{author}{labelname}% + \AND\NOT\ifnameundef{author}}% + {\usebibmacro{mla:video:localized:first-last}{author}}% + {}% + \ifthenelse{\NOT\ifnamesequal{editor}{labelname}% + \AND\NOT\ifnameundef{editor}}% + {\usebibmacro{mla:video:localized:first-last}{editor}}% + {}% + \usebibmacro{mla:video:localized:first-last}{namea}% + \usebibmacro{mla:video:localized:first-last}{nameb}% + \usebibmacro{mla:video:localized:first-last}{namec}% + \printfield{origyear}\clearfield{origyear}% + \newunit\newblock% + \printlist{publisher}% + \newunit% + \printfield{year}% + \newunit\newblock% + \usebibmacro{finentry}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % % % % % % % % % % % % % % % % % % % % % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% drivers to add eventually: +% * \DeclareBibliographyDriver{performance} +% +% Specifically important mainstay types to check for MLA users +% 0 support for multiple publishers? % can't do with bibtex +% * editorial +% * letter (to the editor, etc.) +% * interview + +\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \newunit + \printfield[noformat]{mainsubtitle}}% + \setunit{\addspace}% 2.0 include titleaddon inside unit punctuation + \printfield{maintitleaddon}% + \newunit\newblock + \iffieldundef{volume}% + {}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \usebibmacro{title+stitle}} + +\renewbibmacro*{series+number}{% + \iffieldundef{series}% + {}% + {\printfield{series}\clearfield{series}\setunit*{\addspace}\printfield{number}}% +} + +\renewbibmacro*{title}{% + \iffieldequalstr{entrytype}{thesis}% + {\usebibmacro{mla:title:thesis}}% + {\ifthenelse{\iffieldequalstr{entrytype}{unpublished}\OR\iffieldequalstr{entrytype}{misc}} % + {\usebibmacro{mla:title:unpublished}}% + {\usebibmacro{title+stitle}}}}% + +\renewbibmacro*{publisher+location+date}{% + \iftoggle{bbx:showlocation}{\printlist{location}}{}% new toggle in 2.0 + \newunit% + \printlist{publisher}% + \newunit% + \ifbool{mla@nodate}{\printtext{n.d.}}% + \printdate% + \newunit} + +\newbibmacro*{mla:title:unpublished}{% + \iffieldundef{title}% + {}% + {\iffieldundef{entrysubtype}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + {\printtext[title:\strfield{entrysubtype}]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + }% + \setunit{\addspace}% 2.0 include titleaddon inside unit punctuation + \printfield[noformat]{titleaddon}% + \printunit{\addperiod\space}% + \usebibmacro{byauthor}% + \iffieldundef{origtitle}% + {\usebibmacro{mla:reprint}}% + {}% +}% + + +\newbibmacro*{name:first-last:andothers}{% + \ifthenelse{\value{listcount}=\value{liststop}\AND + \ifmorenames} + {\ifnum\value{liststop}>1 \finalandcomma\fi + \addspace\bibstring{andothers}} + {}} + +\newbibmacro*{mla:title:thesis}{% + \iffieldundef{title}% + {}% + {\ifthenelse{\iffieldequalstr{type}{phd}\OR% + \iffieldequalstr{type}{dphil}}% + {\printtext[title:book]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \setunit{\addspace}% 2.0 include titleaddon inside unit punctuation + \printfield{titleaddon}% + \newunit\newblock}} + +\newbibmacro*{mla:thesis:type}{% + \iffieldundef{type}% + {\printtext[mla:capital]{\bibstring{phdthesis}}}% + {\usebibmacro{mla:all:type}}}% + +\newbibmacro*{mla:all:type}{% + \iffieldbibstring{type}% + {\printtext[mla:capital]{\bibstring{\thefield{type}}}}% + {\printfield[mla:capital]{type}}}% + +\newbibmacro*{mla:all:type:foot}{% + \ifbibstring{\thefield{type}}% + {\printtext[noformat]{\bibstring{\thefield{type}}}}% + {\printtext[noformat]{\printfield{type}}}}% + +\renewbibmacro*{maintitle+title}{% + \usebibmacro{title}% + \newunit% + \iffieldsequal{maintitle}{title}% + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}}% + {}% + \iffieldundef{volume}% + {\usebibmacro{maintitle}}% + {}% + \iffieldundef{maintitle}% + {\printfield{volume}\clearfield{volume}}% + {}% + \newunit} + +\renewbibmacro*{maintitle+booktitle}{% + \usebibmacro{booktitle}% + \printunit*{\addperiod\space}% + \iffieldundef{maintitle}% + {}% + {\usebibmacro{maintitle}% + \newunit% + \iffieldundef{volume}% + {}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \printunit*{\addperiod\space}} + +\renewbibmacro*{booktitle}{% + \ifboolexpr{ + test {\iffieldundef{booktitle}} + and + test {\iffieldundef{booksubtitle}} + } + {\usebibmacro{title}} + {\printtext[booktitle]{% + \printfield[titlecase]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{booksubtitle}}}% + \setunit{\addspace}% + \printfield{booktitleaddon}% + \newunit% 2.0 include titleaddon inside unit punctuation + } + +\newbibmacro*{mla:proceedings:booktitle}{% + \usebibmacro{booktitle}% + \newunit% + \iffieldundef{eventtitle}% + {}% + {\printtext[default]{% + \bibstring{proceedings}\addspace\bibstring{ofseries}\addspace% + \printfield[default]{eventtitle}\isdot}}% + \setunit*{\isdot\addcomma\addspace}% + \printlist{organization}% + \newunit% + \printeventdate% + \newunit% + \printlist{institution}% + \newunit% + \printfield{venue}} + +\newbibmacro*{title+stitle}{% + \iffieldundef{title}% + {\ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {}% + {\ifthenelse{% 2.0 changed logic to allow for untitled pieces (e.g. for interviews)% CHECK + \iffieldundef{booktitle}}% + {}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{booktitle}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{booksubtitle}}}}}% + {\iffieldequalstr{entrysubtype}{untitled}% 2.0 added check to allow for works with unformatted titles + {\printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}}}% + \setunit{\addspace}% 2.0 include titleaddon inside unit punctuation + \printfield[noformat]{titleaddon}% + \printunit{\addperiod\space}% 2.0 include titleaddon inside unit punctuation + \usebibmacro{byauthor}% + \iffieldundef{origtitle}% + {\usebibmacro{mla:reprint}}% + {}% +}% + +\newbibmacro*{title:incollection:italics}{% + \iffieldundef{title}% + {}% + {\printtext[title:book]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \setunit{\addspace}% 2.0 include titleaddon inside unit punctuation + \printfield[noformat]{titleaddon}% + % \newunit\newblock% platyp + \printunit{\addperiod\addspace}% platyp troubleshooting incollection with titleaddon + \setbool{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setbool{bbx@mla-incollection}{false}% + \newunit\newblock}} + +\newbibmacro*{mla:article:journal+issuetitle}{% + \usebibmacro{issue}% + \newunit\newblock% + \iffieldundef{issuetitle}% + {}% + {\usebibmacro{byeditor+others}% + \newunit\newblock% + \bibstring{specissue}\setunit*{\addspace}}% + \ifthenelse{\iffieldequalstr{entrytype}{periodical} \AND \iffieldundef{journaltitle}}% + {\usebibmacro{periodical}}% + {\usebibmacro{journal}}% + \ifthenelse{\iffieldequalstr{entrytype}{online}}{\usebibmacro{mla:online}}{\setunit*{\addspace}}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine} \or \iffieldequalstr{entrytype}{online}}% + {\printlist[brackets]{location}% + \newunit% + \printtext{\printdate}% + \newunit% + \printfield{version}% + \newunit% + \printfield[mla:newspaper:section]{chapter}% + }% + {\printfield{series}\clearfield{series}% + \newunit% + \printfield{volume}% + \newunit% + \ifthenelse{\iffieldequalstr{entrytype}{patent}}% + {\printfield{type}% + \setunit*{\addspace}% + \printfield{number}\clearfield{number}% + \newunit}% + {\printfield{number}\clearfield{number} + \newunit}% + \printnames{holder}% mla9- NEW IN 2.0 - preliminary support for patents + \newunit% + \ifthenelse{\iffieldequalstr{entrytype}{patent}}% + {\iffieldbibstring{type}% + {\biblstring{\strfield{type}}% + \newunit}% + {}% + }% + {}% + \usebibmacro{issue+date}% + \newunit\newblock + \newunit}% +} + +\newbibmacro*{mla:online}{% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[titlecase]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{mainsubtitle}}}% + \newunit\newblock% + \printlist{publisher}% + \newunit% +} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% + {\printlist[brackets]{location}% + \printtext{\printdate}% + \newunit% + \printfield{version}% + \newunit% + \printfield[mla:newspaper:section]{chapter}% + }% + {\printfield{series}\clearfield{series}% + \setunit{\addspace}% + \printfield{volume}% + \newunit% + \printfield{number}\clearfield{number}% + \newunit% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit% + \usebibmacro{issue+date}% + \newunit\newblock + \usebibmacro{issue}% + \newunit}} + +\renewbibmacro*{issue+date}{% + \printtext{% + \iffieldundef{issue} + {\usebibmacro{date}} + {\printfield{issue}% + \setunit*{\addspace}% + \usebibmacro{date}}}% + \newunit} + +\renewbibmacro{finentry}{% + \finentry% + \iffieldundef{annotation}% + {}% + {\ifbool{bbx@annotation}% + {\begin{quotation}\noindent% + \printfield{annotation}% + \end{quotation}}% + {}}% +} + +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + } + {#1} + {#2}} + +% mla-basic.bbx has no sourcemap rules; use mla.bbx for some standard mla-style replacements + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.cbx new file mode 100644 index 00000000000..e95302f1adb --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-strict.cbx @@ -0,0 +1,5 @@ +\ProvidesFile{mla-strict.cbx}[2021/05/12 v2.0 biblatex citation style] + +\RequireCitationStyle{mla} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx index cae6845d713..2ee9431d576 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx @@ -1,1229 +1,99 @@ -% mla-this.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 -% Maintained at by James Clawson. -% -% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements in formatting and MLA standards compliance back to James Clawson: . -% -% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. - -\ProvidesFile{mla-this.bbx}[2016/11/01 v1.9 biblatex bibliography style] - -\RequireBibliographyStyle{standard} -\DeclareLanguageMapping{american}{american-mla} -\DeclareLanguageMapping{english}{english-mla} - -\NewBibliographyString{byserieseditor} -\NewBibliographyString{reviewof} -\NewBibliographyString{specissue} -\NewBibliographyString{phd} -\NewBibliographyString{dphil} -\NewBibliographyString{lic} -\NewBibliographyString{ma} -\NewBibliographyString{ms} -\NewBibliographyString{msc} -\NewBibliographyString{mphil} -\NewBibliographyString{mlitt} -\NewBibliographyString{manuscript} -\NewBibliographyString{typescript} -\NewBibliographyString{director} -\NewBibliographyString{screenplay} -\NewBibliographyString{adaptation} -\NewBibliographyString{adaptor} -\NewBibliographyString{performer} -\NewBibliographyString{performers} -\NewBibliographyString{composer} -\NewBibliographyString{composedby} -\NewBibliographyString{producer} -\NewBibliographyString{with} -\NewBibliographyString{proceedings} -\NewBibliographyString{compilerandeditor}% -\NewBibliographyString{bycompilerandeditor}% -\NewBibliographyString{transof}% -\NewBibliographyString{volstodate}% -\NewBibliographyString{supptotitle}% -\NewBibliographyString{print}% -\NewBibliographyString{web}% -\NewBibliographyString{generaleditor}% - -\setlength{\bibitemsep}{0pt} -\renewcommand*{\mkbibnamesuffix}[1]{\addcomma\addlowpenspace#1} - -\DeclareNameAlias{author}{sortname} -\@ifpackagelater{biblatex}{2016/03/01}{% - \DeclareNameFormat{mla:last}{\nameparts{#1}\namepartfamily}% - \DeclareNameFormat{default}{% - \nameparts{#1}% - \ifgiveninits{% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}% - }{% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% - }% - \usebibmacro{name:andothers}% - }% -}{% - \DeclareNameFormat{mla:last}{#1}% - \DeclareNameFormat{default}{% - \iffirstinits{% - \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% - }{% - \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% - }% - \usebibmacro{name:andothers}% - }% -} - -\defbibenvironment{bibliography} - {\list - {} - {\setlength{\leftmargin}{\bibhang}% - \setlength{\itemindent}{-\leftmargin}% - \setlength{\itemsep}{\bibitemsep}% - \setlength{\parsep}{\bibparsep}}} - {\endlist} - {\item} - -\DeclareFieldFormat{title:article}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:online}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inreference}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:book}{\mkbibemph{#1}} -\DeclareFieldFormat{title:booklet}{\mkbibemph{#1}} -\DeclareFieldFormat{title:collection}{\mkbibemph{#1}} -\DeclareFieldFormat{title:incollection}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}% -\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}% -\DeclareFieldFormat{url}{$<$\url{#1}$>$}% suggested by Jay Savage -\DeclareFieldFormat{isbn}{} -\DeclareFieldFormat{pages}{#1}% -\DeclareFieldFormat[review]{volume}{#1}% -\DeclareListFormat[article]{location}% - {\unspace\mkbibbrackets{#1}\addspace}% -\DeclareFieldFormat[article]{version}{#1\isdot}% -\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}% -\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% -\DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}% -\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}% -\DeclareFieldFormat{mla:capital:web}{% - \ifhyperref% - {\href{#1}{\MakeCapital{\bibstring{web}}}}% - {\MakeCapital{\bibstring{web}}}}% -\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% -\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}% -\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} -\DeclareFieldFormat{mla:newspaper:section}{\bibstring{section}\addspace#1}% -\DeclareFieldFormat{library}{#1\isdot}% -\DeclareFieldFormat{reviewededitor}{\bibstring{byeditor}\addspace#1}% -\DeclareFieldFormat{reviewedauthor}{\bibstring{byauthor}\addspace#1}% -\DeclareFieldFormat{title:suppbook}{\mkbibquote{#1}} -\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}% -\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}% -\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}% -\DeclareFieldFormat{eprint:jstor}{% - \ifhyperref% - {\href{http://www.jstor.org/stable/#1}{\emph{JSTOR}}}% - {\emph{JSTOR}}}% -\DeclareFieldFormat{eprint:googlebooks}{% - \ifhyperref% - {\href{http://books.google.com/books?id=#1}{\emph{Google Books}}}% - {\emph{Google Books}}} -\DeclareFieldFormat{eprint:adelaide}{% - \ifhyperref% - {\href{#1}{\emph{eBooks@Adelaide}}}% - {\emph{eBooks@Adelaide}}} -\DeclareFieldFormat{eprint:muse}{%5 - \ifhyperref% - {\href{#1}{\emph{Project Muse}}}% - {\emph{Project Muse}}} -\DeclareFieldFormat{urldate}{#1}% - -\DeclareBibliographyAlias{booklet}{book} -\DeclareBibliographyAlias{bookinbook}{incollection}% -\DeclareBibliographyAlias{collection}{book} -\DeclareBibliographyAlias{reference}{book} - -\DeclareBibliographyAlias{inbook}{incollection}% - -\DeclareBibliographyAlias{manual}{customa} -\DeclareBibliographyAlias{misc}{customa} -\DeclareBibliographyAlias{online}{article} -\DeclareBibliographyAlias{patent}{customa} -\DeclareBibliographyAlias{report}{customa} -\DeclareBibliographyAlias{suppcollection}{suppbook} - -\DeclareFieldAlias[online]{maintitle}{journaltitle} - -\renewcommand*{\newunitpunct}{\addperiod\space} -\renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace} -\renewcommand*{\bibpagespunct}{\addperiod\space} -\renewcommand*{\subtitlepunct}{\ifterm{}{\addcolon}\space} - -\newboolean{bbx@mla-incollection} -\newbool{bbx@inset} - -\DeclareBibliographyOption{dashed}[true]{% - \ifstrequal{#1}{true} - {\ExecuteBibliographyOptions{pagetracker}% - \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} - {\ExecuteBibliographyOptions{pagetracker=false}% - \renewbibmacro*{bbx:savehash}{}}} - -\newboolean{bbx@annotation}% same as biblatex-dw -\DeclareBibliographyOption{annotation}[true]{% -\setboolean{bbx@annotation}{#1}} - -\newboolean{bbx@totalnames} -\DeclareEntryOption{totalnames}[true]{% - \setboolean{bbx@totalnames}{#1}} - -% for translated incollections where the collection has no shared translator -\newboolean{bbx@uniquetranslator}% -\DeclareEntryOption{uniquetranslator}[true]{% - \setboolean{bbx@uniquetranslator}{#1}} - -\newbool{bbx:gnoreminfo}% -\setboolean{bbx:gnoreminfo}{false} -\DeclareBibliographyOption{noremoteinfo}[true]{\setboolean{bbx:gnoreminfo}{#1}} - -\newbool{bbx:lnoreminfo}% -\setboolean{bbx:lnoreminfo}{false} -\DeclareEntryOption{noremoteinfo}[true]{\setboolean{bbx:lnoreminfo}{#1}} - -\newbool{bbx@publimedium}% -\setboolean{bbx@publimedium}{true}% -\DeclareBibliographyOption{showmedium}[true]{\setboolean{bbx@publimedium}{#1}}% - -\newbool{bbx@guessmedium}% -\setboolean{bbx@guessmedium}{true} -\DeclareBibliographyOption{guessmedium}[true]{\setboolean{bbx@guessmedium}{#1}}% - -\newboolean{bbx@nodate}% -\DeclareEntryOption{nodate}[true]{% - \setboolean{bbx@nodate}{#1}} - - -% 0.7.1 for years with open range -\newrobustcmd{\openrangeformat}[1]{% 0.7.1 - \begingroup% - \let\blx@org@rangedash=\bibrangedash% - \def\bibrangedash{% - \blx@org@rangedash% - \futurelet\@let@token\blx@openrangeformat}% - #1% - \endgroup} - -% 0.7.1 for years with open range -\newcommand*{\blx@openrangeformat}{% 0.7.1 - \ifx\@let@token\endgroup% - \openrangemark% - \fi} - -% 0.7.1 for years with open range -\newcommand*{\openrangemark}{\mbox{ }}% 0.7.1 - -\newbibmacro*{bbx:savehash}{% - \savefield{fullhash}{\bbx@lasthash}} - -\renewcommand*{\bibnamedash}{% suggested by StackExchange user Audrey - \mlanamedash% - \iffieldundef{nameaddon}{\adddot}{\nopunct}}% - -\newcommand*{\mlanamedash}{\textendash\textendash\textendash} - -\renewbibmacro*{author}{% - \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\usebibmacro{bbx:dashcheck}% - {\bibnamedash}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{author}} - {\printnames{author}}% - \usebibmacro{bbx:savehash}}% - \iffieldundef{nameaddon}% - {}% - {\setunit{\addspace}% - \printfield{nameaddon}}% - \iffieldundef{authortype}% - {}% - {\setunit{\addcomma\space}% - \usebibmacro{authorstrg}}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{editor}{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{editor}}% - {\printnames{editor}}% - \setunit{\addcomma\space}% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{editorstrg}\clearname{editor}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{editor+others}{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{editor}}% - {\printnames[sortname]{editor}}% - \setunit{\addcomma\space}% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{editor+othersstrg}\clearname{editor}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{translator}{% - \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{translator}}% - {\printnames[sortname]{translator}}% - \setunit{\addcomma\space}% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{translatorstrg}\clearname{translator}}% - {\global\undef\bbx@lasthash}} - -\renewbibmacro*{translator+others}{% - \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% - {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT - \iffirstonpage}% - {\mbox{\mlanamedash\unspace\addcomma\addspace}}% - {\ifbool{bbx@totalnames}% - {\printnames[sortname][-\value{listtotal}]{translator}}% - {\printnames[sortname]{translator}}% - \setunit{\addcomma\space}% - \savefield{namehash}{\bbx@lasthash}}% - \usebibmacro{translator+othersstrg}\clearname{translator}}% - {\global\undef\bbx@lasthash}} - -\newbibmacro*{journal+issue+year+pages}{% - \usebibmacro{journal+ser+vol+num}% - \setunit{\addspace}% - \printtext[parens]{% - \iffieldundef{issue}% - {\iffieldundef{month}% - {\printfield{year}}% - {\iffieldundef{day}% - {\printfield{month}% - \setunit{\addspace}% - \printfield{year}}% - {\printtext{\bibdate}}}}% - {\printfield{issue}% - \setunit{\addspace}% - \printfield{year}}}% - \addcolon\addspace - \printfield{pages}} - -\renewbibmacro*{date}{\printdate}% - -\renewbibmacro*{url+urldate}{% - \ifthenelse{\boolean{bbx@publimedium}\AND\NOT \(\iffieldundef{url} \AND \iffieldundef{eprint}\)}% - {\printfield[mla:capital:web]{url}\newunit}% - {\iffieldundef{urlyear}{}{\setunit{\addspace}}}% - \iffieldundef{urlyear}% - {}% - {\printtext{\printurldate}% - \setunit{\addspace}}% Suggested by Stephen Brumbaugh - \ifthenelse{\boolean{bbx@publimedium}\AND\NOT\iffieldundef{url}}% - {\ifthenelse{\boolean{bbx:gnoreminfo}}% - {}% - {\setunit{\newunitpunct}% - \printfield{url}}}% - {\printfield{url}}% - } - -\DeclareBibliographyDriver{periodical}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \setunit{\labelnamepunct}\newblock% - \usebibmacro{mla:article:journal+issuetitle}% - \newunit\newblock - \printfield{note}% - \setunit{\addcolon\addspace}\newblock - \printfield{pages}% - \newunit\newblock - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock - \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{article}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{title}% - \newunit% - \usebibmacro{bytranslator+others}% - \newunit% - \usebibmacro{mla:article:journal+issuetitle}% - \newunit\newblock - \printfield{note}% - \setunit{\addcolon\addspace}\newblock - \printfield{pages}% - \newunit\newblock - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock - \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{book}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{maintitle+title}% - \newunit\newblock% - \usebibmacro{byeditor+others}% - \newunit\newblock% - \printfield{edition}\isdot% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \iffieldundef{volume}% - {\printfield{volumes}\clearfield{volumes}}% - {}%% - \newunit\newblock% - \ifbool{bbx@publimedium}% - {}% - {\usebibmacro{series+number}}% - \newunit\newblock% - \printfield{note}% - \newunit\newblock% - \usebibmacro{publisher+location+date}% - \newunit\newblock% - \printfield{pages}% - \newunit\newblock% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock% - \iffieldundef{origtitle}% - {}% - {\ifbool{bbx@publimedium}% - {} - {\usebibmacro{mla:reprint}}}% - \newunit\newblock% - \iffieldundef{volumes}% - {}% - {\usebibmacro{mla:multivolumes}}% - \newunit\newblock% - \printfield[mla:sentence-case]{addendum}% - \newunit\newblock% - \usebibmacro{pageref}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\newbibmacro*{mla:reprint}{% - \iffieldundef{origtitle}% - {\newunit}% - {\iffieldundef{origlanguage} - {\setunit{\newunitpunct\bibstring{reprintof}\addspace}}% - {\setunit{\newunitpunct\bibstring{transof}\addspace}}% -}% - \printfield[title:\strfield{entrytype}]{origtitle}% - \newunit\newblock% - \printlist{origlocation}\clearlist{origlocation}% - \setunit*{\addcolon\addspace}% - \printlist{origpublisher}\clearlist{origpublisher}% - \setunit*{\addcomma\addspace}% - \ifbool{bbx@mla-incollection}% - {\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}% - {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% 1.4.9 cleared up most spurious punct - {\printorigdate\clearfield{origyear}}% - {}% - }% -} - -\newbibmacro*{mla:multivolumes}{% - \iffieldundef{maintitle}% - {}% - {\printfield[volumeof]{volume}% - \setunit{\addspace}% - \usebibmacro{maintitle}}% - \usebibmacro{mla:generaleditor}% - \iffieldequalstr{eventendyear}{}% - {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}% - {\printfield{volumes}\clearfield{volumes}}% - \newunit\newblock% - \printeventdate\clearfield{eventyear}% -} - - -\renewbibmacro*{byeditorx}{% - \usebibmacro{byeditorx:internal}{a}% - \usebibmacro{byeditorx:internal}{b}% - \usebibmacro{byeditorx:internal}{c}% -} - -\newbibmacro*{byeditorx:internal}[1]{% - \ifnameundef{editor#1} - {} - {\iffieldequalstr{editor#1type}{generaleditor} - {} - {\usebibmacro{bytypestrg}{editor#1}{editor}% - \setunit{\addspace}% - \printnames[byeditor#1]{editor#1}% - \newunit}}% -} - -\newbibmacro*{mla:generaleditor}{% - \usebibmacro{mla:generaleditor:internal}{}% - \usebibmacro{mla:generaleditor:internal}{a}% - \usebibmacro{mla:generaleditor:internal}{b}% - \usebibmacro{mla:generaleditor:internal}{c}% +% These sourcemap declarations allow for .bib file oddities. Additionally, to comport with MLA expectations, they modify strings in publisher fields, drop unneeded parts of URLs, and look for patterns in a URL field to fill in missing eprint fields. If the choices here seem to do too much, use "style=mla-strict", which makes fewer accommodations and more exactly prints entries as they're defined in a given bibtex file. +\ProvidesFile{mla.bbx}[2021/06/07 v2.0 biblatex bibliography style] + +\RequireBibliographyStyle{mla-strict} + +\DeclareStyleSourcemap{ + \maps[datatype=bibtex]{ + \map[overwrite=true]{% Convert non-integer year field to addendum field + \step[fieldsource=year, match=\regexp{[a-zA-Z]}, final] + \step[fieldsource=year, match=\regexp{(.+)}, final] + \step[fieldset=addendum, fieldvalue=\regexp{$1}] + \step[fieldset=year, null] + } + \map{% Convert unpublished booktitle to title, with entrysubtype "book" + \pertype{unpublished} + \step[notfield=title, final] + \step[fieldsource=booktitle, match=\regexp{(.+)}, final] + \step[fieldset=title, fieldvalue=\regexp{$1}, final] + \step[fieldset=booktitle, null] + \step[fieldset=entrysubtype, fieldvalue={book}] + } + \map{% Fill in missing publisher for US patents + \pertype{patent} + \step[notfield=publisher, final] + \step[fieldsource=type, match=\regexp{patentus}, final] + \step[fieldset=publisher, fieldvalue={United States Patent and Trademark Office}] + } + \map[overwrite=true]{% force consistent abbreviations for editions + \step[fieldsource=edition, match={edition}, replace={ed.}] + } + \map[overwrite=true]{% drop unnecessary elements of company names ("and" suggests list) + \step[fieldsource=publisher, match={and Company}, replace={}] + \step[fieldsource=publisher, match={and Co.}, replace={}] + } + \map{% abbreviate and drop unneeded parts of publisher names + \step[fieldsource=publisher, match={University Press}, replace={UP}] + \step[fieldsource=publisher, match={University}, replace={U}] + \step[fieldsource=publisher, match=\regexp{Press\b}, replace={P}] + \step[fieldsource=publisher, match=\regexp{Corporation|Corp.|Incorporated|Inc.|Limited|Ltd.}, replace={}] + \step[fieldsource=url, match=\regexp{http(s)?://}, replace={}] + } + \map{% JSTOR url to eprint + \step[fieldsource=url, match={jstor.org}, final] + \step[fieldset=eprint, fieldvalue={JSTOR}] + % \step[fieldset=urldate, null] + } + \map{% Project Muse url to eprint + \step[fieldsource=url, match={muse.jhu.edu}, final] + \step[fieldset=eprint, fieldvalue={Project Muse}] + % \step[fieldset=urldate, null] + } + \map{% Adelaide eBooks url to eprint + \step[fieldsource=url, match={ebooks.adelaide.edu.au}, final] + \step[fieldset=eprint, origfieldval] + \step[fieldset=eprinttype, fieldvalue={adelaide}] + % \step[fieldset=urldate, null] + } + \map{% Google Books url to eprint + \step[fieldsource=url, match={books.google}, final] + \step[fieldset=eprint, fieldvalue={Google Books}] + % \step[fieldset=urldate, null] + } + \map{% EBSCO - Academic Search Complete url to eprint + \step[fieldsource=url, match={db=a9h}, final] + \step[fieldset=eprint, fieldvalue={Academic Search Complete}] + % \step[fieldset=urldate, null] + } + \map{% EBSCO - LexisNexis Academic url to eprint + \step[fieldsource=url, match={db=fdcaae48}, final] + \step[fieldset=eprint, fieldvalue={LexisNexis Academic}] + % \step[fieldset=urldate, null] + } + \map{% EBSCO - MLA Database url to eprint + \step[fieldsource=url, match={db=mzh}, final] + \step[fieldset=eprint, fieldvalue={MLA International Bibliography}] + % \step[fieldset=urldate, null] + } + \map{% USPTO url to eprint + \step[fieldsource=url, match={patft.uspto.gov}, final] + \step[fieldset=eprint, fieldvalue={USPTO Patent Full-Text and Image Database}] + } + \map{% DOI url to doi + \step[fieldsource=url, match=\regexp{dx.doi.org/(.+)}, fieldtarget=doi] + \step[fieldsource=doi, match=\regexp{http(s)?://dx.doi.org/(.+)}, replace=\regexp{$1}] + \step[fieldsource=doi, match=\regexp{dx.doi.org/(.+)}, replace=\regexp{$1}] + } + \map{ % remove isbns from Works Cited + \step[fieldsource=isbn, final] + \step[fieldset=isbn, null] + } + \map{ % remove url + urldate field from all entries that have a doi field + \step[fieldsource=doi, final] + \step[fieldset=url, null] + \step[fieldset=urldate, null] + } + } } -\newbibmacro*{mla:generaleditor:internal}[1]{% - \iffieldequalstr{editor#1type}{generaleditor}% - {\printnames{editor#1}% - \setunit{\addcomma\addspace}% - \bibstring{generaleditor}% - \newunit}% - {}% -} - -\newbibmacro*{mla:isbn/issn+doi+eprint}{% 0.7.1 modeled after biblatex-apa, here just a proof of concept and work in progress, ignoring any of the URL hiding implemented by Philip Kime - \ifthenelse{\boolean{bbx:gnoreminfo}\OR\boolean{bbx:lnoreminfo}}% - {\global\boolfalse{bbx:lnoreminfo}}% - {\printfield{isbn}\clearfield{isbn}% - \newunit\newblock% - \printfield{issn}\clearfield{issn}% - \newunit\newblock% - \printfield{isrn}\clearfield{isrn}% - \newunit\newblock% - \printfield{doi}\clearfield{doi}% - \newunit\newblock% - \usebibmacro{eprint}% - }} - -\DeclareBibliographyDriver{suppbook}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{maintitle+title}% - \newunit\newblock - \printfield[mla:capital]{entrysubtype}% - \newunit\newblock - \iffieldundef{crossref}% - {\iffieldundef{xref}% - {\usebibmacro{mla:incollection:internal}}% - {\bbx@crossref{\thefield{xref}}% - \setunit{\addspace}% - \printfield{pages}}}% - {\bbx@crossref{\thefield{crossref}}% - \setunit{\addspace}% - \printfield{pages}% - \newunit}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareCiteCommand{\bbx@crossref}% - {} - {\ifsingletitle% - {\printtext[bibhyperref]{\printnames{labelname}}% - \setunit{\space}}% - {\printnames{labelname}% - \setunit{\addcomma\addspace}% - \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}} - \setunit{\space}}}% - {}% - {} - -\DeclareBibliographyDriver{incollection}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \ifthenelse{% - \iffieldequalstr{entrysubtype}{book}% - \OR% - \iffieldequalstr{entrysubtype}{play}% - \OR% - \iffieldequalstr{entrytype}{bookinbook}}% - {\usebibmacro{title:incollection:italics}}% - {\setboolean{bbx@mla-incollection}{true}% - \usebibmacro{title}% - \setboolean{bbx@mla-incollection}{false}}% - \newunit\newblock% - \ifbool{bbx@uniquetranslator}% - {\usebibmacro{bytranslator+others}\newunit}% - {}% - \newunit\newblock% - \iffieldundef{crossref}% - {\iffieldundef{xref}% - {\usebibmacro{mla:incollection:internal}}% - {\bbx@crossref{\thefield{xref}}% - \setunit{\addspace}% - \printfield{pages}}}% - {\bbx@crossref{\thefield{crossref}}% - \setunit{\addspace}% - \printfield{pages}% - \newunit}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\newbibmacro*{mla:incollection:internal}{% - \setboolean{bbx@mla-incollection}{true}% - \usebibmacro{maintitle+booktitle}% - \ifthenelse{% - \iffieldequalstr{entrytype}{suppbook}% - \OR% - \iffieldequalstr{entrytype}{suppcollection}}% - {\setunit{\newunitpunct\bibstring{byauthor}\addspace}% - \ifnamesequal{labelname}{bookauthor}% - {\printnames[mla:last]{bookauthor}}% - {\printnames[byauthor]{bookauthor}}}% - {}% - \newunit\newblock% - \usebibmacro{byauthor}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \printfield{edition}\isdot% - \newunit - \iffieldundef{maintitle}% - {\printfield{volume}\printfield{part}}% - {}% - \newunit - \iffieldundef{volume}% - {\printfield{volumes}\clearfield{volumes}}% - {}%% - \newunit\newblock - \ifbool{bbx@publimedium}% - {}% - {\usebibmacro{series+number}}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock - \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% - \newunit\newblock - \iffieldundef{volumes}% - {}% - {\usebibmacro{mla:multivolumes}}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \setboolean{bbx@mla-incollection}{false}} - -\DeclareBibliographyDriver{inproceedings}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{title}% - \newunit\newblock - \usebibmacro{mla:proceedings:booktitle}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \ifbool{bbx@publimedium}% - {}% - {\usebibmacro{series+number}}% - \newunit\newblock - \printfield{note}% - \newunit - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{proceedings}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{mla:proceedings:booktitle}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \ifbool{bbx@publimedium}% - {}% - {\usebibmacro{series+number}}% - \newunit\newblock - \printfield{note}% - \newunit - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{unpublished}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{title}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{mla:all:type}% - \newunit\newblock - \printfield{number}% - \newunit\newblock - \printfield{library}% - \setunit{\addcomma\addspace}% - \printlist{location}% - \newunit\newblock - \printfield{addendum}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{thesis}{% - \usebibmacro{bibindex}% - \usebibmacro{author/editor+others/translator+others}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{title}% - \newunit\newblock% - \usebibmacro{mla:thesis:type}% - \newunit\newblock - \printlist{institution}% - \setunit*{\addcomma\space}% - \iffieldequalstr{entrysubtype}{published}% - {\printfield{origyear}\clearfield{origyear}}% 1.4.9 cleared origyear - {\printfield{year}}% - \newunit\newblock - \iffieldequalstr{entrysubtype}{published}% - {\ifbool{bbx@publimedium}% - {}% - {\usebibmacro{series+number}}% - \newunit% - \printlist{location}% - \setunit{\addcolon\addspace}% - \printlist{publisher}% - \setunit{\addcomma\addspace}% - \printfield{year}}% - {}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{review}{% - \usebibmacro{bibindex}% - \usebibmacro{author}% - \usebibmacro{mlabelnamepunct}% - \printfield[title:article]{title}% - \newunit\newblock% - \printfield[title:reviewedbook]{booktitle}% - \setunit{\addcomma\space}% - \ifnameundef{bookauthor}% - {\printtext[reviewededitor]{\printnames[default]{editor}}}% - {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% - \newunit\newblock - \usebibmacro{journal}% - \setunit*{\addspace}% - \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% - {\printfield[brackets]{location}% - \printtext{\printdate}% - \newunit}% - {\printfield{series}\clearfield{series}% - \setunit{\addspace}% - \printfield[default]{volume}% - \setunit*{\adddot}% - \printfield{number}\clearfield{number}% - \setunit{\addcomma\space}% - \printfield{eid}% - \setunit{\addspace}% - \usebibmacro{issue+date}% - \newunit\newblock% - \usebibmacro{issue}% - \newunit}% - \setunit{\addcolon\addspace}% - \printfield{pages}% - \newunit\newblock% - \usebibmacro{publimedium}% 1.4.9 updated - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{inreference}{% - \usebibmacro{bibindex}% - \usebibmacro{author}% - \usebibmacro{mlabelnamepunct}% - \usebibmacro{title}% - \newunit\newblock% - \iffieldundef{crossref}% - {\iffieldundef{xref}% - {\newunit\newblock - \usebibmacro{maintitle+booktitle}% - \newunit\newblock - \usebibmacro{byeditor+others}% - \newunit\newblock - \iffieldsequal{year}{edition}% - {\printfield{year}~\bibstring{edition}\clearfield{year}}% - {\printfield{edition}\isdot}% - \newunit - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit - \printfield{volumes}% - \newunit\newblock - \ifbool{bbx@publimedium}% - {}% - {\usebibmacro{series+number}}% - \newunit\newblock - \printfield{note}% - \newunit\newblock - \usebibmacro{publisher+location+date}% - \newunit\newblock - \usebibmacro{chapter+pages}% - \newunit\newblock - \usebibmacro{mla:isbn/issn+doi+eprint}% - \newunit\newblock - \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}}% - {}}% - {\bbx@crossref{\thefield{crossref}}% - \nopunct\unspace\printfield{pages}}% - \newunit% - \usebibmacro{publimedium}% - \usebibmacro{finentry}} - -\newbibmacro{mlabelnamepunct}{\setunit{\labelnamepunct}\newblock} - -\newbibmacro{mla:video:localized:last-first}[1]{% - \ifnameundef{#1}% - {}% - {\printnames{#1}\addcomma\addspace% - \ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\printfield[mla:lowercase]{#1type}}}}% -\iffootnote{\setunit{\addcomma\addspace}}{\newunit}}% - -\newbibmacro{mla:video:name:first:footnote}[1]{% - \ifnameundef{#1}% - {}% - {\printnames[byeditor]{#1}\addcomma\addspace% - \ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\printfield[mla:lowercase]{#1type}}}}% - \clearname{#1}% -} - -\newbibmacro{mla:video:localized:first-last}[1]{% - \ifnameundef{#1}% - {}% - {\ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type} \and \not % - \iffieldequalstr{#1type}{composer}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\iffieldequalstr{#1type}{composer}% - {\bibstring{composedby}}% - {\printfield[mla:capital]{#1type}}}}% - \addspace\printnames[byeditor][-\value{listtotal}]{#1}}% -\newunit}% - -\newbibmacro{mla:video:name:second:footnote}[1]{% - \ifnameundef{#1}% - {}% - {\ifthenelse{\iffieldbibstring{#1type} \and \not % - \iffieldundef{#1type} \and \not % - \iffieldequalstr{#1type}{composer}}% - {\bibstring{\thefield{#1type}}}% - {\iffieldundef{#1type}% - {\bibstring{with}}% - {\iffieldequalstr{#1type}{composer}% - {\bibstring{composedby}}% - {\printfield[mla:lowercase]{#1type}}}}% - \addspace\printnames[byeditor][-\value{listtotal}]{#1}% - }}% - -\DeclareBibliographyDriver{video}{% - \ifnamesequal{labelname}{author}% - {\usebibmacro{mla:video:localized:last-first}{author}}{}% - \ifnamesequal{labelname}{editor}% - {\usebibmacro{mla:video:localized:last-first}{editor}}{}% - \printfield{title}% - \setunit{\newunitpunct\bibstring{byauthor}\addspace}% - \printnames[byeditor]{bookauthor}% - \newunit% - \ifthenelse{\NOT\ifnamesequal{author}{labelname}% - \AND\NOT\ifnameundef{author}}% - {\usebibmacro{mla:video:localized:first-last}{author}}% - {}% - \ifthenelse{\NOT\ifnamesequal{editor}{labelname}% - \AND\NOT\ifnameundef{editor}}% - {\usebibmacro{mla:video:localized:first-last}{editor}}% - {}% - \usebibmacro{mla:video:localized:first-last}{namea}% - \usebibmacro{mla:video:localized:first-last}{nameb}% - \usebibmacro{mla:video:localized:first-last}{namec}% - \printfield{origyear}\clearfield{origyear}% - \newunit\newblock% - \printlist{publisher}% - \setunit{\addcomma\addspace}% - \printfield{year}% - \newunit\newblock% - \usebibmacro{publimedium}% 1.4.9 updated to most recent MLA format - \usebibmacro{finentry}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % % % % % % % % % % % % % % % % % % % % % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% drivers to add eventually: -% * \DeclareBibliographyDriver{misc} -% * \DeclareBibliographyDriver{artwork} -% * \DeclareBibliographyDriver{audio} -% * \DeclareBibliographyDriver{image} -% * \DeclareBibliographyDriver{movie} -% * \DeclareBibliographyDriver{music} -% * \DeclareBibliographyDriver{performance} -% -% Specifically important mainstay types to add for MLA users -% 0 support for multiple publishers? % can't do with bibtex -% * editorial -% * letter (to the editor, etc.) -% * interview - -\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% - \iffieldundef{maintitle}% - {}% - {\printtext[maintitle]{% - \printfield[noformat]{maintitle}% - \newunit - \printfield[noformat]{mainsubtitle}}% - \newunit - \printfield{maintitleaddon}% - \newunit\newblock - \iffieldundef{volume}% - {}% - {\printfield{volume}% - \printfield{part}% - \setunit{\addcolon\space}}}% - \usebibmacro{title+stitle}} - -\renewbibmacro*{series+number}{% - \iffieldundef{series}% - {}% - {\printfield{series}\clearfield{series}\setunit*{\addspace}\printfield{number}}% -} - -\renewbibmacro*{title}{% - \iffieldequalstr{entrytype}{thesis}% - {\usebibmacro{mla:title:thesis}}% - {\iffieldequalstr{entrytype}{unpublished}% - {\usebibmacro{mla:title:unpublished}}% - {\usebibmacro{title+stitle}}}}% - -\renewbibmacro*{publisher+location+date}{% - \printlist{location}% - \iflistundef{publisher}% - {\setunit*{\addcomma\space}}% - {\setunit*{\addcolon\space}}% - \printlist{publisher}% - \setunit*{\addcomma\space}% - \ifbool{bbx@nodate}{\printtext{n.d.}}% - \printdate% - \newunit} - -\newbibmacro*{mla:title:unpublished}{% - \ifthenelse{\iffieldundef{author} \AND \iffieldundef{nameaddon}}% - {\unspace}% - {}% - \iffieldundef{title}% - {}% - {\printtext[title:article]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - \newunit - \printtext[title:book]{% - \printfield[noformat]{booktitle}% - \setunit{\subtitlepunct}% - \printfield[noformat]{booksubtitle}}% - \newunit - \ifcitation% - {\printfield[mla:lowercase]{titleaddon}}% - {\printfield{titleaddon}}% - \setunit{\addcomma\addspace}} - -\newbibmacro*{name:first-last:andothers}{% - \ifthenelse{\value{listcount}=\value{liststop}\AND - \ifmorenames} - {\ifnum\value{liststop}>1 \finalandcomma\fi - \addspace\bibstring{andothers}} - {}} - -\newbibmacro*{mla:title:thesis}{% - \iffieldundef{title}% - {}% - {\iffieldequalstr{entrysubtype}{published}% - {\printtext[title:book]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - {\printtext[title:\strfield{entrytype}]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - \newunit% - \printfield{titleaddon}% - \newunit\newblock}} - -\newbibmacro*{mla:thesis:type}{% - \iffieldundef{type}% - {\printtext[mla:capital]{\bibstring{phdthesis}}}% - {\usebibmacro{mla:all:type}}}% - -\newbibmacro*{mla:all:type}{% - \ifbibstring{\thefield{type}}% - {\printtext[mla:capital]{\bibstring{\thefield{type}}}}% - {\printtext[mla:capital]{\printfield{type}}}}% - -\newbibmacro*{mla:all:type:foot}{% - \ifbibstring{\thefield{type}}% - {\printtext[noformat]{\bibstring{\thefield{type}}}}% - {\printtext[noformat]{\printfield{type}}}}% - -\renewbibmacro*{maintitle+title}{% - \usebibmacro{title}% - \newunit% - \iffieldsequal{maintitle}{title}% - {\clearfield{maintitle}% - \clearfield{mainsubtitle}% - \clearfield{maintitleaddon}}% - {}% - \iffieldundef{volume}% - {\usebibmacro{maintitle}}% - {}% - \iffieldundef{maintitle}% - {\printfield{volume}\clearfield{volume}}% - {}% - \newunit\newblock} - -\renewbibmacro*{maintitle+booktitle}{% - \usebibmacro{booktitle}% - \newunit - \iffieldundef{maintitle}% - {}% - {\usebibmacro{maintitle}% - \newunit\newblock - \iffieldundef{volume}% - {}% - {\printfield{volume}% - \printfield{part}% - \setunit{\addcolon\space}}}% - \newunit} - -\newbibmacro*{mla:proceedings:booktitle}{% - \usebibmacro{booktitle}% - \newunit% - \iffieldundef{eventtitle}% - {}% - {\printtext[default]{% - \bibstring{proceedings}\addspace\bibstring{ofseries}\addspace% - \printfield[default]{eventtitle}\isdot}}% - \setunit*{\isdot\addcomma\addspace}% - \printlist{organization}% - \setunit*{\addcomma\addspace}% - \printeventdate% - \setunit*{\addcomma\addspace}% - \printlist{institution}% - \setunit*{\addcomma\addspace}% - \printfield{venue}} - -\newbibmacro*{title+stitle}{% - \iffieldundef{title}% - {\ifthenelse{% - \iffieldequalstr{entrytype}{suppbook}% - \OR% - \iffieldequalstr{entrytype}{suppcollection}}% - {}% - {\printtext[title:\strfield{entrytype}]{% - \printfield[noformat]{booktitle}% - \setunit*{\subtitlepunct}% - \printfield[noformat]{booksubtitle}}}}% - {\printtext[title:\strfield{entrytype}]{% - \printfield[noformat]{title}% - \setunit*{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - \newunit% - \printfield[noformat]{titleaddon}% - \newunit% - \usebibmacro{byauthor}% - \iffieldundef{origtitle}% - {\usebibmacro{mla:reprint}}% - {}% -}% - -\newbibmacro*{title:incollection:italics}{% - \iffieldundef{title}% - {}% - {\printtext[title:book]{% - \printfield[noformat]{title}% - \setunit*{\subtitlepunct}% - \printfield[noformat]{subtitle}}% - \newunit% - \printfield[noformat]{titleaddon}% - \newunit% - \setboolean{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setboolean{bbx@mla-incollection}{false}% - \newunit\newblock}} - -\newbibmacro*{mla:article:journal+issuetitle}{% - \usebibmacro{issue}% - \newunit\newblock% - \iffieldundef{issuetitle}% - {}% - {\usebibmacro{byeditor+others}% - \newunit\newblock% - \bibstring{specissue}\setunit*{\addspace}}% - \ifthenelse{\iffieldequalstr{entrytype}{periodical} \AND \iffieldundef{journaltitle}}% - {\usebibmacro{periodical}}% - {\usebibmacro{journal}}% - \ifthenelse{\iffieldequalstr{entrytype}{online}}{\usebibmacro{mla:online}}{\setunit*{\addspace}}% - \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine} \or \iffieldequalstr{entrytype}{online}}% - {\printlist[brackets]{location}% - \printtext{\printdate}% - \setunit*{\addcomma\addspace}% - \printfield{version}% - \setunit*{\addcomma\addspace}% - \printfield[mla:newspaper:section]{chapter}% - }% - {\printfield{series}\clearfield{series}% - \setunit*{\addspace}% - \printfield{volume}% - \setunit*{\adddot}% - \printfield{number}\clearfield{number}% - \setunit*{\addcomma\space}% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \setunit{\addspace}% - \usebibmacro{issue+date}% - \newunit\newblock - \newunit}% -} - -\newbibmacro*{mla:online}{% - \iffieldundef{maintitle}% - {}% - {\printtext[maintitle]{% - \printfield[titlecase]{maintitle}% - \setunit{\subtitlepunct}% - \printfield[titlecase]{mainsubtitle}}}% - \newunit\newblock% - \printlist{publisher}% - \setunit*{\addcomma\addspace}% -} - -\renewbibmacro*{journal+issuetitle}{% - \usebibmacro{journal}% - \setunit*{\addspace}% - \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% - {\printlist[brackets]{location}% - \printtext{\printdate}% - \setunit{\addcomma\addspace}% - \printfield{version}% - \setunit{\addcomma\addspace}% - \printfield[mla:newspaper:section]{chapter}% - }% - {\printfield{series}\clearfield{series}% - \setunit{\addspace}% - \printfield{volume}% - \setunit*{\adddot}% - \printfield{number}\clearfield{number}% - \setunit{\addcomma\space}% - \usebibmacro{mla:isbn/issn+doi+eprint}% - \setunit{\addspace}% - \usebibmacro{issue+date}% - \newunit\newblock - \usebibmacro{issue}% - \newunit}} - -\renewbibmacro{finentry}{% - \finentry% - \iffieldundef{annotation}% - {}% - {\ifbool{bbx@annotation}% - {\begin{quotation}\noindent% - \printfield{annotation}% - \end{quotation}}% - {}}% -} - -\newbibmacro{publimedium}{% - \ifbool{bbx@publimedium}% - {\printfield[mla:capital]{howpublished}% - \ifthenelse{\iffieldundef{howpublished}\AND\boolean{bbx@guessmedium}}% - {\ifthenelse{\iffieldundef{url}\AND\iffieldundef{eprinttype}}% - {\printtext[mla:publimedium]{\bibstring{print}}}% - {\iffieldundef{eprinttype}% - {\printfield{eprint}}% - {\printfield[eprint:\strfield{eprinttype}]{eprint}}% - \newunit% - \usebibmacro{url+urldate}% - }% - }% - {}%-keep-blank - \newunit% - \usebibmacro{series+number}}% - \newunit% - \usebibmacro{mla:reprint}% - {}%-keep-blank -} - -\newbibmacro*{bbx:dashcheck}[2]{% - \ifboolexpr{ - test {\iffieldequals{fullhash}{\bbx@lasthash}} - and - not test \iffirstonpage - and - ( - not bool {bbx@inset} - or - test {\iffieldequalstr{entrysetcount}{1}} - ) - } - {#1} - {#2}} - -\endinput - - \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx index a8d62a8a1b6..1085fb5623f 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx @@ -1,11 +1,13 @@ -% mla-this.cbx, v1.9 2016/11/01 * compatible with biblatex 3.4 -% Maintained at by James Clawson. +% mla.cbx, v2.0 2021/06/07 * compatible with biblatex 3.16 +% Maintained at . % -% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements in formatting and MLA standards compliance back to James Clawson: . +% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements back to the project on GitHub or to James Clawson: . % % This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. -\ProvidesFile{mla-this.cbx}[2016/11/01 v1.9 biblatex citation style] +\ProvidesFile{mla.cbx}[2021/06/07 v2.0 biblatex citation style] + +\RequireCitationStyle{mla-footnotes} \newboolean{cbx@firstlonghand}% \DeclareBibliographyOption{firstlonghand}[true]{\setboolean{cbx@firstlonghand}{#1}} @@ -23,8 +25,7 @@ \let\everypar\mypkg@everypar }{}} -% The following is taken from biblatex-chicago-notes-df for parity of feature set. I don't like the naming of the option there ("strict"), so even though consistency trumps (or defines) clarity, I changed the name for now. -\DeclareBibliographyOption{footnoterulestrict}[true]{% 0.7 renamed +\DeclareBibliographyOption{footnoterulestrict}[true]{% \let\splitfootnoterule\footnoterule \renewcommand\footnoterule{}% \advance\skip\footins 4\p@\@plus2\p@\relax @@ -39,7 +40,7 @@ \xdef\split@prev{\the\insertpenalties}% }} -\ExecuteBibliographyOptions{citetracker=true,ibidtracker=constrict,opcittracker=constrict,singletitle,autocite=inline,uniquename=init,hyperref=true,useprefix=true,firstlonghand,annotation=false,loccittracker=strict,noremoteinfo=true,date=long,urldate=long,mancitepar=false,datezeros=false}% +\ExecuteBibliographyOptions{citetracker=true,ibidtracker=constrict,opcittracker=constrict,singletitle,autocite=inline,uniquename=init,hyperref=true,useprefix=true,firstlonghand,annotation=false,loccittracker=strict,noremoteinfo=true,date=comp,urldate=long,mancitepar=false,datezeros=false,datecirca=true,eprint=true}% \newbool{cbx@named}% \newbool{cbx@mlafootnotes}% @@ -55,7 +56,6 @@ \global\let\cbx@tempa=\empty \global\undef\cbx@lasthash} -% 0.7.1 trying to get \citereset working again after I fiddled around with \InitializeCitationStyle to add mladraft stuff \renewcommand*{\citereset}{% \usebibmacro{cite:reset} \@ifstar @@ -90,11 +90,9 @@ \savefieldcs{entrykey}{cbx@lastkey@\thefield{namehash}}% \csxdef{cbx@lastcite@\thefield{entrykey}}{\the\value{instcount}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% In-Line Citations %%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newbibmacro*{cite:mla}{% \bibhypertarget{cite\the\value{instcount}}{% @@ -128,7 +126,7 @@ \usebibmacro{cite:mla:title}}% {\ifnameundef{labelname}% {\global\boolfalse{cbx@named}\usebibmacro{cite:mla:title}}% - {\ifthenelse{\iffieldequalstr{entrytype}{incollection} \or \iffieldequalstr{entrytype}{inreference} \or \iffieldequalstr{entrytype}{review}} % + {\ifthenelse{\iffieldequalstr{entrytype}{incollection} \or \iffieldequalstr{entrytype}{inreference} \or \iffieldequalstr{entrytype}{review}}% {\ifnameundef{author}% {\global\boolfalse{cbx@named}% \usebibmacro{cite:mla:title}}% @@ -156,10 +154,23 @@ \savefield{namehash}{\cbx@lasthash}% \global\booltrue{cbx@named}}}% +\newbibmacro*{just:title:it}{% + \iffieldequalstr{entrytype}{mlasource}% + {\iffieldundef{titletype}% + {\iffieldundef{titlea}% + {\printtext[bibhyperref]{\printfield[mla:complete]{labeltitle}}}% + {\printtext[bibhyperref]{\printfield[mla:part]{labeltitle}}}}% + {\printtext[bibhyperref]{\printfield[mla:\thefield{titletype}]{labeltitle}}}}% + {\ifthenelse{\(\iffieldequalstr{entrytype}{unpublished}\OR\iffieldequalstr{entrytype}{misc}\)% + \AND\NOT\iffieldundef{entrysubtype}}% 2.0 added clear (next line) + {\printtext[bibhyperref]{\printfield[citetitle:\strfield{entrysubtype}]{labeltitle}}\clearfield{title}}% + {\iffieldequalstr{entrysubtype}{untitled}% + {\printtext[bibhyperref]{\printfield[noformat]{labeltitle}}}% + {\printtext[bibhyperref]{\printfield[citetitle:\strfield{entrytype}]{labeltitle}}}}}} + \newbibmacro*{cite:mla:title}{% \ifnameundef{labelname}% - {\printtext[bibhyperref]{% - \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}% + {\usebibmacro{just:title:it}}% {\ifsingletitle% {}% {\usebibmacro{cite:mla:title:internal}}}% @@ -185,11 +196,13 @@ \OR\iffieldequalstr{entrytype}{suppcollection}}% {\printtext[bibhyperref]{% \printfield[mla:capital]{entrysubtype}}}% - {}}}% - {\printtext[bibhyperref]{% - \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}}% + {\iffieldundef{booktitle}% 2.0 fallback to print booktitle + {}% + {\printfield{booktitle}}% + }}}% + {\usebibmacro{just:title:it}}}% -% %%%%%%%%%% for ibid, idem, opcit %%%%%%%% +%%%%%%%%%%% for ibid, idem, opcit %%%%%%%% \newbibmacro*{cite:idem}{% \ifsingletitle% @@ -201,20 +214,19 @@ \newbibmacro*{cite:ibid}{% \iffieldundef{postnote}% - {\usebibmacro{cite:mla:noibid}}% + {\usebibmacro{cite:mla:noibid}}% 2.0 - check: add check here to see whether author should be printed? {\global\booltrue{cbx@hyperpages}}% \usebibmacro{cite:save}% \iffieldundef{prenote}% {}% - {\usebibmacro{cite:mla:noibid}\usebibmacro{cite:reset}}}% + {}}% 2.0 removed confusing attempt to disambiguate with prenotes \renewcommand*{\postnotedelim}{\addspace}% \renewbibmacro*{postnote}{% - \iffieldundef{postnote} - {} - {\setunit{\addspace}% - \ifbool{cbx@hyperpages}% + \iffieldundef{postnote}% + {}% + {\ifbool{cbx@hyperpages}% {\printtext[bibhyperref]{\printfield[ibidpostnote]{postnote}}}% {\printfield[ibidpostnote]{postnote}}}}% @@ -232,414 +244,6 @@ {}}% {\usebibmacro{postnote}}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%% Footnote Citations %%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\newbibmacro*{cite:mla:foot}{% - \ifciteseen% - {\usebibmacro{cite:mla:seen}}% - {\ifbool{cbx@nofullfootnote}% - {\usebibmacro{cite:mla:seen}}% - {\usedriver{}{footcite:\strfield{entrytype}}}% - }} - -\newbibmacro*{cite:foot:name}{% - \global\boolfalse{cbx@named}% - \usebibmacro{cite:foot:author/editor}% - \savefield{namehash}{\cbx@lasthash}}% - -\newbibmacro*{cite:foot:author:review}{% - \global\boolfalse{cbx@named}% - \ifnameundef{author}% - {}% - {\usebibmacro{cite:foot:author}% - \savefield{namehash}{\cbx@lasthash}% - \global\booltrue{cbx@named}% - }}% - -\newbibmacro*{cite:foot:author/editor}% -{\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}% - {\usebibmacro{cite:foot:author}}% - {\usebibmacro{cite:foot:editor}}}% - -\newbibmacro*{cite:foot:author}{% - \ifbool{bbx@totalnames}% - {\printnames[byauthor][-\value{listtotal}]{author}}% - {\printnames[byauthor]{author}}% - \clearname{author}\global\booltrue{cbx@named}% - \printfield{nameaddon}} - -\newbibmacro*{cite:foot:editor}{% - \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% - {\ifbool{bbx@totalnames}% - {\printnames[byeditor][[-\value{listtotal}]]{editor}}% - {\printnames[byeditor]{editor}}% - \setunit*{\addcomma\space}% - \usebibmacro{editorstrg}% - \clearname{editor}\global\booltrue{cbx@named}}% - {\ifusetranslator% - {\printnames[byeditor]{translator}% - \setunit*{\addcomma\space}% - \usebibmacro{translatorstrg}% - \clearname{translator}\global\booltrue{cbx@named}}% - {}% - }}% - -\newbibmacro*{cite:foot:byauthor:incollection}{% - \ifthenelse{\ifuseauthor\OR% - \ifnameundef{author}\OR% - \ifnamesequal{author}{bookauthor}}% - {}% - {\biblcstring{byauthor}\addspace% - \printnames[byauthor]{author}}} - -\newbibmacro*{cite:foot:byauthor}{% - \ifthenelse{\ifuseauthor\OR% - \ifnameundef{author}}% - {}% - {\bibstring{byauthor}\addspace\printnames[byauthor]{author}}} - -\newbibmacro*{cite:foot:bybookauthor}{% - \ifthenelse{\ifnameundef{bookauthor}\OR% - \(\ifnamesequal{author}{bookauthor}\AND\ifuseauthor\)}% - {}% - {\bibstring{byauthor}\addspace\printnames[byauthor]{bookauthor}}} - -\DeclareBibliographyDriver{footcite:booklet}{% - \usedriver{}{footcite:book}} - -\DeclareBibliographyDriver{footcite:collection}{% - \usedriver{}{footcite:book}} - -\DeclareBibliographyDriver{footcite:reference}{% - \usedriver{}{footcite:book}} - -\DeclareBibliographyDriver{footcite:book}{% - \usebibmacro{cite:foot:name}% - \ifbool{cbx@named}% 0.7.1 - {\setunit{\newunitpunct}}% - {\setunit{}}% - \usebibmacro{cite:foot:title}% - \newunit% - \usebibmacro{cite:foot:byauthor}% - \newunit% - \usebibmacro{cite:foot:byeditor}% - \newunit% - \usebibmacro{cite:foot:bytranslator}% - \newunit% - \printfield{edition}% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \printfield{volumes}% - \newunit% - \usebibmacro{series+number}% - \setunit{\addspace}% - \usebibmacro{cite:foot:publisher+location+year}} - -\newbibmacro*{cite:foot:publisher+location+year}{% - \printtext[parens]{% - \printfield[noformat]{origyear}% - \setunit*{\addsemicolon\addspace}% - \printlist{location}% - \iflistundef{publisher}% - {\setunit*{\addspace}}% - {\setunit*{\addcolon\space}}% - \printlist{publisher}% - \newunit% - \printfield{year}}} - -\DeclareBibliographyDriver{footcite:article}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{cite:foot:title}% - \newunit% - \usebibmacro{cite:foot:byauthor:incollection}% - \newunit% - \usebibmacro{cite:foot:bytranslator}% - \newunit% - \usebibmacro{journal+issuetitle}% - \newunit% - \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% - \setunit{\addcolon\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}}% - -\newbibmacro*{cite:foot:url+urldate}{% - \printtext{\biburldatelong}% - \setunit{\addspace}% - \printfield{url}} - -\DeclareBibliographyDriver{footcite:inreference}{% - \usedriver{}{footcite:incollection}} - -\DeclareBibliographyDriver{footcite:incollection}{% - \usebibmacro{cite:foot:name}% - \ifbool{cbx@named}% 0.7.1 - {\setunit{\newunitpunct}}% - {\setunit{}}% - \ifthenelse{% - \iffieldequalstr{entrysubtype}{book}% - \OR% - \iffieldequalstr{entrysubtype}{play}}% - {\usebibmacro{cite:foot:title:incollection:italics}}% - {\usebibmacro{cite:foot:title}}% - \newunit% - \printfield[mla:lowercase]{titleaddon}% - \newunit% - \usebibmacro{cite:foot:byauthor:incollection}% - \newunit% - \ifbool{bbx@uniquetranslator}% - {\usebibmacro{cite:foot:bytranslator}\clearname{translator}}% - {}% - \ifthenelse{% - \iffieldequalstr{entrysubtype}{book}% - \OR% - \iffieldequalstr{entrysubtype}{play}}% - {\setunit{\addcomma\addspace\bibstring{in}\addspace}}% - {\newunit}% - \printtext[citetitle:book]{% - \printfield[noformat]{booktitle}% - \setunit{\subtitlepunct}% - \printfield[noformat]{booksubtitle}% - }% - \usebibmacro{cite:foot:bybookauthor}% - \newunit% - \usebibmacro{cite:foot:byeditor}% ...check for spacing - \newunit% - \iffieldsequal{year}{edition}% - {\printfield{year}~\bibstring{edition}\clearfield{year}}% - {\printfield[foot:cite:edition:format]{edition}\isdot}% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \printfield{volumes}% - \newunit% - \usebibmacro{series+number}% - \setunit{\addspace}% - \iffieldundef{year}% - {}% - {\usebibmacro{cite:foot:publisher+location+year}}% - \setunit{\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}% - }% - -\DeclareBibliographyDriver{footcite:phdthesis}{% - \usedriver{}{footcite:thesis}} - -\DeclareBibliographyDriver{footcite:thesis}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{title}% - \newunit% - \ifbibstring{\thefield{type}}% - {\printtext[default]{\bibstring{\thefield{type}}}}% - {\printtext[default]{\printfield{type}}}% - \newunit% - \printlist{institution}% - \newunit% - \iffieldequalstr{entrysubtype}{published}% - {\printfield{origyear}\clearfield{origyear}}% - {\printfield{year}}% - \newunit% - \iffieldequalstr{entrysubtype}{published}% - {\usebibmacro{series+number}% - \setunit{\addspace}% - \usebibmacro{cite:foot:publisher+location+year}}% - {}} - -\DeclareBibliographyDriver{footcite:review}{% - \usebibmacro{cite:foot:author:review}% - \ifbool{cbx@named}% - {\setunit{\newunitpunct}}% - {\setunit{}}% - \usebibmacro{cite:foot:title}% - \setunit*{\newunitpunct}% - \printtext[bibhyperref]% - {\bibstring{reviewof}\addspace\printfield{booktitle}}% - \newunit% - \ifnameundef{bookauthor}% - {\printtext[reviewededitor]{\printnames[default]{editor}}}% - {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% - \newunit% - \usebibmacro{journal+issuetitle}% - \newunit% - \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% - \setunit{\addcolon\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}}% - -\DeclareBibliographyDriver{footcite:video}{% - \setbool{cbx@named}{false}% - \ifnamesequal{labelname}{author}% - {\usebibmacro{mla:video:name:first:footnote}{author}% - \setbool{cbx@named}{true}}% - {}% - \ifnamesequal{labelname}{editor}% - {\usebibmacro{mla:video:name:first:footnote}{editor}% - \setbool{cbx@named}{true}}% - {}% - \ifbool{cbx@named}% - {\setunit{\newunitpunct}}% - {\setunit{}}% - \printtext[bibhyperref]{\printfield{title}}% - \newunit% - \ifnameundef{bookauthor}% - {}% - {\printtext[reviewedauthor]{\printnames[byeditor]{bookauthor}}}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{author}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{editor}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{namea}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{nameb}% - \newunit% - \usebibmacro{mla:video:name:second:footnote}{namec}% - \newunit% - \printfield{origyear}% - \newunit% - \printfield{howpublished}% - \newunit% - \printlist{publisher}% - \newunit% - \printfield{year}% - \addperiod} - -\DeclareBibliographyDriver{footcite:suppcollection}{% - \usedriver{}{footcite:suppbook}} - -\DeclareCiteCommand{\titleandsubtitle} - {\boolfalse{citetracker}% - \boolfalse{pagetracker}% - \usebibmacro{prenote}} - {\indexfield{indextitle}% - \printtext[citetitle]{% - \printfield[noformat]{title}% - \iffieldundef{subtitle}{}{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - {\multicitedelim} - {\usebibmacro{postnote}} - -\DeclareBibliographyDriver{footcite:suppbook}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{cite:foot:title}% - \newunit% - \printfield{entrysubtype}% - \newunit% - \usebibmacro{booktitle}% - \setunit{\newunitpunct\bibstring{bytypeauthor}\addspace}% - \ifnamesequal{labelname}{bookauthor}% 0.7 - {\printnames[mla:last]{bookauthor}}% - {\printnames[byauthor]{bookauthor}}% - \newunit% - \usebibmacro{byeditor+others}% - \newunit% - \printfield{edition}% - \newunit% - \iffieldundef{maintitle}% - {\printfield{volume}% - \printfield{part}}% - {}% - \newunit% - \printfield{volumes}% - \newunit% - \usebibmacro{series+number}% - \setunit{\addspace}% - \usebibmacro{cite:foot:publisher+location+year}% - \setunit{\addspace}% - \iffieldundef{postnote}% - {\printfield{pages}}% - {}} - -\DeclareBibliographyDriver{footcite:unpublished}{% - \usebibmacro{cite:foot:name}% - \newunit% - \usebibmacro{mla:title:unpublished}% - \newunit% - \newunit% - \printfield{note}% - \newunit% - \usebibmacro{mla:all:type:foot}% - \setunit*{\isdot\addspace}% - \printfield{number}% - \newunit% - \printfield{library}% - \setunit{\addcomma\addspace}% - \printlist{location}% - \newunit% - \printfield{addendum}% - \usebibmacro{finentry}} - -\DeclareBibliographyDriver{footcite:periodical}{% - \usebibmacro{cite:foot:editor}% - \setunit{\labelnamepunct}\newblock% - \usebibmacro{mla:article:journal+issuetitle}% - \newunit\newblock - \printfield{note}% - \setunit{\addcolon\addspace}\newblock - \iffieldundef{postnote}% - {\printfield{pages}}% - {}% - \newunit\newblock - \usebibmacro{url+urldate}% - \newunit\newblock - \printfield{addendum}% - \newunit\newblock - \usebibmacro{pageref}% - \usebibmacro{finentry}} - -\newbibmacro*{cite:foot:title}{% - \iffieldundef{title}% - {}% - {\printtext[bibhyperref]{% - \printtext[citetitle:\strfield{entrytype}]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}}% - }}% - -\newbibmacro*{cite:foot:title:incollection:italics}{% - \printtext[bibhyperref]{% - \printtext[title:book]{% - \printfield[noformat]{title}% - \setunit{\subtitlepunct}% - \printfield[noformat]{subtitle}}% - }}% - -\newbibmacro*{cite:foot:bytranslator}{% - \ifnameundef{translator}% - {}% - {\printtext[default]{\bibstring{bytranslator}\addspace% - \printnames[cite:foot:translator]{translator}}}} - -\newbibmacro*{cite:foot:byeditor}{% - \ifthenelse{\ifnameundef{editor}\OR% - \( \iffieldequalstr{entrytype}{collection}\AND% - \ifnameundef{author} \)}% - {}% - {\usebibmacro{byeditor+others}}} - -\newbibmacro*{mla:foot:postnote}{% - \iffieldundef{postnote}% - {\unspace}% - {\unspace\addspace\printfield[footpostnote]{postnote}}% - \usebibmacro{cite:reset}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% Format Declarations %%%%%%%%%%%%%%%%%% @@ -648,65 +252,48 @@ \DeclareFieldFormat{citetitle:article}{\mkbibquote{#1}} \DeclareFieldFormat{citetitle:inreference}{\mkbibquote{#1}} \DeclareFieldFormat{citetitle:book}{\mkbibemph{#1}} +\DeclareFieldFormat{citetitle:bookinbook}{\mkbibemph{#1}}% NEW in 2.0 \DeclareFieldFormat{citetitle:booklet}{\mkbibemph{#1}}% \DeclareFieldFormat{citetitle:collection}{\mkbibemph{#1}}% \DeclareFieldFormat{citetitle:reference}{\mkbibemph{#1}}% \DeclareFieldFormat{citetitle:incollection}{\mkbibquote{#1}} -\DeclareFieldFormat{citetitle:online}{\mkbibquote{#1}}% 1.4.9 +\DeclareFieldFormat{citetitle:inbook}{\mkbibquote{#1}}% NEW in 2.0 +\DeclareFieldFormat{citetitle:mvbook}{\mkbibemph{#1}}% NEW in 2.0 +\DeclareFieldFormat{citetitle:online}{\mkbibquote{#1}}% \DeclareFieldFormat{citetitle:inproceedings}{\mkbibquote{#1}} \DeclareFieldFormat{citetitle:unpublished}{\mkbibquote{#1}} \DeclareFieldFormat{citetitle:thesis}{\mkbibquote{#1}} \DeclareFieldFormat{citetitle:video}{\mkbibemph{#1}} \DeclareFieldFormat{citetitle:review}{\mkbibquote{#1}}% \DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% +\DeclareFieldFormat[mlasource]{mla:unstyled}{#1\unspace}% +\DeclareFieldFormat[mlasource]{mla:complete}{\mkbibemph{#1}\unspace}% +\DeclareFieldFormat[mlasource]{mla:part}{\mkbibquote{#1}}% \DeclareFieldFormat{ibidpostnote}{#1}% \DeclareFieldFormat{footpostnote}{#1}% \DeclareFieldFormat{mlarepeatedcites}{\fbox{#1}% \marginpar{\hfill\footnotesize{$\clubsuit$}}}% -\@ifpackagelater{biblatex}{2016/03/01}{% - \DeclareNameFormat{cite:foot:editor}{% - \nameparts{#1}% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}% - \usebibmacro{name:andothers}}% - \DeclareNameFormat{cite:foot:translator}{% - \nameparts{#1}% - \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}% - \usebibmacro{name:andothers}}% -}{% - \DeclareNameFormat{cite:foot:editor}{% - \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% - \usebibmacro{name:andothers}}% - \DeclareNameFormat{cite:foot:translator}{% - \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% - \usebibmacro{name:andothers}}% -}% -\DeclareFieldFormat{foot:cite:edition:format}{% - \ifinteger{#1}% - {\mkbibordinal{#1}~\bibstring{edition}}% - {\printtext[mla:lowercase]{#1}}} -\DeclareFieldFormat{supptotitle}% - {\bibstring{supptotitle}\addspace\mkbibemph{#1}} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% Cite Commands %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% updated for parity with mla-new.cbx \renewbibmacro*{prenote}{% - \iffieldundef{prenote} - {\global\undef\cbx@lastprenote} + \iffieldundef{prenote}% + {\global\undef\cbx@lastprenote}% {\printfield{prenote}% \prenotedelim% \ifthenelse{\iffieldequals{prenote}{\cbx@lastprenote} \and \iffieldequals{entrykey}{\cbx@lastkey}}% {}% - {\usebibmacro{cite:reset}}% + {}%\usebibmacro{cite:reset}}% 2.0 remove "clever" ibid reset with prenotes \savefield{prenote}{\cbx@lastprenote}}} \DeclareCiteCommand{\parencite}[\mkbibparens] {\usebibmacro{prenote}} {\usebibmacro{citeindex}% \usebibmacro{cite:mla}} - {} + {\multicitedelim} {\ifthenelse{\iffieldequals{postnote}{\cbx@lastpostnote} \and \iffieldequals{entrykey}{\cbx@lastkey}}% {\usebibmacro{locpostnote}}% {\usebibmacro{postnote}}% @@ -716,47 +303,43 @@ {\global\undef\cbx@lasthash\usebibmacro{prenote}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla:starred:title}} - {} + {\multicitedelim} {\usebibmacro{postnote}} -\DeclareCiteCommand{\cite}% 1.9 added support for smart switching when used in footnote - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% +\newbibmacro{mla:prenote:see}{% Suggested by moewe on StackExchange + \iffootnote + {\iffieldundef{prenote} + {\global\undef\cbx@lastprenote + \printtext{See\addspace}} + {\usebibmacro{prenote}}} + {}} + +\DeclareCiteCommand{\cite}% + {\usebibmacro{mla:prenote:see}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla}}% - {}% + {\multicitedelim}% {\usebibmacro{postnote}} -\DeclareCiteCommand{\textcite} - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% +\DeclareCiteCommand{\textcite}% + {\usebibmacro{mla:prenote:see}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla}}% - {}% + {\multicitedelim}% {\usebibmacro{postnote}} -\DeclareCiteCommand{\headlesscite}% 1.9 added alias to starred command for Chicago compatibility - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% +\DeclareCiteCommand{\headlesscite}% + {\usebibmacro{mla:prenote:see}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla:starred:title}} - {}% + {\multicitedelim}% {\usebibmacro{postnote}} -\DeclareCiteCommand*{\cite}% 1.9 added support for smart switching when used in footnote - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% +\DeclareCiteCommand*{\cite}% + {\usebibmacro{mla:prenote:see}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla:starred:title}} - {}% + {\multicitedelim}% {\usebibmacro{postnote}} \DeclareCiteCommand{\footcite}[\mkbibfootnote] @@ -767,24 +350,18 @@ \global\booltrue{cbx@mlafootnotes}% \renewcommand*{\newunitpunct}{\addcomma\space}% \usebibmacro{cite:mla:foot}} - {} + {\multicitedelim} {\usebibmacro{mla:foot:postnote}} -\DeclareCiteCommand{\fullcite}% - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% +\DeclareCiteCommand{\fullcite} + {\usebibmacro{mla:prenote:see}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla:title}} {}% {\usebibmacro{postnote}} \DeclareCiteCommand{\headlessfullcite} - {\iffootnote{\iffieldundef{prenote} - {\global\undef\cbx@lastprenote - \printtext{See\addspace}}} - \usebibmacro{prenote}}% + {\usebibmacro{mla:prenote:see}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla:starred:title}} {}% @@ -799,21 +376,82 @@ {\printnames{author}% \savefield{namehash}{\cbx@lasthash}}} {\let\cbx@lasthash\undefined}}} + + \DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote]% 2.0 changed to align with footcite + {\bibsentence% + \usebibmacro{cite:init}% + \usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \global\booltrue{cbx@mlafootnotes}% + \renewcommand*{\newunitpunct}{\addcomma\space}% + \usebibmacro{cite:mla:foot}} + {\multicitedelim} + {\usebibmacro{mla:foot:postnote}} + +\DeclareCiteCommand{\titleandsubtitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\indexfield{indextitle}% + \printtext[bibhyperref]{\printtext[citetitle]{% 2.0 added hyperref + \printfield[noformat]{title}% + \iffieldundef{subtitle}{}{\subtitlepunct}% + \printfield[noformat]{subtitle}}}}% + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\citeauthor}% + {\usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printnames[given-family]{labelname}%FUTURE add check for citeseen (to print first name on first mention) + } + {\multicitedelim} + {\usebibmacro{postnote}\usebibmacro{cite:save}} + +\DeclareCiteCommand*{\citeauthor}% + {\usebibmacro{prenote}} + {\ifciteindex + {\indexnames{labelname}} + {}% + \printnames[family]{labelname}% + % \ifentryseen{labelname}%FUTURE skeleton to check for first mention - doesn't work just now + % {\printnames{labelname}}% TRUE + % {\printnames[given-family]{labelname}}% FALSE + } + {\multicitedelim} + {\usebibmacro{postnote}\usebibmacro{cite:save}} -% \DeclareCiteCommand{\fullcite} -% {\usebibmacro{mla:fullcite:prenote}\usebibmacro{prenote}} -% {\usedriver -% {\DeclareNameAlias{sortname}{default}\DeclareNameAlias{default}{last-first}} -% {\thefield{entrytype}}} -% {\multicitedelim} -% {\usebibmacro{postnote}} +\DeclareCiteCommand{\citetitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexfield{indextitle}} + {}% + \ifthenelse{\iffieldequalstr{entrytype}{unpublished}% + \AND\NOT% + \iffieldundef{entrysubtype}}% + {\printfield[citetitle:\strfield{entrysubtype}]{labeltitle}}% + {\printfield[citetitle]{labeltitle}}} + {\multicitedelim} + {\usebibmacro{postnote}} -\DeclareCiteCommand{\smartcite}[\iffootnote\mkbibparens\mkbibfootnote]% - {\usebibmacro{prenote}} - {\usebibmacro{citeindex}% - \usebibmacro{cite:mla}} +\DeclareCiteCommand*{\citetitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\ifciteindex + {\indexfield{indextitle}} + {}% + \ifthenelse{\iffieldequalstr{entrytype}{unpublished}% + \AND\NOT% + \iffieldundef{entrysubtype}}% + {\printfield[citetitle:\strfield{entrysubtype}]{title}}% + {\printfield[citetitle]{title}}}% {\multicitedelim} - {\usebibmacro{cite:postnote}} + {\usebibmacro{postnote}} \newbibmacro*{cite:mla:starred:title}{% \ifciteibid @@ -830,11 +468,16 @@ \newbibmacro*{cite:mla:title:alone}{% \printtext[bibhyperref]{% suggested by StackExchange user Audrey - \printfield[citetitle:\strfield{entrytype}]{labeltitle}}% - \ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}% - {\printtext[bibhyperref]{% - \printfield[mla:capital]{entrysubtype}}}% - {}} + \ifthenelse{% + \iffieldequalstr{entrytype}{unpublished}\AND\NOT\iffieldundef{entrysubtype}% + }% + {\printfield[citetitle:\strfield{entrysubtype}]{labeltitle}}% + {\ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}% + {\printtext[bibhyperref]{% + \printfield[mla:capital]{entrysubtype}}}% + {\printfield[citetitle:\strfield{entrytype}]{labeltitle}}}% + }% +} \endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.dbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.dbx new file mode 100644 index 00000000000..7db24ca4440 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.dbx @@ -0,0 +1,56 @@ +% mla.dbx, v2.0 2021/06/07 * compatible with biblatex 3.16 +% Maintained at . +% +% Feel free to improve, redistribute, and adapt to your own ends. Please share improvements back to the project on GitHub or to James Clawson: . +% +% This material is subject to the LaTeX Project Public License. See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license. + +\ProvidesFile{mla.dbx}[2021/06/07 v2.0 biblatex citation style] + +\DeclareDatamodelEntrytypes{mlasource} + +\DeclareDatamodelFields[type=field, datatype=literal]{ + supplemental, + titletype, + titlea, + contributora, + versiona, + numbera, + publishera, + datea, + locationa, + supplementala, + titleb, + contributorb, + versionb, + numberb, + publisherb, + dateb, + locationb, + supplementalb +} +\DeclareDatamodelEntryfields[mlasource]{ + jkauthor, + authortype, + title, + titletype, + supplemental, + titlea, + contributora, + versiona, + numbera, + publishera, + datea, + locationa, + supplementala, + titleb, + contributorb, + versionb, + numberb, + publisherb, + dateb, + locationb, + supplementalb +} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla7.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla7.bbx new file mode 100644 index 00000000000..e43dc555cd5 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla7.bbx @@ -0,0 +1,1224 @@ +% This bbx file is provided for minimal compatibility with bibliographic entries described by the 7th edition of the MLA Handbook (2009). This style was superseded by a major redesign in the 8th edition in 2016, which was further clarified by the 9th edition in 2021. To use this older version, set "style=mla7" in the biblatex package options. To use the current version of the handbook, set "style=mla" for best outcomes. Biblatex-mla support and updates will prioritize the most recent edition of the MLA Handbook. + +\ProvidesFile{mla7.bbx}[2021/05/12 v2.0 biblatex bibliography style] + +\RequireBibliographyStyle{standard} +\DeclareLanguageMapping{american}{american-mla} +\DeclareLanguageMapping{english}{english-mla} + +\NewBibliographyString{byserieseditor} +\NewBibliographyString{reviewof} +\NewBibliographyString{specissue} +\NewBibliographyString{phd} +\NewBibliographyString{dphil} +\NewBibliographyString{lic} +\NewBibliographyString{ma} +\NewBibliographyString{ms} +\NewBibliographyString{msc} +\NewBibliographyString{mphil} +\NewBibliographyString{mlitt} +\NewBibliographyString{manuscript} +\NewBibliographyString{typescript} +\NewBibliographyString{director} +\NewBibliographyString{screenplay} +\NewBibliographyString{adaptation} +\NewBibliographyString{adaptor} +\NewBibliographyString{performer} +\NewBibliographyString{performers} +\NewBibliographyString{composer} +\NewBibliographyString{composedby} +\NewBibliographyString{producer} +\NewBibliographyString{with} +\NewBibliographyString{proceedings} +\NewBibliographyString{compilerandeditor}% +\NewBibliographyString{bycompilerandeditor}% +\NewBibliographyString{transof}% +\NewBibliographyString{volstodate}% +\NewBibliographyString{supptotitle}% +\NewBibliographyString{print}% +\NewBibliographyString{web}% +\NewBibliographyString{generaleditor}% + +\setlength{\bibitemsep}{0pt} +\renewcommand*{\mkbibnamesuffix}[1]{\addcomma\addlowpenspace#1} + +\DeclareNameAlias{author}{sortname} +\@ifpackagelater{biblatex}{2016/03/01}{% + \DeclareNameFormat{mla:last}{\nameparts{#1}\namepartfamily}% + \DeclareNameFormat{default}{% + \nameparts{#1}% + \ifgiveninits{% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}% + }{% + \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}% + }% + \usebibmacro{name:andothers}% + }% +}{% + \DeclareNameFormat{mla:last}{#1}% + \DeclareNameFormat{default}{% + \iffirstinits{% + \usebibmacro{name:first-last}{#1}{#4}{#5}{#7}% + }{% + \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}% + }% + \usebibmacro{name:andothers}% + }% +} + +\defbibenvironment{bibliography} + {\list + {} + {\setlength{\leftmargin}{\bibhang}% + \setlength{\itemindent}{-\leftmargin}% + \setlength{\itemsep}{\bibitemsep}% + \setlength{\parsep}{\bibparsep}}} + {\endlist} + {\item} + +\DeclareFieldFormat{title:article}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:online}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inreference}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:book}{\mkbibemph{#1}} +\DeclareFieldFormat{title:booklet}{\mkbibemph{#1}} +\DeclareFieldFormat{title:collection}{\mkbibemph{#1}} +\DeclareFieldFormat{title:incollection}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}% +\DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}% +\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}% +\DeclareFieldFormat{url}{$<$\url{#1}$>$}% suggested by Jay Savage +\DeclareFieldFormat{isbn}{} +\DeclareFieldFormat{pages}{#1}% +\DeclareFieldFormat[review]{volume}{#1}% +\DeclareListFormat[article]{location}% + {\unspace\mkbibbrackets{#1}\addspace}% +\DeclareFieldFormat[article]{version}{#1\isdot}% +\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}% +\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% +\DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}% +\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}% +\DeclareFieldFormat{mla:capital:web}{% + \ifhyperref% + {\href{#1}{\MakeCapital{\bibstring{web}}}}% + {\MakeCapital{\bibstring{web}}}}% +\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}% +\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}% +\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}} +\DeclareFieldFormat{mla:newspaper:section}{\bibstring{section}\addspace#1}% +\DeclareFieldFormat{library}{#1\isdot}% +\DeclareFieldFormat{reviewededitor}{\bibstring{byeditor}\addspace#1}% +\DeclareFieldFormat{reviewedauthor}{\bibstring{byauthor}\addspace#1}% +\DeclareFieldFormat{title:suppbook}{\mkbibquote{#1}} +\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}% +\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}% +\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}% +\DeclareFieldFormat{eprint:jstor}{% + \ifhyperref% + {\href{http://www.jstor.org/stable/#1}{\emph{JSTOR}}}% + {\emph{JSTOR}}}% +\DeclareFieldFormat{eprint:googlebooks}{% + \ifhyperref% + {\href{http://books.google.com/books?id=#1}{\emph{Google Books}}}% + {\emph{Google Books}}} +\DeclareFieldFormat{eprint:adelaide}{% + \ifhyperref% + {\href{#1}{\emph{eBooks@Adelaide}}}% + {\emph{eBooks@Adelaide}}} +\DeclareFieldFormat{eprint:muse}{%5 + \ifhyperref% + {\href{#1}{\emph{Project Muse}}}% + {\emph{Project Muse}}} +\DeclareFieldFormat{urldate}{#1}% + +\DeclareBibliographyAlias{booklet}{book} +\DeclareBibliographyAlias{bookinbook}{incollection}% +\DeclareBibliographyAlias{collection}{book} +\DeclareBibliographyAlias{reference}{book} + +\DeclareBibliographyAlias{inbook}{incollection}% + +\DeclareBibliographyAlias{manual}{customa} +\DeclareBibliographyAlias{misc}{customa} +\DeclareBibliographyAlias{online}{article} +\DeclareBibliographyAlias{patent}{customa} +\DeclareBibliographyAlias{report}{customa} +\DeclareBibliographyAlias{suppcollection}{suppbook} + +\DeclareFieldAlias[online]{maintitle}{journaltitle} + +\renewcommand*{\newunitpunct}{\addperiod\space} +\renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace} +\renewcommand*{\bibpagespunct}{\addperiod\space} +\renewcommand*{\subtitlepunct}{\ifterm{}{\addcolon}\space} + +\newboolean{bbx@mla-incollection} +\newbool{bbx@inset} + +\DeclareBibliographyOption{dashed}[true]{% + \ifstrequal{#1}{true} + {\ExecuteBibliographyOptions{pagetracker}% + \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} + {\ExecuteBibliographyOptions{pagetracker=false}% + \renewbibmacro*{bbx:savehash}{}}} + +\newboolean{bbx@annotation}% same as biblatex-dw +\DeclareBibliographyOption{annotation}[true]{% +\setboolean{bbx@annotation}{#1}} + +\newboolean{bbx@totalnames} +\DeclareEntryOption{totalnames}[true]{% + \setboolean{bbx@totalnames}{#1}} + +% for translated incollections where the collection has no shared translator +\newboolean{bbx@uniquetranslator}% +\DeclareEntryOption{uniquetranslator}[true]{% + \setboolean{bbx@uniquetranslator}{#1}} + +\newbool{bbx:gnoreminfo}% +\setboolean{bbx:gnoreminfo}{false} +\DeclareBibliographyOption{noremoteinfo}[true]{\setboolean{bbx:gnoreminfo}{#1}} + +\newbool{bbx:lnoreminfo}% +\setboolean{bbx:lnoreminfo}{false} +\DeclareEntryOption{noremoteinfo}[true]{\setboolean{bbx:lnoreminfo}{#1}} + +\newbool{bbx@publimedium}% +\setboolean{bbx@publimedium}{true}% +\DeclareBibliographyOption{showmedium}[true]{\setboolean{bbx@publimedium}{#1}}% + +\newbool{bbx@guessmedium}% +\setboolean{bbx@guessmedium}{true} +\DeclareBibliographyOption{guessmedium}[true]{\setboolean{bbx@guessmedium}{#1}}% + +\newboolean{bbx@nodate}% +\DeclareEntryOption{nodate}[true]{% + \setboolean{bbx@nodate}{#1}} + + +% 0.7.1 for years with open range +\newrobustcmd{\openrangeformat}[1]{% 0.7.1 + \begingroup% + \let\blx@org@rangedash=\bibrangedash% + \def\bibrangedash{% + \blx@org@rangedash% + \futurelet\@let@token\blx@openrangeformat}% + #1% + \endgroup} + +% 0.7.1 for years with open range +\newcommand*{\blx@openrangeformat}{% 0.7.1 + \ifx\@let@token\endgroup% + \openrangemark% + \fi} + +% 0.7.1 for years with open range +\newcommand*{\openrangemark}{\mbox{ }}% 0.7.1 + +\newbibmacro*{bbx:savehash}{% + \savefield{fullhash}{\bbx@lasthash}} + +\renewcommand*{\bibnamedash}{% suggested by StackExchange user Audrey + \mlanamedash% + \iffieldundef{nameaddon}{\setunit{\adddot\addspace}}{\nopunct}}% + +\newcommand*{\mlanamedash}{\printtext{\textendash\textendash\textendash}} + +\renewbibmacro*{author}{% + \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} + {\usebibmacro{bbx:dashcheck}% + {\bibnamedash}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{author}} + {\printnames{author}}% + \usebibmacro{bbx:savehash}}% + \iffieldundef{nameaddon}% + {}% + {\setunit{\addspace}% + \printfield{nameaddon}}% + \iffieldundef{authortype}% + {}% + {\setunit{\addcomma\space}% + \usebibmacro{authorstrg}}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{editor}}% + {\printnames{editor}}% + \setunit{\addcomma\space}% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editorstrg}\clearname{editor}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{editor+others}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{editor}}% + {\printnames[sortname]{editor}}% + \setunit{\addcomma\space}% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{editor+othersstrg}\clearname{editor}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{translator}}% + {\printnames[sortname]{translator}}% + \setunit{\addcomma\space}% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translatorstrg}\clearname{translator}}% + {\global\undef\bbx@lasthash}} + +\renewbibmacro*{translator+others}{% + \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}% + {\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT + \iffirstonpage}% + {\mbox{\mlanamedash\unspace\addcomma\addspace}}% + {\ifbool{bbx@totalnames}% + {\printnames[sortname][-\value{listtotal}]{translator}}% + {\printnames[sortname]{translator}}% + \setunit{\addcomma\space}% + \savefield{namehash}{\bbx@lasthash}}% + \usebibmacro{translator+othersstrg}\clearname{translator}}% + {\global\undef\bbx@lasthash}} + +\newbibmacro*{journal+issue+year+pages}{% + \usebibmacro{journal+ser+vol+num}% + \setunit{\addspace}% + \printtext[parens]{% + \iffieldundef{issue}% + {\iffieldundef{month}% + {\printfield{year}}% + {\iffieldundef{day}% + {\printfield{month}% + \setunit{\addspace}% + \printfield{year}}% + {\printtext{\bibdate}}}}% + {\printfield{issue}% + \setunit{\addspace}% + \printfield{year}}}% + \addcolon\addspace + \printfield{pages}} + +\renewbibmacro*{date}{\printdate}% + +\renewbibmacro*{url+urldate}{% + \ifthenelse{\boolean{bbx@publimedium}\AND\NOT \(\iffieldundef{url} \AND \iffieldundef{eprint}\)}% + {\printfield[mla:capital:web]{url}\newunit}% + {\iffieldundef{urlyear}{}{\setunit{\addspace}}}% + \iffieldundef{urlyear}% + {}% + {\printtext{\printurldate}% + \setunit{\addspace}}% Suggested by Stephen Brumbaugh + \ifthenelse{\boolean{bbx@publimedium}\AND\NOT\iffieldundef{url}}% + {\ifthenelse{\boolean{bbx:gnoreminfo}}% + {}% + {\setunit{\newunitpunct}% + \printfield{url}}}% + {\printfield{url}}% + } + +\DeclareBibliographyDriver{periodical}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \setunit{\labelnamepunct}\newblock% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock + \printfield{note}% + \setunit{\addcolon\addspace}\newblock + \printfield{pages}% + \newunit\newblock + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{article}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{title}% + \newunit% + \usebibmacro{bytranslator+others}% + \newunit% + \usebibmacro{mla:article:journal+issuetitle}% + \newunit\newblock + \printfield{note}% + \setunit{\addcolon\addspace}\newblock + \printfield{pages}% + \newunit\newblock + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{book}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{maintitle+title}% + \newunit\newblock% + \usebibmacro{byeditor+others}% + \newunit\newblock% + \printfield{edition}\isdot% + \newunit% + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit% + \iffieldundef{volume}% + {\printfield{volumes}\clearfield{volumes}}% + {}%% + \newunit\newblock% + \ifbool{bbx@publimedium}% + {}% + {\usebibmacro{series+number}}% + \newunit\newblock% + \printfield{note}% + \newunit\newblock% + \usebibmacro{publisher+location+date}% + \newunit\newblock% + \printfield{pages}% + \newunit\newblock% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock% + \iffieldundef{origtitle}% + {}% + {\ifbool{bbx@publimedium}% + {} + {\usebibmacro{mla:reprint}}}% + \newunit\newblock% + \iffieldundef{volumes}% + {}% + {\usebibmacro{mla:multivolumes}}% + \newunit\newblock% + \printfield[mla:sentence-case]{addendum}% + \newunit\newblock% + \usebibmacro{pageref}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\newbibmacro*{mla:reprint}{% + \iffieldundef{origtitle}% + {\newunit}% + {\iffieldundef{origlanguage} + {\setunit{\newunitpunct\bibstring{reprintof}\addspace}}% + {\setunit{\newunitpunct\bibstring{transof}\addspace}}% +}% + \printfield[title:\strfield{entrytype}]{origtitle}% + \newunit\newblock% + \printlist{origlocation}\clearlist{origlocation}% + \setunit*{\addcolon\addspace}% + \printlist{origpublisher}\clearlist{origpublisher}% + \setunit*{\addcomma\addspace}% + \ifbool{bbx@mla-incollection}% + {\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}% + {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% 1.4.9 cleared up most spurious punct + {\printorigdate\clearfield{origyear}}% + {}% + }% +} + +\newbibmacro*{mla:multivolumes}{% + \iffieldundef{maintitle}% + {}% + {\printfield[volumeof]{volume}% + \setunit{\addspace}% + \usebibmacro{maintitle}}% + \usebibmacro{mla:generaleditor}% + \iffieldequalstr{eventendyear}{}% + {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}% + {\printfield{volumes}\clearfield{volumes}}% + \newunit\newblock% + \printeventdate\clearfield{eventyear}% +} + + +\renewbibmacro*{byeditorx}{% + \usebibmacro{byeditorx:internal}{a}% + \usebibmacro{byeditorx:internal}{b}% + \usebibmacro{byeditorx:internal}{c}% +} + +\newbibmacro*{byeditorx:internal}[1]{% + \ifnameundef{editor#1} + {} + {\iffieldequalstr{editor#1type}{generaleditor} + {} + {\usebibmacro{bytypestrg}{editor#1}{editor}% + \setunit{\addspace}% + \printnames[byeditor#1]{editor#1}% + \newunit}}% +} + +\newbibmacro*{mla:generaleditor}{% + \usebibmacro{mla:generaleditor:internal}{}% + \usebibmacro{mla:generaleditor:internal}{a}% + \usebibmacro{mla:generaleditor:internal}{b}% + \usebibmacro{mla:generaleditor:internal}{c}% +} + +\newbibmacro*{mla:generaleditor:internal}[1]{% + \iffieldequalstr{editor#1type}{generaleditor}% + {\printnames{editor#1}% + \setunit{\addcomma\addspace}% + \bibstring{generaleditor}% + \newunit}% + {}% +} + +\newbibmacro*{mla:isbn/issn+doi+eprint}{% 0.7.1 modeled after biblatex-apa, here just a proof of concept and work in progress, ignoring any of the URL hiding implemented by Philip Kime + \ifthenelse{\boolean{bbx:gnoreminfo}\OR\boolean{bbx:lnoreminfo}}% + {\global\boolfalse{bbx:lnoreminfo}}% + {\printfield{isbn}\clearfield{isbn}% + \newunit\newblock% + \printfield{issn}\clearfield{issn}% + \newunit\newblock% + \printfield{isrn}\clearfield{isrn}% + \newunit\newblock% + \printfield{doi}\clearfield{doi}% + \newunit\newblock% + \usebibmacro{eprint}% + }} + +\DeclareBibliographyDriver{suppbook}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{maintitle+title}% + \newunit\newblock + \printfield[mla:capital]{entrysubtype}% + \newunit\newblock + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\usebibmacro{mla:incollection:internal}}% + {\bbx@crossref{\thefield{xref}}% + \setunit{\addspace}% + \printfield{pages}}}% + {\bbx@crossref{\thefield{crossref}}% + \setunit{\addspace}% + \printfield{pages}% + \newunit}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareCiteCommand{\bbx@crossref}% + {} + {\ifsingletitle% + {\printtext[bibhyperref]{\printnames{labelname}}% + \setunit{\space}}% + {\printnames{labelname}% + \setunit{\addcomma\addspace}% + \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}} + \setunit{\space}}}% + {}% + {} + +\DeclareBibliographyDriver{incollection}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}% + \OR% + \iffieldequalstr{entrytype}{bookinbook}}% + {\usebibmacro{title:incollection:italics}}% + {\setboolean{bbx@mla-incollection}{true}% + \usebibmacro{title}% + \setboolean{bbx@mla-incollection}{false}}% + \newunit\newblock% + \ifbool{bbx@uniquetranslator}% + {\usebibmacro{bytranslator+others}\newunit}% + {}% + \newunit\newblock% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\usebibmacro{mla:incollection:internal}}% + {\bbx@crossref{\thefield{xref}}% + \setunit{\addspace}% + \printfield{pages}}}% + {\bbx@crossref{\thefield{crossref}}% + \setunit{\addspace}% + \printfield{pages}% + \newunit}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\newbibmacro*{mla:incollection:internal}{% + \setboolean{bbx@mla-incollection}{true}% + \usebibmacro{maintitle+booktitle}% + \ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {\setunit{\newunitpunct\bibstring{byauthor}\addspace}% + \ifnamesequal{labelname}{bookauthor}% + {\printnames[mla:last]{bookauthor}}% + {\printnames[byauthor]{bookauthor}}}% + {}% + \newunit\newblock% + \usebibmacro{byauthor}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \printfield{edition}\isdot% + \newunit + \iffieldundef{maintitle}% + {\printfield{volume}\printfield{part}}% + {}% + \newunit + \iffieldundef{volume}% + {\printfield{volumes}\clearfield{volumes}}% + {}%% + \newunit\newblock + \ifbool{bbx@publimedium}% + {}% + {\usebibmacro{series+number}}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% + \newunit\newblock + \iffieldundef{volumes}% + {}% + {\usebibmacro{mla:multivolumes}}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \setboolean{bbx@mla-incollection}{false}} + +\DeclareBibliographyDriver{inproceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{title}% + \newunit\newblock + \usebibmacro{mla:proceedings:booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \ifbool{bbx@publimedium}% + {}% + {\usebibmacro{series+number}}% + \newunit\newblock + \printfield{note}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{proceedings}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{mla:proceedings:booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \ifbool{bbx@publimedium}% + {}% + {\usebibmacro{series+number}}% + \newunit\newblock + \printfield{note}% + \newunit + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{unpublished}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{title}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{mla:all:type}% + \newunit\newblock + \printfield{number}% + \newunit\newblock + \printfield{library}% + \setunit{\addcomma\addspace}% + \printlist{location}% + \newunit\newblock + \printfield{addendum}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{thesis}{% + \usebibmacro{bibindex}% + \usebibmacro{author/editor+others/translator+others}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{title}% + \newunit\newblock% + \usebibmacro{mla:thesis:type}% + \newunit\newblock + \printlist{institution}% + \setunit*{\addcomma\space}% + \iffieldequalstr{entrysubtype}{published}% + {\printfield{origyear}\clearfield{origyear}}% 1.4.9 cleared origyear + {\printfield{year}}% + \newunit\newblock + \iffieldequalstr{entrysubtype}{published}% + {\ifbool{bbx@publimedium}% + {}% + {\usebibmacro{series+number}}% + \newunit% + \printlist{location}% + \setunit{\addcolon\addspace}% + \printlist{publisher}% + \setunit{\addcomma\addspace}% + \printfield{year}}% + {}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{review}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \usebibmacro{mlabelnamepunct}% + \printfield[title:article]{title}% + \newunit\newblock% + \printfield[title:reviewedbook]{booktitle}% + \setunit{\addcomma\space}% + \ifnameundef{bookauthor}% + {\printtext[reviewededitor]{\printnames[default]{editor}}}% + {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% + \newunit\newblock + \usebibmacro{journal}% + \setunit*{\addspace}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% + {\printfield[brackets]{location}% + \printtext{\printdate}% + \newunit}% + {\printfield{series}\clearfield{series}% + \setunit{\addspace}% + \printfield[default]{volume}% + \setunit*{\adddot}% + \printfield{number}\clearfield{number}% + \setunit{\addcomma\space}% + \printfield{eid}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \newunit\newblock% + \usebibmacro{issue}% + \newunit}% + \setunit{\addcolon\addspace}% + \printfield{pages}% + \newunit\newblock% + \usebibmacro{publimedium}% 1.4.9 updated + \usebibmacro{finentry}} + +\DeclareBibliographyDriver{inreference}{% + \usebibmacro{bibindex}% + \usebibmacro{author}% + \usebibmacro{mlabelnamepunct}% + \usebibmacro{title}% + \newunit\newblock% + \iffieldundef{crossref}% + {\iffieldundef{xref}% + {\newunit\newblock + \usebibmacro{maintitle+booktitle}% + \newunit\newblock + \usebibmacro{byeditor+others}% + \newunit\newblock + \iffieldsequal{year}{edition}% + {\printfield{year}~\bibstring{edition}\clearfield{year}}% + {\printfield{edition}\isdot}% + \newunit + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit + \printfield{volumes}% + \newunit\newblock + \ifbool{bbx@publimedium}% + {}% + {\usebibmacro{series+number}}% + \newunit\newblock + \printfield{note}% + \newunit\newblock + \usebibmacro{publisher+location+date}% + \newunit\newblock + \usebibmacro{chapter+pages}% + \newunit\newblock + \usebibmacro{mla:isbn/issn+doi+eprint}% + \newunit\newblock + \ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}% + \newunit\newblock + \printfield{addendum}% + \newunit\newblock + \usebibmacro{pageref}}% + {}}% + {\bbx@crossref{\thefield{crossref}}% + \nopunct\unspace\printfield{pages}}% + \newunit% + \usebibmacro{publimedium}% + \usebibmacro{finentry}} + +\newbibmacro{mlabelnamepunct}{\setunit{\labelnamepunct}\newblock} + +\newbibmacro{mla:video:localized:last-first}[1]{% + \ifnameundef{#1}% + {}% + {\printnames{#1}\addcomma\addspace% + \ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\printfield[mla:lowercase]{#1type}}}}% +\iffootnote{\setunit{\addcomma\addspace}}{\newunit}}% + +\newbibmacro{mla:video:name:first:footnote}[1]{% + \ifnameundef{#1}% + {}% + {\printnames[byeditor]{#1}\addcomma\addspace% + \ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\printfield[mla:lowercase]{#1type}}}}% + \clearname{#1}% +} + +\newbibmacro{mla:video:localized:first-last}[1]{% + \ifnameundef{#1}% + {}% + {\ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type} \and \not % + \iffieldequalstr{#1type}{composer}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\iffieldequalstr{#1type}{composer}% + {\bibstring{composedby}}% + {\printfield[mla:capital]{#1type}}}}% + \addspace\printnames[byeditor][-\value{listtotal}]{#1}}% +\newunit}% + +\newbibmacro{mla:video:name:second:footnote}[1]{% + \ifnameundef{#1}% + {}% + {\ifthenelse{\iffieldbibstring{#1type} \and \not % + \iffieldundef{#1type} \and \not % + \iffieldequalstr{#1type}{composer}}% + {\bibstring{\thefield{#1type}}}% + {\iffieldundef{#1type}% + {\bibstring{with}}% + {\iffieldequalstr{#1type}{composer}% + {\bibstring{composedby}}% + {\printfield[mla:lowercase]{#1type}}}}% + \addspace\printnames[byeditor][-\value{listtotal}]{#1}% + }}% + +\DeclareBibliographyDriver{video}{% + \ifnamesequal{labelname}{author}% + {\usebibmacro{mla:video:localized:last-first}{author}}{}% + \ifnamesequal{labelname}{editor}% + {\usebibmacro{mla:video:localized:last-first}{editor}}{}% + \printfield{title}% + \setunit{\newunitpunct\bibstring{byauthor}\addspace}% + \printnames[byeditor]{bookauthor}% + \newunit% + \ifthenelse{\NOT\ifnamesequal{author}{labelname}% + \AND\NOT\ifnameundef{author}}% + {\usebibmacro{mla:video:localized:first-last}{author}}% + {}% + \ifthenelse{\NOT\ifnamesequal{editor}{labelname}% + \AND\NOT\ifnameundef{editor}}% + {\usebibmacro{mla:video:localized:first-last}{editor}}% + {}% + \usebibmacro{mla:video:localized:first-last}{namea}% + \usebibmacro{mla:video:localized:first-last}{nameb}% + \usebibmacro{mla:video:localized:first-last}{namec}% + \printfield{origyear}\clearfield{origyear}% + \newunit\newblock% + \printlist{publisher}% + \setunit{\addcomma\addspace}% + \printfield{year}% + \newunit\newblock% + \usebibmacro{publimedium}% 1.4.9 updated to most recent MLA format + \usebibmacro{finentry}} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % % % % % % % % % % % % % % % % % % % % % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% drivers to add eventually: +% * \DeclareBibliographyDriver{misc} +% * \DeclareBibliographyDriver{artwork} +% * \DeclareBibliographyDriver{audio} +% * \DeclareBibliographyDriver{image} +% * \DeclareBibliographyDriver{movie} +% * \DeclareBibliographyDriver{music} +% * \DeclareBibliographyDriver{performance} +% +% Specifically important mainstay types to add for MLA users +% 0 support for multiple publishers? % can't do with bibtex +% * editorial +% * letter (to the editor, etc.) +% * interview + +\newbibmacro*{mtitle+mstitle+vol+part+title+stitle}{% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[noformat]{maintitle}% + \newunit + \printfield[noformat]{mainsubtitle}}% + \newunit + \printfield{maintitleaddon}% + \newunit\newblock + \iffieldundef{volume}% + {}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \usebibmacro{title+stitle}} + +\renewbibmacro*{series+number}{% + \iffieldundef{series}% + {}% + {\printfield{series}\clearfield{series}\setunit*{\addspace}\printfield{number}}% +} + +\renewbibmacro*{title}{% + \iffieldequalstr{entrytype}{thesis}% + {\usebibmacro{mla:title:thesis}}% + {\iffieldequalstr{entrytype}{unpublished}% + {\usebibmacro{mla:title:unpublished}}% + {\usebibmacro{title+stitle}}}}% + +\renewbibmacro*{publisher+location+date}{% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addcomma\space}}% + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \setunit*{\addcomma\space}% + \ifbool{bbx@nodate}{\printtext{n.d.}}% + \printdate% + \newunit} + +\newbibmacro*{mla:title:unpublished}{% + \ifthenelse{\iffieldundef{author} \AND \iffieldundef{nameaddon}}% + {\unspace}% + {}% + \iffieldundef{title}% + {}% + {\printtext[title:article]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \newunit + \printtext[title:book]{% + \printfield[noformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{booksubtitle}}% + \newunit + \ifcitation% + {\printfield[mla:lowercase]{titleaddon}}% + {\printfield{titleaddon}}% + \setunit{\addcomma\addspace}} + +\newbibmacro*{name:first-last:andothers}{% + \ifthenelse{\value{listcount}=\value{liststop}\AND + \ifmorenames} + {\ifnum\value{liststop}>1 \finalandcomma\fi + \addspace\bibstring{andothers}} + {}} + +\newbibmacro*{mla:title:thesis}{% + \iffieldundef{title}% + {}% + {\iffieldequalstr{entrysubtype}{published}% + {\printtext[title:book]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \newunit% + \printfield{titleaddon}% + \newunit\newblock}} + +\newbibmacro*{mla:thesis:type}{% + \iffieldundef{type}% + {\printtext[mla:capital]{\bibstring{phdthesis}}}% + {\usebibmacro{mla:all:type}}}% + +\newbibmacro*{mla:all:type}{% + \ifbibstring{\thefield{type}}% + {\printtext[mla:capital]{\bibstring{\thefield{type}}}}% + {\printtext[mla:capital]{\printfield{type}}}}% + +\newbibmacro*{mla:all:type:foot}{% + \ifbibstring{\thefield{type}}% + {\printtext[noformat]{\bibstring{\thefield{type}}}}% + {\printtext[noformat]{\printfield{type}}}}% + +\renewbibmacro*{maintitle+title}{% + \usebibmacro{title}% + \newunit% + \iffieldsequal{maintitle}{title}% + {\clearfield{maintitle}% + \clearfield{mainsubtitle}% + \clearfield{maintitleaddon}}% + {}% + \iffieldundef{volume}% + {\usebibmacro{maintitle}}% + {}% + \iffieldundef{maintitle}% + {\printfield{volume}\clearfield{volume}}% + {}% + \newunit\newblock} + +\renewbibmacro*{maintitle+booktitle}{% + \usebibmacro{booktitle}% + \newunit + \iffieldundef{maintitle}% + {}% + {\usebibmacro{maintitle}% + \newunit\newblock + \iffieldundef{volume}% + {}% + {\printfield{volume}% + \printfield{part}% + \setunit{\addcolon\space}}}% + \newunit} + +\newbibmacro*{mla:proceedings:booktitle}{% + \usebibmacro{booktitle}% + \newunit% + \iffieldundef{eventtitle}% + {}% + {\printtext[default]{% + \bibstring{proceedings}\addspace\bibstring{ofseries}\addspace% + \printfield[default]{eventtitle}\isdot}}% + \setunit*{\isdot\addcomma\addspace}% + \printlist{organization}% + \setunit*{\addcomma\addspace}% + \printeventdate% + \setunit*{\addcomma\addspace}% + \printlist{institution}% + \setunit*{\addcomma\addspace}% + \printfield{venue}} + +\newbibmacro*{title+stitle}{% + \iffieldundef{title}% + {\ifthenelse{% + \iffieldequalstr{entrytype}{suppbook}% + \OR% + \iffieldequalstr{entrytype}{suppcollection}}% + {}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{booktitle}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{booksubtitle}}}}% + {\printtext[title:\strfield{entrytype}]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + \newunit% + \printfield[noformat]{titleaddon}% + \newunit% + \usebibmacro{byauthor}% + \iffieldundef{origtitle}% + {\usebibmacro{mla:reprint}}% + {}% +}% + +\newbibmacro*{title:incollection:italics}{% + \iffieldundef{title}% + {}% + {\printtext[title:book]{% + \printfield[noformat]{title}% + \setunit*{\subtitlepunct}% + \printfield[noformat]{subtitle}}% + \newunit% + \printfield[noformat]{titleaddon}% + \newunit% + \setboolean{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setboolean{bbx@mla-incollection}{false}% + \newunit\newblock}} + +\newbibmacro*{mla:article:journal+issuetitle}{% + \usebibmacro{issue}% + \newunit\newblock% + \iffieldundef{issuetitle}% + {}% + {\usebibmacro{byeditor+others}% + \newunit\newblock% + \bibstring{specissue}\setunit*{\addspace}}% + \ifthenelse{\iffieldequalstr{entrytype}{periodical} \AND \iffieldundef{journaltitle}}% + {\usebibmacro{periodical}}% + {\usebibmacro{journal}}% + \ifthenelse{\iffieldequalstr{entrytype}{online}}{\usebibmacro{mla:online}}{\setunit*{\addspace}}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine} \or \iffieldequalstr{entrytype}{online}}% + {\printlist[brackets]{location}% + \printtext{\printdate}% + \setunit*{\addcomma\addspace}% + \printfield{version}% + \setunit*{\addcomma\addspace}% + \printfield[mla:newspaper:section]{chapter}% + }% + {\printfield{series}\clearfield{series}% + \setunit*{\addspace}% + \printfield{volume}% + \setunit*{\adddot}% + \printfield{number}\clearfield{number}% + \setunit*{\addcomma\space}% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \newunit\newblock + \newunit}% +} + +\newbibmacro*{mla:online}{% + \iffieldundef{maintitle}% + {}% + {\printtext[maintitle]{% + \printfield[titlecase]{maintitle}% + \setunit{\subtitlepunct}% + \printfield[titlecase]{mainsubtitle}}}% + \newunit\newblock% + \printlist{publisher}% + \setunit*{\addcomma\addspace}% +} + +\renewbibmacro*{journal+issuetitle}{% + \usebibmacro{journal}% + \setunit*{\addspace}% + \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}% + {\printlist[brackets]{location}% + \printtext{\printdate}% + \setunit{\addcomma\addspace}% + \printfield{version}% + \setunit{\addcomma\addspace}% + \printfield[mla:newspaper:section]{chapter}% + }% + {\printfield{series}\clearfield{series}% + \setunit{\addspace}% + \printfield{volume}% + \setunit*{\adddot}% + \printfield{number}\clearfield{number}% + \setunit{\addcomma\space}% + \usebibmacro{mla:isbn/issn+doi+eprint}% + \setunit{\addspace}% + \usebibmacro{issue+date}% + \newunit\newblock + \usebibmacro{issue}% + \newunit}} + +\renewbibmacro{finentry}{% + \finentry% + \iffieldundef{annotation}% + {}% + {\ifbool{bbx@annotation}% + {\begin{quotation}\noindent% + \printfield{annotation}% + \end{quotation}}% + {}}% +} + +\newbibmacro{publimedium}{% + \ifbool{bbx@publimedium}% + {\printfield[mla:capital]{howpublished}% + \ifthenelse{\iffieldundef{howpublished}\AND\boolean{bbx@guessmedium}}% + {\ifthenelse{\iffieldundef{url}\AND\iffieldundef{eprinttype}}% + {\printtext[mla:publimedium]{\bibstring{print}}}% + {\iffieldundef{eprinttype}% + {\printfield{eprint}}% + {\printfield[eprint:\strfield{eprinttype}]{eprint}}% + \newunit% + \usebibmacro{url+urldate}% + }% + }% + {}%-keep-blank + \newunit% + \usebibmacro{series+number}}% + \newunit% + \usebibmacro{mla:reprint}% + {}%-keep-blank +} + +\newbibmacro*{bbx:dashcheck}[2]{% + \ifboolexpr{ + test {\iffieldequals{fullhash}{\bbx@lasthash}} + and + not test \iffirstonpage + and + ( + not bool {bbx@inset} + or + test {\iffieldequalstr{entrysetcount}{1}} + ) + } + {#1} + {#2}} + +\endinput + + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla7.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla7.cbx new file mode 100644 index 00000000000..b781433e83a --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla7.cbx @@ -0,0 +1,5 @@ +\ProvidesFile{mla7.cbx}[2021/05/12 v2.0 biblatex bibliography style] + +\RequireCitationStyle{mla} + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/portuguese-mla.lbx b/Master/texmf-dist/tex/latex/biblatex-mla/portuguese-mla.lbx index ac58fc1ac0f..c9300b8a3ab 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/portuguese-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/portuguese-mla.lbx @@ -16,17 +16,17 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} - {\mkdatezeros{\thefield{#3}}% + {\mkdayzeros{\thefield{#3}}% \iffieldundef{#2}{}{/}}% \iffieldundef{#2} {} - {\mkdatezeros{\thefield{#2}}% + {\mkmonthzeros{\thefield{#2}}% \iffieldundef{#1}{}{/}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% } \DeclareBibliographyStrings{% @@ -87,19 +87,36 @@ msc = {{Tese de Mestr\adddot}{Tese de Mestr\adddot}},% 0.6 mphil = {{Tese de Mestr\adddot}{Tese de Mestr\adddot}},% 0.6 mlitt = {{Tese de Mestr\adddot}{Tese de Mestr\adddot}},% 0.6 - % manuscript = {{ms\adddot}{ms\adddot}},% FIXME - % typescript = {{ts\adddot}{ts\adddot}},% FIXME - % director = {{dir\adddot}{dir\adddot}},% FIXME - % screenplay = {{adapt\adddot}{adapt\adddot}},% FIXME - % adaptation = {{adapt\adddot}{adapt\adddot}},% FIXME - % adaptor = {{adapt\adddot}{adapt\adddot}},% FIXME - % performer = {{perf\adddot}{perf\adddot}},% FIXME - % performers = {{perf\adddot}{perf\adddot}},% FIXME - % composer = {{composer\adddot}{composer\adddot}},% FIXME - % composedby = {{composed~by}{composed~by}},% FIXME - % producer = {{prod\adddot}{prod\adddot}},% FIXME - % with = {{with}{with}},% FIXME - % proceedings = {{proc\adddot}{proc\adddot}},% FIXME + % FIXME 2.0 check the following for quality of Portuguese translation + manuscript = {{manuscrito}{manuscrito}}, + patentde = {{Deutsches Patent- und Markenamt}{DE}},% localised in German + patenteu = {{Escritório Europeu de Patentes}{EU}}, + patentfr = {{Institut National de la Propriété Industrielle}{FR}},% localised in French + patentuk = {{The Intellectual Property Office of the United Kingdom}{UK}},% localised in English + patentus = {{United States Patent and Trademark Office}{US}},% localised in English + % patreq = {{patent request}{pat\adddot\ req\adddot}}, + % patreqde = {{German patent request}{German pat\adddot\ req\adddot}}, + % patreqeu = {{European patent request}{European pat\adddot\ req\adddot}}, + patreqfr = {{Institut National de la Propriété Industrielle}{FR pat\adddot req\adddot}}, + % patrequk = {{British patent request}{British pat\adddot\ req\adddot}}, + % patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}}, + typescript = {{texto datilografado}{texto datilografado}}, + director = {{dir\adddot}{dir\adddot}}, + screenplay = {{adapt\adddot}{adapt\adddot}}, + adaptation = {{adapt\adddot}{adapt\adddot}}, + adaptor = {{adapt\adddot}{adapt\adddot}}, + performer = {{artista}{artista}, + performers = {{artistas}{artistas}, + composer = {{comp\adddot}{comp\adddot}}, + composedby = {{composto~por}{composto~por}}, + producer = {{prod\adddot}{prod\adddot}}, + with = {{com}{com}}, + proceedings = {{processo}{processo}}, + transof = {{tradução~de}{tradução~de}}, + volstodate = {{volumes até hoje}{volumes até hoje}}, + supptotitle = {{a}{a}}, + print = {{impressão}{impressão}}, + web = {{rede}{rede}}, } \endinput \ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/spanish-mla.lbx b/Master/texmf-dist/tex/latex/biblatex-mla/spanish-mla.lbx index f8b1a8ebc23..3414eb8ac91 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/spanish-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/spanish-mla.lbx @@ -18,17 +18,17 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} - {\mkdatezeros{\thefield{#3}}% + {\mkdayzeros{\thefield{#3}}% \iffieldundef{#2}{}{/}}% \iffieldundef{#2} {} - {\mkdatezeros{\thefield{#2}}% + {\mkmonthzeros{\thefield{#2}}% \iffieldundef{#1}{}{/}}% - \mkdatezeros{\thefield{#1}}}% + \mkyearzeros{\thefield{#1}}}% } \DeclareBibliographyStrings{% @@ -91,19 +91,36 @@ msc = {{MSc\addabbrvspace tesis}{MSc\addabbrvspace tesis}},% 0.6 mphil = {{MPhil\addabbrvspace tesis}{MPhil\addabbrvspace tesis}},% 0.6 mlitt = {{MLitt\addabbrvspace tesis}{MLitt\addabbrvspace tesis}},% 0.6 - % manuscript = {{ms\adddot}{ms\adddot}},% FIXME - % typescript = {{ts\adddot}{ts\adddot}},% FIXME - % director = {{dir\adddot}{dir\adddot}},% FIXME - % screenplay = {{adapt\adddot}{adapt\adddot}},% FIXME - % adaptation = {{adapt\adddot}{adapt\adddot}},% FIXME - % adaptor = {{adapt\adddot}{adapt\adddot}},% FIXME - % performer = {{perf\adddot}{perf\adddot}},% FIXME - % performers = {{perf\adddot}{perf\adddot}},% FIXME - % composer = {{composer\adddot}{composer\adddot}},% FIXME - % composedby = {{composed~by}{composed~by}},% FIXME - % producer = {{prod\adddot}{prod\adddot}},% FIXME - % with = {{with}{with}},% FIXME - % proceedings = {{proc\adddot}{proc\adddot}},% FIXME + % FIXME 2.0 check the following for quality of Spanish translation + manuscript = {{manuscrito}{manuscrito}}, + patentde = {{Deutsches Patent- und Markenamt}{DE}},% localised in German + patenteu = {{Oficina Europea de Patentes}{EU}}, + patentfr = {{Institut National de la Propriété Industrielle}{FR}},% localised in French + patentuk = {{The Intellectual Property Office of the United Kingdom}{UK}},% localised in English + patentus = {{United States Patent and Trademark Office}{US}},% localised in English + % patreq = {{patent request}{pat\adddot\ req\adddot}}, + % patreqde = {{German patent request}{German pat\adddot\ req\adddot}}, + % patreqeu = {{European patent request}{European pat\adddot\ req\adddot}}, + patreqfr = {{Institut National de la Propriété Industrielle}{FR pat\adddot req\adddot}}, + % patrequk = {{British patent request}{British pat\adddot\ req\adddot}}, + % patrequs = {{U.S\adddotspace patent request}{U.S\adddotspace pat\adddot\ req\adddot}}, + typescript = {{mecanografiado}{mecanografiado}}, + director = {{dir\adddot}{dir\adddot}}, + screenplay = {{adapt\adddot}{adapt\adddot}}, + adaptation = {{adapt\adddot}{adapt\adddot}}, + adaptor = {{adapt\adddot}{adapt\adddot}}, + performer = {{ejecutante}{ejecutante}, + performers = {{ejecutantes}{ejecutantes}, + composer = {{comp\adddot}{comp\adddot}}, + composedby = {{compuesto~por}{compuesto~por}}, + producer = {{prod\adddot}{prod\adddot}}, + with = {{con}{con}}, + proceedings = {{actas}{actas}}, + transof = {{traducción~de}{traducción~de}}, + volstodate = {{volúmenes hasta ahora}{volúmenes hasta ahora}}, + supptotitle = {{a}{a}}, + print = {{impresión}{impresión}}, + web = {{web}{web}}, } \endinput \ No newline at end of file -- cgit v1.2.3