On 9/4/2020 2:20 PM, Jan Willem Flamma wrote:
Dear list members,

Is it possible to combine modes and MetaFun?

In the below MWE, the \doifmode construction does not work.

Kind regards,

Jan Willem Flamma

===

\enablemode[en]

%\enablemode[nl]

\starttext

\startbuffer[square]

     u := 2cm ;

     draw unitsquare scaled u ;

     drawdblarrow (0,-0.2u)..(u,-0.2u) ;

     drawdblarrow (1.2u, 0)..(1.2u, u) ;

     %\doifmode{en}{label(\sometxt{length},  (0.5u,-0.4u)) ;}

     %\doifmode{nl}{label(\sometxt{lengte},  (0.5u,-0.4u)) ;}

     %\doifmode{en}{label(\sometxt{width},   (1.6u, 0.5u)) ;}

     %\doifmode{nl}{label(\sometxt{breedte}, (1.6u, 0.5u)) ;}

\stopbuffer

\placefigure

     [here,none][]{}

     {\scale[width=0.5\textwidth]{\processMPbuffer[square]}}

\stoptext
You need to compensate these solutions by "wikifying" them:

\starttext

\startuseMPgraphic{whatever}{s::mode}
    u := 2cm ;
    draw unitsquare scaled u ;
    drawdblarrow (0,-0.2u)..(u,-0.2u) ;
    drawdblarrow (1.2u, 0)..(1.2u, u) ;
    if "\MPvar{mode}" = "en" :
        label("e", (0.5u,-0.4u)) ;
        label("n", (1.6u, 0.5u)) ;
    else :
        label("n", (0.5u,-0.4u)) ;
        label("l", (1.6u, 0.5u)) ;
    fi ;
\stopuseMPgraphic

\useMPgraphic{whatever}{mode=en} \blank
\useMPgraphic{whatever}{mode=nl} \blank

\startuseMPgraphic{whatever}
    u := 2cm ;
    draw unitsquare scaled u ;
    drawdblarrow (0,-0.2u)..(u,-0.2u) ;
    drawdblarrow (1.2u, 0)..(1.2u, u) ;
    if texmode("en") :
        label("e", (0.5u,-0.4u)) ;
        label("n", (1.6u, 0.5u)) ;
    else :
        label("n", (0.5u,-0.4u)) ;
        label("l", (1.6u, 0.5u)) ;
    fi ;
\stopuseMPgraphic

{ \enablemode[en] \useMPgraphic{whatever} } \blank
{                 \useMPgraphic{whatever} } \blank

\stoptext



-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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
___________________________________________________________________________________

Reply via email to