当我将带有 TeX 特殊字符的 URL(如下%
例所示)添加到脚注时,它不起作用。
\documentclass{article}
\usepackage{hyperref}
\usepackage{xurl}
\begin{document}
1\footnote{\url{https://tex.stackexchange.com/questions/700246/how-to-output-the-%cf%84%ce%b5%cf%87%ce%bd%ce%b9%ce%ba%ce%ae-symbol}}
\end{document}
我尝试使用该xurl
软件包,但仍然无法使其工作。它在 ConTeXt 中运行良好,但在脚注中却不起作用。我是否遗漏了什么?我应该怎么做才能使其工作?
答案1
用户指南中的第 2 节,标题为“定义定义的 URL”,网址包解释说,如果要在脚注中排版包含 TeX 特殊字符的 URL 字符串,则需要通过指令创建“定义的 URL” \urldef
。
由于 TeX 的脚注排版机制存在局限性,因此必须绕行这一步。(您可能知道,TeX 是在万维网和相关 URL 概念出现之前发明的;因此,URL 字符串可能包含一些 TeX 特殊字符,如果 URL 字符串出现在 的参数中,可能会造成严重破坏\footnote
。)该\urldef
设备绕过了这一限制。
\documentclass{article}
\usepackage{xurl} % 'xurl' package loads 'url' package automatically
% Here comes the '\urldef' instruction:
\urldef\urlA\url{https://tex.stackexchange.com/questions/700246/how-to-output-the-%cf%84%ce%b5%cf%87%ce%bd%ce%b9%ce%ba%ce%ae-symbol}
\usepackage[colorlinks,allcolors=blue]{hyperref} % optional
\setlength\textheight{1.5cm} % just for this example
\begin{document}
aaa\footnote{\urlA}
\end{document}
答案2
stackexchange 网址中的问题标题或多或少只是装饰。如果您只有问题编号,链接仍然有效:
\documentclass{article}
\usepackage{hyperref}
\usepackage{xurl}
\begin{document}
1\footnote{\url{https://tex.stackexchange.com/questions/700246}}
\end{document}