告诉 XeTeX(而不是 XeLaTeX)使用带有西里尔字母的字体并应用俄语连字规则的最简单的方法是什么?
理想情况下,我不想在源文件中指定任何内容,而是获取新命令rxetex
并ramsxetex
用俄语编译源代码。
答案1
将预加载的 cm 文本字体替换为支持 Unicode 的字体,并在文档中使用它们。假设您已安装可运行的 XeTeX,请尝试以下操作:
将 cm-unicode 字体集的 OTF 版本安装到您的系统中。您可以从以下位置下载它们加拿大运输安全局。
fc-cache
在终端上运行以更新字体数据库缓存。将以下代码复制到 中
cmunfonts.tex
,并将此文件输入到文档的开头。
\message{cm unicode fonts!}
\font\tenrm="[cmunrm]" at 10 pt% roman text
\font\sevenrm="[cmunrm]" at 7pt
\font\fiverm="[cmunrm]" at 5pt
\font\tenbf="[cmunbx]" at 10pt % boldface extended
\font\sevenbf="[cmunbx]" at 7pt
\font\fivebf="[cmunbx]" at 5pt
\font\tentt="[cmunbtl]" at 10pt % typewriter
\font\tensl="[cmunsl]" at 10pt % slanted roman
\font\tenit="[cmunti]" at 10pt % text italic
\endinput
现在尝试一下xetex yourfile
,看看是否有效。
一般来说,您需要在输入文件的所有字体定义中用 unicode 文本字体替换默认的 7bit cm 文本字体。
现在,要使用俄语连字符,您需要使用与 plain.fmt 不同的格式:这是无法触及的。我建议您安装亚普兰, 这俄罗斯装载机,以及连字模式(从hyph-utf8
包裹) 来自 CTAN;检查 hyplain 的文档(有两页),并在文件的适当位置hylang.tex
添加俄语,如下所示:
\input unicode-letters
\definelanguage{ru}{RU}{loadhyph-ru}
\refinelanguage{ru}{RU}{\hyphenmins{2}{2}\frenchspacing}{\nonfrenchspacing}
\addalias\russ{ru}{RU}
使格式运行xetex -ini *hyplain
并调用xetex ^&hyplain yourfile
,它将使用西里尔字母和俄语连字符进行编译。
然后,您可以创建一个批处理文件或 bash 脚本,以在提示符中rxetex
包含运行启用俄语的 xetex 的行。xetex ^&hyplain %1 %2 %3 %4 %5 %6
很抱歉,但我看不出您有任何办法可以绕过学习如何制作格式的过程。