这是一个最小的可重现示例:
\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}
,一切都会很好。