diff options
author | Karl Berry <karl@freefriends.org> | 2016-11-06 22:17:55 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-11-06 22:17:55 +0000 |
commit | c4687e0b7130f9b9bcf46645596fb9ecbb301ce5 (patch) | |
tree | 32778edfc7f4f4304dc554df7a04a9c9fa0ce003 /Master/texmf-dist/tex | |
parent | 5ccf37f9573c3df56be24870945e3ccf5c359fce (diff) |
biblatex-mla (6nov16)
git-svn-id: svn://tug.org/texlive/trunk@42445 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
9 files changed, 2207 insertions, 83 deletions
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 893c7d2e6e3..3c5d93cc149 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/american-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/american-mla.lbx @@ -8,13 +8,13 @@ \protected\def\mkbibdatelong#1#2#3{% \iffieldundef{#3} {} - {\thefield{#3}% + {\mkdatezeros{\thefield{#3}}% \iffieldundef{#2}{}{\nobreakspace}}% \iffieldundef{#2} {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \stripzeros{\thefield{#1}}}% + \thefield{#1}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} 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 11fea742cdf..1e98c7d73cb 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/english-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/english-mla.lbx @@ -13,7 +13,7 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \stripzeros{\thefield{#1}}}% + \mkdatezeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} @@ -37,11 +37,11 @@ % 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}}, - bytranslator = {{translated by}{trans\adddot}}, - byeditor = {{edited by}{ed\adddot}}, + bytranslator = {{translated by}{translated by}}, + byeditor = {{edited by}{edited by}}, % byserieseditor = {{general editor}{general editor}},% not used? - page = {{\unskip}{\unskip}}, - pages = {{\unskip}{\unskip}}, + % page = {{\unskip}{\unskip}}, + % pages = {{\unskip}{\unskip}}, byeditortr = {{ed\adddotspace and trans\adddot}{ed\adddotspace and trans\adddot}}, byeditorco = {{ed\adddotspace and comm\adddot}{ed\adddotspace and comm\adddot}}, byeditoran = {{ed\adddotspace and annot\adddot}{ed\adddotspace and annot\adddot}}, 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 a3b546fd38b..46a0dae5048 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/italian-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/italian-mla.lbx @@ -17,7 +17,7 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \stripzeros{\thefield{#1}}}% + \mkdatezeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx new file mode 100644 index 00000000000..ee436e14d22 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.bbx @@ -0,0 +1,1292 @@ +% mla.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 +% Maintained at <https://github.com/jmclawson/biblatex-mla> 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: <clawson@gmail.com>. +% +% 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 + + +\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 new file mode 100644 index 00000000000..21923bd97ac --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla-new.cbx @@ -0,0 +1,834 @@ +% mla.cbx, v1.9 2016/11/01 * compatible with biblatex 3.4 +% Maintained at <https://github.com/jmclawson/biblatex-mla> 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: <clawson@gmail.com>. +% +% 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}}}% + {}} + + +\endinput diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx index f29d070c119..cae6845d713 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx @@ -1,11 +1,11 @@ -% mla.bbx, v1.6 2016/07/08 * compatible with biblatex 3.3 +% mla-this.bbx, v1.9 2016/11/01 * compatible with biblatex 3.4 % Maintained at <https://github.com/jmclawson/biblatex-mla> 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: <clawson@gmail.com>. % % 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.bbx}[2016/07/08 v1.6 biblatex bibliography style] +\ProvidesFile{mla-this.bbx}[2016/11/01 v1.9 biblatex bibliography style] \RequireBibliographyStyle{standard} \DeclareLanguageMapping{american}{american-mla} @@ -71,14 +71,6 @@ }% } -% \renewenvironment*{thebibliography} -% {\list -% {} -% {\setlength{\leftmargin}{\bibhang}% -% \setlength{\itemindent}{-\leftmargin}% -% \setlength{\itemsep}{\bibitemsep}% -% \setlength{\parsep}{\bibparsep}}} -% {\endlist} \defbibenvironment{bibliography} {\list {} @@ -96,7 +88,7 @@ \DeclareFieldFormat{title:booklet}{\mkbibemph{#1}} \DeclareFieldFormat{title:collection}{\mkbibemph{#1}} \DeclareFieldFormat{title:incollection}{\mkbibquote{#1}}% -\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}%platypus 1.0 +\DeclareFieldFormat{title:inbook}{\mkbibquote{#1}}% \DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}% \DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}% \DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}% @@ -109,7 +101,7 @@ {\unspace\mkbibbrackets{#1}\addspace}% \DeclareFieldFormat[article]{version}{#1\isdot}% \DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}% -\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% 1.4.9 platypus don't forget to localize +\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% \DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}% \DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}% \DeclareFieldFormat{mla:capital:web}{% @@ -146,11 +138,11 @@ \DeclareFieldFormat{urldate}{#1}% \DeclareBibliographyAlias{booklet}{book} -\DeclareBibliographyAlias{bookinbook}{incollection}% platypus 1.5 +\DeclareBibliographyAlias{bookinbook}{incollection}% \DeclareBibliographyAlias{collection}{book} \DeclareBibliographyAlias{reference}{book} -\DeclareBibliographyAlias{inbook}{incollection}% platypus 1.0 +\DeclareBibliographyAlias{inbook}{incollection}% \DeclareBibliographyAlias{manual}{customa} \DeclareBibliographyAlias{misc}{customa} @@ -169,7 +161,7 @@ \newboolean{bbx@mla-incollection} \newbool{bbx@inset} -\DeclareBibliographyOption{dashed}[true]{% platypus 1.0 (from authortitle.bbx) +\DeclareBibliographyOption{dashed}[true]{% \ifstrequal{#1}{true} {\ExecuteBibliographyOptions{pagetracker}% \renewbibmacro*{bbx:savehash}{\savefield{fullhash}{\bbx@lasthash}}} @@ -229,17 +221,6 @@ % 0.7.1 for years with open range \newcommand*{\openrangemark}{\mbox{ }}% 0.7.1 -% % 0.9 - new commands for open year ranges -% \newrobustcmd*{\mkbibrangefull}[2]{% -% \printtext{% -% \csuse{mkbibdate#1}{#2year}{#2month}{#2day}% -% \iffieldundef{#2endyear} -% {} -% {\iffieldequalstr{#2endyear}{} -% {\mbox{\bibdatedash}} -% {\bibdatedash -% \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}} - \newbibmacro*{bbx:savehash}{% \savefield{fullhash}{\bbx@lasthash}} @@ -251,7 +232,7 @@ \renewbibmacro*{author}{% \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\usebibmacro{bbx:dashcheck}% platypus 1.0 from authortitle.bbx + {\usebibmacro{bbx:dashcheck}% {\bibnamedash}% {\ifbool{bbx@totalnames}% {\printnames[sortname][-\value{listtotal}]{author}} @@ -340,7 +321,7 @@ \renewbibmacro*{date}{\printdate}% \renewbibmacro*{url+urldate}{% - \ifthenelse{\boolean{bbx@publimedium}\AND\NOT \(\iffieldundef{url} \AND \iffieldundef{eprint}\)}% 0.9 platypus - check the logic here! should it be and or or between url and eprint? + \ifthenelse{\boolean{bbx@publimedium}\AND\NOT \(\iffieldundef{url} \AND \iffieldundef{eprint}\)}% {\printfield[mla:capital:web]{url}\newunit}% {\iffieldundef{urlyear}{}{\setunit{\addspace}}}% \iffieldundef{urlyear}% @@ -357,7 +338,7 @@ \DeclareBibliographyDriver{periodical}{% \usebibmacro{bibindex}% - \usebibmacro{editor}% + \usebibmacro{author/editor+others/translator+others}% \setunit{\labelnamepunct}\newblock% \usebibmacro{mla:article:journal+issuetitle}% \newunit\newblock @@ -575,7 +556,7 @@ \OR% \iffieldequalstr{entrysubtype}{play}% \OR% - \iffieldequalstr{entrytype}{bookinbook}}% 1.5 platypus + \iffieldequalstr{entrytype}{bookinbook}}% {\usebibmacro{title:incollection:italics}}% {\setboolean{bbx@mla-incollection}{true}% \usebibmacro{title}% @@ -979,7 +960,7 @@ {\setunit*{\addcolon\space}}% \printlist{publisher}% \setunit*{\addcomma\space}% - \ifbool{bbx@nodate}{\printtext{n.d.}}% platypus-don't forget to localize this string! + \ifbool{bbx@nodate}{\printtext{n.d.}}% \printdate% \newunit} @@ -1153,7 +1134,7 @@ \printfield{number}\clearfield{number}% \setunit*{\addcomma\space}% \usebibmacro{mla:isbn/issn+doi+eprint}% - \setunit{\addspace}% platypus-1.0b removed asterisk + \setunit{\addspace}% \usebibmacro{issue+date}% \newunit\newblock \newunit}% diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx index f75dd18b810..a8d62a8a1b6 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx @@ -1,11 +1,11 @@ -% mla.cbx, v1.6 2016/07/08 * compatible with biblatex 3.3 +% mla-this.cbx, v1.9 2016/11/01 * compatible with biblatex 3.4 % Maintained at <https://github.com/jmclawson/biblatex-mla> 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: <clawson@gmail.com>. % % 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.cbx}[2016/07/08 v1.6 biblatex citation style] +\ProvidesFile{mla-this.cbx}[2016/11/01 v1.9 biblatex citation style] \newboolean{cbx@firstlonghand}% \DeclareBibliographyOption{firstlonghand}[true]{\setboolean{cbx@firstlonghand}{#1}} @@ -39,7 +39,6 @@ \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}% @@ -150,7 +149,6 @@ \newbibmacro*{cite:name}{% \ifsingletitle% {\printtext[bibhyperref]{% - % \ifbool{bbx@totalnames}% platypus - still need to add support for option totalnames in citations \printnames{labelname}}% \savefield{namehash}{\cbx@lasthash}% \global\booltrue{cbx@named}}% @@ -158,7 +156,7 @@ \savefield{namehash}{\cbx@lasthash}% \global\booltrue{cbx@named}}}% -\newbibmacro*{cite:mla:title}{% 1.4.9 platypus testing +\newbibmacro*{cite:mla:title}{% \ifnameundef{labelname}% {\printtext[bibhyperref]{% \printfield[citetitle:\strfield{entrytype}]{labeltitle}}}% @@ -173,9 +171,9 @@ \setunit{\addspace}% \printfield{booktitle}}}}% {}% - \setunit{\addspace}}% 1.4.9 platypus testing + \setunit{\addspace}}% -\newbibmacro*{cite:mla:title:internal}{% 1.4.9 platypus testing +\newbibmacro*{cite:mla:title:internal}{% \ifbool{cbx@named}{\setunit{\addcomma\addspace}}{}% \iffieldundef{title}% {\iffieldequalstr{entrytype}{review}% @@ -193,26 +191,22 @@ % %%%%%%%%%% for ibid, idem, opcit %%%%%%%% -\newbibmacro*{cite:idem}{% 1.4.9 platypus testing removing unspaces +\newbibmacro*{cite:idem}{% \ifsingletitle% - % {\iffieldundef{postnote}% - % {\usebibmacro{cite:name}}% - % {\global\boolfalse{cbx@named}}}% This condition could never be met; that's ibid. {\usebibmacro{cite:name}}% {\global\boolfalse{cbx@named}}} \newbibmacro*{cite:opcit}{% \usebibmacro{cite:mla:title}\setunit{\addspace}} -\newbibmacro*{cite:ibid}{% 1.4.9 platypus testing +\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}}}% 1.4.9 platypus rethink this - % {\usebibmacro{cite:reset}}}% 1.4.9 platypus rethink this + {\usebibmacro{cite:mla:noibid}\usebibmacro{cite:reset}}}% \renewcommand*{\postnotedelim}{\addspace}% @@ -647,16 +641,9 @@ {\unspace\addspace\printfield[footpostnote]{postnote}}% \usebibmacro{cite:reset}} -%%%%% platypus TODO for footnotes %%%%% -% - inproceedings -% - articles -% - proceedings - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%% Format Declarations %%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DeclareFieldFormat{citetitle:article}{\mkbibquote{#1}} \DeclareFieldFormat{citetitle:inreference}{\mkbibquote{#1}} @@ -700,12 +687,10 @@ \DeclareFieldFormat{supptotitle}% {\bibstring{supptotitle}\addspace\mkbibemph{#1}} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% Cite Commands %%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% updated for parity with mla-new.cbx \renewbibmacro*{prenote}{% \iffieldundef{prenote} @@ -734,15 +719,41 @@ {} {\usebibmacro{postnote}} -\DeclareCiteCommand{\cite}[\mkbibparens] - {\usebibmacro{prenote}}% +\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} + {\iffootnote{\iffieldundef{prenote} + {\global\undef\cbx@lastprenote + \printtext{See\addspace}}} + \usebibmacro{prenote}}% {\usebibmacro{citeindex}% \usebibmacro{cite:mla}}% {}% {\usebibmacro{postnote}} -\DeclareCiteCommand*{\cite}[\mkbibparens] - {\usebibmacro{prenote}}% +\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}} {}% @@ -759,19 +770,25 @@ {} {\usebibmacro{mla:foot:postnote}} -\DeclareCiteCommand{\fullcite} - {\citereset\renewbibmacro*{author}{% - \ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}} - {\ifthenelse{\iffieldequals{namehash}{\cbx@lasthash}\AND\NOT - \iffirstonpage} - {\mbox{\mlanamedash\unspace\newunitpunct}} - {\printnames{author}% - \savefield{namehash}{\cbx@lasthash}}} - {\let\cbx@lasthash\undefined}} -\begin{thebibliography}\item}% kc9jud on GitHub helped to fix this - {\usedriver{}{\thefield{entrytype}}\addperiod} - {\item} - {\end{thebibliography}\citereset} +\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}{% 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 40a304ef6e1..ac58fc1ac0f 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/portuguese-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/portuguese-mla.lbx @@ -16,7 +16,7 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \stripzeros{\thefield{#1}}}% + \mkdatezeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} 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 78963368119..f8b1a8ebc23 100644 --- a/Master/texmf-dist/tex/latex/biblatex-mla/spanish-mla.lbx +++ b/Master/texmf-dist/tex/latex/biblatex-mla/spanish-mla.lbx @@ -18,7 +18,7 @@ {} {\mkbibmonth{\thefield{#2}}% \iffieldundef{#1}{}{\space}}% - \stripzeros{\thefield{#1}}}% + \mkdatezeros{\thefield{#1}}}% \protected\def\mkbibdateshort#1#2#3{% \iffieldundef{#3} {} |