Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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..!

share|improve this question
    
Your question title (and the linked question) is about modifying the result of first citations, while your question body is about modifying all citations done with \autocite. Please edit your question and clarify your requirements. –  lockstep Feb 5 '13 at 11:20
    
@lockstep: thank you for your comment, you are quite right about that. I have tried to rephrase both the question body and title, hopefully that helped. –  Irene Feb 5 '13 at 12:26
    
Which title (full or short) should be used for follow-up citations usings \autocite (the non-starred version)? –  lockstep Feb 5 '13 at 12:37
    
My idea was to use \autocite for first citations and \autocite* for follow-up citations, mainly because using \autocite for follow-ups drops the title altogether (which I don't want either), while \autocite* does everything it should. So my question then does not really refer to follow-up citations, but primarily hopes to change the behaviour of \autocite while leaving \autocite* the way it currently is... does that make sense? –  Irene Feb 5 '13 at 12:43
1  
That's a bad idea -- imagine that you restructure your text (shifting some \sections) and what used to be a first citation is now a follow-up. I suggest to rewrite your question and specify the requirements (for first as well as for follow-up citations, possibly for different entry types) for a single citation command (\autocite). –  lockstep Feb 5 '13 at 12:49
show 1 more comment

1 Answer

up vote 3 down vote accepted

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.

share|improve this answer
    
Massive thanks! Exactly what I was looking for! –  Irene Feb 6 '13 at 7:02
    
@Irene No problem. It is more efficient to modify the relevant bibliography macros, but I was too lazy to sort all that source code out. –  Audrey Feb 6 '13 at 14:44
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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