# Show information only once in footnotes

I am using citestyle=authortitle-ibid, but I have to make it work according to these rules:

1. The first time a reference is made, there should be all the information in the footnote (including publisher, author, editor, containing book, year etc.).
2. The second time the same reference is used, even on another page, the footnote should contain author, year and page, unless the information is ambigious without the title. In the latter case, the title should be contained as well.

I am wondering how one could achieve this. Personally, I think putting all the information in footnotes is a bad idea, however, I was told to do so.

• In which cases are the informations ambiguous? May 16, 2014 at 14:19
• In other words, you want to combine the authortitle style with an authordate style? Normally, when the year alone doesn't disambiguate, you add a letter. Smith 2001a vs Smith 2001b vs Smith 2002 --- no one is going to be confused as to which is which. When you use titles, you disambiguate via the shorttitle field, which is what gets printed in subsequent citations.
– jon
May 16, 2014 at 14:19
• Also when John Smith published something in 2000, and Robert Smith published something in 2000, then you usually want to have J. Smith 2000 vs R. Smith 2000: Smith 2000 + title won't (directly) tell you whether John or Robert was the author...
– jon
May 16, 2014 at 14:21
• @jon As far as I know, I'll have to use the whole name (or at least last name + initial) anyway. I don't like this style, but my teacher enforces it for some reason. May 16, 2014 at 14:24
• Well many teachers, especially those who type out all their own references by hand, can have odd preferences. Just to be clear: in the subsequent references where the title is necessary, the full title must be used, or the shorttile field?
– jon
May 16, 2014 at 14:29

My original answer used chicago, because it's a highly developed style which I thought came close to what was wanted. However, a comment in response indicated that the questioner has developed his/her own custom .bbx style based on authortitle-ibid, and I think there are likely to be conflicts there.

Frankly, I don't think authortitle-ibid is the place to start: a key feature of the style you want is (a) full citations at first and (b) short citations on subsequent use. The standard style that comes close to this is verbose-ibid, and that is probably the right place to start. It's still more likely to be compatible with your custom adjustments, since it won't be far from authortitle-ibid as far as full citations is concerned, and it will certainly be closer than chicago. If you start from authortitle you are going to have to recreate all the structure for full citations and so forth that is already present in verbose, which is pointless.

Within the verbose-ibid style, the typesetting of shortened citations is handled by the bibmacro cite:short, and so we redefine that.

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{author1,
author    = {Author, A.},
title     = {First Work},
date      = {2010},
publisher = {Publisher},
}
@book{author2,
author    = {Author, A.},
title     = {Second Work},
date      = {2010},
publisher = {Publisher},
}
@book{author3,
author    = {Author, A.},
title     = {Third Work},
date      = {2011},
publisher = {Publisher},
}
\end{filecontents}
\setlength{\textheight}{2in}

\usepackage[style=verbose-ibid,labeldate=true]{biblatex}
\makeatletter
\renewbibmacro*{cite:short}{%
\printnames{labelname}%
\iffieldundef{extrayear}%
\mkbibparens{\printdatelabel}}}
{\setunit*{\nametitledelim}%
\printfield[citetitle]{labeltitle}%
\printtext{\mkbibparens{\printdatelabel}}}}}
\makeatother

\begin{document}

We use \texttt{verbose-ibid} as our style, setting \texttt{labeldate}
true so as to have a hook to decide if we have multiple works by the
same author(s) in the same year.

We revise the \texttt{cite:short} macro. On the first occasion
something is printed, we will have full citations.\footcite{author1,
author2, author3} On subsequent occasions they will be shortened,
with titles added only if necessary for
disambiguation.\footcite{author1, author2, author3}

\end{document}


Producing:

The effect you want is nearly the default with the biblatex-chicago style, with the notes option: it is loaded (unusually) as a free-standing package not a style, but it makes full use of biblatex. The documentation is extensive.

Indeed, I first thought that this just did what you want: but I was reading too quickly -- the default is to have an author/title style on subsequent citations, not the mixture of author/year and title you suggest. That can, however, be fairly easily accomplished by redefining one bibmacro: we also need to add the labeldate option, not because we add any additional labels this way, but because it's a handy way of getting biber to tell us if there is more than one relevant citation in a given year. The basic technique could, I think, be easily adapted to the standard styles.

A brief example follows:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{author1,
author = {Author, A.},
title  = {First Work},
date   = {2010},
}
@book{author2,
author = {Author, A.},
title  = {Second Work},
date   = {2010},
}
@book{author3,
author = {Author, A.},
title  = {Third Work},
date   = {2011},
}
\end{filecontents}

\usepackage[notes,labeldate=true]{biblatex-chicago}
\makeatletter
\renewbibmacro*{cite:short}{%
\ifthenelse{\ifnameundef{labelname}\OR%
\ifentrytype{inreference}\OR%
\ifentrytype{reference}\OR%
\ifentrytype{mvreference}}%
{\iffieldequalstr{entrysubtype}{magazine}% Simplify .bib creation
{\ifuseauthor%
{\printfield[journaltitle]{journaltitle}\isdot\newcunit}%
{}}%
{\ifentrytype{manual}%
{\printlist{organization}\isdot\newcunit}%
{}}}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{labelname}%
\bibrightbracket\classicpunct}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{labelname}?%
\bibrightbracket\classicpunct}%
{\usebibmacro{choose+labelname}%\printnames{labelname}%
\isdot\classicpunct}}}%
\iffieldundef{extrayear}% Is the reference unique?
{\printfield[citetitle]{labeltitle}% Yes: print the title
\ifboolexpr{%
togl {cms@allshort}%
or
test {\ifbibliography}
}%
{\printtext[bibhyperref]{%
\mkbibparens{\printdatelabel}}}% We want the date label not the title
\mkbibparens{\printdatelabel}}}% We want the date label not the title
}%:\thefield{entrytype}?
\makeatother

\begin{document}

With \texttt{biblatex-chicago} with the \texttt{notes} option, the
default is for citation to appear in footnotes, with a full citation
on the first occasion and an abbreviated citation on subsequent occasions.

So the first citation is full,\footcite{author1} an immediately
following citation will use \emph{ibid}\footcite[Thus:][]{author1},
(unless \texttt{ibidtracker} is set false) but otherwise later
citations will be abbreviated.

We do, however, have to make minor modifications to one macro, because
by default the package assumes author/title citations, but we have to
provide author/year citations, with the date printed only if there is
more than one work in the relevant year. We thus get all our full
citations out,\footcite{author1, author2, author3} and then
demonstrate that happening.\footcite{author1, author2, author3}

\end{document}


• I don't think this is quite true: the point is that the year is always included in the subsequent citations, and, when that is not enough, then the title is added as well in order to disambiguate. (The year only partially disambiguates on its own --- that's what makes it weird!)
– jon
May 16, 2014 at 16:04
• @jon You are right: I read too quickly. May 16, 2014 at 17:17
• @PaulStanley This looks great, can't wait to try it! I already wrote a custom bbx file for my bibliography, can I still use it with the biblatex-chicago package? May 17, 2014 at 12:54
• Well, I doubt a custom bbx file will work smoothly with chicago; but if you look at the bibmacro above, I doubt you will have much difficulty in converting it to your package. The useful "trick" is the use of extrayear to do your disambiguation, and that should be adaptable to the standard package. But if you are trying to customize towards this result, it would be easier to start with verbose-ibid anyway, since that gets closer to what you want .... May 17, 2014 at 14:19
• @just.kidding I have updated my answer to use the same technique but with a standard style, which you will probably find easier to work with. May 17, 2014 at 15:05