TeX Live

From TeX on Mac OS X wiki

Jump to: navigation, search



  • If you install TeX Live (MacTeX) to Mac first time it creates directory

with two subdirectories


and installs all its staff into /usr/local/texlive/2009/ and creates few subdirectories in /usr/local/texlive/texmf-local/ but puts no files there

  • If you install TeX Live (MacTeX) to Mac where there already is an earlier version of TeX Live (say 2007) then it only adds /usr/local/texlive/2009/ to /usr/local/texlive/ without touching /usr/local/texlive/2007/ and /usr/local/texlive/texmf-local/ (so you would have two installations):

Later you may delete /usr/local/texlive/2007/ and/or /usr/local/texlive/2008/

  • If you reinstall TeX Live (MacTeX) to Mac where there already is TeX Live 2009 install, then it completely replaces the content of /usr/local/texlive/2009/ but does not touch other subdirectories of /usr/local/texlive/texmf-local


  • In particular, binaries are installed into
  • Directory

is an actually alias (symbolic link) to the "real" directory. If you have also TeX Live 2008 installed and want to use it systematically instead of TeX Live 2009, you type in terminal

 % cd /usr/
 % sudo rm texbin
 % sudo ln -s /usr/local/texlive/2008/bin/universal-darwin/ texbin


TDS (Tex Directory Structure)

  • Packages, documentclasses, fonts are installed in TDS tree with a root at
    • So files of LaTeX package foo will go to

but its documentation will go to


and there are places for fonts, sources, scripts, etc.

(some software (f.e. asymptote) installs LaTeX packages. Authors must avoid installing them into /usr/local/texlive/2009/texmf-dist).

However you can browse this either through terminal command ls or just open it

% open /usr/local/texlive

Adding extra packages

To add extra packages which are not the part of TeXLive you have three options

Local installation


is its root. It is owned by root (so one needs to use sudo to change it. This directory and some subdirectories are created by MacTeX installer but not populated. Installing packages and fonts there makes them available for everyone.

% cd /usr/local/texlive/texmf-local

and put LaTeX .sty and .def files into directories created in


while document files for them into corresponding directories in


(but you need to understand what you are doing, read instructions, especially if distribution is not in tds form). Finally run

% sudo texhash

(actually texhash is an alias to mktexlsr)

    • If you can get package foo from CTAN in tds form - usually from


just move foo.tds.zip into /usr/local/texlive/texmf-local/ and unzip there

User installation

  • As an ordinary user for yourself: (Exactly as a root but into your personal TDS; again you need partially reconstruct it) into

Here ~ is a UNIX notation for your home directory (and ~someone is for home directory for user someone.

  • a symbolic link
~/texmf -> ~/Library/texmf

(some general Unix software compiled for MacOSX may want it):

% cd 
% ln -s ~/Library/texmf texmf

You do not need to run texhash.

  • Example: customizing how texdoc works for yourself:

Create a directory ~/Library/texmf/texdoc and a file texdoc.cnf in it. Edit this file to put your personal settings in. You may want to look at /usr/local/texlive/2009/texmf/texdoc/texdoc.cnf for inspiration (it should be pretty self-explanatory).

Custom TDS

One can add extra TDSs either by editing /usr/local/texlive/2009/texmf/web2c/texmf.cnf or by adding and editing ~/Library/texmf/web2c/texmf.cnf but one should be very careful. Do not do it unless you have a really good reason!

Personal tools