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

Herbert Schulz herbs at wideopenwest.com
Sat Jun 24 13:03:52 EDT 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
>

Howdy,

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  
follows:

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.

Finally:

> 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  
STAY AWAY FROM THIS.

> 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  
above.

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 MacOSX-TeX mailing list