[Tex/LaTex] No disambiguation of same year, same author citations in biblatex-chicago author-date style while using option csmdate=both

biblatex

I've been having trouble with the author-date style for biblatex-chicago, used with the option "csmdate=both". I use this option to provide "origyear" for some sources, but not for all. The problem seems to occur when I have 2 sources with identical authors and dates but no origdates. The following explains the problem.

I've added 2 references with identical dates and authors, but different titles and so on. When I cite them, biblatex-chicago does not differentiate between them. Where I would expect "Test 1935a" and "Test 1935b" I get two "Test 1935" but two separate entries in the reference list.

Any help is greatly appreciated.

Minimal working example:

\documentclass[utf8,12pt,letterpaper]{article}

\usepackage{setspace}
\usepackage[fallback]{xeCJK}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}

\newcommand{\mainfont}[0]{CMU Serif Roman}
\newcommand{\mainfontitalics}[0]{CMU Serif Italic}
\newcommand{\mainfontCJK}[0]{HAN NOM A}
\setmainfont[Ligatures={Common,TeX},Numbers={OldStyle},Contextuals=NoAlternate]{\mainfont}
\setCJKmainfont[Scale=0.9]{\mainfontCJK}
\setCJKfallbackfamilyfont{\CJKrmdefault}[Scale=0.9]{NanumMyeongjo}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt

\usepackage[authordate,strict,cmsdate=both,isbn=false,backend=biber,bibencoding=utf8,hyperref=true,annotation]{biblatex-chicago}



\title{}
\author{}
\date{}
\begin{document}
\maketitle

\cite{Test1}

\cite{Test2}

\printbibliography

\end{document}

Citing the following references:

@article{Test1,
    author = {Test, T.},
    title = {Random Title of Article One},
    journal = {Journal},
    volume = {20},
    number = {3},
    year = {1935},
    pages = {1--46}
}

@article{Test2,
    author = {Test, T.},
    title = {Random Title of Article Two},
    journal = {Journal},
    volume = {20},
    number = {4},
    year = {1935},
    pages = {50--70}
}

Replacing the "year" field with "date" makes no difference.

enter image description here

Best Answer

No clue why, but the citation style invokes \clearfield{extrayear} before printing the year label even when origyear is unavailable. Under cmsdate=both you can avoid this by adding the following to your preamble.

\makeatletter
% citations
\renewbibmacro*{cite:bothyear+oldstyle}{%
  \iftoggle{cms@switchdates}
  {\printtext[bibhyperref]{%
      \bibopenparen%
      \usebibmacro{cite:labelyear+extrayear}%
      \bibcloseparen%
      \addspace\usebibmacro{origyear+endyear}}}%
  {\iffieldundef{origyear}
    {\usebibmacro{cite:labelyear+extrayear}}% omit \clearfield{extrayear}
    {\printtext[bibhyperref]{%
        \bibopenparen%
        \usebibmacro{origyear+endyear}%
        \bibcloseparen%
        \clearfield{extrayear}\addspace%
        \usebibmacro{cite:labelyear+extrayear}}}}}
% bibliography
\renewbibmacro*{bothyear+oldstyle}{%
  \iftoggle{cms@switchdates}
  {\printtext{%
      \bibopenparen%
      \usebibmacro{labelyear+extrayear}%
      \bibcloseparen%
      \setunit{\addspace}\usebibmacro{origyear+endyear}}%
      \clearfield{year}%
      \clearfield{origyear}}%
  {\iffieldundef{origyear}
    {\usebibmacro{labelyear+extrayear}}% omit \clearfield{extrayear}
    {\printtext{%
        \bibopenparen%
        \usebibmacro{origyear+endyear}%
        \bibcloseparen%
        \clearfield{extrayear}\setunit*{\addspace}%
        \usebibmacro{labelyear+extrayear}}%
      \clearfield{origyear}%
      \clearfield{year}}}}
\makeatother

You should contact the biblatex-chicago author directly to resolve this issue.