我正在尝试在 LaTeX 项目之外的目录中创建一个中心参考书目(.bib
文件)。我想这样做,这样我就不必.bib
为我写的每篇论文设置不同的。目前,在每个.tex
文件中我都写道:
\bibliography{central-bibliography}
在我想要放置它的末尾。我的.bib
文件名为central-bibliography.bib
。该.bib
文件与文件位于同一目录中.tex
。
如果我将.bib
文件放在任意位置的目录中,我该如何在文件中引用它.tex
?
答案1
您可以在命令central-bibliography.bib
中引用绝对或相对(首选)位置\bibliography
:
\bibliography{../references/central-bibliography}
请注意使用/
而不是\
。尽管并非总是需要,但使用/
(正斜杠) 适用于大多数(所有?)操作系统。
如果您想从文档开头的位置修改它,您也可以定义一个命令来存储相对位置:
\documentclass{<class>}
\newcommand{\myreferences}{../references/central-bibliography}
%...
\begin{document}
%...
\bibliography{\myreferences}
%...
\end{document}
答案2
最简单的方法是将您的.bib
文件放在 TeX 可以找到的地方,这可以通过使用本地 TeX 树方便地完成。有关如何找到正确位置的一些基本知识,请参阅我应该将自己的 .sty 或 .cls 文件放在哪里,以使它们可供我的所有 .tex 文件使用?,主要关注.sty
文件。在我的 TeX Live 安装中,我使用以下位置:
- 视窗
C:\Users\<user name>\texmf\bibtex\bib\local
- Mac OS X
~/Library/texmf/bibtex/bib/local
- Linux
~/texmf/bibtex/bib/local
使用最新的 TeX Live,你可以简单地将.bib
文件放在适当的位置,它会被找到,所以你可以使用
\bibliography{myfile}
完全没有路径。使用较旧的 TeX Live 时,您可能需要texhash
先运行。MiKTeX 也允许相同的本地安装程序。
将文件放在本地 texmf 树中唯一的小问题.bib
是,它不像放在 Documents 文件夹中那样便于编辑。我通过使用链接来解决这个问题,因此我实际上将.bib
文件放在我的 Mac 上,然后使用 Unix命令~/Documents/Literature
从那里链接到它。在 Windows 7 上,您可以使用(您需要具有管理员权限才能执行此操作)执行类似操作。~/Library/texmf/bibtex/bib/local
ln
mklink
另一种方法是使用BIBINPUTS
环境变量来设置要搜索.bib
文件的路径,同样允许您直接使用文件名而不使用路径。设置环境变量取决于您使用的操作系统。
答案3
答案4
我终于找到了解决方案,它 100% 有效。它可以帮助您为所有文档创建中心参考书目,并且还可以自动同步您的图书馆。
首先,你必须找到你的主要 MikTex 文件目录和“基础”文件。我的是
C:\Program Files (x86)\MiKTeX 2.9\bibtex\bib\base
如果您使用 Windows 7 或更高版本,您一定要将 mendeley 设置为始终以管理员身份运行。右键单击 mendeley 快捷方式或 .exe 并选择属性。在属性框中,选择兼容性选项卡,然后选中“以管理员身份运行此程序”。就完成了。
其次,您必须设置 mendeley 以在此位置创建“library.bib”。这很简单,打开 mendeley 并转到
tools > options > bibtex
单击浏览并将其设置为“基本”文件位置。
刷新您的图书馆或关闭并打开 mendeley。确保 library.bib 文件在
C:\Program Files (x86)\MiKTeX 2.9\bibtex\bib\base
最后一步进入“MikTex 设置(管理员)”
单击“刷新 FNBD”,然后单击“更新格式”按钮。
如果你做对了一切,它肯定能正常工作。