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 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?

share|improve this question
add comment

1 Answer

up vote 5 down vote accepted

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

share|improve this answer
    
@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
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
show 2 more comments

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.