После целого дня попыток использовать корейские шрифты в моем файле LaTeX я обратился к этому форуму за полезной информацией.
Я использую MiKTeX 2.9 (только что обновился с 2.7 несколько дней назад). До сих пор я мог использовать английский latex без проблем. Я использовал MiKTeX Package Manager (Admin) и установил cjk
, cjk-fonts
, cjkpunct
и miktex-cjkutils-bin-2.9
я использовал Options (Admin) для обновления FNDB и обновления форматов. Я прочитал файл документации CJK по адресуhttp://www.inf.ed.ac.uk/systems/tex/CJK/CJK.txtи искал в сети полезные примеры. Насколько я могу судить, у меня правильная установка и использование. Однако я не могу получить вывод.
Я сделал две вещи.
1) Следующая ошибка получена из исходного файла латекса miminmal: корейский язык был введен с клавиатуры через редактор 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
environment, либо \CJKencoding
команду \CJKfamily
, а также убедиться, что шрифты установлены. (Шрифты CJK не всегда устанавливаются полностью.)
В разных дистрибутивах TeX установлены разные шрифты CJK.
В MiKTeX (как вы используете) cjk-fonts
упакуйте myoungjo
шрифты Type1, но, похоже, нет .tfm
файлов и файлов определения шрифтов LaTeX ( .fd
) для поддержки этих файлов. Я не могу сделать ни одного рабочего примера без изменения файлов, извините.
В TeX Live с uhc
установленной кодировкой UTF-8 и пакетом шрифтов для корейского языка доступно только 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
, доступный наКТУГ, но я ничего об этом не знаю.
решение2
Чтобы пометить код, выберите его и нажмите на иконку с двумя скобками. Или просто добавьте четыре пробела перед каждой строкой. Но если - как в вашем случае - кодировка имеет значение, лучше поместить тестовый файл в zip-папку и куда-нибудь для скачивания, так как копирование и вставка могут легко изменить кодировку.
Я не очень разбираюсь в шрифтах cjk (для получения более подробной информации вам следует прочитать ответы Лео Лю).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).