88

I'm using the url package. Now, I have some some url with a percent sign in it and want to place it in a footnote. When I let the % where it is, I get a comment, and the whole thing fails to compile because of some unmatched brackets. When it's at the end of a line, it doesn't show up at all in the result. When I write \% instead, this gets literally into the output—but I want the url to be displayed correctly.

What could I do?

9
  • 2
    What are you using to create URLs? \url{foo%.com} works fine for me with the url package
    – Seamus
    Commented Feb 27, 2011 at 16:56
  • pdfLaTeX, on miktex
    – user3872
    Commented Feb 27, 2011 at 16:59
  • 1
    @phg I meant, are you using the url package (\usepackage{url} in your preamble) or some other package that defines a \url{} command?
    – Seamus
    Commented Feb 27, 2011 at 17:01
  • Yeah, I was using \usepackage{url}, but I just saw I screwed it up somewhere else, because I was using it inside a footnote and then the error was kept somehow. Im sorry, problem solved... but thanks for really fast help.
    – user3872
    Commented Feb 27, 2011 at 17:06
  • 1
    @Seamus: Could you post this as an answer.
    – Caramdir
    Commented Feb 27, 2011 at 17:35

2 Answers 2

41

For URLs in footnotes or inside other macro arguments use \urldef to define it first as a macro:

\documentclass{article}
\usepackage{url}
\urldef\myurl\url{foo%.com}
\begin{document}
text\footnote{WWW: \myurl}
\end{document}
2
  • 2
    This doesn't work for long URLs - svn.ggy.bris.ac.uk/websvn/… will print correctly in the document, but the link doesn't work as it's only half complete.
    – user8875
    Commented Oct 27, 2011 at 12:32
  • 3
    @user8875 This method does work for long url's too, just make sure you don't break it in the definition. To get an active link, load the hyperref package. Commented Oct 16, 2013 at 13:33
24

The easiest way is to simply escape it.

\documentclass{article}
\usepackage{hyperref}
\begin{document}
    text\footnote{%
        \href{http://example.com/name\%27s-page}{http://example.com/name's-page}%
    }
\end{document}
8
  • 4
    Yes, I found that adding a "\" in front of the "%" in the URL produces a working URL.
    – Kurt Peek
    Commented Mar 25, 2016 at 17:52
  • 12
    But then the backslash appears in the URL, you don't want that.
    – yannis
    Commented Aug 16, 2016 at 11:35
  • 11
    It is actually not necessary to escape percent signs in \href{}{} using the hyperref package. The percent sign might confuse text highlighting in your text editor though (for example Overleaf). Commented Aug 29, 2018 at 14:23
  • 3
    You also have to escape the # and & signs with a backslash in urls.
    – erik
    Commented Oct 16, 2019 at 20:22
  • @erik Considering @Paul Rougieux Do you have to escape # and &, or don't you? I mean you don't have to escape %...
    – U. Windl
    Commented Nov 29, 2019 at 1:33

You must log in to answer this question.