[OS X TeX] [OT: sed] Does not find my private texmf tree

Bruno Voisin bvoisin at mac.com
Wed Sep 5 08:04:33 EDT 2007


Le 5 sept. 07 à 13:28, Maarten Sneep a écrit :

> Martin Costabel schreef:
>
>> Small remark: Instead of the sed command with the line break,  
>> which in
>> addition does not work with tcsh, it is simpler to use tr,
>>
>>   kpsewhich -show-path=tex -progname=latex| tr : '\n'
>
> But then, who uses tcsh :p
>
> sed on linux allows for escapes, so there you can use: sed 's/:/\n/ 
> g', but
> to my surprise that didn't work on my Mac, and therefore this  
> alternative.
> tr is of course the tool meant to be used here.

Motivated by this thread, I decided at last to spend some time  
looking for the significance of the "//", "///" and "!!" in the  
output I get:

.
/Users/bvoisin/.texlive2007/texmf-config/tex/latex//
/Users/bvoisin/.texlive2007/texmf-var/tex/latex//
/Users/bvoisin/Library/texmf/tex/latex//
!!/usr/local/texlive/2007/texmf-config/tex/latex//
!!/usr/local/texlive/2007/texmf-var/tex/latex//
!!/usr/local/texlive/2007/texmf/tex/latex//
!!/usr/local/texlive/2007/../texmf-local/tex/latex//
!!/usr/local/texlive/2007/texmf-dist/tex/latex//
/Users/bvoisin/.texlive2007/texmf-config/tex/generic//
/Users/bvoisin/.texlive2007/texmf-var/tex/generic//
/Users/bvoisin/Library/texmf/tex/generic//
!!/usr/local/texlive/2007/texmf-config/tex/generic//
!!/usr/local/texlive/2007/texmf-var/tex/generic//
!!/usr/local/texlive/2007/texmf/tex/generic//
!!/usr/local/texlive/2007/../texmf-local/tex/generic//
!!/usr/local/texlive/2007/texmf-dist/tex/generic//
/Users/bvoisin/.texlive2007/texmf-config/tex///
/Users/bvoisin/.texlive2007/texmf-var/tex///
/Users/bvoisin/Library/texmf/tex///
!!/usr/local/texlive/2007/texmf-config/tex///
!!/usr/local/texlive/2007/texmf-var/tex///
!!/usr/local/texlive/2007/texmf/tex///
!!/usr/local/texlive/2007/../texmf-local/tex///
!!/usr/local/texlive/2007/texmf-dist/tex///

Thus it appears that "//" is explained in section 3.3.6 of /Library/ 
TeX/Documentation/texmf-doc/kpathsea/kpathsea.pdf, and means, as one  
might expect, recursive search of all subdirectories.

And that "!!" is explained at the end of section 3.4.1 and means that  
only the catalog entries corresponding to the subdirectories of the  
following path will be searched in ls-R (produced by mktexlsr aka  
texhash), not the actual directories themselves. For example:

/Users/bvoisin/Library/texmf/tex/latex// means that all the  
subdirectories of ~/Library/texmf/tex/latex/ in my home directory  
will be searched recursively, on disk

!!/usr/local/texlive/2007/texmf-dist/tex/latex// means that the  
entries for all the recursive subdirectories of /usr/local/texlive/ 
2007/texmf-dist/tex/latex/ will be searched in ls-R, but not the  
subdirectories themselves on disk

This explains, at last, why "sudo mktexlsr" is required after  
modifications to /usr/local/texlive/2007/texmf-local/, but not after  
modifications to ~/Library/texmf/.

But I don't quite get the meaning of "///" at the end of !!/usr/local/ 
texlive/2007/texmf/tex/// for example.

Bruno Voisin
------------------------- 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