在普通 TeX 中, \usepackage[T1]{fontenc} 的等效项是什么?

在普通 TeX 中, \usepackage[T1]{fontenc} 的等效项是什么?

我继承了一个半小型 TeX 项目,在该项目中,在跨多台计算机和操作系统同步后,我在特殊字符的编码方面遇到了一些问题,例如åäö

我最初解决这个问题的方法是将所有内容转换为 UTF-8(使用iconvUbuntu 上的实用程序),这样所有奇怪的错误替换字符都会消失。但是,特殊字符仍然没有显示。

如果这是 LaTeX,我会这样做\usepackage[T1]{fontenc},但这在这里不起作用,因为我用进行编译pdftex

我该怎么做呢?

答案1

首先,您不需要与 fontenc 等效,而是需要与 inputenc 等效。您应该(像 inputenc 一样)使非 ASCII 字符处于活动状态并将它们映射到合适的命令。例如,在 8 位编码文件中,您可以执行以下操作:

%OT1-encoded font
\catcode`\ä=13
\defä{\"a}

Räuber
\bye

在此处输入图片描述

使用 T1 编码字体时,情况会好一些,因为很多字符已经处于“正确位置”。因此,通常不需要更改 catcode,但正如您在 ß 中看到的那样,如果不添加定义,某些字符可能会出错

%Use a T1-encoded font:
%\catcode`\ä=13
%\defä{\char"E4}
% \catcode`\ß=13
% \defß{\char"FF}
%
\font\test=ecrm1000 \test

Räuber öäüß
\bye

在此处输入图片描述

对于 utf8 编码的文件,生活会变得更加复杂,因为您必须重新创建 utf8 八位字节的解析。

添加

使用csplainpdfcsplain格式 (http://petr.olsak.net/csplain-e.html)可以直接使用utf8。

öäüß

\bye

在此处输入图片描述

相关内容