
Passei a maior parte de dois dias tentando descobrir por que meu sistema Ubuntu Linux (dois sistemas diferentes, na verdade) de repente não consegue encontrar arquivos .cls e .sty da minha distribuição texlive. Eu tinha usado originalmente o ubuntu texlive, e foi aí que ele começou a aparecer. Então, limpei todos os meus pacotes texlive e instalei o texlive 2020 a partir do script de instalação do TUG conforme explicadoaqui. Mas ainda tenho o mesmo problema. Aqui está o que fiz até agora:
- quando logado como usuário texlive, tudo parece bem. Em particular,
$ kpsewhich article.cls
/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls
Mas quando o executo como meu nome de usuário normal, não recebo nada e um código de saída 1.
- Quando logado como me ou texlive, recebo o seguinte para a variável TEXMF:
$ kpsewhich --expand-var='$TEXMF'
{{}/home/ded/.texlive2020/texmf-config,/home/ded/.texlive2020/texmf-var,/home/ded/texmf,!!/usr/local/texlive/texmf-local,!!/usr/local/texlive/2020/texmf-config,!!/usr/local/texlive/2020/texmf-var,!!/usr/local/texlive/2020/texmf-dist}
o que parece certo em ambos os casos.
- Verifiquei as permissões dos arquivos e todos os arquivos texlive têm "outras" permissões de leitura. Só para ter certeza, posso fazer isso quando estiver logado como eu:
$ cat $(find /usr/local/texlive/2020/texmf-dist -name article.cls | head -n 1)
e recebo o conteúdo de artlicle.cls na minha tela.
Eu tenho um diretório ~/texmf e tudo parece kosher. Não tenho diretório ~/.texlive2020.
Executei o kpse Which com vários sinalizadores de depuração e posso ver onde ele pesquisa o diretório correto, mas ainda não retorna o caminho para article.cls. Eu vejo esta linha na saída:
$ kpsewhich --debug=13 --must-exist --path=/usr/local/texlive/2020/texmf-dist// article.cls 2>~/tmp/kps-out
...
kdebug:dir_links(/usr/local/texlive/2020/texmf-dist/tex/latex/base) => 2
...
mas ainda não está vendo o article.cls.
Espero que alguém possa sugerir outra coisa que eu possa tentar ou sugerir uma solução.
Responder1
OK. Finalmente descobri qual era o problema. Ao definir TEXINPUTS na configuração do meu ambiente shell, ele estava usando esses diretórios, para a /exclusão/ dos diretórios do sistema. Depois de adicionar um final ':', tudo funcionou conforme o esperado. Espero que esta resposta ajude outra pessoa.
Agora que conheço o problema, esta é uma resposta melhor:configurando TEXINPUTS