Le 7 juin 2020 à 23:19, Aditya Mahajan
a écrit : On Sun, 7 Jun 2020, Fabrice L wrote:
Dear List,
I would like to insert a page using (ideally) start/stop instructions. The problem is that this page should be inserted only in a certain mode. Consulting the mailing list, I thought the following code was working, but it’s not ! The code is executed in the mode as expected, but the following instructions ("Some other text... » in the exemple) is not typeset.
Here is a minimal (not working!) example:
% ———————————————————————————————————— \unexpanded\def\StartQuestionsList{ \startmode[ClassRoom] \page[yes] Here are some questions: \blank } \unexpanded\def\StopQuestionsList{ \page[yes] \stopmode } \definestartstop[Questions][ before=\StartQuestionsList, after=\StopQuestionsList ]
\startQuestions Question A…. Question B…. \stopQuestions
Some other text... % ————————————————————————————————————
So to be clear, I would like the result in the « ClassRoom » mode to be: % ———————————————————————————————————— Here are some questions:
Question A…. Question B….
Some other text... % ————————————————————————————————————
Otherwise to be: % ———————————————————————————————————— Some other text... % ————————————————————————————————————
If you only set `ClassRoom` mode at compile time (rather than setting and unsetting it the middle of the document), then you can do:
\definebuffer[Questions]
\startmode[ClassRoom] \define\StopQuestionsList {...}
\definestartstop[Questions][...] \stopmode
Thanks to Aditya, I have succeeded, but it was not trivial for me. So, in case somebody someday would need a detailed solution, here is a minimal example, and an explanation. A buffer « Questions » is defined. If in « ClassRoom » mode, a start/stop « Questions » is also defined. So when ConTeXt encounters the \startQuestions / \stopQuestions, if the « ClassRoom » mode is enabled, the buffer is processed (with some format if needed - framed here for the example), and if the mode « ClassRoom » is disabled, then nothing is process. You can add as many \startQuestions / \stopQuestions you wish. % ---------------------------------------------- \definebuffer[Questions] \enablemode[ClassRoom] % Try "On / Off » to process "\startQuestions / \stopQuestions » or not. \startmode[ClassRoom] \definestartstop[Questions][before={\startframedtext\red},after={\stopframedtext\blue}] \stopmode \starttext Before... \startQuestions The content of the buffer ! \stopQuestions After... \stoptext % ---------------------------------------------- Thanks Aditya ! Fabrice.
Aditya___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl mailto:ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl http://www.pragma-ade.nl/ / http://context.aanhet.net http://context.aanhet.net/ archive : https://bitbucket.org/phg/context-mirror/commits/ https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net http://contextgarden.net/ ___________________________________________________________________________________