在嘗試在 LaTeX 文件中使用韓文字體一天之後,我向此論壇尋求一些有用的見解。
我正在使用 MiKTeX 2.9(幾天前剛從 2.7 升級)。到目前為止,我已經能夠毫無問題地使用英文乳膠了。我使用 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
package時,你必須指定輸入編碼和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 發行版,預先安裝了更多韓文字體,並且有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 字型資料夾中)。