我想引用每年都会发布新版本的程序文档。
@INPROCEEDINGS{FoobarReference,
author = {Smart Guy},
title = {The Foo/Bar Reference Manual},
booktitle = {},
year = {1999},
publisher = {}
}
更改年份就够了吗,或者这是对一位博学学者的期望吗?本文档仅以 pdf 形式存在,并未出版和印刷。
答案1
year
您可以在文档中设置的字段中使用宏。
\begin{filecontents*}{\jobname.bib}
@manual{FoobarReference,
author = {Smart Guy},
title = {The Foo/Bar Reference Manual},
year = {\foobaryear},
}
\end{filecontents*}
\documentclass{article}
\newcommand{\foobaryear}{2015}
\begin{document}
The manual is \cite{FoobarReference}.
\bibliographystyle{plain}
\bibliography{\jobname}
\end{document}
因此您不需要修改文件.bib
。请注意,类型@inproceedings
不适合这种引用:选择@manual
或@book
。
请注意,filecontents*
环境只是为了保持示例的自包含,您将使用带有单独.bib
文件的标准方法。
如果你正在使用natbib
,则需要进行一些破解:
\begin{filecontents*}{\jobname.bib}
@manual{FoobarReference,
author = {Smart Guy},
title = {The Foo/Bar Reference Manual},
year = {\foobaryear},
}
\end{filecontents*}
\documentclass{article}
\usepackage[authoryear]{natbib}
\newcommand{\foobaryear}{2015}
\let\oribibitem\bibitem
\def\bibitem[#1(#2)]{%
\begingroup\edef\x{\endgroup
\noexpand\oribibitem[\unexpanded{#1}(#2)]%
}\x
}
\begin{document}
The manual is \cite{FoobarReference}.
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}