On 9/11/2021 5:11 AM, Aditya Mahajan via ntg-context wrote:
I sometimes define lua functions for showing out worked out calculations. The
following minimal example shows that
context([[\startformula ... \stopformula]])
fails in LMTX with an error message:
tex error > tex error on line 3 in file ./test.tex: Undefined control
sequence \undefined
MWE:
\startluacode
thirddata = thirddata or {}
local comment = [[
This is a famous formula
\startformula
a^2 + b^2 = c^2
\stopformula
]]
function thirddata.explanation()
context(comment)
end
\stopluacode
\starttext
\ctxlua{thirddata.explanation()}
\stoptext
The actual use case is more complicated (where I use templates, so I don't want
to convert everything to context.startformula() etc.). The example compiles
with MkIV but not LMTX.
Any idea what is going on?
\enabletrackers[context*]
shows that we have an unprotected \startformula so we need this in
strc-mat.mkxl:
\permanent\protected\defcsname\e!start\v!formula\endcsname{\strc_formulas_start_formula{}}
\permanent\protected\defcsname\e!stop
\v!formula\endcsname{\strc_formulas_stop_formula}
\permanent\tolerant\protected\def\defineformulaalternative[#1]#*[#2]#*[#3]%
{\frozen\instance\protected\defcsname\e!start#1\v!formula\endcsname{#2}%
\frozen\instance\protected\defcsname\e!stop #1\v!formula\endcsname{#3}}
(the \protected probably got lost when i added overload protection etc)
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
___________________________________________________________________________________