LuaTeX 西里尔字母连字问题

LuaTeX 西里尔字母连字问题

我正在尝试在 MiKTeX 2.9 中使用 LuaTeX (LuaLaTeX),但无法加载西里尔字母连字模式。我对 LuaTeX 还不太熟悉,所以也许它在连字和语言支持方面有什么特别之处?

这是我的示例文档:

\documentclass{article}

\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\usepackage[russian]{babel}

\setmainfont{Charis SIL}

\title{Заголовок}
\author{Автор}
\date{}

\begin{document}

\maketitle

\begin{abstract}
Цель работы: проверить \LuaTeX.
\end{abstract}

Проверка. Очень длинная строка для проверки переносов: дезоксирибонуклеиновый тест.

\end{document}

在此示例中,我没有得到连字符,并且水平盒子溢出。相同的文本在 XeTeX 和 pdfTeX 中可以很好地进行连字符连接。

答案1

我刚刚意识到,不连字符可能是由于字符代码造成的。texlive 的最新 luatex 有一个文件luatex-unicode-字母.tex它设置了非拉丁字母的小写代码,但 miktex 中可能还没有这个。我在上面链接下放了该文件的副本,你可以试试\input那个文件,也许它能解决问题。

答案2

对 Tacos 答案的补充评论。要将 luatex-unicode-letters.tex 添加到您的 lualatex 格式:将 luatex-unicode-letters.tex 保存在“本地根”/tex/generic/luatexconfig 中。将以下代码放入文件 lualatex.ini 中并将其保存在“本地根”/tex/latex/latexconfig 中。更新 FNDB,然后重新生成 lualatex 格式。

编辑:这里是我提到的 lualatex.ini 的代码:

 % $Id$
 % Karl Berry, originally written 2008. public domain.

 % must be done first (activation of primitives)
 \input lualatexiniconfig.tex

 \input luatex-unicode-letters.tex
 \input pdftexconfig.tex
 % pdf output by default.
 \scrollmode
 \let\dump\relax
 \input latex.ltx
 \input lualatexquotejobname.tex
 \pdfprimitive\dump

答案3

MiKTeX 有一个特殊的程序来重建格式文件。如果lualatex.fmt您需要:

  1. 运行initexmf --admin --edit-config-file lualatex(如果您的机器上为所有用户安装了 MiKTeX,否则删除该--admin选项)以编辑本地,lualatex.ini如 @Ulrike 的回答中所示。这通常会lualatex.ini在文件夹C:\ProgramData\MiKTeX\2.9\miktex\config和处创建(它们是彼此的别名并且也是隐藏的)。在等处C:\Users\All Users\MiKTeX\2.9\miktex\config\ 也可以存在别名C:\Documents and Settings\All Users\MiKTeX\2.9\miktex\config
  2. 放入(也用于生成)luatex-unicode-letters.tex所在的C:\Users\All Users\MiKTeX\2.9\tex\generic\config\位置。pdftexconfig.texlualatex.fmt
  3. 重建lualatex格式。这将lualatex.fmt在 中创建C:\Users\All Users\MiKTeX\2.9\miktex\data\le\luatex\
  4. 不幸的是,这还不是全部。MiKTeX 2.9 似乎忽略了lualatex.ini上述步骤中创建的本地文件 [bug 还是feature?]。因此,您实际上需要编辑lualatex.ini位于 的main 文件C:\Program Files\MiKTeX 2.9\tex\latex\latexconfig

完成所有步骤 1 至 4 后,我已成功默认激活俄语连字功能。

相关内容