最近我开始在 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.sty,fontenc.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也能正确执行。