개요 ¶
- TinyTeX is a lightweight, cross-platform, portable, and easy-to-maintain LaTeX distribution based on TeX Live. You may see the Github repo ( https://github.com/yihui/tinytex) and project homepage ( https://yihui.org/tinytex/) for more info.
- windows용으로 가장 작은 배포 크기는 무려 27 MB 밖에 안된다.
- 아마도 R에서 Rmarkdown용으로 사용하기 위하여 크기가 작은 배포판을 만든 것이 시작으로 보인다. ( R에서 파생된 것이 CTAN에서 미러링하는 것을 봐도 그러하다. )
Windows ¶
활용 ¶
지난해(2020) 텍커널이 변경되는 바람에 미국물리학회 논문투고용 RevTeX4-2 버전이 4-2c에서 4-2e로 바뀌었습니다.
새 택에서는 4-2c 등 구버전이 안돌아 가서 새버전을 배포한겁니다. 그런데 새버전 4-2e는 구버전 텍에서도 호환성이 유지된다고
광고에는 나와있지만, 2019 텍으로 써 보니 안먹히더군요. 사실 구버전 텍과 구버전 ReVTeX4-2c로 맞추면 무난히 넘어갈
일이지만, 시간에 쫓기는 것도 아니고 또 호기심도 일어서, 새 텍도 하나 가지려고 여기저기 찾아보던 중에 우연히 TinyTeX을
발견하였던 겁니다. 다운 사이트에서 설명하는 대로, 세가지 배포판이 있습니다. TinyTeX-0, TinyTeX-1, TinyTeX 등입니다.
첫번째 것은 텍의 infra 시스템만 있고 텍 자체는 없습니다. 크기는 작지만 삽질을 꽤 해야 될겁니다. 두번째 TinyTeX-1은
dvi 출력하는 LaTeX, pdf 출력하는 pdfLaTeX은 물론이고 XeLaTeX, LuaTeX도 기본설치는 되어있습니다. LiveTeX 기반으로
되어 있어서, 필요한 패키지는 TLmgr로 다 설치됩니다. 세번째 것은 TinyTeX-1에 패키지가 몇개 추가되어 있고, 유틸리티도
몇개 더 있더군요. 유틸리티는 Ktug의 TnXTeX에 충분히 들어있고, 또 버전도 최신버전과 다르지 않으므로, 구태여 욕심낼게
아니더군요. 저는 TinyTeX-1으로 결정하여 설치했습니다.(필요한거 다 설치하고나서도 500메가 넘지 않습니다.)
사실 설치랄 것도 없는 portable입니다. 다운받고 압축 풀면 TinyTeX이란 폴더가 생기는데 그안의 tl-tray-menu.exe 실행하면
화면 우측 하단에 있는 트레이 안에 무슨 동물 머리모양의 아이콘이 생겨납니다.(화면상에는 아무 변화도 일어나지 않고 단지
우측 하단에 TeXLive Menu가 생겼다는 안내가 잠깐 나타났다가 사라집니다.)
그걸 우클릭해서 Command Prompt 선택하면 도스명령창이 뜹니다. Ktug의 TnXTeX과 동일한 구조이고 사용법도 똑같습니다.
하나 특이해 보이는건 pdflatex 실행할때 문서에 .eps 그림파일이 있으면 에러납니다. 이걸 epstopdf를 써서 .pdf 파일로
바꿔줘야 합니다. 이건 알아서 하시겠지만, 제 경우는 sumatrapdf viewer 최신버전을 사용해서 eps를 읽고 pdf로 저장하면
되더군요. 단, 컴에 ghostscript가 설치되어 있어야 합니다. 전엔 gsview 쓰면 됐는데 요새는 그걸 배포하지 않는거 같습니다.
한글관련 패키지 설치하기 전에 아래 있는 명령을 먼저 수행해야 합니다. (mac용, linux용도 있습니다.)
tlmgr repository add https://cran.asia/KTUG/texlive/tlnet/ ktug tlmgr pinning add ktug "*"
PATH에 추가하여 사용하기 ¶
- 위의 단락은 TinyTeX을 portable로 사용하는 예를 들고 있다.
- 시스템에 등록하여, 아래 설명할
tinitex
과 함께 마치 TeXLive를 설치한 것처럼 상시 사용하게 하려면 PATH에 추가한다. 예를 들어 TinyTeX을C:\usr\TinyTeX
아래에 풀어놓았다면, Windows 11의 "고급 시스템 설정" -> "환경변수" -> "사용자 변수" -> PATH에C:\usr\TinyTeX\bin\win32
를 추가한다. - 명령행을 재실행하여 tlmgr --version 명령을 주어 TinyTeX이 마치 TeXLive를 설치한 것처럼 동작하는지 확인.
- 이런 식으로 사용할 때에는 트레이 아이콘을 띄울 필요가 없다.
tinitex
유틸리티 ¶
별도로 다운로드받을 수 있는 tinitex은 windows의 경우
tinitex.exe
라는 실행파일 하나로 이루어져 있다.
- 압축을 풀어서
tinitex.exe
를 PATH에 포함된 폴더에 가져다둔다. (예: TinyTeX/texlive/bin/win32/) - 이 유틸리티의 가장 중요한 역할은 현재 로컬 시스템에 설치되어 있지 않은 패키지를 필요하다면 자동으로 설치하면서 pdf를 생성하는 것이다.
- tlmgr repository로 CTAN mirror 한 곳과 KTUG PR mirror를 등록해두는 것이 좋다.
# tlmgr repository add http://mirror.kakao.com/CTAN/systems/texlive/tlnet kakao # tlmgr pinning add kakao "*" # tlmgr repository add http://cran.asia/KTUG/texlive/tlnet ktug # tlmgr pinning add ktug "*"
- 다음과 같이 실행 엔진을 지정하여 컴파일할 수 있다. 더 자세한 옵션에 대해서는 tinitex --help.
# tinitex --pdf-engine xelatex filename.tex
- tinitex은 MiKTeX의 mpm이나
texliveonthefly
또는 사설저장소 ktugbin 패키지의kconthefly
와 비슷하게 동작한다. - 대부분의 패키지는 성공적으로 설치된다. (repository가 잘 지정되어 있을 경우에) 다만 오픈타입 폰트는 자동 설치에 실패하는 경우가 있다. 예컨대
UnBatang.ttf
는 자동 설치가 되지만UnYetgul.ttf
는 실패한다. 대부분의 오픈타입 폰트는 별도로 이를 설치하는 것을 고려하는 것이 좋다. 예를 들면 libertine, texgyre 등.# tlmgr install libertine tex-gyre tex-gyre-math
XeLaTeX과 폰트 ¶
- XeLaTeX의 원활한 사용을 위해서 font config 설정을 수정해야 한다. texmf-var\fonts\config에 있는
fonts.conf
파일의 내용을 자신에게 맞게 고쳐야 하는데, 이것이 매우 귀찮고 portable로 사용하려 할 적에 새로운 기계에서 매번 수정해야 하는 것은 부담이 되므로 한방에 설정할 수 있게 하는 배치파일을 작성하였다. 첨부 파일을 다운로드받아 반드시 압축을 풀어서 두 개의 파일을 동일한 디렉터리에 두고,tinytexfontconfig.bat
를 실행하라. 이 동작은 TinyTeX이 활성화된 환경, 즉 (별도로 PATH를 설정하지 않았다면) 트레이로부터 연 명령행에서 실시하여야 한다.- tinitexfontconfig.zip (1.15 KB)
- tinitexfontconfig.zip (1.15 KB)
tinitex 유틸리티 활용: TinyTeX-0을 이용한 XeLaTeX 전용 작은텍 만들기 ¶
배포판 중 제일 작은 TinyTeX-0을 이용하면 아주 작지만 쓰기에 부족함이 없는 XeLaTeX 전용 텍시스템을 만들 수 있는데, 손작업이라면 고된 삽질이지만, 위에 나와있는 tinitex 유틸리티를 쓰면 한시간도 안걸려서 자신만의 전용 시스템을 만들 수 있습니다.
- TinyTeX-0, tinitex을 다운받고 압축 푼다. 매달 새버전을 배포함 ( https://github.com/yihui/tinytex-releases/releases)
- 생겨난 TinyTeX 폴더에 위 유틸리티를 갖다 놓고, 간단한 한글문서를 만들어 둔다. 예컨데
\documentclass{oblivoir} \begin{document} 한글사랑 \end{document}
- 본인이 선호하는 한글꼴 하나정도를 미리 준비한다.(윈도에 이미 있는 거라면 통과)
- 이공계열 문서작성자라면 수학글꼴 stix2를 강력히 추천한다. 수식에 집중하게 만드는 글꼴이다. 여기서(https://www.stixfonts.org/) 다운받고 수학글꼴 STIXTwoMath-Regular.otf만 챙긴다. 텍스트는 윈도에 있는 times new roman이면 차고 넘치므로. 그리고 간단한 수식문서를 준비한다. (revtex template 파일이면 충분)
- 이상의 준비물은 다 TinyTeX 폴더에 두고서 tl-tray-menu.exe를 구동한다.
- 도스창에서 우선 다음을 실행한다.
tlmgr repository add http://mirror.kakao.com/CTAN/systems/texlive/tlnet kakao tlmgr pinning add kakao "*" tlmgr repository add http://cran.asia/KTUG/texlive/tlnet ktug tlmgr pinning add ktug "*"
- XeLaTeX을 먼저 설치한다.
tlmgr install xetex
- 준비한 한글 글꼴을 texmf-local\fonts 폴더에 장착한다. 수학글꼴도 같이 장착한다. (글꼴 자동설치를 회피하려고)
- 한글 패키지를 설치하기 위해서
tinitex --pdf-engine xelatex (준비한 한글문서 file name)
- revtex 패키지를 설치하기 위해서
tinitex --pdf-engine xelatex revtex-template
- 이상을 설치하고 나서 다못한 설치는 몇개 안되니 수동으로 마감한다. 예컨데
tlmgr install hangulfontset tlmgr install amsmath bibtex siunitx unicode-math
(예제는 나중에...)