Bibliography Style Ieee Bibtex Database


The IEEEtran BibTeX style is used to produce IEEE style bibliographies. It supports advanced entry types including URLs, patents, periodicals and standards. There are also IEEEtran.bst-based variants (e.g., IEEEtranS.bst, IEEEtranSA.bst, IEEEtranN, etc.) that provide for sorted bibliographies, alpha labels and/or compatibility with Patrick W. Daly's natbib package.

The most recent version of IEEEtran.bst is v1.14 which was released on August 26, 2015.

Version v1.14 has a number of changes over the previous release (v1.13):

  • Added the CTLuse_url field to the IEEEtranBSTCTL control entry type to allow user control of the display of URLs. Thanks to Pablo Chacin, Bogdan Roman and Richard Kolacinski for suggesting this feature.
  • Added mention, and an example, of reports about standards to the documentation. Thanks to Guido R. Hiertz for providing information on this topic.
  • Fixed missed comma in BSTcontrol example in the documentation. Thanks to Oscar Gustafsson for reporting this problem.
  • Redirect hardcoded strings through functions bbl.a,, bbl.and and bbl.the as needed to better support other languages. Thanks to Karsten Hinz for suggesting this change.
  • Revised/enabled/corrected journal name string definition abbreviations in IEEEabrv.bib for IEEE_J_DSC, IEEE_J_LT, IEEE_J_MTT, IEEE_J_NSM, IEEE_J_SC and IEEE_J_STARS. Thanks to Nicolas Barabino, Chuanren Wu, Santiago Cogollos Borras and Yannick Berker for suggesting these changes.
  • Revised/enabled/corrected full and abbreviated journal name string definitions in IEEEfull.bib and IEEEabrv.bib for IEEE_M_C and IEEE_M_WC.
  • Added new IEEE journal name string definitions to IEEEfull.bib and IEEEabrv.bib: Thanks to Uwe Siart and Mona Mittra for helping with obtaining these definitions.


Obtaining the IEEEtran BibTeX Style

There are two primary distribution sites for the IEEEtran BibTeX package:

CTAN (The Comprehensive TeX Archive Network)
CTAN carries the complete IEEEtran file set.
IEEE (The Institute of Electrical and Electronics Engineers)
The IEEE carries the IEEEtran LaTeX and BibTeX (not including the non-IEEE alphanumeric and natbib variants) packages.

BibTeX Documentation

The following BibTeX-related documents may be of interest:
BibTeX documentation on CTAN
CTAN carries the BibTeX user guide and a BibTeX FAQ.
Nicolas Markey's Tame the BeaST --- The B to X of BibTeX
is a comprehensive BibTeX tutorial.
Ki-Joo Kim's A BibTeX Guide via Examples
has a lot of practical advice and examples.
Helge Kreutzmann's BibTeX Hints
contains a good overview along with some helpful tips.
Robin Fairbairns' TeX FAQ
covers several questions related to BibTeX.

Frequently Asked Questions

Q: What entry type do I use for standards submission reports?

These are technical reports:

Note that some journals do not abbreviate the task group name. (e.g., "TGe" versus "Task Group E") Thanks to Guido Hiertz for contributing to this answer.

Q: Is there a version of IEEEtran.bst that works with the mcite package, which provides collapsed entries as is often done in physics journals?

Yes, but you have to use my mciteplus package rather than mcite.sty. The IEEEtran.bst mciteplus variants are included in the mciteplus package files.

Q: I am getting unwanted % signs in my URLs. Why?

The % signs are a side effect of BibTeX's line breaking algorithm where BibTeX uses % to prevent line breaks from being seen as spaces. Unfortunately, if the line break occurs within a URL, it is all too easy for a \url{} command to mistake them as being part of the URL. Recent versions of url.sty (versions 1.6 and later) and hyperref.sty (versions after 6.70s) will properly ignore % characters when they occur just before the end of a line. Upgrading your url.sty and/or hyperref.sty packages will correct the problem.

Q: Should I escape special characters (such as _ and %) within the url field of my .bib database entries?

The overwhelming consensus among TeX gurus is not to escape these special characters, but to enter them as-is in conjunction with an external URL package such as url.sty or hyperref.sty. Note that it is not safe to escape characters (e.g., \_) and use a URL handling package because the \url command of the url.sty and hyperref.sty packages will retain the (unwanted) backslash in the formatted URL.

Q: I'm doing specialized work (e.g., theses, etc.). How can I get IEEEtran.bst to format the full names?

You can change the BibTeX name format string during run time using an IEEEtran.bst control entry type in your .bib file:

and then invoking it via \bstctlcite:

The definition of \bstctlcite can be found in the comments of at the top of the IEEEtran.bst source code as well as here:

The IEEEtrantools package also provides the \bstctlcite command.

Q: I think I found a bug - the names of entries with names that are identical to the previous entry are replaced with dashes.

Surprisingly, this is correct. The IEEE "dashes" repeated names in their bibliographies. As explained in the HOWTO, this feature can be disabled via the control entry type:

Q: I noticed that some of the abbreviations have been changed with the v1.12 release. What's up?

The IEEE changed their abbreviations in early 2005. For example, month abbreviations are all now strictly three letters (e.g., "Sep." instead of the previous "Sept."). Furthermore, there has been changes in the journal name abbreviations (e.g., "Netw." instead of "Networking"). The IEEEtran.bst and IEEEabrv.bib files have been updated to reflect the new conventions.

Q: Why doesn't the "openbib" class option have an effect on IEEEtran.bst?

At present, IEEEtran.bst does not output \newblock commands which are needed for an "open bibliography" format. Adding this functionality is not difficult. However, it does pose the question as to what is meant by an "IEEE style open bibliography", including how to properly place the IEEEtran.bst additional fields (e.g., URLs, etc.) under such a format. Needless to say, an open bibliography could not be used for IEEE related work.

Other Variants

Here are some other IEEEtran-based variants that I have created. Because these have not been as fully tested as the bibstyles in the main IEEEtran branch, or because I do not have full specs to my satisfaction for the journals in question, unless otherwise noted, consider them to be beta test releases and watch out for bugs. Note that the .bst files here do use Unix end-of-line conventions (as I use Linux), so you may have to convert them with a text editor, especially when using them on Mac systems.

Note that just because a bibstyle supports a given entry type does not mean that the corresponding journal does. i.e., just because the bibstyle allows you to do something, does not mean that it is correct. Be sure to verify that the created bibliography meets the guidelines of the journal you plan to submit to. In some cases, an entry may have to be changed from that used in IEEE journals to be correct for the journal you are submitting to. For example, many journals do not support an online/electronic entry type. Of course, unless otherwise noted, the bibstyles here are not for use for IEEE-related work.

American Scientific Publishers' (ASP) Journals

For journals of the American Scientific Publishers, try my IEEEtran_ASP.bst (version 1.14, released on 2015/08/26).

Be aware of the following issues and caveats:

  • The reference journal for testing was the Journal of Low Power Electronics (JOLPE). Other ASP journals may have different bibliography formatting requirements.
  • The entry type for standards may not be correct for, or even used by, ASP journals.
  • The implementation of the series field may not be correct for ASP journals.
  • Although ASP bibliography specs claim to support the display of days and month for the date of conferences, JOLPE bibliographies do not seem to show this data. For this reason, IEEEtran_ASP.bst does not display the days and month of conferences.
  • ASP journals often do not show a number for technical reports. However, IEEEtran_ASP.bst will display it if it is given in the entry.
  • IEEEtran_ASP.bst defaults to not showing the number of the journal for articles as ASP bibliographies typically do not show this data in bibliographies.
  • ASP journals, unlike those of IEEE, put a period right after URLs. IEEEtran_ASP.bst does as ASP does, but such a period can be easily mistaken for being part of the URL.

REVTeX and Physics Journals

The REVTeX and mciteplus compatible versions of IEEEtran.bst are distributed with my mciteplus package.

Obtaining Support

You can obtain support for the IEEEtran BibTeX style from:

The Usenet newsgroup comp.text.tex
This the primary means of general support for LaTeX and BibTeX users.
You can contact me via the email address(es) at my contact page.
Please use this option only for packages that I maintain (not general help with LaTeX or BibTeX).

History of the IEEEtran BibTeX Style

In 1985, Howard Trickey wrote the first ieeetr.bst based on plain.bst. In 1988, Oren Patashnik updated ieeetr.bst for use with BibTeX version 0.99a. In 1993, Silvano Balemi along with Richard H. Roy developed a new IEEE.bst (sometimes referred to as IEEEbib.bst) based on unsort.bst.

In 2002, while a Ph.D. student at the Georgia Institute of Technology, I developed IEEEtran.bst. IEEEtran.bst is a complete rewrite and offers advanced features including entry types for internet pages, patents, periodicals and standards.

When it comes to bibliography management packages, there are three main options in LaTeX: bibtex, natbib and biblatex. Biblatex is a modern program to process bibliography information, provides an easier and more flexible interface and a better language localization that the other two options. This article explains how to use biblatex to manage and format the bibliography in a LaTeX document.


A minimal working example of the biblatex package is shown below:

\documentclass{article}\usepackage[utf8]{inputenc}\usepackage[english]{babel}   \usepackage{biblatex}\addbibresource{sample.bib}   \begin{document} Let's cite! The Einstein's journal paper \cite{einstein} and the Dirac's book \cite{dirac} are physics related items.   \printbibliography   \end{document}

There are four bibliography-related commands in this example:

Imports the package biblatex.
Imports the bibtex data file sample.bib, this file is the one that includes information about each referenced book, article, etc. See the bibliography file section for more information.
This command inserts a reference within the document, [1] in this case, that corresponds to an element in the bibliography, "einstein" is a keyword corresponding to an entry in sample.bib.
Prints the list of cited references, the default title is "References" for the article document class and "Bibliography" for books and reports.

ShareLaTeX provides several templates with pre-defined styles to manage bibliography. See this link

  Open an example of the biblatex package in ShareLaTeX

[edit]Basic usage

Several parameters can be passed to the package import command, as in the following example:

\documentclass{article}\usepackage[utf8]{inputenc}\usepackage[english]{babel}   \usepackage{comment}   \usepackage[ backend=biber, style=alphabetic, sorting=ynt ]{biblatex}\addbibresource{sample.bib}   \title{Bibliography management: \texttt{biblatex} package}\author{Share\LaTeX}\date{}   \begin{document}   \maketitle   Using \texttt{biblatex} you can display bibliography divided into sections, depending of citation type. Let's cite! Einstein's journal paper \cite{einstein} and the Dirac's book \cite{dirac} are physics related items. Next, \textit{The \LaTeX\ Companion} book \cite{latexcompanion}, the Donald Knuth's website \cite{knuthwebsite}, \textit{The Comprehensive Tex Archive Network} (CTAN) \cite{ctan} are \LaTeX\ related items; but the others Donald Knuth's items \cite{knuth-fa,knuth-acp} are dedicated to programming.   \medskip   \printbibliography   \end{document}

Some extra options, inside brackets and comma-separated, are added when importing biblatex:

Sets the backend to sort the bibliography, is the default one and recommended since it provides full localization for several commands and the styles for biber are easier to modify because they use standard LaTeX macros. The other supported backend is , which is a more traditional program; if set as the backend, bibtex will only be used to sort the bibliography, so no bibtex styles can be used here.
Defines the bibliography style and the citation style, in this case . Depending on the style, more citation commands might be available. See biblatex bibliography styles and citation styles for more information.
Determines the criteria to sort the bibliographic sources. In this case they are sorted by year, name and title. See the reference guide for a list of sorting options.

The rest of the commands were explained in the introduction.

  Open an example of the biblatex package in ShareLaTeX

[edit]The bibliography file

The bibliography files must have the standard bibtex syntax

This file contains records in a special format, for instance, the first bibliographic reference is defined by:

This is the first line of a record entry, tells BibTeX that the information stored here is about an article. The information about this entry is enclosed within braces. Besides the entry types shown in the example (, , and ) there are a lot more, see the reference guide.
The label is assigned to this entry, is a unique identifier that can be used to refer this article within the document.
This is the first field in the bibliography entry, indicates that the author of this article is Albert Einstein. Several comma-separated fields can be added using the same syntax , for instance: title, pages, year, URL, etc. See the reference guide for a list of possible fields.

The information in this file can later be printed and referenced within a LaTeX document, as shown in the previous sections, with the command . Not all the information in the .bib file will be displayed, it depends on the bibliography style set in the document.

  Open an example of the biblatex package in ShareLaTeX

[edit]Customizing the bibliography

Biblatex allows high customization of the bibliography section with little effort. It was mentioned that several citation styles and bibliography styles are available, and you can also create new ones. Another customization option is to change the default title of the bibliography section.

\documentclass{article}\usepackage[utf8]{inputenc}\usepackage[english]{babel}   \usepackage{comment}   \usepackage[ backend=biber, style=alphabetic, sorting=ynt ]{biblatex}\addbibresource{sample.bib}   \title{Bibliography management: \texttt{biblatex} package}\author{Share\LaTeX}\date{}   \begin{document}   \maketitle   Using \texttt{biblatex} you can display bibliography divided into sections, depending of citation type. Let's cite! The Einstein's journal paper \cite{einstein} and the Dirac's book \cite{dirac} are physics related items. Next, \textit{The \LaTeX\ Companion} book \cite{latexcompanion}, the Donald Knuth's website \cite{knuthwebsite}, \textit{The Comprehensive Tex Archive Network} (CTAN) \cite{ctan} are \LaTeX\ related items; but the others Donald Knuth's items \cite{knuth-fa,knuth-acp} are dedicated to programming.   \medskip   \printbibliography[title={Whole bibliography}]

The additional parameter passed inside brackets to the command is the one that changes the title.

The bibliography can also be subdivided into sections based on different filters, for instance: print only references from the same author, the same journal or similar title. Below an example.

\printbibliography[type=article,title={Articles only}]\printbibliography[type=book,title={Books only}]   \printbibliography[keyword={physics},title={Physics-related only}]\printbibliography[keyword={latex},title={\LaTeX-related only}]

Here, the bibliography is divided in 4 sections. The syntax of the commands used here is explained below:

Only prints entries whose type is "article", and sets the title "Articles only" for this section. The same syntax works for any other entry type.
Filters bibliography entries that include the word "physics" in any of the fields. Sets the title "Physics-related only" for said section.

  Open an example of the biblatex package in ShareLaTeX

[edit]Adding the bibliography in the table of contents

For the bibliography the be printed in the table of contents an extra option must be passed to

\printbibliography[ heading=bibintoc, title={Whole bibliography} ]   \printbibliography[heading=subbibintoc,type=article,title={Articles only}]

A section and a subsection are added to the table of contents:

  • In the first case, adding adds the title to the table of contents as an unnumbered chapter if possible or as an unnumbered section otherwise.
  • The second case is that adds the title as a second level entry in the table of contents, in this example as a subsection nested in "Whole bibliography".

  Open an example of the biblatex package in ShareLaTeX

[edit]Reference guide

Supported entry types

article book mvbook
inbook bookinbook suppbook
booklet collection mvcollection
incollection suppcollection manual
misc online patent
periodical suppperiodical proceedings
mvproceedings inproceedings reference
mvreference inreference report
set thesis unpublished
custom conference electronic
masterthesis phdthesis techreport

Supported entry fields (The printed information depends on the bibliography style)

abstract addendum afterword annotate
author authortype bookauthor bookpagination
booksubtitle booktitle chapter commentator
date doi edition editor
editortype eid entrysubtype eprint
eprinttype eprintclass eventdate eventtitle
file foreword holder howpublished
indextitle institution introduction isan
isbn ismn isrn issue
issuesubtitle issuetitle iswc journalsubtitle
journaltitle label language library
location mainsubtitle maintitle month
note number organization origdate
origlanguage origlocation origpublisher origtitle
pages pagetotal pagination part
publisher pubstate reprinttitle series
shortauthor shortedition shorthand shorthandintro
shortjournal shortseries shorttitle subtitle
title translator type url
venue version volume year

Bibliography sorting options

option description
sort by name, title, year
sort by name, year, title
sort by name, year, volume, title
sort by alphabetic label, name, year, title
sort by alphabetic label, name, year, volume, title
sort by year (descending), name, title
entries are processed in citation order

For detailed information on these entries and options, see the package documentation.

[edit]Further reading

For more information see

@article{einstein, author = "Albert Einstein", title = "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German}) [{On} the electrodynamics of moving bodies]", journal = "Annalen der Physik", volume = "322", number = "10", pages = "891--921", year = "1905", DOI = "", keywords = "physics" }   @book{dirac, title = {The Principles of Quantum Mechanics}, author = {Paul Adrien Maurice Dirac}, isbn = {9780198520115}, series = {International series of monographs on physics}, year = {1981}, publisher = {Clarendon Press}, keywords = {physics} }   @online{knuthwebsite, author = "Donald Knuth", title = "Knuth: Computers and Typesetting", url = "", addendum = "(accessed: 01.09.2016)", keywords = "latex,knuth" }   @inbook{knuth-fa, author = "Donald E. Knuth", title = "Fundamental Algorithms", publisher = "Addison-Wesley", year = "1973", chapter = "1.2", keywords = "knuth,programming" } ...

One thought on “Bibliography Style Ieee Bibtex Database

Leave a Reply

Your email address will not be published. Required fields are marked *