[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [AUCTeX-devel] Don't fold braces and brackets in math mode

From: Mosè Giordano
Subject: Re: [AUCTeX-devel] Don't fold braces and brackets in math mode
Date: Mon, 9 Mar 2015 22:37:18 +0100

Hi Tassilo,

2015-03-09 9:31 GMT+01:00 Tassilo Horn <address@hidden>:
> Mosè Giordano <address@hidden> writes:
>> consider the following math environment:
>> \begin{equation}
>>   \alpha[b]{c}
>> \end{equation}
>> It's folded to
>> \begin{equation}
>>   α
>> \end{equation}
>> because the square brackets and braces are interpreted by AUCTeX as
>> arguments to the `\alpha' macro, but most of the commands to be folded
>> in math modes (e.g. greek letters) don't take arguments and square
>> brackets are often used as they are.
> There are also some exceptions to this rule, e.g., \sqrt[3]{x} which is
> the third root of x.

Well, this macro isn't folded by default with C-C C-o C-b because
isn't in `LaTeX-fold-math-spec-list', and is correctly folded to
[sqrt] with C-c C-o C-m with point on it.  Indeed, none of the macros
by default in `LaTeX-fold-math-spec-list' takes argument.

>> The attached patch fixes this issue by ignoring square brackets and
>> curly braces in math mode.  Comments welcome.
> I don't have a strong opinion here as I don't use folding (or only
> folding in the sense of `outline-minor-mode').

Actually me neither, I just noticed this issue once.

> But it looks like hard
> to get right in every situation, i.e., with your patch your example
> above would work whereas \sqrt[3]{x} which now folds correctly to [sqrt]
> would fold to [sqrt][3]{x}, that is, its arguments wouldn't be folded
> anymore.
> Maybe you could treat whitespace as macro end in math mode?  E.g.,
> "\alpha [b] {c}" is treated as three separate items as you expect
> whereas "\alpha[b]{c}" is just one item.

I agree it's difficult to have a sensible behavior in every situation.  I
think I'll give up the feature I proposed here, unless someone comes
up with a very good idea.  Thanks anyway!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]