38

Could someone please explain to me what the purpose of the four different texmf folders are in Mac? E.g. there is:

  1. /usr/local/texlive/2011/texmf
  2. /usr/local/texlive/2011/texmf-config
  3. /usr/local/texlive/2011/texmf-dist
  4. /usr/local/texlive/2011/texmf-var

Also, when installing fonts and packages, do I place them in /texmf or /texmf-dist?

2
  • 6
    You can find all search pathes by kpsexpand '$TEXMF' and only the local search path by kpsexpand '$TEXMFHOME' Sep 9, 2011 at 16:58
  • 6
    Refer to Section 2.3 Overview of the predefined texmf trees of the TeX Live documentation. Sep 9, 2011 at 17:00

2 Answers 2

26

OK, given the helpful comments to your query, here's a discussion of how the various texmf folders map into the "official" nomenclature of the TeXLive tree (set in all-caps):

  • .../texmf: TEXMFMAIN -- "The tree which holds vital parts of the system such as configuration files, helper scripts, and program documentation."
  • .../texmf-dist: TEXMFDIST -- "The tree which holds the main set of macro packages, fonts, etc."
  • .../texmf-var: TEXMFSYSVAR -- "The (site-wide) tree used by texconfig-sys, updmap-sys and fmtutil-sys, and also by tlmgr, to store (cached) runtime data such as format files and generated map files."
  • .../texmf-config: TEXMFSYSCONFIG -- "The (site-wide) tree used by the utilities texconfig-sys, updmap-sys, and fmtutil-sys to store modified configuration data."

Separately, if you have a LOCALTEXMF directory tree, TeXLive expects to find it at /usr/local/texlive/texmf-local, unless you edit the configuration file /usr/local/texlive/year /texmf.cnf and provide an alternate location. If you do so, be sure to run texhash to update the filename database.

5
  • 2
    no, texmf-local is always at /usr/local/texlive/texmf-local. It is before the year wise distributions
    – user2478
    Sep 9, 2011 at 18:05
  • @Herbert: Thanks for catching this mistake; I've removed the year part from the final paragraph of my answer.
    – Mico
    Sep 9, 2011 at 18:28
  • 3
    Also, /usr/local/texlive/texmf-local is for system-wide local additions, not individual user local additions, which are normally placed in TEXMFHOME (on Linux systems, standardly /home/<user>/texmf; on a Mac /Users/Library/texmf). If you have a single user system, there's not much advantage to installing local packages in /usr/local/texlive/texmf-local, I think.
    – Alan Munn
    Sep 9, 2011 at 21:33
  • 1
    @Alan Munn: files in /home/<user>/texmf are searched recursively which is slower than using the ls-R file of /usr/local/texlive/texmf-local
    – user2478
    Sep 10, 2011 at 8:15
  • 1
    @Herbert Surely you'd have to have a lot of stuff in there for that difference to be noticeable? (And you can run texhash on the local dir too, right?)
    – Alan Munn
    Sep 10, 2011 at 13:13
11

the TeX Directory Structure (TDS) is documented in http://tug.org/tds/tds.html#Top_002dlevel-directories. That is the structure below texmf-dist and also below .../texmf-local/ and ~/texmf/.

The directories for TeXLive are documented in http://tug.org/texlive/doc/texlive-en/texlive-en.html#x1-100002.2

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.