1

while on Ubuntu, I had a file called /etc/texmf/texmf.cnf where I could set up some userspecific confs, e.g. something like

TEXMFHOME = $HOME/texmf

I would like to know where to find this file on archlinux, as I need to set up TEXMFHOME to a specific folder....

Produnis
  • 210
  • 4
    Please, try kpsewhich -a texmf.cnf and report the result. – egreg Apr 13 '14 at 18:10
  • export TEXMFHOME=your_folder in your .bashrc or something similar? –  Apr 13 '14 at 18:14
  • locate texmf.cnf? – cfr Apr 13 '14 at 18:49
  • 1
    Also, don't take this the wrong way but if you do not know how to locate a file in your file system, Arch Linux may not be for you at this time. That is to say, using and maintaining it will require a great deal of work and may be more frustration than you want to deal with. It can be done, but it requires a lot of patience as the learning curve is then steep. – cfr Apr 13 '14 at 19:23
  • Short answer: /usr/share/texmf-dist/web2c/texmf.cnf and run fmtutil-sys --all after changing its contents. – strpeter Mar 09 '15 at 00:08

3 Answers3

2

As egreg said, kpsewhich -a texmf.cnf will show you the location of the file. However, there are other ways. As I said locate texmf.cnf is maybe the simplest.

Or you can look in the PKGBUILD:

   # replace upstream texmf.cnf with ours
   rm -f "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf
   install -m644 "$srcdir"/texmf.cnf "$pkgdir"/etc/texmf/web2c/texmf.cnf
   # since the location of texmf.cnf is hard-wired to be under /usr/share/texmf/web2c
   # we make a symlink from /etc/texmf/web2c/texmf.cnf to the latter
   ln -sf /etc/texmf/web2c/texmf.cnf "$pkgdir"/usr/share/texmf-dist/web2c/texmf.cnf

This shows that the file is installed in /usr/share/texmf-dist/web2c/texmf.cnf with a symlink from /etc/texmf/web2c/texmf.cnf. But don't edit /usr/share/texmf-dist/web2c/texmf.cnf - as the file itself points out, your changes will be overwritten on update if you do.

Should locate not be available, install it using

pacman -S mlocate
cfr
  • 198,882
1

In Unix/Linux you can use the command locate(1) (sometimes an alternative called slocate(1) is provided), called like locate texmf.cnf. If none is available, a brute-force find / -name texmf.cnf will tell you about files called that.

vonbrand
  • 5,473
1

kpathsea looks for texmf.cnf file based on the the TEXMFCNF variable. Try kpsewhich --var-value TEXMFCNF to see the list of default dirs.

Please note that TEXMFCNF != TEXMFCONFIG and that texmf.cnf should be inside web2c (see TeX Directory Structure).

See also the content of the default texmf.cnf file (e.g. less $(kpsewhich texmf.cnf)) and kpathsea doc.

A quick (and dirty?) way of setting a PATH for your custom file can be:

export TEXMFCNF="$HOME/texmf/web2c,/usr/share/texmf-dist/web2c"
Matteo Gamboz
  • 432
  • 3
  • 8