请使用 latin2 或 utf8 (inputenc) 并注意 magyar babel 警告

请使用 latin2 或 utf8 (inputenc) 并注意 magyar babel 警告

这是一个最小的可重现示例:

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[magyar]{babel}
\begin{document}
Árvíztűrő tükörfúrógép.
\end{document}

编译此结果会产生Please use \usepackage[latin2]{inputenc} or \usepackage[utf8]{inputenc} with \usepackage[magyar]{babel}警告。

一个先前的问题解决了这个问题,但我仍然收到这个警告,尽管我magyar.ldf的 texmf 树(1.5c)是最新的,并且我已经确认它包含那里提到的错误修复(\def\magyar@sugg@ie@low#1\@inpenc@undefined@#2#3\vfuzz#4{%)。

答案1

最新的匈牙利语(截至本周)CTAN 上不再显示此警告。

我可以确认,\usepackage[utf8]{inputenc}在新版本的 latex、pdflatex 和 lualatex 中,这是一个无害的无操作。(我刚刚在 Linux 上使用 TeX Live 2018 尝试过。)

\usepackage[utf8]{inputenc}在旧版本的 latex 和 pdflatex 中有所不同:没有它,非 ASCII 字母就不会显示。(这发生在 TeX Live 2016 中,可能也发生在 TeX Live 2017 中。)

我的建议是继续使用\usepackage[utf8]{inputenc}以兼容旧版本的 latex 和 pdflatex。

答案2

从 2018-04-01 版本开始,LaTeX 直接支持 UTF-8,因此该指令\usepackage[utf8]{inputenc}除了加载 之外不执行任何操作inputenc。特别是,utf8.def没有加载,这使得magyar.ldf不存在对 UTF-8 的支持。

的维护者应该解决这个问题magyar.ldf

与此同时,你可以避免虚假警告:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc} % not needed with LaTeX 2018-04-01 or later

\def\magyarOptions{defaults=hu-min,suggestions=no}
\usepackage[magyar]{babel}

\begin{document}

Árvíztűrő tükörfúrógép.

\end{document}

不同的策略是保留与之前相同的设置,但在开始时添加一个命令。

\UseRawInputEncoding
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\def\magyarOptions{defaults=hu-min}
\usepackage[magyar]{babel}

\begin{document}

Árvíztűrő tükörfúrógép.

\end{document}

\magyarOptions文件注释中建议设置为magyar.ldf

答案3

使用\usepackage[latin2,utf8]{inputenc},一切都会很好。

相关内容