我想将“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.lbx
LaTeX 可以在其中找到它,内容为
\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 以用于不受支持的语言的最合适方法是什么?。