6

I'm using the Biblatex package with the biblatex-phys citation style, and they are changing the titles of some random entries in my bibliography to lowercase. I can't seem to determine how they decide that: some titles are kept as they are, and some are messed up.

How do I disable this? I've already tried using the command \DeclareCaseLangs{}, without success. I'm not going to add brackets around in my bibliography file, it's a HUGE file, and all entries have correct capitalisation, I just want Biblatex to leave them alone. Is it possible?

1 Answers1

8

biblatex-phys applies sentence case consequently to all title-like fields (but not to journal/journaltitle). So if you are seeing case changes only in some citations, then there must be something else going on at your end. Maybe some of your titles are already protected with double braces. Note that title and subtitle are treated separately, so the first letter of the subtitle field is also capitalised even though title and subtitle are set apart only with a comma.

I suggest you do not wrap title fields in double braces to protect all case changes, but follow the suggestions of BibTeX loses capitals when creating .bbl file instead, where only words that must always be written with a capital letter are protected.

For example (all taken from biblatex-examples.bib)

subtitle = {Style in {Greek} Literature},
subtitle = {The {Orkney Earldom} of the Twelfth Century. {A} Musicological Study}, 
title = {Higher-Dimensional Algebra {V}: 2-Groups},

but

title = {Contemporary Literary Criticism},
title = {Partial Symmetries of Weak Interactions},

the initial word in a title need not be protected even if it is a proper name

title = {Herder and the Preparation of {Goethe's} Idea of World Literature},

macros also need to be protected even if they are the first word in a title (the following examples are slightly modified from biblatex-examples.bib, see this pull request and this commit)

title = {The {\TeX book}},
title = {{\TeX}: The Program},

You can turn off sentence case with

\DeclareFieldFormat{titlecase}{#1}

note that this still presumes and requires that you input your titles in Title Case as discussed in What is the proper casing to use when storing titles in the bibliography database?. biblatex cannot convert input in sentence case to title case.

The MWE

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=phys, backend=biber]{biblatex} \addbibresource{biblatex-examples.bib}

%\DeclareFieldFormat{titlecase}{#1}% <- uncomment to turn off sentence case

\begin{document} \cite{knuth:ct:a,worman,geer,loh,westfahl:space,westfahl:frontier,baez/article} \printbibliography \end{document}

yields

enter image description here

left: unmodified output, right: with \DeclareFieldFormat{titlecase}{#1}.


The next version of biblatex-phys will use the language-aware \MakeSentenceCase* instead of \MakeSentenceCase, so that only languages for which sentence casing is enabled get the \MakeSentenceCase* treatment. Currently all languages are affected regardless of \DeclareCaseLangs. See https://github.com/josephwright/biblatex-phys/pull/20.

moewe
  • 175,683
  • What was going on is that several entries were protected by a combination of braces and quotation marks, that is why I hadn't realised this before, I was looking only for single braces. This is the standard output given by the NASA ADS database, probably intended precisely to prevent some style file from messing up with the bibliography.

    From my testing, biblatex-phys lowercases the fields title and booktitle, but not journal or publisher.

    – Mateus Araújo May 07 '18 at 15:52
  • May I suggest adding an option to disable this behaviour? I don't see why anybody would ever want it. – Mateus Araújo May 07 '18 at 15:56
  • @MateusAraújo Automatic double bracing (or quoting and bracing, which results in the same behaviour) is a common pitfall of automatically generated .bib sources. See https://tex.stackexchange.com/q/386053/35864. – moewe May 07 '18 at 15:56
  • @MateusAraújo I'm not the biblatex-phys developer and \DeclareFieldFormat{titlecase}{#1} to disable this already seems easy enough for me (it's only slightly more complicated than an option). But I will say that some style guides actually require sentence casing in some situations: the APA wants it and apparently the APS/AIP on whose style biblatex-phys is based wants it as well. – moewe May 07 '18 at 15:59
  • Indeed, the APS style does lowercase the titles (even though by default it just suppresses them completely). But the problem is finding the \DeclareFieldFormat{titlecase}{#1} solution. It is not mentioned in the documentation of biblatex-phys, and searching here in stackexchange only showed me the (incorrect) solution of \DeclareCaseLangs{}. – Mateus Araújo May 07 '18 at 16:09
  • @MateusAraújo It's one of these things that carries over from biblatex. But it is not even in the documentation there. Can you give me a link to the \DeclareCaseLangs{} answer, please? – moewe May 07 '18 at 16:21
  • Sure. It was actually in latex.org. – Mateus Araújo May 07 '18 at 16:28
  • Mh. I can't be bothered to create an account just to tell them that \DeclareCaseLangs{} is not a great idea. Anyway, \DeclareCaseLangs{} would have worked if biblatex-phys had used \MakeSentenceCase* (so it will actually work from the next release on). It still does not feel right, though. – moewe May 07 '18 at 16:31