El carácter de escape antes de % indica ! Falta $ insertado.$ error

El carácter de escape antes de % indica ! Falta $ insertado.$ error

Estoy intentando incluir enlaces en mis referencias. El enlace contiene%personaje en él. Para poder%para comportarme como un personaje normal con el que me estoy escapando\personaje. Pero estoy recibiendo un

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

error.

Aquí está la línea que está produciendo este error.

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

Estoy usando hyperrefel paquete para agregar enlaces.

Respuesta1

¡El problema no es el % sino el guión bajo! Utilizar esta

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

Respuesta2

Los caracteres de subrayado requieren el modo matemático, allí se utilizan para subíndices. Por lo tanto, aquí necesita \_un carácter de subrayado.

Alternativamente \urlo \nolinkurlse puede utilizar. Este último es \urlmenos la propiedad del enlace.

Un ejemplo con algunas 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

Es necesario escapar del carácter de comentario \%si las macros de URL se utilizan dentro del argumento de otra macro.

información relacionada