TeXstudio:如何自动化 LaTeX biber 编译序列

TeXstudio:如何自动化 LaTeX biber 编译序列

我有点困惑如何配置 TeXstudio 以使用biber。 并不是我找不到方法,我只是想知道预期的方法是什么,即来自 WinEdt 我习惯于“构建”或“编译”触发latex biber latex latex sequence。 但我不得不发现 TeXstudio 显然不是默认配置的。 默认情况下,“构建和查看”会触发txs:///compile | txs:///view,和compile,根据手册“调用txs:///pdflatex实际的调用pdflate[x]”。甚至没有工具栏按钮来触发biber。我不得不在菜单中寻找它并手动将其关闭(或按F11)。这对我来说毫无意义,所以我想知道我是否遗漏了什么?

这是我所做的:我现在已将默认编译器更改为触发latex biber latex latex(或者更txs:///compile | txs:///bibliography | txs:///compile | txs:///compile | txs:///view确切地说:)。但后来我注意到“重复包含的编译命令”按钮,这似乎是一个不错的主意,但对我来说并没有多大意义,所以我关闭了默认编译器的按钮,因为我想在之前调用一次,biber在之后调用两次biber,如果设置为重复,这是不可能的。所以我有点想知道我是不是没有理解 TeXstudio 的逻辑,或者为什么它看起来像是……这太奇怪了。

PS 只是为了澄清:这个问题实际上与 无关biber。只是我正在使用biber。我猜使用 也会出现同样的问题bibtex

更新:我承认我的问题不太清楚。我想我正在尝试了解 TeXstudio 如何运行编译序列以及如何对其进行自定义,即(高级)配置选项的逻辑是什么。

答案1

要使 TeXStudio(当前版本 2.12.2)biber默认使用,请单击

选项 > 配置 TeXstudio > 构建 > 默认参考书目 > Biber

如果默认没有设置,那么您必须在选项中配置该命令。

选项 > 配置 TeXstudio > 命令 > Biber > 选择文件 > (在 Ubuntu 16.10 中)/usr/local/texlive/2016/bin/x86_64-linux/biber

现在按下F5即可运行您想要的序列。

答案2

我刚刚安装了 TeXstudio,遇到了类似的问题。让我分享一下解决方案,也许它能帮助到某些人。我在 Windows 下使用 Miktex。我使用 pdfLaTeX 进行编译,并使用 BibTeX 和 Natbib 进行参考书目。

问题。在我更改文档中的参考书目样式(\bibliographystyle命令).tex并运行“构建和查看”后,文件中的参考书目格式.pdf保持不变(尽管“编译前检查并更新参考书目”处于开启状态)。使用compile bibliography compile compile“构建和查看”的顺序(如 OP 所建议的)会显著增加编译时间。

解决方案. 遵循https://tex.stackexchange.com/a/8792/214965,我-draftmode在前两个编译中添加了参数。但是,每当我将参考书目样式从带有编号引用的样式更改为带有作者年份引用的样式时,都会触发错误“参考书目与作者年份引用不兼容”。作为一种解决方法,我在序列前面添加了一个命令来清除所有辅助文件。结果配置(在“构建”部分)如下所示。

  • 设置命令Precompile= pdflatex.exe -draftmode -synctex=1 -interaction=nonstopmode %.tex该命令在我的配置中是空的,但如果您不想覆盖它,请添加自定义命令。
  • 添加自定义命令clean-files=C:\WINDOWS\system32\cmd.exe /C del "?am.aux" "?am.bbl" "?am.blg" "?am.log" "?am.out"
  • 添加自定义命令compile-full=txs:///clean-files | txs:///pre-compile | txs:///bibliography | txs:///pre-compile | txs:///compile | txs:///view

之后,我将其添加txs:///compile-full到菜单和工具栏以便使用它来代替“构建和查看”。

答案3

“自动再试一次”背后的启发式方法确实很有趣。看来我找到了相应的代码部分。

主要思想是查看对于特定的硬编码模式,No file.*\\.(aux|toc)。此外,如果“编译前检查并更新参考书目“复选框已检查, 它也是检查“缺失引用”通过寻找Citation <...> undefined

自动检查编译日志是一项非常好的功能。但它是硬编码的,仅支持 bibtex。据我所知,不能通过简单地修改相应的正则表达式来添加 biber 支持 - 例如,如果我删除对特定文章的所有引用 - 我不会从参考列表中消失,(除非我运行全序列),并且我不会收到任何需要“注意”的警告。

相关内容