metapost作图宏包mpgraphics的自动重命名
我们希望mpgraphics可以自动重命名,并将图的标题改为该重命名。可以这样实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
\usepackage{xparse} \makeatletter \NewDocumentEnvironment{mpfig}{m}{% \stepcounter{mpgfig}% \xdef\MPGCutFile{\mpgfigname.mp} \MPGverbatimwrite{\MPGCutFile} }{ \endMPGverbatimwrite% \MPGgraphicsinclude% \IfFileExists{\mpgfigname.\mpg@graphicsextension}{% \immediate\write18{cp "\mpgfigname.\mpg@graphicsextension" "img/#1.\mpg@graphicsextension"}% {\begin{center} \thempgfig:#1 \end{center}}% }{ \csname @mpg@no@\mpg@graphicsextension true\endcsname } \global\@mpg@noprocessfalse\noindent% } \makeatother |
添加上述代码到preamble区域。然后可以这样使用
1 2 3 4 5 |
\begin{mpfig}{a-circle} draw fullcircle scaled 100pt; \end{mpfig} |
则可以重命名生成的文件到img/
目录下(需要自己创建), 请用pdflatex编译。
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.
发表回复