On 2017-08-18 19:01, Fabrice Couvreur wrote:
If I test this file, it does not work

% macros=mkvi

\startcomponent dm-1

  \environment MyLayout

  \MyHeader{Seconde}{17}{08}{2017}{Devoir surveillé}{1}{1h\,30m}

  \dorecurse{20}{\input knuth}

  \math{x^2+4x+5=0}

\stopcomponent

2017-08-19 0:23 GMT+02:00 Rik Kabel <cont...@rik.users.panix.com <mailto:cont...@rik.users.panix.com>>:

    On 2017-08-18 18:14, Fabrice Couvreur wrote:
    Hi Rik,
    Can you clarify by editing my files ?
    Fabrice

    2017-08-18 23:57 GMT+02:00 Rik Kabel <cont...@rik.users.panix.com
    <mailto:cont...@rik.users.panix.com>>:

        On 2017-08-18 17:34, Fabrice Couvreur wrote:
        Hello,
        It's ok for me if I compile the Aditya file.
        I have another problem with a simple structure. I created
        the file MyLayout.tex containing the macro and I want to
        call this macro in the dm1.tex file, but it does not work.
        Thank you
        Fabrice

        #########
        MyLayout.tex
        #########

        % macros=mkvi

        \startenvironment MyLayout

        \setuplayout
           [header=3\lineheight,
            headerdistance=\lineheight]

        \setupbackgrounds
          [header]
          [text]
          [
            frame=off,
            bottomframe=on,
            framecolor=darkgray,
            rulethickness=2pt,
          ]

        \defineframed[headerframed]
                     [
                       frame=off, % For visualization set this to on
                       height=fit,
                       width=fit,
                       location=bottom,
        boffset=\lineheight,
                     ]

        \starttexdefinition MyHeader #where #day #month #year #title
        #number #time

            \setupheadertexts
        [{\headerframed[align=middle, foregroundstyle=bold,
        foregroundcolor=red]
                    {#title n\high{o}\,#number}}]

            \setupheadertexts
        [{\headerframed[align=flushleft, foregroundstyle=\ssx]
                  {Lycée JANSON DE SAILLY \\
        \date[d=#day,m=#month,y=#year]}}]
        [{\headerframed[align=flushright, foregroundstyle=\ssx]
                  {#where \\ {#time}}}]

        \stoptexdefinition

        \stopenvironment

        ######
        dm-1.tex
        ######

        \startcomponent dm-1

          \environment MyLayout

          \MyHeader{Seconde}{17}{08}{2017}{Devoir surveillé}{1}{1h\,30m}

        \input knuth

        \stopcomponent

        2017-08-18 18:44 GMT+02:00 Otared Kavian <ota...@gmail.com
        <mailto:ota...@gmail.com>>:

            Hi Aditya,

            Thanks for having sent the example file: indeed with
            your file I can typeset the example and see the expected
            result.
            I don’t know what happened when I copied and pasted the
            example from the e-mail…
            I think the command
                    % macros = mkvi
            was not set correctly written at the first line, that is
            I had a space before the percent sign « % ». In fact
                    %macros=mkvi
            or
                    %macros = mkvi
            work as well.

            By the way, wouldn’t be more user friendly, and more in
            the spirit of ConTeXt, if we had a command saying
                    \enablemode[mkvi]
            in order to tell ConTeXt that we are using %macros = mkvi ?

            Best regards: OK

            > On 18 Aug 2017, at 17:54, Aditya Mahajan
            <adit...@umich.edu <mailto:adit...@umich.edu>> wrote:
            >
            > On Fri, 18 Aug 2017, Otared Kavian wrote:
            >
            >> Hi Aditya,
            >>
            >> I tried to typeset your example, but got an error:
            whether or not the command
            >>      % macros=mkvi
            >> is present on the fist line, then ConTeXt complains
            saying that
            >>      ! Illegal parameter number in definition of
            \MyHeader
            >> and stops typesetting pointing to the command
            \stoptexdefinition.
            >
            > I am attaching the file. It runs fine here with
            ConTeXt  ver: 2017.08.14 23 <tel:2017.08.14%2023>:57.
            >
            > Aditya<frame.tex>


        I believe you need to declare the use of MKVI macros as the
        first thing in your project file if they will be used by any
        components.

-- Rik


        %macros=mkvi
        \startcomponent dm-1
        …


I was wrong, and (no surprise) Aditya was correct.

The %macros=mkvi line is not needed in dm1.tex. It should be at the top of MyLayout.tex.

You may then reference MyLayout.tex (note the addition of the extension) in dm1.tex, or you may rename the file to MyLayout.mkvi, where you can reference it as either MyLayout or as MyLayout.mkvi.

Sorry for the noise.

--
Rik
___________________________________________________________________________________
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