Как поменять местами имя и фамилию?

Как поменять местами имя и фамилию?

С помощью стилей biblatex и verbose-trad2 я хотел бы поменять местами фамилию и имя.для встроенных ссылок.

Поведение по умолчанию:

Джон ДОУ, Название, место: издатель, год

для встроенных ссылок (в моем случае, в сноске с footciteкомандой) и:

DOE, Джон, Название, место: издатель, год

в библиографии в конце документа.

Я хотел бы иметь как встроенные, так и конечные ссылки в следующем формате (похожем на стиль бибиографии).

DOE, Джон, Название, место: издатель, год

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.

Связанный контент