自动处理 LaTeX 超链接锚标题中的特殊字符

自动处理 LaTeX 超链接锚标题中的特殊字符

我正在以自动化方式生成 LaTeX 代码,遇到了一个问题,我不太清楚如何解决。当我使用超链接生成可点击的内容页面时,就会出现此问题。文件名必须以可点击文本的形式在内容中给出,方式如下:

\hyperlink{my_file.dat}{my_file.dat}\\

困难在于处理文件名中可能出现的特殊字符(而且我没有定义文件名格式)。我知道我可以手动转义下划线,但这不是这里的选项,因为此代码将为许多文件自动生成。

我第一次尝试将 verbatim 与 cprotect 结合使用,但无法成功。我目前的尝试是使用 url,方式如下:

\hyperlink{my_file.dat}{\url{my_file.dat}}\\

但是,这很不雅观。有人能对此提出一些创造性的解决方案吗?或者我可以尝试一些想法吗?

非常感谢您的帮助

答案1

使用

\usepackage[T1]{fontenc}% http://ctan.org/pkg/fontenc
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
%...
\hyperlink{my_file.dat}{\detokenize{my_file.dat}}

字体T1编码允许正确打印下划线_,同时删除表示/切换到下标符号\detokenize的含义。_

解决方案类似于逃离地狱

相关内容