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 的可执行文件。
现在你的代码应该可以顺利编译并输出以下输出: