Я использую BibLatex со следующей конфигурацией:
\usepackage[backend = biber,
language = english ,
style = alphabetic ,
firstinits = true,
isbn = false,
url = false,
doi = false,
sorting = nyt,
backref=true
]{biblatex}
Можно ли изменить текущий стиль \citeauthor «фамилия» (например, «Doe») на стиль «сокращенное имя фамилия» (например, «J. Doe»)?
решение1
По умолчанию \citeauthor
используется labelname
формат. С вашей настройкой вы могли бы просто использовать
\DeclareNameAlias{labelname}{given-family}
Это хорошо работает, поскольку вы не используете формат labelname
в цитатах (ваш стиль — alphabetic
), и у вас уже есть giveninits=true
( giveninits
назывался firstinits
в старых версиях), поэтому мы всегда получаем только инициалы.
С другими стилями, которые labelname
вам могут понадобиться
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[given-family]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}
вместо.
Если у вас не giveninits=true
включено, используйте
\DeclareNameFormat{g-family}{%
\usebibmacro{name:given-family}
{\namepartfamily}
{\namepartgiveni}
{\namepartprefix}
{\namepartsuffix}%
\usebibmacro{name:andothers}}
\DeclareCiteCommand{\citeauthor}
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}
{\ifciteindex
{\indexnames{labelname}}
{}%
\printnames[g-family]{labelname}}
{\multicitedelim}
{\usebibmacro{postnote}}