13

I am using the following BibTeX style for my bibliography.

   \bibliographystyle{IEEEtran}
   \bibliography{IEEEabrv,references,thesis}

This formats bibliography entries like this:

enter image description here

, including a hyperlink to the web if provided. For brevity, I don't want it to show the URLs. How can I deactivate them?

EDIT: Let me clarify - I want to save space by not showing the URL, although the BibTeX entry for the publication contains a URL.

  • Do you want to deactivate the hyperlinks for all possible URLs in your document or just for those URLs appearing in your bibliography? – Gonzalo Medina May 23 '12 at 17:52
  • 1
    I want to remove the URLs from my Bibliography without editing the .bib file. – clstaudt May 23 '12 at 18:01
  • I think the only way to do this would be editing the IEEEtrans.cls and make it somehow ignore the URL entries. Can you edit the .cls? – Dan May 23 '12 at 18:48
  • 3
    I've just goggled it a bit, and apparently you can do this by editing the .bst file. Check this out tug.org/pipermail/tex-live/2007-August/014582.html – Dan May 23 '12 at 18:53
  • @Dan Yes, this works. Had you posted this as an answer, I could accept it now. ;) – clstaudt May 23 '12 at 18:59
14

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!

  • 1
    This should be marked as the correct answer, as the author of this question recognised in my comment above (which is pretty much the same as this answer) tex.stackexchange.com/questions/57087/… – Dan May 23 '12 at 19:32
  • This also worked with a bib style called aipproc.bst – drevicko Aug 16 '14 at 18:56
  • @drevicko - Thanks! Indeed, the method should work for a great many (all?!) bibliography styles that feature a function called format.url and, naturally, .bib files with entries with a field named url. – Mico Aug 16 '14 at 19:01
4

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.

2

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.

0

\hypersetup{hidelinks=true} will make the links "hidden" (typeset without emphasis, but still clickable).

You can switch this on and off for parts of the text (using \hypersetup{hidelinks=false} appropriately), so you can hide only the bibliography links or all links in the document.

  • inserting this command gives me an error: Package kvsetkeys Error: Undefined key 'hidelinks'. – clstaudt May 23 '12 at 18:04
  • 1
    It is also not a solution to my problem, because it removes the colored border/clickable link, not the URL. I hope have formulated the question more clearly now. – clstaudt May 23 '12 at 18:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.