3

The biblatex-philosophy (modern/classic/verbose) versions gives the wrong introductory string (i.e., "trans.") with the origyear field. Here is an MWE:

\documentclass[12pt,a4paper]{article}

\usepackage{filecontents}

\begin{filecontents}{test2.bib}

@book{angut,  
    shorthand = {AN},  
    title = {Anguttara-Nikaya},  
    editor = {Richard Morris and Warder, A. K.},  
    volumes = {6},  
    origyear = 1885,  
    origendyear = 1910,  
    year = 1958,  
    endyear = 1976,  
    address = {London},  
    publisher = {The Pali Text Society},  
    keywords = {abbre,pali}  
}  

\end{filecontents}  

\usepackage[backend=biber, style=philosophy-modern,   language=american,publocformat=loccolonpub]{biblatex}

\addbibresource{test2.bib}  

\begin{document}  

\nocite{*}

\printbibliography

\end{document}

enter image description here

3
  • The documentation says that using the orig* fields is deprecated.
    – egreg
    Commented Mar 18, 2017 at 11:42
  • @egreg Yeah, you are right. But does it mean that I need to define a new related entry in the bib file? Isn't there a workaround for it?
    – ashinpan
    Commented Mar 18, 2017 at 12:53
  • AFAIK endyear/origendyear are non-standard and work only accidentally. Use the date/origdate fields with proper date ranges instead: date = {1958/1976}, origdate = {1885/1910},. This has no bearing on the issue, though, I will have a look at that in a moment.
    – moewe
    Commented Mar 18, 2017 at 13:49

1 Answer 1

4

The orig* fields are deprecated in biblatex-philosophy, you should use the related functionality instead. (Note that the standard bibiatex styles simply ignore the orig* fields, so that behaviour is nothing out of the ordinary.)

The biblatex-philosophy documentation states

The following [orig*] fields can hold the translation or the original edition data. They are preceded by the string “trans.” or “orig. ed.”, respectively according to the origfields=trans (default) or origfields=origed option (see below). Note that the origdate/transdate field is needed in order to print these fields.

That means that by default it is assumed that orig* refers to a translation, you can change that with the origfields=origed option. This will leave you with

Anguttara-Nikaya, 6 vols., London: The Pali Text Society; orig. pub. as 1885-1910.

which is sub-par due to the missing title.

You can use

\documentclass[12pt,a4paper]{article}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{angut,  
    shorthand = {AN},  
    title = {Anguttara-Nikaya},  
    editor = {Richard Morris and Warder, A. K.},  
    volumes = {6},  
    date = {1958/1976},
    origdate = {1885/1910},
    address = {London},  
    publisher = {The Pali Text Society},  
}  

\end{filecontents}  

\usepackage[backend=biber, style=philosophy-modern,   language=american,publocformat=loccolonpub, origfields=origed]{biblatex}

\addbibresource{\jobname.bib}  

\NewBibliographyString{origpubbare}
\DefineBibliographyStrings{english}{origpubbare  = {orig\adddotspace pub\adddotspace}}

\makeatletter
\renewbibmacro*{transorigstring}{%
  \iffieldundef{reprinttitle}%
  {\printtext{\ifdefstring{\bbx@origfields}{origed}
      {\bibstring{origpubbare}}%
      {\bibstring{translationas}}}\nopunct}%
  {\printtext{\bibstring{reprint}}}\nopunct}
\makeatother

\begin{document}  

\nocite{*}

\printbibliography

\end{document}

instead.

That way we only write 'orig. pub.' instead of 'orig. pub. as'.

3
  • How about: \DefineBibliographyStrings{american}{origpubas = {orig. pub.}} This is admittedly a hack, but it seems to work.
    – ashinpan
    Commented Mar 18, 2017 at 15:17
  • @ashinpan You could also do \DefineBibliographyStrings{english}{origpubas = {orig\adddotspace pub\adddotspace}}, but I didn't want to advocate this as is takes the 'as' away from the string when the name clearly indicates it should be there.
    – moewe
    Commented Mar 18, 2017 at 15:22
  • This is why this is a hack, isn't it? :D
    – ashinpan
    Commented Mar 18, 2017 at 15:49

You must log in to answer this question.

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