% 之前的转义字符给出了 ! 插入了缺失的 $。$错误

% 之前的转义字符给出了 ! 插入了缺失的 $。$错误

我正在尝试在参考文献中添加链接。该链接包含性格。为了表现得像正常角色,我正在逃避它\角色。但我得到了一个

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

错误。

这是产生此错误的行

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

我正在使用hyperref包来添加链接。

答案1

问题不在于 % 而在于下划线!使用这个

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

答案2

下划线字符需要数学模式,它们在那里用于下标。因此,\_这里需要一个下划线字符。

也可以使用\url\nolinkurl。后者\url减去了 link 属性。

具有一些变体的一个例子:

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

结果

\%如果 URL 宏在另一个宏的参数中使用,则需要通过转义注释字符。

相关内容