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/latex/biblatex-mla/mla-new.cbx | |
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/latex/biblatex-mla/mla-new.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-mla/mla-new.cbx | 834 |
1 files changed, 834 insertions, 0 deletions
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 |