亲爱的百合花,
最近,我在玩METAPOST环境时遇到了一个问题。当使用循环“for”宏绘制一些东西时,我需要循环变量的值在标签中正确显示,但是我想不出如何做到这一点,而且Mr.Google无法帮助我。下面是我使用的代码示例:
for i=1 upto N: label(btex $here should be the value of i$, some_position); endfor;任何类型的帮助都将得到认可:]
发布于 2013-07-31 16:06:50
一开始,在etex之前缺少一个, some_position。btex和etex之间的所有内容都被视为字符串。它没有被解释。为此,必须首先由TEX()计算字符串的内容。示例:
prologues := 2;
input tex;
verbatimtex
\documentclass[12pt,a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
etex;
beginfig(0);
n := 10;
for i := 1 upto n:
label.lrt(TEX("$i = "&decimal(i)&"$"),(0,i*1cm));
endfor;
endfig;如果您想使用,您必须以这样的方式修改原始的TEX():
vardef TEX primary s =
write "verbatimtex" to "mptextmp.mp";
write "\documentclass[12pt]{article}" to "mptextmp.mp";
write "\usepackage[T1]{fontenc}" to "mptextmp.mp";
write "\usepackage[ansinew]{inputenc}" to "mptextmp.mp";
write "\usepackage{amsmath,amssymb}" to "mptextmp.mp";
write "\begin{document}" to "mptextmp.mp";
write "etex" to "mptextmp.mp";
write "btex "&s&" etex" to "mptextmp.mp";
write EOF to "mptextmp.mp";
scantokens "input mptextmp"
enddef;希望这有帮助
五. W.
https://stackoverflow.com/questions/15930810
复制相似问题