3

I use biblatex-chicago and have a bunch of bibliography entries of translated works that use the fields Origtitle, Origlocation, and Origpublisher to refer to the originals. These are standard biblatex fields, but biblatex-chicago has a different mechanism which requires the original to be listed as a separate entry.

I was hoping to get around this as I don't really need the separate listing of the original and would prefer to not have to change my database.

Any suggestions how to tweak the settings in order to get the following output (CMoS 14.109) ...

Lévi-Strauss, Claude. (1964) 1968. The Raw and the Cooked: Mythologiques, Vol. 1. Translated by John and Doreen Weightman. New York: Harper & Row. Originally published as Le Cru et le cuit (Paris: Librairie Plon).

... with this MWE:

% !TEX TS-program = xelatexmk
\documentclass{report}
\usepackage{fontspec}

\usepackage{polyglossia}
\setdefaultlanguage{english}
\usepackage[autostyle=true]{csquotes} % 
\usepackage[authordate, backend=biber,%
    bookpages=false, isbn=false, doi=false, numbermonth=false,%
    longcrossref=true,% 
    cmsdate=both]%
    {biblatex-chicago}
\DeclareLanguageMapping{american}{cms-american}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{levi-strauss1968,
    Address = {New York},
    Author = {Lévi-Strauss, Claude},
    Origlocation = {Paris},
    Origpublisher = {Librairie Plon},
    Origtitle = {{Le Cru et le cuit}},
    Origyear = {1964},
    Publisher = {Harper \& Row},
    Title = {The Raw and the Cooked: Mythologiques, Vol. 1},
    Translator = {Weightman, {John and Doreen}},
    Year = {1968}}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\nocite{*}
\printbibliography
\end{document}

Much appreciated!

jan
  • 2,236
  • 1
    The easiest way would be to add the "Originally published" in the note field. If you want to add a new field, take a look at this link http://tex.stackexchange.com/a/65403/90297 – Elad Den Nov 24 '16 at 06:21

1 Answers1

7

You can use biblatex's related features. For that you create a separate entry for the original work with the option dataonly, so it doesn't appear in the bibliography itself. You then refer from the translated to the original work with related = {levi-strauss1964}, relatedtype = {origpubas}, or relatedtype = {translationof},.

@book{levi-strauss1968,
    address     = {New York},
    author      = {Lévi-Strauss, Claude},
    publisher   = {Harper \& Row},
    title       = {The Raw and the Cooked: Mythologiques, Vol. 1},
    translator  = {Weightman, {John and Doreen}},
    year        = {1968},
    related     = {levi-strauss1964},
    relatedtype = {origpubas},% or: translationof
}
@book{levi-strauss1964,
    Author    = {Lévi-Strauss, Claude},
    location  = {Paris},
    publisher = {Librairie Plon},
    title     = {{Le Cru et le cuit}},
    year      = {1964},
    options   = {dataonly},
}

Note that this is even the standard way biblatex does things, since by default all the orig... fields are ignored.


Alternatively, you can redefine the origpubl+loc+year macro to print more information.

\renewbibmacro*{origpubl+loc+year}{% 16th ed.
  \ifboolexpr{not test {\iflistundef{origlocation}}
              or not test {\iflistundef{origpublisher}}
              or not test  {\iflistundef{origtitle}}}
  {\bibstring{origpubas}%
   \setunit{\addspace}%
   \printfield[title]{origtitle}%
   \setunit{\addspace}%
   \ifboolexpr{not test {\iflistundef{origlocation}} or not test {\iflistundef{origpublisher}}}
     {\printtext[parens]{%
        \printlist{origlocation}%
        \iflistundef{origpublisher}%
          {\setunit*{\addcomma\addspace}}%
          {\setunit*{\addcolon\addspace}}%
        \printlist{origpublisher}}}
     {}}
  {}}

Or you move the whole thing a bit with

\renewbibmacro*{origpubl+loc+year}{}

\renewbibmacro*{originally+published+as}{% Punctuation fix now in 
  \iffieldundef{userf}%                  \origfullcite for 0.8e. 
  {\iffieldundef{reprinttitle}%
    {\ifboolexpr{not test {\iflistundef{origlocation}}
          or not test {\iflistundef{origpublisher}}
          or not test  {\iflistundef{origtitle}}}
       {\bibstring{origpubas}%
        \setunit{\addspace}}
       {}%
     \printfield[title]{origtitle}%
     \setunit{\addspace}%
     \ifboolexpr{not test {\iflistundef{origlocation}} or not test {\iflistundef{origpublisher}}}
       {\printtext[parens]{%
          \printlist{origlocation}%
          \iflistundef{origpublisher}%
            {\setunit*{\addcomma\addspace}}%
            {\setunit*{\addcolon\addspace}}%
          \printlist{origpublisher}}}
        {}}
    {\usebibmacro{begrelated}%
      \bibstring{reprintfrom}% ?
      \origpublcite{\thefield{reprinttitle}}%
      \usebibmacro{endrelated}%
      \newunit}}%
  {\usebibmacro{begrelated}%
    \iffieldundef{origlanguage}%
    {\bibstring{origpub}%
      \origfullcite{\thefield{userf}}%
      \usebibmacro{endrelated}%
      \newunit}%
    {\iftoggle{cms@postposit}%
      {\bibstring{origedition}%
        \setunit{\addspace}%
        \printfield[edlang]{origlanguage}%
        \addcolon%
        \origfullcite{\thefield{userf}}%
        \usebibmacro{endrelated}%
        \newunit}%
      {\printfield[edlang]{origlanguage}%
        \setunit{\addspace}%
        \bibstring{origedition}%
        \origfullcite{\thefield{userf}}%
        \usebibmacro{endrelated}%
        \newunit}}}}
moewe
  • 175,683
  • I just realized that this solution now prints "Originally published as" at the end of every single bibliography entry. :( – jan Nov 30 '16 at 08:38
  • 1
    @jan Oh, yes, so it does. Please have a look at the edited answer, it should now only appear if one of the orig... fields is filled in. – moewe Nov 30 '16 at 15:35
  • Sorry, there is still one problem with the new version. It now prints the origlocation: origpublisher twice, once before the location: publisher and then again in parentheses at the end (which should be the only one). May I ask you to look into it once more? – jan Dec 01 '16 at 00:31
  • I figured it out, I needed to keep the \renewbibmacro*{origpubl+loc+year}{} line. – jan Dec 01 '16 at 02:51
  • 1
    @jan Yes exactly, sorry. I inadvertently removed that line when I modified the second solution. I have added it back in to avoid confusion. – moewe Dec 01 '16 at 08:17