在我的 LaTeX 文件中尝试使用韩文字体一天之后,我向这个论坛寻求一些有用的见解。
我正在使用 MiKTeX 2.9(几天前刚从 2.7 升级)。到目前为止,我能够毫无问题地使用英语 latex。我使用 MiKTeX 包管理器(管理员)并安装了cjk
、cjk-fonts
,cjkpunct
并miktex-cjkutils-bin-2.9
使用选项(管理员)刷新 FNDB 和更新格式。我已阅读 CJK 文档文件http://www.inf.ed.ac.uk/systems/tex/CJK/CJK.txt并在网上搜索了有用的示例。据我所知,我的安装和使用都是正确的。但是,我无法获得输出。
我做了两件事。
1)从miminmal latex源文件中得到以下错误:韩语是通过vim编辑器(我也使用了记事本)通过键盘输入的。
Running miktex-makemf.exe... miktex-makemf: The kmj source file could not be found Running hbf2gf.exe Couldn't find 'kmg.cfg' miktex-maketfm: No creation rule for font kmj15 ! Font C61/mj/m/n/10/15=kmg15 at 10.0pt not loadable: Metric (TFM) file not found
\documentclass{article}
\usepackage{CJK}
\begin{document}
The following should be in Korean
\begin{CJK}{KS}{}
안녕하세요
\end{CJK}
The previous should be in Korean
\end{document}
2) 我更改了以下内容\begin{CJK}{UTF8}{}
,并通过命令将 vim 的编码更改为 utf-8 :set encoding=utf-8
。我收到了不同的错误。我对 dvi 进行了干净的编译。但是,dvips 抱怨缺少字体(yap 也尝试构建这些缺少的字体)。
Trying to make PK font cyberbc5 at 600 DPI... Running miktex-makemf.exe... miktex-makemf: The cyberbc source file could not be found
答案1
问题的关键在于,当您使用CJK
包时,您必须指定输入编码和 CJK 字体系列,无论是使用CJK
环境还是使用\CJKencoding
命令\CJKfamily
;并且您必须确保已安装字体。(CJK 字体并不总是完全安装的。)
不同的 TeX 发行版安装了不同的 CJK 字体。
在 MiKTeX(如您使用)中,cjk-fonts
打包myoungjo
Type1 字体,但似乎没有.tfm
文件和 LaTeX 字体定义(.fd
)文件来支持这些文件。抱歉,如果不修改文件,我无法制作任何工作示例。
在 TeX Live 中,安装了 UTF-8 编码和uhc
字体包后,只有mj
韩文可用的字体系列。(而gbsn
适用gbsn
于中文bsmi
,bkai
适用于日文。)
UTF8
这是一个使用输入编码的示例(与KS
您使用的不同):
% UTF-8 encoding, compile with pdflatex / latex+dvips / latex+dvipdfmx, TeX Live 2012
\documentclass{article}
\usepackage{CJK}
\begin{document}
The following should be in Korean
\begin{CJK}{UTF8}{mj}
안녕하세요
\end{CJK}
The previous should be in Korean
\end{document}
如果您使用KS
输入编码(标准 KS X 1001:1992、KS C 5601-1992,请参阅文档CJK.txt
),则有更多字体可用,但您可能必须安装hlatex 字体手动打包。对于大多数用户来说,这是一个高级话题,这里我就不做过多解释了。
关于该软件包和其他支持 CJK 脚本的软件包的英文文档很少CJK
,但您可以访问中国、日本或韩国的 TeX 群组/论坛/网站以获取更多信息。
我是中国人,因此我对 LaTeX 中原生韩文字体的支持了解甚少。也许你可以搜索 HLaTeX。我知道韩语 TeX 用户组(KTUG)有自己修改过的 TeX Live 发行版,预装了更多韩文字体,并且乳胶漆。(我们中国人也这么做。)您可能会考虑安装这些 TeX 发行版。
另外,您可以考虑将 XeLaTeX 与我们的xeCJK
软件包一起使用。例如:
% UTF-8 encoding, compile with xelatex, TeX Live 2012
\documentclass{article}
\usepackage[space]{xeCJK} % space option is useful for Korean
\setCJKmainfont{Batang} % a Windows font
\begin{document}
The following should be in Korean
안녕하세요
The previous should be in Korean
\end{document}
注:xeCJK
最初是为中文设计的,但也支持日语和韩语(我们希望它会更好)。确实有一个韩文原生的 XeTeX 包xetexko
,可在韩国铁路运输协会,但我对此一无所知。
答案2
要标记代码,请选择它,然后单击带有两个括号的图标。或者只需在每行前添加四个空格。但如果 - 就像您的情况一样 - 编码很重要,最好将测试文件放在 zip 文件夹中并放在某个可下载的地方,因为复制和粘贴很容易更改编码。
我不太了解 cjk-fonts(你应该阅读 Leo Liu 的回答以获得更多见解https://tex.stackexchange.com/users/2674/leo-liu)但是当我使用 pdflatex 进行编译时,这对我有用(该文件是 utf8 编码的):
\documentclass{article}
\pdfmapline{+cyberb@Unicode@ <cyberbit.ttf}
\usepackage{CJK}
\begin{document} The following should be in Korean
\begin{CJK}{UTF8}{} 안녕하세요 \end{CJK}
\end{document}
您必须有cyberbit.ttf
(就我而言,它安装在我的标准 Windows 字体文件夹中)。