如何反转名字和名?

如何反转名字和名?

使用 biblatex 和 verbose-trad2 样式,我想反转姓氏和名字的顺序用于内联引用。

默认行为是:

John DOE,标题、地点:出版商、年份

对于内联引用(在我的情况下,在带有命令的脚注中footcite)和:

DOE,John,标题,地点:出版商,年份

在文档末尾的参考书目中。

我希望内联引用和最终引用都采用以下格式(类似于参考书目样式)。

DOE,John,标题,地点:出版商,年份

PS:有一些问题比较接近(例如这个),但仅限于最终的参考书目(没有内联引用)。\DeclareNameAlias{sortname}{last-first}仅适用于结束引用(而不是内联引用)。

答案1

您还必须设置default,因为 * 中的 cite 命令verbose-trad2是临时设置的\DeclareNameAlias{sortname}{default}(默认情况下为default\DeclareNameAlias{default}{given-family}

因此只需发出

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}

在序言中。请注意,default在其他几个地方也使用了,因此此更改也会影响参考书目。如果您想要仅影响引文的修改,请参见下文。

数学家协会

\documentclass{article}  
\usepackage[style=verbose-trad2, backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\DeclareNameAlias{sortname}{family-given}
\DeclareNameAlias{default}{family-given}

\begin{document}
  A\footcite{wilde}
  B\footcite{cicero}
  \printbibliography
\end{document}

给出

在此处输入图片描述


* 代码可以在 中找到verbose-trad2.cbx,下面的第六行是有问题的代码。

\newbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \global\toggletrue{cbx:fullcite}%
  \printtext[bibhypertarget]{%
    \usedriver
      {\DeclareNameAlias{sortname}{default}}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

这向我们展示了一个不同的解决方案

\DeclareNameAlias{sortname}{family-given}

\renewbibmacro*{cite:full}{%
  \usebibmacro{cite:full:citepages}%
  \global\toggletrue{cbx:fullcite}%
  \printtext[bibhypertarget]{%
    \usedriver
      {}
      {\thefield{entrytype}}}%
  \usebibmacro{shorthandintro}}

但当然更长。效果略有不同,因为这只会影响长引文中的名称格式,而不会影响其他任何地方。


编辑如果您使用的是过时的版本,请参阅 3.3 之前代码的编辑历史biblatex。参见Biblatex 3.3 名称格式

相关内容