13

I'm trying to include a link to some code on OneDrive; the link includes an underscore, which is causing a lot of trouble.

I tried adding the entry like this:

@misc{code,
    title = {Code},
    url = {https://1drv.ms/link_link}
}

I use \usepackage{url} and \bibliographystyle{IEEEtran}. Everything compiles fine and the bibliography shows the correct entry. However, if you click the link, it opens a page at https://1drv.ms/link - so ignoring the underscore and everything after it, which leads to a wrong page. Even copy and paste from the PDF doesn't work since the underscore is copied as space, which again is a broken link.

How can I add the link such that it can be clicked and copied properly? I tried \_, \usepackage{underscore}, {{link}}, different bibtex entries but nothing worked. Also all the related questions/answers don't answer mine.

  • 4
    You need hyperref to get correct links. And if you are not using biblatex, then you will have to add the \url command to the bib. – Ulrike Fischer Jul 28 '17 at 11:42
  • 2
    \usepackage{hyperref} fixed it! However, I did not need \url even using bibtex; it seems like the url field in misc directly expects a URL. – CGFoX Jul 28 '17 at 12:11
  • 1
    It depends on the style. It could be that you have one that add the \url command. – Ulrike Fischer Jul 28 '17 at 12:17
  • It fixes the problem of the link being broken when you click it. However, it does not fix the other problem that the underscore is replaced by a space when copied and pasted. But I guess, that's not a problem of latex/bibtex? – CGFoX Jul 28 '17 at 12:17
  • 2
    Without a minimal example it is difficult to say, but I would guess that you are missing \usepackage[T1]{fontenc}. – Ulrike Fischer Jul 28 '17 at 12:26
11

Just to formally answer and close this question: As Ulrike Fischer answered in the comments, the solution was to use \usepackage{hyperref} (or \usepackage[hidelinks]{hyperref} to avoid the ugly boxes) and \usepackage[T1]{fontenc}. This allows properly clicking and copy-&-pasting URLs with underscores.

However, it turned out, using package hyperref wasn't allowed when trying to submit the paper to IEEE. So I ended up, simply changing the URL to something without underscore, using goo.gl.

  • 1
    This /has/ to be the hackiest solution ever, and I love it! – inspectorG4dget May 22 at 14:39
2

In case of IEEE templates, when using the file bib, replacing the underscore with {\_} should solve the problem. In the case of the question:

@misc{code,
    title = {Code},
    url = {https://1drv.ms/link{\_}link}
}

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.