环境
- 我在 Linux 上使用 MikTeX。
- 我有一个项目位于
$PROJECTDIR/myproject.tex
。 - 我有一份该项目的参考书目,位于
$LOCALTEXMF/bibtex/bib/mybibs/myproject.bib
。 - 我已经调用了 bib 文件
\addbibresource{myproject.bib}
- 即我已经在 tex 文件中包含了文件扩展名。 - 我已将 $LOCALTEXMF 添加到 MikTeX 的根目录(正如我尝试使用伪变量名称所建议的那样)。
- 我已经刷新了 MikTeX 控制台中的文件名数据库。(当然,如果我没有这样做,bibtex 将无法工作。)
kpsewhich myproject.bib
正确输出$LOCALTEXMF/bibtex/bib/mybibs/myprojectb.bib
。
行为
bibtex myproject
工作得很好。biber myproject
返回ERROR - Cannot find 'myproject.bib'!
。- 如果我复制
myproject.bib
到$PROJECTDIR/
,则biber myproject
工作正常。这显然是 biber 不在本地 texmf 树中搜索的问题。
奇怪的东西
PATH
我所调用的目录中有一个软链接,bibtex
它指向/opt/miktex/bin/miktex-bibtex
预期的位置。PATH
我的目录中有一个biber
指向的软链接/opt/miktex/libexec/miktex/runexe
。我不明白为什么它不会指向(实际上不存在的),/opt/miktex/bin/miktex-biber
类似于 bibtex。/opt/miktex/libexec/miktex/runexe myproject
返回与不同的错误biber myproject
。前一个命令返回Sorry, but runexe did not succeed.
。软链接的行为与它指向的可执行文件的行为不同,这令我特别困惑。
问题
- 显然我已经有一个解决方法(使用
bibtex
而不是biber
),所以这个问题只是学术性的/为了我的教育利益。 - 为什么 biber 失败而 bibtex 成功?
- 为什么 biber 软链接指向那个 runexe 东西?
- 为什么 biber 软链接的行为与直接调用 runexe 不同?