On 27-4-2012 09:59, Khaled Hosny wrote:
On Fri, Apr 27, 2012 at 09:28:45AM +0200, Hans Hagen wrote:
On 27-4-2012 05:26, Khaled Hosny wrote:
Hi Taco,

With this commit arbitrary number of top and/or bottom accents can be
nested and still be positioned properly, so I think there is no need for
`\Umathaccent both` anymore, so do you object if we deprecated it now,
and later when it is completely removed math accent code can be
simplified again (no need for separate field for bottom accents with all
its complexity), what do you think?

On Thu, Apr 26, 2012 at 10:28:29PM +0200, Cron Daemon wrote:
------------------------------------------------------------------------
r4371 | khaled | 2012-04-26 18:18:10 +0200 (Thu, 26 Apr 2012) | 5 lines
Changed paths:
    M /trunk/source/texk/web2c/luatexdir/tex/mlist.w

Properly position stacked math accents

If the accentee is a |sub_math_list|, we check if it is composed of an
|accent_noad| we use the positioning of its nucleus, up to the inner
most |accent_noad|.

it was introduced with a reason (also proabably inspired by mathml):
with 'both' we only need to pick up the argument (math expression)
once

Not sure I understand this.

can you be a bit more explicit about removing the bottom option? how
does one position at the bottom then (as Umathbotaccent was
removed)?

Currently we have:
\Umathaccent<top_accent>  <accentee>
\Umathaccent bottom<bottom_accent>  <accentee>
\Umathaccent both<top_accent>  <accentee>  <bottom_accent>  <accentee>

The only reason I see for having `both` is to be able to apply top and
bottom accents simultaneously and keep them properly positioned, but
with that commit we can nest any number of accents and they will be
properly positioned, i.e. the same effect can be achieved with:

\Umathaccent<top_accent>  {\Umathaccent bottom<bottom_accent>  <accentee>}

(the order of accents does not matter), so `both` is redundant and can
be removed and when removed we can simplify the implementation (with no
user visible change). Am I missing anything here?

One of the conceptual differences is

\def\xxx#1{...{#1}}

and

\def\xxx{...} % {#1} picked up by the scanner and not passed as argument

a variant would be

\Umathaccent [bottom] <accent>  [bottom] <accent> ... \relax <accentee>

i.e. keep reading specifications till an accentee or \relax is seen.

Anyhow, we shouldn't discard functionality that was introduced for a reason too fast,

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
_______________________________________________
dev-luatex mailing list
dev-luatex@ntg.nl
http://www.ntg.nl/mailman/listinfo/dev-luatex

Reply via email to