7

I've just installed texlive on Ubuntu 16.04. In my system and in online resources, I keep seeing references to texmf, but I can't figure out what it is.

  • Web search and tex.stackexchage.com search for "What is texmf?" don't turn up a definition
  • It appears frequently on the main page of the texlive docs, but without any definition that I can find
  • "texmf" doesn't appear anywhere in the Things with 'TeX' in the name page
  • "texmf" doesn't appear anywhere on the TeX FAQ page
  • It has no man page
  • "texmf" doesn't appear anywhere on the TeX Wikipedia page

What is it and why do I keep seeing it as if I'm supposed to know what it is?

Edit: After poking around a bit, I've found the standard TeX Directory Structure at /usr/share/texlive/ and /usr/share/texmf/ on Ubuntu 16.04. The information given in the accepted answer refers to these if you're on that system and installed TeX via apt-get install texlive-latex-base.

  • texmf stands for TeX and METAFONT. Learning TeX Directory Structure at tug.org/texinfohtml/tds.html might help you. – yudai-nkt Mar 17 '18 at 2:58
  • Possible duplicate of tex.stackexchange.com/questions/77720/what-does-texmf-stand-for. – yudai-nkt Mar 17 '18 at 2:59
  • 2
    Before you get too far: The version of texlive on Ubuntu 16.04, obtainable from the package manager, is old (2015). It will still work OK for many purposes. But I advise you to search for how to install texlive directly from TUG.org. The 2018 version will be released soon. For that matter, then next LTS version of ubuntu will come out soon, and it might have texlive 2017 (not sure). – user139954 Mar 17 '18 at 3:30
  • @yudai-nkt I don't think this is really a duplicate; it's a bit broader question than just what texmf stands for. – Alan Munn Mar 17 '18 at 3:35
  • @AlanMunn You're right. That's why I said "possible", but should have said "related" instead. – yudai-nkt Mar 17 '18 at 3:49
10

texmf roughly corresponds the name of the top-level directory within a TeX Distribution. texmf stands for TeX and Metafont. Each texmf directory follows the TeX Directory Structure (TDS) scheme.

For example, a TeX Live system is organized in the following way (on Mac/Linux). There is a texmf-local folder, and a folder for each installed year (here 2017).

/usr/local/texlive
  2017/
  texmf-local/

Within the 2017 folder there are a number of different texmf-... folders:

/usr/local/texlive/2017
  texmf-config
  texmf-dist
  texmf-var

Each of these shares the same organizational structure, (TDS), but they contain different things. texmf-dist contains all of the packages of the distribution. texmf-config contains configuration files, and texmf-var contains various other system wide files (e.g. hyphenation patterns).

If we look at texmf-dist it follows the TDS scheme and contains the following directories:

asymptote   dvips       metapost    source      ttf2pk
bibtex      fonts       mft         tex         web2c
chktex      hbf2gf      omega       tex4ht      xdvi
context     pbibtex     texconfig   xindy
doc         makeindex   psutils     texdoc
dvipdfmx    metafont    scripts     texdoctk

This provides a set of known directories for TeX and related programs to find things. It is designed to be cross-platform, so that all TeX Live systems will in principle have the same layout.

Furthermore, this directory structure is also used in the texmf-local folder (for machine-wide local additions), and also in the user level texmf folder. See e.g.

  • This is extremely informative, thank you. I have a follow-up question: After having installed texlive via apt-get install, I have neither ~/texmf nor /usr/local/texlive directories. I do have /etc/texmf/, but this doesn't contain any config, dist, or var directories. Is something wrong with my installation? – Darien Marks Mar 17 '18 at 15:56
  • 2
    @DarienMarks I'm not too familiar with the Linux packaged installs (and most people here prefer the "vanilla" TeX Live.) See How to install "vanilla" TeXLive on Debian or Ubuntu?. The home ~/texmf folder isn't created automatically, that's up to users to create themselves (but it still must follow the TDS). It seems strange that you have no texmf-dist, but I'm not very familiar with the packaged distros. – Alan Munn Mar 17 '18 at 16:03
  • 1
    @DarienMarks Asking about this in the chat, it seems that neither texmf-var not texmf-conf are created upon install, but generated when needed. And the distro may have simply made the /etc/texmf folder be the equivalent of texmf-dist. – Alan Munn Mar 17 '18 at 16:29

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.