Das Escape-Zeichen vor % ergibt das ! Fehlendes $ eingefügt.$ Fehler

Das Escape-Zeichen vor % ergibt das ! Fehlendes $ eingefügt.$ Fehler

Ich versuche, einen Link in meine Referenzen aufzunehmen. Der Link enthält%Charakter darin. Damit%um mich wie ein normaler Charakter zu verhalten, entkomme ich ihm mit\Charakter. Aber ich bekomme eine

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

Fehler.

Hier ist die Zeile, die diesen Fehler erzeugt

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

Ich verwende hyperrefein Paket zum Hinzufügen von Links.

Antwort1

Das Problem liegt nicht beim % sondern beim Unterstrich! Verwenden Sie dies

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

Antwort2

Die Unterstriche erfordern den Mathematikmodus, da sie dort für tiefgestellte Zeichen verwendet werden. Daher benötigen Sie \_hier einen Unterstrich.

Alternativ kann \urloder \nolinkurlverwendet werden. Bei Letzterem ist \urldie Link-Eigenschaft abgezogen.

Ein Beispiel mit einigen Varianten:

\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}

Ergebnis

Das Escapen des Kommentarzeichens via \%ist erforderlich, wenn die URL-Makros innerhalb des Arguments eines anderen Makros verwendet werden.

verwandte Informationen