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

luigi scarso luigi.scarso at gmail.com
Thu Jul 16 11:03:05 CEST 2015


On Thu, Jul 16, 2015 at 10:55 AM, Procházka Lukáš Ing. - Pontex s. r. o. <
LPr at pontex.cz> wrote:

> 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)?
>
>>
>>>

 \def\GG{\ifmmode G_G\else$\GG$\fi}
means "define the macro \GG as G_G if mmmod is true,
else as \GG "
It's clear that you  always are in a situation where mmod is true, then \GG
is replaced with  G_G
but as soon as you fall into "mmod not true" then you have infinite
recursion.

-- 
luigi
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ntg.nl/pipermail/ntg-context/attachments/20150716/5df6f302/attachment.html>


More information about the ntg-context mailing list