4

I 'm using verbose-trad1 style. I have this result using \cite{x} command. enter image description here

As you can see, cite tracking works fine, but if I use \citetitle{x} cite tracking does not work. (That's ok and, of course, it is mentioned at biblatex doc.) What I want is to avoid citing the author, even in the first cite. But, of course, if I use \citetitle command, I lose cite tracking. Is there a way to modifiy \citetitle command to include cite tracking?

Gastón
  • 595

1 Answers1

5

There are a couple ways to do this. Enabling trackers in the definition of \citetitle won't give you ibidem and shorthand abbreviations without some extra work. Just omitting labelname from \cite can make a (semantic) mess of some abbreviations - namely opcit, loccit and idem.

The code below (hopefully) takes care of these limitations by defining a hook to suppress labelname, author, or editor and fix problematic abbreviations. This hook can be used in the document body or within a definition of a command.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=verbose-trad1]{biblatex}
\addbibresource{biblatex-examples.bib}

\newbibmacro*{cite:full:noname}{%
  \usebibmacro{cite:full:citepages}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\clearname{author}%
       \clearname{editor}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

\newrobustcmd*{\citetitlehook}{%
  \AtNextCite{%
    \renewbibmacro*{cite:full}{\usebibmacro{cite:full:noname}}%
    \renewbibmacro*{cite:name}{}%
    \renewbibmacro*{cite:idem}{}%
    \renewbibmacro*{cite:loccit}{\usebibmacro{cite:title}}%
    \renewbibmacro*{cite:opcit}{\usebibmacro{cite:title}}}}

\renewrobustcmd*{\citetitle}{\citetitlehook\cite}
\newrobustcmd*{\citetitles}{\citetitlehook\cites}
\newrobustcmd*{\parencitetitle}{\citetitlehook\parencite}
\newrobustcmd*{\parencitetitles}{\citetitlehook\parencites}
\newrobustcmd*{\autocitetitle}{\citetitlehook\autocite}
\newrobustcmd*{\autocitetitles}{\citetitlehook\autocites}
\newrobustcmd*{\footcitetitle}{\citetitlehook\footcite}
\newrobustcmd*{\footcitetitles}{\citetitlehook\footcites}

\begin{document}
\null\vfill\noindent
Citetitle: \citetitle{kant:kpv}.
Parencitetitle: \parencite{kant:kpv}.
Autocitetitle.\autocitetitle[10]{companion}
Footcite with recurrent entry.\footcite[10]{companion}
Footcites with recurrent entry+page.\footcites{knuth:ct,knuth:ct:a}[10]{companion}
Footcite with recurrent author.\footcite{knuth:ct,knuth:ct:a}
Footcite with hook.\citetitlehook\footcite{augustine}
Footcite with hook and recurrent entry.\citetitlehook\footcite[10]{augustine}
Footcites with hook and recurrent entry+page.\citetitlehook\footcites{knuth:ct,knuth:ct:a}[10]{augustine}
Footcite with hook and recurrent author.\citetitlehook\footcite{knuth:ct,knuth:ct:a}
\end{document}

enter image description here

Audrey
  • 28,881
  • @AudreyGreat! Thank you so much. The new command \footcitetitle works fine, but \citetitlehook does not work if I want to cite inline. So I created another commmand called \citeonlytitle and... it worked! My question is: should \citetitlehook have worked or is it a kind of "private command"? – Gastón Oct 20 '11 at 11:27
  • @Mario No problem. \citetitlehook should work in the document body. I'll revise the post to better demonstrate its range of use. – Audrey Oct 20 '11 at 14:03
  • \citetitlehook doesn't work in my document body. But \renewrobustcmd*{\citetitle}{\citetitlehook\cite} (or \newrobustcmd*{\citeonlytitle}{\citetitlehook\cite}) solves my problem. Thanks. – Gastón Oct 20 '11 at 15:10
  • @Mario Strange. Doesn't work in the example I posted, or in your actual document? – Audrey Oct 20 '11 at 15:16
  • \citetitlehook doesn't work in my actual document. I didn't test your example, but I will (could you post your .bib file?) – Gastón Oct 20 '11 at 15:43
  • @Mario I'd be curious to know why. But if troubleshooting isn't worth the effort, no worries. The bib file comes with the biblatex documentation. You can find it in doc\latex\biblatex\examples in your tex tree. – Audrey Oct 20 '11 at 16:05
  • 1
    I've tested your example and I've realized that I didn't understand the way I must use \citetitlehook: it doesn't work alone, but like a tool to switch the biblatex commands like \footcite. Sorry for the misunderstanding. New commands work fine with your example and my actual document. – Gastón Oct 20 '11 at 20:01