任何包中是否都使用了命令 \underscore?

任何包中是否都使用了命令 \underscore?

我注意到,\textunderscore当我在生成的 PDF 中搜索下划线时,用 生成的下划线不匹配。有谁知道在包中已经定义的命令\underscore(或者可能是)可以生成可搜索的下划线吗?\uscore

我遇到了\texttt{\symbol{95}}\texttt{\char`_}。它们等价吗?

答案1

我只能\underscore在包中找到定义syntax。这个包相当老旧,20 年来一直无人维护。它的定义模仿了使用不带下划线的字体编码时\underscore的定义;包文档说\_

该软件包还包括一些其他功能 [...]
• 略有不同的下划线字符,可在文本和数学模式下按预期工作。

我发现没有发生\uscore

最后,\texttt{\symbol{95}}几乎相当于\texttt{\char`_},不同之处在于前者更好。如果你不想查表,你可以使用

\texttt{\symbol{`\_}}

它可以兼顾两方面的优点。使用\char<number>可能会很危险。

答案2

关于\underscore

如果您需要\underscore定义,但担心某些未知的包可能会定义它,您可以在之后执行以下操作\begin{document}

\providecommand\underscore{\_}

然后\underscore将打印下划线字符。但是,如果某个包已经定义\underscore,那么它将执行该包定义的任何操作(可能会也可能不会打印下划线字符)。

相关内容