EDRSPIHCRSSRSS

Hangul And MiKTeX

Difference between r1.31 and the current

@@ -1,88 +1,50 @@
#keywords kotex,miktex,한글,ko.TeX,윈도우,설치 
[[TableOfContents]]
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
#keywords kotex,miktex,한글,ko.TeX,윈도우,설치,KTUG설저장소

이밖에 CJK 패키지가 한글을 지원하고 있지만 cjk-ko가 어차피 CJK 패키지를 이용하는 것이므로 여기에서는 논외로 한다.
* '''MiKTeX 설치 후 Update를 반드시 실행야 한다.''' 특히 fontspec은 반드시 업데이트해야 함.
== MiKTeX 2.9에ko. TeX 사용하기 (xetex/lualatex) ==
xelatex/lualatex 한글 문서를 즉시 작성할 수 있다. {{{%!TEX encoding = utf-8
\documentclass{article}
\usepackage{xetexko}
\begin{document}
한글 테스트. 안녕.
\end{document}
}}}
== MiKTeX 2.9에서 ko. TeX 사용하기 (pdflatex) ==
pdflatex으로 ko. TeX 문서를 작성하려면 다음 절차가 더 필요하다.
=== 한글 TYPE1 폰트 ===
2019년 5월 현재, nanumtype1과 uhc type1 폰트 패키지는 자동설치되지만 updmap 등록 자동으로 이루어지 않는다.
nanumtype1과 uhc는 원래 자동 설치되어야 하는 것인데 버전에 따라 되기도 하고 안 되기도 한다. 따라서 설치 직후에 (아직 아무런 문서작성하지 않았다 해도) MiKTeX Console의 Package Manager에서 검색하여 설치하는 것이 좋다.
MiKTeX 설치 해서 [wiki:MiKTeX] 이지를 참조.

절차는 수으로 진행하여야 한다.
1. 패키지가 에 명령행(cmd MiKTeX command line)열어서 다음 명령을 써넣는다.{{{
이 페이지에서 논의되고 있던 "MiKTeX에서 한글 사용상의 여러 문제"들은 2022년 현재 '''모두 해결'''되었. 따라서 해당 내용을 삭제한다. 어떤 문제점들이 지적되고 있었는지 [http://wiki.ktug.org/wiki/wiki.php/HangulAndMiKTeX?action=recall&rev=1.31|이 문서의 r1.31 이전 버전]을 참고하라.
 
MiKTeX을 사용할 때의 유일한 단점은 [wiki:KtugPrivateRepository KTUG 사설저장소]를 활용할 없다는 것이다. 이에 KTUG private repository를 사용하는 방법을 설명한다.
 
== KTUG 사설저장소 패키지의 활용 ==
제3자 기여 방식으로 이 문제를 해결할 수 있다.
=== 필요성 ===
* 영어 문서만 작성하거나 일반적인 상황에서는 설치할 필요 없다.
* EUC-KR 인코딩의 한글 문서를 지원하는 kotex-euc가 필요하다면 이 패키지를 설치하여야 한다.
* KTUG에서의 토론 중에 등장하는 샘플 파일을 컴파일하기 위하여 필요할 때가 있다. 
* 몇 가지 요긴한 패키지를 활용하는 것이 능하다.
=== 적용 순서 ===
1. 압축 파일을 다운로드한다. [http://mirror.doeun.kr/texlive/texmf-kpr.zip 2024-01-18 외부링크] (약 190M)
2. 다운로드한 파일을 적당한 곳에 압축을 푼다. 권장하는 위는 ```c:\usr```을 만들고 이곳 가져다둔 다음 여기서 해동하는 것이다. 이렇게 하면 ```c:\usr\texmf-kpr``` 폴더 아래에 압축이 풀린다.
3. cmd 또는 Terminal을 열고 다음 명령을 실한다. (> 기호프롬프트를 의미하므로 직접 써넣는 것이 아니다. 압축푼 위치는 각자의 사정에 맞게 하라. 만약 빈 칸이 있는 위치에 압축을 풀었다면 따옴표로 감싸준다.) {{{
> initexmf --register-root=C:\usr\texmf-kpr
> initexmf -u
}}}
4. updmap 설정 파일 편집 (중요): 커맨드 창에서 다음 명령을 실행한다. {{{
> initexmf --edit-config-file updmap
}}}
1. 노트패드가 열리면 다음 내용을 넣고 저장한다.{{{
Map nanumtype1.map
Map uhc.map
5. 그러면 Notepad가 열리면서 주석문 한 줄 있는 상태가 될 것이다.여기에 다음 내용을 적어넣고 저장한다. {{{
Map unfonts-base.map
Map unfonts-other.map
Map nnmbrfonts.map
Map kotex-midkor.map
}}}
1. 명령행 다음 명령을 실행한다. {{{
6 저장 후에 다음 명령을 실행한다. {{{
> updmap
}}}
== 주의사항 등 ==
=== pdfTeX 사용시의 주의사항 (한자) ===
* - ~~명조체 한자는 표시되지 않는다.( MiKTeX에서만 그렇다. TeX Live에서는 명조체 한자도 잘 표시한다.)~~-
* 만약 unfonts-base-type1 (KTUG 사설저장소 패키지)를 설치하였다면 자만 은 글꼴의 것을 쓰게 할 수 있다. {{{
\SetHanjaFonts{utbt}{nanumgt}{nanumgt}
}}}
=== LuaTeX 사용시의 주의사항 ===
* luaotfload 실행을 방해하는 폰트가 C:\Windows\Fonts있을 경우 luatex이 실행되경우가 있. LuaLaTeX의 trouble shooting을 참조한다.
== 기타 ==
* MiKTeX 2.9 (Windows 7)서 파일 이름을 띄어쓰기가 포함된 한글 이름으로 지을 수다.
* 단, 한글 파일 이름은 pdflatex으로 컴파일하경우만 사용할 수 있다. xelatex, lualatex의 경우는 한글 파일 이름쓸 수 없다.
* TeXworks에서는렇게 한글 파일 이름을 쓰면 inverse search가 동작하 않는다. 그 이외에 컴파일 등에는 아무런 문제가 없다.
* TeXnicCenter 2.02편집기로, SumatraPDF를 pdf 뷰어로 사용하는 경우, 한글 파일 이름, 심지어 파일 이름에 띄어쓰기 공백문자가 포함된 경우에도 forward/inverse search가 잘 작동하였다.
* WinEdt에서는 확인바람.
== 문제해결 ==
=== 글 Windows의 cmd에서 xelatex 컴파일 실패 현상 ===
* MiKTeX 2.9.7140에서도 동일한 문제가 있다. 
* 증상: 한글 Windows의 powershell 또는 cmd 에서 MiKTeX의 xelatex을 실행했을 때, 문서의 크기가 크고 한자 또는 특수문자가 포함된 파일(UTF-8 인코딩)을 컴파일는 과정에서 이해할 수 없는 메시지를 보이 죽는. 로그 파일을 보면 "No space left on device"고 되어 있다.
* attachment:error.png
* 원 수 없으며 miktex 커뮤니티 유사한 사례가 보고되고 있으나 miktex 제작자/관리자가 이 현상을 재현할 수 없어무대책인 상태이다.
* TeXworks 내부에서 컴파일하면 이런 일이 벌어지지 않는 경우가 많다. 그러나 cmd 또는 powershell하여 컴파일 에디터의 경우에는 같은 일이 벌어질 수 있을 것이다.
* 현재로해결책은 TeXworks 내부에서만 컴파일하거나, cmd 또는 powershellcodepage를 cp949가 아닌 다른 페이지, 이를테면 65001바꾸는 것이다. 즉 xelatex실행하기 전에 {{{
 
chcp 65001
}}} 을 번 실행해둔다. 대부분의 경우에 에러없이 컴파일이 될 것이다. 
* 아마도 MiKTeX xelatex UTF-8 유니코드 문자를 cp949 셸 상에서 처리하는 데 뭔가 문제가 있는 모양이지만... MiKTeX이 이를 수정기를 기리기는 요원해보인다.
* 이 현상은 Mac용 MiKTeX, 리눅스용 MiKTeX에서는 발생하지 않으며 오직 Windows에서만 볼 수 있.
* TeXLive에서는 이런 일이 없다.
----
''이 아래는 예전 정보들이다.''
=== 기타 ===
* [http://www.ktug.org/xe/index.php?document_srl=187262#comment_187300 nanumtype1hfontspec.default를 수동설치해야 하는 상황]
* pdfLaTeX으로 컴파일하는 파일에 BOM이으면 안 된다. XeLaTeX의 경우에는 있든 없든 상관없다. BOM 붙은 UTF-8 파일에서 BOM을 제거하는 가장 손쉬운 방법은, TeXworks 에디터에서 매직 코멘트를 다음과 같이 달고 그냥 저장하는 것이다. {{{
%!TEX encoding = UTF-8 Unicode
%!TEX program = pdflatex
=== 폰트 ===
* ```c:\usr\texmf-kpr\fonts\truetype` 아래에 종류의 트루타입 폰트가 다. 함초롬 LVT와 나눔 트루타입이다.
* 해당 디렉터리로 들어가서 윈도우즈에 설치한다.
=== komkindex arara rule ===
* arara komkindex를시하기 위해서는 다 절차가 필요하다.
1. ```c:\usr\texmf-kpr\scripts\arara\rules``` 폴더에 있는 ```arara-rule-komkindex.yaml``` 파일을 확인한다.
1. MiKTeX패키지를 설치하는 위치를 확인한다. winget으로 설치하였거나 인스톨러로 설치할 때, ''Installation Scope'' 단계에서 ```only for me```로 설치(default)하였다면 다 위치를 확인하라.
* ```C:\Users\<username>\AppData\Local\Programs\MiKTeX\scripts\arara\rules```
만약스톨러 설치 단계에서 ''for anyone''선택하여 설치  
* ```C:\Program Files\MiKTeX 2.9\MiKTeX\scripts\arara\rules```
1. (1)에확인한 ```arara-rule-komkindex.yaml``` 파일 (2)위치복사한.
1. 명령행열고 ```initexmf -u```를 한번 실행다. 
1. 만약 MiKTeX Console이 뭔가 불평하면 로그아웃 로그다.
* 이같은 문법으로 사용할 있다. {{{
% arara: komkindex: { koreanfirst: yes, style: kotex }
}}}
== 참고: MiKTeX 업데이트 ==
MiKTeX 2.9.4987 이후 버전이면 한글 사용이 가능하다. 그 이전 버전으로 설치하였다면 다음과 같이 MiKTeX을 업데이트한다.
1. 시작 메뉴에서 `모든 프로그램 -> MiKTeX 2.9 -> Maintenance (Admin) -> Update (Admin)`
1. http://ftp.ktug.org 를 저장소로 선택하고 진행한다.
1. 업데이트는 두 단계로 진행되므로 위의 프로그램을 두 번 실행해야 한다.
1. 먼저 MiKTeX 자체를 업데이트한다.
1. MiKTeX 업데이트가 끝난 뒤에 같은 방법으로 다시 실행하면 현재 설치된 패키지를 최신 버전으로 갱신하는 업데이트가 진행된다.
 
패키지 매니저를 이용하여 패키지 리스트를 갱신한다. (위의 업데이트가 잘 이루어지면 이 단계는 건너뛰어도 된다.)
1. 시작 메뉴에서 `모든 프로그램 -> MiKTeX 2.9 -> Maintenance (Admin) -> Package Manager (Admin)` 을 실행하여 패키지매니저를 연다.
1. 메뉴의 "Repository" 아래 "Change Package Repository"를 선택하여 Korea, KTUG으로 저장소 위치를 맞추면 패키지 리스트가 갱신된다.
* attachment:capture_miktex_05.png
* attachment:capture_miktex_06.png




MiKTeX의 설치에 대해서는 MiKTeX 페이지를 참조.

이 페이지에서 논의되고 있던 "MiKTeX에서 한글 사용상의 여러 문제"들은 2022년 현재 모두 해결되었다. 따라서 해당 내용을 삭제한다. 어떤 문제점들이 지적되고 있었는지는 이 문서의 r1.31 이전 버전을 참고하라.

MiKTeX을 사용할 때의 유일한 단점은 KTUG 사설저장소를 활용할 수 없다는 것이다. 이에 KTUG private repository를 사용하는 방법을 설명한다.

KTUG 사설저장소 패키지의 활용

제3자 기여 방식으로 이 문제를 해결할 수 있다.

필요성

  • 영어 문서만 작성하거나 일반적인 상황에서는 설치할 필요 없다.
  • EUC-KR 인코딩의 한글 문서를 지원하는 kotex-euc가 필요하다면 이 패키지를 설치하여야 한다.
  • KTUG에서의 토론 중에 등장하는 샘플 파일을 컴파일하기 위하여 필요할 때가 있다.
  • 몇 가지 요긴한 패키지를 활용하는 것이 가능하다.

적용 순서

  1. 압축 파일을 다운로드한다. 2024-01-18 외부링크 (약 190M)
  2. 다운로드한 파일을 적당한 곳에 압축을 푼다. 권장하는 위치는 c:\usr을 만들고 이곳에 가져다둔 다음 여기서 해동하는 것이다. 이렇게 하면 c:\usr\texmf-kpr 폴더 아래에 압축이 풀린다.
  3. cmd 또는 Terminal을 열고 다음 명령을 실행한다. (> 기호는 프롬프트를 의미하므로 직접 써넣는 것이 아니다. 압축을 푼 위치는 각자의 사정에 맞게 하라. 만약 빈 칸이 있는 위치에 압축을 풀었다면 따옴표로 감싸준다.)
    > initexmf --register-root=C:\usr\texmf-kpr
    > initexmf -u
    
  4. updmap 설정 파일 편집 (중요): 커맨드 창에서 다음 명령을 실행한다.
    > initexmf --edit-config-file updmap
    
  5. 그러면 Notepad가 열리면서 주석문 한 줄 있는 상태가 될 것이다.여기에 다음 내용을 적어넣고 저장한다.
    Map unfonts-base.map
    Map unfonts-other.map
    Map nnmbrfonts.map
    Map kotex-midkor.map
    
    6 저장 후에 다음 명령을 실행한다.
    > updmap
    

폰트

  • c:\usr\texmf-kpr\fonts\truetype 아래에 두 종류의 트루타입 폰트가 있다. 함초롬 LVT와 나눔 트루타입이다.
  • 해당 디렉터리로 들어가서 윈도우즈에 설치한다.

komkindex arara rule

  • arara에서 komkindex를 지시하기 위해서는 다음 절차가 필요하다.
    1. c:\usr\texmf-kpr\scripts\arara\rules 폴더에 있는 arara-rule-komkindex.yaml 파일을 확인한다.
    2. MiKTeX이 패키지를 설치하는 위치를 확인한다. winget으로 설치하였거나 인스톨러로 설치할 때, Installation Scope 단계에서 only for me로 설치(default)하였다면 다음 위치를 확인하라.
      • C:\Users\<username>\AppData\Local\Programs\MiKTeX\scripts\arara\rules
    3. 만약 인스톨러 설치 단계에서 for anyone을 선택하여 설치하였다면
    4. (1)에서 확인한 arara-rule-komkindex.yaml 파일을 (2)의 위치로 복사한다.
    5. 명령행을 열고 initexmf -u를 한번 실행한다.
    6. 만약 MiKTeX Console이 뭔가 불평하면 로그아웃하였다가 로그인한다.
  • 이후 다음과 같은 문법으로 사용할 수 있다.
    % arara: komkindex: { koreanfirst: yes, style: kotex }