我有一个名为“AB C.bib”的 .bib 文件,该文件被分配给“AB C.tex”。当我运行 .tex 文件然后运行 .bib 文件时,我收到以下错误:
White space in argument---line 18 of file A B C.aux
: \bibdata{'A
: B C'}
I'm skipping whatever remains of this command
答案1
BibTeX 不接受其输入的参考书目文件名称中包含空格。因此名为的文件A B C.bib
会被拒绝。
该.bib
文件绝对没有必要与 LaTeX 文件同名;相反,许多人会整理他们的大型参考书目文件,并将其称为所有论文的文件。
示例。以下是文件naji.tex
:
\documentclass{article}
\begin{document}
\cite{x} \cite{y}
\bibliographystyle{plain}
\bibliography{najibibdatabase}
\end{document}
你可以通过以下方式处理它:
pdflatex naji
bibtex naji
pdflatex naji
pdflatex naji
BibTeX 的工作就是从naji.aux
该行开始读取
\bibdata{najibibdatabase}
因此它可以打开并读取文件并从中提取与和键najibibdatabase
相对应的条目。x
y
没有要求参数与\bibliography
给出的主 TeX 文件同名。
无论如何,最好避免在所有与 TeX 相关的文档的文件名中使用空格。
答案2
如果您使用的是 Mac 或 Linux,则可以使用指向 .bib 文件的符号链接。在命令行中,键入以在和实际 .bib 文件ln -s <target> bib.bib
之间创建符号链接。您现在可以在 .tex 文件中使用。bib.bib
\bibliography{bib}