IEEEtran BibTeX Style - how to deactivate URLs?

If you don't want BibTeX to print out the URL field for a given entry even though a URL field is present, you need to edit the bibliography style file -- in the present case, the file IEEEtran.bst -- to disable this printing. Make a copy of the file IEEEtran.bst and call it, say, myIEEEtran.bst. Open the new file in a text editor and search for the function format.url. It should look like this:

FUNCTION {format.url}
{ url empty$
    { "" }
    { this.to.prev.status
      this.status.std
      cap.yes 'status.cap :=
      name.url.prefix " " *
      "\url{" * url * "}" *
      punct.no 'this.status.punct :=
      punct.period 'prev.status.punct :=
      space.normal 'this.status.space :=
      space.normal 'prev.status.space :=
      quote.no 'this.status.quote :=
    }
  if$
}

Replace this function with the following "dummy" function:

FUNCTION {format.url}
{ url empty$
    { "" }
    { "" }
  if$
}

In short, you're telling BibTeX not to print out any information contained in the URL field. Save the file, update the filename database if necessary (e.g., if using TeXLive, type texhash in a command window), and be sure to use the new bibliography style file from now on. Happy TeXing!


The IEEEtran BibTeX style provides an option to deactivate the display of URLs through use of its BST control functionality. To do so, create a BibTeX entry in one of your .bib files as follows:

@IEEEtranBSTCTL{BSTcontrol,
CTLuse_url = "no",
}

Then, activate the BST control with the \bstctlcite command. It is best to place this command right after \begin{document} because it will only alter the formatting of the citations that follow it.

\begin{document}
\bstctlcite{BSTcontrol}

This method is described in the IEEEtran BibTeX how-to file.

Note that this method avoids editing the ieeetran.bst style file.


I'm a little bit late to the party, but for anyone else looking for a way to do this it is also possible to make a new version of the IEEEtran.bst file as above and edit the following lines:

% #0 turns off the display of urls
% #1 enables
FUNCTION {default.is.use.url} { #1 }

to be:

FUNCTION {default.is.use.url} { #0 }

Make sure you rename the file and use the edited version.