I'd like to have the titles of articles in Biblatex in sentence case (first word capitialized, the rest lowercase, override with {}) as is the default in Bibtex.
I tried:
\DeclareFieldFormat{titlecase}{\MakeSentenceCase{#1}}
However it also makes converts other fields into sentence case, such as the booktile:
[Pai99] P Paillier. “ Public-key cryptosystems based on composite degree residuosity classes”. Eurocrypt. 1999
I'd like:
[Pai99] P Paillier. “ Public-key cryptosystems based on composite degree residuosity classes”. EUROCRYPT. 1999
(This assumes that booktitle is EUROCRYPT in the .bib file)
Is there anyway to do this, short of adding {} to each booktitle entry?
Best Answer
The format definition
makes all titles in sentence case, which isn't what you want. Titles need to be printed according to both the entry and field types. For example, with the
title
field we need to handle@article
and@book
entries differently. With@inproceedings
entries we need to handle thetitle
andbooktitle
fields differently.To do this we can redefine the
title
bibmacro to print thetitle
field of@article
and any@in*
entry type in sentence case. Taking the original definition found inbiblatex.def
:Alternatively we can identify book-like entries directly and apply sentence casing to everything else. This is trickier because many more types qualify as book-like references and titles for these sources are printed by more than just one macro. In
biblatex.def
these include:title
,booktitle
,maintitle
,journal
,periodical
andissue
. To avoid redefining all of these, you can redefine thetitlecase
format instead.