[OS X TeX] TL 2007

Bruno Voisin bvoisin at mac.com
Thu Apr 12 16:22:26 EDT 2007

Le 12 avr. 07 à 20:27, Alain Matthes a écrit :

> if the prefix is /usr/local/texlive then
> TEXDIR is set like this :  /usr/local/texlive/2007
> TEXMFHOME  :  $HOME/texmf ( but i can change that if i want)
>  TEXMFSYSVAR :  /usr/local/texlive/2007/texmf-var.
>  TEXMFLOCAL :   /usr/local/texlive/texmf-local.

At the end of this mail is the corresponding setup from MacTeX/ 

> [...]
> Yes i know the advantage but my ydea is to have the same structure  
> on the pc and on the mac, with the same texmf.cnf etc...
> I want to use the same path for my work on the two computers.

I must admit I don't see the point here: what's the purpose of  
wanting to have exactly the same paths on both OSes, when the two  
OSes don't look for things at exactly the same places by default, and  
you have to perform some convoluted and hazardous manipulations to  
make them use exactly the same paths?

As far as I understood, the paths in MacTeX/TeXLive were carefully  
tuned by experts on the MacTeX mailing list prior to public release,  
so that the user can forget about the ugly details (namely about the  
content of texmf.cnf) and enjoy exactly the same experience on Mac,  
Linux, Windows, whatever.

Namely, the texlive/2007 directory may be located at different places  
(/usr/local/, or /usr/, or/opt/local/, or whatever depending on what  
a specific OS requires), but once in this directory all the  
subdirectories bin/, texmf/, texmf-dist/, ../texmf-local/ etc. will  
behave the same way and be located at the same places independently  
from the OS.

Similarly, whether ~/Library/texmf on the Mac to conform to OS X  
recommendations and user experience, or ~/texmf on Linux to conform  
to the Unix tradition of cluttering the user's private space with  
application-specific configuration or ancillary files, once in this  
user-specific texmf tree things will be located at the same places  
independently from the OS.

>> This allows easy access to the various TeXLive subdirectories  
>> (from /Library/TeX), and easy switch between several TeX  
>> distributions through a TeX Distribution system pref panel. This  
>> switch may seem pointless for now, given that the two main  
>> distributions around are TeXLive-2007 and gwTeX currently, and who  
>> but a geek would want to have both?
> One distribution only one !
>> But in the future, when several TeXlive distributions from  
>> different years will be available simultaneously, this will allow  
>> the co-existence of an old TeXLive alongside a brand new TeXLive  
>> on a user's hard drive, until all compatibility issues are  
>> resolved and the user can safely delete the old TeXLive.
>  there is no problem : a symbolic link  with /usr/local/texlive/ 
> current and you can have two distributions but why ?

The ability to have several distributions side-by-side was explicitly  
requested by beta testers of the MacTeX distro, who wanted to be able  
to keep the old TeXLive distro from year n-1 in place after  
installing the new TeXLive distro from year n, during at least  
several months until they are sure all their old documents typeset  
with the new distro and no compatibility issue remains, so that they  
can then erase safely the old distro.

And getting the two distributions installed simultaneously to work in  
all cases, for users not necessarily expert in command-line stuff, is  
much more difficult than just setting a few symlinks. These were hard  
times on the MacTeX mailing list, when proponents of the two  
approaches (ie set up a few symlinks here and there, or attempt to  
make things properly and think of all possible scenarii) had several  
heated and sometimes impolite discussions on the topic.

The outcome of all that was the current MacTeX distro.

Bruno Voisin

Extract from TexLive-2007's texmf.cnf

 Part 1: Search paths and directories.

% You can set an environment variable to override TEXMF if you're  
% a new TeX tree, without changing anything else.
% You may wish to use one of the $SELFAUTO... variables here so TeX will
% find where to look dynamically.  See the manual and the definition
% below of TEXMFCNF.

% The tree containing the runtime files closely related to the specific
% program version used:

% The main distribution tree:

% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
% texconfig, it uses TEXMFCONFIG below.

% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% For using a separate tree:

% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% For using a separate tree:

% User texmf trees are allowed as follows.
% This used to be HOMETEXMF.

% TEXMFVAR, where texconfig stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% For using a separate tree:
%   TEXMFVAR = $HOME/.texmf-var  # teTeX 3.0 default
TEXMFVAR = $HOME/.texlive2007/texmf-var

% TEXMFCONFIG, where texconfig stores configuration data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
% For using a separate tree:
%   TEXMFCONFIG = $HOME/.texmf-config  # teTeX 3.0 default
% For using a separate tree:
TEXMFCONFIG = $HOME/.texlive2007/texmf-config

% Now, list all the texmf trees. If you have multiple trees you can
% use shell brace notation, like this:
% The braces are necessary.
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be  
% explicitly and before all other trees.

% The system trees.  These are the trees that are shared by all the  
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.

% Where generated fonts may be written.  This tree is used when the  
% were found in a system tree and either that tree wasn't writable,  
or the
% varfonts feature was enabled in MT_FEATURES in mktex.cnf.

% Where to look for ls-R files.  There need not be an ls-R in the
% directories in this path, but if there is one, Kpathsea will use it.
% By default, this is only the !! elements of TEXMF, so that mktexlsr
% does not create ls-R files in the non-!! elements -- because if an
% ls-R is present, it will be used, and the disk will not be searched.
% This is arguably a bug in kpathsea, but we will not think about it  

% It may be convenient to define TEXMF like this:
% which allows users to set up entire texmf trees, and tells TeX to
% look in places like ~/tex and ~/bibtex.  If you do this, define  
% like this:
% or mktexlsr will generate an ls-R file for $HOME when called, which is
% rarely desirable.  If you do this you'll want to define SYSTEXMF like
% this:
% so that fonts from a user's tree won't escape into the global trees.
% On some systems, there will be a system tree which contains all the  
% files that may be created as well as the formats.  For example
%   TEXMFVAR = /var/lib/texmf
% is used on many Linux systems.  In this case, set VARTEXFONTS like  
% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is  
% one of the TEXMF directories (avoids overlapping ls-R files).
------------------------- Helpful Info -------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
List Reminders & Etiquette: http://www.esm.psu.edu/mac-tex/list/

More information about the MacOSX-TeX mailing list