我在使用 SIAM bibtex 样式时遇到以下问题。请考虑以下 bib 条目
@TECHREPORT{Pap1,
author = {Author One},
title = {Paper Title},
institution = {My Institute},
year = {2011},
number = {XXX/YY-ZZ},
month = {December},
}
和
\nocite{Pap1}
\bibliographystyle{siam}
\bibliography{bibfile}
生成参考书目。然后输出是
A. ONE, Paper title, Tech. Rep. XXX/YY-ZZ, My Institute, December 2011.
我怎样才能从输出中删除“Tech. Rep.”?在 bibtex 条目中设置 type={} 没有帮助,type={~} 会删除“Tech. Rep.”但在数字前插入不需要的空格。
答案1
在这个特殊情况下
type={\unskip\space},
似乎有效。
答案2
对于“unsrtnat”风格有一个类似的问题,也许这对其他人有帮助(也可能适用于其他风格):
- 将“unsrtnat.bst”文件复制到 LaTeX 项目目录中并重命名。就我而言,我将其复制
C:\Users\<username>\AppData\Local\Programs\MiKTeX\bibtex\bst\natbib\unsrtnat.bst
到C:\Users\<username>\my_latex_projects\project_01\unsrtnat-custom.bst
- 在文本编辑器中打开新
unsrtnat-custom.bst
文件并找到负责处理techreport
类型的函数,在我的情况下:
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
format.tr.number output.nonnull
institution "institution" output.check
address output
format.date "year" output.check
format.url output
new.block
note output
fin.entry
}
我们可以看到format.tr.number
问题在于:
FUNCTION {format.tr.number}
{ type empty$
{ "Technical Report" }
'type
if$
number empty$
{ "t" change.case$ }
{ number tie.or.space.connect }
if$
}
- 相应地调整函数。我的项目中不需要报告编号,因此我只需
format.tr.number output.nonnull
从中删除包含的行FUNCTION {techreport}
即可,即:
FUNCTION {techreport}
{ output.bibitem
format.authors "author" output.check
author format.key output
new.block
format.title "title" output.check
new.block
institution "institution" output.check
address output
format.date "year" output.check
format.url output
new.block
note output
fin.entry
}
- 更改 LaTeX 项目中的参考书目样式,即更改
\bibliographystyle{unsrtnat}
为\bibliographystyle{unsrtnat-custom}