如何使用 IEEEtranN 删除 natbib 书目作者列表中的牛津逗号?

如何使用 IEEEtranN 删除 natbib 书目作者列表中的牛津逗号?

如何删除“S. Author”后面的牛津逗号?我查看了IEEEtranN.bst,但不知道逗号加在哪里。我没有使用 babel,因为它似乎与某些数学包冲突。

在此处输入图片描述

一位 MWE 表示:

% LuaLaTeX + BibTeX
\documentclass{memoir}
\usepackage[numbers,sort&compress]{natbib}
\bibliographystyle{IEEEtranN}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{c,
  title={Title},
  author={Author, First and Author, Second and Author, Third},
  journal={Journal}
}
\end{filecontents}
\begin{document}
\cite{c}
\bibliography{\jobname}
\end{document}

答案1

我建议您按如下方式进行:

  • 在您的 TeX 发行版中找到该文件IEEEtranN.bst。复制此文件并将副本命名为 ,IEEEtranN-noc.bst其中noc是“无牛津逗号”的缩写。(不要直接编辑 TeX 发行版的原始文件。)
  • 用你喜欢的文本编辑器打开文件IEEEtranN-noc.bst。你用来编辑 tex 文件的程序就可以了。
  • 在 bst 文件中,找到函数format.names。在我的 bst 文件副本中,该函数从第 1256 行开始。
  • 在此函数中,找到由字符串组成的行{ "," * }(可能在第 1290 行)。将此字符串更改为{ skip$ }
  • 保存 bst 文件并将其存储在包含主 tex 文件的目录中或 BibTeX 搜索的目录中。如果选择后者,请确保也更新 TeX 的文件名数据库。如果您不知道前面这句话的意思,我建议您选择前一个选项。
  • 在您的主 tex 文件中,更改\bibliographystyle{IEEEtranN}\bibliographystyle{IEEEtranN-noc}并执行完整的重新编译循环:LaTeX、BibTeX,然后再执行两次 LaTeX。

祝您 BibTeX 愉快!


在此处输入图片描述

\documentclass{memoir}
\usepackage[numbers,sort&compress]{natbib}
\bibliographystyle{IEEEtranN-mod}
%%\usepackage{filecontents} % not needed
\begin{filecontents}[overwrite]{\jobname.bib}
@article{c,
   title  ={Title},
   author ={Author, First and Author, Second and Author, Third},
   journal={Journal},
   year   = 3001,
}
\end{filecontents}

\begin{document}
\cite{c}
\bibliography{\jobname}
\end{document}

答案2

如果您可以切换到biblatex

\begin{filecontents}{\jobname.bib}
@article{c,
  title={Title},
  author={Author, First and Author, Second and Author, Third},
  journal={Journal},
  year={2024},
}
\end{filecontents}

\documentclass{article}

\usepackage[style=ieee]{biblatex}
\addbibresource{\jobname.bib}

\DefineBibliographyExtras{english}{\def\finalandcomma{}}

\begin{document}

\cite{c}

\printbibliography

\end{document}

在此处输入图片描述

相关内容