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. Dec 18, 2017 at 16:20
  • Sure, but removing it doesn't help too.
    – Alberto
    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.
    – Skillmon
    Dec 18, 2017 at 16:33
  • 7
    \href{\detokenize{http://coração.net}}{\texttt{http://coração.net}}
    – user91669
    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
    – Alberto
    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.
    – cabohah
    Feb 20 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.
    – Alberto
    Dec 18, 2017 at 17:23

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .