Search code examples
latexcapitalizationbiblatex

Capitalize book titles and subtitles in `biblatex` bibliography


@samcarter has very helpfully shown how to capitalize article, journal and book titles in biblatex bibliography (see here). However, the question remains as to how to capitalize subtitles as in this bib entry for a book with a title and a subtitle:

@Book{Elias2000,
  author =       "Norbert Elias",
  title =        "The civilizing process",
  year =         "2000 [1939]",
  subtitle =     "Sociogenetic and psychogenetic investigations",
  edition =      "Revised",
  publisher =    "Blackwell",
  location =     "Oxford"}

In a nutshell, how can we make @samcarter's solution work for the subtitle Sociogenetic and psychogenetic investigations as well?

Thank you so much!


Solution

  • The Chicago biblatex style seems to use the stnoformat field format for the subtitle. You can redefine it like this:

    \documentclass{scrbook}
    
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    
    % Bibliography
    \usepackage[backend=biber, style=chicago-authordate, hyperref=auto, bibencoding=inputenc, refsection=chapter, doi=false, url=false, isbn=false, eprint=false]{biblatex}
    \usepackage[babel,autostyle=true]{csquotes}
    
    % Capitalize article titles and journal names
    \usepackage{mfirstuc} 
    \MFUnocap{a}
    \MFUnocap{for}
    \MFUnocap{the}
    \MFUnocap{of}
    \MFUnocap{and}
    \MFUnocap{con}
    \MFUnocap{il}
    \DeclareFieldFormat{jtnoformat}{\capitalisewords{#1}}
    \DeclareFieldFormat{stnoformat}{\capitalisewords{#1}}
    
    \usepackage{xpatch}
    \xpatchbibmacro{mag+news+title}{\printfield[noformat]{title}}{\printfield[jtnoformat]{title}}{}{}
    
    \xpatchbibmacro{italtitle+stitle}{\printfield[tnoformat]{title}}{\printfield[jtnoformat]{title}}{}{}
    
    \begin{filecontents*}[overwrite]{sample.bib}
    @Book{Elias2000,
      author =       "Norbert Elias",
      title =        "The civilizing process",
      year =         "2000 [1939]",
      subtitle =     "Sociogenetic and psychogenetic investigations",
      edition =      "Revised",
      publisher =    "Blackwell",
      location =     "Oxford"}
    \end{filecontents*}
    
    \addbibresource{sample.bib}
    
    \begin{document}
    
    \nocite{Elias2000}.
    
    \printbibliography
    
    \end{document}
    

    enter image description here