使用 BibTeX 更改参考文献中多个作者的分隔符

使用 BibTeX 更改参考文献中多个作者的分隔符

我正在写硕士论文,在引用多位作者时遇到了问题。pdf 中的分隔符是“and”,但这在我的语言中并不正确。有没有简单的解决方案是什么来改变这个分隔符?

感谢每一个回答

这是MWE:

\documentclass{article}
\usepackage[numbers]{natbib}

\begin{document}
  blba bla bla bla bla bla bla \cite{x}

  \bibliographystyle{plain}
  \bibliography{references}
\end{document}

它产生的结果如下: “and” 不应该在那里

答案1

首先,从命令行运行

kpsewhich plain.bst

知道文件plain.bst在哪里。其路径应该是TEXMF/bibtex/bst/base/

现在复制plain.bst文件所在的目录.tex,并将其重命名为myplain.bst

然后myplain.bst在编辑器中打开并搜索以下行:

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
    { namesleft #1 >
        { ", " * t * }
        { numnames #2 >
        { "," * }
        'skip$
          if$
          t "others" =
        { " et~al." * }
        { " and " * t * }
          if$
        }
      if$
    }
    't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

用以下内容替换它们

FUNCTION {format.names}
{ 's :=
  #1 'nameptr :=
  s num.names$ 'numnames :=
  numnames 'namesleft :=
    { namesleft #0 > }
    { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't :=
      nameptr #1 >
    { namesleft #1 >
        { ", " * t * }
        { numnames #2 >
        { "," * }
        'skip$
          if$
          t "others" =
        { " et~al." * }
        { " " * t * }
          if$
        }
      if$
    }
    't
      if$
      nameptr #1 + 'nameptr :=
      namesleft #1 - 'namesleft :=
    }
  while$
}

并保存文件。

现在在您的文档中,替换

\bibliographystyle{plain}

\bibliographystyle{myplain}

您就完成了。

平均能量损失

\begin{filecontents*}{references.bib}
@article{x,
author = {Author, A and Buthor, B and Cuthor, C},
journal = {A journal},
title = {A title},
year = {2015}
}
\end{filecontents*}

\documentclass{article}
\usepackage[numbers]{natbib}

\begin{document}
  blba bla bla bla bla bla bla \cite{x}

  \bibliographystyle{myplain}
  \bibliography{references}
\end{document} 

输出:

在此处输入图片描述

答案2

如果你正在使用biblatex,请查看biblatex手动的, 部分3.9.1 通用命令和钩子

\finalnamedelim可能是您想要更改的书目字符串。您可以使用以下代码轻松完成此操作:

\renewcommand*{\finalnamedelim}{\addcomma\addspace}

您也可以看一下\multinamedelim字符串。

相关内容