Migrated from Win-MiKTeX (WMTX) to MacOSX-Aquamacs with TeXLive (MXATL), I have my personal .sty/.cls files somewhere under my homedir. So I go with ShreevatsaR's comments from Aug. 5 on this site under 'where-do-i-place-my-own-sty-files-to-make-them-available' link text.

And in my case, the question remains, how to make the system MXATL aware of these files. Previously, WMTX, I could add a directory and then run something like texhash. Now I added the directory to all the relevant TeX File entries in Aquamacs-Wp-Tex-AUCTex-Tex File groups, restarted Aquamacs, even ran texhash in sudo mode, and placed an alias under ~/Library/texmf to no avail.

What did I do wrong? Or can I add this dir somehow to the dirs that texhash updates, as I cannot see it mentioned in the terminal output of texhash? Or do I just have to go with ~/Library/texmf :-(?

Thanks, Henk van Dorp


Reading through the TeX Live manual, the best way to achieve what you want seems to be to alter where TEXMFHOME points to. This is where TeX looks for your personal files, and has standard setting ~/Library/texmf, as you probably know!

At the Terminal, typing

sudo tlmgr conf texmf TEXMFHOME "~/texmf"

will alter the location to ~/texmf, which would be the normal setting on Unix systems other than a Mac. Note that this alters the setting system-wide, but I'm guessing that for most people this will be acceptable.

If you want to have more than one possible location (say retaining the standard setting and adding another one), then a colon is used to separate the list:

sudo tlmgr conf texmf TEXMFHOME "~/Library/texmf:~/texmf"

By the way, for recent releases of TeX Live you don't need to run texhash for your local tree. The database is only required for the 'big' installation tree, while the local tree will be scanned when TeX runs. The assumption is that the local tree will always be relatively small, so this is an acceptable performance hit.

  • Note that this only work with TL2010 (or MacTeX 2010 obviously). With older versions, you need to either manually edit the texmf.cnf file (kpsewhich texmf.cnf will tell you its location) or set the TEXMFHOME variable in your environment. – mpg Nov 9 '10 at 23:45
  • Well I just followed the help through on my system until it worked! I imagine that you can also make a personal texmf.cnf file and put it in ~/Library/texlive/2010/texmf-config, but I did not try that. – Joseph Wright Nov 10 '10 at 7:00
  • Thanks Joseph (and mpg) - I'll try everything - will come back with results. – Henk van Dorp Nov 10 '10 at 17:35
  • Dear Joseph, After ( :-) !) moving my sty/cls files to /Users/henk/Library/texmf/tex/latex/ I tried your 2nd sudo, then kpsewhich -var-value=TEXMFHOME, which curiously showed 1st wriggle replaced by /Users/henk/, but 2nd wriggle (that after the colon) was not replaced! With this – Henk van Dorp Nov 12 '10 at 16:55
  • 2
    This is also a useful practice for Dropbox users. I ran sudo tlmgr conf texmf TEXMFHOME "~/Library/texmf:~/Dropbox/Library/texmf" on both my Macs and now I can share files between them effortlessly. – Matthew Leingang Feb 14 '11 at 13:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.