Environment
- I'm using MikTeX on Linux.
- I have a project located at
$PROJECTDIR/myproject.tex
. - I have a bibliography for that project located at
$LOCALTEXMF/bibtex/bib/mybibs/myproject.bib
. - I have invoked the bib file with
\addbibresource{myproject.bib}
-- i.e. I have included the file extension in the tex file. - I have added $LOCALTEXMF to MikTeX's root directories (as I have tried to suggest with the pseudovariable name).
- I have refreshed the filename database in the MikTeX console. (bibtex wouldn't work if I hadn't done this of course.)
kpsewhich myproject.bib
correctly outputs$LOCALTEXMF/bibtex/bib/mybibs/myprojectb.bib
.
Behavior
bibtex myproject
works perfectly fine.biber myproject
returnsERROR - Cannot find 'myproject.bib'!
.- If I copy
myproject.bib
to$PROJECTDIR/
, thenbiber myproject
works properly. This is clearly an issue of biber not searching in the local texmf tree.
Something strange
- There is a softlink in a directory in my
PATH
calledbibtex
which points to/opt/miktex/bin/miktex-bibtex
as expected. - There is a softlink in a directory in my
PATH
calledbiber
which points to/opt/miktex/libexec/miktex/runexe
. I don't understand why this wouldn't point to (the actually non-existent)/opt/miktex/bin/miktex-biber
in analogy with bibtex. /opt/miktex/libexec/miktex/runexe myproject
returns a different error frombiber myproject
. The former command returnsSorry, but runexe did not succeed.
. It is particularly perplexing to me that the softlink behaves differently from the executable to which it points.
Questions
- Obviously I already have a workaround (use
bibtex
instead ofbiber
), so this question is just academic/for my educational benefit. - Why does biber fail while bibtex succeeds?
- Why does the biber softlink point to that runexe thing?
- Why does the biber softlink behave different from calling that runexe thing directly?
biber <filename>
, so I wouldn't worry about the linkage in MikTeX's internals for now. ...kpsewhich
to search for.bib
files that are not in the working directory, so the file should be found.