[OS X TeX] TeX i-Package updated (foo-sys/foo workaround, font map search improvement)

Herbert Schulz herbs at wideopenwest.com
Sat Jun 24 19:03:52 CEST 2006

On Jun 24, 2006, at 10:51 AM, Bruno Voisin wrote:

> I'm as confused as you are. I dream that somebody writes a summary  
> describing all the combinations, what they do and when they should  
> (or should not) be used:
> sudo -H updmap-sys
> sudo -H updmap
> sudo updmap-sys
> sudo updmap
> updmap-sys
> updmap


Well here's my (possibly off) reasoning:

Some Explanation:

sudo --- needed when you are about to write to a location that isn't  
normally writable by ``regular'' users (e.g., /usr/local/teTeX/...).  
But, even though it is using the root login, it takes YOUR home  
directory as $HOME; so ~/Library/texmf/ can be ``seen.''

sudo -H --- like sudo alone but now the $HOME directory is root's (/ 
etc/?); ~/Library/texmf/ will NOT be ``seen.''

updmap --- reads the texmf.local as well as ~/Library/texmf/ (under  
normal circumstances --- see below) and writes to ~/Library/texmf/  
(but see BUT NOTE below).

updmap-sys --- reads texmf.local and POSSIBLY ~/Library/texmf/ and  
(attempts) to write to texmf.local. This MUST be invoked using sudo  
or sudo -H to be able to write to texmf.local.

BUT NOTE: In Gerben's latest update (regression?) by default updmap  
and updmap-sys both (attempt) to write to texmf.local. This was the  
original behavior of updmap before updmap-sys was created.

Some Philosophy:

I believe the reasoning behind the introduction of the changes is as  

If you think of the OS X as a multi-user OS (remember, we are running  
a UNIX version of TeX) you wouldn't want user specific fonts  
information, etc., (or formats, etc.) to be placed in a location  
available to all users. The texmf.local branch of the TDS (TeX  
Directory Structure) is meant for local system-wide items. The  
original updmap would take information from individual users and  
include that information at the texmf.local level; a violation of the  
basic ideas of separating the system and the user. When updmap-sys  
was introduced the original updmap would take user and system  
information and make it local to the user; e.g., it will write  
generated map files (and formats for fmtutil, etc.) into the user's  
personal tree, ~/Library/texmf/.

Unfortunately this has led to problems when trying to mix some things  
since the personal tree is read before the texmf.local tree so a  
mistake at the personal tree level would take precedence over the  
system level. Lots of other (unexpected/bad) things and problems  
arose too.


> sudo -H updmap-sys

This command will neglect any items in your personal tree because of  
the use of sudo -H.

> sudo -H updmap

Before Gerben changed back to both updmap and updmap-sys behaving  
identically by default this would create a personal texmf tree in  
root's $HOME; something you never want to happen. With the latest  
update this behaves exactly like the updmap-sys command. I'D ALWAYS  

> sudo updmap-sys

Will read information in both texmf.local and ~/Library/texmf/ and  
write to texmf.local. Not philosophically correct but on a single  
user system...

> sudo updmap

Same as the command above with the default behavior in Gerben's  
latest update.

With the previous version this would read from both texmf.local and ~/ 
Library/texmf/ but it would write to ~/Library/texmf/ but with root  
ownership; not recommended.

> updmap-sys

Will read from both texmf.local and ~/Library/texmf/ and attempt (and  
probably fail) to write to texmf.local since most users don't have  
write permissions in that branch.

> updmap

With the latest update this will behave the same as updmap-sys just  

With the previous version this would read from texmf.local and ~/ 
Library/texmf/ and the write personal files in ~/Library/texmf/. No  
need for sudo in that version wince all writing was in the user's  
home directory. The generated files will have the user as owner.

> What I would think (but I'm not sure that is correct) is "sudo  
> updmap-sys" won't work for you. It will read the files from ~/ 
> Library/texmf, and generate map files in texmf.local. Given you  
> have already updmap-generated map files inside ~/Library/texmf,  
> these will take precedence over any more recent map file generated  
> by updmap-sys in texmf.local, so that your additions won't be seen.

Sigh... how many times have we seen this. There are so many documents  
(including things I've written and forgotten about) that generated  
unexpected results because of the change.

> I won't be able to contribute more to this thread, I'll be away  
> until the end of next week. Giving a talk on Tuesday, flying there  
> on Monday, talk all but ready, and now I'm realizing there is no  
> version yet of the Keynote Linkback plugin for Keynote 3. Remember  
> <http://www.liacs.nl/~hoogeboo/calvin.gif>? Oh well...
> Bruno

I miss having the Linkback too! For figures I've been using Stone  
Create and it works great with LaTeXiT and Linkback.

Good Luck,

Herb Schulz
(herbs at wideopenwest.com)

------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
          & FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/

More information about the macostex-archives mailing list