11

I am trying to write an URL using breakurl, that includes an accented character. I am trying to use pdflatex with utf8 inputenc (also tried utf8x). But I can't get a decent result.

My best result is presented by this minimal working example:

\documentclass{article} \usepackage[utf8x]{inputenc} \usepackage{hyperref} \usepackage{url} \begin{document} \url{\detokenize{http://coração.net}} \end{document} 

The link is created correctly, but the text shown in the PDF is not the correct one (misses the non ascii characters).

Suggestions are welcome.

6
  • \detokenize will completely break pdflatex's handling of utf-8. Commented Dec 18, 2017 at 16:20
  • Sure, but removing it doesn't help too. Commented Dec 18, 2017 at 16:26
  • Why do you need that? I don't think url with non-ascii characters are supported anywhere (feel free to correct me about this). Also there is no need to load url if you load hyperref. Commented Dec 18, 2017 at 16:33
  • 7
    \href{\detokenize{http://coração.net}}{\texttt{http://coração.net}} Commented Dec 18, 2017 at 16:36
  • 3
    @Skillmon unfortunately unicode domains are out there, and they are a big danger for phishing, as there are ways to make similar looking urls pointing to different places. Look here: wordfence.com/blog/2017/04/chrome-firefox-unicode-phishing Commented Dec 18, 2017 at 16:41

2 Answers 2

2

There are at least two issues here. First, you need to switch to the 8-bit T1 encoding, or PDFTeX will by default use an even older 7-bit encoding for output. Second, hyperref declares its own \url command and does not seem to be compatible with \usepackage{url}.

The following workaround appeared to work for me:

\documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} % The default since 2018. \usepackage[unicode]{hyperref} \begin{document} \href{http://cora\%E7\%E3o.net}{\texttt{http://coração.net}} \end{document} 
1
  • hyperref loads url and therefore these packages are compatible. But indeed loading url after hyperref does not make sense. Commented Feb 20, 2024 at 10:00
1

The following code works with xelatex:

\documentclass{article} \usepackage{fontspec,hyperref} \begin{document} \url{http://coração.net} \end{document} 
1
  • 2
    Yep, unfortunately I needed to use pdflatex. Commented Dec 18, 2017 at 17:23

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.