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})? Feb 23 '19 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. Feb 23 '19 at 16:04
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}}}}

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.