我想在我的 IEEE 会议参考资料中包含卷号,并使用下面的代码
@inproceedings{Logue2001,
author = "Logue, D.L. and Krein, P.T.",
title = "Preventing instability in DC distribution systems by using power buffering",
booktitle = "Proc. IEEE Power Electronics Specialists Conference",
volume = "1",
month = jun,
year = "2001",
pages = "33-37"}
输出如下:
D. Logue 和 P. Krein,《利用电源缓冲防止直流配电系统不稳定》,IEEE 电力电子专家会议论文集,第 1 卷,2001 年 6 月,第 33-37 页。
不过,我希望输出是
D. Logue 和 P. Krein,《利用电源缓冲防止直流配电系统不稳定》,IEEE 电力电子专家会议论文集,2001年6月第1卷,第 33-37 页。
卷号应该出现在月份和年份之后。有人知道如何解决这个问题吗?
答案1
您需要编辑相关.bst
文件并调整inproceedings
FUNCTION 以匹配输出中的序列。由于您使用的是IEEEtran
,我们谈论的是IEEEtran.bst
。以下是相关条目:
FUNCTION {inproceedings}
{ std.status.using.comma
start.entry
if.url.alt.interword.spacing
format.authors "author" output.warn
name.or.dash
format.article.title "title" output.warn
format.in.booktitle "booktitle" output.warn
format.series output
format.editors output
format.volume output
format.number output
publisher empty$
{ format.address.organization.date output }
{ format.organization "organization" bibinfo.check output
format.address.publisher.date output
}
if$
format.paper output
format.pages output
format.note output
format.url output
fin.entry
if.url.std.interword.spacing
}
注意*.date
(在 内publisher
)关注 *.volume
。如果你翻转它们,它们也会在输出中更新。因此,你的新inproceedings
函数应该类似于:
FUNCTION {inproceedings}
{ std.status.using.comma
start.entry
if.url.alt.interword.spacing
format.authors "author" output.warn
name.or.dash
format.article.title "title" output.warn
format.in.booktitle "booktitle" output.warn
format.series output
format.editors output
publisher empty$
{ format.address.organization.date output }
{ format.organization "organization" bibinfo.check output
format.address.publisher.date output
}
if$
format.volume output
format.number output
format.paper output
format.pages output
format.note output
format.url output
fin.entry
if.url.std.interword.spacing
}
您可以将这个新内容保存IEEEtran.bst
在工作文件夹中。这是一个完整的最小示例,新输出遵循编译顺序 (pdf)LaTeX > BibTeX > (pdf)LaTeX > (pdf)LaTeX:
\documentclass{IEEEtran}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@inproceedings{Logue2001,
author = "Logue, D. L. and Krein, P. T.",
title = "Preventing instability in {DC} distribution systems by using power buffering",
booktitle = "Proc. IEEE Power Electronics Specialists Conference",
volume = "1",
month = jun,
year = "2001",
pages = "33-37"}
\end{filecontents*}
\begin{document}
\nocite{*}
\bibliographystyle{IEEEtran}
\bibliography{\jobname}
\end{document}
不要改变期刊风格,因为他们会将其改回他们的要求。
答案2
如果您想考虑使用biblatex-ieee
,使用该包很容易xpatch
:
\documentclass{article}
\usepackage[style = ieee]{biblatex}
\usepackage{xpatch}
\xpatchbibdriver{inproceedings}{%
\usebibmacro{volume+part}%
\newunit
\usebibmacro{publisher+location+date}%
}
{%
\usebibmacro{publisher+location+date}%
\newunit
\usebibmacro{volume+part}%
}{}{}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@inproceedings{Logue2001,
author = "Logue, D.L. and Krein, P.T.",
title = "Preventing instability in DC distribution systems by using power buffering",
booktitle = "Proc. IEEE Power Electronics Specialists Conference",
volume = "1",
month = jun,
year = "2001",
pages = "33-37"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}