答案1
TeXworks 将其排版首选项保存在其配置文件夹中名为 tools.ini 的纯文本文件中。注意,内容会因 TeX 引擎的不同而有很大差异,这里有一个带有 MiKTeX 条目的。
因此你有两个选择
a)直接编辑(确保已经备份,请勿编辑使用 TeXworks 也不当 TeXworks 正在运行时)然而对于您的情况,这可能没有太大帮助,因为有些人可能称之为“平面”格式,看看命令链中XeLaTeX+MakeIndex+BibTeX
只有一个名为 texify.exe 的程序。
为了您的使用,我们需要指定一个单一程序来执行您所需的选项 XeLaTeX -> PdfLatex -> Bibtex -> PdfLatex
。
b) 在 TeXworks Preferences 中向新的处理工具定义添加条目,但是我们刚刚看到,它也受到每次一个进程处理程序的相同限制。
那么最好的方法是什么?还有其他批处理程序,如 latexmk 和 araura这些可以省去很多反复试验的麻烦。
由于我们可以看到 ini 的内容,因此我们可以相当轻松地进行自制并添加额外的工具
注意我有 18 个,所以下一个要添加的是 019将要对你来说有所不同。-shell-escape 应该是可选的,尝试并且没有
[019]
name="XeLaTeX,pdfLaTeX++BibTeX,pdfLaTeX"
program=MyTool.cmd
arguments=$fullname, -shell-escape
showPdf=true
MyTool.cmd 必须位于“路径”的某个位置,最好与 MiKTeX 二进制文件一起,但如果它们也在路径上,这并不重要。
Rem highly simplified to only take %1 = $fullname as passed by MiKTeX NOTE filenames with spaces are most likely to fail. (that has not been but could be allowed for)
Rem optionally %2 passes --shell-escape
::
miktex-xetex.exe %2 --synctex=1 -undump=xelatex %1
texify.exe --pdf --engine=xetex --synctex=1 --clean %1
miktex-pdftex.exe %2 --synctex=1 -undump=pdflatex %1
::
pause whilst testing
:: remove this pause once testing is done
仅在第一次运行时才需要暂停以检查控制台是否找到并正常工作,通常会有更多的消息,但这是一个快速而粗略的概念证明。