ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* metafont en context MPmacros
@ 2002-08-05 18:16 dr. Hans van der Meer
  2002-08-06  9:57 ` Hans Hagen
  2002-08-06 11:20 ` Hans Hagen
  0 siblings, 2 replies; 3+ messages in thread
From: dr. Hans van der Meer @ 2002-08-05 18:16 UTC (permalink / raw)


[-- Attachment #1: Type: text/plain, Size: 935 bytes --]

Ik heb een macro voor het tekenen van een figuur met MetaPost opgeslagen 
in file xyz.mp:
def oval (.....)
     % path p wordt geconstrueerd.
     % vul pad met een bepaalde kleur

     % dit statement kreeg ik niet werkend met
     % input xyz waarin in een macro:
     fill p withcolor \MPcolor{SomeColor};

    % doorgeven in een parameter oval(..., kleur) met aanroep 
(..\MPcolor{..}) werkt wel:
    fill p withcolor kleur;

Het lijkt erop dat invoegen van een bestand met "input" door ConTeXt 
niet goed mogelijk is als daarin voor/met ConTeXt gedefinieerde 
\MP-zaken voorkomen.

Expliciet opnemen van de kleur definitie in een \start-stopMPenvironment 
brengt geen verbetering.

Het is jammer als slechts in beperkte mate hulpbestanden kunnen worden 
ingevoegd.
Of begrijp ik het verkeerd en had ik ook niet mogen verwachten dat het 
zou werken?
Weet iemand misschien hoe het wel moet via een input bestand?

Hans van der Meer

[-- Attachment #2: Type: text/enriched, Size: 1020 bytes --]

<fontfamily><param>Times</param>Ik heb een macro voor het tekenen van
een figuur met MetaPost opgeslagen in file xyz.mp:

def oval (.....)

    % path p wordt geconstrueerd.

    % vul pad met een bepaalde kleur

    % dit statement kreeg ik niet werkend met

    % input xyz waarin in een macro:

    fill p withcolor \MPcolor{SomeColor};

   % doorgeven in een parameter oval(..., kleur) met aanroep
(..\MPcolor{..}) werkt wel:

   fill p withcolor kleur;

Het lijkt erop dat invoegen van een bestand met "input" door ConTeXt
niet goed mogelijk is als daarin voor/met ConTeXt gedefinieerde
\MP-zaken voorkomen.

Expliciet opnemen van de kleur definitie in een
\start-stopMPenvironment brengt geen verbetering.

Het is jammer als slechts in beperkte mate hulpbestanden kunnen worden
ingevoegd.

Of begrijp ik het verkeerd en had ik ook niet mogen verwachten dat het
zou werken?

Weet iemand misschien hoe het wel moet via een input bestand?

</fontfamily>Hans van der Meer<fontfamily><param>Times</param>

</fontfamily>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: metafont en context MPmacros
  2002-08-05 18:16 metafont en context MPmacros dr. Hans van der Meer
@ 2002-08-06  9:57 ` Hans Hagen
  2002-08-06 11:20 ` Hans Hagen
  1 sibling, 0 replies; 3+ messages in thread
From: Hans Hagen @ 2002-08-06  9:57 UTC (permalink / raw)
  Cc: NTG ConTeXt

At 08:16 PM 8/5/2002 +0200, dr. Hans van der Meer wrote:
>Ik heb een macro voor het tekenen van een figuur met MetaPost opgeslagen 
>in file xyz.mp:
>def oval (.....)
>     % path p wordt geconstrueerd.
>     % vul pad met een bepaalde kleur
>
>     % dit statement kreeg ik niet werkend met
>     % input xyz waarin in een macro:
>     fill p withcolor \MPcolor{SomeColor};
>
>    % doorgeven in een parameter oval(..., kleur) met aanroep 
> (..\MPcolor{..}) werkt wel:
>    fill p withcolor kleur;
>
>Het lijkt erop dat invoegen van een bestand met "input" door ConTeXt niet 
>goed mogelijk is als daarin voor/met ConTeXt gedefinieerde \MP-zaken 
>voorkomen.
>
>Expliciet opnemen van de kleur definitie in een \start-stopMPenvironment 
>brengt geen verbetering.
>
>Het is jammer als slechts in beperkte mate hulpbestanden kunnen worden 
>ingevoegd.
>Of begrijp ik het verkeerd en had ik ook niet mogen verwachten dat het zou 
>werken?
>Weet iemand misschien hoe het wel moet via een input bestand?

\startMPinclusions
   color mycolor ; mycolor := \MPcolor{...}
\stopMPinclusions

will give you c to use in macros defined outside context, you can start 
that file with

if unknown mycolor : color mycolor ; mycolor := red fi ;

so that it can be used independently

Het probleem van externe mp defs is dat tex ze niet parsed

Als je je eigen macros wilt maken, kun je ook iets doen als:

=== mylibrary.tex ===

\startuseMPgraphic{mylibrary}
.......
\stopuseMPgraphic

=====

en in de file die ze gebruikt:

\input mylibrary

\startMPinclusions
   \useMPgraphic{mylibrary}
\stopMPinclusions

Hans
-------------------------------------------------------------------------
                                   Hans Hagen | PRAGMA ADE | pragma@wxs.nl
                       Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------
                        information: http://www.pragma-ade.com/roadmap.pdf
                     documentation: http://www.pragma-ade.com/showcase.pdf
-------------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: metafont en context MPmacros
  2002-08-05 18:16 metafont en context MPmacros dr. Hans van der Meer
  2002-08-06  9:57 ` Hans Hagen
@ 2002-08-06 11:20 ` Hans Hagen
  1 sibling, 0 replies; 3+ messages in thread
From: Hans Hagen @ 2002-08-06 11:20 UTC (permalink / raw)
  Cc: NTG ConTeXt

At 08:16 PM 8/5/2002 +0200, dr. Hans van der Meer wrote:

>Het lijkt erop dat invoegen van een bestand met "input" door ConTeXt niet 
>goed mogelijk is als daarin voor/met ConTeXt gedefinieerde \MP-zaken 
>voorkomen.

One can think of something like this:

\unprotect

\def\appended#1#2#3{\@EA#1\@EA#2\@EA{#2#3}}

\definesystemvariable{lf}

\def\loadfile
   {\dodoubleargument\doloadfile}

\def\doloadfile[#1][#2]
   {\bgroup
    \def\!!stringa{#1}%
    \global\let\loadedfile\empty
    \catcode12=\@@space
    \catcode13=\@@space
    \def\dodocommando
      {\@EA\appended\@EA\gdef\@EA\loadedfile\@EA{\fileline}}%
    \def\docommando##1%
      {\doprocessfile\scratchread{##1}\dodocommando}%
    \processcommalist[#2]\docommando
    \egroup
    \dodoglobal\letvalue{\??lf#1}\loadedfile}

\def\flushfile#1{\getvalue{\??lf#1}}

\protect

\starttext

% test.mp:
%
% def test =
%   fill fullcircle scaled 3cm withcolor \MPcolor{red} ;
% enddef ;

\loadfile[test][test.mp]

\startMPcode
\flushfile{test}
test ;
\stopMPcode

\stoptext

But how on earth to explain al this functionality and the why/how to users -)

Maybe i should make a module m-misc.tex where such things can go into.

Hans
-------------------------------------------------------------------------
                                   Hans Hagen | PRAGMA ADE | pragma@wxs.nl
                       Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
  tel: +31 (0)38 477 53 69 | fax: +31 (0)38 477 53 74 | www.pragma-ade.com
-------------------------------------------------------------------------
                        information: http://www.pragma-ade.com/roadmap.pdf
                     documentation: http://www.pragma-ade.com/showcase.pdf
-------------------------------------------------------------------------


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-08-06 11:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-05 18:16 metafont en context MPmacros dr. Hans van der Meer
2002-08-06  9:57 ` Hans Hagen
2002-08-06 11:20 ` Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).