troubles with \enablemode
Hi @list, I don't fully understand the \enablemode mechanism. Given this MWE: \startmode[test] \setupframedtext [foregroundcolor=white,style={\tfa}] \stopmode \starttext \startframedtext ceci est un texte \stopframedtext \enablemode [test] \startframedtext ceci est un texte \stopframedtext \stoptext I cannot see the expected effect when I compile, that is both texts are in black. When I compile with context --mode=test both framed texts are in white, which is what I expect. What did I miss? Best regards, Damien Thiriet
Am 30.10.2020 um 19:26 schrieb Damien Thiriet
: I don't fully understand the \enablemode mechanism. Given this MWE: \startmode[test] \setupframedtext [foregroundcolor=white,style={\tfa}] \stopmode
\starttext \startframedtext ceci est un texte \stopframedtext \enablemode [test] \startframedtext ceci est un texte \stopframedtext \stoptext
I cannot see the expected effect when I compile, that is both texts are in black. When I compile with context --mode=test both framed texts are in white, which is what I expect.
What did I miss?
The processing is more or less sequential, i.e. if you activate your test mode in the middle of the text, the setup isn’t involved. If you call ConTeXt with the mode switch, the mode is enabled from the start, and only then your setup is executed. Hraban
On Fri, 30 Oct 2020, Damien Thiriet wrote:
Hi @list,
I don't fully understand the \enablemode mechanism. Given this MWE:
\startmode[test] \setupframedtext [foregroundcolor=white,style={\tfa}] \stopmode
\starttext \startframedtext ceci est un texte \stopframedtext \enablemode [test] \startframedtext ceci est un texte \stopframedtext \stoptext
I cannot see the expected effect when I compile, that is both texts are in black. When I compile with context --mode=test both framed texts are in white, which is what I expect.
What did I miss?
When the compilation starts and context reads the line \startmode[test], the mode is not enabled, so the rest of the block is discarded. When you get to do enable the mode, it is too late. TeX does not do backtracking while compiling a document. Depending on what exactly you want, you could use: \startsetups[test] .... \stopsetups ... \setups{test} .... Or perhaps even (untested) \setupframedtext[foregroundcolor={\doifmode{test}{white}}, style={\tfa}] Aditya
participants (3)
-
Aditya Mahajan
-
Damien Thiriet
-
Henning Hraban Ramm