summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-footnotes.cbx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-footnotes.cbx')
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-footnotes.cbx434
1 files changed, 434 insertions, 0 deletions
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-footnotes.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-footnotes.cbx
new file mode 100644
index 0000000000..ff89a9212f
--- /dev/null
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-mla/mla-footnotes.cbx
@@ -0,0 +1,434 @@
+% This cbx file does not supply a stand-alone type. Rather, these functions are separated in order to simplify maintenance of the main mla-strict.cbx file, since the MLA Handbook no longer advises on ways to style full bibliographic information in the footnote. To use MLA-style footnotes, please set your style to "mla" or "mla-strict" and add the option "autocite=footnote".
+\ProvidesFile{mla-footnotes.cbx}[2021/05/12 v2.0 biblatex citation style]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%% Format Declarations %%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\@ifpackagelater{biblatex}{2016/03/01}{%
+ \DeclareNameFormat{cite:foot:editor}{%
+ \nameparts{#1}%
+ \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}%
+ \usebibmacro{name:andothers}}%
+ \DeclareNameFormat{cite:foot:translator}{%
+ \nameparts{#1}%
+ \usebibmacro{name:given-family}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\partnamesuffix}%
+ \usebibmacro{name:andothers}}%
+}{%
+ \DeclareNameFormat{cite:foot:editor}{%
+ \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}%
+ \usebibmacro{name:andothers}}%
+ \DeclareNameFormat{cite:foot:translator}{%
+ \usebibmacro{name:first-last}{#1}{#3}{#5}{#7}%
+ \usebibmacro{name:andothers}}%
+}%
+\DeclareFieldFormat{foot:cite:edition:format}{%
+ \ifinteger{#1}%
+ {\mkbibordinal{#1}~\bibstring{edition}}%
+ {\printtext[mla:lowercase]{#1}}}
+\DeclareFieldFormat{supptotitle}%
+ {\bibstring{supptotitle}\addspace\mkbibemph{#1}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%% Footnote Definitions %%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbibmacro*{cite:mla:foot}{%
+ \ifciteseen%
+ {\usebibmacro{cite:mla:seen}}%
+ {\ifbool{cbx@nofullfootnote}%
+ {\usebibmacro{cite:mla:seen}}%
+ {\usedriver{}{footcite:\strfield{entrytype}}}%
+ }}
+
+\newbibmacro*{cite:foot:name}{%
+ \global\boolfalse{cbx@named}%
+ \usebibmacro{cite:foot:author/editor}%
+ \savefield{namehash}{\cbx@lasthash}}%
+
+\newbibmacro*{cite:foot:author:review}{%
+ \global\boolfalse{cbx@named}%
+ \ifnameundef{author}%
+ {}%
+ {\usebibmacro{cite:foot:author}%
+ \savefield{namehash}{\cbx@lasthash}%
+ \global\booltrue{cbx@named}%
+ }}%
+
+\newbibmacro*{cite:foot:author/editor}%
+{\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}%
+ {\usebibmacro{cite:foot:author}}%
+ {\usebibmacro{cite:foot:editor}}}%
+
+\newbibmacro*{cite:foot:author}{%
+ \ifbool{bbx@totalnames}%
+ {\printnames[byauthor][-\value{listtotal}]{author}}%
+ {\printnames[byauthor]{author}}%
+ \clearname{author}\global\booltrue{cbx@named}%
+ \printfield{nameaddon}}
+
+\newbibmacro*{cite:foot:editor}{%
+ \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}%
+ {\ifbool{bbx@totalnames}%
+ {\printnames[byeditor][[-\value{listtotal}]]{editor}}%
+ {\printnames[byeditor]{editor}}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{editorstrg}%
+ \clearname{editor}\global\booltrue{cbx@named}}%
+ {\ifusetranslator%
+ {\printnames[byeditor]{translator}%
+ \setunit*{\addcomma\space}%
+ \usebibmacro{translatorstrg}%
+ \clearname{translator}\global\booltrue{cbx@named}}%
+ {}%
+ }}%
+
+\newbibmacro*{cite:foot:byauthor:incollection}{%
+ \ifthenelse{\ifuseauthor\OR%
+ \ifnameundef{author}\OR%
+ \ifnamesequal{author}{bookauthor}}%
+ {}%
+ {\biblcstring{byauthor}\addspace%
+ \printnames[byauthor]{author}}}
+
+\newbibmacro*{cite:foot:byauthor}{%
+ \ifthenelse{\ifuseauthor\OR%
+ \ifnameundef{author}}%
+ {}%
+ {\bibstring{byauthor}\addspace\printnames[byauthor]{author}}}
+
+\newbibmacro*{cite:foot:bybookauthor}{%
+ \ifthenelse{\ifnameundef{bookauthor}\OR%
+ \(\ifnamesequal{author}{bookauthor}\AND\ifuseauthor\)\OR%
+ \iffieldequalstr{entrytype}{inbook}}%
+ {}%
+ {\bibstring{byauthor}\addspace\printnames[byauthor]{bookauthor}}}
+
+\DeclareBibliographyDriver{footcite:booklet}{%
+ \usedriver{}{footcite:book}}
+
+\DeclareBibliographyDriver{footcite:mvbook}{%
+ \usedriver{}{footcite:book}}
+
+\DeclareBibliographyDriver{footcite:collection}{%
+ \usedriver{}{footcite:book}}
+
+\DeclareBibliographyDriver{footcite:reference}{%
+ \usedriver{}{footcite:book}}
+
+\DeclareBibliographyDriver{footcite:book}{%
+ \usebibmacro{cite:foot:name}%
+ \ifbool{cbx@named}% 0.7.1
+ {\setunit{\newunitpunct}}%
+ {\setunit{}}%
+ \usebibmacro{cite:foot:title}%
+ \newunit%
+ \usebibmacro{cite:foot:byauthor}%
+ \newunit%
+ \usebibmacro{cite:foot:byeditor}%
+ \newunit%
+ \usebibmacro{cite:foot:bytranslator}%
+ \newunit%
+ \printfield{edition}%
+ \newunit%
+ \iffieldundef{maintitle}%
+ {\printfield{volume}%
+ \printfield{part}}%
+ {}%
+ \newunit%
+ \printfield{volumes}%
+ \newunit%
+ \usebibmacro{series+number}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:foot:publisher+location+year}}
+
+\newbibmacro*{cite:foot:publisher+location+year}{%
+ \printtext[parens]{%
+ \printfield[noformat]{origyear}%
+ \setunit*{\addsemicolon\addspace}%
+ \printlist{location}%
+ \iflistundef{publisher}%
+ {\setunit*{\addspace}}%
+ {\setunit*{\addcolon\space}}%
+ \printlist{publisher}%
+ \newunit%
+ \printfield{year}}}
+
+\DeclareBibliographyDriver{footcite:article}{%
+ \usebibmacro{cite:foot:name}%
+ \newunit%
+ \usebibmacro{cite:foot:title}%
+ \newunit%
+ \usebibmacro{cite:foot:byauthor:incollection}%
+ \newunit%
+ \usebibmacro{cite:foot:bytranslator}%
+ \newunit%
+ \usebibmacro{journal+issuetitle}%
+ \newunit%
+ \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}%
+ \setunit{\addcolon\addspace}%
+ \iffieldundef{postnote}%
+ {\printfield{pages}}%
+ {}}%
+
+\newbibmacro*{cite:foot:url+urldate}{%
+ \printtext{\biburldatelong}%
+ \setunit{\addspace}%
+ \printfield{url}}
+
+\DeclareBibliographyDriver{footcite:inreference}{%
+ \usedriver{}{footcite:incollection}}
+
+\DeclareBibliographyDriver{footcite:inbook}{%
+ \usedriver{}{footcite:incollection}}
+
+\DeclareBibliographyDriver{footcite:incollection}{%
+ \usebibmacro{cite:foot:name}%
+ \ifbool{cbx@named}% 0.7.1
+ {\setunit{\newunitpunct}}%
+ {\setunit{}}%
+ \ifthenelse{%
+ \iffieldequalstr{entrysubtype}{book}%
+ \OR%
+ \iffieldequalstr{entrysubtype}{play}}%
+ {\usebibmacro{cite:foot:title:incollection:italics}}%
+ {\usebibmacro{cite:foot:title}}%
+ \newunit%
+ \printfield[mla:lowercase]{titleaddon}%
+ \newunit%
+ \usebibmacro{cite:foot:byauthor:incollection}%
+ \newunit%
+ \ifbool{bbx@uniquetranslator}%
+ {\usebibmacro{cite:foot:bytranslator}\clearname{translator}}%
+ {}%
+ \ifthenelse{%
+ \iffieldequalstr{entrysubtype}{book}%
+ \OR%
+ \iffieldequalstr{entrysubtype}{play}}%
+ {\setunit{\addcomma\addspace\bibstring{in}\addspace}}%
+ {\newunit}%
+ \printtext[citetitle:book]{%
+ \printfield[noformat]{booktitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{booksubtitle}%
+ }%
+ \usebibmacro{cite:foot:bybookauthor}%
+ \newunit%
+ \usebibmacro{cite:foot:byeditor}%
+ \newunit%
+ \iffieldsequal{year}{edition}%
+ {\printfield{year}~\bibstring{edition}\clearfield{year}}%
+ {\printfield[foot:cite:edition:format]{edition}\isdot}%
+ \newunit%
+ \iffieldundef{maintitle}%
+ {\printfield{volume}%
+ \printfield{part}}%
+ {}%
+ \newunit%
+ \printfield{volumes}%
+ \newunit%
+ \usebibmacro{series+number}%
+ \setunit{\addspace}%
+ \iffieldundef{year}%
+ {}%
+ {\usebibmacro{cite:foot:publisher+location+year}}%
+ \setunit{\addspace}%
+ \iffieldundef{postnote}%
+ {\printfield{pages}}%
+ {}%
+ }%
+
+\DeclareBibliographyDriver{footcite:phdthesis}{%
+ \usedriver{}{footcite:thesis}}
+
+\DeclareBibliographyDriver{footcite:thesis}{%
+ \usebibmacro{cite:foot:name}%
+ \newunit%
+ \usebibmacro{title}%
+ \newunit%
+ \ifbibstring{\thefield{type}}%
+ {\printtext[default]{\bibstring{\thefield{type}}}}%
+ {\printtext[default]{\printfield{type}}}%
+ \newunit%
+ \printlist{institution}%
+ \newunit%
+ \iffieldequalstr{entrysubtype}{published}%
+ {\printfield{origyear}\clearfield{origyear}}%
+ {\printfield{year}}%
+ \newunit%
+ \iffieldequalstr{entrysubtype}{published}%
+ {\usebibmacro{series+number}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:foot:publisher+location+year}}%
+ {}}
+
+\DeclareBibliographyDriver{footcite:review}{%
+ \usebibmacro{cite:foot:author:review}%
+ \ifbool{cbx@named}%
+ {\setunit{\newunitpunct}}%
+ {\setunit{}}%
+ \usebibmacro{cite:foot:title}%
+ \setunit*{\newunitpunct}%
+ \printtext[bibhyperref]%
+ {\bibstring{reviewof}\addspace\printfield{booktitle}}%
+ \newunit%
+ \ifnameundef{bookauthor}%
+ {\printtext[reviewededitor]{\printnames[default]{editor}}}%
+ {\printtext[reviewedauthor]{\printnames[default]{bookauthor}}}%
+ \newunit%
+ \usebibmacro{journal+issuetitle}%
+ \newunit%
+ \iffieldundef{url}{}{\usebibmacro{cite:foot:url+urldate}}%
+ \setunit{\addcolon\addspace}%
+ \iffieldundef{postnote}%
+ {\printfield{pages}}%
+ {}}%
+
+\DeclareBibliographyDriver{footcite:video}{%
+ \setbool{cbx@named}{false}%
+ \ifnamesequal{labelname}{author}%
+ {\usebibmacro{mla:video:name:first:footnote}{author}%
+ \setbool{cbx@named}{true}}%
+ {}%
+ \ifnamesequal{labelname}{editor}%
+ {\usebibmacro{mla:video:name:first:footnote}{editor}%
+ \setbool{cbx@named}{true}}%
+ {}%
+ \ifbool{cbx@named}%
+ {\setunit{\newunitpunct}}%
+ {\setunit{}}%
+ \printtext[bibhyperref]{\printfield{title}}%
+ \newunit%
+ \ifnameundef{bookauthor}%
+ {}%
+ {\printtext[reviewedauthor]{\printnames[byeditor]{bookauthor}}}%
+ \newunit%
+ \usebibmacro{mla:video:name:second:footnote}{author}%
+ \newunit%
+ \usebibmacro{mla:video:name:second:footnote}{editor}%
+ \newunit%
+ \usebibmacro{mla:video:name:second:footnote}{namea}%
+ \newunit%
+ \usebibmacro{mla:video:name:second:footnote}{nameb}%
+ \newunit%
+ \usebibmacro{mla:video:name:second:footnote}{namec}%
+ \newunit%
+ \printfield{origyear}%
+ \newunit%
+ \printfield{howpublished}%
+ \newunit%
+ \printlist{publisher}%
+ \newunit%
+ \printfield{year}%
+ \addperiod}
+
+\DeclareBibliographyDriver{footcite:suppcollection}{%
+ \usedriver{}{footcite:suppbook}}
+
+\DeclareBibliographyDriver{footcite:suppbook}{%
+ \usebibmacro{cite:foot:name}%
+ \newunit%
+ \usebibmacro{cite:foot:title}%
+ \newunit%
+ \printfield{entrysubtype}%
+ \newunit%
+ \usebibmacro{booktitle}%
+ \setunit{\newunitpunct\bibstring{bytypeauthor}\addspace}%
+ \ifnamesequal{labelname}{bookauthor}%
+ {\printnames[mla:last]{bookauthor}}%
+ {\printnames[byauthor]{bookauthor}}%
+ \newunit%
+ \usebibmacro{byeditor+others}%
+ \newunit%
+ \printfield{edition}%
+ \newunit%
+ \iffieldundef{maintitle}%
+ {\printfield{volume}%
+ \printfield{part}}%
+ {}%
+ \newunit%
+ \printfield{volumes}%
+ \newunit%
+ \usebibmacro{series+number}%
+ \setunit{\addspace}%
+ \usebibmacro{cite:foot:publisher+location+year}%
+ \setunit{\addspace}%
+ \iffieldundef{postnote}%
+ {\printfield{pages}}%
+ {}}
+
+\DeclareBibliographyDriver{footcite:unpublished}{%
+ \usebibmacro{cite:foot:name}%
+ \newunit%
+ \usebibmacro{mla:title:unpublished}%
+ \newunit%
+ \newunit%
+ \printfield{note}%
+ \newunit%
+ \usebibmacro{mla:all:type:foot}%
+ \setunit*{\isdot\addspace}%
+ \printfield{number}%
+ \newunit%
+ \printfield{library}%
+ \setunit{\addcomma\addspace}%
+ \printlist{location}%
+ \newunit%
+ \printfield{addendum}%
+ \usebibmacro{finentry}}
+
+\DeclareBibliographyDriver{footcite:periodical}{%
+ \usebibmacro{cite:foot:editor}%
+ \setunit{\labelnamepunct}\newblock%
+ \usebibmacro{mla:article:journal+issuetitle}%
+ \newunit\newblock
+ \printfield{note}%
+ \setunit{\addcolon\addspace}\newblock
+ \iffieldundef{postnote}%
+ {\printfield{pages}}%
+ {}%
+ \newunit\newblock
+ \usebibmacro{url+urldate}%
+ \newunit\newblock
+ \printfield{addendum}%
+ \newunit\newblock
+ \usebibmacro{pageref}%
+ \usebibmacro{finentry}}
+
+\newbibmacro*{cite:foot:title}{%
+ \iffieldundef{title}%
+ {}%
+ {\printtext[bibhyperref]{%
+ \printtext[citetitle:\strfield{entrytype}]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}}%
+ }}%
+
+\newbibmacro*{cite:foot:title:incollection:italics}{%
+ \printtext[bibhyperref]{%
+ \printtext[title:book]{%
+ \printfield[noformat]{title}%
+ \setunit{\subtitlepunct}%
+ \printfield[noformat]{subtitle}}%
+ }}%
+
+\newbibmacro*{cite:foot:bytranslator}{%
+ \ifnameundef{translator}%
+ {}%
+ {\printtext[default]{\bibstring{bytranslator}\addspace%
+ \printnames[cite:foot:translator]{translator}}}}
+
+\newbibmacro*{cite:foot:byeditor}{%
+ \ifthenelse{\ifnameundef{editor}\OR%
+ \( \iffieldequalstr{entrytype}{collection}\AND%
+ \ifnameundef{author} \)}%
+ {}%
+ {\usebibmacro{byeditor+others}}}
+
+\newbibmacro*{mla:foot:postnote}{%
+ \iffieldundef{postnote}%
+ {\unspace}%
+ {\unspace\addspace\printfield[footpostnote]{postnote}}%
+ \usebibmacro{cite:reset}}
+
+\endinput