biblatex 编辑器的格式

biblatex 编辑器的格式

我想将“ed”/“eds”放在没有点的括号中。我可以加上括号,但不能删除点。我该如何删除它?

\documentclass{article}
\usepackage[style=authoryear]{biblatex}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\addbibresource{\jobname.bib}
\begin{filecontents}{\jobname.bib}
@book{sidn2013,
    Address = {Oxford},
    Booktitle = {The handbook of conversation analysis},
    Editor = {Jack Sidnell and Tanya Stivers},
    Publisher = {Wiley-Blackwell},
    Title = {The handbook of conversation analysis},
    Year = {2013}
     }
\end{filecontents}
\begin{document}
\nocite{*}
\printbibliography
\end{document}

在此处输入图片描述

答案1

这个点被添加到.lbx(具体english.lbx)文件中,我们在其中找到了

  editor           = {{editor}{ed\adddot}},
  editors          = {{editors}{eds\adddot}},

这意味着缩写版本包含一个点。并且对于某些角色,还有更多包含点的缩写。

如果您只需要更改几行代码,则可以\DefineBibliographyStrings在文件的前言中使用。

\DefineBibliographyStrings{english}{%
  editor           = {ed},
  editors          = {eds},
}

但是,使用该命令,您无法分别更改字符串的完整版本和缩写版本。此外,如果您需要更改大量字符串,您的前言可能会变得臃肿。

或者,你可以定义.lbx自己的。创建一个名为的新文件,english-dotless.lbxLaTeX 可以在其中找到它,内容为

\ProvidesFile{english-dotless.lbx}

\InheritBibliographyExtras{english}

\DeclareBibliographyStrings{%
  inherit          = {english},
  editor           = {{editor}{ed}},
  editors          = {{editors}{eds}},
}


\endinput

english.lbx以及您需要更改的所有其他字符串。

然后,在您的文档问题中\DeclareLanguageMapping{english}{english-dotless},将使用您的新文件代替标准英文字符串。(当然,此方法适用于所有具有现有.lbx文件的语言。)有关自定义.lbx文件的更多信息,请参阅将另一种语言“et al.”更改为“et al.”配置 biblatex 以用于不受支持的语言的最合适方法是什么?

相关内容