Re: [NTG-context] What alternative for scantokens( "btex " & texcommands & " etex")?

2020-03-30 Thread Alan Braslau

On 29/03/20 07:06, Gerben Wierda wrote:
I’m trying in METAPOST to build a command to pass on to ConTeXt using 
btex/etex.


picture p; p := scantokens( "btex " & texcommands & " etex”);


btex/etex is better replaced by textext().

Nevertheless, this does not change anything. Context intercepts and 
replaces textext() (and btex/etex) during processing. It does not return 
a picture but a text bounding box that gets substituted upon shipping out.


You *can* save your text to a string, to be passed to textext() in your 
MP macros.


--
Alan
___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___


[NTG-context] What alternative for scantokens( "btex " & texcommands & " etex")?

2020-03-29 Thread Gerben Wierda
I’m trying in METAPOST to build a command to pass on to ConTeXt using btex/etex.

picture p; p := scantokens( "btex " & texcommands & " etex”);

with texcommands a variable that holds a string of TeX commands doesn’t work. 
The METAPOST parser complains about not finding etex.

I’m using MetaFun actually.

An example string in texcommands would in the end be something like

string texcommands;
texcommands := "\type-{Hello}, [World]!-";

Minimum example of my vardef that fails (the outcommented alternative to the 
scantokens line works and typesets “{Hello}, [World]!”):

vardef makeTeXLabel( expr w, h, name) =
  show "NAME:", name;
  save p; picture p ;
  save s; string s;
  s := "btex " & name & " etex";
  show "SCAN:", s;
  p := scantokens s;
  %p := btex   p := btex \type-{Hello}, [World]!- etex;
  p
enddef;

Log:

metapost log> >> "NAME:"
metapost log> >> "My Application (Component)"
metapost log> >> "SCAN:"
metapost log> >> "btex My Application (Component) etex"
metapost log> ! No matching 'etex' for 'btex'..
metapost log>  
metapost log>;
metapost log> makeTeXLabel->...x";show"SCAN:",s;p:=scantokens.s;
metapost log>   
save.b;path.b;b:=boundingb...
metapost log>  ...(53),("My Application (Component)"))

Thanks in advance,

G___
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___