Этот вопрос касается \edcite
командысозданныйДэвидом Пёртоном (@DavidPurton), который позжеобновил егочтобы соответствовать biblatex-chicago
варианту short
.
Если возможно, я хотел бы дополнительно обновить \edcite
команду, чтобы при необходимости создания краткой формы (будь то из-за повторного цитирования или из-за short
выбора соответствующей опции) она сначала проверяла, есть ли непустое shorteditor
поле, и если да, то использовала его, а если нет, то по умолчанию использовала \printnames[given-family]{editor}
.
МВЭ:
\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}
Выходной ток:
Мендьета и Рудберг
Желаемый результат:
Менд./Руд.
решение1
Самое простое решение — настроить edcite
макрос для проверки наличия поля shorteditor
.
\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}}}}