13

How can I use biblatex and not have the references run into the margins? I've seen some posts and solutions to this problem pertaining to URLs but I'm not using web links so it's a different problem. biblatex appears to not want to break the titles of books.

My \usepackage statement, if it helps, is as follows:

\usepackage[citestyle=authoryear,bibstyle=authoryear,sorting=nyt,
   eprint=false,isbn=false,url=false,doi=false]{biblatex}
2

2 Answers 2

17

It appears as though there is a conflict between the package biblatex and ulem. That is, \usepackage[options]{biblatex} and \usepackage{ulem} when used together not only result in underlined journal names but also citations that extend into the margins. Omitting \usepackage{ulem} or using \usepackage[normalem]{ulem} fixed this problem and allowed biblatex to italicize journal names and wrap citations as expected.

2
  • 2
    I wouldn't call this a conflict, but of course this is a semantic discussion as the outcome is the same whether you call this a conflict or a limitation in one of the packages. Contrary to LaTeX's standard \underline ulem's underlining macro allows its argument to line-break/hyphenate. This, however, only works if the argument is "nice enough" (basically raw text). In the context of biblatex, however, the argument to the command is not simply text, it is complex code that typesets text. While this looks similar in many applications, it makes a difference here. ...
    – moewe
    Commented Feb 19, 2023 at 12:04
  • ... Which means that the underlining does not break.
    – moewe
    Commented Feb 19, 2023 at 12:04
7

Linebreaks in biblatex are controlled by the parameters (counters) abbrevpenalty, highnamepenalty and lownamepenalty.

\bibsetup{
  \setcounter{abbrvpenalty}{0}
  \setcounter{highnamepenalty}{0}
  \setcounter{lownamepenalty}{0}
}

The above setting should permit linebreaks in names and abbreviations (e.g., et al)

You must log in to answer this question.

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