我有一个 METAPOST 程序,它与 mpost 配合得很好,但当我尝试在 ConTeXt 中内联运行它时失败了。为了调试它,我想查看通常的 METAPOST 日志记录和/或使用 METAPOST “消息”原语。
但是,每当我向 ConTeXt 文件添加“loggingall;”或消息语句时,都会遇到如下错误
metapost > initializing instance 'metafun' using format 'metafun'
metapost > loading 'metafun': D:/texlive/2012/texmf-dist/metapost/context/base/metafun.mpiv
! terminal:
在 ConTeXt 中调试内联 METAPOST 代码问题的适当方法是什么?
我的示例文件是:
\loggingall
\starttext
\framed{Hello world.}
This is a simple_test.
\startMPpage
loggingall;
fill fullcircle scaled 1in withcolor blue;
label.top(btex This is a test. etex, origin);
\stopMPpage
\stoptext
我在 Windows 上使用 TeXLive 2012。
对于这个问题的模糊性,我深表歉意。我不太清楚各个部分是如何组合在一起的。
答案1
默认情况下,MetaPost 不显示通过 注入的消息message
。但是,可以使用 启用这些消息\enabletrackers
。
要启用详细调试输出,请使用tracingall
,它会将大量调试输出打印到控制台和日志文件。以下是完整示例:
\enabletrackers
[metapost.showlog]
\starttext
\startMPpage
tracingall;
message "This is a debug message.";
fill fullcircle scaled 1in withcolor blue;
label.top(btex This is a test. etex, origin);
\stopMPpage
\stoptext