mpgraphics不能编译成功的原因

首先mpgraphics需要启用-shell-escape来编译.
若还是出现形如下面的错误:
mpgraphics-error-message
其次, mpgraphics建议使用最新版的epstopdf, 故你可以更新epstopdf(texlive):

然后运行

来查看是否正常, 若出现

Can’t locate parent.pm in @INC (you may need to install the parent module)
则表示你需要安装parent这个perl模块. 事实上, 我在windows上尝试安装模块并不是很容易, 最简单的方法是(参考so的讨论):
1. 下载strawberry Perl
2. 或者在cygwin下安装perl完全包

cygwin-perl-install
再次运行epstopdf --version即可看到我们的版本已经是(cygwin下)2.26:

\$ epstopdf –version
epstopdf (\$Id: epstopdf.pl 41577 2016-06-30 16:38:01Z karl $) 2.26
Copyright 2009-2017 Karl Berry et al.
Copyright 2002-2009 Gerben Wierda et al.
Copyright 1998-2001 Sebastian Rahtz et al.
License RBSD: Revised BSD http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
再次运行编译tex, 发现已经正常.

还有一个常见的问题是在源码中使用了标签, 例如label.top, 则不同的编译方式可能会导致编译失败(例如vimtex默认的就不能编译), 此时可以手动编译如下看看是否成功:

这里yourmpname.mp是mpgraphics自动生成的mp文件. 注意在正式运行时, mpgraphics会自动删除这些mp文件. 你可以在导言区添加

来指定跳过第1个图以及第3到第5个图的处理, 这样就会保留mp文件了.

另外, 我附上修复vimtex的方法:

发表评论