我的 .bib 文件中的条目在date={year--month--day}
格式和打印的参考书目中有一个字段:1999 年 4 月例如。我希望它简单1999。
您如何用unsrtnat
参考书目风格来做到这一点?
我尝试在文件中找到条目,unsrtnat.bst
但更改format.date
函数也不起作用。您有什么想法吗?
编辑:format.date
将功能从以下位置更改:
FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * warning$ pop$ "" } 'skip$ if$ month empty$ 'skip$ { month " " * swap$ * } if$ extra.label * }
到:
FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * warning$ pop$ "" } 'skip$ if$ month empty$ 'skip$ { } if$ extra.label * }
但它没有用
答案1
要修改unsrtnat
参考书目样式以忽略与月份相关的信息,我建议您采取以下步骤:
在您的 TeX 发行版中找到该文件
unsrtnat.bst
并复制一份。将副本命名为 。unsrtnat-nomonth.bst
(不要直接编辑 TeX 发行版中的文件。)在文本编辑器中打开
unsrtnat-nomonth.bst
。(您用来修改 tex 文件的编辑器就可以了。找到函数
format.date
。(它应该从文件的第 417 行开始。)它应该如下所示:FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * warning$ pop$ "" } 'skip$ if$ month empty$ 'skip$ { month " " * swap$ * } if$ extra.label * }
month empty$
删除从到 第二行 的行if$
。修改后的函数应如下所示:FUNCTION {format.date} { year duplicate$ empty$ { "empty year in " cite$ * warning$ pop$ "" } 'skip$ if$ extra.label * }
将文件保存
unsrtnat-nomonth.bst
到主 tex 文件所在的目录或 BibTeX 搜索的目录中。如果选择第二个选项,请确保也更新 TeX 发行版的文件名数据库。在主 tex 文件中,更改
\bibliographystyle{unsrtnat}
为\bibliographystyle{unsrtnat-nomonth}
。然后,再运行 LaTeX、BibTeX 和 LaTeX 两次,以完全传播所有更改。
祝您 BibTeX 愉快!
完整的 MWE(unsrtnat-nomonth.bst
设置如前文所述)
如果unsrtnat
使用 而不是unsrtnat-nomonth
,则会得到:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{mybib.bib}
@article{xyz,
author = "X",
title = "Y",
journal = "Z",
year = 3001,
month = "January",
date = "11-11-3001",
}
\end{filecontents}
\bibliographystyle{unsrtnat-nomonth}
\usepackage{natbib}
\begin{document}
\nocite{*}
\bibliography{mybib}
\end{document}