tex live
팩키지관리자1\(\TeX\) 엔진을 보좌하는 다양한 팩키지가 존재한다. \(\LaTeX\) 저작을 할 때 당연히 기본 \(\LaTeX\) 기능외에도 제3자가 개발한 팩키지를 활용하여 \(\LaTeX\) 저작물을 더욱 읽기 쉽고 가독성 높게 작성할 수 있다.
\(\LaTeX\)에서 많이 사용되는 팩키지 관리자는 \(\TeX\) 라이브 매니저 즉, tlmgr
이다. 텍라이브 팩키지 관리자는 운영체제와 독립적으로 이용되며 팩키지와 폰트 꾸러미를 설치 삭제하는데 큰 도움을 준다. 리눅스 package manager
나 R CRAN
혹은 파이썬 PIP
혹은 GitHub 저장소를 통해 동일한 개념을 활용하여 생태계 각각을 풍성하게 하고 영향력을 높여나가고 있다.
한글 폰트 설치 사례를 들어, 과거 폰트꾸러미를 설치하는 것과 팩키지 관리자 사용하는 것을 비교해보자.
고수의 영역 | 팩키지 관리자: tlmgr |
---|---|
|
|
tlmgr
팩키지 관리자tlmgr info geometry
명령어를 통해서 이미 설치된 \(\LaTeX\) geometry
팩키지에 대한 정보를 확인할 수 있다.
tlmgr info geometry
package: geometry
category: Package
shortdesc: Flexible and complete interface to document dimensions
longdesc: The package provides an easy and flexible user interface to customize page layout, implementing auto-centering and auto-balancing mechanisms so that the users have only to give the least description for the page layout. For example, if you want to set each margin 2cm without header space, what you need is just \usepackage[margin=2cm,nohead]{geometry}. The package knows about all the standard paper sizes, so that the user need not know what the nominal 'real' dimensions of the paper are, just its standard name (such as a4, letter, etc.). An important feature is the package's ability to communicate the paper size it's set up to the output (whether via DVI \specials or via direct interaction with pdf(La)TeX).
installed: Yes
revision: 54080
sizes: src: 325k, doc: 921k, run: 45k
relocatable: No
cat-version: 5.9
cat-license: lppl1.3c
cat-topics: geometry
cat-related: vmargin typearea geometry-de
cat-contact-bugs: https://github.com/davidcarlisle/geometry/issues
cat-contact-repository: https://github.com/davidcarlisle/geometry
collection: collection-latex
이외에도 tlmgr
다양한 명령어를 통해 다양한 팩키지 관련 작업을 수행할 수 있다. 자세한 내용은 Basic Usage of tlmgr, the TEX Live Manager 을 참조한다. 기본 사용법은 쉘에서 다음 방식을 사용한다. 즉, 팩키지에 대한 정보를 확인하고 팩키지를 검색하고 팩키지를 설치하고 시간이 지나 최신 팩키지를 갱신하고 팩키지를 삭제하는 작업 등이 포함된다.
tlmgr [global options ] action [action-specific options] [operands]
info
search
install
update
remove
option
path
::include_graphics("data/tlmgr.pdf") knitr
tex live
를 설치하게 되면 기본 주 저장소로 http://mirror.ctan.org/systems/texlive/tlnet 이 설정된다. 하지만 모든 팩키지가 기본 저장소에 등록된 것이 아니라서 한글의 경우 사설 저장소를 등록해서 필요한 팩키지를 설치해야 저작물 작성에 활용할 수 있다.
$ tlmgr repository list
repositories (with tags if set):
List of ://mirror.ctan.org/systems/texlive/tlnet (main) http
한글 lipsum 을 위해서 lipsum 팩키지 설치를 해야 되는 경우가 대표적인 사례다.
jiwonlipsum
팩키지는 KTUG Private Repository에 저장되어 있어 이를 설치한 후 한글 lipsum을 사용할 수 있다. jiwonlipsum
팩키지를 저장된 KTUG Private Repository 저장소 안내글을 참고하여 설치한다. 사설 저장소를 등록시키고 사설 저장소에 등록된 팩키지를 사용하는 작업흐름은 대략 다음과 같다.
$ <sudo> tlmgr repository add http://ftp.ktug.org/KTUG/texlive/tlnet/ ktug
tex live
팩키지 관리자가 신규 저장소를 파악해야 되는데 이 과정을 pinning
이라고 한다.
$ <sudo> tlmgr pinning add ktug "*"
jiwonlipsum
등 필요한 팩키지를 설치한다.
$ <sudo> tlmgr install jiwonlipsum
$ <sudo> tlmgr update --all --self
tlmgr repository list
List of repositories (with tags if set):
http://ftp.ktug.org/KTUG/texlive/tlnet/ (ktug)
http://mirror.ctan.org/systems/texlive/tlnet (main)
tex live
를 용량이나 네트워크 등 다양한 이유로 인해서 전체 설치하지 않고 일부만 설치할 경우 특정 팩키지가 빠져 컴파일 과정에서 오류가 발생되는 경우가 종종 발생된다. 이런 문제는 다음과 같은 방식으로 문제를 해결한다.
xy.sty
파일이 정상적으로 설치된 경우 다음과 같이 확인되지만 없는 경우 package xy not present in repoistory
와 같은 오류가 발생된다.
tlmgr search --global --file xy.sty
tlmgr: package repositories
main = http://mirror.ctan.org/systems/texlive/tlnet (not verified: gpg unavailable)
ktug = http://ftp.ktug.org/KTUG/texlive/tlnet/ (not verified: gpg unavailable)
For more about verification, see https://texlive.info/verification.html.
lwarp:
texmf-dist/tex/latex/lwarp/lwarp-xy.sty
pb-diagram:
texmf-dist/tex/latex/pb-diagram/pb-xy.sty
xypic:
texmf-dist/tex/generic/xypic/xy.sty
이를 고치는 방식은 xypic
팩키지에 xy.sty
파일이 있는 것이 확인되기 때문에 xypic
팩키지를 설치한다.
tlmgr install xypic
kpsewhich xy.sty
명령어로 설치된 위치를 확인할 수 있다.
kpsewhich xy.sty
/usr/local/texlive/2020/texmf-dist/tex/generic/xypic/xy.sty
윤석천, 이주호 (2017), “텍라이브 매니저와 KTUG 사설 저장소,” TeX: 조판, 그 이상의 가능성↩︎
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com