2

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
    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 '15 at 4:28
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

  • latex-community.org/forum/… Wanna answer there as well? – Johannes_B Nov 27 '15 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 '15 at 10:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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