Peter Rolf wrote:

Hi all,

I pass a string to a MP graphic using \setMPtext{LABEL}{TEXT}. The
string can also be empty, and then no action (for the text) is taken.
How can I test in MP, if the given \MPstring{LABEL} is empty?

I have tried everything I can imagine in the last one hour, but no
success. Not my day...

This is the old, not working version

if not(\MPstring{LABEL}="") : % is always true.

unless to set it to nothign (currently you don't assign it at all)

take this:

\setupcolors[state=start]

\starttext

\startuseMPgraphic{test}
   fill fullcircle
       scaled 1cm
       withcolor if not(\MPstring{XX}="") : red else : green fi ;
\stopuseMPgraphic

\useMPgraphic{test} \start \setMPtext{XX}{} \useMPgraphic{test} \stop

\unprotect

\def\MPtext       #1{\executeifdefined{\@@MPT#1}\empty}
\def\MPstring    #1{"\executeifdefined{\@@MPT#1}\empty"}
\def\MPbetex #1{btex \executeifdefined{\@@MPT#1}\empty etex}

\protect

\useMPgraphic{test} \start \setMPtext{XX}{} \useMPgraphic{test} \stop

\stoptext

the current definitions return "\relax" when a text is not defined; i'll change the definitions

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

Reply via email to