Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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?

share|improve this question
add comment

2 Answers

up vote 5 down vote accepted

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

share|improve this answer
    
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 Mar 31 '12 at 12:57
    
@Jakob I've made an edit. –  Audrey Mar 31 '12 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 Apr 1 '12 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 Apr 1 '12 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 Apr 2 '12 at 3:44
show 1 more comment

@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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.