Re: [NTG-context] Passing text to Metapost functions

2005-12-27 Thread Taco Hoekwater

David Arnold wrote:

Hans,

I've tried various things without much success. I cannot seem to  access 
the contents of xlbl below.


Is this approach ever going to work?


I can make your example work by passing the argument as
a true metapost string:

  * remove the \MPstring command: draw textext.origin(xlbl);
  * create_axes(xmin,xmax,ymin,ymax,ux,uy)(x);

But it is out of sync: you always have to call texexec twice
whenever you make changes.

Cheers,
Taco
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] Passing text to Metapost functions

2005-12-27 Thread David Arnold
OK. But I need it set as btex $x$ etex at the right end of the  
horizontal axis.


On Dec 27, 2005, at 12:09 AM, Taco Hoekwater wrote:


David Arnold wrote:

Hans,
I've tried various things without much success. I cannot seem to   
access the contents of xlbl below.

Is this approach ever going to work?


I can make your example work by passing the argument as
a true metapost string:

  * remove the \MPstring command: draw textext.origin(xlbl);
  * create_axes(xmin,xmax,ymin,ymax,ux,uy)(x);

But it is out of sync: you always have to call texexec twice
whenever you make changes.

Cheers,
Taco
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] Passing text to Metapost functions

2005-12-27 Thread Taco Hoekwater



David Arnold wrote:
OK. But I need it set as btex $x$ etex at the right end of the  
horizontal axis.


I'm not going to fiddle with the right end for you, but
You can make it $x$ by:

   create_axes(xmin,xmax,ymin,ymax,ux,uy)($x$);

Cheers, Taco

___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] Passing text to Metapost functions

2005-12-26 Thread Hans Hagen

David Arnold wrote:


1. How can I do this in plain metapost?

2. What would be the Context Way?



btex ... etex is parsed as-is and therefore cannot be uses

this is what the macro textext(...) is for, it writes the (expanded) 
string to a file and then applies tex to it between runs


Hans
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] Passing text to Metapost functions

2005-12-26 Thread David Arnold

Hans,

I've tried various things without much success. I cannot seem to  
access the contents of xlbl below.


Is this approach ever going to work?

Note: I am trying to pass the string x to the parameter xlbl.

%output=pdf

\setupcolors[state=start]

\definecolor[gridlines][s=0.7]

\startMPinclusions

color gridlines; gridlines:=\MPcolor{gridlines};

vardef create_grid(expr xxmin,xxmax,xxscl,yymin,yymax,yyscl,uux,uuy)=
  for k=xxmin step xxscl until xxmax:
draw (xmin*uux,k*uuy)--(xmax*uux,k*uuy) withcolor \MPcolor 
{gridlines};
draw (k*uux,ymin*uuy)--(k*uux,ymax*uuy) withcolor \MPcolor 
{gridlines};

  endfor;
enddef;

vardef create_axes (expr xxmin,xxmax,yymin,yymax,uux,uuy) (text xlbl)  =
  drawdblarrow (1.05*xxmin*uux,0)--(1.05*xxmax*uux,0);
  draw textext.origin(\MPstring{xlbl});
  drawdblarrow (0,1.05*yymin*uuy)--(0,1.05*yymax*uuy);
enddef;

\stopMPinclusions


\starttext

\startMPpage

%initialize window parameters
numeric xmin, xmax, xscl, ymin, ymax, yscl;
xmin:=-5;
xmax:=5;
xscl:=1;
ymin:=-5;
ymax:=5;
yscl:=1;

%initialize scale
numeric ux, uy;
(xmax-xmin)*ux=4in; (ymax-ymin)*uy=3in;

%create the grid
create_grid(xmin,xmax,xscl,ymin,ymax,yscl,ux,uy);

%create the axes
create_axes(xmin,xmax,ymin,ymax,ux,uy)(x);

\stopMPpage

\stoptext

%%% Local Variables:
%%% mode: conTeXt-en
%%% End:
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] Passing text to Metapost functions

2005-12-26 Thread Willi Egger

Hi David,

Put the x into a variable:

\setMPtext{1}{x}

you can define the \stetMPtext within the \starttext \stoptext or outside

Call
create_axes(xmin,xmax,ymin,ymax,ux,uy)(\MPbetex{1});


Willi

David Arnold wrote:


Hans,

I've tried various things without much success. I cannot seem to  
access the contents of xlbl below.


Is this approach ever going to work?

Note: I am trying to pass the string x to the parameter xlbl.

%output=pdf

\setupcolors[state=start]

\definecolor[gridlines][s=0.7]

\startMPinclusions

color gridlines; gridlines:=\MPcolor{gridlines};

vardef create_grid(expr xxmin,xxmax,xxscl,yymin,yymax,yyscl,uux,uuy)=
  for k=xxmin step xxscl until xxmax:
draw (xmin*uux,k*uuy)--(xmax*uux,k*uuy) withcolor \MPcolor 
{gridlines};
draw (k*uux,ymin*uuy)--(k*uux,ymax*uuy) withcolor \MPcolor 
{gridlines};

  endfor;
enddef;

vardef create_axes (expr xxmin,xxmax,yymin,yymax,uux,uuy) (text xlbl)  =
  drawdblarrow (1.05*xxmin*uux,0)--(1.05*xxmax*uux,0);
  draw textext.origin(\MPstring{xlbl});
  drawdblarrow (0,1.05*yymin*uuy)--(0,1.05*yymax*uuy);
enddef;

\stopMPinclusions


\starttext

\startMPpage

%initialize window parameters
numeric xmin, xmax, xscl, ymin, ymax, yscl;
xmin:=-5;
xmax:=5;
xscl:=1;
ymin:=-5;
ymax:=5;
yscl:=1;

%initialize scale
numeric ux, uy;
(xmax-xmin)*ux=4in; (ymax-ymin)*uy=3in;

%create the grid
create_grid(xmin,xmax,xscl,ymin,ymax,yscl,ux,uy);

%create the axes
create_axes(xmin,xmax,ymin,ymax,ux,uy)(x);

\stopMPpage

\stoptext

%%% Local Variables:
%%% mode: conTeXt-en
%%% End:
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context


Re: [NTG-context] Passing text to Metapost functions

2005-12-26 Thread David Arnold

Willi et al,

No luck. I can't get any text to show up. I've spent about three days  
on this, reading, etc., and I'm no closer than I was three days ago.


%output=pdf

\setupcolors[state=start]

\definecolor[gridlines][s=0.7]

\startMPinclusions

color gridlines; gridlines:=\MPcolor{gridlines};

vardef create_grid(expr xxmin,xxmax,xxscl,yymin,yymax,yyscl,uux,uuy)=
  for k=xxmin step xxscl until xxmax:
draw (xmin*uux,k*uuy)--(xmax*uux,k*uuy) withcolor \MPcolor 
{gridlines};
draw (k*uux,ymin*uuy)--(k*uux,ymax*uuy) withcolor \MPcolor 
{gridlines};

  endfor;
enddef;

vardef create_axes (expr xxmin,xxmax,yymin,yymax,uux,uuy) (text xlbl)  =
  drawdblarrow (1.05*xxmin*uux,0)--(1.05*xxmax*uux,0);
  draw textext.origin(\MPbetex{xlbl});
  drawdblarrow (0,1.05*yymin*uuy)--(0,1.05*yymax*uuy);
enddef;

\stopMPinclusions

\starttext

\startMPpage

%initialize window parameters
numeric xmin, xmax, xscl, ymin, ymax, yscl;
xmin:=-5;
xmax:=5;
xscl:=1;
ymin:=-5;
ymax:=5;
yscl:=1;

%initialize scale
numeric ux, uy;
(xmax-xmin)*ux=4in; (ymax-ymin)*uy=3in;

%create the grid
create_grid(xmin,xmax,xscl,ymin,ymax,yscl,ux,uy);

%create the axes
\setMPtext{1}{x};
create_axes(xmin,xmax,ymin,ymax,ux,uy)(\MPbetex{1});

\stopMPpage

\stoptext

%%% Local Variables:
%%% mode: conTeXt-en
%%% End:
___
ntg-context mailing list
ntg-context@ntg.nl
http://www.ntg.nl/mailman/listinfo/ntg-context