biblatex-chicago 中的书评条目

biblatex-chicago 中的书评条目

我正在使用reviewbiblatex-chicago 中的条目类型,但其biblatex-chicagobiblatex文档都没有帮助。

我希望获得的结果至少接近《芝加哥手册》的风格,但我不知道应该使用哪种输入字段组合才能得到正确的结果。

\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}

设置biblio.bib为:

@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}}

显然,它打印出的内容与条目几乎相同@article引号。我假设有一些方法可以让它至少更接近《芝加哥手册》(即打印标题为“书评”,然后全部用斜体显示,后面跟着origauthor“'s +booktitle+”)。我无法使用包括和其他在内的任何输入字段组合来使其工作byreviewer

我遗漏了什么?@review条目是否应与以下内容相同,@article并且所有这些格式都应手动输入?

答案1

biblatex-chicago包提供了@review条目类型,但一些格式必须通过字段手动完成titleaddon(参见例子

@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}},
}

通过biber这种方式,可以很大程度上实现该过程的自动化。

首先我们在 中声明一些新字段chicago-authordate.dbx(此文件默认不存在,因此必须创建。如果 LaTeX 可以找到它,则每次使用 authordate 样式时都会使用它biblatex-chicago。)。新字段为revdtitlerevdsubtitle和,这些仅对srevdauthor有效。@review

\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

以下代码进入前言部分(或修改后的版本chicago-authordate.bbx- 在这种情况下,当然没有\makeatletter\makeatother)。它重新定义了驱动程序以@review合并新字段。(代码直接改编自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

评论条目现在可能看起来像这样

@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,
}

由于crossref字段和biber的继承特性,下面的方法也可以工作

@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},
}

完整的,不那么 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}

产量 在此处输入图片描述

相关内容