在 AUCTeX 中对 LaTeX 的 preview-latex 调用中添加 -shell-escape 选项

在 AUCTeX 中对 LaTeX 的 preview-latex 调用中添加 -shell-escape 选项

我需要在调用 PDFLaTeX 时preview-latex使用该-shell-escape选项,这是minted语法高亮包,因为它调用了 python。我该怎么做?

答案1

来自预览 Latex文档:

预览 LaTeX 命令

当您在缓冲区或区域上生成预览时,preview-LaTeX-command 中的命令将运行(该变量只能用 Customize 更改,因为它的结构有些奇怪,但很有表现力)。与 AUCTeX 一样,您可以在此过程中继续工作。在 preview-latex 确定预览的位置之前更改文件并不是一个好主意,它只能在 LaTeX 运行完成后才能这样做。此运行会产生大量伪错误消息,这些消息在 LaTeX 运行结束时由 preview-latex 解析,并为其提供有关源文件中各种预览的 LaTeX 代码的确切位置的必要信息。解析需要一点时间,并将导致 Emacs 繁忙。

浏览到AUCTeX定制组>Preview > Preview Latex并找到选项Preview latex command。展开后,它看起来像这样:

在此处输入图片描述

更换线路

%`%l "\nonstopmode\nofiles\PassOptionsToPackage{

%`%l -shell-escape "\nonstopmode\nofiles\PassOptionsToPackage{

应该可以解决问题。如果有效,不要忘记单击“设置为当前会话”和“保存以供将来会话”!

答案2

根据之前的回答,我通过 UI 更改了设置,并查看了写入 .emacs 的内容 - 与该问题相关的部分是

(custom-set-variables
 ....
 ....
 '(preview-LaTeX-command (quote ("%`%l -shell-escape \"\\nonstopmode\\nofiles\\PassOptionsToPackage{" ("," . preview-required-option-list) "}{preview}\\AtBeginDocument{\\ifx\\ifPreview\\undefined" preview-default-preamble "\\fi}\"%' %t")))
 ...
 ...
)

相关内容