5

I am using biblatex and biber for the bibliography of my thesis and the required bibliography style resembles the one provided by authortitle. Citations are required to be in the form authoryear. I have achieved this with the style and citestyle options, as below:

\usepackage[backend=biber,style=authortitle,citestyle=authoryear-ibid,sorting=nyt,isbn=false,doi=false]{biblatex}

There is an exception, however; some classical texts, such ass the Enneads by Plotinus, and some other philosophical works (Plato, Aristotle, etc.) are cited in the text according to abbreviated titles; thus, when first appearing, Enneads would be: (Plotinus, Enn. I.6.1), and further when explicating it, it would simply by (Enn. I.6.2) and so on. I have ALMOST managed to reach this by adding shorthand={\emph{Enn.}} and pagination={none} into the entry (in .bib), but there still remains a problem: when I use \parencite[I.6.2]{enneads}, the result is: (Enn., I.6.2), not (Enn. I.6.2).

My question: is there a simple way to remove the comma between the citation shorthand and the "pages" of the citation? Preferably something that would be added to the .bib file, maybe using the options={???}.

7

How about this? This creates a new entry option where you can specify the definition of \postnotedelim.

\documentclass{article}
\usepackage[backend=biber,style=authortitle,citestyle=authoryear-ibid,sorting=nyt,isbn=false,doi=false]{biblatex}
\DeclareEntryOption{postnotedelim}{%
  \def\postnotedelim{#1}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{enneads,
  author = {Plotinus},
  title = {Enneads},
  pagination = {none},
  shorthand = {\emph{Enn.}},
  options = {postnotedelim=\addspace}
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\parencite[I.6.2]{enneads}
\end{document}
  • This seems very simple, and as @moewe put it, quite brilliant. It also requires only one simple entry in the bib-entry. Thank you! – JSilvanus Oct 9 '15 at 21:05
5

While David Purton's answer is brilliant in its simplicity, I would like to offer one where you only need to set one field in the .bib file, namely entrysubtype = {classical} and all the other settings are taken care of by biblatex.

It would then be enough to say

@book{enneads,
  author       = {Plotinus},
  title        = {Enneads},
  entrysubtype = {classical},
  shorthand    = {Enn.},
}

We then switch some field definitions conditioned on the entrysubtype being classical

\DeclareFieldFormat{shorthand}{%
  \iffieldequalstr{entrysubtype}{classical}
    {\mkbibemph{#1\isdot}}
    {#1\isdot}}

\renewcommand*{\postnotedelim}{%
  \iffieldequalstr{entrysubtype}{classical}
    {}
    {\addcomma}%
  \addspace}

and make sure to set the pagination to none via sourcemapping

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=entrysubtype, match={classical}, final]
      \step[fieldset=pagination, fieldvalue={none}]
    }
  }
}

MWE

\documentclass{article}
\usepackage[backend=biber,style=authortitle,citestyle=authoryear-ibid,sorting=nyt,isbn=false,doi=false]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{enneads,
  author       = {Plotinus},
  title        = {Enneads},
  entrysubtype = {classical},
  shorthand    = {Enn.},
}
\end{filecontents}

\DeclareSourcemap{
  \maps[datatype=bibtex]{
    \map{
      \step[fieldsource=entrysubtype, match={classical}, final]
      \step[fieldset=pagination, fieldvalue={none}]
    }
  }
}

\DeclareFieldFormat{shorthand}{%
  \iffieldequalstr{entrysubtype}{classical}
    {\mkbibemph{#1\isdot}}
    {#1\isdot}}

\renewcommand*{\postnotedelim}{%
  \iffieldequalstr{entrysubtype}{classical}
    {}
    {\addcomma}%
  \addspace}

\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}
\begin{document}
\parencites[I.6.2]{enneads}[19]{sigfridsson}[4-6]{kant:kpv}
\end{document}

(Enn. I.6.2; Sigfridsson and Ryde 1998, p. 19; KpV, pp. 4-6)

  • This is definitely worth thinking about if there will be a lot of classical works cited like this. – JSilvanus Oct 10 '15 at 8:58
  • 1
    The other advantage is that it better separates content in your bib record from the style of output. – David Purton Oct 11 '15 at 4:34

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.