1

This question is about the \edcite command created by David Purton (@DavidPurton), who later updated it to be consistent with biblatex-chicago's short option.

If possible, I would like to further update the \edcite command so that when it is supposed to produce the short form (whether because of a repeated citation or because the short option is selected), it first checks whether there is a non-empty shorteditor field and if so uses it and if not only then defaults to the \printnames[given-family]{editor}.

MWE:

\documentclass{article}

\usepackage[notes,short]{biblatex-chicago}

\begin{filecontents*}{\jobname.bib}
@book{basil:hex:mendieta.rudberg1997,
    Address = {Berlin},
    Author = {Basil of Caesarea},
    Editor = {Emmanuel Amand de Mendieta and Rudberg, Stig Y.},
    Publisher = {Akademie Verlag},
    Shortauthor = {Basil},
    Shorteditor = {Mend./Rud.},
    Title = {Homilien zum Hexaemeron},
    Year = {1997}}
\end{filecontents*}
\addbibresource{\jobname.bib}

\newbibmacro*{edcite}{%
  \ifboolexpr{
    test {\ifciteibid}
    and
    not test {\iffirstonpage}
  }
    {\usebibmacro{cite:ibid}}
    {\ifboolexpr{
      test {\ifciteseen}
      or
      togl {cms@allshort}
     }
       {\printnames[labelname]{editor}}
       {\printnames[given-family]{editor}%
        \newcunit
        \usebibmacro{cpubl+loc+year}}}}

\DeclareCiteCommand{\edcite}
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{edcite}}
  {\multicitedelim}
  {\usebibmacro{cite:postnote}}

\DeclareMultiCiteCommand{\edcites}{\edcite}{\multicitedelim}
\newrobustcmd*{\edvolcite}{\volcitecmd\edcite}
\newrobustcmd*{\edvolcites}{\volcitecmd\edcites}

\begin{document}
\edcite{basil:hex:mendieta.rudberg1997}
\end{document}

Current output:

Mendieta and Rudberg

Desired output:

Mend./Rud.

2
  • Oh! I think maybe I misread you question. Do you ever want it to just print the editor family names (like current behaviour with \printnames[labelname]{editor})? Commented Feb 23, 2019 at 0:53
  • No, the answer you gave was precisely what I was looking for -- thank you! I tested it without the short option, and it does the long version the first time (just as before) and then uses shorteditor instead of the family name(s), which is perfect. Commented Feb 23, 2019 at 16:04

1 Answer 1

3

The simplest solution is to adjust the edcite macro to test for the presence of the shorteditor field.

\newbibmacro*{edcite}{%
  \ifboolexpr{
    test {\ifciteibid}
    and
    not test {\iffirstonpage}
  }
    {\usebibmacro{cite:ibid}}
    {\ifboolexpr{
      test {\ifciteseen}
      or
      togl {cms@allshort}
     }
       {\ifnameundef{shorteditor}
          {\printnames[labelname]{editor}}
          {\printnames[labelname]{shorteditor}}}
       {\printnames[given-family]{editor}%
        \newcunit
        \usebibmacro{cpubl+loc+year}}}}

You must log in to answer this question.

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