设置 TexLive 安装的 bst 文件的路径

设置 TexLive 安装的 bst 文件的路径

我从 Ubuntu Linux 上的 CTAN 提供的安装程序安装了 TexLive 2013。到目前为止,我已经能够使用 latex 和 pdflatex 命令,但我遇到了 bibtex 问题。我需要进行任何设置(例如导出环境变量)才能让 bibtex 知道.bst文件的位置吗?

bibtex 命令似乎无法识别.bst存储在 texlive/2013/texmf-dist/bibtex/bst/revtex/texlive/2013/texmf-dist/bibtex/bst/natbib/等下的文件。

然而,.bst下面的文件 texlive/2013/texmf-dist/bibtex/bst/base/ 似乎被识别了。

我实际上想要使用的样式文件是 texlive/2013/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst。如果我这样做, $ kpsewhich aipnum4-1.bst 我将一无所获。

我安装了TexLive 2013后,没有对tex系统做任何改动,没有手动添加文件,也没有更新TexLive。


编辑

根据评论,我添加了一个小例子。下面的sample.texfa.bib可以用pdflatex和bibtex编译成PDF。在下plain.bsttexlive/2013/texmf-dist/bibtex/bst/base/如果我更改\bibliographystyleaipnum4-1或注释掉其他样式,则不会生成参考部分,并且引用会用问号标记。

sample.tex

\documentclass{article} 

\begin{document}

This is the minimum story I heard from the king of Elephants. \cite{pa}

\bibliography{fa.bib}
\bibliographystyle{plain}
% .. works
%\bibliographystyle{aipnum4-1}
% .. does not work
%\bibliographystyle{siam}
%\bibliographystyle{apsrev}
%\bibliographystyle{plainnat}

\end{document}

fa.bib

@Article{pa,
  author =   {Elegant Elephant},
  title =    {Eggs of Elephants are Elegant},
  journal =  {Elite Elephants},
  year =     {2399},
  volume =   3,
  pages =    447,
}

编辑2

我发现我对PATH环境变量(以及MANPATHINFOPATH)的设置不合适。我已将它们设置/etc/profile

INFOPATH=$INFOPATH:/usr/local/texlive/2013/texmf-dist/doc/info
MANPATH=$MANPATH:/usr/local/texlive/2013/texmf-dist/doc/man
PATH=$PATH:/usr/local/texlive/2013/bin/x86_64-linux

我将其更正为

INFOPATH=/usr/local/texlive/2013/texmf-dist/doc/info:$INFOPATH; export INFOPATH
MANPATH=/usr/local/texlive/2013/texmf-dist/doc/man:$MANPATH; export MANPATH
PATH=/usr/local/texlive/2013/bin/x86_64-linux:$PATH; export PATH

我的 Ubuntu 包管理器似乎在/usr/share/texlive/和下安装了它自己的 tex 系统/usr/share/texmf/,可能是因为另一个包依赖于 tex 包。

由于第一个错误的设置PATH,ubuntu 安装的 tex 相关可执行文件优先于我直接从 CTAN 安装的 texlive 2013。例如, 使用了kpsewhichat而不是。结果,当我这样做时/usr/bin/kpsewhich/usr/local/texlive/2013/bin/x86_64-linux/kpsewhich

kpsewhich plain.bst

我有

/usr/share/texlive/texmf-dist/bibtex/bst/base/plain.bst

这是由 ubuntu 的 tex 包安装的。仅安装了此包,bibtex/bst/base/但没有安装bibtex/bst/revtex/其他 bst 目录, kpsewhich aipnum4-1.bst导致字符串为空。

现在,使用更正后的 PATH 设置,

kpsewhich aipnum4-1.bst

返回

/usr/local/texlive/2013/texmf-dist/bibtex/bst/revtex/aipnum4-1.bst

可以使用注释中列出的任何 bst 文件将上述示例 tex 文件编译为 PDF。

看起来 ubuntu 的 tex 包没有安装pdflatex/usr/local/texlive/2013/bin/x86_64-linux/pdflatex到目前为止我一直很愉快地使用。

读完这个答案后我意识到了自己的错误:

https://tex.stackexchange.com/a/273893/62461

相关内容