Thanks Hraban for your answer, 

> Le 28 nov. 2021 à 15:42, Henning Hraban Ramm via ntg-context 
> <ntg-context@ntg.nl> a écrit :
> 
> Am 28.11.21 um 19:39 schrieb Fabrice L via ntg-context:
>> I have an error when I try to insert a block inside a conditional mode (but 
>> there is two nested conditional mode.. is this the problem ?).
> 
> You can’t nest modes in \startmode ... \stopmode.
> I don’t know what are the limitations of \doifmode.

According to the wiki, we cannot nest several \startmode …\stopmode, but there 
is no limitation with \doifmode.

> 
> Maybe it helps to use additional grouping with {}, \bgroup .. \egroup or 
> \start .. \stop.

Following your advice, I tried with several {}, but no luck. 
> 
>> In my courses notes, I insert some blocks (named «  Complement » in the 
>> minimal exemple below) when in « Professor » mode. This works fine, as shown 
>> in the first «  \beginComplement … \endComplement  » of my example below.
> 
> Maybe you can work with buffers or (ConTeXt) blocks (the latter were recently 
> discussed here, it’s a quite unknown mechanism).

I already use blocks, but following your message, I tried to think differently. 
One solution would be to define a block for each course. Something like this (a 
working minimal example, redone in order this would be more easier to 
understand (I hope!) what I’m trying to do):

% —————————————
\setuppapersize[S5][S5]
\enablemode[Professor]

\defineblock[ComplementTwo]
\defineblock[ComplementThree]

\setupblock[ComplementTwo,ComplementThree][
        
before={\page[yes]\setuppagenumber[state=stop]\setupheadertexts[]\setupbackgrounds[page][background=color,backgroundcolor=red]},
        after={\page[yes]\setuppagenumber[state=start]}]
\starttext

        % Let's process the summaries  ;
        \beginComplementTwo
                Last course, we have seen A.
        \endComplementTwo

        \beginComplementThree
                Last course, we have seen B….
        \endComplementThree

        \beginComplementThree
                Last course, we have seen C….
        \endComplementThree
        % ---- 

        Let's begin course 1. 
        This is course 1 : a lot of pages here about A! 
        \page[yes]
        
        Let's begin course 2. 
        \doifmode{Professor} {
                \useblocks[ComplementTwo]
        }

        This is course 2 : a lot of pages here about B and C! 

        \page[yes]
        Let's begin course 3. 
        \doifmode{Professor} {
                \useblocks[ComplementThree]
        }       

        This is course 3 : a lot of pages here about D... ! 

\stoptext

%————————— 

The only inconvenient of this solution if that I have to define 15 blocks (one 
for each week of the term): ComplementOne, ComplementTwo, .., 
ComplementFithteen… Another drawback of this is difficult to move one block 
form one week to another if I change something. Each block here correspond in 
fact to a summary of the previous course. So I have typically around 10 pages 
of summary for each course. The challenge is that the content of each course is 
not exactly the same form one term to another, so I have to move a page to the 
summary from one course to the other one, like in a given term, if teach about 
subject C in course 3 :

        \beginComplementThree
                Last course, we have seen C….
        \endComplementThree

, but next term in course 4:

        \beginComplementFour
                Last course, we have seen C….
        \\beginComplementFour

I have to manually change \beginComplementThree … \endComplementThree to 
\beginComplementFour … \beginComplementFour.

But I will do this if I do not find another solution. 
Thanks again Hraban.
Fabrice. 

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

___________________________________________________________________________________
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