我正在创建一个beamer
演示文稿。我想添加一个带有井号标签 ( #
) 的源链接。当我尝试编译它时,出现错误:
! Illegal parameter number in definition of \test.
<to be read again>
}
l.91 \end{itemize}
% ends low level
? x
这是我正在使用的线路:
\href{http://highered.mcgrew-hill.com/classware/ala.do?isbn=0072956208&alaid=ala_1500202&showSelfStudyTree=true#}{source}
有没有解决的办法?
答案1
请小心转义井号#
:
\href{http://example.com/ala.do?foo=bar&showSelfStudyTree=true\#}{source} % # truncated
我必须承认,在这种情况下(哈希位于链接的最末端),这实现了成功编译,但是从我的 pdf 查看器(evince)打开链接时,哈希字符会丢失。如果哈希位于链接内的某个位置,则会保留它:
\href{http://example.com/ala.do?showSelfStudyTree=true\#&foo=bar}{source} % # perserved
答案2
我创建了一篇普通的文章(不是 Beamer 演示文稿),由于某些原因,无法使用\href
哈希(即使使用转义)。LaTeX 论坛建议\url
可以改用(对我有用):
\url{http://highered.mcgrew-hill.com/classware/ala.do?blahblah=true#}
答案3
我有一个包含两个符号的 URL #
(矩阵服务器链接)。即使转义,第二个符号也会被忽略。对我有用的方法是:用其 urlencoding 值替换第二个出现的符号:
\href{https://example.com/foo\#bar\%23baz}{https://example.com/foo\#bar\#baz}