diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx | 798 |
1 files changed, 798 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx new file mode 100644 index 00000000000..d68b2c7a454 --- /dev/null +++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.cbx @@ -0,0 +1,798 @@ +% mla.cbx, v0.9 2010/02/15 * compatible with biblatex beta 0.9 +% Maintained at <http://konx.net/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. +% File is in constant progress. Things are messy. + +\ProvidesFile{mla.cbx}[2010/02/15 v0.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]{% +\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}% + +\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} + +% 0.7.1 trying to get \citereset working again after I fiddled around with \InitializeCitationStyle to add mladraft stuff +\renewcommand*{\citereset}{% + \usebibmacro{cite:reset} + \@ifstar + {} + {\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}% + % \global\undef\cbx@mlaincollection} 0.7.1 - commented out + +\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}}} + +% \begin{inlines} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%% 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}} % 0.5, avoiding using editor's name in citations when incollection is an anonymous work: ie, citing Beowulf from the Norton Anthology + {\ifnameundef{author} + {\global\boolfalse{cbx@named} + \usebibmacro{cite:mla:title}} + {\usebibmacro{cite:name}% + \usebibmacro{cite:mla:title}\addspace}} + {\usebibmacro{cite:name}% + \usebibmacro{cite:mla:title}\addspace}}}}% + +\newbibmacro*{cite:mla:shorthand}{% + \ifciteibid% + {\ifbool{cbx@mlafootnotes}% 0.5 -- no ibid for MLA footnotes + {\printtext[bibhyperref]{% + \printfield[citetitle:\strfield{entrytype}]{shorthand}}\addspace}% + {\usebibmacro{cite:ibid}}}% + {\global\boolfalse{cbx@hyperpages}\printtext[bibhyperref]{% + \printfield[citetitle:\strfield{entrytype}]{shorthand}}\addspace}} + +\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}}%\printnames{labelname} + {\printnames{labelname}% + \savefield{namehash}{\cbx@lasthash}% + \global\booltrue{cbx@named}}}% + +\newbibmacro*{cite:mla:title}{% 0.7.1 tidied up + \unspace% + \ifnameundef{labelname}% + {\unspace% + \printtext[bibhyperref]{% + \printfield[citetitle:\strfield{entrytype}]{labeltitle}}% + \iffieldundef{postnote}% + {}% + {\addspace}}% + {\ifsingletitle% + {}% + {\usebibmacro{cite:mla:title:internal}}} + \ifthenelse{\iffieldequalstr{entrytype}{review}% + \and\ifnameundef{author}% + \and\iffieldundef{title}}% + {\printtext[bibhyperref]% + {\unspace\printtext{\bibcpstring{reviewof}% + \addspace\printfield{booktitle}}}}% + {}}% + +\newbibmacro*{cite:mla:title:internal}{% 0.7.1 new internal macro + \ifbool{cbx@named}% + {\unspace\addcomma\addspace}% + {\unspace}% + \iffieldundef{title}% + {\iffieldequalstr{entrytype}{review}% + {\printtext[bibhyperref]{\printtext{\bibstring{reviewof}% + \addspace\printfield{booktitle}}}}% + {\ifthenelse{\iffieldequalstr{entrytype}{suppbook}% 0.7.1 + \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% + {\iffieldundef{postnote}% + {\usebibmacro{cite:name}}% + {\unspace\global\boolfalse{cbx@named}}}% + {\unspace\global\boolfalse{cbx@named}}} + +\newbibmacro*{cite:opcit}{% + \usebibmacro{cite:mla:title}\addspace} + +\newbibmacro*{cite:ibid}{% + \iffieldundef{postnote}% + {\unspace\usebibmacro{cite:mla:noibid}}% + {\unspace\global\booltrue{cbx@hyperpages}}% + \usebibmacro{cite:save}% + \iffieldundef{prenote} + {} + {\usebibmacro{cite:reset}}} + +\renewcommand*{\postnotedelim}{\addspace}% + +\renewbibmacro*{postnote}{% + \iffieldundef{postnote}{\unspace}{% + {\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}}} + +% \end{inlines} +% \begin{footnotes} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%% Footnote Citations %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newbibmacro*{cite:mla:foot}{% + \ifciteseen% + {\usebibmacro{cite:mla:seen}}% + {\ifbool{cbx@nofullfootnote}% + {\usebibmacro{cite:mla:seen}}% + {\usedriver{}{footcite:\strfield{entrytype}}}% + }} + +\newbibmacro*{cite:foot:name}{% + \global\boolfalse{cbx@named}% + \usebibmacro{cite:foot:author/editor}% + \savefield{namehash}{\cbx@lasthash}}% + +\newbibmacro*{cite:foot:author:review}{% + \global\boolfalse{cbx@named}% + \ifnameundef{author}% + {}% + {\usebibmacro{cite:foot:author}% + \savefield{namehash}{\cbx@lasthash}% + \global\booltrue{cbx@named}% + }}% + +\newbibmacro*{cite:foot:author/editor}% +{\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}% + {\usebibmacro{cite:foot:author}}% + {\usebibmacro{cite:foot:editor}}}% + +\newbibmacro*{cite:foot:author}{% + \ifbool{bbx@totalnames}% + {\printnames[byauthor][-\value{listtotal}]{author}}% + {\printnames[byauthor]{author}}% + \clearname{author}\global\booltrue{cbx@named}% + \printfield{nameaddon}} + +\newbibmacro*{cite:foot:editor}{% + \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}% + {\ifbool{bbx@totalnames}% + {\printnames[byeditor][[-\value{listtotal}]]{editor}}% + {\printnames[byeditor]{editor}}% + \setunit*{\addcomma\space}% + \usebibmacro{editorstrg}% + \clearname{editor}\global\booltrue{cbx@named}}% + {\ifusetranslator% + {\printnames[byeditor]{translator}% + \setunit*{\addcomma\space}% + \usebibmacro{translatorstrg}% + \clearname{translator}\global\booltrue{cbx@named}}% + {}% + }}% + +\newbibmacro*{cite:foot:byauthor:incollection}{% + \ifthenelse{\ifuseauthor\OR% + \ifnameundef{author}\OR% + \ifnamesequal{author}{bookauthor}}% + {}% + {\biblcstring{byauthor}\addspace% + \printnames[byauthor]{author}}} + +\newbibmacro*{cite:foot:byauthor}{% + \ifthenelse{\ifuseauthor\OR% + \ifnameundef{author}}% + {}% + {\bibstring{byauthor}\addspace\printnames[byauthor]{author}}} + +\newbibmacro*{cite:foot:bybookauthor}{% + \ifthenelse{\ifnameundef{bookauthor}\OR% + \(\ifnamesequal{author}{bookauthor}\AND\ifuseauthor\)}% + {}% + {\bibstring{byauthor}\addspace\printnames[byauthor]{bookauthor}}} + +\DeclareBibliographyDriver{footcite:booklet}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:collection}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:reference}{% + \usedriver{}{footcite:book}} + +\DeclareBibliographyDriver{footcite:book}{% + \usebibmacro{cite:foot:name}% + \ifbool{cbx@named}% 0.7.1 + {\setunit{\newunitpunct}}% + {\setunit{}}% + \usebibmacro{cite:foot:title}% + \newunit% + \usebibmacro{cite:foot:byauthor}% + \newunit% + \usebibmacro{cite:foot:byeditor}% + \newunit% + \usebibmacro{cite:foot:bytranslator}% + \newunit% + \printfield{edition}% + \newunit% + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit% + \printfield{volumes}% + \newunit% + \usebibmacro{series+number}% + \setunit{\addspace}% + \usebibmacro{cite:foot:publisher+location+year}} + +\newbibmacro*{cite:foot:publisher+location+year}{% + \printtext[parens]{% + \printfield[noformat]{origyear}% + \setunit*{\addsemicolon\addspace}% + \printlist{location}% + \iflistundef{publisher}% + {\setunit*{\addspace}}% + {\setunit*{\addcolon\space}}% + \printlist{publisher}% + \newunit% + \printfield{year}}} + +\DeclareBibliographyDriver{footcite:article}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{cite:foot:title}% + \newunit% + \usebibmacro{cite:foot:byauthor:incollection}% + \newunit% + \usebibmacro{cite:foot:bytranslator}% + \newunit% + \usebibmacro{journal+issuetitle}% + \newunit% + \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% + \setunit{\addcolon\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}}% + +\newbibmacro*{cite:foot:url+urldate}{% + \printtext{\biburldatelong}% + \setunit{\addspace}% + \printfield{url}} + +\DeclareBibliographyDriver{footcite:inreference}{% + \usedriver{}{footcite:incollection}} + +\DeclareBibliographyDriver{footcite:incollection}{% + \usebibmacro{cite:foot:name}% + \ifbool{cbx@named}% 0.7.1 + {\setunit{\newunitpunct}}% + {\setunit{}}% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}}% + {\usebibmacro{cite:foot:title:incollection:italics}}% + {\usebibmacro{cite:foot:title}}% + \newunit% + \printfield[mla:lowercase]{titleaddon}% + \newunit% + \usebibmacro{cite:foot:byauthor:incollection}% + \newunit% + \ifbool{bbx@uniquetranslator}% + {\usebibmacro{cite:foot:bytranslator}\clearname{translator}}% + {}% + \ifthenelse{% + \iffieldequalstr{entrysubtype}{book}% + \OR% + \iffieldequalstr{entrysubtype}{play}}% + {\setunit{\addcomma\addspace\bibstring{in}\addspace}}% + {\newunit}% + \printtext[citetitle:book]{% + \printfield[noformat]{booktitle}% + \setunit{\subtitlepunct}% + \printfield[noformat]{booksubtitle}% + }% + \usebibmacro{cite:foot:bybookauthor}% + \newunit% + \usebibmacro{cite:foot:byeditor}% ...check for spacing + \newunit% + \iffieldsequal{year}{edition}% 0.7 + {\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}{% + % \unspace + \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}% 0.7.1 + {\setunit{\newunitpunct}}% + {\setunit{}}% + \usebibmacro{cite:foot:title}% + \setunit*{\newunitpunct}% + \printtext[bibhyperref]% + {\bibstring{reviewof}\addspace\printfield{booktitle}}% + \newunit% + \ifnameundef{bookauthor}% + {\printtext[reviewededitor]{\printnames[default]{editor}}}% + {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}% + \newunit% + \usebibmacro{journal+issuetitle}% + \newunit% + \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}% + \setunit{\addcolon\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}}% + +\DeclareBibliographyDriver{footcite:video}{% + \setbool{cbx@named}{false}% + \ifnamesequal{labelname}{author}% + {\usebibmacro{mla:video:name:first:footnote}{author}% + \setbool{cbx@named}{true}}% + {}% + \ifnamesequal{labelname}{editor}% + {\usebibmacro{mla:video:name:first:footnote}{editor}% + \setbool{cbx@named}{true}}% + {}% + \ifbool{cbx@named}% + {\setunit{\newunitpunct}}% + {\setunit{}}% + \printtext[bibhyperref]{\printfield{title}}% + \newunit% + \ifnameundef{bookauthor}% + {}% + {\printtext[reviewedauthor]{\printnames[byeditor]{bookauthor}}}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{author}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{editor}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{namea}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{nameb}% + \newunit% + \usebibmacro{mla:video:name:second:footnote}{namec}% + \newunit% + \printfield{origyear}% + \newunit% + \printfield{howpublished}% + \newunit% + \printlist{publisher}% + \newunit% + \printfield{year}% + \addperiod} + +\DeclareBibliographyDriver{footcite:suppcollection}{% + \usedriver{}{footcite:suppbook}} + +\DeclareCiteCommand{\titleandsubtitle} + {\boolfalse{citetracker}% + \boolfalse{pagetracker}% + \usebibmacro{prenote}} + {\indexfield{indextitle}% + \printtext[citetitle]{% + \printfield[noformat]{title}% + \iffieldundef{subtitle}{}{\subtitlepunct}% + \printfield[noformat]{subtitle}}}% + {\multicitedelim} + {\usebibmacro{postnote}} + +\DeclareBibliographyDriver{footcite:suppbook}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{cite:foot:title}% + \newunit% + \printfield{entrysubtype}% + \newunit% + \usebibmacro{booktitle}% + \setunit{\newunitpunct\bibstring{bytypeauthor}\addspace}% + \ifnamesequal{labelname}{bookauthor}% 0.7 + {\printnames[mla:last]{bookauthor}}% + {\printnames[byauthor]{bookauthor}}% + \newunit% + \usebibmacro{byeditor+others}% + \newunit% + \printfield{edition}% + \newunit% + \iffieldundef{maintitle}% + {\printfield{volume}% + \printfield{part}}% + {}% + \newunit% + \printfield{volumes}% + \newunit% + \usebibmacro{series+number}% + \setunit{\addspace}% + \usebibmacro{cite:foot:publisher+location+year}% + \setunit{\addspace}% + \iffieldundef{postnote}% + {\printfield{pages}}% + {}} + +\DeclareBibliographyDriver{footcite:unpublished}{% + \usebibmacro{cite:foot:name}% + \newunit% + \usebibmacro{mla:title:unpublished}% + \newunit% + % \printfield[mla:lowercase]{titleaddon}% + \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}} + +%%%%% platypus TODO for footnotes %%%%% +% - inproceedings +% - articles +% - proceedings + +% \end{footnotes} +% \begin{formats} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%% Format Declarations %%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\DeclareFieldFormat{citetitle:article}{\mkbibquote{#1}} +\DeclareFieldFormat{citetitle:inreference}{\mkbibquote{#1}} +\DeclareFieldFormat{citetitle:book}{\mkbibemph{#1}} +\DeclareFieldFormat{citetitle:booklet}{\mkbibemph{#1}}% 0.7 +\DeclareFieldFormat{citetitle:collection}{\mkbibemph{#1}}% 0.7 +\DeclareFieldFormat{citetitle:reference}{\mkbibemph{#1}}% 0.7 +\DeclareFieldFormat{citetitle:incollection}{\mkbibquote{#1}} +\DeclareFieldFormat{citetitle:inproceedings}{\mkbibquote{#1}} +\DeclareFieldFormat{citetitle:unpublished}{\mkbibquote{#1}} +\DeclareFieldFormat{citetitle:thesis}{\mkbibquote{#1}} +\DeclareFieldFormat{citetitle:video}{\mkbibemph{#1}} +\DeclareFieldFormat{citetitle:review}{\mkbibquote{#1}}% 0.7 +\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}} +\DeclareFieldFormat{ibidpostnote}{\unspace{}#1}% +\DeclareFieldFormat{footpostnote}{#1}% +\DeclareFieldFormat{mlarepeatedcites}{\fbox{#1}% + \marginpar{\hfill\footnotesize{$\clubsuit$}}}% +\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}} + + +% \end{formats} +% \begin{cites} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%% Cite Commands %%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\renewbibmacro*{prenote}{% + \iffieldundef{prenote} + {\global\undef\cbx@lastprenote} + {\printfield{prenote}% + \prenotedelim% + % \cbx@lastprenote + \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] + {\usebibmacro{prenote}} + {\usebibmacro{citeindex}% + \usebibmacro{cite:mla:starred:title}} + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand{\cite}[\mkbibparens] + {\usebibmacro{prenote}}% + {\usebibmacro{citeindex}% + \usebibmacro{cite:mla}}% + {} + {\usebibmacro{postnote}} + +\DeclareCiteCommand*{\cite}[\mkbibparens] + {\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} + {\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}\thebibitem} + {\usedriver{}{\thefield{entrytype}}\addperiod} + {\thebibitem} + {\end{thebibliography}\citereset} +%\end{nothing} + +\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}\addspace}} + {\usebibmacro{cite:mla:shorthand}}}} + +\newbibmacro*{cite:mla:title:alone}{% + \unspace\printtext[bibhyperref]{% + \printfield[citetitle:\strfield{entrytype}]{labeltitle}}% + \ifthenelse{\iffieldequalstr{entrytype}{suppbook}\and\iffieldundef{title}}% + {\printtext[bibhyperref]{% + \printfield[mla:capital]{entrysubtype}}}% + {}} + +% \end{cites} + +\endinput
\ No newline at end of file |