6

How to avoid printing the shorthand label in each subsequent quote from the same work?

Sticking with the idea of using MLA with biblatex standard styles (in my case authortitle-ticomp), I've got a problem with entries that have shorthand defined:

Instead of using the ibid mechanism, biblatex prints the shorthand in each subsequent quote from the same work. Would it use ibid instead, I could use the solution from lockstep to redefine the cite:ibid macro to make away with ibid and thus virtually have mla-style citations.

So for me, the easiest way seems to be to make biblatex use ibid for entries that have a shorthand defined. I'd be equally happy about a solution that would just not print the shorthand anymore in any subsequent quote of the same text.

I felt that this should be a feature of biblatex and posted a feature request quite some time ago, but in the end was referred to TEX.SE for a solution.

Minimum Working Example:

\documentclass{scrartcl}
\usepackage[backend=biber,style=authortitle-ticomp]{biblatex}
\usepackage{filecontents}
% lockstep's solution to have no "ibid"
%\renewbibmacro*{cite:ibid}{%
%%  \printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}% DELETED
%  \ifloccit
%    {\global\booltrue{cbx:loccit}}
%    {}}

\begin{filecontents}{\jobname.bib}
@INBOOK{adorno:halbbildung,
  author = {Theodor W. Adorno},
  title = {Theorie der Halbbildung},
  year = {1959},
  pages = {93-121},
  shorthand = {Halbbildung},
  booktitle = {Gesammelte Schriften Band 8},
  booksubtitle = {Soziologische Schriften I},
  editor = {Rolf Tiedemann},
  publisher = {Suhrkamp},
  location = {Frankfurt am Main},
  options = {useeditor=false},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
A quote \autocite[93]{adorno:halbbildung}. A second one \autocite[94]{adorno:halbbildung}. A third one \autocite[94]{adorno:halbbildung}.
\end{document}

1 Answer 1

6

Feature requests to address style issues are often rejected. Users are instead encouraged to customize the relevant commands, macros and drivers in the document preamble or biblatex configuration file.

For your problem, shorthands can easily be suppressed in a recurrent citation using the \AtEveryCitekey hook. The ibidem citation label can be avoided by redefining the cite:ibid macro, but it should only be omitted when the postnote field is defined. Moreover, if prenote is defined we should also suppress punctuation that would otherwise delimit the postnote and the label.

\documentclass{article}
\usepackage[style=authortitle-ticomp]{biblatex}

\AtEveryCitekey{%
  \ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
    {\clearfield{shorthand}}
    {}}

\renewbibmacro*{cite:ibid}{%
  \iffieldundef{postnote}
    {\printtext[bibhyperref]{\bibstring[\mkibid]{ibidem}}}
    {\iffieldundef{prenote}
       {}
       {\nopunct}}%
  \ifloccit
    {\global\booltrue{cbx:loccit}}
    {}}

\addbibresource{biblatex-examples.bib}
\begin{document}
Filler text \autocite[93]{kant:kpv}. Filler text \autocite{kant:kpv}.
Filler text \autocite[94]{kant:kpv}. Filler text \autocite[93]{kant:ku}.
Filler \autocite[e.g.][10]{kant:ku}. \Textcite{kant:ku} showed that...
\Textcite[10--15]{kant:ku} showed that...
\end{document}
2
  • Thanks Audrey for that nice solution! Can I add this answer as additional answer to my other post as especially the check on pre/postnote would enhance the answer by @lockstep there or would that be theft and should only be done by the original author?
    – Jakob
    Mar 2, 2013 at 15:01
  • @Jakob No problem. It isn't much of a departure from lockstep's answer, so you could simply leave a comment on his post to consider updating it. (I'm pretty sure pinging him from here won't work.)
    – Audrey
    Mar 2, 2013 at 19:20

You must log in to answer this question.

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