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

  • The documentation says that using the orig* fields is deprecated. – egreg Mar 18 '17 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 Mar 18 '17 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 Mar 18 '17 at 13:49
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'.

  • How about: \DefineBibliographyStrings{american}{origpubas = {orig. pub.}} This is admittedly a hack, but it seems to work. – ashinpan Mar 18 '17 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 Mar 18 '17 at 15:22
  • This is why this is a hack, isn't it? :D – ashinpan Mar 18 '17 at 15:49

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.