我正在用英文写一篇文章,但我应该在句子中添加一些韩语符号。例如,아스트로。Latex 返回错误:
package inputenc error: unicode character 아스트로
我该如何修复这个问题?
答案1
为了完整起见,下面以babel
刚刚发布的 3.38为例luatex
。请注意,无需标记韩文文本,因为babel
字体和换行规则会自动切换。
\documentclass{report}
\usepackage[english]{babel}
\babelprovide[import, onchar=ids fonts]{korean}
\babelfont[korean]{rm}{Batang}
\babelfont[korean]{sf}{Dotum}
\begin{document}
Some English text around this 아스트로 Korean text.
\sffamily
Some English text around this 아스트로 Korean text.
\end{document}
答案2
为了省去一些麻烦,请使用正确支持 Unicode 字符的引擎,而不是依赖旧的/未维护的软件包。然后,您只需要使用支持 Hangul(韩文字符)的字体。
这是一个与 Lua(La)Tex 配合使用的示例,假设您有可用的字体和包:
\documentclass{report}
\usepackage{fontspec}
\newfontfamily\kfont{Dotum}
\begin{document}
Some English text around this {\kfont 아스트로} Korean text.
\end{document}
但是,如果您确实使用了大量韩语文本,那么实际上调用像polyglossia
或babel
(或一些维护的韩语包)这样的包可能是一个更好的主意。
答案3
下面是使用 的 MWE。Babelpolyglossia
也可以工作:
\documentclass{report}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{korean}
\defaultfontfeatures{Scale = MatchUppercase}
\newfontfamily\koreanfont{Noto Serif CJK KR}[Script = Hangul, Language = Korean]
\newfontfamily\koreanfontsf{Noto Sans CJK KR}[Script = Hangul, Language = Korean]
\begin{document}
Some English text around this \textkorean{아스트로} Korean text.
\end{document}
通常需要设置Script=
和Scale=
选项才能获得正确的输出。 Language=
这里可能没有必要:不同语言的韩语变体并不相同。
答案4
也许你应该简单地将文件保存为 UTF8 格式,如下所示:
\usepackage[utf8]{inputenc}
并且它应该可以正常工作。