biblatex-dw 自定义参考书目格式@incollectioneditor 名称应按姓氏 - 名字排序

biblatex-dw 自定义参考书目格式@incollectioneditor 名称应按姓氏 - 名字排序

为了满足一本书的出版标准,我需要对参考书目进行一些自定义格式,尤其是@incollection 项目:

以下是 MWE:

\documentclass{book}
\usepackage{a4wide}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{polyglossia}
\setmainlanguage[spelling=new,babelshorthands=true]{german}
\usepackage[autostyle]{csquotes}
\usepackage[style=authortitle-dw,
edsuper=true,
namefont=smallcaps,
useprefix=true,
ibidemfont=smallcaps,
idemfont=smallcaps,
idembibformat=dash,
shorthandibid=true,
backref=false,
backrefstyle=none,
hyperref=true,
isbn=false,
backend=biber,
citereset=chapter,
bibencoding=utf8]{biblatex}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{page}{#1}
\DeclareNameAlias{sortname}{last-first}
\DefineBibliographyStrings{german}{
    and={/},
    page={},
    andothers = {{et\,al\adddot}},
    editor = {{ Hg\adddot }} ,
    editors = {{ Hg\adddot }}
}


\usepackage{filecontents}
\begin{filecontents}{file.bib}

    @book{b2,
        year = {2014},
        title = {Redefreiheit: Öffentliche Debatten der Bevölkerung im Herbst 1989},
        address = {Leipzig},
        edition = {1. Aufl.},
        publisher = {Leipziger Uni-Vlg},
        isbn = {386583888X},
        editor = {Ahbe, Thomas and Stiehler, Volker and Hofmann, Michael},
        shorttitle = {Redefreiheit}
    }

    @incollection{bauer,
        xref = {schwobel},
        author = {Bauer, Gisa},
        title = {Transformationen des Religiösen: Die historisch-materialistische Geschichtsschreibung in der DDR als Heilsgeschichte},
        volume = {39},
        series = {VWGTh},
        editor = {Schwöbel, Christoph},
        booktitle = {Geschichte und Gott},
        address = {Leipzig},
        shorttitle = {Transformationen}
    }

    @book{schwobel,
        title = {Geschichte und Gott: XV. Europäischer Kongress für Theologie},
        address = {Leipzig},
        volume = {39},
        series = {VWGTh},
        editor = {Schwöbel, Christoph},
        shorttitle = {Geschichte}
    }
    @book{bulischop.2006,
        author = {Bulisch, Jens},
        year = {2006},
        title = {Evangelische Presse in der DDR},
        address = {Göttingen},
        volume = {43},
        publisher = {Vandenhoeck und Ruprecht},
        isbn = {3525557442},
        series = {AKZG},
        shorttitle = {Presse}
    }
\end{filecontents}

\addbibresource{file.bib}
\begin{document}
    text \footcite{bulischop.2006} text.
    text \footcite{bauer} haha. 
    \printbibliography
\end{document}

我需要对参考书目格式进行以下更改(见图):

描述性图像

  1. 对于 @incollection 项目,编辑者姓名应按姓氏 - 名字的顺序排列,并且姓氏应不是大写,而作者姓氏仍应大写

非常感谢您的帮助!

答案1

对于名称顺序,不安全(但简短)的解决方案是

\DeclareNameAlias{byeditor}{family-given}
\DeclareNameAlias{bytranslator}{family-given}

更安全,但更长久的是

\makeatletter
\DeclareNameAlias{useeditor}{family-given}
\DeclareNameAlias{usetranslator}{family-given}
\renewbibmacro*{useeditor}{%
  \def\bbx@firstnamefont{}%
  \def\bbx@namefont{}%
  \ifnamesequal{author}{editor}
    {\ifbool{bbx:edbyidem}
      {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}%
       \addspace}%
      {\printnames[useeditor]{editor}%
       \usebibmacro{editorstringpunct}%
       \savefield{namehash}{\bbx@lasthash}}}%
    {\printnames[useeditor]{editor}%
     \usebibmacro{editorstringpunct}%
     \savefield{namehash}{\bbx@lasthash}}%
   \usebibmacro{editorstrg}%
   \clearname{editor}%
   \setunit{\labelnamepunct}\newblock}

\renewbibmacro*{usetranslator}{%
  \def\bbx@firstnamefont{}%
  \def\bbx@namefont{}%
  \ifnamesequal{author}{translator}
    {\ifbool{bbx:edbyidem}
      {\midsentence*\bibstring[\mkidem]{idem\thefield{gender}}%
       \addspace}%
      {\printnames[usetranslator]{translator}%
       \usebibmacro{editorstringpunct}%
       \savefield{namehash}{\bbx@lasthash}}}%
    {\printnames[usetranslator]{translator}%
     \usebibmacro{editorstringpunct}%
     \savefield{namehash}{\bbx@lasthash}}%
   \usebibmacro{translatorstrg}%
   \clearname{translator}%
   \setunit{\labelnamepunct}\newblock}
\makeatother

后一个代码块还包含一种抑制编辑器小型大写字母的方法。

相关内容