Modes and conditional part of the source
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
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
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
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 -----------------------------------------------------------------
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.