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.

My understanding is that bibtex lets the citation style handle capitalization of titles, which is what I would expect from an automated citation tool. Do biblatex and Biber also do this? The document I am working on with these tools seems to be preserving the capitalization in the bib database, which is NOT what I want, and I haven't found any clear references that explain what the expected behavior is.

share|improve this question
1  
How are you calling biblatex? –  egreg Jun 9 '11 at 17:18

1 Answer 1

up vote 19 down vote accepted

It might depend on the style and language(s) you are using, but generally titles are printed in the field format titlecase. By default, titlecase has no effect on casing; from biblatex.def:

\DeclareFieldFormat{titlecase}{#1}

If you want all titles in sentence case (i.e. first letter capitalized, the rest in lowercase) you can redefine this format:

\DeclareFieldFormat{titlecase}{\MakeSentenceCase{#1}}

The \MakeSentenceCase command converts its argument to sentence case, except for text enclosed in braces ({}). It also generally has no effect on control sequences. However Latin characters in math ($...$ or \(...\)) are affected and control sequences in $...$ generate parsing errors. To avoid these issues all math can be wrapped in braces. Wrapping a single character in braces affects its kerning, so the biblatex manual recommends wrapping braces around entire words. For example:

title = {An Introduction to {LaTeX}}

instead of:

title = {An Introduction to {L}a{T}e{X}}

You can make casing depend on the entry type(s) by adding an optional argument - for example:

\DeclareFieldFormat[article]{titlecase}{\MakeSentenceCase{#1}}

One catch here is that the titlecase format is rolled out to all titles within an entry type. So in the above example both the title and journaltitle fields would be printed in sentence case. This question addresses how to make title case depend on both the entry and field types.

With babel, casing can also depend on the language. \DeclareCaseLangs specifies all the languages that the starred version \MakeSentenceCase* converts to sentence case. By default we have:

\DeclareCaseLangs{%     
  american,british,canadian,english,australian,newzealand,USenglish,UKenglish}

For further details, see biblatex documentation on the above commands and release notes under the heading "Sentence case vs. title case".

share|improve this answer
    
Ah, so biblatex automates sentence casing as an override of what is otherwise assumed to be title casing. Clever. Thanks. –  Jonathan Jun 13 '11 at 6:09
    
@Jonathan That's right. I assume the underlying reasoning is that a decent macro to convert a string to title case would be quite tedious to construct. –  Audrey Jun 13 '11 at 16:53
    
@Audrey I'm seeing the same thing that Jonathan was seeing ("...document I am working on with these tools seems to be preserving the capitalization in the bib database, which is NOT what I want..."), and I'm sorry to say that I don't quite understand your answer as well as he seems to. I'm finding that whatever text I enter in the title field is typeset exactly as entered in the .bib database (even first character) which seems to differ from what you're saying with sentence case and titlecase above. Shouldn't biblatex (called with \printbibliography) just typeset the bibliography correctly? –  TeXnewbie Nov 7 '12 at 22:09
1  
@TeXnewbie The default titlecase format doesn't change casing. If you want all titles in sentence case, just add \DeclareFieldFormat{titlecase}{\MakeSentenceCase{#1}} to your preamble. –  Audrey Nov 8 '12 at 3:00
1  
@TeXnewbie That is referred to as "title case". biblatex doesn't offer a title case macro. If you use title case, you can apply it throughout your bib file and use \MakeSentenceCase whenever needed. Macros to apply title case are available, though biber's sourcemap feature might be better for this job. –  Audrey Nov 9 '12 at 0:48

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.