将 Babel 与 LuaLaTeX 结合使用时的警告

将 Babel 与 LuaLaTeX 结合使用时的警告

最近我开始在 pdfLaTeX 上使用 LuaLaTeX,到目前为止没有遇到任何实际问题。

在开展一个项目时,我注意到一些警告信息,但在咨询了 Google 和 TeXExchange 后,我仍无法解读它们:

LaTeX Warning: Please use \usepackage{t1enc} with
           \usepackage[magyar]{babel}, to get accented chars hyphenated.


LaTeX Warning: Please use \usepackage[latin2]{inputenc}
           or \usepackage[utf8]{inputenc}
           with \usepackage[magyar]{babel}.

目前,我正在用英语撰写文档,其中混杂了一些匈牙利语(我的大学要求论文中有匈牙利语声明)。我使用\usepackage[magyar,english]{babel}匈牙利语和英语同时加载,但默认使用英语,然后我otherlanguage在需要时使用环境切换到匈牙利语,如下所示:

... english text ...
\begin{otherlanguage}{magyar}
    ... hungarian text ...
\end{otherlanguage}
... english text ...

这个警告确实是一个警告,因为连字符似乎可以正常工作。 知道是什么导致了这个警告吗?我一直在考虑奇怪的包加载顺序问题,但尝试不同的排列并没有摆脱这个警告。

产生此错误的示例文档:

\documentclass[12pt,a4paper]{report}
\usepackage{fontspec}
\usepackage[magyar,english]{babel}

\begin{document}
This is such a nice document.
\end{document}

我使用 来编译它latexmk -lualatex <file.tex>

答案1

您可以使用它来抑制警告:

\documentclass[12pt,a4paper]{report}
\usepackage{fontspec}
\def\magyarOptions{suggestions=no}
\usepackage[magyar,english]{babel}

\begin{document}
This is such a nice document.
\end{document}

magyar.ldf 相当长,包含许多改编和补丁(通常是可选的)。显然它还没有适应 lualatex/xelatex。字体编码似乎适用于这些引擎,但不能保证没有某处代码隐式假设 8 位引擎。所以检查输出。

答案2

这些警告由匈牙利语如果是无害的路拉泰克斯字体规格.sty被使用。直到匈牙利语可以更聪明地忽略这些警告,您可以使用uni8.sty,这将加载t1enc.styfontenc.sty输入框鲁阿输入法字体规格.sty巴别塔和连字符模式正确(并抑制发出的无用警告匈牙利语)。 例子:

\documentclass[12pt,a4paper]{report}
\PassOptionsToPackage{english,magyar}{babel}
\usepackage[fontspec]{uni8}
\begin{document}
This is such a nice document.
\end{document}

不幸的是,正确加载上述软件包(以便字符和连字符都正确)路拉泰克斯非常棘手,如果字体规格.sty未使用。uni8.sty也能正确执行。

相关内容