Hyperref:为什么我会收到致命的 TeX 容量超出错误?

Hyperref:为什么我会收到致命的 TeX 容量超出错误?

我正在将一份用于印刷发行的文档转换为一份用于电子发行的文档,方法是将所有 URL 转换为超链接 URL。使用 hyperref 包和 \url 命令。单个 URL 给我以下错误:

! TeX capacity exceeded, sorry [input stack size=5000].
\font@name -> \OT1/cmr/m/n/10.95
l.4 .../$FILE/Open%20Meetings%20Law%20FAQ.pdf}

! ==> Fatal error occurred, no output PDF file produced!
Transcript written on FSGuide2022ElecProbMinEx.log.

我不知道为什么。

这是一个产生这种行为的最小示例(带有有问题的 URL)。

\documentclass[11pt]{article}
\usepackage{hyperref}
\begin{document}
\url{https://app.lla.state.la.us/llala.nsf/BAADB2991272084786257AB8006EE827/\$FILE/Open\%20Meetings\%20Law\%20FAQ.pdf} 
\end{document}

我可能犯了一些愚蠢的错误,但我无论如何也想不出那是什么!

谢谢

答案1

您发帖中显示的 URL 字符串存在根本性错误。具体来说,为什么$“和”%20部分要用反斜杠字符转义?

在我看来,以下两个版本的 URL 字符串都是正确的 - 请注意,它们都没有使用\字符来“转义” TeX 特殊字符,例如$%

https://app.lla.state.la.us/llala.nsf/BAADB2991272084786257AB8006EE827/$FILE/Open Meetings Law FAQ.pdf

https://app.lla.state.la.us/llala.nsf/BAADB2991272084786257AB8006EE827/$FILE/Open%20Meetings%20Law%20FAQ.pdf

果然,测试程序

\documentclass{article}
\usepackage[obeyspaces]{xurl}
\usepackage[colorlinks,allcolors=blue]{hyperref} % optional
\begin{document}
\url{https://app.lla.state.la.us/llala.nsf/BAADB2991272084786257AB8006EE827/$FILE/Open Meetings Law FAQ.pdf}

\url{https://app.lla.state.la.us/llala.nsf/BAADB2991272084786257AB8006EE827/$FILE/Open%20Meetings%20Law%20FAQ.pdf}
\end{document}

得到以下截图:

在此处输入图片描述

令人高兴的是,单击两个超链接即可将您发送到正确的文件。

相关内容