平均能量损失

平均能量损失

对于所有包含多位编辑的书目项目,我必须按照多位编辑的姓名顺序打印,就像打印多位作者的姓名顺序一样。对于作者,我让它正常工作(参见这里),但是这不包括多个编辑器的情况(除非我犯了错误?)。

代表性书目项目的相关部分目前看起来像

GER Lloyd/GEL Owen(编辑)

但必须如此

Lloyd, GER/Owen, GEL(编辑)

平均能量损失

\documentclass[
12pt,
a4paper
]
{scrreprt}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
%\usepackage[english]{babel}

\usepackage[
language=auto,
style=authoryear,
backend=bibtex,
isbn=false,
doi=false,
citereset=chapter,
maxcitenames=3,
dashed=false,
sorting=nyt,
firstinits=true,
terseinits=false
maxbibnames=99,
uniquename=init
]{biblatex}

\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \clearname{editor}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}

\usepackage{xpatch}
\xpatchbibmacro{byeditor+othersstrg}{\printtext}{\printtext[parens]}{}{}

\begin{filecontents*}{lit.bib}
@InCollection{brandt,
  options     = {useprefix=false},
  hyphenation     = {german},
  indexsorttitle  = {Nordischen Lander von der Mitte des 11. Jahrhunderts bis 1448},
  author      = {von Brandt, Ahasver and Erich Hoffmann},
  editor      = {Ferdinand Seibt},
  indextitle      = {Nordischen L{\"a}nder von der Mitte des 11.~Jahrhunderts bis 1448, Die},
  title       = {Die nordischen L{\"a}nder von der Mitte des 11.~Jahrhunderts bis 1448},
  shorttitle      = {Die nordischen L{\"a}nder},
  booktitle   = {Europa im Hoch- und Sp{\"a}tmittelalter},
  series      = {Handbuch der europ{\"a}ischen Geschichte},
  number      = {2},
  publisher   = {Klett-Cotta},
  location    = {Stuttgart},
  date        = {1987},
  pages       = {884--917},
  annotation      = {An \texttt{incollection} entry with a \texttt{series} and a \texttt{number}.
            Note the format of the printed name and compare the \texttt{useprefix} option in
            the \texttt{options} field as well as \texttt{vangennep}. Also note the
            \texttt{indextitle, and \texttt{indexsorttitle} fields}}
}
@InProceedings{moraux,
  keywords    = {secondary},
  hyphenation     = {french},
  indexsorttitle  = {De Anima dans la tradition grecque},
  author      = {Moraux, Paul},
  editor      = {Lloyd, G. E. R. and Owen, G. E. L.},
  indextitle      = {\emph{De Anima} dans la tradition gr{\`e}cque, Le},
  title       = {Le \emph{De Anima} dans la tradition gr{\`e}cque},
  subtitle    = {Quelques aspects de l'interpretation du trait{\'e}, de Theophraste {\`a}
            Themistius},
  shorttitle      = {\emph{De Anima} dans la tradition gr{\`e}cque},
  booktitle   = {Aristotle on Mind and the Senses},
  booktitleaddon  = {Proceedings of the Seventh Symposium Aristotelicum},
  eventdate   = {1975},
  publisher   = cup,
  location    = {Cambridge},
  date        = {1979},
  pages       = {281--324},
  annotation      = {This is a typical \texttt{inproceedings} entry. Note the \texttt{booksubtitle},
            \texttt{shorttitle}, \texttt{indextitle}, and \texttt{indexsorttitle} fields.
            Also note the \texttt{eventdate} field.}
}
\end{filecontents*}

\addbibresource{lit.bib}

\DeclareNameAlias{sortname}{last-first}

\renewcommand{\multinamedelim}{\addslash}
\renewcommand{\finalnamedelim}{\addslash}



\begin{document}
\chapter{First Chapter}
\begin{itemize}
    \item For the case of multiple editors, these are just some words.\footcite[Cp.][p. xi]{moraux}. This currently looks like
    \begin{verbatim}
    G. E. R. Lloyd/G. E. L. Owen (ed. by)
    \end{verbatim}
    but I must have
    \begin{verbatim}
    Lloyd, G. E. R./Owen, G. E. L. (ed. by)
    \end{verbatim}
\end{itemize}
\printbibliography
\end{document}

答案1

名称的格式由命令\DeclareNameFormat和指定\DeclareNameAlias。默认定义在里面完成biblatex.def

该文件的相关部分是:

biblatex.def

% Used in the bibliography

\DeclareNameAlias{sortname}{last-first/first-last}

\DeclareNameAlias{author}{default}
\DeclareNameAlias{bookauthor}{author}
\DeclareNameAlias{editor}{default}
\DeclareNameAlias{editora}{editor}
\DeclareNameAlias{editorb}{editor}
\DeclareNameAlias{editorc}{editor}
\DeclareNameAlias{translator}{default}

\DeclareNameAlias{byauthor}{default}
\DeclareNameAlias{bybookauthor}{byauthor}
\DeclareNameAlias{byeditor}{default}
\DeclareNameAlias{byeditora}{byeditor}
\DeclareNameAlias{byeditorb}{byeditor}
\DeclareNameAlias{byeditorc}{byeditor}
\DeclareNameAlias{bytranslator}{default}

\DeclareNameAlias{withcommentator}{default}
\DeclareNameAlias{withannotator}{default}
\DeclareNameAlias{withintroduction}{default}
\DeclareNameAlias{withforeword}{default}
\DeclareNameAlias{withafterword}{default}

如您所见,大多数名称格式都是采用默认名称格式完成的,其含义如下:\DeclareNameAlias{default}{first-last}

使用该样式authoryear意味着发生以下重新定义:

\DeclareNameAlias{author}{sortname}
\DeclareNameAlias{editor}{sortname}
\DeclareNameAlias{translator}{sortname}

因此,要改变一切,last-first你只需要:

\DeclareNameAlias{sortname}{last-first}
\DeclareNameAlias{default}{last-first}

enter image description here

相关内容