如何从当前项目以外的目录引用 bibtex 文件?
How do I reference a bibtex file from directory other than current project?
我想做的是在一个方便的目录中创建一个 "Master" bibtex 参考书目(通过 JabRef 组织),这样我就不需要将我从事的每个项目的新参考资料复制到我的主数据库中.我遇到的问题是,虽然我可以很容易地引用另一个 file(例如,对于 STATA 回归 table 输出),即使它不在同一目录中,书目不想合作
出于本示例的目的,我在
中创建了一个虚拟目录
My Documents/Course/Paper.
Tex文件在
下
My Documents/Course/Paper/MasterTexFile.tex
代码中引用的示例 Tex 文件(简称为 Text)在
下
My Documents/Course/Text.tex.
我的理想是将参考书目放在一个更通用的目录中,但出于说明目的,我将其放在工作 tex 文件的正上方。文档代码如下:
\documentclass[12pt,titlepage]{article}
\usepackage[round,longnamesfirst]{natbib}
\usepackage{setspace}
\doublespacing
\usepackage[margin=1in]{geometry}
\usepackage{hyperref}
\hypersetup{
pdftitle={TITLE},
pdfauthor={AUTHOR},
pdfsubject={SUBJECT},
pdfkeywords={KEYWORD} {KEYWORD} {KEYWORD},
colorlinks=true,
linkcolor=blue,
citecolor=blue,
filecolor=magenta,
urlcolor=blue
}
\begin{document}
\title{TITLE}
\date{\today}
\author{AUTHOR\STUDENT NUMBER}
\maketitle
%Begin Document Text
\pagestyle{headings}
\section{Introduction}
\cite{Shapiro2015} %Example citation from my database
\input{../Text} %this comes from the directory ABOVE that of the current file.
%\input{../00 Master Bibliography} %This was inputted using the user interface (Texmaker). I have it here just to demonstrate that it is truly in the directory.
%References
\newpage
\bibliographystyle{plainnat}
\bibliography{../00 Master Bibliography}
%\bibliography{00_Master_Bibliography} %If the database is in the directory, everything works fine.
\end{document}
文档编译(我依次使用 PdfLatex、BibTex、PdfLatex x2),并正确引用了 Text 文档(其中仅包含单词 "Text"),但我收到以下错误:
Package natbib Warning: Citation `Shapiro2015' on page 1 undefined on input line 40.
Package natbib Warning: Empty `thebibliography' environment on input line 8.
Package natbib Warning: There were undefined citations.
注意:为简洁起见,我删除了一些注释行,因此如果将其复制到编辑器中,行号会有所不同。
如果找不到数据库,这些是预料之中的,但我不知道为什么找不到它。它与natbib有什么关系吗? natbib 包的一个特性是它不能从当前文件目录以外的任何目录引用数据库吗?这似乎不太可能。
如有任何帮助,我们将不胜感激!
好吧,原来我们有一个简单的解决方案。我不确定它是我在参考书目名称之前的“00”(我添加了“00”以确保它位于其文件夹中文件列表的顶部),还是这些之间的 space和单词 'Bibliography',但将文件名更改为简单的“参考书目”是可行的。
我想做的是在一个方便的目录中创建一个 "Master" bibtex 参考书目(通过 JabRef 组织),这样我就不需要将我从事的每个项目的新参考资料复制到我的主数据库中.我遇到的问题是,虽然我可以很容易地引用另一个 file(例如,对于 STATA 回归 table 输出),即使它不在同一目录中,书目不想合作
出于本示例的目的,我在
中创建了一个虚拟目录 My Documents/Course/Paper.
Tex文件在
下 My Documents/Course/Paper/MasterTexFile.tex
代码中引用的示例 Tex 文件(简称为 Text)在
下 My Documents/Course/Text.tex.
我的理想是将参考书目放在一个更通用的目录中,但出于说明目的,我将其放在工作 tex 文件的正上方。文档代码如下:
\documentclass[12pt,titlepage]{article}
\usepackage[round,longnamesfirst]{natbib}
\usepackage{setspace}
\doublespacing
\usepackage[margin=1in]{geometry}
\usepackage{hyperref}
\hypersetup{
pdftitle={TITLE},
pdfauthor={AUTHOR},
pdfsubject={SUBJECT},
pdfkeywords={KEYWORD} {KEYWORD} {KEYWORD},
colorlinks=true,
linkcolor=blue,
citecolor=blue,
filecolor=magenta,
urlcolor=blue
}
\begin{document}
\title{TITLE}
\date{\today}
\author{AUTHOR\STUDENT NUMBER}
\maketitle
%Begin Document Text
\pagestyle{headings}
\section{Introduction}
\cite{Shapiro2015} %Example citation from my database
\input{../Text} %this comes from the directory ABOVE that of the current file.
%\input{../00 Master Bibliography} %This was inputted using the user interface (Texmaker). I have it here just to demonstrate that it is truly in the directory.
%References
\newpage
\bibliographystyle{plainnat}
\bibliography{../00 Master Bibliography}
%\bibliography{00_Master_Bibliography} %If the database is in the directory, everything works fine.
\end{document}
文档编译(我依次使用 PdfLatex、BibTex、PdfLatex x2),并正确引用了 Text 文档(其中仅包含单词 "Text"),但我收到以下错误:
Package natbib Warning: Citation `Shapiro2015' on page 1 undefined on input line 40.
Package natbib Warning: Empty `thebibliography' environment on input line 8.
Package natbib Warning: There were undefined citations.
注意:为简洁起见,我删除了一些注释行,因此如果将其复制到编辑器中,行号会有所不同。
如果找不到数据库,这些是预料之中的,但我不知道为什么找不到它。它与natbib有什么关系吗? natbib 包的一个特性是它不能从当前文件目录以外的任何目录引用数据库吗?这似乎不太可能。
如有任何帮助,我们将不胜感激!
好吧,原来我们有一个简单的解决方案。我不确定它是我在参考书目名称之前的“00”(我添加了“00”以确保它位于其文件夹中文件列表的顶部),还是这些之间的 space和单词 'Bibliography',但将文件名更改为简单的“参考书目”是可行的。