biblatex-dw 书目自定义格式

biblatex-dw 书目自定义格式

我需要对参考书目进行一些自定义修改。以下是 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},
    publisher = {Leipziger Uni-Vlg},
    isbn = {386583888X},
    editor = {Ahbe, Thomas and Stiehler, Volker and Hofmann, Michael},
    shorttitle = {Redefreiheit}
}
\end{filecontents}

\addbibresource{file.bib}
\begin{document}
    text \footcite{b2} text.
    text \footcite{b2} haha. 
    \printbibliography
\end{document}

我想改变以下几点:

  1. 第一个红色方块:所有作者都应以斜线分隔。我设法使用 DefineBibliographyStrings 为最后一位作者执行此操作,但我找不到如何为更多作者执行此操作

  2. 第二个红色方块:位置前的分隔符应该是点,而不是逗号

非常感谢您的帮助!

参考书目

答案1

你的操作方式and不正确。

使用以下内容:

广告 1 -- 添加斜线

\renewcommand*{\multinamedelim}{\addnbspace\slash\space}
\let\finalnamedelim\multinamedelim
\renewcommand*{\bibmultinamedelim}{\addnbspace\slash\space}
\let\bibfinalnamedelim\bibmultinamedelim

广告2:

\renewbibmacro*{publisher+location+date}{%
  \setunit{\addperiod\space}%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}

提示:

  • 不要在里面使用空格\DefineBibliographyStrings

例子:

\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}{
    andothers = {{et\,al\adddot}},
    editor = {{Hg\adddot}} ,
    editors = {{Hg\adddot}}
}

\renewcommand*{\multinamedelim}{\addnbspace\slash\space}
\let\finalnamedelim\multinamedelim
\renewcommand*{\bibmultinamedelim}{\addnbspace\slash\space}
\let\bibfinalnamedelim\bibmultinamedelim

\renewbibmacro*{publisher+location+date}{%
  \setunit{\addperiod\space}%
  \printlist{location}%
  \iflistundef{publisher}
    {\setunit*{\addcomma\space}}
    {\setunit*{\addcolon\space}}%
  \printlist{publisher}%
  \setunit*{\addcomma\space}%
  \usebibmacro{date}%
  \newunit}

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

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

\addbibresource{file.bib}
\begin{document}
    text \footcite{b2} text.
    text \footcite{b2} haha. 
    \printbibliography
\end{document}

相关内容