[Tex/LaTex] Install custom .cls using TeX Live in local directory

document-classesinstallinglinuxtexlive

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?

Best Answer

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.