ConTeXt 图形示例编译

ConTeXt 图形示例编译

绞尽脑汁想把这个例子编译成mkiv 手册(第 57 页)。

示例运行:$ context file.tex

我遗漏了什么吗?

%engine=luatex    
\setuphead[section][style=\bfa]
\setupbodyfontenvironment[default][em=italic]

\startluacode
local template = [[
path p, q ; color c[] ;
c1 := \MPcolor{darkblue} ;
c2 := \MPcolor{darkred} ;
p := fullcircle scaled 50 ;
l := length p ;
n := %s ;
q := subpath (0,%s/n*l) of p ;
draw q withcolor c2 withpen pencircle scaled 1 ;
fill fullcircle scaled 5 shifted point length q of q withcolor c1 ;
setbounds currentpicture to unitsquare shifted (-0.5,-0.5) scaled 60 ;
draw boundingbox currentpicture withcolor c1 ;
currentpicture := currentpicture xsized(1cm) ;
]]
local function steps(n)
for i=0,n do
context.metafun.start()
context.metafun(template,n,i)
context.metafun.stop()
if i < n then
context.quad()
end
end
end
context.hbox(function() steps(10) end)
\stopluacode

输出:

tex error       > tex error on line 2 in file /Users/user/Desktop/coo/Untitled.tex: ! Argument of \meta_start_code_standard has an extra }

<inserted text> 
\par 
<to be read again> 
}
l.2 ...th p, q ; color c[] ;
    c1 := (0,0,0)white}
                                                   ;
    c2 := (0,0,0)black}...
<to be read again> 
}
l.4 }

}ontext.hbox(function() steps(10) end)

...
l.32 \stopluacode


 1     \setuphead[section][style=\bfa]
 2 >>  \setupbodyfontenvironment[default][em=italic]
 3     
 4     \startluacode
 5     local template = [[
 6         path p, q ; color c[] ;
 7         c1 := \MPcolor{white} ;
 8         c2 := \MPcolor{black} ;
 9         p := fullcircle scaled 50 ;
10         l := length p ;
11         n := %s ;
12         q := subpath (0,%s/n*l) of p ;

? 

答案1

转换Wolfgang 的评论直到他自己发布一个答案:

当您将示例(不包括luacode环境和其他设置)放入扩展名为 的文件中时,它就会起作用cld

您还可以使用以下方式在 CLD 模式下运行 ConTeXtcontext yourfile.xyz --forcecld

相关内容