我正在尝试对匈牙利语文档进行 TeX 处理,其中包括ű字符。如您所见,我使用的是 UTF-8 编码lmodern
,但双重音符号 u 没有显示:
\documentclass{article}
\usepackage[magyar]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
ű
\end{document}
我错过了什么?
答案1
添加 fontspec 看起来就足够了,但如果仍然不起作用,那么您也可以尝试手动添加缺失的字符。
(请注意,在 MacTeX 上,我必须在 babel 设置中使用hungarian
而不是magyar
,因为只支持前者)
\documentclass{article}
\usepackage{fontspec, newunicodechar}
\usepackage[hungarian]{babel}
\usepackage{lmodern}
\newunicodechar{ű}{\H{u}}
\newunicodechar{ő}{\H{o}}
\begin{document}
árvíztűrő tükörfúrógép
ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
\end{document}
但仍然会显示一些 LaTeX 警告:
LaTeX Warning: Please use \usepackage{t1enc} with
\usepackage[hungarian]{babel}, to get accented chars hyphenated.
LaTeX Warning: Please use \usepackage[latin2]{inputenc} with
\usepackage[hungarian]{babel}.
但输出是没问题的:
答案2
再次查看日志我注意到一个警告:
Package inputenc Warning: inputenc package ignored with utf8 based engines.
我正在使用lualatex
总是使用UTF8因此 inputenc 已过时。解决方案正如 David 在评论中提到的那样:
\documentclass{article}
\usepackage[magyar]{babel}
\usepackage{fontspec}
\begin{document}
ű
\end{document}
否则,您也可以将编译器从 更改lualtex
为pdflatex
并使用问题中给出的输入。