我已经将 MiKTeX 2.8 升级到 2.9。Metapost 中以前可以使用的所有标签命令都不再起作用。我正在将 MiKTeX 与 TeXnicCenter 结合使用。MetaPost 版本显然是 1.803(MiKTeX 2.9)。我正在使用 单独编译 MP 文件mpost.exe
,下面突出显示了用于编译 MP 文件的构建过程。
MP 文件的示例代码是
beginfig(1);
draw (0,0)--(2cm,3cm);
draw thelabel.lft(btex $m$ etex,(0,0));
endfig;
end;
编译的输出状态如下:
--------------------Output Profile: Metapost--------------------
Metapost> This is MetaPost, version 1.803 (MiKTeX 2.9)
Metapost> (mpost.mp (C:/Program Files (x86)/MiKTeX 2.9/metapost/base/plain.mp
Metapost> Preloading the plain mem file, version 1.004) )
Metapost> (C:/Vishnu/Miscellaneous/Metapost/Label problem/trial1.mp
每次进行编译时都会创建新文件mp880129.tex
,mp80530.tex
内容如下
\gdef\mpxshipout{\shipout\hbox\bgroup
\setbox0=\hbox\bgroup}
\gdef\stopmpxshipout{\egroup \dimen0=\ht0 \advance\dimen0\dp0
\dimen1=\ht0 \dimen2=\dp0
\setbox0=\hbox\bgroup
\box0
\ifnum\dimen0>0 \vrule width1sp height\dimen1 depth\dimen2
\else \vrule width1sp height1sp depth0sp\relax
\fi\egroup
\ht0=0pt \dp0=0pt \box0 \egroup}
\mpxshipout% line 4 C:/Vishnu/Miscellaneous/Metapost/Label problem/trial1.mp
$m$%
\stopmpxshipout
\end{document}
我请求帮助来解决这个问题。我已经很久找不到解决方案了。
答案1
我也遇到了同样的问题。该问题的解决方案是:
- 开始 -> 所有程序 -> MikTex 2.9 -> 维护(管理员)-> 设置(管理员)
- 选择“格式”。出现以下窗口
- 点击“新建”,出现以下窗口
请执行下列操作
(A)格式键:放任何你想要的东西(例如 latex_metapost_btex)
(二)格式名称:乳胶
(C)输入文件名:乳胶文件
(四)输出文件名:(没什么,因为)
(五)预加载格式:(没什么,因为)
(F)描述:你想要什么
(g)取消选中“更新所有格式文件时排除此格式”
(h)点击“确定”
- 在上一个窗口中,选择新格式的行(例如 latex_metapost_btex)并点击“Build”,然后点击“OK”
现在,“btex etex”命令运行时出现了一个小问题。具体来说,在每个标签的末尾都会添加符号 %。要解决该问题,请执行以下操作:
- 在代码的开头添加命令\def\%{}
- 当然,现在您不能使用符号 % 作为标签。如果您需要这样做,请在代码的序言中输入命令\newcommand{\pct}{\char"25}并将其用于您的标签。
乔治斯
答案2
我已经能够解决 MiKTeX 2.9 引起的问题。我已完全卸载 MiKTeX 2.9 并安装了 TeX Live 2013(我从 Troy Henderson 的网页上获得了这个想法:http://www.tlhiv.org/mppreview/其中明确指出它使用“MetaPost 版本 1.9 (TeX Live 2014/dev) (kpathsea 版本 6.2.0dev)“)。但是,我在尝试将其与 TeXnicCenter 集成时仍然遇到问题。我仍然需要从命令行调用命令来执行 Metapost 文件mpost filename.mp
。但命令行选项没有任何障碍。我能够毫无问题地合并所有标签。