Background

There is a `.cls` file that `pdflatex` should use. I have read the following

Using TeX Live 2012, installed into `/usr/local/texlive/`.

I would like to install the `.cls` file into `\$HOME/.texmf` (or some other non-standard directory), rather than `\$HOME/texmf`. I thought this would be:

``````mkdir \$HOME/.texmf
initexmf --register-root=\$HOME/.texmf
sudo /usr/local/texlive/2012/bin/x86_64-linux/tlmgr conf texmf TEXMFHOME \$HOME/.texmf
mv amazingbook.cls \$HOME/.texmf
latex amazing-stories-1.tex
``````

Problem

The `initexmf` program does not exist (in TeX Live 2012). I have read that the `mktexlsr` command is equivalent to `initexmf`.

Update

Ran:

``````mktexlsr \$HOME/.texmf
mv amazingbook.cls \$HOME/.texmf
mktexlsr \$HOME/.texmf
``````

The `.cls` file cannot be found when running:

``````pdflatex amazing-stories-1.tex
``````

Question

What are the exact steps necessary to install a custom `.cls` file into a given directory and configure the environment so that the `.cls` file is visible from LaTeX using TeX Live 2012?

-
AFAIK `initexmf` is MikTeX-specific; MikTeX can easily handle many texmf trees. –  Martin Schröder Feb 6 '13 at 10:34
`initexmf` is a multi-purpose tool. `initexmf --update` is the equivalent to `mktexlsr`, but `initexmf --register-root` is a (wonderful) miktex specific feature. –  Ulrike Fischer Feb 6 '13 at 13:50

The following commands create the required directory hierarchy and register the `.cls` file:

``````mkdir -p \$HOME/.texmf/tex/latex/amazing
sudo /usr/local/texlive/2012/bin/x86_64-linux/tlmgr conf texmf TEXMFHOME \$HOME/.texmf
mv amazingbook.cls \$HOME/.texmf/tex/latex/amazing
mktexlsr \$HOME/.texmf
latex amazing-stories-1.tex
``````

The `pdflatex` command can now find `amazingbook.cls`.

-

Hello I had the same problem and found a suitable and easy solution.

With

``````kpsewhich -var-value=TEXMFHOME
``````

find your personal tex home directory, where you would put your own .cls files. On my Ubuntu with texlive 2013 it will show "~/texmf" which can lead to a misunderstandung.

Check it again with:

``````kpsepath -n latex tex
``````

which will show all folders where latex will search for .cls files. Here it can be seen that the folder is: ~/texmf/tex/latex. Copy your file in this folder. Make a update with:

``````sudo mktexlsr
``````

Check if it worked with:

``````kpsewhich my_class_file.cls
``````

This should show path where you copied the file!

-
Welcome to TeX.SX! –  Christian Hupfer May 18 at 15:58