如何在 IEEE 会议参考文献中包含卷号?

如何在 IEEE 会议参考文献中包含卷号?

我想在我的 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文件并调整inproceedingsFUNCTION 以匹配输出中的序列。由于您使用的是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} 

在此处输入图片描述

相关内容