좀 낡은, Lion도 안 되는 맥(Core Duo)이 하나 있다. 여유 공간은 20기가 남짓. 여기에 texlive를 설치해서 써야 하는 상황이다. 이제 texlive는 그야말로 공룡이 되어버렸다. 3기가 정도가 설치 크기이고 이것저것 쓰다보면 거의 5기가 안팎을 넘어갈지도 모른다. 설치하는 데만 한 시간 이상 소요된다.
전에
윈도우즈에서 texlive를 medium으로 설치해서 쓰는 방법에 대해 간단히 쓴 것이 기억나서 이것도 그렇게 한번 써보기로 했다. 그리고 texliveonfly도 시험해보고 싶었다.
이러면 예전 MiKTeX 생각이 아니 날 수가 없는 것이다. basic만 깔아놓고 필요한 패키지를 그때그때 온라인으로 설치해가면서 운용하는 것. 네트워크가 항상 물려 있고 안정적이기만 하다면 약간의 시간 손실을 감수해야 하지만 이것은 확실히 획기적인 tex system의 운용 방식이었다.
(공정을 기하기 위해 잠깐 이 방식의 문제점을 적어두고자 한다. 이것은 사실 현재도 MiKTeX의 최대 장점이면서 동시에 문제점이라고 나는 생각한다. 경우에 따라 업데이트 시점이 다르기 때문에 패키지 사이의 호환에 문제가 생길 수 있다는 것. 온라인에 물려 있지 않은 이동식 기계에서 곤란한 일이 생길 수 있다는 것. 파일 하나를 컴파일하는 데 상당한 인내심이 필요할 수도 있다는 것. 사실 이것저것 귀찮으면 full 설치가 정답이다.)
다음은 내가 수행한 과정을 적은 것이다.
(1) 먼저 texlive를 medium으로 설치한다.
설치 방법은 간단하다.
*
http://mirrors.ctan.org/systems/texlive/tlnet/ 에 가서 install-tl-unx.tar.gz를 다운로드받는다.
* 이 파일의 압축을 푼다.
* 터미널을 열고 압축 풀린 폴더(예를 들면 install-tl-20111216/)로 들어가서 다음 명령을 실행하고 패스워드를 입력한다.
sudo ./install-tl
* 그러면 뭔가 텍스트를 죽 보여주고 사용자 명령을 기다리고 있을 것이다. 여기서
"s" -> "Enter" -> "e" -> "Enter" 하면 scheme-medium이 선택된다. "R" -> "Enter" 하여 이전 화면으로 돌아온다.
* 이제 "i" -> "Enter" 하여 인스톨을 시작한다. 길어야 10분 정도면 설치가 끝난다.
(2) texlive의 설정을 행한다.
* 다음 명령을 수행한다.
sudo ln -s /usr/local/texlive/2011/bin/universal-darwin/ /usr/texbin
* /etc/profile 파일을 superuser 권한으로 열어서 마지막에 다음 행을 추가한다.
export PATH=/usr/texbin:$PATH
(다른 path는 설정하지 않아도 무방하다. 이 path 설정은 사용자의 홈 디렉터리에서 .bashrc를 이용해서 할 수도 있다.)
* 로그아웃 후에 로그인한 다음 터미널을 열어서 env 명령으로 PATH에 /usr/texbin이 잘 들어가 있는지 확인한다. 혹은 which tlmgr 명령으로 tlmgr이 실행가능한지 확인해본다.
* /usr/local/texlive/2011 폴더에 있는 texmf.cnf를 superuser 권한으로 편집한다. 다음 행을 추가하면 된다.
OSFONTDIR = {~/Library/Fonts;/Library/Fonts;/System/Library/Fonts}
(3) ko.TeX을 부분 설치한다.
* 다음 명령을 수행한다.
sudo tlmgr --repo=http://ftp.ktug.or.kr/KTUG/texlive/2011 install kotex
sudo tlmgr --repo=http://ftp.ktug.or.kr/KTUG/texlive/2011 install kotex-dev
(주로 xetexko만 이용할 나는 이 두 패키지만 설치했다. ko.TeX을 full로 설치하려면 마지막 부분을 install collection-kotex으로 한다.)
(4) 폰트를 설치한다.
XeTeX 사용을 위해 폰트를 좀 정리한다. 이거야말로 맥에 고유한 절차일 것이다.
** 함초롬체/GSUB을 설치한다. (폰트를 설치한다는 것은 ~/Library/Fonts에 가져다둔다는 의미이다.)
** 나눔 글꼴은 Lion에는 이미 있으므로 따로 설치할 필요 없지만 나의 경우 스노레퍼드여서 별도로 설치를 해주었다.
** 순전히 편의를 위해서 기본 은 글꼴과 tex gyre 폰트들을 사용자 폰트 폴더에 복사해준다.
cd ~/Library/Fonts
cp /usr/local/texlive/2011/texmf-dist/fonts/truetype/kotex-base/*.ttf .
cp /usr/local/texlive/2011/texmf-dist/fonts/opentype/public/tex-gyre/* .
(5) MacTeX Additions를 설치한다.
MacTeX Additions는 TeXShop, Ghostscript 등 MacTeX에서 texlive 부분을 제외한 프로그램만 모아놓은 패키지이다.
http://www.tug.org/mactex/2011/morepackages.html 에서 MacTeXAdditions.pkg 파일을 내려받아서 실행하면 된다.
여기까지 해서 일단 설치는 종료되었다. 이제 texliveonfly를 테스트할 차례다. 테스트에 사용한 파일은
http://www.ktug.or.kr/xe/index.php?document_srl=149936 이 글에 첨부된 testsource.zip이다. 이 소스는 제법 복잡한 패키지를 몇 개 요구하므로 texlive medium만으로는 컴파일되지 않는다.
일단 texliveonfly는 python 스크립트이므로 자신의 시스템에 python이 잘 설치되어 있는지 확인해야 한다.
which python이나 python --version 명령으로 확인해두자. 내 경우 2.6.1.
texliveonfly를 통한 실행
파일의 압축을 풀고 해당 폴더로 이동하여 다음과 같이 터미널에서 실행한다.
sudo texliveonfly -c xelatex tstmdframed
-c 옵션으로 컴파일러를 지정해줄 수 있다. sudo 명령은 texlive의 tlmgr을 sudo로 불러야 하기 때문에 주었다.
컴파일하는 과정에서 몇 개의 패키지가 자동으로 다운로드되어 설치되는 것을 볼 수 있을 것이다. 조금 기다리면 안전하게 컴파일이 끝난다.
좋은 점은 이렇게 설치된 패키지는 이후 tlmgr을 이용한 업데이트에서 항상 새로운 패키지로 갱신된다는 것이다.
그런데 컴파일 과정에서 생성되는 몇 개 파일의 권한이 root로 된다는 것이 문제가 된다. 그러므로 위의 실행이 끝난 후에는 owner를 바꾸어주자.
sudo chown [USER] *
패키지들이 잘 설치되었는지 그냥 xelatex만으로 확인해본다.
xelatex tstmdframed
새로운 파일을 컴파일할 때 최초 한 번 texliveonfly를 실행해주는 것으로 패키지 문제는 거의 해결된다. 물론 texlive에 등록된 패키지만 이것으로 가능하다는 걸 적을 필요는 없을 것이다.
texlive의 업데이트
향후 texlive의 업데이트는 다음과 같이.
sudo tlmgr update --all --self
sudo tlmgr --repo=http://ftp.ktug.or.kr/KTUG/texlive/2011 update --all
복잡한 작업을 계속하면 texlive 크기가 계속 커지는 것은 피할 수 없을테지만 그래도 full로 설치하는 것보다는 가벼운 시작이라고 생각한다.