我想以不同的方式对引文中的作者和编辑姓名进行排序。作者应列为 ,LastName, FirstName
编辑应列为FirstName LastName
。
到目前为止我已经尝试过这个,但它只将所有名称更改为LastName, FirstName
:
\DeclareNameAlias{sortname}{first-last}
\DeclareNameAlias{default}{last-first}
\DeclareNameAlias{editor}{sortname}
答案1
只是线
\DeclareNameAlias{sortname}{last-first}
几乎可以满足您的所有需求。
biblatex
不过,更喜欢引用中的“首尾”顺序,并且会花费相当多的篇幅来实现这一点(它会\DeclareNameAlias{sortname}{default}
在这里和那里添加一个)。为了防止这种情况,请使用
\renewbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver{}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
如果你也想保持\fullcites
一致,你需要
\DeclareCiteCommand{\fullcite}
{\usebibmacro{prenote}}
{\usedriver{}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\DeclareCiteCommand{\footfullcite}[\mkbibfootnote]
{\usebibmacro{prenote}}
{\usedriver{}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
也一样。
作为奖励,以下内容也将使labelnames
“最后,第一”
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:last}{#1}{#3}{#5}{#7}%
\or
\ifuseprefix
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}}
{\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}%
\or
\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
\fi
\usebibmacro{name:andothers}}
平均能量损失
\documentclass[english]{article}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=verbose-ibid]{biblatex}
\usepackage{hyperref}
\addbibresource{biblatex-examples.bib}
\DeclareNameAlias{sortname}{last-first}
\renewbibmacro*{cite:full}{%
\usebibmacro{cite:full:citepages}%
\printtext[bibhypertarget]{%
\usedriver{}
{\thefield{entrytype}}}%
\usebibmacro{shorthandintro}}
\DeclareNameFormat{labelname}{%
\ifcase\value{uniquename}%
\usebibmacro{name:last}{#1}{#3}{#5}{#7}%
\or
\ifuseprefix
{\usebibmacro{name:last-first}{#1}{#4}{#5}{#8}}
{\usebibmacro{name:last-first}{#1}{#4}{#6}{#8}}%
\or
\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
\fi
\usebibmacro{name:andothers}}
\begin{document}
\cite{worman,geer,cicero,gaonkar,gaonkar:in,jaffe,baez/article}
\printbibliography
\end{document}