我的书目中有同一位作者的两部作品,最初出版于 1523 年,但其中一部的日期是 1523 年,另一部的作品的原始日期也是 1523 年。两部作品都显示为亚里士多德 1523(即不是 1523a 和 1523b)。
另一对作品可以说具有相互关联的年表。第一部作品出版于 1736-7 年(原版),但我引用的是 1739 年(年份)的第二版;第二部作品出版于 1738-9 年(年份;无原版)。在参考书目中,列出的第一部作品是沃尔夫 1738-1739 年的作品,第二部是沃尔夫 1736-1737 年的作品。我需要反向引用。
这些是错误吗,还是我做错了什么?这是 MWE。
\documentclass[12pt]{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
\renewbibmacro*{origyear+endyear}{%
\printfield{origyear}%
\iffieldundef{origendyear}%
{}%
{\iffieldequalstr{origendyear}{}%
{\mbox{\bibdatedash}}%
{\bibdatedash\nopunct\printtext{\unspace}\printfield{origendyear}}}}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Book{aristotle1523a,
author = {Aristotle},
title = {Parva naturalia},
publisher = {Vitali},
year = 1523,
location = {Venice},
translator = {{Leonico Tomeo}, Niccol\`{o}}}
@Book{aristotle1523b,
author = {Aristotle},
editor = {Agostino Nifo},
title = {Parva naturalia Augustini Niphi Medices
Philosophi Suessani},
publisher = {Scoto},
year = 1550,
origdate = 1523,
options = {cmsdate=on},
location = {Venice}}
@Book{wolff1736,
author = {Christian Wolff},
title = {Theologia naturalis methodo scientifica pertractata},
publisher = {Renger},
year = 1739,
address = {Frankfurt am Main},
edition = 2,
options = {cmsdate=on},
origdate = {1736/1737}}
@Book{wolff1738,
author = {Christian Wolff},
title = {Philosophia practica universalis methodo scientifica
pertractata},
publisher = {Renger},
year = {1738--1739},
address = {Frankfurt am Main},
volumes = 2}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{*}
\printbibliography
\end{document}
答案1
您可以biblatex
尊重,origdate
这将同时labeldate
启用 的extrayear
消歧义功能origyear
。然后,您必须修改一些宏才能正确显示。请注意,在其他情况下,这可能是一个相当不可预测的修复,特别是因为biblatex-chicago
具有非常广泛的条件装置来促进日期打印。
通过在排序方案中sortyear
赋予比/origyear
更高的优先级,可以方便地实现数字 2 。date
year
由于这两种修改都很长,请查看下面的 MWE。
\documentclass{article}
\usepackage[authordate,backend=biber]{biblatex-chicago}
%----------- 1 -------------------------------------------%
\DeclareLabeldate{%
\field{origdate}
\field{date}
\field{eventdate}
\field{urldate}
\literal{nodate}
}
\makeatletter
\renewbibmacro*{cite:origyear+labelyear}{%
\iftoggle{cms@switchdates}%
{\usebibmacro{cite:labelyear+extrayear}}
{\iffieldundef{origyear}%
{\clearfield{extrayear}\usebibmacro{cite:labelyear+extrayear}}%
{\usebibmacro{cite:labelyear+extrayear}}}}%<------ this is new
\renewbibmacro*{origyear+labelyear}{%
\iftoggle{cms@switchdates}%
{\usebibmacro{labelyear+extrayear}%
\clearfield{year}}%
{\usebibmacro{labelyear+extrayear}}}%<----- this is new
\newbibmacro*{standard+labelyear+extrayear}{%
\iffieldundef{labelyear}%
{\ifboolexpr{
test {\iffieldequalstr{entrytype}{misc}}
or
test {\iffieldequalstr{entrytype}{inreference}}
or
test {\iffieldequalstr{entrytype}{reference}}
or
not togl {cms@nodates}}%
{}%
{\bibstring{nodate}}}%
{\iffieldundef{year}%
{\iffieldundef{eventyear}
{\iffieldundef{origyear}%
{\printfield{labelyear}%
\iffieldundef{extrayear}%
{}%
{\setunit*{}%
\printfield{extrayear}}%
\iffieldundef{urlendyear}%
{\clearfield{urlyear}}%
{\iffieldequalstr{urlendyear}{}%
{\mbox{\bibdatedash}%
\clearfield{urlyear}}%
{\iffieldundef{urlmonth}%
{\clearfield{urlyear}}%
{\iffieldsequal{urlyear}{urlendyear}%
{\clearfield{urlyear}\clearfield{urlendyear}}%
{}}}}}%
{\printfield{labelyear}%
\iffieldundef{extrayear}%
{}%
{\setunit*{}%
\printfield{extrayear}}%
\iffieldundef{origendyear}%
{\clearfield{origyear}}%
{\iffieldequalstr{origendyear}{}%
{\mbox{\bibdatedash}%
\clearfield{origyear}}%
{\iffieldundef{origmonth}%
{\clearfield{origyear}}%
{\iffieldsequal{origyear}{origendyear}%
{\clearfield{origyear}\clearfield{origendyear}}%
{}}}}}}%
{\printfield{labelyear}%
\iffieldundef{extrayear}%
{}%
{\setunit*{}%
\printfield{extrayear}}%
\iffieldundef{eventendyear}%
{\clearfield{eventyear}}%
{\iffieldequalstr{eventendyear}{}%
{\mbox{\bibdatedash}%
\clearfield{eventyear}}%
{\iffieldundef{eventmonth}%
{\clearfield{eventyear}}%
{\iffieldsequal{eventyear}{evendendyear}%
{\clearfield{eventyear}\clearfield{eventendyear}}%
{}}}}}}%
{\printfield{labelyear}%
\iffieldundef{extrayear}%
{}%
{\setunit*{}%
\printfield{extrayear}}%
\iffieldundef{endyear}% DATE FIX
{\iffieldundef{origyear}%<----- this conditional is new
{\clearfield{year}}%
{}}%
{\iffieldequalstr{endyear}{}%
{\mbox{\bibdatedash}%
\clearfield{year}}%
{\iffieldundef{month}%
{\clearfield{year}}%
{\iffieldsequal{year}{endyear}%
{\clearfield{year}\clearfield{endyear}}%
{}}}}}}}
\makeatother
%----------- 1 END -------------------------------------%
\renewbibmacro*{origyear+endyear}{%
\printfield{origyear}%
\iffieldundef{origendyear}%
{}%
{\iffieldequalstr{origendyear}{}%
{\mbox{\bibdatedash}}%
{\bibdatedash\nopunct\printtext{\unspace}\printfield{origendyear}}}}
%----------- 2 ----------------------------------------%
\DeclareSortingScheme{cms}{
\sort{
\field{presort}
}
\sort[final]{
\field{sortkey}
}
\sort{
\name{sortname}
\name{author}
\name{namea}
\name{editor}
\name{nameb}
\name{translator}
\name{namec}
\field{sorttitle}
\field{journaltitle}
\list{organization}
\field{title}
}
\sort{
\field{sortyear}
\field{origyear}
\field{year}
}
\sort{
\field{sorttitle}
\field{title}
}
\sort{
\field[padside=left,padwidth=4,padchar=0]{volume}
\literal{0000}
}
}
%----------- 2 END -------------------------------------%
\begin{filecontents}{\jobname.bib}
@Book{crusius1749,
author = {Christian August Crusius},
title = {Anleitung {\"u}ber nat{\"u}rliche Begebenheiten ordentlich
und vorsichtig nachzudencken},
publisher = {Gleditsch},
year = 1749,
address = {Leipzig}
}
@Book{crusius1754,
author = {Christian August Crusius},
title = {Gr{\"u}ndliche Belehrung vom Aberglauben zur Aufkl{\"a}rung
des Unterschiedes zwischen Religion und Aberglauben},
publisher = {Langenheim},
year = 1767,
address = {Leipzig},
translator = {Christian Friedrich Pezold},
options = {cmsdate=on},
origdate = {1754/1755}
}
@Book{aristotle1523a,
author = {Aristotle},
title = {Parva naturalia},
publisher = {Vitali},
year = 1523,
location = {Venice},
translator = {{Leonico Tomeo}, Niccol\`{o}}}
@Book{aristotle1523b,
author = {Aristotle},
editor = {Agostino Nifo},
title = {Parva naturalia Augustini Niphi Medices
Philosophi Suessani},
publisher = {Scoto},
year = 1550,
origdate = 1523,
options = {cmsdate=on},
location = {Venice}}
@Book{wolff1736,
author = {Christian Wolff},
title = {Theologia naturalis methodo scientifica pertractata},
publisher = {Renger},
year = 1739,
address = {Frankfurt am Main},
edition = 2,
options = {cmsdate=on},
origdate = {1736/1737}}
@Book{wolff1738,
author = {Christian Wolff},
title = {Philosophia practica universalis methodo scientifica
pertractata},
publisher = {Renger},
year = {1738--1739},
address = {Frankfurt am Main},
volumes = 2}
@article{testart,
author = {Arnold Uthor and William Riter},
title = {A Very Interesting Article},
journal = {Journal of Articles},
volume = {7},
pages = {1-5},
date = {2010},
}
@book{testbook,
author = {Arnold Uthor},
title = {A Book},
date = {2013},
publisher = {Peter Ublisher \& Co.},
location = {Place City},
}
@book{testbookt,
author = {Arnold Uthor},
title = {A Second Book},
date = {2013},
publisher = {Peter Ublisher \& Co.},
location = {Place City},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
Let's cite \cite{crusius1754}, \cite{testbook} and \cite{testbookt}, and \cite{wolff1738}.
As well as \cite{aristotle1523a} and \cite{aristotle1523b}.
\nocite{*}
\printbibliography
\end{document}
产量