> On 11 May 2022, at 02:37, Rik Kabel via ntg-context <ntg-context@ntg.nl> > wrote: > > On 2022-05-10 17:39, Gerben Wierda via ntg-context wrote: >> Example. Call with >> >> context —mode=FR >> >> - Uncomment the first commented lines. Compilation fails because mode FR is >> on so that works >> >> But I get English anyway. Uncomment the second commented part and it fails, >> but it should not because mode=EN is not turned on. >> >> %\startmode[FR] >> % \BLURBONE >> % \stopmode >> >> \startnotallmodes[FR,RU]% english is the default >> \enablemode[EN] >> \stopnotallmodes >> >> \startmode[EN] >> % \BLURBTWO >> \setuplanguage[en][patterns={en}] >> \setupexternalfigure[directory=../LMTX-Output/without-ids/en/ArchiMate 3.1 >> Metamodel ESv4] >> \stopmode >> \startmode[FR] >> \setuplanguage[fr][patterns={en,fr}] >> \setupexternalfigure[directory=../LMTX-Output/without-ids/fr/ArchiMate 3.1 >> Metamodel ESv4] >> \stopmode >> \startmode[RU] >> \setuplanguage[ru][patterns={en,ru}] >> \setupexternalfigure[directory=../LMTX-Output/without-ids/ru/ArchiMate 3.1 >> Metamodel ESv4] >> \stopmode >> >> Gerben Wierda (LinkedIn <https://www.linkedin.com/in/gerbenwierda>) >> R&A IT Strategy <https://ea.rna.nl/> (main site) >> Book: Chess and the Art of Enterprise Architecture >> <https://ea.rna.nl/the-book/> >> Book: Mastering ArchiMate <https://ea.rna.nl/the-book-edition-iii/> >> > Gerben, > > \startnotallmodes is behaving as it should. Here, it is not the case that RU > and FR (all the listed modes) are set, so EN is enabled, and you actually > have both FR and EN set. > > Try the following with > > context —mode=FR > > and make sure you understand the result. > > \starttext > \doifmode{EN}{EN is enabled\par} > \doifmode{FR}{FR is enabled\par} > \doifmode{RU}{RU is enabled\par} > \doifmode{FR,RU}{at least one of FR and RU modes is enabled\par} > \doifmode{EN,RU}{at least one of EN and RU modes is enabled\par} > \doifmode{EN,FR}{at least one of EN and FR modes is enabled\par} > \doifmode{EN,FR,RU}{at least one of EN, FR, and RU modes is enabled\par} > \doifnotmode{EN}{EN is not enabled\par} > \doifnotmode{FR}{FR is not enabled\par} > \doifnotmode{RU}{RU is not enabled\par} > \doifnotmode{EN,RU}{neither EN nor RU is enabled\par} > \doifnotmode{EN,FR}{neither EN nor FR is enabled\par} > \doifnotmode{RU,FR}{neither RU nor FR is enabled\par} > \doifnotallmodes{FR,RU}{all of FR and RU modes are not enabled\par} > \doifnotallmodes{EN,RU}{all of EN and RU modes are not enabled\par} > \doifnotallmodes{EN,FR}{all of EN and FR modes are not enabled\par} > \doifnotallmodes{EN,FR,RU}{all of EN, FR, and RU modes are not enabled\par} > \stoptext > > Then, add the following block to the beginning of the file and try again. > > \definemode[EN,FR,RU][keep] > \doifmodeelse{EN} > { \disablemode[FR] > \disablemode[RU]} > {\doifmodeelse{FR} > { \disablemode[EN] > \disablemode[RU]} > {\doifmodeelse{RU} > { \disablemode[EN] > \disablemode[FR]}} > { \enablemode[EN]}} > > > I find it useful to add such a block to the environment of every file that > uses mutually-exclusive modes. This version pf the block sets a default value > if none is on the command line. >
Thanks. It seems that the last part has a {}-issue. \enablemode[EN] is always wxecuted if on the commandline only FR or RU is set \definemode[EN,FR,RU][keep] \doifmodeelse{EN} { \disablemode[FR] \disablemode[RU] } { \doifmodeelse{FR} { \disablemode[EN] \disablemode[RU] } { \doifmodeelse{RU} { \disablemode[EN] \disablemode[FR] } } { \enablemode[EN] } } I am now using \doifmodeelse{EN} { \disablemode[FR] \disablemode[RU] } { \doifmodeelse{FR} { \disablemode[EN] \disablemode[RU] } { \doifmodeelse{RU} { \disablemode[EN] \disablemode[FR] } { \enablemode[EN] } } } > -- > Rik > > > > > > > > ___________________________________________________________________________________ > 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 > ___________________________________________________________________________________
___________________________________________________________________________________ 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 ___________________________________________________________________________________