您能告诉 TeXShop 以某种方式进行编译而不使用 shebang 吗?

您能告诉 TeXShop 以某种方式进行编译而不使用 shebang 吗?

我有一个自定义类,它有一个参考书目选项。如果我不使用该选项,我更愿意使用 进行编译pdflatex;但是,如果我使用该选项,我更愿意使用pdflatexmk。这是因为pdflatexmk编译需要更长的时间,除非我需要,否则我并不想这样做。

问题是,我确实认为 shebang 需要位于文件的顶部,如下所示:

\newif\ifbib\bibfalse
\DeclareOption{bib}{\bibtrue}

\ifbib
    % !TEX TS-program = pdflatexmk
\else
    % !TEX TS-program = pdflatex
\fi

不起作用。我怎样才能实现我想要的?

答案1

您尝试的方式无法做到这一点。魔法注释行由编辑器解析;它们与文档中的任何 TeX 代码均无关联。不清楚您为什么需要这样做。 latexmk通常足够聪明,不会在不需要时多次运行。我在起草文档时所做的就是使用非版本,latexmk直到接近结尾,然后更改为使用latexmk。这比在代码中设置选项的工作量要少得多;您只需根据需要删除或添加mk魔法命令中的部分即可。

如果您确实认为需要对构建过程有更多的控制,那么您也可以使用araraTeXShop 引擎。

答案2

在文件中使用 pdflatexmk 指令。使用 Cmd-T 使用 pdflatexmk 排版,使用 Shift-Cmd-L(覆盖指令并使用 Typeset 菜单的 LaTeX 命令)使用 pdflatex。

相关内容