![如何顛倒姓名和名字?](https://rvso.com/image/281576/%E5%A6%82%E4%BD%95%E9%A1%9B%E5%80%92%E5%A7%93%E5%90%8D%E5%92%8C%E5%90%8D%E5%AD%97%EF%BC%9F.png)
使用 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 名稱格式。