如何删除“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}