summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-05-06 22:03:34 +0000
committerKarl Berry <karl@freefriends.org>2013-05-06 22:03:34 +0000
commit40da39964dbacc76ec9472dbd23fedbc5cb16d46 (patch)
tree5321c2728c84751854e18ddde3d7c377b8041e67 /Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx
parentd3df91a3632548c96324059eb602b185dd93b149 (diff)
biblatex-mla (6may13)
git-svn-id: svn://tug.org/texlive/trunk@30249 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx')
-rw-r--r--Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx354
1 files changed, 190 insertions, 164 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx
index 67183e9ddb4..c1f7d722681 100644
--- a/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx
+++ b/Master/texmf-dist/tex/latex/biblatex-mla/mla.bbx
@@ -1,17 +1,17 @@
-% mla.bbx v0.9 2010/02/15 * compatible with biblatex beta 0.9
-% Maintained at <http://konx.net/biblatex-mla> by James Clawson.
+% mla.cbx, v1.5 2013/05/05 * compatible with biblatex 2.5
+% 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.
+%
% File is in constant progress. Things are messy. Ignore platypi.
-\ProvidesFile{mla.bbx}[2010/02/15 v0.9 biblatex bibliography style]
+\ProvidesFile{mla.bbx}[2013/05/05 v1.5 biblatex bibliography style]
\RequireBibliographyStyle{standard}
\DeclareLanguageMapping{american}{american-mla}
\DeclareLanguageMapping{english}{english-mla}
-\DeclareLanguageMapping{spanish}{spanish-mla}
\NewBibliographyString{byserieseditor}
\NewBibliographyString{reviewof}
@@ -37,32 +37,35 @@
\NewBibliographyString{producer}
\NewBibliographyString{with}
\NewBibliographyString{proceedings}
-\NewBibliographyString{compilerandeditor}% 0.95
-\NewBibliographyString{bycompilerandeditor}% 0.95
-% \NewBibliographyString{typecompilerandeditor}% 0.7
-% \NewBibliographyString{bytypecompilerandeditor}% 0.7
-\NewBibliographyString{transof}% 0.7
-% \NewBibliographyString{typegeneraleditor}% 0.7.1
-% \NewBibliographyString{bytypegeneraleditor}% 0.7.1
-\NewBibliographyString{volstodate}% 0.7.1
-\NewBibliographyString{supptotitle}% 0.7.1
-\NewBibliographyString{print}% 0.9
-\NewBibliographyString{web}% 0.9
-\NewBibliographyString{generaleditor}% 0.9
+\NewBibliographyString{compilerandeditor}%
+\NewBibliographyString{bycompilerandeditor}%
+\NewBibliographyString{transof}%
+\NewBibliographyString{volstodate}%
+\NewBibliographyString{supptotitle}%
+\NewBibliographyString{print}%
+\NewBibliographyString{web}%
+\NewBibliographyString{generaleditor}%
\setlength{\bibitemsep}{0pt}
\renewcommand*{\mkbibnameaffix}[1]{\addcomma\addlowpenspace#1}
\DeclareNameFormat{mla:last}{#1}%
\DeclareNameAlias{author}{sortname}
-\DeclareNameFormat{default}{% 0.7.1
+\DeclareNameFormat{default}{%
\iffirstinits
{\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
{\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}%
- % \usebibmacro{name:first-last:andothers}}
\usebibmacro{name:andothers}}
-\renewenvironment*{thebibliography}
+% \renewenvironment*{thebibliography}
+% {\list
+% {}
+% {\setlength{\leftmargin}{\bibhang}%
+% \setlength{\itemindent}{-\leftmargin}%
+% \setlength{\itemsep}{\bibitemsep}%
+% \setlength{\parsep}{\bibparsep}}}
+% {\endlist}
+\defbibenvironment{bibliography}
{\list
{}
{\setlength{\leftmargin}{\bibhang}%
@@ -70,17 +73,20 @@
\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}}%platypus 1.0
\DeclareFieldFormat{title:inproceedings}{\mkbibquote{#1}}%
\DeclareFieldFormat{title:thesis}{\mkbibquote{#1}}%
\DeclareFieldFormat{title:reviewedbook}{\bibstring{reviewof}\addspace\mkbibemph{#1}}%
-\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}% 0.7.1
+\DeclareFieldFormat{title:reference}{\mkbibemph{#1}}%
\DeclareFieldFormat{url}{$<$\url{#1}$>$}% suggested by Jay Savage <http://www.engatiki.org/2007/11/28/171>
\DeclareFieldFormat{isbn}{}
\DeclareFieldFormat{pages}{#1}%
@@ -88,55 +94,73 @@
\DeclareListFormat[article]{location}%
{\unspace\mkbibbrackets{#1}\addspace}%
\DeclareFieldFormat[article]{version}{#1\isdot}%
-\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}
-\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}
-\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}
-\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}% 0.7.1 removed (extra) leading \addspace
+\DeclareFieldFormat[incollection]{bibliography:origyear}{\openrangeformat{#1}\addperiod}%
+\DeclareFieldFormat[video]{mla:publimedium}{\MakeCapital{film}}% 1.4.9 platypus don't forget to localize
+\DeclareFieldFormat{mla:publimedium}{\MakeCapital{#1}}%
+\DeclareFieldFormat{mla:capital}{\MakeCapital{#1}}%
+\DeclareFieldFormat{mla:capital:web}{%
+ \ifhyperref%
+ {\href{#1}{\MakeCapital{\bibstring{web}}}}%
+ {\MakeCapital{\bibstring{web}}}}%
+\DeclareFieldFormat{mla:lowercase}{\MakeLowercase{#1}}%
+\DeclareFieldFormat{nameaddon}{\mkbibbrackets{#1}}%
\DeclareFieldFormat{issuetitle}{\mkbibemph{#1}}
\DeclareFieldFormat{mla:newspaper:section}{\bibstring{section}\addspace#1}%
\DeclareFieldFormat{library}{#1\isdot}%
\DeclareFieldFormat{reviewededitor}{\bibstring{byeditor}\addspace#1}%
\DeclareFieldFormat{reviewedauthor}{\bibstring{byauthor}\addspace#1}%
\DeclareFieldFormat{title:suppbook}{\mkbibquote{#1}}
-% \DeclareFieldFormat{year}{\openrangeformat{#1}}% 0.7.1 % canceled in 0.9
-\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}% 0.7.1 - not yet used
-\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}% 0.7.1
-\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}% 0.7.1
-\DeclareFieldFormat{eprint:jstor}{% 0.9
+\DeclareFieldFormat{openrangevolumes}{#1~\bibstring{volstodate}}%
+\DeclareFieldFormat{volumeof}{\bibstring{volume}~#1~\bibstring{ofseries}}%
+\DeclareFieldFormat{mla:sentence-case}{\MakeSentenceCase{#1}}%
+\DeclareFieldFormat{eprint:jstor}{%
\ifhyperref%
- {\href{http://www.jstor.org/stable/#1}{\nolinkurl{\emph{JSTOR}}}}%
- {\nolinkurl{\emph{JSTOR}}}}%
-\DeclareFieldFormat{eprint:googlebooks}{% 0.9
+ {\href{http://www.jstor.org/stable/#1}{\emph{JSTOR}}}%
+ {\emph{JSTOR}}}%
+\DeclareFieldFormat{eprint:googlebooks}{%
\ifhyperref%
{\href{http://books.google.com/books?id=#1}{\emph{Google Books}}}%
{\emph{Google Books}}}
-\DeclareFieldFormat{eprint:adelaide}{% 0.9
+\DeclareFieldFormat{eprint:adelaide}{%
\ifhyperref%
{\href{#1}{\emph{eBooks@Adelaide}}}%
{\emph{eBooks@Adelaide}}}
-\DeclareFieldFormat{eprint:muse}{% 0.95
+\DeclareFieldFormat{eprint:muse}{%5
\ifhyperref%
{\href{#1}{\emph{Project Muse}}}%
{\emph{Project Muse}}}
+\DeclareFieldFormat{urldate}{#1}%
\DeclareBibliographyAlias{booklet}{book}
+\DeclareBibliographyAlias{bookinbook}{incollection}% platypus 1.5
\DeclareBibliographyAlias{collection}{book}
\DeclareBibliographyAlias{reference}{book}
-\DeclareBibliographyAlias{inbook}{customa}
+\DeclareBibliographyAlias{inbook}{incollection}% platypus 1.0
+
\DeclareBibliographyAlias{manual}{customa}
\DeclareBibliographyAlias{misc}{customa}
-\DeclareBibliographyAlias{online}{customa}
+\DeclareBibliographyAlias{online}{article}
\DeclareBibliographyAlias{patent}{customa}
\DeclareBibliographyAlias{report}{customa}
\DeclareBibliographyAlias{suppcollection}{suppbook}
+\DeclareFieldAlias[online]{maintitle}{journaltitle}
+
\renewcommand*{\newunitpunct}{\addperiod\space}
\renewcommand*{\andothersdelim}{\ifcitation{}{\addcomma}\addspace}
\renewcommand*{\bibpagespunct}{\addperiod\space}
\renewcommand*{\subtitlepunct}{\ifterm{}{\addcolon}\space}
\newboolean{bbx@mla-incollection}
+\newbool{bbx@inset}
+
+\DeclareBibliographyOption{dashed}[true]{% platypus 1.0 (from authortitle.bbx)
+ \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]{%
@@ -151,23 +175,23 @@
\DeclareEntryOption{uniquetranslator}[true]{%
\setboolean{bbx@uniquetranslator}{#1}}
-\newbool{bbx:gnoreminfo}% 0.7.1 - same as biblatex-apa
+\newbool{bbx:gnoreminfo}%
\setboolean{bbx:gnoreminfo}{false}
\DeclareBibliographyOption{noremoteinfo}[true]{\setboolean{bbx:gnoreminfo}{#1}}
-\newbool{bbx:lnoreminfo}% 0.7.1 - same as biblatex-apa
+\newbool{bbx:lnoreminfo}%
\setboolean{bbx:lnoreminfo}{false}
\DeclareEntryOption{noremoteinfo}[true]{\setboolean{bbx:lnoreminfo}{#1}}
-\newbool{bbx@publimedium}% 0.9
-\setboolean{bbx@publimedium}{true}% platypus set as true by default for 0.95
-\DeclareBibliographyOption{showmedium}[true]{\setboolean{bbx@publimedium}{#1}}% 0.95 changed from declareentryoption (oops!) to declarebibliographyoption
+\newbool{bbx@publimedium}%
+\setboolean{bbx@publimedium}{true}%
+\DeclareBibliographyOption{showmedium}[true]{\setboolean{bbx@publimedium}{#1}}%
-\newbool{bbx@guessmedium}% 0.9
+\newbool{bbx@guessmedium}%
\setboolean{bbx@guessmedium}{true}
-\DeclareBibliographyOption{guessmedium}[true]{\setboolean{bbx@guessmedium}{#1}}% 0.95 changed from declareentryoption (oops!) to declarebibliographyoption
+\DeclareBibliographyOption{guessmedium}[true]{\setboolean{bbx@guessmedium}{#1}}%
-\newboolean{bbx@nodate}% 0.95
+\newboolean{bbx@nodate}%
\DeclareEntryOption{nodate}[true]{%
\setboolean{bbx@nodate}{#1}}
@@ -202,35 +226,31 @@
% {\bibdatedash
% \csuse{mkbibdate#1}{#2endyear}{#2endmonth}{#2endday}}}}}
+\newbibmacro*{bbx:savehash}{%
+ \savefield{fullhash}{\bbx@lasthash}}
-\renewcommand*{\bibnamedash}{%
- \mbox{%
- \mlanamedash%
- \iffieldundef{nameaddon}%
- {\unspace\newunitpunct}%
- {\unspace\addspace}%
- }%
-}%
+\renewcommand*{\bibnamedash}{% suggested by StackExchange user Audrey
+ \mlanamedash%
+ \iffieldundef{nameaddon}{\adddot}{\nopunct}}%
\newcommand*{\mlanamedash}{\textendash\textendash\textendash}
\renewbibmacro*{author}{%
\ifthenelse{\ifuseauthor\AND\NOT\ifnameundef{author}}
- {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
- \NOT\iffirstonpage}
- {\bibnamedash}
+ {\usebibmacro{bbx:dashcheck}% platypus 1.0 from authortitle.bbx
+ {\bibnamedash}%
{\ifbool{bbx@totalnames}%
{\printnames[sortname][-\value{listtotal}]{author}}
{\printnames{author}}%
- \savefield{fullhash}{\bbx@lasthash}}
- \iffieldundef{nameaddon}% 0.7.1 wide support for nameaddon
+ \usebibmacro{bbx:savehash}}%
+ \iffieldundef{nameaddon}%
{}%
{\setunit{\addspace}%
\printfield{nameaddon}}%
- \iffieldundef{authortype}% 0.7.1 wide support for authortype
+ \iffieldundef{authortype}%
{}%
{\setunit{\addcomma\space}%
- \usebibmacro{authorstrg}}}
+ \usebibmacro{authorstrg}}}%
{\global\undef\bbx@lasthash}}
\renewbibmacro*{editor}{%
@@ -239,7 +259,7 @@
\iffirstonpage}%
{\mbox{\mlanamedash\unspace\addcomma\addspace}}%
{\ifbool{bbx@totalnames}%
- {\printnames[sortname][-\value{listtotal}]{editor}}
+ {\printnames[sortname][-\value{listtotal}]{editor}}%
{\printnames{editor}}%
\setunit{\addcomma\space}%
\savefield{namehash}{\bbx@lasthash}}%
@@ -252,19 +272,19 @@
\iffirstonpage}%
{\mbox{\mlanamedash\unspace\addcomma\addspace}}%
{\ifbool{bbx@totalnames}%
- {\printnames[sortname][-\value{listtotal}]{editor}}
+ {\printnames[sortname][-\value{listtotal}]{editor}}%
{\printnames[sortname]{editor}}%
\setunit{\addcomma\space}%
\savefield{namehash}{\bbx@lasthash}}%
\usebibmacro{editor+othersstrg}\clearname{editor}}%
{\global\undef\bbx@lasthash}}
-\renewbibmacro*{translator}{% 0.7.1
- \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
+\renewbibmacro*{translator}{%
+ \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}%
{\ifthenelse{\iffieldequals{namehash}{\bbx@lasthash}\AND\NOT
\iffirstonpage}%
{\mbox{\mlanamedash\unspace\addcomma\addspace}}%
- {\ifbool{bbx@totalnames}% 0.7.1
+ {\ifbool{bbx@totalnames}%
{\printnames[sortname][-\value{listtotal}]{translator}}%
{\printnames[sortname]{translator}}%
\setunit{\addcomma\space}%
@@ -272,12 +292,12 @@
\usebibmacro{translatorstrg}\clearname{translator}}%
{\global\undef\bbx@lasthash}}
-\renewbibmacro*{translator+others}{% 0.7.1
- \ifthenelse{\ifusetranslator\AND\NOT\ifnameundef{translator}}
+\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}% 0.7.1
+ {\ifbool{bbx@totalnames}%
{\printnames[sortname][-\value{listtotal}]{translator}}%
{\printnames[sortname]{translator}}%
\setunit{\addcomma\space}%
@@ -303,16 +323,21 @@
\addcolon\addspace
\printfield{pages}}
+\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?
- {\printtext[mla:capital]{\bibstring{web}}\newunit}%
+ {\printfield[mla:capital:web]{url}\newunit}%
{\iffieldundef{urlyear}{}{\setunit{\addspace}}}%
\iffieldundef{urlyear}%
{}%
- {\printtext{\biburldatelong}%
+ {\printtext{\printurldate}%
\setunit{\addspace}}% Suggested by Stephen Brumbaugh
\ifthenelse{\boolean{bbx@publimedium}\AND\NOT\iffieldundef{url}}%
- {}%
+ {\ifthenelse{\boolean{bbx:gnoreminfo}}%
+ {}%
+ {\setunit{\newunitpunct}%
+ \printfield{url}}}%
{\printfield{url}}%
}
@@ -368,8 +393,6 @@
\usebibmacro{mlabelnamepunct}%
\usebibmacro{maintitle+title}%
\newunit\newblock%
- %\printlist{language}% 0.9 is this necessary?
- % \newunit\newblock%
\usebibmacro{byeditor+others}%
\newunit\newblock%
\printfield{edition}\isdot%
@@ -379,7 +402,7 @@
\printfield{part}}%
{}%
\newunit%
- \iffieldundef{volume}% 0.7.1
+ \iffieldundef{volume}%
{\printfield{volumes}\clearfield{volumes}}%
{}%%
\newunit\newblock%
@@ -401,7 +424,7 @@
{}
{\usebibmacro{mla:reprint}}}%
\newunit\newblock%
- \iffieldundef{volumes}% 0.7.1
+ \iffieldundef{volumes}%
{}%
{\usebibmacro{mla:multivolumes}}%
\newunit\newblock%
@@ -425,26 +448,26 @@
\setunit*{\addcolon\addspace}%
\printlist{origpublisher}\clearlist{origpublisher}%
\setunit*{\addcomma\addspace}%
- \ifbool{bbx@mla-incollection}
+ \ifbool{bbx@mla-incollection}%
{\printfield[bibliography:origyear]{origyear}\clearfield{origyear}}%
- {}%
- \ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}%
- {\printorigdate\clearfield{origyear}}% 0.9
- {}%
+ {\ifthenelse{\iffieldundef{volume}\OR\iffieldundef{volumes}}% 1.4.9 cleared up most spurious punct
+ {\printorigdate\clearfield{origyear}}%
+ {}%
+ }%
}
-\newbibmacro*{mla:multivolumes}{% 0.7.1
+\newbibmacro*{mla:multivolumes}{%
\iffieldundef{maintitle}%
{}%
{\printfield[volumeof]{volume}%
\setunit{\addspace}%
\usebibmacro{maintitle}}%
\usebibmacro{mla:generaleditor}%
- \iffieldequalstr{eventendyear}{}% 0.9 support for "X vols. to date"
- {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}% 0.9
- {\printfield{volumes}\clearfield{volumes}}% 0.9
+ \iffieldequalstr{eventendyear}{}%
+ {\printfield[openrangevolumes]{volumes}\clearfield{volumes}}%
+ {\printfield{volumes}\clearfield{volumes}}%
\newunit\newblock%
- \printeventdate\clearfield{eventyear}% 0.9 changed from orig- to eventyear
+ \printeventdate\clearfield{eventyear}%
}
@@ -465,14 +488,14 @@
\newunit}}%
}
-\newbibmacro*{mla:generaleditor}{% 0.9 new support in multivolume
+\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]{% 0.9 new support in multivolume
+\newbibmacro*{mla:generaleditor:internal}[1]{%
\iffieldequalstr{editor#1type}{generaleditor}%
{\printnames{editor#1}%
\setunit{\addcomma\addspace}%
@@ -495,7 +518,7 @@
\usebibmacro{eprint}%
}}
-\DeclareBibliographyDriver{suppbook}{% 0.7
+\DeclareBibliographyDriver{suppbook}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor}%
\usebibmacro{mlabelnamepunct}%
@@ -517,21 +540,7 @@
\usebibmacro{publimedium}%
\usebibmacro{finentry}}
-
-%%% crossrefs... %%%
-% \DeclareCiteCommand{\bbx@crossref}
-% {}%
-% {\ifsingletitle%
-% {\printtext[bibhyperref]{\printnames{labelname}}}%
-% {\printnames{labelname}}%
-% \ifsingletitle%
-% {\unspace}%
-% {\unspace\addcomma\addspace%
-% \printtext[bibhyperref]{\printfield[citetitle:book]{labeltitle}}}}%
-% {\unspace}%
-% {\unspace}
-
-\DeclareCiteCommand{\bbx@crossref}% 0.7.1 slightly improved
+\DeclareCiteCommand{\bbx@crossref}%
{}
{\ifsingletitle%
{\printtext[bibhyperref]{\printnames{labelname}}%
@@ -546,19 +555,20 @@
\DeclareBibliographyDriver{incollection}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor+others/translator+others}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\ifthenelse{%
\iffieldequalstr{entrysubtype}{book}%
\OR%
- \iffieldequalstr{entrysubtype}{play}}%
+ \iffieldequalstr{entrysubtype}{play}%
+ \OR%
+ \iffieldequalstr{entrytype}{bookinbook}}% 1.5 platypus
{\usebibmacro{title:incollection:italics}}%
{\setboolean{bbx@mla-incollection}{true}%
\usebibmacro{title}%
\setboolean{bbx@mla-incollection}{false}}%
\newunit\newblock%
\ifbool{bbx@uniquetranslator}%
- {\usebibmacro{bytranslator+others}\newunit\newblock}%
+ {\usebibmacro{bytranslator+others}\newunit}%
{}%
\newunit\newblock%
\iffieldundef{crossref}%
@@ -569,7 +579,8 @@
\printfield{pages}}}%
{\bbx@crossref{\thefield{crossref}}%
\setunit{\addspace}%
- \printfield{pages}}%
+ \printfield{pages}%
+ \newunit}%
\newunit%
\usebibmacro{publimedium}%
\usebibmacro{finentry}}
@@ -577,20 +588,18 @@
\newbibmacro*{mla:incollection:internal}{%
\setboolean{bbx@mla-incollection}{true}%
\usebibmacro{maintitle+booktitle}%
- \ifthenelse{% 0.7.1 - added bookauthor for supptypes
+ \ifthenelse{%
\iffieldequalstr{entrytype}{suppbook}%
\OR%
\iffieldequalstr{entrytype}{suppcollection}}%
{\setunit{\newunitpunct\bibstring{byauthor}\addspace}%
- \ifnamesequal{labelname}{bookauthor}% 0.7
+ \ifnamesequal{labelname}{bookauthor}%
{\printnames[mla:last]{bookauthor}}%
{\printnames[byauthor]{bookauthor}}}%
{}%
\newunit\newblock%
\usebibmacro{byauthor}%
\newunit\newblock
- %\printlist{language}% 0.9 is this necessary?
- \newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
\printfield{edition}\isdot%
@@ -599,7 +608,7 @@
{\printfield{volume}\printfield{part}}%
{}%
\newunit
- \iffieldundef{volume}% 0.7.1
+ \iffieldundef{volume}%
{\printfield{volumes}\clearfield{volumes}}%
{}%%
\newunit\newblock
@@ -615,7 +624,7 @@
\newunit\newblock
\ifbool{bbx@publimedium}{}{\usebibmacro{url+urldate}}%
\newunit\newblock
- \iffieldundef{volumes}% 0.7.1
+ \iffieldundef{volumes}%
{}%
{\usebibmacro{mla:multivolumes}}%
\newunit\newblock
@@ -627,7 +636,6 @@
\DeclareBibliographyDriver{inproceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor+others/translator+others}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\usebibmacro{title}%
\newunit\newblock
@@ -653,7 +661,6 @@
\DeclareBibliographyDriver{proceedings}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor+others/translator+others}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\usebibmacro{mla:proceedings:booktitle}%
\newunit\newblock
@@ -677,7 +684,6 @@
\DeclareBibliographyDriver{unpublished}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor+others/translator+others}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\usebibmacro{title}%
\newunit\newblock
@@ -699,7 +705,6 @@
\DeclareBibliographyDriver{thesis}{%
\usebibmacro{bibindex}%
\usebibmacro{author/editor+others/translator+others}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\usebibmacro{title}%
\newunit\newblock%
@@ -708,7 +713,7 @@
\printlist{institution}%
\setunit*{\addcomma\space}%
\iffieldequalstr{entrysubtype}{published}%
- {\printfield{origyear}}%
+ {\printfield{origyear}\clearfield{origyear}}% 1.4.9 cleared origyear
{\printfield{year}}%
\newunit\newblock
\iffieldequalstr{entrysubtype}{published}%
@@ -732,7 +737,6 @@
\DeclareBibliographyDriver{review}{%
\usebibmacro{bibindex}%
\usebibmacro{author}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\printfield[title:article]{title}%
\newunit\newblock%
@@ -746,7 +750,7 @@
\setunit*{\addspace}%
\ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}%
{\printfield[brackets]{location}%
- \printtext{\bibdatelong}%
+ \printtext{\printdate}%
\newunit}%
{\printfield{series}%
\setunit{\addspace}%
@@ -760,19 +764,15 @@
\newunit\newblock%
\usebibmacro{issue}%
\newunit}%
- \iffieldundef{pages}%
- {\iffieldundef{url}%
- {}%
- {\addcolon\usebibmacro{url+urldate}}%
- }%
- {\addcolon\printfield{pages}}%
- \usebibmacro{finentry}%
-}
+ \setunit{\addcolon\addspace}%
+ \printfield{pages}%
+ \newunit\newblock%
+ \usebibmacro{publimedium}% 1.4.9 updated
+ \usebibmacro{finentry}}
\DeclareBibliographyDriver{inreference}{%
\usebibmacro{bibindex}%
\usebibmacro{author}%
- % \printfield{nameaddon}% 0.7.1
\usebibmacro{mlabelnamepunct}%
\usebibmacro{title}%
\newunit\newblock%
@@ -780,8 +780,6 @@
{\iffieldundef{xref}%
{\newunit\newblock
\usebibmacro{maintitle+booktitle}%
- \newunit
- %\printlist{language}% 0.9 is this necessary?
\newunit\newblock
\usebibmacro{byeditor+others}%
\newunit\newblock
@@ -895,15 +893,14 @@
\usebibmacro{mla:video:localized:first-last}{namea}%
\usebibmacro{mla:video:localized:first-last}{nameb}%
\usebibmacro{mla:video:localized:first-last}{namec}%
- \printfield{origyear}%
- \newunit\newblock%
- \printfield{howpublished}%
+ \printfield{origyear}\clearfield{origyear}%
\newunit\newblock%
\printlist{publisher}%
\setunit{\addcomma\addspace}%
\printfield{year}%
- \usebibmacro{finentry}%
-}
+ \newunit\newblock%
+ \usebibmacro{publimedium}% 1.4.9 updated to most recent MLA format
+ \usebibmacro{finentry}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % % % % % % % % % % % % % % % % % % % %
@@ -955,14 +952,13 @@
\renewbibmacro*{publisher+location+date}{%
\printlist{location}%
- \iflistundef{publisher}
- {\setunit*{\addcomma\space}}
+ \iflistundef{publisher}%
+ {\setunit*{\addcomma\space}}%
{\setunit*{\addcolon\space}}%
\printlist{publisher}%
\setunit*{\addcomma\space}%
- % \printfield{year}% 0.9
- \ifbool{bbx@nodate}{\printtext{n.d.}}% 0.95 platypus-don't forget to localize this string!
- \printdate% 0.9
+ \ifbool{bbx@nodate}{\printtext{n.d.}}% platypus-don't forget to localize this string!
+ \printdate%
\newunit}
\newbibmacro*{mla:title:unpublished}{%
@@ -986,7 +982,7 @@
{\printfield{titleaddon}}%
\setunit{\addcomma\addspace}}
-\newbibmacro*{name:first-last:andothers}{% 0.7.1
+\newbibmacro*{name:first-last:andothers}{%
\ifthenelse{\value{listcount}=\value{liststop}\AND
\ifmorenames}
{\ifnum\value{liststop}>1 \finalandcomma\fi
@@ -1024,7 +1020,7 @@
{\printtext[noformat]{\bibstring{\thefield{type}}}}%
{\printtext[noformat]{\printfield{type}}}}%
-\renewbibmacro*{maintitle+title}{% 0.7.1 much modified
+\renewbibmacro*{maintitle+title}{%
\usebibmacro{title}%
\newunit%
\iffieldsequal{maintitle}{title}%
@@ -1036,7 +1032,7 @@
{\usebibmacro{maintitle}}%
{}%
\iffieldundef{maintitle}%
- {\printfield{volume}\clearfield{volume}}% 0.9.x clear volume to avoid reprinting it
+ {\printfield{volume}\clearfield{volume}}%
{}%
\newunit\newblock}
@@ -1061,14 +1057,14 @@
{}%
{\printtext[default]{%
\bibstring{proceedings}\addspace\bibstring{ofseries}\addspace%
- \printfield[default]{eventtitle}\isdot}}% 0.7.1 moved \isdot
- \setunit*{\isdot\addcomma\addspace}% 0.9 added asterisk
+ \printfield[default]{eventtitle}\isdot}}%
+ \setunit*{\isdot\addcomma\addspace}%
\printlist{organization}%
- \setunit*{\addcomma\addspace}% 0.9 added asterisk
- \printeventdate% 0.9
- \setunit*{\addcomma\addspace}% 0.9 added asterisk
+ \setunit*{\addcomma\addspace}%
+ \printeventdate%
+ \setunit*{\addcomma\addspace}%
\printlist{institution}%
- \setunit*{\addcomma\addspace}% 0.9 added asterisk
+ \setunit*{\addcomma\addspace}%
\printfield{venue}}
\newbibmacro*{title+stitle}{%
@@ -1080,11 +1076,11 @@
{}%
{\printtext[title:\strfield{entrytype}]{%
\printfield[noformat]{booktitle}%
- \setunit*{\subtitlepunct}% 0.9 added asterisk
+ \setunit*{\subtitlepunct}%
\printfield[noformat]{booksubtitle}}}}%
{\printtext[title:\strfield{entrytype}]{%
\printfield[noformat]{title}%
- \setunit*{\subtitlepunct}% 0.9 added asterisk
+ \setunit*{\subtitlepunct}%
\printfield[noformat]{subtitle}}}%
\newunit%
\printfield[noformat]{titleaddon}%
@@ -1100,12 +1096,12 @@
{}%
{\printtext[title:book]{%
\printfield[noformat]{title}%
- \setunit*{\subtitlepunct}% 0.9 added asterisk
+ \setunit*{\subtitlepunct}%
\printfield[noformat]{subtitle}}%
\newunit%
\printfield[noformat]{titleaddon}%
\newunit%
- \usebibmacro{mla:reprint}%
+ \setboolean{bbx@mla-incollection}{true}\usebibmacro{mla:reprint}\setboolean{bbx@mla-incollection}{false}%
\newunit\newblock}}
\newbibmacro*{mla:article:journal+issuetitle}{%
@@ -1119,34 +1115,46 @@
\ifthenelse{\iffieldequalstr{entrytype}{periodical} \AND \iffieldundef{journaltitle}}%
{\usebibmacro{periodical}}%
{\usebibmacro{journal}}%
- \setunit*{\addspace}%
- \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}%
+ \ifthenelse{\iffieldequalstr{entrytype}{online}}{\usebibmacro{mla:online}}{\setunit*{\addspace}}%
+ \ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine} \or \iffieldequalstr{entrytype}{online}}%
{\printlist[brackets]{location}%
- \printtext{\bibdatelong}%
- \setunit*{\addcomma\addspace}% 0.9 added asterisk
+ \printtext{\printdate}%
+ \setunit*{\addcomma\addspace}%
\printfield{version}%
- \setunit*{\addcomma\addspace}% 0.9 added asterisk
+ \setunit*{\addcomma\addspace}%
\printfield[mla:newspaper:section]{chapter}%
}%
{\printfield{series}%
- \setunit*{\addspace}% 0.9 added asterisk
+ \setunit*{\addspace}%
\printfield{volume}%
\setunit*{\adddot}%
\printfield{number}\clearfield{number}%
- \setunit*{\addcomma\space}% 0.9 added asterisk
+ \setunit*{\addcomma\space}%
\usebibmacro{mla:isbn/issn+doi+eprint}%
- \setunit*{\addspace}% 0.9 added asterisk
+ \setunit{\addspace}% platypus-1.0b removed asterisk
\usebibmacro{issue+date}%
\newunit\newblock
\newunit}%
}
+\newbibmacro*{mla:online}{%
+ \iffieldundef{maintitle}%
+ {}%
+ {\printtext[maintitle]{%
+ \printfield[titlecase]{maintitle}%
+ \setunit{\subtitlepunct}%
+ \printfield[titlecase]{mainsubtitle}}}%
+ \newunit\newblock%
+ \printlist{publisher}%
+ \setunit*{\addcomma\addspace}%
+}
+
\renewbibmacro*{journal+issuetitle}{%
\usebibmacro{journal}%
\setunit*{\addspace}%
\ifthenelse{\iffieldequalstr{entrysubtype}{newspaper} \or \iffieldequalstr{entrysubtype}{magazine}}%
{\printlist[brackets]{location}%
- \printtext{\bibdatelong}%
+ \printtext{\printdate}%
\setunit{\addcomma\addspace}%
\printfield{version}%
\setunit{\addcomma\addspace}%
@@ -1176,12 +1184,12 @@
{}}%
}
-\newbibmacro{publimedium}{% 0.9
+\newbibmacro{publimedium}{%
\ifbool{bbx@publimedium}%
{\printfield[mla:capital]{howpublished}%
\ifthenelse{\iffieldundef{howpublished}\AND\boolean{bbx@guessmedium}}%
{\ifthenelse{\iffieldundef{url}\AND\iffieldundef{eprinttype}}%
- {\printtext[mla:capital]{\bibstring{print}}}%
+ {\printtext[mla:publimedium]{\bibstring{print}}}%
{\iffieldundef{eprinttype}%
{\printfield{eprint}}%
{\printfield[eprint:\strfield{eprinttype}]{eprint}}%
@@ -1197,4 +1205,22 @@
{}%-keep-blank
}
+\newbibmacro*{bbx:dashcheck}[2]{%
+ \ifboolexpr{
+ test {\iffieldequals{fullhash}{\bbx@lasthash}}
+ and
+ not test \iffirstonpage
+ and
+ (
+ not bool {bbx@inset}
+ or
+ test {\iffieldequalstr{entrysetcount}{1}}
+ )
+ }
+ {#1}
+ {#2}}
+
+\endinput
+
+
\endinput \ No newline at end of file