如何在使用 UTF-8 编码的 PlainTeX 中输入重音符号?

如何在使用 UTF-8 编码的 PlainTeX 中输入重音符号?

我使用的是纯格式的 TeX。我的键盘上有“è”字符(以及 é、ò、à、ù、ì)。我想让它工作,这样当在输入文件中输入 è 时,TeX 会将其转换为\`e,即带重音符号的字母 e。我想我必须更改 è 的字符代码并执行类似操作,但我不知道具体该怎么做。你能帮助我吗?

答案1

如果你想使用 Knuth TeX,那会很困难。但使用它就pdftex容易多了,因为 e-TeX 扩展提供了一些有用的功能。

这是一个看似有效的设置(由于这里的字符限制,我只添加了第一个文件的缩小版本。

utfplainmac.tex

%-*- 编码:utf-8-*-
% 我们为 ^ 和 ^^^ 设置了一个安全的 catcode;XeTeX 使用 ^^^^ 约定来
% 指定任意 16 位代码点。因此,如果使用 XeTeX,\gobble
% 消耗 ^^^^0021,而 8 位引擎仅 ^^^
% 被吞掉,并且 \next 不是 \empty。最后,如果 \ifunicode 为 \iftrue
% 引擎支持 Unicode,如果引擎是 8 位的,则为 \iffalse。

\catcode`\^=7
\catcode`\~=\active

\newif\ifunicodeengine
\开始组
\catcode30=12 % 以防万一:30 是 `\^^^
\def\gobble#1#2{}
\edef\next{\gobble^^^^0021}
\expandafter\endgroup
\ifx\next\empty\unicodeenginetrue\else\unicodeenginefalse\fi

\message{引擎为 \ifunicodeengine Unicode 感知\else 8 位\fi,正在加载 UTF-8 组合}

\ifunicodeengine
%%% 使第一个参数处于活动状态,并将其定义为第四个
%%% 这个技巧避免了全局定义:\lowercase 改变
%%% ~ 放入 #1 作为活动字符;然后 \endgroup\def#1 被放入
%%% 返回到 token 流(这里 #1 代表实际的
%%% 字符作为参数);同样的技巧也适用于
%%% \UseUnicodeCharacter,必须有一个表达的参数
%%% 为四位十六进制数(大写 A..F)。
  \def\DoUTFCombination#1#2#3#4{\catcode"#1\active
    \begingroup\lccode`~="#1\lowercase{\endgroup\def~}{#4}}
  \def\UseUnicodeCharacter#1{\begingroup\lccode`~="#1\lowercase{\endgroup~}}
\别的
%%% UTF-8 前缀被激活;它们只是查看
%%% 后面跟着一个标记,除非有其他字符,否则该标记属于第 12 类字符
%%% 奇怪的事情发生了,并形成了一个控制序列,
%%% 稍后定义
  \catcode`\^^c2=\active
  \def^^c2#1{\csname UTFprefix-c2#1\endcsname}
  \catcode`\^^c3=\active
  \def^^c3#1{\csname UTFprefix-c3#1\endcsname}
  \catcode`\^^c4=\active
  \def^^c4#1{\csname UTFprefix-c4#1\endcsname}
  \catcode`\^^c5=\active
  \def^^c5#1{\csname UTFprefix-c5#1\endcsname}
  \catcode`\^^c6=\active
  \def^^c6#1{\csname UTFprefix-c6#1\endcsname}
  \catcode`\^^c7=\active
  \def^^c7#1{\csname UTFprefix-c7#1\endcsname}
  \catcode`\^^c8=\active
  \def^^c8#1{\csname UTFprefix-c8#1\endcsname}
  \catcode`\^^cb=\active
  \def^^cb#1{\csname UTFprefix-cb#1\endcsname}

%%% 如果文件是由不支持 UTF-8 的引擎输入的,我们定义主
%%% 命令将 UTF-8 字符(实际上是一个双字节
%%% 组合)到标记列表中;我们还定义
%%% \UseUnicodeCharacter 通过
%%% 辅助宏 \UTFCodePoint-xxxx,其中 xxxx 代表
\UseUnicodeCharacter 的 %%% 参数,一个四位十六进制数
%%% (大写 A..F)。
  \def\DoUTFCombination#1#2#3#4{%
    \expandafter\def\csname UTFprefix-#2#3\endcsname{#4}%
    \expandafter\def\csname UTFCodePoint-#1\endcsname{#4}%
  }
  \def\UseUnicodeCharacter#1{\csname UTFCodePoint-#1\endcsname}
\fi

%%% 一些(实际上很多)UTF-8 字符无法用 T1 打印
%%% 或 TS1 编码字体
\newif\ifUTFwarning \UTFwarningtrue
\def\BadUTF#1{%
  \ifUTF警告
    \global\UTFwarningfalse
    \errhelp{在日志文件中查找不支持的字符}%
    \errmessage{不支持的 UTF 字符}%
  \fi
  \wlog{字符 #1 目前不支持在线
    \the\inputlineno}%
}

%%% 选择文本配套字体的简写
\def\tcsym#1{{\tcfont\char#1}}

%%% 字符列表:Unicode 代码点、前缀和第二个
%%% 字节,然后是定义。
\DoUTFCombination{00A0}{c2}{^^a0}{~} % 无间断空格
\DoUTFCombination{00A1}{c2}{^^a1}{!`} % 倒置感叹号
\DoUTFCombination{00A2}{c2}{^^a2}{\tcsym{"8B}} % 美分符号
\DoUTFCombination{00A3}{c2}{^^a3}{\pound} % 磅符号
\DoUTFCombination{00A4}{c2}{^^a4}{\tcsym{"A4}} % 货币符号
\DoUTFCombination{00A5}{c2}{^^a5}{\tcsym{"A5}} % 日元符号
\DoUTFCombination{00A6}{c2}{^^a6}{\tcsym{"A6}} % 断条
\DoUTFCombination{00A7}{c2}{^^a7}{\tcsym{"A7}} % 部分符号
\DoUTFCombination{00A8}{c2}{^^a8}{\"{}} % 分音符
\DoUTFCombination{00A9}{c2}{^^a9}{\tcsym{"A9}} % 版权标志
\DoUTFCombination{00AA}{c2}{^^aa}{\tcsym{"AA}} % 阴性序数指示符
\DoUTFCombination{00AB}{c2}{^^ab}{>} % 右指向双角引号
\DoUTFCombination{00BC}{c2}{^^bc}{\tcsym{"BC}} % 粗俗分数四分之一
\DoUTFCombination{00BD}{c2}{^^bd}{\tcsym{"BD}} % 粗俗分数一半
\DoUTFCombination{00BE}{c2}{^^be}{\tcsym{"BE}} % 粗俗分数四分之三
\DoUTFCombination{00BF}{c2}{^^bf}{?`} % 倒问号

\DoUTFCombination{00C0}{c3}{^^80}{\`A} % 带重音符的拉丁大写字母 A
\DoUTFCombination{00C1}{c3}{^^81}{\'A} % 带有尖音符的拉丁大写字母 A
\DoUTFCombination{00C2}{c3}{^^82}{\^A} % 带抑扬符的拉丁大写字母 A
\DoUTFCombination{00C3}{c3}{^^83}{\~A} % 带波浪号的拉丁大写字母 A
\DoUTFCombination{00C4}{c3}{^^84}{\"A} % 带分音符的拉丁大写字母 A
\DoUTFCombination{00C5}{c3}{^^85}{\AA} % 带上环的拉丁大写字母 A
\DoUTFCombination{00C6}{c3}{^^86}{\AE} % 拉丁大写字母 AE
\DoUTFCombination{00C7}{c3}{^^87}{\c{C}} % 带下划线的拉丁文大写字母 C
\DoUTFCombination{00C8}{c3}{^^88}{\`E} % 带重音符的拉丁大写字母 E
\DoUTFCombination{00C9}{c3}{^^89}{\'E} % 带有尖音符的拉丁大写字母 E
\DoUTFCombination{00CA}{c3}{^^8a}{\^E} % 带抑扬符的拉丁文大写字母 E
\DoUTFCombination{00CB}{c3}{^^8b}{\"E} % 带分音符的拉丁大写字母 E
\DoUTFCombination{00CC}{c3}{^^8c}{\`I} % 带重音符号的拉丁大写字母 I
\DoUTFCombination{00CD}{c3}{^^8d}{\'I} % 带有尖音符的拉丁大写字母 I
\DoUTFCombination{00CE}{c3}{^^8e}{\^I} % 带抑扬符的拉丁文大写字母 I
\DoUTFCombination{00CF}{c3}{^^8f}{\"I} % 带分音符的拉丁大写字母 I
\DoUTFCombination{00D0}{c3}{^^90}{\DH} % 拉丁大写字母 ETH
\DoUTFCombination{00D1}{c3}{^^91}{\~N} % 带波浪号的拉丁大写字母 N
\DoUTFCombination{00D2}{c3}{^^92}{\`O} % 带重音符的拉丁大写字母 O
\DoUTFCombination{00D3}{c3}{^^93}{\'O} % 带有尖音符的拉丁大写字母 O
\DoUTFCombination{00D4}{c3}{^^94}{\^O} % 带抑扬符的拉丁文大写字母 O
\DoUTFCombination{00D5}{c3}{^^95}{\~O} % 带波浪号的拉丁大写字母 O
\DoUTFCombination{00D6}{c3}{^^96}{\"O} % 带分音符的拉丁大写字母 O
\DoUTFCombination{00D7}{c3}{^^97}{\tcsym{"D6}} % 乘法符号
\DoUTFCombination{00D8}{c3}{^^98}{\O} % 带删除线的拉丁文大写字母 O
\DoUTFCombination{00D9}{c3}{^^99}{\`U} % 带重音符的拉丁文大写字母 U
\DoUTFCombination{00DA}{c3}{^^9a}{\'U} % 带有尖音符的拉丁大写字母 U
\DoUTFCombination{00DB}{c3}{^^9b}{\^U} % 带抑扬符的拉丁文大写字母 U
\DoUTFCombination{00DC}{c3}{^^9c}{\"U} % 带分音符的拉丁大写字母 U
\DoUTFCombination{00DD}{c3}{^^9d}{\'Y} % 带尖音符的拉丁大写字母 Y
\DoUTFCombination{00DE}{c3}{^^9e}{\TH} % 拉丁大写字母 THORN
\DoUTFCombination{00DF}{c3}{^^9f}{\ss} % 拉丁小写字母尖音 S
\DoUTFCombination{00E0}{c3}{^^a0}{\`a} % 带重音符号的拉丁文小写字母 A
\DoUTFCombination{00E1}{c3}{^^a1}{\'a} % 带尖音符的拉丁小写字母 A
\DoUTFCombination{00E2}{c3}{^^a2}{\^a} % 带抑扬符的拉丁文小写字母 A
\DoUTFCombination{00E3}{c3}{^^a3}{\~a} % 带波浪号的拉丁小写字母 A
\DoUTFCombination{00E4}{c3}{^^a4}{\"a} % 带分音符的拉丁文小写字母 A
\DoUTFCombination{00E5}{c3}{^^a5}{\aa} % 带上环的拉丁文小写字母 A
\DoUTFCombination{00E6}{c3}{^^a6}{\ae} % 拉丁小写字母 AE
\DoUTFCombination{00E7}{c3}{^^a7}{\c{c}} % 带下划线的拉丁文小写字母 C
\DoUTFCombination{00E8}{c3}{^^a8}{\`e} % 带重音符号的拉丁文小写字母 E
\DoUTFCombination{00E9}{c3}{^^a9}{\'e} % 带有尖音符的拉丁文小写字母 E
\DoUTFCombination{00EA}{c3}{^^aa}{\^e} % 带抑扬符的拉丁文小写字母 E
\DoUTFCombination{00EB}{c3}{^^ab}{\"e} % 带分音符的拉丁文小写字母 E
\DoUTFCombination{00EC}{c3}{^^ac}{\`\i} % 带重音符号的拉丁文小写字母 I
\DoUTFCombination{00ED}{c3}{^^ad}{\'\i} % 带有尖音符的拉丁文小写字母 I
\DoUTFCombination{00EE}{c3}{^^ae}{\^\i} % 带抑扬符的拉丁文小写字母 I
\DoUTFCombination{00EF}{c3}{^^af}{\"\i} % 带分音符的拉丁文小写字母 I
\DoUTFCombination{00F0}{c3}{^^b0}{\dh} % 拉丁小写字母 ETH
\DoUTFCombination{00F1}{c3}{^^b1}{\~n} % 带波浪号的拉丁小写字母 N
\DoUTFCombination{00F2}{c3}{^^b2}{\`o} % 带重音符号的拉丁文小写字母 O
\DoUTFCombination{00F3}{c3}{^^b3}{\'o} % 带有尖音符的拉丁小写字母 O
\DoUTFCombination{00F4}{c3}{^^b4}{\^o} % 带抑扬符的拉丁文小写字母 O
\DoUTFCombination{00F5}{c3}{^^b5}{\~o} % 带波浪号的拉丁小写字母 O
\DoUTFCombination{00F6}{c3}{^^b6}{\"o} % 带分音符的拉丁文小写字母 O
\DoUTFCombination{00F7}{c3}{^^b7}{\tcsym{"F6}} % 除号
\DoUTFCombination{00F8}{c3}{^^b8}{\o} % 带删除线的拉丁文小写字母 O
\DoUTFCombination{00F9}{c3}{^^b9}{\`u} % 带重音符号的拉丁文小写字母 U
\DoUTFCombination{00FA}{c3}{^^ba}{\'u} % 带有尖音符的拉丁文小写字母 U
\DoUTFCombination{00FB}{c3}{^^bb}{\^u} % 带抑扬符的拉丁文小写字母 U
\DoUTFCombination{00FC}{c3}{^^bc}{\"u} % 带分音符的拉丁文小写字母 U
\DoUTFCombination{00FD}{c3}{^^bd}{\'y} % 带尖音符的拉丁文小写字母 Y
\DoUTFCombination{00FE}{c3}{^^be}{\th} % 拉丁小写字母 THORN
\DoUTFCombination{00FF}{c3}{^^bf}{\"y} % 带分音符的拉丁文小写字母 Y

%%%% 省略其他字符

\结束输入

plain-t1.tex

\catcode`@=11

\输入 utfplainmac

\message{正在加载 EC 字体}

\font\tenrm=ecrm1000 % 罗马文字
\font\tctenrm=tcrm1000
% \font\sevenrm=ecrm0700
% \font\fiverm=ecrm0500

\font\tenbf=ecbx1000 % 粗体扩展
\font\tctenbf=tcbx1000
% \font\sevenbf=ecbx0700
% \font\fivebf=ecbx0500

\font\tentt=ectt1000 % 打字机
\font\tctentt=tctt1000

\font\tensl=ecsl1000 % 倾斜罗马字体
\font\tctensl=tcsl1000

\font\tenit=ecti1000 % 文本斜体
\font\tctenit=tcti1000

% \font\tenrm=ptmr8t % 罗马文字
% \font\sevenrm=ptmr8t 位于 7pt
% \font\fiverm=ptmr8t 位于 5pt

% \font\tenbf=ptmb8t % 粗体扩展
% \font\sevenbf=ptmb8t 为 7pt
% \font\fivebf=ptmb8t 位于 5pt

% \font\tentt=pcrr8t % 打字机

% \font\tensl=ptmro8t % 倾斜罗马字体

% \font\tenit=ptmri8t % 文本斜体

% \textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
% \textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
% \textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
% \textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
% \textfont\itfam=\tenit
% \textfont\slfam=\tensl
% \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
% \scriptscriptfont\bffam=\fivebf
% \textfont\ttfam=\tentt

\def\rm{\fam\z@\let\tcfont\tctenrm\tenrm}
\def\it{\fam\itfam\let\tcfont\tctenit\tenit}
\def\sl{\fam\slfam\let\tcfont\tctensl\tensl}
\def\bf{\fam\bffam\let\tcfont\tctenbf\tenbf}
\def\tt{\fam\ttfam\let\tcfont\tctentt\tentt}

% 设置字体
\R M

\catcode`\@=11

% 特殊字符
\chardef\pound="BF
\chardef\IJ="9C
\chardef\ij="BC
\chardef\L="8A
\chardef\l="AA
\chardef\DH="D0
\chardef\dh="F0
\chardef\TH="DE
\chardef\th="FE
\chardef\NG="8D
\chardef\ng="广告
\chardef\AA="C5
\chardef\aa="E5
\chardef\AE="C6
\chardef\ae="E6
\chardef\OE="D7
\chardef\oe="F7
\chardef\O="D8
\chardef\o="F8
\chardef\SS="DF
\chardef\ss="FF
\chardef\i="19
\chardef\j="1A
\让\DJ=\DH
\chardef\dj="9E

\def\@firstoftwo#1#2{#1}
\def\@secondoftwo#1#2{#2}
\def\@ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax
  \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}

%%% \make@ec@accent 是语法糖;例如
%%% \make@ec@accent\x{abc} 相当于
%%%
%%% \def\x#1{\@ifundefined{ec@abc@\detokenize{#1}}
%%% {\csname ec@abc\endcsname{#1}}{\csname ec@abc@#1\endcsname}}}
%%%
%%% 因此,像 \x{y} 这样的调用会查看 \ec@abc@y 是否已定义;如果
%%% 是,则使用它,否则求助于 \ec@abc{y},其中 \ec@abc 是
%%% 通用重音命令。这样,我们可以将 \x{y} 定义为
%%% 打印单个字符,例如用于连字符。
\def\make@ec@accent#1#2{%
  \def#1##1{\@ifundefined{ec@#2@\detokenize{##1}}
    {\csname ec@#2\endcsname{##1}}{\csname ec@#2@##1\endcsname}}}
\make@ec@accent\`{grave}
\make@ec@accent\'{acute}
\make@ec@accent\^{circumflex}
\make@ec@accent\~{波浪符号}
\make@ec@accent\"{dieresis}
\make@ec@accent\H{doubleacute}
\make@ec@accent\r{环}
\make@ec@accent\v{卡龙}
\make@ec@accent\u{短音}
\make@ec@accent\={宏键}
\make@ec@accent\.{dotabove}
\make@ec@accent\c{变音符}
\make@ec@accent\k{ogonek}

%%% 现在我们定义重音符号;例如 \ec@grave 定义为
%%% 在 Plain TeX 中为 \`,重音符号的代码点除外。但是
%%% 我们还定义 \ec@grave@A 来打印一个字符,它将
%%% 然后参与连字和字距调整。所有都一样
%%% 其他字符在 T1 编码字体中可用。在某些情况下
%%% 特殊情况下我们还提供了一些复杂的定义,
%%% 涵盖特殊情况(例如 \c{g},变音符应该放在哪里
%%% 在 g 上)。

% 重音符号
\def\ec@grave#1{{\accent"0 #1}}
\chardef\ec@grave@A="C0
\chardef\ec@grave@a="E0
\chardef\ec@grave@E="C8
\chardef\ec@grave@e="E8
\chardef\ec@grave@I="CC
\chardef\ec@grave@i="EC
\chardef\ec@grave@O="D2
\chardef\ec@grave@o="F2
\chardef\ec@grave@U="D9
\chardef\ec@grave@u="F9

% 尖音符
\def\ec@acute#1{{\accent"1 #1}}
\chardef\ec@acute@A="C1
\chardef\ec@acute@a="E1
\chardef\ec@acute@E="C9
\chardef\ec@acute@e="E9
\chardef\ec@acute@I="CD
\chardef\ec@acute@i="ED
\chardef\ec@acute@C="82
\chardef\ec@acute@c="A2
\chardef\ec@acute@L="88
\chardef\ec@acute@l="A8
\chardef\ec@acute@N="8B
\chardef\ec@acute@n="AB
\chardef\ec@acute@O="D3
\chardef\ec@acute@o="F3
\chardef\ec@acute@R="8F
\chardef\ec@acute@r="AF
\chardef\ec@acute@S="91
\chardef\ec@acute@s="B1
\chardef\ec@acute@U="DA
\chardef\ec@acute@u="FA
\chardef\ec@acute@Z="99
\chardef\ec@acute@z="B9

% 抑扬符
\def\ec@circumflex#1{{\accent"2 #1}}
\chardef\ec@circumflex@A="C2
\chardef\ec@circumflex@a="E2
\chardef\ec@circumflex@E="CA
\chardef\ec@circumflex@e="EA
\chardef\ec@circumflex@I="CE
\chardef\ec@circumflex@i="EE
\chardef\ec@circumflex@O="D4
\chardef\ec@circumflex@o="F4
\chardef\ec@circumflex@U="DB
\chardef\ec@circumflex@u="FB

% 波浪符号
\def\ec@tilde#1{{\accent"3 #1}}
\chardef\ec@tilde@A="C3
\chardef\ec@tilde@a="E3
\chardef\ec@tilde@N="D1
\chardef\ec@tilde@n="F1
\chardef\ec@tilde@O="D5
\chardef\ec@tilde@o="F5

% 分音符
\def\ec@dieresis#1{{\accent"4 #1}}
\chardef\ec@dieresis@A="C4
\chardef\ec@dieresis@a="E4
\chardef\ec@dieresis@E="CB
\chardef\ec@dieresis@e="EB
\chardef\ec@dieresis@I="CF
\chardef\ec@dieresis@i="EF
\chardef\ec@dieresis@O="D6
\chardef\ec@dieresis@o="F6
\chardef\ec@dieresis@U="DC
\chardef\ec@dieresis@u="FC
\chardef\ec@dieresis@Y="98
\chardef\ec@dieresis@y="A8

% 双尖音符(匈牙利语变音符号)
\def\ec@doubleacute#1{{\accent"5 #1}}
\chardef\ec@doubleacute@O="8E
\chardef\ec@doubleacute@o="AE
\chardef\ec@doubleacute@U="97
\chardef\ec@doubleacute@u="B7

% 戒指
\def\ec@ring#1{{\accent"6 #1}}
%\chardef\ec@ring@A="C5
%\chardef\ec@ring@a="E5
\chardef\ec@ring@U="97
\chardef\ec@ring@u="B7

% 卡隆
\def\ec@caron#1{{\accent"7 #1}}
\chardef\ec@caron@C="83
\chardef\ec@caron@c="A3
\chardef\ec@caron@D="84
\chardef\ec@caron@d="A4
\chardef\ec@caron@E="85
\chardef\ec@caron@e="A5
\chardef\ec@caron@L="89
\chardef\ec@caron@l="A9
\chardef\ec@caron@N="8C
\chardef\ec@caron@n="AC
\chardef\ec@caron@R="90
\chardef\ec@caron@r="B0
\chardef\ec@caron@S="92
\chardef\ec@caron@s="B2
\chardef\ec@caron@T="94
\chardef\ec@caron@t="B4
\chardef\ec@caron@Z="9A
\chardef\ec@caron@z="BA

% 短音
\def\ec@breve#1{{\accent"8 #1}}
\chardef\ec@breve@G="87
\chardef\ec@breve@g="A7

% 长音符
\def\ec@macron#1{{\accent"9 #1}}

% 点以上
\def\ec@dotabove#1{{\accent"A #1}}
\chardef\ec@dotabove@Z="9B
\chardef\ec@dotabove@z="BB

% 变音符
\def\ec@cedilla#1{{\setbox\z@\hbox{#1}\ifdim\ht\z@=1ex\accent"0B #1%
  \else\ooalign{\unhbox\z@\crcr\hidewidth\char"0B\hidewidth}\fi}}
\chardef\ec@cedilla@C="C7
\chardef\ec@cedilla@c="E7
\chardef\ec@cedilla@S="93
\chardef\ec@cedilla@s="B3
\chardef\ec@cedilla@T="95
\chardef\ec@cedilla@t="B5
\def\ec@cedilla@g{\accent`\`g}

% 奥戈内克
\def\ec@ogonek#1{{\ooalign{\null#1\crcr\hidewidth\char"0C\hidewidth}}}
\chardef\ec@ogonek@A="81
\chardef\ec@ogonek@a="A1
\chardef\ec@ogonek@E="86
\chardef\ec@ogonek@e="A6
%%% 小写 u 是特殊
\def\ec@ogonek@u{{\ooalign{\null u\crcr\hidewidth\char"0C}}}

% 低于
\def\b#1{{\o@lign{\relax#1\crcr\hidewidth\sh@ft{-3ex}%
  \vbox 至.2ex{\hbox{\char"09}\vss}\hidewidth}}}

%%% 特殊用途的宏
% 加泰罗尼亚点
\def\c@talandot#1{\kern#1em\llap{$\m@th\cdot$}\kern-#1em}
\def\Lmiddledot{L\c@talandot{-.1}}
\def\lmiddledot{l\c@talandot{.15}}

\catcode`@=12

\结束输入

test.tex

%-*- 编码:utf-8-*-
\输入 plain-t1

这里有一些字符:$\alpha \Gamma$ æ Æ \'x

Ǎ Ǹ ă ā ē ü ł Ł ý ß Ş Ģ \c{g} ø ǽ Ǽ Ů ů ¡ ¿ ę Ą Ǫ ǫ Ų ų Į į

ĿL Ŀl ŀl

捷克克鲁姆洛夫(捷克语:Ceský Krumlov,发音:[dɛənə ],发音:[dɛənə ])
距离 Jihočeském kraji 25 公里的捷克
布杰约维奇。 Rozkládá se pod hřebenem Blanského lesa a protéká jím řeka
伏尔塔瓦河。您可前往 Jižních Čech 的旅游中心。
中央火车站,是一座巨大的建筑,周围是绿色的草地,是四面八方
1963 年,梅斯库·帕马特科维奇和 1992 年的罗库·巴伯拉被解雇
联合国教科文组织的权威见证。 V roce 2003 bylo městskou
帕马特科沃 区 上部 普莱希韦茨 (地区)
凱德拉)。

捷克克鲁姆洛夫是一座共和国之城,被列入联合国教科文组织世界遗产名录
人类遗产。看到在 Boêmia do Sul (região),是
罗森堡地区的首都,更富有影响力
做国家。城市的建设和城堡的建立
十三. 2005 年城镇人口为 13942 人,每个地区
占地 22 平方公里。

捷克克鲁姆洛夫(人口 13,942)是波米亚南部的一座城市,
在 Repubblica Ceca,对建筑的丰富知识
历史中心和城堡。了解克鲁玛酒的品质
第二次世界大战当好战分子冒充
德国语言。捷克克鲁姆洛夫的字母含义为“克鲁姆洛夫
Ceca(Boema)'';事实上还有一个摩拉维亚。

\使用Unicode字符{00C8}

\再见

省略的列表(此处的消息限制为 30000 个字符)不会导致测试示例出错。

test.tex用编译pdftex

我还有一个plain-cmu.tex设置字体以使用 CMUnicode OpenType 字体的文件。

在此处输入图片描述

希望这有用。

答案2

为了进行比较,这里有一个使用 XeTeX 的示例:

\font\bodyfont="Baskerville" % or whatever you have
\bodyfont

La vérité vaut bien qu'on passe quelques années sans la trouver.

\bye

相关内容