我使用 BibLatex 的配置如下:
\usepackage[backend = biber,
language = english ,
style = alphabetic ,
firstinits = true,
isbn = false,
url = false,
doi = false,
sorting = nyt,
backref=true
]{biblatex}
是否可以透過「名字縮寫lastmane」樣式(例如「J.Doe」)來變更目前\citeauthor「姓氏樣式」(例如「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}}