Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I use texlive 2012 on ubuntu 12.04. I wanted my ~/texmf folder invisible, so I edited my texmf.cnf file which is in /usr/local/texlive/2012 directory:

TEXMFHOME = ~/.texmf

I rebooted my computer and ran the command

kpsewhich -var-value TEXMFHOME

which gave me /home/myusrname/texmf. I checked texmf.cnf file again and it still had the line above. And my TEXMFHOME really is ~/texmf because I tested one of my .sty file under/.textmf and it did not work, while it still worked under ~/texmf.

Should I change something else to change my TEXMFHOME?

share|improve this question
    
There is no need to reboot ! Have you added a newline at the end of your texmf.cnf file? –  Paul Gaborit Sep 14 '12 at 6:25
1  
Doesn't solve the texmf.cnf issue itself, but couldn't you just set TEXMFHOME in your .profile? –  Joseph Wright Sep 14 '12 at 6:29
    
I tried on Mac OS X and it works; as Paul Gaborit says, there is no need to reboot. What's the answer of env | grep TEXMF? –  egreg Sep 14 '12 at 9:37
2  
Are you using the correct kpsewhich? Maybe the one from Ubuntu is interfering. What does "which kpsewhich" say? –  norbert Sep 14 '12 at 9:37
add comment

2 Answers 2

The standard procedure you followed is correct. Edit

/usr/local/texlive/2012/texmf.cnf

to contain

TEXMFHOME = ~/.texmf

(better ensure a trailing return). There is no need to reboot.

However, if the output of kpsewhich --var-value TEXMFHOME is not ~/.texmf, then probably you have set TEXMFHOME in your environment (probably in the .bashrc file). Check the output of

env | grep TEXMF

to see if this is the case. If it is, then you have to find where the variable is being set and remove it.

share|improve this answer
add comment

In Ubuntu:

$ kpsewhich -var-value TEXMFHOME
/home/gpoo/texmf
$ export TEXMFHOME=$HOME/.texmf
$ kpsewhich -var-value TEXMFHOME
/home/gpoo/.texmf

You can export the variable in your .bashrc file as:

if [ -d ~/.texmf ] ; then
    export TEXMFHOME=~/.texmf
fi
share|improve this answer
    
In your first listing the export is local to the current terminal. Is this correct? –  Marco Daniel Nov 22 '12 at 18:41
    
@MarcoDaniel: yes. –  gpoo Nov 23 '12 at 1:06
    
Can you explain the meaning of -d ~/.texmf? –  Marco Daniel Nov 23 '12 at 12:17
1  
In bash shell, it checks whether if the directory ~/.texmf exists. ~ is the user home directory. –  gpoo Nov 23 '12 at 18:00
    
Thanks. and +1 ;-) –  Marco Daniel Nov 23 '12 at 18:26
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.