![Добавление запятой после НАЗВАНИЯ (перед годом) в цитате](https://rvso.com/image/330713/%D0%94%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5%20%D0%B7%D0%B0%D0%BF%D1%8F%D1%82%D0%BE%D0%B9%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%20%D0%9D%D0%90%D0%97%D0%92%D0%90%D0%9D%D0%98%D0%AF%20(%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%20%D0%B3%D0%BE%D0%B4%D0%BE%D0%BC)%20%D0%B2%20%D1%86%D0%B8%D1%82%D0%B0%D1%82%D0%B5.png)
Этот вопрос можно рассматривать как расширение этого (Как добавить запятую между автором и годом), который, однако, не содержит ответа на мой вопрос.
В этом же контексте я пытаюсь изменить стиль цитирования таким образом, чтобы между автором и годом стояла запятая, например:
(Автор, 2016)
. Мне удалось добиться этого, изменив файл biblatex.def следующим образом.
\renewcommand*{\nameyeardelim}{\addcomma\space}
Моя проблема сейчас в том, что я не могу найти \titleyeardelim
или какой-то "стандартный" (если такой существует) разделитель, который используется в случаях, когда автор отсутствует и вместо него используется название. Соответственно я получаю
(Название 2016)
во всех моих цитатах вместо требуемого:
(Название, 2016)
Заранее благодарю за любую помощь!
решение1
Начиная с версии 3.3 biblatex
, появилась команда \nonameyeardelim
, которую можно переопределить
\renewcommand*{\nonameyeardelim}{\addcomma\space}
Если вы используете более старую версию, biblatex
вам нужно будет изменить сам макрос cite, используя тот authoryear
стиль, который есть
\providecommand*{\nonameyeardelim}{\nameyeardelim}
\renewcommand*{\nonameyeardelim}{\nameyeardelim}
\renewbibmacro*{cite}{%
\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\nonameyeardelim}}%% <-- this line needed to be changed
{\printnames{labelname}%
\setunit{\nameyeardelim}}%
\usebibmacro{cite:labelyear+extrayear}}
{\usebibmacro{cite:shorthand}}}