MiKTeX 2.9 CJK 韓文字體找不到錯誤

MiKTeX 2.9 CJK 韓文字體找不到錯誤

在嘗試在 LaTeX 文件中使用韓文字體一天之後,我向此論壇尋求一些有用的見解。

我正在使用 MiKTeX 2.9(幾天前剛從 2.7 升級)。到目前為止,我已經能夠毫無問題地使用英文乳膠了。我使用 MiKTeX 套件管理器(管理員)並安裝了cjkcjk-fontscjkpunct並且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

問題的關鍵是,當你使用CJKpackage時,你必須指定輸入編碼和CJK字體家族,要么使用CJK環境,要么使用\CJKencoding,\CJKfamily命令;並且您必須確保已安裝字型。 (CJK 字體並不總是完全安裝。)

不同的 TeX 發行版安裝了不同的 CJK 字體。

在MiKTeX(如您使用的)中,cjk-fonts打包myoungjoType1字體,但似乎沒有.tfm檔案和LaTeX字體定義(.fd)檔案來支援這些檔案。抱歉,如果不修改文件,我無法製作任何工作範例。

在 TeX Live 中,安裝了 UTF-8 編碼和uhc字型套件後,只有mj韓文可用的字型系列。 (而gbsngbsn表示​​中文,bsmibkai表示日文。)

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 發行版,預先安裝了更多韓文字體,並且有HLaTeX。 (我們中國人也這麼做。)你可能會考慮安裝這些 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,可以在韓國TUG,但我對此一無所知。

答案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 字型資料夾中)。

相關內容