[Tex/LaTex] Parenthetical citation without author’s name (\parencite*{}) not working in biblatex-chicago with [notes] style

biblatexchicago-style

I am using biblatex-chicago in the notes style. Sometimes I want to use the \parencite* command in a footnote, so as to produce, say:

Thomas S. Kuhn (The Copernican Revolution: Planetary Astronomy in the Development of Western Thought [1957; Cambridge, Mass.: Harvard University Press, 1995]) wrote that…

The documentation for the biblatex-chicago package does not mention this case (parenthetical citation without author while using the notes style), but in the documentation of the biblatex package, it is said about \parencite* (p. 80):

This command is provided by all author-year and author-title styles.
It is similar to the regular \parencite command but merely prints the
year or the title, respectively.

However, I cannot get it to work with the biblatex-chicago notes style. Instead, I get the full citation with the author's name, even if I use the starred (*) option of the command. This is a minimal working example (I compile using XeLaTeX) that illustrates the problem:

\documentclass[utf8,12pt,letterpaper]{article}
\usepackage[notes,strict,isbn=false,backend=biber,bibencoding=utf8,hyperref=true]{biblatex-chicago}

\addbibresource{bibliography.bib}

\begin{document} 

Thomas S.\ Kuhn \parencite*{Kuhn19571995TheCopernicanRevolution} wrote that\ldots

\end{document}

The contents of bibliography.bib being:

@book{Kuhn19571995TheCopernicanRevolution,
author = {Kuhn, {Thomas S.}},
title = {The Copernican Revolution},
subtitle = {Planetary Astronomy in the Development of Western Thought},
publisher = {Harvard University Press},
address = {Cambridge, Mass.},
date = {1995},
origdate = {1957}
}

The resulting PDF looks like this:

enter image description here

Any ideas?

Best Answer

In biblatex-chicago, the \cite* commands turn off ibidem-tracker (see § 4.3.2 of the biblatex-chicago documentation) while in the standard biblatex styles \cite* has exactly the behaviour you expect (see § 3.7.2 of the biblatex documentation).

NB: the solutions here are quite hacky - especially the one for fullcite - maybe you could contact the maintainer and ask him to incorporate this feature, in the meantime use this solution with care.

To achieve the behaviour you expect, we will need to modify the biblatex-chicago styles quite heavily.

Copy biblatex-chicago.sty, chicago-notes.bbx and chicago-notes.cbx to a location where latex can find them and rename them to, let's say, biblatex-chicago-na.sty, chicago-notes-na.bbx and chicago-notes-na.cbx respectively.


First, we modify biblatex-chicago-na.sty. Just add

\DeclareOption{notes-na}{\def\cms@style{notesna}}

after \DeclareOption{notes}{\def\cms@style{notes}} (l. 21).

Then add

\def\cms@notesna{%
  \RequirePackage[style=chicago-notes-na]{biblatex}%
  \ExecuteBibliographyOptions{%
    pagetracker=true,autocite=footnote,abbreviate=false,alldates=comp,
    citetracker=true,ibidtracker=constrict,usetranslator=true,
    usecompiler=true,loccittracker=constrict,dateabbrev=false,
    maxbibnames=10,minbibnames=7,sorting=\cms@choose,sortcase=false}}

to line 68, somewhere after the block \def\cms@notesna{......}.


We now modify chicago-notes-na.cbx. Add

\newbibmacro*{cite:noauth}{%
   \ifciteseen%
     {\iffieldundef{shorthand}%
        {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
           {\usebibmacro{cite:noauth:ibid}}%
           {\global\toggletrue{cms@shortnote}%
             \global\togglefalse{cms@fullnote}%
             \usebibmacro{cite:noauth:short}%
            \usebibmacro{cite:save}}}%
        {\iftoggle{cms@shorthandibid}%
          {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}%
            {\usebibmacro{cite:noauth:ibid}}%
            {\usebibmacro{cite:shorthand}%
              \usebibmacro{cite:save}}}%
          {\usebibmacro{cite:shorthand}%
            \usebibmacro{cite:save}}}}%
     {\iftoggle{cms@allshort}%
       {\global\toggletrue{cms@shortnote}%
         \global\togglefalse{cms@fullnote}%
         \global\toggletrue{cms@printshhand}%
         \usebibmacro{cite:noauth:short}%
         \usebibmacro{cite:save}}%
       {\global\toggletrue{cms@fullnote}%
         \global\togglefalse{cms@shortnote}%
         \usebibmacro{cite:noauth:full}%
         \usebibmacro{cite:save}}}}%

after the block from \newbibmacro*{cite}{...} (around line 260).

Finally, add the following block of code.

\newbibmacro*{cite:noauth:full}{%
  \begingroup
  \renewbibmacro{author/editor}{}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}\frenchspacing}
      {cite:\thefield{entrytype}}%
   \iffieldundef{shorthand}
     {}%
     {\usebibmacro{cms:shorthandintro}}}%
  \endgroup}

\newbibmacro*{cite:noauth:short}{%
  \ifboolexpr{%
    togl {cms@allshort}%
    or
    test {\ifbibliography}
  }%
  {\printtext[bibhyperref]{%
    \printfield[citetitle]{labeltitle}}}%
  {\printtext[bibhyperlink]{%
    \printfield[citetitle]{labeltitle}}}}%:\thefield{entrytype}?

\newbibmacro*{cite:noauth:ibid}{%
  \iftoggle{cms@noibid}
  {\global\toggletrue{cms@shortnote}%
    \global\togglefalse{cms@fullnote}%
    \usebibmacro{cite:noauth:short}%
    \usebibmacro{cite:save}}%
  {\iftoggle{cms@allshort}%
    {\printtext[bibhyperref]{%
        \bibstring[\mkibid]{ibidem}}}%
    {\printtext[bibhyperlink]{%
        \bibstring[\mkibid]{ibidem}}}%
    \ifloccit
    {\global\toggletrue{cms@loccit}}%
    {}}}

\DeclareCiteCommand{\parencitena}[\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:noauth}}
  {\multicitedelim}
  {\usebibmacro{cite:postnote}}

You should also change the macro newbibmacro*{cite:ibid} to (I've added two %s so there is not spurious white space in \parencite with ibidem)

\newbibmacro*{cite:ibid}{%
  \iftoggle{cms@noibid}
  {\global\toggletrue{cms@shortnote}%
    \global\togglefalse{cms@fullnote}%
    \usebibmacro{cite:short}%
    \usebibmacro{cite:save}}%
  {\iftoggle{cms@allshort}%
    {\printtext[bibhyperref]{%
        \bibstring[\mkibid]{ibidem}}}%
    {\printtext[bibhyperlink]{%
        \bibstring[\mkibid]{ibidem}}}%
    \ifloccit
    {\global\toggletrue{cms@loccit}}%
    {}}}

You then use the modified style like this \usepackage[notes-na,strict,isbn=false,backend=biber,bibencoding=utf8,hyperref=true]{biblatex-chicago-na}, the new command is \parencitena{...}.


MWE

\documentclass[american]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage[autopunct=true]{csquotes}
\usepackage[notes-na,strict,isbn=false,backend=biber,bibencoding=utf8,hyperref=true]{biblatex-chicago-na}
\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},
  page          = {1-5},
  date          = {2010},
}
@book{testbook,
  author        = {Walter Ordsmith},
  editor        = {Eddie Ditor},
  title         = {The Work},
  subtitle      = {Subtitle},
  date          = {1983},
}
@online{testonline,
  author        = {Bernie Logger},
  title         = {A Very Opinionated Blog Post},
  url           = {http://example.com},
  year          = {2013},
}
\end{filecontents}

\begin{document}
  Thomas S. Kuhn \parencitena{KuhnCopRev} told us that \ldots
  \nocite{*}
  \printbibliography
\end{document}

enter image description here