Modes and conditional part of the source
![](https://secure.gravatar.com/avatar/d6e7462bd4209f9c4cd08271985a50df.jpg?s=120&d=mm&r=g)
Hello, I'm struggling with using modes to make a part of the text conditional. Here is my code: ---- \def\b#1{\startmode[#1]} \def\e{\stopmode} % \enablemode[100] % For optional usage \starttext A \b{100} % Should be start of some conditional text from here ... B \e % ... to here \stoptext ---- Compilation fails with: " tex error > tex error on line 0 in file : ! Emergency stop <*> cont-yes.mkiv <empty file> *** (job aborted, no legal \end found) " How to make the sample work? Best regards, Lukas -- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS: nrpt3sn | IČO: 40763439 Bezová 1658 147 14 Praha 4 Mob.: +420 702 033 396
![](https://secure.gravatar.com/avatar/c5ae4f9aa0d3a9bd5376e92b322c3e50.jpg?s=120&d=mm&r=g)
On Thu, 28 Feb 2019, Procházka Lukáš Ing. wrote:
Hello,
I'm struggling with using modes to make a part of the text conditional.
Here is my code:
---- \def\b#1{\startmode[#1]} \def\e{\stopmode}
% \enablemode[100] % For optional usage
\starttext A \b{100} % Should be start of some conditional text from here ... B \e % ... to here \stoptext
Modes don't work that way. You can do something like this: \define[1]\bbb {\doifnotmode{#1} {\grabbufferdata[dummy][bbb][eee]}} \let\eee\relax \enablemode[100] \starttext A \bbb{100} Inside mode 100 \eee \bbb{101} Inside mode 101 \eee \stoptext Depending on the actual use case, there might be simpler ways. Aditya
![](https://secure.gravatar.com/avatar/d6e7462bd4209f9c4cd08271985a50df.jpg?s=120&d=mm&r=g)
Hello Aditya,
thanks for the code, I'll try something like that.
Best regards,
Lukas
On Thu, 28 Feb 2019 12:54:06 +0100, Aditya Mahajan
On Thu, 28 Feb 2019, Procházka Lukáš Ing. wrote:
Hello,
I'm struggling with using modes to make a part of the text conditional.
Here is my code:
---- \def\b#1{\startmode[#1]} \def\e{\stopmode}
% \enablemode[100] % For optional usage
\starttext A \b{100} % Should be start of some conditional text from here ... B \e % ... to here \stoptext
Modes don't work that way. You can do something like this:
\define[1]\bbb {\doifnotmode{#1} {\grabbufferdata[dummy][bbb][eee]}}
\let\eee\relax
\enablemode[100]
\starttext A
\bbb{100} Inside mode 100 \eee
\bbb{101} Inside mode 101 \eee
\stoptext
Depending on the actual use case, there might be simpler ways.
Aditya
-- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS: nrpt3sn | IČO: 40763439 Bezová 1658 147 14 Praha 4 Mob.: +420 702 033 396
![](https://secure.gravatar.com/avatar/46562c7d27388490d62e8d7a5bc960dd.jpg?s=120&d=mm&r=g)
On 2/28/2019 11:29 AM, Procházka Lukáš Ing. wrote:
Hello,
I'm struggling with using modes to make a part of the text conditional.
Here is my code:
---- \def\b#1{\startmode[#1]} \def\e{\stopmode}
% \enablemode[100] % For optional usage
\starttext A \b{100} % Should be start of some conditional text from here ... B \e % ... to here \stoptext ----
Compilation fails with:
" tex error > tex error on line 0 in file : ! Emergency stop <*> cont-yes.mkiv <empty file> *** (job aborted, no legal \end found) "
How to make the sample work? modes are like buffers ... don't wrap them in macros
(using names like \b \e is a bad idea anyway) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
![](https://secure.gravatar.com/avatar/be49110e195f5eac47c04570251121c1.jpg?s=120&d=mm&r=g)
I used \doifmode and friends for selection of mode dependent code. dr. Hans van der Meer
On 1 Mar 2019, at 01:24, Hans Hagen
wrote: On 2/28/2019 11:29 AM, Procházka Lukáš Ing. wrote:
Hello, I'm struggling with using modes to make a part of the text conditional. Here is my code: ---- \def\b#1{\startmode[#1]} \def\e{\stopmode} % \enablemode[100] % For optional usage \starttext A \b{100} % Should be start of some conditional text from here ... B \e % ... to here \stoptext ---- Compilation fails with: " tex error > tex error on line 0 in file : ! Emergency stop <*> cont-yes.mkiv <empty file> *** (job aborted, no legal \end found) " How to make the sample work? modes are like buffers ... don't wrap them in macros
(using names like \b \e is a bad idea anyway)
Hans
----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl ----------------------------------------------------------------- ___________________________________________________________________________________ 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 ___________________________________________________________________________________
participants (4)
-
Aditya Mahajan
-
Hans Hagen
-
Hans van der Meer
-
Procházka Lukáš Ing.