6

I am using the review entry type in biblatex-chicago, and neither the biblatex-chicago nor the biblatex documentation have been helpful.

The result I'd like to obtain is something at least close to the Chicago Manual of style, but I can't figure out which combination of entry fields I should use to get it right.

\documentclass{article}
\usepackage[authordate,backend=biber,indexing=cite,cmsdate=old,sorting=nyt]{biblatex-chicago}
\addbibresource{biblio.bib}

\begin{document}
\title{A Good Article}
\maketitle

Citing \textcite{Review1} for his great criticism of A Great Book.

\printbibliography
\end{document}

with biblio.bib set up as:

@review{Review1,
author={Doe, John},
title = {Me I. Myself's A Great Book},
journal = {The Review of Reviewing Review that Reviews},
volume = {99},
number = {12},
pages = {123-345},
year = {2013}}

Which obviously prints out something almost identical to what an @article entry would, sans the quotation marks. I assume there are some ways of getting something at least a little bit closer to The Chicago Manual (i.e. would print the title as "Book review of" and then all in italics the origauthor followed by a "'s +booktitle+"). I haven't been able to get it working using any combination of entry fields including byreviewer and other.

What am I missing? Is the @review entry entended to be identical to @article and all such formatting should be entered manually?

4
  • The standard styles indeed "will treat [the @review] entry type as an alias for @article" (biblatex manual, section 2.1.3).
    – lockstep
    Commented May 14, 2013 at 11:14
  • I believe that's not true of biblatex-chicago since using @review allows you to access various entrysubtype.
    – Mathieu B.
    Commented May 14, 2013 at 11:19
  • My note only concerns the "standard" styles (of the core biblatex package).
    – lockstep
    Commented May 14, 2013 at 11:21
  • 2
    @MathieuB. You must have overlooked the example bib files that come with the biblatex-chicago documentation. They contain plenty of @review entries. The standard styles aren't intended to be exhaustive; any entrytype aliased with @misc can be customized by defining new bibliography drivers.
    – Audrey
    Commented May 14, 2013 at 12:58

1 Answer 1

9

The biblatex-chicago package provides the @review entry type, but some of the formatting has to be done manually via the titleaddon field (see examples)

@Article{gibbard,
  author       = {Gibbard, Allan},
  title        = {Morality in Living},
  subtitle     = {Korsgaard's {Kantian} Lectures},
  journaltitle = {Ethics},
  year         = 1999,
  volume       = 110,
  number       = 1,
  pages        = {140--164},
  titleaddon   = {\bibstring{reviewof} \mkbibemph{The Sources of
                  Normativity}, \bibstring{by} {Christine M. Korsgaard}},
}

With biber it is possible to automate this process quite a bit.

First we declare some new fields in chicago-authordate.dbx (This file does not exist by default, so it has to be created. If LaTeX can find it, it is then used every time you use the authordate style of biblatex-chicago.). The new fields are revdtitle, revdsubtitle and revdauthor, these are valid only for @reviews.

\ProvidesFile{chicago-authordate.dbx}
\RequireBiber[3]

\DeclareDatamodelFields[type=field,datatype=literal]{revdtitle,revdsubtitle}
\DeclareDatamodelEntryfields[review]{revdtitle,revdsubtitle}
\DeclareDatamodelFields[type=list,datatype=name]{revdauthor}
\DeclareDatamodelEntryfields[review]{revdauthor}

\DeclareDatamodelConstraints[review]{
  \constraint[type=mandatory]{
    \constraintfield{author}
    \constraintfield{revdtitle}
    \constraintfieldsxor{
      \constraintfield{date}
      \constraintfield{year}
    }
  }
}

\DeclareDatamodelEntryfields[review]{
  author,
  journaltitle,
  title,
  day,
  endday,
  endmonth,
  endyear,
  month,
  year,
  addendum,
  annotator,
  commentator,
  doi,
  editor,
  editora,
  editorb,
  editorc,
  editoratype,
  editorbtype,
  editorctype,
  eid,
  eprint,
  eprintclass,
  eprinttype,
  issn,
  issue,
  issuetitle,
  issuesubtitle,
  journalsubtitle,
  language,
  note,
  number,
  origlanguage,
  pages,
  pubstate,
  series,
  subtitle,
  titleaddon,
  translator,
  url,
  urlday,
  urlendday,
  urlendmonth,
  urlendyear,
  urlmonth,
  urlyear,
  version,
  volume}

\endinput

The following code goes into the preamble (or a modified version of chicago-authordate.bbx - in that case, of course, without \makeatletter and \makeatother). It redefines the driver for @review to incorporate the new fields. (The code is adapted directly from chicago-authordate.bbx.)

\DeclareLanguageMapping{american}{cms-american}
\renewcommand{\subtitlepunct}{\addcolon\space}

\DefaultInheritance[\except{*}{review}{all=false}]{all=true,override=false}

\DeclareDataInheritance{book}{review}{
  \inherit{author}{revdauthor}
  \inherit{title}{revdtitle}
  \inherit{subtitle}{revdsubtitle}
}

\DeclareFieldFormat[review]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[review]{title}{\mkbibquote{#1\isdot}}

\makeatletter
\DeclareBibliographyDriver{review}{%
  \usebibmacro{bibindex}%
  \iffieldequalstr{entrysubtype}{magazine}%
    {\usebibmacro{mag+news+author}}%
    {\usebibmacro{author/editor}}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newunit\newblock
  \ifboolexpr{test {\ifundef{\bbx@lasthash}}  and not test {\iffieldundef{title}}}
    {\printtext[title]{%
       \printfield[titlecase]{title}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{subtitle}}%
     \newunit}%
    {}%
  \usebibmacro{cmsbibsortdate}%
  \newunit\newblock
  \ifboolexpr{test {\ifundef{\bbx@lasthash}} or test {\iffieldundef{title}}}
    {}%
    {\printtext[title]{%
       \printfield[titlecase]{title}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{subtitle}}}%
  \newunit\newblock
  \ifboolexpr{
    test {\iffieldundef{revdtitle}}
    and
    test {\iffieldundef{revdsubtitle}}
  }
    {}
    {\bibstring{reviewof}%
     \setunit{\addspace}%
     \printtext[emph]{%
       \printfield[titlecase]{revdtitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{revdsubtitle}}%
     \setunit{\addcomma\space}}%
  \ifnameundef{revdauthor}
    {}
    {\bibstring{byauthor}%
     \setunit{\addspace}%
     \printnames[byauthor]{revdauthor}}%
  \newcunit\newblock
  \usebibmacro{music+eventdate}% 16th ed.
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \newunit\newblock%
  \usebibmacro{part+editor+translator}%
  \newunit\newblock%
  \usebibmacro{bibreprint}%
%  \newunit\newblock
  \usebibmacro{issuetitle}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{byeditor+others}%
  \usebibmacro{editorpunct}%\newunit\newblock
  \printfield{note}%
  \setunit*{\addcomma\addspace}\newblock%
  \iffieldequalstr{entrysubtype}{magazine}
    {\usebibmacro{mag+news+date}%
     \newcunit\newblock
     \usebibmacro{chap+pag}}%
    {\usebibmacro{journal+issue+year+pages}}%
  \newunit\newblock
  \usebibmacro{pubstate}%
  \newunit\newblock
  \printfield{addendum}%
  \setunit*{\addcomma\addspace}\newblock%
  \iftoggle{cms@isbn}%
    {\printfield{issn}}%
    {}%
  \setunit*{\addcomma\addspace}\newblock%
  \usebibmacro{bib+doi+url}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \usebibmacro{originally+published+as}%
  \usebibmacro{finentry}}
\makeatother

The entry for a review might now look like this

@review{barcott:review,
  journaltitle  = {New York Times Book Review},
  author        = {Barcott, Bruce},
  date          = {2000-04-16},
  entrysubtype  = {magazine},
  revdtitle     = {The Last Marlin},
  revdsubtitle  = {Story of a Family at Sea},
  revdauthor    = {Fred Waitzkin},
  pages         = 7,
}

Thanks to the crossref field and biber's inheritance features, the following will also work

@book{testbook,
  author        = {Walter Ordsmith},
  editor        = {Eddie Ditor},
  title         = {The Work},
  subtitle      = {Subtitle},
  date          = {1983},
}
@review{testrevt,
  author        = {Roald Eviewer},
  title         = {La Review},
  crossref      = {testbook},
  date          = {2011},
  journaltitle  = {Journal of Book Review},
  volume        = {42},
  pages         = {13-45},
}

The full, not so M, WE

\documentclass[american]{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[autostyle=true]{csquotes}
\usepackage[authordate, backend=biber]{biblatex-chicago}
\usepackage{hyperref}

\DeclareLanguageMapping{american}{cms-american}
\renewcommand{\subtitlepunct}{\addcolon\space}

\DefaultInheritance[\except{*}{review}{all=false}]{all=true,override=false}

\DeclareDataInheritance{book}{review}{
  \inherit{author}{revdauthor}
  \inherit{title}{revdtitle}
  \inherit{subtitle}{revdsubtitle}
}

\DeclareFieldFormat[review]{citetitle}{\mkbibquote{#1\isdot}}
\DeclareFieldFormat[review]{title}{\mkbibquote{#1\isdot}}

\makeatletter
\DeclareBibliographyDriver{review}{%
  \usebibmacro{bibindex}%
  \iffieldequalstr{entrysubtype}{magazine}%
    {\usebibmacro{mag+news+author}}%
    {\usebibmacro{author/editor}}%
  \setunit{\addspace}%
  \printfield{nameaddon}%
  \newunit\newblock
  \ifboolexpr{test {\ifundef{\bbx@lasthash}}  and not test {\iffieldundef{title}}}
    {\printtext[title]{%
       \printfield[titlecase]{title}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{subtitle}}%
     \newunit}%
    {}%
  \usebibmacro{cmsbibsortdate}%
  \newunit\newblock
  \ifboolexpr{test {\ifundef{\bbx@lasthash}} or test {\iffieldundef{title}}}
    {}%
    {\printtext[title]{%
       \printfield[titlecase]{title}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{subtitle}}}%
  \newunit\newblock
  \ifboolexpr{
    test {\iffieldundef{revdtitle}}
    and
    test {\iffieldundef{revdsubtitle}}
  }
    {}
    {\bibstring{reviewof}%
     \setunit{\addspace}%
     \printtext[emph]{%
       \printfield[titlecase]{revdtitle}%
       \setunit{\subtitlepunct}%
       \printfield[titlecase]{revdsubtitle}}%
     \setunit{\addcomma\space}}%
  \ifnameundef{revdauthor}
    {}
    {\bibstring{byauthor}%
     \setunit{\addspace}%
     \printnames[byauthor]{revdauthor}}%
  \newcunit\newblock
  \usebibmacro{music+eventdate}% 16th ed.
  \setunit{\addspace}%
  \usebibmacro{language+transtitle}%
  \newunit\newblock%
  \usebibmacro{part+editor+translator}%
  \newunit\newblock%
  \usebibmacro{bibreprint}%
%  \newunit\newblock
  \usebibmacro{issuetitle}%
  \setunit*{\addcomma\addspace}%
  \usebibmacro{byeditor+others}%
  \usebibmacro{editorpunct}%\newunit\newblock
  \printfield{note}%
  \setunit*{\addcomma\addspace}\newblock%
  \iffieldequalstr{entrysubtype}{magazine}
    {\usebibmacro{mag+news+date}%
     \newcunit\newblock
     \usebibmacro{chap+pag}}%
    {\usebibmacro{journal+issue+year+pages}}%
  \newunit\newblock
  \usebibmacro{pubstate}%
  \newunit\newblock
  \printfield{addendum}%
  \setunit*{\addcomma\addspace}\newblock%
  \iftoggle{cms@isbn}%
    {\printfield{issn}}%
    {}%
  \setunit*{\addcomma\addspace}\newblock%
  \usebibmacro{bib+doi+url}%
  \newunit\newblock
  \usebibmacro{pageref}%
  \newunit\newblock
  \usebibmacro{originally+published+as}%
  \usebibmacro{finentry}}
\makeatother

\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@book{KuhnCopRev,
  author    = {Thomas S. Kuhn},
  title     = {The Copernican Revolution},
  subtitle  = {Planetary Astronomy in the Development of Western Thought},
  publisher = {Harvard University Press},
  address   = {Cambridge, Mass.},
  date      = {1995},
  origdate  = {1957}
}
@article{testart,
  author        = {Arnold Uthor and William Riter},
  %author        = {Arnold Uthor and William Riter and Rita Esearcher and Steven C. Ientist and Stuart T. Udent and Peter R. Ofessor and Lewis E. C. Turer},
  title         = {A Very Interesting Article},
  journal       = {Journal of Articles},
  volume        = {7},
  number        = {3},
  pages         = {1-5},
  date          = {2010},
}
@book{testbookt,
  author        = {Arnold Uthor},
  title         = {Long Book},
  date          = {1990},
}
@book{testbook,
  author        = {Walter Ordsmith},
  editor        = {Eddie Ditor},
  title         = {The Work},
  subtitle      = {Subtitle},
  date          = {1983},
}
@review{testrev,
  author        = {Roald Eviewer},
  title         = {Another Review},
  crossref      = {testbookt},
  date          = {2010},
  journaltitle  = {Journal of Book Review},
  volume        = {12},
  number        = {3},
  pages         = {2-17},
}
@review{testrevt,
  author        = {Roald Eviewer},
  title         = {La Review},
  crossref      = {testbook},
  date          = {2011},
  journaltitle  = {Journal of Book Review},
  volume        = {42},
  pages         = {13-45},
}
@review{testrevkamp,
  author        = {David Kamp},
  title         = {Deconstructing Dinner},
  revdtitle     = {The Omnivore's Dilemma},
  revdsubtitle  = {A Natural History of Four Meals},
  revdauthor    = {Michael Pollan},
  date          = {2006-04-23},
  journaltitle  = {New York Times},
  url           = {http://www.nytimes.com/2006/04/23/books/review/23kamp.html},
}
@online{testonline,
  author        = {Bernie Logger},
  title         = {A Very Opinionated Blog Post},
  url           = {http://example.com},
  year          = {2013},
}
@review{barcott:review,
  journaltitle  = {New York Times Book Review},
  author        = {Barcott, Bruce},
  date          = {2000-04-16},
  entrysubtype  = {magazine},
  revdtitle     = {The Last Marlin},
  revdsubtitle  = {Story of a Family at Sea},
  revdauthor    = {Fred Waitzkin},
  pages         = 7,
}
@review{gibbard,
  author        = {Gibbard, Allan},
  title         = {Morality in Living},
  subtitle      = {Korsgaard's {Kantian} Lectures},
  journaltitle  = {Ethics},
  year          = 1999,
  volume        = 110,
  number        = 1,
  pages         = {140--164},
  revdtitle     = {The Sources of Normativity},
  revdauthor    = {Christine M. Korsgaard},
}
@review{osborne:poison,
  journaltitle  = {Salon},
  entrysubtype  = {magazine},
  date          = {2000-03-29},
  author        = {Osborne, Lawrence},
  title         = {Poison Pen},
  revdtitle     = {The Collaborator},
  revdsubtitle  = {The Trial and Execution of Robert Brasillach},
  revdauthor    = {Alice Kaplan},
  url           = {http://www.salon.com/books/it/2000/03/29/kaplan/index.html},
  urldate       = {2001-07-10},
}
\end{filecontents}


\begin{document}
  \nocite{*}
  \printbibliography
\end{document}

yields enter image description here

6
  • In my version of Biblatex, by in the \bibstring must be replaced with byauthor.
    – bongbang
    Commented Jan 19, 2022 at 21:19
  • Could you explain the reason for putting Christine M. Korsgaard in brackets in the manual example, please? Is it for the Chicago style? Does that mean that if I want to keep the styling decision generic, I should leave them out? What if you have multiple authors?
    – bongbang
    Commented Jan 19, 2022 at 22:09
  • @bongbang title-like fields are sometimes subject to capitalisation changes (sentence casing). Words like names that should not change case need to be protected. See e.g. tex.stackexchange.com/q/10772/35864. (That's also why it is {Kantian} and not Kantian.) Names in the titleaddon fields are not parsed as names, so they will always come out as written. With the manual formatting you have to make sure that everything looks correctly, biblatex cannot do a lot to help you.
    – moewe
    Commented Jan 20, 2022 at 6:12
  • Thank you. Very informative.
    – bongbang
    Commented Jan 21, 2022 at 3:20
  • Does that mean that The Sources of Normativity in the manual example needs an extra pair of brackets in order to be formatted as written (title case)? To the way I think, \mkbibemph{} shouldn't affect capitalization all by itself.
    – bongbang
    Commented Jan 21, 2022 at 3:37

You must log in to answer this question.

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