From: Fabrice L via ntg-context <ntg-context@ntg.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Fabrice L <fabrice.alpha@gmail.com>
Subject: Re: Blocks inside a conditional mode.
Date: Sun, 28 Nov 2021 20:54:24 -0500 [thread overview]
Message-ID: <13B3FA56-541A-47C2-91EA-45E5FFB5648B@gmail.com> (raw)
In-Reply-To: <41b6060c-0f46-6b90-91c7-f9d6588e66d3@fiee.net>
[-- Attachment #1.1: Type: text/plain, Size: 4108 bytes --]
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
> ___________________________________________________________________________________
[-- Attachment #1.2: Type: text/html, Size: 10198 bytes --]
[-- Attachment #2: Type: text/plain, Size: 493 bytes --]
___________________________________________________________________________________
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
___________________________________________________________________________________
next prev parent reply other threads:[~2021-11-29 1:54 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-28 18:39 Fabrice L via ntg-context
2021-11-28 20:42 ` Henning Hraban Ramm via ntg-context
2021-11-29 1:54 ` Fabrice L via ntg-context [this message]
2021-11-29 8:54 ` Hans Hagen via ntg-context
2021-11-29 13:54 ` Fabrice L via ntg-context
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=13B3FA56-541A-47C2-91EA-45E5FFB5648B@gmail.com \
--to=ntg-context@ntg.nl \
--cc=fabrice.alpha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).