[Tex/LaTex] First full title, then short title in \autocite: biblatex-chicago authordate with entrysubtype={classical}

biblatexchicago-style

I'm citing some classical authors using biblatex-chicago (authordate format) and the entrysubtype={classical} in my bib-file. Calling \autocite now suppresses the year and adds the title of the work in question instead.

With those sources using the classical entrysubtype, I would like to use the full title in the first quotation, and thereafter use the title given in "shorttitle". At the moment, it seems to me that once there is a shorttitle included in the bib-record, the full title is ignored when calling \autocite. Any subsequent uses of \autocite drop the title altogether and only print page/section numbers.

Is there any chance to get \autocite use the full title in the first citation, but print the short title in addition to the page/section numbers in subsequent citations?

Here's my MWE:

\documentclass[12pt, a4paper]{article}
\usepackage[authordate,strict,backend=bibtex8,citetracker=true,babel=other,%
bibencoding=inputenc,sorting=nyt]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents}{bibsample.bib}
@BOOK{Plato2003,
  title = {The Republic},
  publisher = {Penguin},
  year = {2003},
  author = {Plato},
  address = {London},
  nameb = {Lee, Desmond},
  entrysubtype = {classical},
  shorttitle = {Rep.},
}
\end{filecontents}
\addbibresource{bibsample.bib}
\begin{document}
\autocite[123d]{Plato2003}
\autocite[344a]{Plato2003}
\printbibliography

\end{document}

What happens at the moment is:

the first instance of \autocite[123a]{Plato2003} now results in (Plato Rep. 123a)
and subsequent \autocite[345a]{{Plato2003} drop both author and title, producing (345a).

What I would like to get:

The first \autocite to produce (Plato The Republic 123a) (= using the full title) while
subsequent \autocite would use the short title and section number without author: (Rep. 123b)

If a bib-record does not have a shorttitle nor entrysubtype={classical}, then I would like \autocite to act in the default way: (author year, pagenumber) first and subsequently (pagenumber).

Any help is greatly appreciated..!

Best Answer

To get the desired output for the first citation, you can copy the contents of the title field into labeltitle.

In the second citation you need to suppress both ibidem citation labels and (in non-ibdiem labels) the labelname name list. biblatex-chicago does the former by issuing \blx@ibidreset. The latter can be done by clearing labelname.

The following hook puts this all together. Note that it is executed at every citation command, not just \autocite.

\makeatletter
\AtEveryCitekey{%
  \ifboolexpr{ test {\iffieldequalstr{entrysubtype}{classical}}
               and not test {\iffieldundef{shorttitle}} }
    {\ifciteseen
       {\blx@ibidreset\clearname{labelname}}
       {\savefield{title}{\cbxtitle}\restorefield{labeltitle}{\cbxtitle}}}
    {}}
\makeatother

Just add this to your preamble. It should work with the latest biblatex-chicago release, which requires biber for the author-date styles.

Related Question