O caractere de escape antes de % está fornecendo o ! Faltando $ inserido.erro $

O caractere de escape antes de % está fornecendo o ! Faltando $ inserido.erro $

Estou tentando incluir link em minhas referências. O link contém%personagem nele. Para que%para me comportar como um personagem normal, estou escapando disso com\personagem. Mas estou recebendo um

! Missing $ inserted.
<inserted text>
$
l.614 ...ia.org/wiki/Shamir\%27s_Secret_Sharing''}

erro.

Aqui está a linha que está produzindo esse erro

\hyperref[shamir]{''http://en.wikipedia.org/wiki/Shamir\%27s_Secret_Sharing''}

Estou usando hyperrefo pacote para adicionar links.

Responder1

O problema não está em%, mas no sublinhado! Usa isto

\hyperref[shamir]{''http://en.wikipedia.org/wiki/Shamir\%27s\_Secret\_Sharing''}  

Responder2

Os caracteres de sublinhado requerem o modo matemático e são usados ​​​​para subscritos. Portanto, você precisa \_aqui de um caractere de sublinhado.

Alternativamente \urlou \nolinkurlpode ser usado. Este último é \urlmenos a propriedade do link.

Um exemplo com algumas variantes:

\documentclass{article}
\usepackage[colorlinks]{hyperref}
\begin{document}

\url{http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing}

\href{http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing}{%
  \nolinkurl{http://en.wikipedia.org/wiki/Shamir\%27s_Secret_Sharing}}

\urlstyle{same}
\href{http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing}{%
  \nolinkurl{http://en.wikipedia.org/wiki/Shamir\%27s_Secret_Sharing}}

\href{http://en.wikipedia.org/wiki/Shamir\%27s_Secret_Sharing}{shamir}

\end{document}

Resultado

É necessário escapar do caractere de comentário \%, se as macros de URL forem usadas dentro do argumento de outra macro.

informação relacionada