如何在 TexStudio 中使用多个 bib 文件?

如何在 TexStudio 中使用多个 bib 文件?

我的项目使用多个 bib 文件:a.bibb.bib。为了编译文档,我需要pdflatex首先,然后bibtexaux从这两个单独的bib文件生成的文件执行,最后pdflatex再执行两次。TexStudio 似乎无法bibtex在生成的aux文件上运行。但是,当我的项目曾经使用单个bib文件时,TexStudio 曾经运行完美。我该如何修复它?

答案1

多个.bib文件本身并不需要多次运行 BibTeX。

仅在文件的基本名称上运行 pdfLaTeX、BibTeX、pdfLaTeX、pdfLaTeX 后,以下示例文档看起来正常.tex

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=bibtex, style=authoryear]{biblatex}

\begin{filecontents}{\jobname-a.bib}
@book{elk,
  author    = {Anne Elk},
  title     = {A Theory on Brontosauruses},
  year      = {1972},
  publisher = {Monthy \& Co.},
  location  = {London},
}
\end{filecontents}
\begin{filecontents}{\jobname-b.bib}
@book{belk,
  author    = {Anne Belk},
  title     = {A Theory on Brontosauruses},
  year      = {1973},
  publisher = {Monthy \& Co.},
  location  = {London},
}
\end{filecontents}

\addbibresource{\jobname-a.bib}
\addbibresource{\jobname-b.bib}

\begin{document}
Lorem \autocite{belk,elk}

\printbibliography
\end{document}

使用 和后,一旦您开始使用 s 和其他高级功能(本质上需要生成单独的参考书目),您将需要多次运行 BibTeX 。但是,这biblatex与您正在使用的文件数量无关(并且您通常会对名称源自文件基本名称的文件运行 BibTeX ,而不是对任何文件运行 BibTeX)。backend=bibtex,refsection.bib.tex.bib

如果您backend=biber,按照建议使用,biblatex则只需在主文件的基本名称上调用 Biber,.tex即使您使用refsections 等高级功能也是如此。无需在不同的文件上运行 Biber。在特殊情况下可能需要的唯一内容是更长的编译序列,形式为 LaTeX、Biber、LaTeX、Biber、LaTeX、LaTeX。

这个答案是从一个biblatex角度写的,但它仍然适用于经典的 BibTeX 角度。多个.bib文件不需要在多个文件上运行 BibTeX。多个参考书目,如由bibtopic和朋友们也可能会这么做。


据我所知,TeXStudio 在需要时可以自动为您运行 LaTeX 和 BibTeX/Biber,但至少对我来说,这种启发式方法并不总是正确的,我相信它不支持在多个文件上调用 BibTeX 之类的功能。如果您可以始终如一地重现 TeXstudio 不愿按照文档的要求运行 BibTeX 的情况,您可以打开一个问题https://github.com/texstudio-org/texstudio/issues请求对多个 BibTeX 运行的支持。

对于高级的一站式构建控制,你可能需要看看latexmk或者arara

相关内容