4

I have the following:

\documentclass[11pt,a4paper,oneside,notitlepage]{book}

\usepackage[authordate,backend=biber,cmsdate=both,useprefix=false,ibidtracker=false]{biblatex-chicago}
\addbibresource{\jobname.bib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}

@book{armstrong:universals,
author = {Armstrong, D.\ M.},
title = {Universals},
subtitle = {An Opinionated Introduction},
year = 1989,
location = {Boulder, CO},
publisher = {Westview Press},
}

@book{armstrong:truth_and_truthmakers,
author = {Armstrong, D.\ M.},
title = {Truth and Truthmakers},
year = 2004,
location = {cambridge, UK},
publisher = {Cambridge University Press},
}

\end{filecontents}

\begin{document}

\parencites[94]{armstrong:universals}[see also][46--48]{armstrong:truth_and_truthmakers}

\end{document}

Which outputs the following:

enter image description here

Of course, the \parencites command is printing the author's name twice. Yet this is not how different publications from one author are usually referenced: the author's name should appear only in the first cited publication.

However, I can't simply use \parencite as I need to introduce the second reference through "see also". Nor I can use \citeyear for the second reference as I want the year to hyperref the entry in the reference list (which I have not included in the MWEB).

I'm sure there is a simple solution that I am missing.

2

As you mentioned that the reason you cannot use \citeyear is that you want its hyperref to work, you could then use \cite* which will work as intended in your settings:

\documentclass[11pt,a4paper,oneside,notitlepage]{book}

\usepackage[authordate,backend=biber,cmsdate=both,useprefix=false,ibidtracker=false]{biblatex-chicago}
\usepackage{hyperref}
\addbibresource{\jobname.bib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}

@book{armstrong:universals,
author = {Armstrong, D.\ M.},
title = {Universals},
subtitle = {An Opinionated Introduction},
year = 1989,
location = {Boulder, CO},
publisher = {Westview Press},
}

@book{armstrong:truth_and_truthmakers,
author = {Armstrong, D.\ M.},
title = {Truth and Truthmakers},
year = 2004,
location = {cambridge, UK},
publisher = {Cambridge University Press},
}

\end{filecontents}

\begin{document}

\parencites[94]{armstrong:universals}[see also][46--48]{armstrong:truth_and_truthmakers}

(\cite[94]{armstrong:universals}; \cite*[see also][46--48]{armstrong:truth_and_truthmakers})

\printbibliography

\end{document}

Resulting in:

enter image description here

  • That should work, thanks. For some reason I thought there existed a specific command for that (at least in the biblatex-chicago package), as this is not an uncommon usage of citations. It appears there isn't. – poxx Aug 15 '17 at 8:58
  • I think what you have in mind is the behavior of biblatex's standard authoryear-comp. I'm not sure biblatex-chicago has an option for that. But there might well be, someone may come up with another idea. – gusbrs Aug 15 '17 at 10:14
1

You will find that

\parencites[94]{knuth:ct:a}[46--48]{knuth:ct:b}

gives you the output you expect, namely

(Knuth 1984, 94; 1986, 46–48)

but that things go wrong with

\parencites[94]{knuth:ct:a}[see][46--48]{knuth:ct:b}

i.e. when you have a pre-note argument in the later citations. I guess the idea here is that the year (the citation label) of the second citation can get drowned out by the pre- and postnotes.

You can let biblatex drop the name even if a citation has pre-notes with

\documentclass[11pt,a4paper,oneside,notitlepage]{book}

\usepackage[authordate,backend=biber,cmsdate=both,useprefix=false,ibidtracker=false]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}

\makeatletter
\renewbibmacro*{cite:init}{%
  \ifnumless{\value{multicitecount}}{2}%
    {\global\boolfalse{cbx:parens}%
     \global\undef\cbx@lasthash%
     \global\undef\cbx@lastyear}%
    {}}%
\makeatother

\begin{document}
\parencites[94]{knuth:ct:a}[46--48]{knuth:ct:b}

\parencites[94]{knuth:ct:a}[see][46--48]{knuth:ct:b}
\end{document}

"(Knuth 1984, 94; 1986, 46–48)" and "(Knuth 1984, 94; see 1986, 46–48)"


As it turns out a bit more has to be done if \textcites is used:

\makeatletter
\renewbibmacro*{textcite:authshort}{%
  \iffieldequals{fullhash}{\cbx@lasthash}%
  {\iffieldundef{postnote}%
    {\iffieldequals{fullhash}{\cbx@lastyear}%
      {\setunit{\multicitedelim}%
        \global\undef\cbx@lastyear}%
      {\iffieldequalstr{entrysubtype}{classical}%
        {\setunit{\multicitedelim}}%
        {\setunit{\compcitedelim}}}}%
    {\setunit{\multicitedelim}}%
    \ifnumequal{\value{citecount}}{1}%
      {\usebibmacro{prenote}}%
      {}%
    \iffieldequalstr{entrysubtype}{classical}%
      {\usebibmacro{cite:label}}%
      {\usebibmacro{cmscitesortdate}}}%
  {\iffieldundef{shorthand}%
    {\ifthenelse{\ifnameundef{labelname}\OR
        \ifentrytype{inreference}\OR
        \ifentrytype{reference}\OR
        \ifentrytype{mvreference}}%
      {\iffieldequalstr{entrysubtype}{classical}%
        {\setunit{%
            \global\booltrue{cbx:parens}%
            \cms@testspace\bibopenparen}%
          \ifnumequal{\value{citecount}}{1}%
          {\usebibmacro{prenote}}%
          {}%
          \usebibmacro{cite:label}}%
        {\usebibmacro{cite:label}%
          \ifboolexpr{%
            togl {cms@gencite}%
            and
            (
            test {\iffinalcitedelim}%
            or
            togl {cms@genallnames}%
            )
          }%
          {\thegen}%
          {}%
          \setunit{%
            \global\booltrue{cbx:parens}%
            \cms@testspace\bibopenparen}%
          \ifnumequal{\value{citecount}}{1}%
          {\usebibmacro{prenote}}%
          {}%
          \usebibmacro{cmscitesortdate}}}%
      {\printnames{labelname}%
        \ifboolexpr{%
          togl {cms@gencite}%
          and
          (
          test {\iffinalcitedelim}%
          or
          togl {cms@genallnames}%
          )
        }%
        {\thegen}%
        {}%
        \setunit{%
          \global\booltrue{cbx:parens}%
          \cms@testspace\bibopenparen}%
        \ifnumequal{\value{citecount}}{1}%
        {\usebibmacro{prenote}}%
        {}%
        \iffieldequalstr{entrysubtype}{classical}%
        {\usebibmacro{cite:label}}%
        {\usebibmacro{cmscitesortdate}}%
        \savefield{fullhash}{\cbx@lasthash}}}%
    {\printfield{shorthand}%
      \ifboolexpr{%
        togl {cms@gencite}%
        and
        (
        test {\iffinalcitedelim}%
        or
        togl {cms@genallnames}%
        )
      }%
      {\thegen}%
      {}%
      \setunit{%
        \global\booltrue{cbx:parens}%
        \cms@testspace\bibopenparen}%
      \ifnumequal{\value{citecount}}{1}%
      {\usebibmacro{prenote}}%
      {}%
      \iffieldequalstr{entrysubtype}{classical}%
      {\usebibmacro{cite:label}}%
      {\usebibmacro{cmscitesortdate}}%
      \savefield{fullhash}{\cbx@lasthash}}%
    \stepcounter{textcitecount}}% Added ???
  \setunit{%
    \ifbool{cbx:parens}%
    {\bibcloseparen\global\boolfalse{cbx:parens}}%
    {}%
    \textcitedelim}}% Not \multicitedelim ???
\makeatother

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.