[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!
Bye,
Mosè