6

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={???}.

0

2 Answers 2

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}
1
  • 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, 2015 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)

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

You must log in to answer this question.

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