BibTeX 没有找到基本文件

BibTeX 没有找到基本文件

如果我运行 bibtex,它会说找不到文件 unsrt.bst

I couldn't open style file unsrt.bst

这很奇怪,因为 unsrt.bst 是 bibtex 的基本文件之一。无论如何,bibtex 的手册页说它首先在变量 BSTINPUTS 定义的路径中查找。所以如果我设置

export BSTINPUTS=/usr/local/texlive/2018/texmf-dist/bibtex/bst/base

然后 bibtex 确实找到了 unsrt.bst 文件。但是 bibtex 声称它找不到我的 bib 文件

I couldn't open database file references.bib

但它位于同一目录中!

因此显然 bibtex 在查找标准文件和查找同一目录中的文件方面存在一些严重的问题。

看来我的安装有问题。对我来说,手动设置路径并不是令人满意的解决方案,因为 texlive 有很多标准 bst 文件夹,而不仅仅是 .../bst/base。

我通过以下方式安装了 texlive快速安装指南

我已经尝试过了

tlmgr install --reinstall bibtex

但它并没有改变任何事情。

有人可以帮我吗?

答案1

在这种情况下,有三个单独的环境变量需要考虑

◦ TEXINPUTS 告诉 LaTeX 在哪里找到 sty(样式)文件。◦
BSTINPUTS 告诉 BibTeX 在哪里找到 bst(书目样式)文件。◦
BIBINPUTS 告诉 BibTeX 在哪里查找 bib(书目数据库)文件。

默认情况下,为了减少问题,您可以将所有必要的文件保存在处理文档的同一目录中。

或者使用 UNIX 命令 ln -s 创建到它们的符号链接。

或者,也可以采用多种不同方式进行设置。

对于 Windows 用户来说,最简单的方法是在“系统”环境中设置它们(除非您使用共享系统,在这种情况下您可能需要按用户设置它们)

此处为没有建议的 MiKTeX 用户列表https://docs.miktex.org/manual/envvars.html

有一个非常简洁的用户指南这里以及此处的另一段描述https://ccrma.stanford.edu/~jos/webpub/Installing_LaTeX_BibTeX_Input.html

在某些情况下,环境路径可能包括多个位置(受系统语法约束;对于 Windows:对于其他?)例如
设置 EnvVar=FirstDir;SecondDir;Default 的命令
不要忘记添加默认的最后!

然而,如果它似乎不起作用(特别是由于其他覆盖)那么就消除多个位置的混乱。

其他人评论说,但我无法验证“请记住,如果您从菜单启动编辑器,则 bashrc 中的任何设置都将被忽略。您需要将它们添加到 .profile,注销并再次登录。如果您从命令行启动 texworks,它将知道 bashrc 中的设置”

还要注意,在 Windows 和其他一些系统设置中(尤其是使用 setx / set),环境变量可能不会总是通过重新登录而“保留”。可能需要重新启动永久生效。

相关内容