6

When typesetting a bibliography \raggedright, biblatex seems to have trouble breaking a line between an author's first/last/middle names (and, if multiple authors are present, between two authors). It's as if the entire name list had been put into an \mbox. Consider this example.

enter image description here

\documentclass[11pt,DIV=6]{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[style=authoryear]{biblatex}
\usepackage{filecontents}
\usepackage{tgschola}

\begin{filecontents}{bibtest.bib}
@COLLECTION{Star95,
  editor = {Star, Susan Leigh},
  year = {1995},
  title = {Ecologies of Knowledge: Work and Politics in Science and Technology},
  address = {Albany},
  publisher = {SUNY}
}
@INCOLLECTION{Star95a,
  author = {Star, Susan Leigh},
  title = {The Politics of Formal Representations: Wizards, Gurus, and Organizational
    Complexity},
  year = {1995},
  pages = {88-118},
  crossref = {Star95}
}
\end{filecontents}

\renewcommand*{\bibsetup}{\raggedright}
\bibliography{bibtest.bib}
\listfiles

\begin{document}
\noindent\hrule
\nocite{Star95a}
\printbibliography
\noindent\hrule
\end{document}

»Susan Leigh« would easily fit into the fourth line, but instead her entire name is moved to the next one. It would seem odd to me that this should be biblatex's intended behavior, as it can have even worse results under certain circumstances. Can you reproduce this? What would be a way to change it? Should I contact the biblatex team?

enter image description here

2
  • 2
    Did you try \RaggedRight from \usepackage{ragged2e} Apr 5 '13 at 19:15
  • \Raggedright is what I've been using for years, and what I'm trying to get away from now, as I've decided I like my bibliographies better with no hyphenation at all (as opposed to a hyphenation that only occurs occasionally, but is often awkward). The problem described does not appear when hyphenation is allowed, which is why I didn't notice it until now.
    – Nils L
    Apr 5 '13 at 19:34
6

Line breaks in names are controlled by the lownamepenalty and highnamepenalty counters. From biblatex.def the default values are:

\defcounter{lownamepenalty}{\hyphenpenalty/2}
\defcounter{highnamepenalty}{\hyphenpenalty}

where \hyphenpenalty defaults to 50. To allow breaks between the first and last name parts (e.g. "Susan Leigh" and "Star"), you can set lownamepenalty to a small value in your preamble. For example:

\defcounter{lownamepenalty}{0}

Note that \bibsetup by default executes a variety of commands. So instead of

\renewcommand*{\bibsetup}{\raggedright}

you're better off with:

\appto{\bibsetup}{\raggedright}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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