使用 hyperref 在 URL 中输入奇数个花括号 '{' '}'

使用 hyperref 在 URL 中输入奇数个花括号 '{' '}'

我的问题与这个问题有些类似:在网址中输入‘{’ ’}’ 但是,我怎样才能写出奇数个花括号呢,例如:

\url{http://example.org/foo/\{bar}

URL 包的文档说,应该使用除 {} 之外的其他字符。但是,只要我加载 hyperref,URL 函数似乎就会被覆盖。我能写出的唯一有效代码是这样的

\url{http://example.org/foo/\%7Bbar}

从语法上来说这仍然是正确的,但在输出中产生了 %7B(我希望得到人类可读的 '{')。

无法正确编译的最小示例:

\documentclass{article}
\usepackage{url}
\usepackage{hyperref}
\begin{document}
   foo \url+http://example.org/foo/\{bar+ bar
\end{document}

如果我删除 hyperref,该示例仍有效……

答案1

作为一种解决方法(也许存在更好的方法,但尚未调查),您可以使用以下命令:

\documentclass{article}
\usepackage{url}
\usepackage{hyperref}
\begin{document}
   foo \href{http://example.org/foo/\%7Bbar}{\texttt{http://example.org/foo/\{bar}} bar
\end{document}

在此处输入图片描述

该图像来自使用 Acrobat Reader 时的情况。在另一个 PDF 查看器中,工具提示显示了一个括号,而不是%7B在显示的 URL 中显示黄色背景。

相关内容