6

when quoting two collections by the same author, biblatex-mla puts an extra dot before the title in the references entry, as may be seen here:

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=mla]{biblatex}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@COLLECTION{adorno-gs10.2,
  editor = {Rolf Tiedemann},
  year = {2003},
  maintitle = {Gesammelte Schriften Bd. 10.2},
  mainsubtitle = {Kulturkritik und Gesellschaft II. Eingriffe. Stichworte},
  publisher = {Suhrkamp},
  location = {Frankfurt am Main},
  author = {Theodor W. Adorno},
  howpublished = {Print},
  options = {useeditor=false},
  owner = {jakob},
  shortauthor = {{In: GS 10.2}},
  timestamp = {30.03.2012}
}

@COLLECTION{adorno-gs8,
  editor = {Rolf Tiedemann},
  year = {2003},
  maintitle = {Gesammelte Schriften Bd. 8},
  mainsubtitle = {Soziologische Schriften I},
  publisher = {Suhrkamp},
  location = {Frankfurt am Main},
  author = {Theodor W. Adorno},
  howpublished = {Print},
  options = {useeditor=false},
  owner = {jakob},
  shortauthor = {{In: GS 8}},
  timestamp = {30.03.2012}
}

\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Do you know any way to avoid that or is it even caused by an error in my bib entries?

2 Answers 2

5

Issues with punctuation sometimes crop up in the biblatex-mla style. This is mostly due to the fact that it hasn't been updated since the time of biblatex 1.0.

Your particular problem isn't present with biblatex 1.0. With biblatex 1.7 it seems biblatex-mla's definition of \bibnamedash sets too much punctuation. Here's an excerpt from mla.bbx:

\renewcommand*{\bibnamedash}{%
  \mbox{%
    \mlanamedash%
    \iffieldundef{nameaddon}%
      {\unspace\newunitpunct}%
      {\unspace\addspace}%
  }%
}

The collection entry types are handled with the book bibliography driver. It expects maintitle to be used only in addition to title. If the nameaddon and title fields are missing, the driver will output too many dots.

So you have three options:

  1. Use biblatex 1.0 until biblatex-mla gets updated. This will spare you from resolving other incompatibilities the style has with newer biblatex versions. Any remaining punctuation issues can likely be resolved by loading the hyperref package (after biblatex).
  2. Use the maintitle (mainsubtitle) field only when you're already using title (subtitle). Same goes for booktitle and booksubtitle. Note that your collection entries appear different in other styles. The biblatex-examples.bib demonstrate conventional use of collection and incollection. Details on these entry types and crossref inheritance can be found in the biblatex manual.
  3. Edit the \bibnamedash command.

For (3), the following should give you no dots (like the standard biblatex styles).

\renewcommand*{\bibnamedash}{\mlanamedash\nopunct}

This should give you exactly one dot:

\renewcommand*{\bibnamedash}{%
  \mlanamedash%
  \iffieldundef{nameaddon}{\adddot}{\nopunct}}

We don't need to worry about the space delimiting the dash and the nameaddon field because biblatex-mla's author bibliography macro issues \setunit{\addspace} before printing nameaddon.

\documentclass{scrartcl}
\usepackage{csquotes}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=mla]{biblatex}

%\renewcommand*{\bibnamedash}{\mlanamedash\nopunct}

\renewcommand*{\bibnamedash}{%
  \mlanamedash%
  \iffieldundef{nameaddon}{\adddot}{\nopunct}}

% biblatex-mla has no localization module for German
\DefineBibliographyStrings{german}{%
  print = {print}}

\begin{filecontents}{\jobname.bib}
@INCOLLECTION{gaonkar:in,
  author = {Gaonkar, Dilip Parameshwar},
  title = {On Alternative Modernities},
  pages = {1--23},
  nameaddon = {Name add-on},
  editor = {Gaonkar, Dilip Parameshwar},
  booktitle = {Alternative Modernities},
  publisher = {Duke University Press},
  location = {Durham and London},
  date = {2001},
  isbn = {0-822-32714-7}}
@COLLECTION{adorno-gs2,
  editor = {Rolf Tiedemann},
  year = {2003},
  maintitle = {Gesammelte Schriften Bd. 10.2},
  mainsubtitle = {Kulturkritik und Gesellschaft II. Eingriffe. Stichworte},
  publisher = {Suhrkamp},
  location = {Frankfurt am Main},
  author = {Theodor W. Adorno},
  howpublished = {Print},
  options = {useeditor=false},
  shortauthor = {{In: GS 10.2}}}
@COLLECTION{adorno-gs8,
  editor = {Rolf Tiedemann},
  year = {2003},
  maintitle = {Gesammelte Schriften Bd. 8},
  mainsubtitle = {Soziologische Schriften I},
  publisher = {Suhrkamp},
  location = {Frankfurt am Main},
  author = {Theodor W. Adorno},
  howpublished = {Print},
  options = {useeditor=false},
  shortauthor = {{In: GS 8}}}
@INCOLLECTION{adorno-spaet,
  author = {Theodor W. Adorno},
  title = {Sp\"{o}tkapitalismus oder Industriegesellschaft?},
  year = {1968},
  subtitle = {Einleitungsvortrag zum 1. Deutschen Soziologentag},
  pages = {354-370},
  crossref = {adorno-gs8}}
\end{filecontents}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{adorno-spaet,adorno-gs2,adorno-gs8}
\nocite{gaonkar,gaonkar:in,knuth:ct,knuth:ct:a,knuth:ct:b}
\printbibliography
\end{document}

Here's the output without dots:

enter image description here

And with dots:

enter image description here

6
  • Thank you for this swift response! However, using that solution bears another problem: incollection entries have no delimiter after \mlanamedash. This weren’t a problem if collections had none as well, but two different ways of delimiting entries seems strange. To try it out, insert the following entry in above example: @INCOLLECTION{adorno-spaet, author = {Theodor W. Adorno}, title = {Spätkapitalismus oder Industriegesellschaft?}, year = {1968}, subtitle = {Einleitungsvortrag zum 1. Deutschen Soziologentag}, pages = {354-370}, crossref = {adorno-gs8}, shortauthor = {Adorno}, }
    – Jakob
    Commented Mar 31, 2012 at 12:57
  • @Jakob I've made an edit.
    – Audrey
    Commented Mar 31, 2012 at 19:13
  • Wow, that really should cover the problem as it exists right now! I didn’t understand the biblatex documentation recommends using title in favour of maintitle, but if that solves the problem already, just the better (and admittedly, the appendix shows this quite clearly, though). Thus, I hope to be able to avoid downgrading to biblatex 1.0 and use it properly now. Thank you very much!
    – Jakob
    Commented Apr 1, 2012 at 12:23
  • 1
    @Jakob No problem. You might also want to reconsider use of the howpublished field. biblatex-mla has no lbx file for German. In the example I make use of \DefineBibliographyStrings to give a string for print.
    – Audrey
    Commented Apr 1, 2012 at 19:11
  • 1
    @Jakob This is because biblatex-mla uses the book driver for collection. In standard styles collection entries can be sorted by editor, not author. There are a variety of ways around this - use book/inbook, fields to override sort order or a modified collection driver. I wouldn't overlook any of the standard styles, unless you're having to strictly follow the MLA style.
    – Audrey
    Commented Apr 2, 2012 at 3:44
0

@Audrey, thanks for helping Jacob out here. I've just incorporated your improved bibnamedash into an updated version of Biblatex-mla. Since I've been partially neglecting Biblatex-mla and partially just remiss at spinning off new releases, I'm now hosting my files on GitHub in hopes people are able to download updates between major releases as well. Here's the URL of the branch which is in-progress: https://github.com/jmclawson/biblatex-mla/tree/dev

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .