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)의 커맨드 라인을 의미한다.
- 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
- 일부 Windows 폰트는 C:\Windows\Fonts가 아닌 C:\Users\(유저명)\AppData\Local\Microsoft\Windows\Fonts 디렉터리에 설치될 수도 있다. (예를 들어 KoPub 글꼴) 이런 글꼴이 있는지 확인해 보고 있다면 다음과 같이 심볼릭 링크를 추가한다.
$ ln -s '/mnt/c/Users/(유저명)/AppData/Local/Microsoft/Windows/Fonts' ~/.fonts/winfonts2
- texlive의 fonts 폴더를 심볼릭 링크한다. 아래 명령의 디렉터리는 TeX Live 2022 기준이므로 다른 버전을 설치한다면 그에 맞게 /usr/local/texlive/ 다음의 2022를 버전에 맞는 숫자로 바꿔주자.
$ sudo ln -s /usr/local/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
로 참조할 수 있다.
3.1. Linux GUI ¶
- kate, texstudio, kile, gummi, latexilla, texworks 등 Ubuntu 에디터를 사용할 수 있다.
- texstudio, kile 등을 설치하려 하면 apt가 ubuntu texlive를 의존성 때문에 일부 설치하려 한다. 디스크 용량이 충분하다면 그냥 설치해버려도 사용에 지장은 없다. 그러나 이것이 마음에 걸린다면 더미패키지 만들기(http://wiki.ktug.org/wiki/wiki.php/%EB%8D%B0%EB%B9%84%EC%95%88/%EC%9A%B0%EB%B6%84%ED%88%AC%20%EA%B3%84%EC%97%B4%20%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C%20TeX%20Live%20%EB%8D%94%EB%AF%B8%20%ED%8C%A8%ED%82%A4%EC%A7%80%20%EB%A7%8C%EB%93%A4%EA%B8%B0) 방법을 참조
- Linux GUI 앱을 사용할 때의 한글 입력 문제
- 계단 현상 문제
- Linux GUI를 쓸 때 계단 현상으로 그래픽 품질이 나빠 보일 수 있다. 이 경우는 WSL이나 Linux의 문제가 아니라 Windows의 디스플레이 배율 때문에 그런 것으로, Windows의 디스플레이 배율이 150%, 175%와 같이 100의 배수로 설정되어 있지 않으면 이런 현상을 겪게 된다. Linux 쪽에서는 anti-aliasing을 적용해서 출력하지만 Windows가 디스플레이 배율을 적용해서 확대할 때에는 anti-aliasing을 적용하지 않다 보니 생기는 문제다. 100%, 200%, 300%과 같이 100의 배수로 설정하면 anti-aliasing이 적용된 모습을 확인할 수 있다.
3.2. VS Code의 wsl extension ¶
- Visual Studio Code 에디터의 wsl 확장을 설치하면 wsl 디렉터리의 파일을 편집할 수 있다.
3.4. vim, nvim ¶
- GUI 에디터를 이용하지 않는다면 한글 입력기 없이 콘솔에서 한글 입력에 어려움을 겪지 않는다.
- ghostscript
$ sudo apt install ghostscript
- pygments를 설치한다.
$ sudo apt install python3-pygments
- arara를 실행하려면 default-jre를 설치한다.
$ sudo apt install default-jre
- spix를 실행하려면 tlmgr install spix로 충분하지만
python
이라는 이름의 프로그램이 존재해야 한다.
$ sudo ln -s `which python3` /usr/local/bin/python
- okular를 PDF viewer로 설치하면 Kile, Emacs, TeXStudio로의 inverse search 설정을 선택할 수 있다. (Configure Okular -> Editor) 단축키는 LeftShift+Click
- okular로의 forward search도 에디터의 실행조건을 주어서 간단하게 설정할 수 있고 그 방법을 인터넷 검색을 통해 쉽게 찾을 수 있다.
[PNG image (483.69 KB)]
5. Microsoft Windows 10에서 사용하려면 ¶
WSLg(https://github.com/microsoft/wslg)는 windows 10을 지원하지 않는다. 그러므로
이 글의 1.34 버젼(http://wiki.ktug.org/wiki/wiki.php/%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0Windows/WSLtexlive?action=recall&rev=1.34)을 참조하라. 혹은 X server를 windows에서 실행시켜야 하며,
넷사랑의 Xmanager(https://www.netsarang.com/ko/xmanager/),
Xming X server for Windows(http://www.straightrunning.com/XmingNotes/),
Cygwin/X X Window(https://x.cygwin.com/)등을 n살펴볼 수 있다.