我正在使用无法更改的 bibtex 样式 (wmaainf)。我有以下条目:
@incollection{expranksel,
title = {A Comparison of Selection Schemes used in Genetic Algorithms},
author = {Tobias Blickle and Lothar Thiele},
booktitle = {TIK Report},
publisher = {Swiss Federal Institute of Technology ETH},
volume = {11},
year = {1995},
month = 12,
edition = 2
}
列出版本非常重要,因为我引用的部分是在第二版中添加的。我得到了以下输出:
[Blic 95]
T. Blickle and L. Thiele. “A Comparison of Selection Schemes used in Ge-
netic Algorithms”. In: TIK Report, Swiss Federal Institute of Technology
ETH, 12 1995.
我该怎么做才能获得所需的输出(正在打印的版本字段)。
答案1
正如你所发现的,wmaainf
参考书目风格出于某种原因不是处理edition
类型为 的条目的字段@incollection
。(它仅处理edition
类型为 、 和 的条目的字段@book
。@inbook
)@manual
鉴于您显然必须使用此样式文件,我建议您执行以下操作:
复制
wmaainf.bst
,并将副本称为mywmaainf.bst
。请执行不是直接编辑原始文件。在文本编辑器中打开文件
mywmaainf.bst
;你用于 tex 文件的编辑器就可以了。找到调用的函数incollection
(在我的副本中它从第 465 行开始)。在该函数中,找到
"booktitle" format.in.ed.booktitle output.check
紧接着这句话,插入以下行:
format.edition output
将文件保存
mywmaainf.bst
在主 tex 文件所在的目录中或 BibTeX 搜索的目录中。如果选择后一种方法,请确保在保存文件后更新 TeX 发行版的文件名数据库。
保存更新的参考书目样式文件后,请务必再运行 LaTeX、BibTeX 和 LaTeX 两次以传播所有更改。
edition
顺便说一下,您可以将字段的值从 更改2
为"2nd"
。
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{expranksel,
title = {A Comparison of Selection Schemes used in Genetic Algorithms},
author = {Tobias Blickle and Lothar Thiele},
booktitle = {TIK Report},
publisher = {Swiss Federal Institute of Technology ETH},
volume = {11},
year = {1995},
month = 12,
edition = "2nd",
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{mywmaainf.bst}
\bibliography{\jobname}
\end{document}
附录:如果您不愿意编辑 bst 文件,或者您不完全确定这样做的法律后果,您可以继续使用,但按如下方式wmainf
编辑该字段:booktitle
booktitle = {TIK Report, \emph{2nd Ed.}},
即,将有关书籍版本的信息添加到该booktitle
字段。MWE 说明,生成的输出与样式文件处理该字段时的输出相同edition
:
\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{expranksel,
title = {A Comparison of Selection Schemes used in Genetic Algorithms},
author = {Tobias Blickle and Lothar Thiele},
booktitle = {TIK Report, \emph{2nd Ed.}},
publisher = {Swiss Federal Institute of Technology ETH},
volume = {11},
year = {1995},
month = 12,
edition = "2nd",
}
\end{filecontents}
\begin{document}
\nocite{*}
\bibliographystyle{wmaainf.bst}
\bibliography{\jobname}
\end{document}