0

Is there a way that I can specify some of the biblatex-chicago styles (either biblatex-chicago or [style=chicago-authoryear]{biblatex} so that they can make use of the mergedate feature? authoryear-icomp does this (with the code below), but I'd like to really use the Chicago styles.

I am trying to print lists of my publications, conference talks and media interviews and it really looks better for my purposes to have a bibliography (or publication lists) that print the year after the name followed by the exact date at the end.

Thank you.

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{references.bib}
@unpublished{doc1,
title       = {my title},
author  = {My author},
journal     = {Journal of Me},
date = {2018-04-01}
}
\end{filecontents}

\usepackage[style=authoryear-icomp, mergedate=basic]{biblatex}
\addbibresource{references.bib}
\begin{document}


\cite{doc1}

\printbibliography
\end{document}

1 Answer 1

0

biblatex-chicago is a very complex style, because it tries to implement the (no less) complex rules of the Chicago Manual of Style as closely as possible.

The code for the date handling alone is about 400 lines long. The following just transplants the code for mergedate=basic from authoryear.cbx into biblatex-chicago's authordate style. I have not made any attempts to preserve the special handling of date and origdate or any of its date-related options from biblatex-chicago.

\documentclass{article}

\usepackage[authordate]{biblatex-chicago}
\ExecuteBibliographyOptions{labeldate=year}

\renewbibmacro*{cmsbibsortdate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{\printlabeldateextra}}}

\newbibmacro*{bbx:ifmergeddate}{%
  \ifboolexpr{
    test {\iflabeldateisdate}
    and
    not test {\ifdateshavedifferentprecision{label}{}}
  }%
}

\renewbibmacro*{date}{%
  \usebibmacro{bbx:ifmergeddate}
    {}
    {\printdate}}%

\begin{filecontents}{\jobname.bib}
@unpublished{doc1,
  title   = {my title},
  author  = {My author},
  journal = {Journal of Me},
  date    = {2018-04-01}
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{doc1}

\printbibliography
\end{document}

author, My. (2018). “my title.” April 1, 2018.

2
  • Great. Can you explain what exactly the labeldate is? It might help me understand what is going on.
    – spindoctor
    Apr 28, 2020 at 20:40
  • @spindoctor labeldate is the date that appears in the citation label. It is usually the same as date (and usually doesn't show more than the year). If date is not present labeldate may be calculated from other date fields (urldate, origdate, ...).
    – moewe
    Apr 29, 2020 at 4:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .