接下来是一小段代码。我想获取圆形框的半径。如果我将最后一句放在 drawboxed 命令之前,编译会失败,原因是unknown pair
。看起来只有在绘制圆形框后我才能获取圆形框的半径。但我想将框绘制在与半径相关的某个地方,B
而不是示例中的原点。所以,
1)我可以在绘制盒子之前获取半径吗?
2) 或者我可以move
在该框绘制之后再使用它吗?drawboxed (bulb) shifted p3
不起作用。
请帮忙。谢谢。
outputtemplate := "%j-%c.eps";
prologues := 1 ;
input boxes
verbatimtex
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\begin{document}
etex
beginfig(1)
pair A;
circleit.bulb(btex foo etex);
bulb.c = origin;
drawboxed(bulb);
B = abs(bulb.e - bulb.w);
endfig;
答案1
不知道 1),但你可以通过将整个盒子保存为图片(使用图像命令)并将该图像移动到您想要的位置。
outputtemplate := "%j-%c.eps";
prologues := 1 ;
input boxes
verbatimtex
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\begin{document}
etex
beginfig(1)
circleit.bulb(btex foo etex);
%bulb.c = origin; % not needed, it's the default location
picture p; p = image(drawboxed(bulb));
B = abs(bulb.e - bulb.w);
draw p;
draw p shifted (2B, 0);
endfig;
end.