3

I am using biblatex for my citations and bibliography, with citations placed in end notes and am using the authortitle style. I am required to cite a single work in the notes with just a reference to the author, but if that author has multiple works in the bibliography, I need to use the the combination of author and short title in the citation.

For example:

  1. Smith, p.10.
  2. Jones, "Gone with the Wind", p.11.
  3. Smith, p.23.
  4. Jones, "No longer windy", p.2. etc

I have successfully implemented the Jones, "Gone with the Wind", p.11 type of entry, but I get this format for all my entries, including those for Smith. How do I drop the short title from the Smith-type entries, that is, those authors with only single titles in the bibliography?

Thanks for any assistance.

The following code shows my biblatex setup:

\documentclass[11pt, article, oneside]{memoir}
\usepackage{endnotes}
\let\footnote=\endnote
\renewcommand{\notesname}{}
\usepackage[citestyle=authortitle-ibid, bibstyle=authortitle, sorting=nyt, 
block=space, terseinits=true, backend=biber]{biblatex}
\defbibheading{memoir}{}
\bibliography{/Volumes/Current/work/core/biblio14}
\DefineBibliographyStrings{australian}{% 
bibliography = {References},
shorthands = {Abbreviations}, 
editor = {editor}, 
editors = {editors},
techreport = {},
in = {~}, 
}

\newbibmacro*{shorttitle}{%
  \setunit*{\addcomma\space}%
  \printlist{shorttitle}%
  \setunit*{\addcomma\space}
  \newunit}

\begin{document}

blah blah blah \footnote{\cite[247]{Kaufmann2014b}}
blah blah blah


\newpage
\addcontentsline{toc}{chapter}{Notes}
\chapter*{Notes}
% 
\begingroup
\renewcommand{\makeenmark}{\hbox{\theenmark}.\quad}
\parindent 0pt
\parskip 2ex
\def\enotesize{\normalsize}
\theendnotes
\endgroup

\chapter*{References}
\raggedright
\printbibliography[heading=memoir]

\end{document}
1
  • 1
    Welcome! Your code looks great but it can't be used to reproduce your situation without a .bib entry or three. We'd need 2 entries by one author and 1 entry by another, I guess.
    – cfr
    Nov 27, 2015 at 4:28

1 Answer 1

2

If we enable the package option singletitle we can use the test \ifsingletitle to check if there is only one work by a particular author.

We can modify the cite:title macro to do nothing if that is the case

\renewbibmacro*{cite:title}{%
  \ifsingletitle
    {}
    {\printtext[bibhyperref]{%
       \printfield[citetitle]{labeltitle}}}}

This, leads to a tiny complication with punctuation though, so we also need

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifnameundef{labelname}
          {}
          {\printnames{labelname}%
           \ifsingletitle{}{\setunit{\nametitledelim}}}%<--- the change is here
        \usebibmacro{cite:title}}}%
    {\usebibmacro{cite:shorthand}}}

Note that in your MWE I have changed your redefinition of the in bibstring to the standard way to suppress the "in:", I also use style=authortitle-ibid instead of the longer, but equivalent citestyle=authortitle-ibid, bibstyle=authortitle. I don't like the techreport = {}, either, but I'm not entirely sure what you want to do there, so I left it, maybe, just maybe \AtEveryBibitem{\clearfield{type}} does what you want. We also used \footcite{foo} instead of \footnote{\cite{foo}}.

\documentclass[11pt, article, oneside]{memoir}
\usepackage[australian]{babel}
\usepackage{csquotes}
\usepackage{endnotes}
\let\footnote=\endnote
\renewcommand{\notesname}{}
\usepackage[style=authortitle-ibid, terseinits=true, block=space, backend=biber, singletitle]{biblatex}
\defbibheading{memoir}{}

\addbibresource{biblatex-examples.bib}

\DefineBibliographyStrings{australian}{% 
bibliography = {References},
shorthands = {Abbreviations}, 
editor = {editor}, 
editors = {editors},
techreport = {},
}

\renewbibmacro{in:}{}

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifnameundef{labelname}
          {}
          {\printnames{labelname}%
           \ifsingletitle{}{\setunit{\nametitledelim}}}%
        \usebibmacro{cite:title}}}%
    {\usebibmacro{cite:shorthand}}}

\renewbibmacro*{cite:title}{%
  \ifsingletitle
    {}
    {\printtext[bibhyperref]{%
       \printfield[citetitle]{labeltitle}}}}


\begin{document}

blah\footcite[12]{sigfridsson} blah\footcite{worman,pines} blah\footcite[34]{knuth:ct:b}
blah\footcite[56]{geer} blah\footcite[78]{knuth:ct:c} blah.


\newpage
\addcontentsline{toc}{chapter}{Notes}
\chapter*{Notes}
% 
\begingroup
\renewcommand{\makeenmark}{\hbox{\theenmark}.\quad}
\parindent 0pt
\parskip 2ex
\def\enotesize{\normalsize}
\theendnotes
\endgroup

\chapter*{References}
\raggedright
\printbibliography[heading=memoir]

\end{document}

example output: cut of the note section

2
  • latex-community.org/forum/… Wanna answer there as well?
    – Johannes_B
    Nov 27, 2015 at 9:51
  • Thank you moewe, this worked perfectly. And thank you for answering in such detail and with the additional improvements. Your help is much appreciated. My reason for using \footnote{\cite ...} is that I am also adding other material to the footnote, and also sometimes using \parencite in the footnote.
    – ianw
    Nov 28, 2015 at 10:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .