[Tex/LaTex] How to include the volume number in IEEE conference reference

bibtexieeetran

I want to include the volume number in my IEEE conference reference and use the code in the following

@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"}

The output is like:

D. Logue and P. Krein, “Preventing instability in dc distribution systems by using power buffering,” in Proc. IEEE Power Electronics Specialists Conference, vol. 1, Jun. 2001, pp. 33–37.

However, I would like the output to be

D. Logue and P. Krein, “Preventing instability in dc distribution systems by using power buffering,” in Proc. IEEE Power Electronics Specialists Conference, Jun. 2001, vol. 1, pp. 33–37.

The volume number should appear after the month and year. Does anyone know how to solve this problem?

Best Answer

You need to edit the associated .bst file and adjust the inproceedings FUNCTION to match the sequence in the output. Since you're using IEEEtran, we're talking about IEEEtran.bst. Here's the entry in question:

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
}

Note how *.date (within publisher) follows *.volume. If you flip these around, they will be updated in the output as well. So your new inproceedings FUNCTION should resemble:

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
}

You can save this new IEEEtran.bst in your working folder. Here is a complete minimal example with the new output following the compile sequence (pdf)LaTeX > BibTeX > (pdf)LaTeX > (pdf)LaTeX:

enter image description here

\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}

Don't change journal styles, since they'll change it back to their requirements.