Às vezes acontece de você precisar de uma nova versão de uma fonte ou um pacote de macro, mas a máquina que você usa é mantida por alguém que não está disposto a atualizar e não lhe dará privilégios para que você mesmo faça o trabalho. Uma instalação “temporária” é algumas vezes a abordagem correta, mas se houver a menor chance de que a instalação seja necessária para mais de um projeto, as instalações temporárias são inadequadas.
Em circunstâncias em que você tenha bastante espaço de backup ou espaço local adequado, a abordagem correta é criar uma instalação privada de (La)TeX que inclua as novas coisas que você precisa; isto é o ideal, mas nem sempre é possível.
Então, já que você não pode instalar na árvore texmf pública, você precisa instalar em sua própria árvore texmf; felizmente, o padrão TDS leva isso em conta e as distribuições modernas permitem que você faça isso. As distribuições mais modernas referem-se à árvore como $TEXMFHOME, mas ela costumava ser chamada de $HOMETEXMF; para verificar se seu sistema TeX realmente suporta o mecanismo, você deve começar por
(por exemplo). Isso quase sempre retornará uma indicação para um subdiretório texmf do seu diretório inicial; a exceção mais comum é a dos Macintoshes usando MacTeX, onde o diretório é convencionalmente Library/texmf no seu diretório inicial.kpsewhich -var-value TEXMFHOME
Se você puder confirmar que a técnica vai funcionar, instale seu novo pacote (ou seja o que for) no lugar correto em uma árvore baseada em $HOME/texmf, e gere um índice dessa árvore
(o argumento especifica qual árvore você está indexando: é necessário caso você, por exemplo, não tenha acesso à árvore principal, e texhash sem o argumento tentaria criar a árvore principal.)texhash $HOME/texmf
Existem dois problemas com esta fórmula simples: primeiro, a instalação que você está usando pode não definir um diretório inicial TEXMF e, segundo, pode haver alguma obstrução ao uso de $HOME/texmf como nome padrão. Em ambos os casos, uma boa solução é ter seu próprio texmf.cnf — uma ideia que parece mais assustadora do que na verdade é. O arquivo existente de instalação pode ser localizado com o comando:
Pegue uma cópia do arquivo e coloque-o em um diretório seu; poderia ser qualquer diretório, mas uma escolha óbvia é o diretório web2c da árvore que deseja criar, ou seja, $HOME/texmf/web2c ou algo parecido. Faça com que uma variável de ambiente aponte para este diretório:kpsewhich texmf.cnf
(para um sistema do estilo Bourne shell), ouTEXMFCNF=$HOME/texmf/web2c export TEXMFCNF
(para um sistema do estilo C shell). Agora, edite a cópia do texmf.cnfsetenv TEXMFCNF $HOME/texmf/web2c
Haverá uma linha no arquivo existente que define a árvore onde as buscas são feitas; a forma mais simples da linha é:
mas é provável que haja várias configurações alternativas atrás de marcadores de comentários (“%”), e a pessoa que instalou o sistema pode tê-las deixado lá. Seja como for, você precisa modificar a linha que está em vigor: mude o descrito acima para três linhas:TEXMF = !!$TEXMFMAIN
sendo que o ponto importante é que $HOMETEXMF venha antes do que estava lá antes dentro das chaves. Por exemplo, se o original eraHOMETEXMF = $HOME/texmf TEXMF = {$HOMETEXMF,!!$TEXMFMAIN} % TEXMF = !!$TEXMFMAIN
ele deve ser convertido para:TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN}
(manter o original como um comentário é meramente um lembrete para o caso de você precisar fazer outra alteração mais tarde). Os pontos !! indicam à biblioteca de pesquisa de arquivos que ela deve insistir em uma árvore de diretório com texhash; se você puder contar com sua própria memória para executar o texhash em sua nova árvore toda vez que a alterar, então vale a pena adicionar as marcas à sua árvore:HOMETEXMF = $HOME/texmf TEXMF = {$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN} % TEXMF = {!!$LOCALTEXMF,!!$TEXMFMAIN}
pois isso fará com que o (La)TeX encontre seus arquivos ligeiramente mais rápido.TEXMF = {!!$HOMETEXMF,!!$LOCALTEXMF,!!$TEXMFMAIN}
Tendo feito todas essas mudanças, o (La)TeX deveria “apenas usar” arquivos em sua nova árvore, preferencialmente em relação a qualquer coisa na árvore principal — você pode usá-la para atualizações de pacotes da árvore principal, bem como para instalar novas versões de coisas.
This answer last edited: 2011-04-13
This question on the Web: http://latex.net.br/faq/FAQ-privinst.html
Do you have any question? Ask on: latex.net.br - we love qood questions!