我在使用波浪符号时遇到了问题\bibliography{}
。请考虑以下代码
\documentclass{article}
\begin{document}
\cite{ref09:man}
\bibliographystyle{plain}
\bibliography{~/bug.bib}
\end{document}
“bug.bib”位于我的主目录“~/”中,定义为
@Manual{ref09:man, title = {Reftex 用户手册, 版本 4.34}, year = 2009 }
现在运行“pdflatex”然后运行“bibtex”,然后出现 BibTeX 的以下错误
White space in argument---line 4 of file d.aux
: \bibdata{\protect
: \unhbox \voidb@x \penalty \@M \ {}/bug.bib}
I'm skipping whatever remains of this command
I found no database files---while reading file d.aux
Warning--I didn't find a database entry for "ref09:man"
可以使用\string~
而不是 来修复此错误~
,即
\bibliography{\string~/bug.bib}
但是,现在 RefTeX 找不到 BibTeX 数据库,这是一个问题。当我\cite
在 emacs 中输入并按回车键时,我得到:
本文档中没有有效的参考书目,也没有可用的默认值
(绝对路径可以解决这个问题,例如\bibliography{/home/userName/bug.bib}
,但我不能使用它,因为我使用两台机器,一台在家里,一台在工作,它们的主目录的绝对路径不同)
答案1
创建一个目录 $HOME/texmf/bibtex/bib
并将您的 bib 文件放在那里。然后您就可以使用\bibliography{bug.bib}
,因为 BibTeX 和 RefTeX 都会搜索此目录(使用默认设置)。