[NTG-context] Newbie questions

Sanjoy Mahajan sanjoy at mrao.cam.ac.uk
Sat Jun 24 22:57:10 CEST 2006

> how do I "run" mktexlsr? from the OS X Terminal

Since you're using tetex, 'mktexlsr' should be in the PATH already (on
my linux system it's in /usr/bin, one of the very standard components
of PATH), so 'mktexlsr' from the Terminal should work.

If that doesn't work, what's the output of 'printenv PATH'?  And does
MacOS have 'locate'?  On Linux, 'locate mktexlsr' will tell you all
files that contain 'mktexlsr' in their full name (including
directory).  That often helps in finding where packages put files.

On (Debian) Linux an easier way is to ask the package management
system to list the files in a package, e.g:

  dpkg -L tetex-base 

which produces thousands of lines.  Maybe Mac gurus know something
similar for Mac OS?

Even more useful is to use a pipe (|) to connect the output of dpkg to
pattern-matching utility grep:

  dpkg -L tetex-base | grep t-amsl

which produces


For finding mktexlsr 'dpkg -L tetex-bin | grep mktexlsr' produces


(also useful to use grep after a 'locate').

If locate doesn't exist, the elephant gun is 'find', e.g.

  find /usr -name 'mktexlsr'

or another example:

  find /usr -name 't-amsl.tex'

Find traverses the file system tree starting where you tell it (/usr
in the above examples) looking for whatever you ask, and prints out
the matching path names.

('locate' is just an optimized version of find: Once a week or so, the
system does a 'find /' and stores all the paths in a monster file, and
then 'locate' just looks in that file).


`Never underestimate the evil of which men of power are capable.'
         --Bertrand Russell, _War Crimes in Vietnam_, chapter 1.

More information about the ntg-context mailing list