
Ambiente
- Estou usando MikTeX no Linux.
- Tenho um projeto localizado em
$PROJECTDIR/myproject.tex
. - Tenho uma bibliografia para esse projeto localizada em
$LOCALTEXMF/bibtex/bib/mybibs/myproject.bib
. - Invoquei o arquivo bib com
\addbibresource{myproject.bib}
- ou seja, incluí a extensão do arquivo no arquivo tex. - Adicionei $LOCALTEXMF aos diretórios raiz do MikTeX (como tentei sugerir com o nome da pseudovariável).
- Atualizei o banco de dados de nomes de arquivos no console MikTeX. (bibtex não funcionaria se eu não tivesse feito isso, é claro.)
kpsewhich myproject.bib
gera corretamente$LOCALTEXMF/bibtex/bib/mybibs/myprojectb.bib
.
Comportamento
bibtex myproject
funciona perfeitamente bem.biber myproject
retornaERROR - Cannot find 'myproject.bib'!
.- Se eu copiar
myproject.bib
para$PROJECTDIR/
, entãobiber myproject
funcionará corretamente. Este é claramente um problema de o biber não pesquisar na árvore texmf local.
Algo estranho
- Há um softlink em um diretório chamado
PATH
quebibtex
aponta/opt/miktex/bin/miktex-bibtex
como esperado. - Há um softlink em um diretório
PATH
chamadobiber
que aponta para/opt/miktex/libexec/miktex/runexe
. Não entendo por que isso não apontaria para (o realmente inexistente)/opt/miktex/bin/miktex-biber
em analogia com o bibtex. /opt/miktex/libexec/miktex/runexe myproject
retorna um erro diferente debiber myproject
. O comando anterior retornaSorry, but runexe did not succeed.
. É particularmente desconcertante para mim que o softlink se comporte de maneira diferente do executável para o qual aponta.
Questões
- Obviamente eu já tenho uma solução alternativa (use
bibtex
em vez debiber
), então esta questão é apenas acadêmica/para meu benefício educacional. - Por que o biber falha enquanto o bibtex é bem-sucedido?
- Por que o softlink do biber aponta para aquela coisa do runexe?
- Por que o softlink do biber se comporta de maneira diferente de chamar diretamente aquela coisa de runexe?