At least in MKIV. I haven't tried MKII. The following example should demonstrate this. With no mode specified on the command line, this should enable mode three and prevent and disable the other modes. It seems that \preventmode is not only ineffective in what it is described as doing, but also disables the following \disablemode! Or perhaps I am misusing this or misunderstand what it should do. (2014-08-29 20:57 standalone) \definemode[one][keep] \definemode[two][keep] \definemode[three][keep] \define\ModeOne{nil} \define\ModeTwo{nil} \define\ModeThree{nil} \startmode[one] \define\Mode{one} \define\ModeOne{set} \disablemode[two,three] \stopmode \startmode[two] \define\Mode{two} \define\ModeTwo{set} \disablemode[one,three] \preventmode[one] \stopmode \startnotmode[one,two] \define\Mode{three} \define\ModeThree{set} \enablemode[three] \preventmode[one,two] \disablemode[one,two] \stopnotmode \starttext Mode is \Mode. ModeOne is \ModeOne. ModeTwo is \ModeTwo. ModeThree is \ModeThree. Mode \doifmode{one}{one}\doifmode{two}{two}\doifmode{three}{three} is active. \stoptext -- Rik Kabel
(This is a bump, with an improved example, of my earlier note on the subject.) In MKIV, \preventmode does not work. It appears to do the opposite of what is intended, and enable the specified mode. It also does not prevent the explicit enablement of a mode (as can be seen by uncommenting the commented line in the MWE). I have not tested it with MKII , where it might work. (Will ConTeXt online ever be restored?) This goes back to TL14 and likely earlier. Do I misunderstand what \preventmode should do, or have I misused it? And why are there {curlies} instead of [squares] around the mode name in \doifmode and friends? MWE, run context MWE.tex: \starttext \preventmode[X] %\enablemode[X] \doifmode{X}{!} \stoptext -- Rik Kabel
On 11/19/2014 5:48 PM, Rik Kabel wrote:
(This is a bump, with an improved example, of my earlier note on the subject.)
In MKIV, \preventmode does not work. It appears to do the opposite of what is intended, and enable the specified mode. It also does not prevent the explicit enablement of a mode (as can be seen by uncommenting the commented line in the MWE).
I have not tested it with MKII , where it might work. (Will ConTeXt online ever be restored?)
This goes back to TL14 and likely earlier.
Do I misunderstand what \preventmode should do, or have I misused it?
And why are there {curlies} instead of [squares] around the mode name in \doifmode and friends?
MWE, run context MWE.tex:
\starttext \preventmode[X] %\enablemode[X] \doifmode{X}{!} \stoptext
fixed in next beta (there was actually a note in the source that it needed checking) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
participants (3)
-
Hans Hagen
-
Rik
-
Rik Kabel