[NTG-context] TeX capacity exceeded - in Lua block - why?

Procházka Lukáš Ing. - Pontex s. r. o. LPr at pontex.cz
Thu Jul 16 10:55:26 CEST 2015


Hello,

On Thu, 16 Jul 2015 10:27:48 +0200, Hans Hagen <pragma at wxs.nl> wrote:

> On 7/16/2015 10:20 AM, Procházka Lukáš Ing. - Pontex s. r. o. wrote:
>> Hello,
>>
>> why this code:
>>
>> ----
>> \def\GG{\ifmmode G_G\else$\GG$\fi}
>
> because in math mode \GG expands \GG which expands \GG ....

I want to just pass G_G in math mode, so it seems to me that "\ifmmode G_G..." does the check.

The macro should write G + "lower index G" for both math and non-math scope.

And, in non math scope, the macro should just enclose itself by $...$ (or \m{...})...

And, this works well in TeX code:

----
\def\GG{\ifmmode G_G\else$\GG$\fi}

\starttext
   \GG $\GG$
   \startitemize[][]
     \sym{\GG} \GG
     \sym{$\GG$} $\GG$
     \sym{\m{\GG}} \m{\GG}
     \item End
   \stopitemize
\stoptext
----

So how to rewrite the itemization into Lua?

> maybe you mean:
>
> \def\GG{\ifmmode G_G\else$GG$\fi}

... Could be \def\GG{\ifmmode G_G\else$G_G$\fi}, too, but why not \def\GG{\ifmmode G_G\else$\GG$\fi} (seems to me be simpler as the macro definition - which may be more complicated - appears only once)?

Lukas


>> \starttext
>>    \GG $\GG$ % OK
>>    \startitemize[][]
>>      \sym{\GG} \GG % OK
>>    \stopitemize
>>
>>    \startluacode
>>      context.startitemize()
>>        context.sym([[\GG]])
>>        context("Abc")
>>      context.stopitemize()
>>    \stopluacode
>> \stoptext
>> ----
>>
>> fails with:
>>
>> "
>> ....
>> tex error       > tex error on line 14 in file
>> d://Lukas/Docs/Ull-Gra/Test/Abr.mkiv: ! TeX capacity exceeded, sorry
>> [input stack size=10000]
>>
>>
>> \GG ->\ifmmode G_G\else $\GG
>>                               $\fi
>> \GG ->\ifmmode G_G\else $\GG
>>                               $\fi
>> \GG ->\ifmmode G_G\else $\GG
>>                               $\fi
>> \GG ->\ifmmode G_G\else $\GG
>>                               $\fi
>> \GG ->\ifmmode G_G\else $\GG
>>                               $\fi
>> \GG ->\ifmmode G_G\else $\GG
>>                               $\fi
>> ....
>> l.14   \stopluacode
>> ....
>> "
>>
>> I need to call "\GG" from within Lua, and the real macro name is created
>> run-time (contrary to this MNWE; so to be \GG, \HH, \Fik etc. - the name
>> is obtained from a Lua table as a string).
>>
>> I cannot understand why all TeX calls are OK but the problem appears in
>> Lua block...
>>
>> Best regards,
>>
>> Lukas
>>
>>
>>
>>
>> ___________________________________________________________________________________
>> If your question is of interest to others as well, please add an entry to the Wiki!
>>
>> maillist : ntg-context at ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
>> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
>> archive  : http://foundry.supelec.fr/projects/contextrev/
>> wiki     : http://contextgarden.net
>> ___________________________________________________________________________________
>>
>
>


-- 
Ing. Lukáš Procházka | mailto:LPr at pontex.cz
Pontex s. r. o.      | mailto:pontex at pontex.cz | http://www.pontex.cz
Bezová 1658
147 14 Praha 4

Tel: +420 241 096 751
Fax: +420 244 461 038



More information about the ntg-context mailing list