Windows Sybsystem for Linux 환경에서 texlive를 설치하고 운영하는 방법을 설명한다.
이 문서의 이전 버전은 Windows 10 version 1903과 WSL1을 기준으로 작성되어 있었으나 현재 Windows 11의 WSLg에서 불필요한 설명이 많으므로 이를 모두 삭제하고 간명하게 하였다. (2022/10) 이 글은 Windows 11 22H2 (22621.608)을 기준으로 작성하였다.
1. 목적과 필요성 ¶
- Windows 시스템에서 texlive win32가 아니라 Linux용 texlive를 설치 운용한다.
- texlive는 ubuntu가 제공하는 debian 패키지 버전이 아니라 ctan의 최신 버전을 설치할 것이다.
- WSLg를 통하여 Linux GUI 프로그램을 이용한다.
- WSL에 설치하는 Linux는 Ubuntu를 기준으로 한다.
- 일반적으로 말해서 linux의 binaries가 더 안정적이다. win32에서 일어나는 자잘한 문제들을 피해가는 데 이보다 좋은 방법은 없다. 특히 까닭없이 tex 프로그램을 차단하는 백신 프로그램의 괴롭힘에서 벗어날 수 있다.
- pgfplot (gnuplot), minted (pygments), arara (java) 등 외부 유틸리티를 활용해야 하는 경우 Windows에서 해당 프로그램을 일일이 설치하는 부담이 크다. WSL 리눅스에서 이 프로그램의 설치는 간단하고 안정적으로 잘 동작하므로 이를 효율적으로 활용할 수 있다.
아래 서술에서 >는 windows의 커맨드 라인을 의미하고 $는 Linux (bash)의 커맨드 라인을 의미한다.
2.3. TeX Live 설치 ¶
- TeX Live 설치에는 두 가지 방법이 있다.
- Ubuntu 배포판의 TeX Live를
apt
로 설치하는 방법 (관리가 간편하고 설치가 쉬우나 최신 texlive가 아니고 tlmgr을 이용한 사용자화가 어렵다.)
$ sudo apt update && sudo apt install texlive
- ctan 배포판의 texlive를 설치
- Ubuntu 배포판의 TeX Live를
- 설치하기Linux 페이지에서 설명하는 방법을 그대로 적용하면 된다. 이후의 서술은 설치하기Linux/tlinstall의 방법을 따른다.
$ wget https://mirror.ctan.org/tex-archive/systems/texlive/tlnet/install-tl-unx.tar.gz $ tar zxvf install-tl-unx.tar.gz $ cd install-tl-XXXXXX $ sudo ./install-tl
mirror.ctan.org/tex-archive
부분은 원하는 repository의 주소로 바꾸어서 시도해도 좋다. 예를 들면
mirror.kakao.com/CTAN
XXXXXX
`는 날짜이다.
2.4. 설치 관련 팁 ¶
- 원하는 repository 주소를 지정할 수 있다.
$ ./install-tl --repository https://mirror.kakao.com/CTAN/systems/texlive/tlnet
- 설치 디렉토리는 기본값을 그대로 사용하는 것이 좋은데 저대로 계속 진행하면
/usr/local/texlive
폴더의 권한 문제가 생기므로 항상 sudo 하여야 한다. WSL 리눅스는 기본적으로 개인 시스템이므로, 다음과 같이 하여
sudo
없이 실행할 수 있게 해두는 것이 좋다.
$ sudo mkdir /usr/local/texlive $ sudo chown -R $(whoami) /usr/local/texlive
- 이 조치를 install-tl 이전에 선택하면 /usr/local/bin을 쓸 수 없어서 아래 설명하는 symlinks 생성이 실패한다. 그러므로 설치는 sudo로 하고 owner를 바꾸는 조치를 설치 후에 하는 것이 좋다.
- full-scheme이 아니라 medium-scheme 정도를 설치해두고 필요하면
texliveonfly
유틸리티로 관리하는 방법도 있다.
texliveonfly
는 python 스크립트인데
python
이라는 실행 파일을 요구한다.
python3
을
python
으로 심볼릭 링크를 걸어두면 된다.
- install-tl의 옵션 선택 화면에서
/usr/local/bin
으로 실행 파일을 symlink하도록 하는 것이 좋다. path 관련 번거로움을 줄일 수 있다.
2.5. 폰트 관련 팁 ¶
- XeLaTeX을 위하여 texmf.cnf를 수정하라.
$ vi `kpsewhich texmf.cnf`
- 다음 한 줄을 써넣고 저장한다.
OSFONTDIR = ~/.fonts//;/usr/share/fonts//;/usr/local/share/fonts//
- 그리고 Windows의 폰트 폴더를 심볼릭 링크한다.
$ ln -s /mnt/c/Windows/Fonts ~/.fonts/winfonts
- texlive의 fonts 폴더를 심볼릭 링크한다.
$ sudo ln -s /usr/loca/texlive/2022/texmf-dist/fonts/truetype /usr/local/share/fonts/ $ sudo ln -s /usr/local/texlive/2022/texmf-dist/fonts/opentype /usr/local/share/fonts/
- Noto Korean 폰트를 설치한다.
$ sudo apt install fonts-noto-cjk fonts-noto-cjk-extra
- Ubuntu에서 설치한 Noto 폰트는
Noto Serif CJK KR
또는
Noto Sans CJK KR
로 참조할 수 있다.
- Ubuntu에서 설치한 Noto 폰트는
2.6. KTUG 사설저장소 설정 ¶
-
$ tlmgr repository add https://mirror.ischo.org/KTUG/texlive/tlnet ktug $ tlmgr pinning add ktug "*" $ wget https://mirror.ischo.org/KTUG/texlive/tlnet/ktugrepo.pub.txt && tlmgr key add ./ktugrepo.pub.txt
3.1. Linux GUI ¶
- kate, texstudio, kile, gummi, latexilla, texworks 등 Ubuntu 에디터를 사용할 수 있다.
- texstudio, kile 등을 설치하려 하면 apt가 ubuntu texlive를 의존성 때문에 일부 설치하려 한다. 디스크 용량이 충분하다면 그냥 설치해버려도 사용에 지장은 없다. 그러나 이것이 마음에 걸린다면 더미패키지 만들기 방법을 참조
- Linux GUI 앱을 사용할 때의 한글 입력 문제
- 한글 입력기를 설치하면 해결된다. fcitx라면
$ sudo apt install fcitx fcitx-hangul
- 환경 변수를 설정한다.
export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx
- 이 환경변수는 ~/.bashrc에 등록해둘 수 있다.
- fcitx를 실행한 후에 fcitx-configtool을 실행하여
Hangul
을 등록하고 한/영 전환키를 설정해둔다. (Shift-Space가 제일 좋은 듯)
- 에디터를 실행하기 전에 fcitx를 한 번 부른다.
- 한글 입력기를 설치하면 해결된다. fcitx라면