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 @review
s.
\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

@review
] entry type as an alias for@article
" (biblatex
manual, section 2.1.3).biblatex-chicago
since using@review
allows you to access variousentrysubtype
.biblatex
package).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.