2019/05 현재 MiKTeX에서 한글 문서는 자연스럽게 작성할 수 있다. 다만 pdflatex 사용시 type1 폰트를 수동 등록해야 하는 문제가 있으므로 이에 대해서는 아래 관련 절 참조.
2013/11/01, MiKTeX에 kotex-utf, kotex-plain, kotex-oblivoir가 패키징됨으로써, ko.TeX 군 중에서 kotex-utils를 제외하고 모두 사용가능해졌다. MiKTeX에서 LaTeX 한글 타이프세트 지원은 다음과 같다.
- pdftex, e-tex 엔진
- kotex-utf (UTF-8)
- cjk-ko (UTF-8)
- xetex 엔진
- xetexko
- luatex 엔진
- luatexko
- luatexko
- MiKTeX 설치 후 Update를 반드시 실행해야 한다. 특히 fontspec은 반드시 업데이트해야 함.
1. MiKTeX 2.9에서 ko. TeX 사용하기 (xetex/lualatex) ¶
xelatex/lualatex 한글 문서를 즉시 작성할 수 있다.
%!TEX encoding = utf-8 \documentclass{article} \usepackage{xetexko} \begin{document} 한글 테스트. 안녕. \end{document}
2.1. 한글 TYPE1 폰트 ¶
2019년 5월 현재, nanumtype1과 uhc type1 폰트 패키지는 자동설치되지만 updmap 등록이 자동으로 이루어지지 않는다.
nanumtype1과 uhc는 원래 자동 설치되어야 하는 것인데 버전에 따라 되기도 하고 안 되기도 한다. 따라서 설치 직후에 (아직 아무런 문서를 작성하지 않았다 해도) MiKTeX Console의 Package Manager에서 검색하여 설치하는 것이 좋다.
다음 절차는 수동으로 진행하여야 한다.
- 패키지가 설치된 후에 명령행(cmd 또는 MiKTeX command line)을 열어서 다음 명령을 써넣는다.
> initexmf --edit-config-file updmap
- 노트패드가 열리면 다음 내용을 써넣고 저장한다.
Map nanumtype1.map Map uhc.map
- 명령행에서 다음 명령을 실행한다.
> updmap
3.2. LuaTeX 사용시의 주의사항 ¶
- luaotfload 실행을 방해하는 폰트가 C:\Windows\Fonts에 있을 경우 luatex이 실행되지 않는 경우가 있다. LuaLaTeX의 trouble shooting을 참조한다.
4. 기타 ¶
- MiKTeX 2.9 (Windows 7)에서 파일 이름을 띄어쓰기가 포함된 한글 이름으로 지을 수 있다.
- 단, 한글 파일 이름은 pdflatex으로 컴파일하는 경우만 사용할 수 있다. xelatex, lualatex의 경우는 한글 파일 이름을 쓸 수 없다.
- TeXworks에서는 이렇게 한글 파일 이름을 쓰면 inverse search가 동작하지 않는다. 그 이외에 컴파일 등에는 아무런 문제가 없다.
- TeXnicCenter 2.02를 편집기로, SumatraPDF를 pdf 뷰어로 사용하는 경우, 한글 파일 이름, 심지어 파일 이름에 띄어쓰기 공백문자가 포함된 경우에도 forward/inverse search가 잘 작동하였다.
- WinEdt에서는 확인바람.
5.1. 한글 Windows의 cmd에서 xelatex 컴파일 실패 현상 ¶
- MiKTeX 2.9.7140에서도 동일한 문제가 있다.
- 증상: 한글 Windows의 powershell 또는 cmd 상에서 MiKTeX의 xelatex을 실행했을 때, 문서의 크기가 크고 한자 또는 특수문자가 포함된 파일(UTF-8 인코딩)을 컴파일하는 과정에서 이해할 수 없는 메시지를 보이면서 죽는다. 로그 파일을 보면 "No space left on device"라고 되어 있다.
- [PNG image (11.18 KB)]
- 원인은 알 수 없으며 miktex 커뮤니티에 유사한 사례가 보고되고 있으나 miktex 제작자/관리자가 이 현상을 재현할 수 없어서 무대책인 상태이다.
- TeXworks 내부에서 컴파일하면 이런 일이 벌어지지 않는 경우가 많다. 그러나 cmd 또는 powershell을 통하여 컴파일하는 다른 에디터의 경우에는 같은 일이 벌어질 수 있을 것이다.
- 현재로서 해결책은 TeXworks 내부에서만 컴파일하거나, cmd 또는 powershell의 codepage를 cp949가 아닌 다른 페이지, 이를테면 65001로 바꾸는 것이다. 즉 xelatex을 실행하기 전에
chcp 65001
을 한 번 실행해둔다. 대부분의 경우에 에러없이 컴파일이 될 것이다. - 아마도 MiKTeX의 xelatex이 UTF-8 유니코드 문자를 cp949 셸 상에서 처리하는 데 뭔가 문제가 있는 모양이지만... MiKTeX이 이를 수정하기를 기다리기는 요원해보인다.
- 이 현상은 Mac용 MiKTeX, 리눅스용 MiKTeX에서는 발생하지 않으며 오직 Windows에서만 볼 수 있다.
- TeXLive에서는 이런 일이 없다.
이 아래는 예전 정보들이다.
5.2. 기타 ¶
- nanumtype1과 hfontspec.default를 수동설치해야 하는 상황
- pdfLaTeX으로 컴파일하는 파일에 BOM이 있으면 안 된다. XeLaTeX의 경우에는 있든 없든 상관없다. BOM 붙은 UTF-8 파일에서 BOM을 제거하는 가장 손쉬운 방법은, TeXworks 에디터에서 매직 코멘트를 다음과 같이 달고 그냥 저장하는 것이다.
%!TEX encoding = UTF-8 Unicode %!TEX program = pdflatex
6. 참고: MiKTeX 업데이트 ¶
MiKTeX 2.9.4987 이후 버전이면 한글 사용이 가능하다. 그 이전 버전으로 설치하였다면 다음과 같이 MiKTeX을 업데이트한다.
- 시작 메뉴에서
모든 프로그램 -> MiKTeX 2.9 -> Maintenance (Admin) -> Update (Admin)
- http://ftp.ktug.org 를 저장소로 선택하고 진행한다.
- 업데이트는 두 단계로 진행되므로 위의 프로그램을 두 번 실행해야 한다.
- 먼저 MiKTeX 자체를 업데이트한다.
- MiKTeX 업데이트가 끝난 뒤에 같은 방법으로 다시 실행하면 현재 설치된 패키지를 최신 버전으로 갱신하는 업데이트가 진행된다.
- 시작 메뉴에서
모든 프로그램 -> MiKTeX 2.9 -> Maintenance (Admin) -> Package Manager (Admin)
을 실행하여 패키지매니저를 연다. - 메뉴의 "Repository" 아래 "Change Package Repository"를 선택하여 Korea, KTUG으로 저장소 위치를 맞추면 패키지 리스트가 갱신된다.
- [PNG image (29.3 KB)]
- [PNG image (35.96 KB)]