在 Windows 10、MiKTeX 2.9、WinEdt 9.1 中使用带有 shell-escape 的 gmp

在 Windows 10、MiKTeX 2.9、WinEdt 9.1 中使用带有 shell-escape 的 gmp

Windows 10、MiKTeX 2.9 64 位、WinEdt Build:20150731(v. 9.1)- 64 位。我已更新 MiKTex 2.9 中的文件名数据库和所有格式文件。

我正在使用 gmp 包,它允许 MetaPost 文件成为 latex 文档的一部分。为了使用该包,必须在 pdflatex.ini 文件中放入 EnableWrite18=t。在 WinEdt 中添加 --enable-write18 或 --shell-escape 不起作用(可能是单独的问题)。但是,一旦我单击 WinEdt 中的 pdftexify 按钮并且编译遇到由 gmp 生成的 MetaPost 文件,就会弹出一个面板,提示 Metapost 已停止工作。一切似乎都加载正常 - .mp 和 .mpx 文件在那里,但 MetaPost 崩溃了。有人知道可能是什么问题吗?这里有一个 MWE,供那些希望尝试的人使用。

    \documentclass[10pt]{article}
    \usepackage{amsmath}
    %% use option 'nowrite' if graphics are stable
    \usepackage[shellescape,latex]{gmp}
    \usempxclass{article}
    \usempxpackage{amsmath}
    \setlength{\unitlength}{1cm}
    \begin{document}

    \begin{mpost}[name=mwe]
    numeric u; u:=1.0cm;
    draw (0,0)*u--(1,0)*u;
    label(\btex "A" etex, (0,0)*u);
    label(\btex "B" etex, (1,0)*u);
    \end{mpost}

    \usempost[width=4.0in]{mwe}

    \end{document}

答案1

正如明确指出的那样pdflatex.ini

请不要编辑此文件

因此请恢复该文件中的更改并重建格式。

您应该--shell-escape在调用编译器时启用该功能。

要在 WinEdt 中执行此操作,如果您希望使用 PDFTeXify 编译器,请转到选项->执行模式,并添加--tex-option=--shell-escape此编译器的“开关”字段,如下图所示。

在此处输入图片描述

如果您想对 PDFLaTeX 执行此操作,您只需添加--shell-escape相应的字段即可。

在此处输入图片描述

需要该--tex-option部分是因为 PDFTeXify 调用texify.exe需要该格式的 MiKTeX 的可执行文件。

现在你的代码应该可以顺利编译并输出以下输出:

在此处输入图片描述

相关内容