%20%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D1%81%D0%BA%D0%BE%D0%B1%D0%BA%D0%B8%20%D0%B2%D0%BE%D0%BA%D1%80%D1%83%D0%B3%20%D0%B3%D0%BE%D0%B4%D0%B0%20%D0%B2%20%D1%81%D1%82%D0%B8%D0%BB%D0%B5%20authoryear%3F%20.png)
Некоторое время назад Алан Манн спросил и получил красноречивый ответвопрос о снятии скобокиз authoryear
ссылок в стиле biblatex. К сожалению, решение lockstep вводит нежелательные \addperiod\space
ссылки в "тире". Например, если Автор, А. процитирован дважды:
\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\usepackage{xpatch}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{A01,author={Author, A.},year={2001},title={Alpha}}
@misc{A02,author={Author, A.},year={2001},title={Beta}}
\end{filecontents}
\addbibresource{\jobname.bib}
\nocite{*}
\begin{document}
\printbibliography
\xpatchbibmacro{date+extrayear}{%
\printtext[parens]%
}{%
\addperiod\space%
\printtext%
}{}{}
\printbibliography
\end{document}
мы получаем:
Я пытался построить решение, используя конструкции типа \usebibmacro{bbx:dashcheck}
безуспешно. Как же тогда, основываясь на xpatch
подходе lockstep's nice -based, я могу условно включать \addperiod\space
только в случае ссылок "не тире"?
решение1
Вывод единиц должен осуществляться внутри команды \setunit
.
\xpatchbibmacro{date+extrayear}{%
\printtext[parens]%
}{%
\setunit{\addperiod\space}%
\printtext%
}{}{}