UEDRSPIHCRSSRSS

설치하기MacOSX/Basic TeX

이 글은 Mac OS X에 BasicTeX을 설치하고 ko.TeX을 사용하기 방법을 설명합니다. 주의할 것은 BasicTeXTeX Live(혹은 MacTeX)의 일부만 포함하고 있다는 점입니다. 작은 크기에도 놀라울 정도로 강력하지만, 아무튼 TeX Live에 포함된 많은 패키지들이 빠져 있습니다. ko.TeX을 만들고 관리하시는 분들이 TeX Live 전체가 설치되어 있다는 점을 염두에 두고 있는 터라 사용하는데 문제가 생길 수도 있습니다. MacTeX을 기반으로 ko.TeX을 사용하고 싶다면, 해당 글 설치하기MacOSX/Mac TeX을 참조하십시오.


1. 설치


  1. BasicTeX을 내려 받습니다: http://tug.org/mactex/morepackages.html
  2. 내려받은 파일을 두번클릭하여 실행합니다.

    참고: Homebrew를 이용해서 설치할 수도 있습니다. 아래 별도의 절로 설명합니다.

이것으로 TeX Live의 일부인 BasicTeX이 설치되었습니다.

2. 설치 후


당연히 ko.TeXBasicTeX에 포함되어 있지 않아서 별도로 설치해야 합니다. 물론, TeX Live에 포함되어 있어서 tlmgr을 사용하여 쉽게 설치할 수 있습니다.

2.1. ko.TeX 설치하기


sudo tlmgr install cjk cjk-ko nanumtype1 kotex-plain kotex-utf kotex-utils

위에서 개인적인 경험상 최소로 필요한 것들만 나열한 것입니다. 디스크 공간이나 네트워크 속도에 크게 게의치 않는다면(그렇다면 애초에 MacTeX을 설치하는 것이 훨씬 유리할 것 같습니다) collection-langkorean을 설치해도 될 것입니다.

collection-langkorean을 설치하면 texmf는 400~500MB입니다. 참고로 MacTeX은 2020년 버전의 경우 약 4.0G입니다.
sudo tlmgr install collection-langkorean



2.2. 사설저장소 설정과 폰트 등 내려받기


한글 폰트나 한글 관련 특정 패키지들은 TeX Live에 포함되어 있지 않아서 KTUG의 사설저장소를 이용해야 합니다. 아래와 같이 사설저장소를 등록하고 필요한 패키지를 내려받습니다.
sudo tlmgr repository add https://cran.asia/KTUG/texlive/tlnet/ ktug
sudo tlmgr pinning add ktug "*"
sudo tlmgr install jiwonlipsum # optional
sudo tlmgr install nanumttf hcr-lvt # optional

3. Homebrew를 이용하는 설치

  1. homebrew cask로 basictex을 설치한다. 설치 후에는 terminal을 종료하고 재실행.
    # brew install basictex
    
    • 설치 과정에서 super user 권한을 요구한다.
    • TeXLive/usr/local/texlive/2021basic 아래 설치된다. 이후 texliveonfly나 tinitex 유틸리티를 이용하여 자동 패키지 설치가 가능하게 하려면, 이 폴더를 사용자 권한 아래 두는 것이 좋다(권장). 다음 명령을 실행한다.
      # sudo chown -R $(whoami) /usr/local/texlive
      
    • 바이너리들은 /usr/local/bin에 심볼릭 링크가 걸린 상태로 설치된다. 만약 texliveonfly를 활용할 계획이라면 다음과 같이 하여 python을 만들어두어야 한다.
      # sudo ln -s `which python3` /usr/local/bin/python
      
      • 참고: 만약 /usr/bin/python3이 존재하지 않는다면, homebrew로 python3을 설치하여야 한다.
    • TeX Live tree를 업데이트한다.
      # tlmgr update --all --self
      
    • KTUG 사설 저장소를 추가한다.
      # tlmgr repository add https://cran.asia/KTUG/texlive/tlnet/ ktug
      # tlmgr pinning add ktug "*"
      
  2. TeXShop을 설치한다.
    # brew install texshop
    
  3. pygments를 설치한다.
    # brew install pygments
    
  4. ghostscript가 필요하다면 별도로 설치한다.
    # brew install ghostscript
    
  5. 한국어 문서를 작성하려면 한글 폰트와 패키지를 미리 설치해두면 좋다.
    # tlmgr install kotex-plain kotex-utf nanumtype1 unfonts-core unfonts-extra
    
  6. texmf.cnf을 수정. 수정할 파일은 `/usr/local/texlive/2021basic/ 폴더에 존재한다.
    # nano `kpsewhich texmf.cnf`
    
    현재 내용을 그대로 두고, 다음 행을 추가하고 저장한다.
    OSFONTDIR = ~/Library/Fonts//;/Library/Fonts//;/System/Library/Fonts//
    
    • 참고: 이 조치를 취해주는 주된 이유는 XeLaTeX에서 시스템 폰트를 파일 이름으로 참조하기 위해서이다. 이것을 해두지 않으면 \setmainfont{NotoSerifCJKkr-Medium.otf}와 같은 선언이 있는 문서를 xelatex 컴파일할 때 폰트를 발견할 수 없다는 에러를 만날 수 있다. \setmainfont{Noto Serif CJK KR}과 같이 "폰트 이름으로" 참조하면 문제가 없지만 문서의 교환 등을 위해서 이 조치를 취해두는 것이 좋다.
  7. ~/Library/Fonts 폴더에 다음 두 폴더를 심볼릭 링크로 건다.
    # ln -s /usr/local/texlive/2021basic/texmf-dist/fonts/opentype ~/Library/Fonts/
    # ln -s /usr/local/texlive/2021basic/texmf-dist/fonts/truetype ~/Library/Fonts/
    
    • 참고1: symlink를 걸어주는 이유는 TeX Live의 opentype/truetype 폰트를 XeLaTeX에서 폰트 이름으로 참조하기 위해서이다. 이것을 해두지 않으면 \setmainfont{TeX Gyre Termes}와 같은 문장이 있는 문서를 xelatex 컴파일할 때 폰트를 발견할 수 없다는 에러를 만난다. \setmainfont{texgyretermes-regular.otf}와 같이 "파일 이름으로" 선언하면 문제는 없지만 문서의 교환 등을 생각하면 이 조치를 해두는 쪽이 좋다.
      • 특히 unicode-math 패키지를 쓰려면 Latin Roman Math 폰트를 Postscript 이름으로 참조하기 때문에 이 조치가 필수적이다.
    • 참고2: 사용자 폰트 폴더(~/Library/Fonts)에 들어 있는 글꼴이 너무 많거나 시스템이 충분히 빠르지 않을 때, symlink를 건 즉시 폰트가 활성화되지 않는 경우가 있다. 다음번 로그인 이후에는 대부분 해결되므로, 급하면 재시동한다.
  8. 자동 패키지 설치를 위하여 texliveonfly를 설치한다.
    # tlmgr install texliveonfly
    
  9. 이후, 패키지 추가가 필요한 문서는 다음과 같이 컴파일한다.
    # texliveonfly -c xelatex <filename>.tex
    
    • 참고: texliveonfly 대신 설치하기/TinyTeXtinitex 유틸리티를 이용할 수 있다. TinyTeX Releases에서 macos용 tinitex 바이너리를 다운로드하여 /usr/local/bin에 넣어두고 다음과 같이 사용한다.
      # tinitex --pdf-engine xelatex <filename>.tex
      
    • 참고2: 대부분의 패키지는 이 유틸리티를 이용하여 설치가능하다. 그러나 오픈타입 폰트 등은 tlmgr로 별도로 설치해야 한다. XeLaTeX을 사용한다고 할 적에 다음 폰트 정도는 미리 설치해두면 좋다.
      unfonts-core
      unfonts-extra
      hcr-lvt (사설저장소)
      libertine
      tex-gyre
      tex-gyre-math
      xits
      stix
      stix2-otf
      
    • 참고3: Noto CJK 폰트는 한글 사용의 사실상 표준이다.
      # brew install font-noto-serif-cjk-kr font-noto-sans-cjk-kr
      
      font-noto-serif-cjk 포뮬러를 설치하면 ttc 폰트가 설치된다. 조금 번거롭지만 -kr, -jp 등의 꼬리표가 붙는 포뮬러로 지정하여 설치하는 쪽을 권장한다.
  10. 필수 유틸리티 몇 개를 미리 설치해둔다.
    # tlmgr install latexmk spix arara lcdftypetools xindy biber kotex-utils
    
    pdfinfo, pdffonts 등의 유틸리티가 필요하면
    # brew install poppler
    
  11. (이전 연도 버전에서) 업그레이드와 제거
    • 업그레이드
      # brew upgrade basictex
      
    • 제거
      # brew uninstall basictex
      

4. texdoc 관련

  • basictex은 패키지 문서를 다운로드하지 않도록 설정되어 있다. 따라서 texdoc을 별도로 설치한다 해도 패키지 문서를 읽을 수 없다. basictex이 주로 저장공간의 절약을 위해서이므로 문서를 설치하지 않는 것이 디폴트인 것은 납득할 수 있다.
  • 그러나 문서를 texdoc으로 읽는 편리함이 필요할 수 있다. 패키지 문서를 함께 설치하도록 하려면 --with-doc 옵션을 tlmgr에 부여하면 된다. 이미 설치되어 제공되는 패키지의 경우는 install --reinstall 옵션으로 재설치함으로써 문서를 함께 설치하게 할 수 있다. 예를 들어 expl3 기본 문서(interface3)를 texdoc으로 읽으려면,
    # tlmgr install --reinstall --with-doc l3kernel
    
  • doc을 항상 설치되도록 하는 방법에 대해서는 KTUG 게시판 260785를 보라.
  • texdoc은 별도로 설치해야 한다.
    # tlmgr install texdoc