我使用biblatex-chicago
并拥有大量翻译作品的书目条目,这些条目使用字段Origtitle
、Origlocation
和Origpublisher
来引用原文。这些是标准 biblatex
字段,但biblatex-chicago
具有不同的机制,要求将原文列为单独的条目。
我希望解决这个问题,因为我真的不需要原始内容的单独列表,并且不想更改我的数据库。
关于如何调整设置以获得以下输出(CMoS 14.109)的任何建议......
克劳德·列维-斯特劳斯。(1964)1968。 生食与熟食:神话学,第 1 卷。 译者:约翰和多琳·韦特曼。纽约:Harper & Row。原版为《Le Cru et le cuit》(巴黎:Librairie Plon)。
...有了这个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}
非常感激!
答案1
您可以使用biblatex
的相关功能。为此,您可以使用 选项为原始作品创建单独的条目dataonly
,因此它不会出现在参考书目本身中。然后,您可以使用related = {levi-strauss1964}, relatedtype = {origpubas},
或从翻译中引用原始作品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},
}
请注意,这甚至是标准的方式biblatex
,因为默认情况下所有orig...
字段都会被忽略。
或者,您可以重新定义origpubl+loc+year
宏来打印更多信息。
\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}}}
{}}
{}}
或者你把整个东西稍微移动一下
\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}}}}