我正在使用natbib
和bibtex
参考书目样式IEEEtranSN
。使用book
参考书目条目时,书名和出版商之间似乎插入了一些额外的空格。有没有办法删除这些额外的空格?
在我的文档中,我使用了该字体\usepackage{newtxtext}
,它看起来是这样的:
平均能量损失
\documentclass[12pt,a4paper]{report}
\usepackage[round]{natbib}
\usepackage{filecontents}
\usepackage{newtxtext}
\begin{filecontents}{\jobname.bib}
@book{examplebook,
author = {Author, A.},
year = {2017},
title = {Title},
publisher = {Publisher},
}
@article{examplearticle,
author = {Author, B.},
year = {2018},
title = {Title},
journal = {Journal of X},
}
\end{filecontents}
\begin{document}
\citet{examplebook} \citet{examplearticle}
\bibliographystyle{IEEEtranSN}
\bibliography{\jobname}
\end{document}
更新
经过一番挖掘,我们发现这正是此书目样式的预期行为。从如何使用 IEEEtran BIBTEX 样式:
但是,我的问题仍然存在。我该如何删除这些额外的空间?我不知道有使用这种精确的书目样式,因此如果有完全相同的不包含额外空间的替代风格我也会欢迎。
答案1
这似乎是故意的。事实上,在第 232-234 行中,IEEETranSN.bst
我们发现
% This is the LaTeX spacer that is used when a larger than normal space % is called for (such as just before the address:publisher). FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
如果你必须使用IEEETranSN.bst
和删除空格,请按照以下步骤操作。
IEEEtranSN.bst
在您的机器上找到。您可以通过kpsewhich IEEEtranSN.bst
在命令行/终端中输入来执行此操作。或者,从 CTAN 获取该文件的副本http://mirrors.ctan.org/macros/latex/contrib/IEEEtran/bibtex/IEEEtranSN.bst- 将文件复制到 TeX 可以找到的位置。文档目录就可以了。另请参阅https://texfaq.org/FAQ-inst-wlcf
- 将文件重命名为
IEEEtranSN-normspace.bst
(许可证IEEEtranSN.bst
强烈建议您在修改文件时更改名称) 打开文件并找到
FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
在第234行。
将该行更改为
FUNCTION {large.space} { " " }
在文件顶部的注释中添加您的姓名和日期并解释修改。
在您的文档中使用
\bibliographystyle{IEEEtranSN-normspace}
而不是。\bibliographystyle{IEEEtranSN}