如何顛倒姓名和名字?

如何顛倒姓名和名字?

使用 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 名稱格式

相關內容