我正在使用 TexMaker,如果它有帮助的话。我还有 TeXnicCenter 和 TexWorks。
该tex文件如下:
\documentclass[11pt]{book}
\begin{document}
(...)
\bibliographystyle{unrst}
\bibliography{C:\filelocation\bibfile}
\end{document}
这会产生“未定义的控制序列”错误...我该如何修复它?
任何帮助将不胜感激!
答案1
假设您已经找到错误的根源,我将尝试向您解释将您的参考书目文件放在哪里,以便 BibTeX 找到您的参考书目。
将其放在
bibfile.bib
与文件相同的目录中.tex
。将您的文件留
bibfile.bib
在目录“C:\filelocation”中,然后以这种方式调用 BibTeX(假设您的.tex
文件是test.tex
)bibtex --include-directory="C:/filelocation" 测试
在这两种情况下,请更改有问题的行:
\bibliography{C:\filelocation\bibfile}
到
\bibliography{bibfile}
注意第二种方式仅适用于 MiKTeX(它与 TeX Live 不兼容)。
不幸的是,使用BIBINPUTS
环境变量来设置搜索.bib
文件的额外路径(如@mapf 所建议的)对 MiKTeX 来说效果不好,所以最好不要这样做。这是因为 MiKTeX 有一种奇怪的方式管理变量,例如BIBINPUTS
。事实上,搜索顺序是:
当前目录。
--include-directory
用命令行开关指定的目录。MiKTeX 根文件夹中的目录
BIBINPUTS
变量中指定的目录
就您而言,安装了 Complete MiKTeX 后,运行后kpsewhich bibdata.bib
您将获得:
C:/Program Files/MiKTeX 2.9/bibtex/bib/mslapa/bibdata.bib
(或类似内容),这是 MiKTeX 使用的文件,即使您设置:
BIBINPUTS=.;C:/filelocation;
附录
只是为了完整性,我忘了提及这个明显的案例:
- 将您的放在文件
bibfile.bib
的子目录中.tex
,比方说biblio
。
在这种情况下,如果你写
\bibliography{biblio/bibfile}
答案2
正如@mafp 在评论中所说,您不能\
在路径名中使用。相反,更改\
为/
应该可以解决问题。