\textunderscore 在哪里定义?

\textunderscore 在哪里定义?

我最近才开始使用 TeX,正在重新编写一个遗留的 TeX 作品(书籍,第二版)。我创建了许多 TeX 表(使用 SAS)并对其进行 \input。这些表包含许多 \textunderscore。在我的 pdf 中,它们全部显示为上移点,而不是下划线。添加包 {hyperref} 会导致许多错误,而如果没有该包,这些错误就不会出现。

谁知道可能是什么原因以及该怎么办?

沃纳。

答案1

您使用的是什么字体编码?\textunderscore除了默认字体编码 OT1 中的打字机字体外,即如果您没有指定或您的安装没有明确指定其他字体编码,则在您获得的字体编码中不可用。但是,它可以通过 T1 字体编码获得。因此,您可以尝试将字体编码明确设置为 T1(\usepackage[T1]{fontenc}在加载之前添加hyperref)。

如果这不起作用,您可以尝试使用其他字体,保留 T1 字体编码,例如\usepackage[sc]{mathpazo}加载 palatino 字体。

如果这不起作用(这很奇怪),请尝试添加

\def\textunderscore{\char\`_} 

之后立即添加到您的代码中\usepackage[T1]{fontenc}

最后,如果这些都不起作用(如果没有起作用我会感到非常惊讶),latex.ltx 定义\textunderscore(几乎)如下:

\DeclareTextCommandDefault{\textunderscore}{%
  \leavevmode \kern.06em\vbox{\hrule width .3em}}

尝试在文档前言中包含这些行(再次强调,在\usepackage[T1]{fontenc}加载之后和之前hyperref)。注意,结果看起来不会那么好,但无论如何,比没有下划线要好!

相关内容