3

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?

2

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

  • Thank you so much for that solution. However, since as you say, it's pretty hacky, do you think it would be simpler to make a new cite command, that would print [author] ([title])? That is, author's name first (short or long form depending on whether or not is the first occurrence) and then title in parenthesis (short or long form as the case with the author)? I'm an illiterate when it comes to programming, but perhaps that would be a technically more simple solution? What do you think? Otherwise, I will use this solution. I really appreciate your help. – Mårten Sep 8 '13 at 1:43
  • @Mårten Your new cite command would be as hacky to realise as this one, I believe - it might even be harder because one cannot simply use a parencite template. The really hacky bit of the solution above is the way the first (full) citation is handled, the rest is pretty standard stuff, it just appears hacky since one has to modify quite a bit of code to get it working (I was not too keen to overwrite commands, so had to provide new ones). – moewe Sep 8 '13 at 9:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.