![带有 Bib 书目编译错误的 TeX 文件](https://linux22.com/image/430002/%E5%B8%A6%E6%9C%89%20Bib%20%E4%B9%A6%E7%9B%AE%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF%E7%9A%84%20TeX%20%E6%96%87%E4%BB%B6.png)
我有以下目录:
/run.py
/doc
main.tex
reference.bib
在 中main.tex
,我有一个参考文献,应该显示 bib 文件中的参考文献部分。我也在中\bibliography{reference}
使用过。总而言之,应该显示参考文献部分,因为我已经在 Overleaf 上测试过它,并且它在同一级目录中正确显示。\cite{something}
main.tex
main.tex
reference.bib
现在我尝试.tex
使用 Python 在我的计算机上编译该文件。在里面run.py
,我有代码subprocess.call(["pdflatex", "./doc/main.tex"])
,并且正在目录中运行该代码run.py
。但是该代码会产生错误,指出未找到引用的参考:
LaTeX Warning: Citation `something' on page 1 undefined on input line 104.
! LaTeX Error: Something's wrong--perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.117 \end{mcsection}
并且编译后的PDF文件不显示参考部分。
我尝试过\bibliography{reference.bib}
,,,它们都产生\bibliography{doc/reference}
相同\bibliography{./doc/reference.bib}
的错误。我做了一些研究其中说我应该使用进行编译bibtex
,因此我尝试了以下代码:
subprocess.call(["pdflatex", "./doc/card.tex"])
subprocess.call(["bibtex", "./doc/reference.bib"])
subprocess.call(["pdflatex", "./doc/card.tex"])
subprocess.call(["pdflatex", "./doc/card.tex"])
这仍然会产生同样的错误。
答案1
我调用了bibtex
错误的文件。应该是
subprocess.call(["pdflatex", "./doc/card.tex"])
subprocess.call(["bibtex", "card"])
subprocess.call(["pdflatex", "./doc/card.tex"])
subprocess.call(["pdflatex", "./doc/card.tex"])
因此它在生成的 pdf 文件上运行 bibtex。