ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Mikael Sundqvist via ntg-context <ntg-context@ntg.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Cc: Mikael Sundqvist <mickep@gmail.com>
Subject: Re: upload
Date: Wed, 6 Jul 2022 22:38:58 +0200	[thread overview]
Message-ID: <CAHy-LL8OWsKb-qEKRzrZ0s1B5K2tCp-Yah_2Jr+ejpwYwCE4Jg@mail.gmail.com> (raw)
In-Reply-To: <ec752ea1-5f1f-c4cc-86e0-69cece1a86be@xs4all.nl>

[-- Attachment #1: Type: text/plain, Size: 1811 bytes --]

On Wed, Jul 6, 2022 at 10:10 PM Hans Hagen via ntg-context
<ntg-context@ntg.nl> wrote:
>
> Hi,
>
> We're pleased to announce the first official release of the new math
> code. We're talking of:
>
> -- a reworked math engine (which happened stepwise so some already
> trickled into previous uploads)
>
> -- settling on one model for display math but with alignment variants as
> well as improving inline math (e.g. wrt linebreaks)
>
> -- redoing bit of the (sub) numbering
>
> -- improving the alignment features (the traditional one and the
> text/page mode one)
>
> -- fixing the math font using all kind of tweaks in the goodie file
>
> -- providing means to annotate formulas
>
> -- we ditched support for \over simply because it is too fragile wrt
> spacing (one can \usemodule[oldmath] to get it back
>
> -- we might move some more alien stuff to m-oldmath in due time
>
> We paid a lot of attention to details of positioning, sizing and spacing
> of glyphs. We do have some documents in the making that describe this
> (some are in the ontarget namespace) and the second half of this year we
> use for writing a math manual (Mikael) and updating the luametatex
> manual (Hans). For sure we will run into unforseen issues, come up with
> additional things and try to please users who have demands. There are
> 'hidden' features that will be revealed stepwise.
>
> An example of some usage will be posted next.
>
> The pragma-ade.com domain is still in transfer but the nl one should
> work fine. There is now also a https://www.luametatex.org that might be
> get some more than there is now (when i find it useful but best to have
> the domain for the ctx group).
>
> Mikael & Hans
>
> (on behalf of the CMS)

Hi,

Attached is a file with some example formulas and comments that might
be of help.

/Mikael

[-- Attachment #2: someformulas.tex --]
[-- Type: application/octet-stream, Size: 4955 bytes --]


\setuppapersize[A5]

\definereferenceformat[eqref][left=(,right=)]
% \showframe

\starttext

Just a simple formula (as before):

\startplaceformula
\startformula
f(x) = \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n
\stopformula
\stopplaceformula

A chain formula that runs over several lines. One formula, numbered at the end.

\startplaceformula
\startformula
f(x) \alignhere = \exp(x) \breakhere
                = 1 + x + x^2/2 + \ldots \breakhere
                = \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \breakhere
                = f'(x)
\stopformula
\stopplaceformula

As above, but with \tex{skiphere} at one place:
\startplaceformula
\startformula
f(x) \alignhere = \exp(x) \breakhere
                = 1 + x + x^2/2 + x^3/6 + x^4/24 \breakhere
                \skiphere[1em] + x^5/120 + x^6/720 \ldots \breakhere
                = \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \breakhere
                = f'(x)
\stopformula
\stopplaceformula

With \typ{align=slanted} we get first line flush left, last one flush right and the rest midaligned:
\startplaceformula
\startformula[align=slanted]
f(x) = \exp(x) = 1 + x + x^2/2 + x^3/6 + x^4/24 + \ldots \breakhere
                = \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n = f'(x)
\stopformula
\stopplaceformula


Don't do this (unclear what the number points to):
\startplaceformula[eq:all]
\startformula
\startalign
  \NC f(x) \EQ \exp(x)                                          \NR
  \NC      \EQ 1 + x + x^2/2 + \ldots                           \NR
  \NC      \EQ \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \NR
  \NC      \EQ f'(x)                                            \NR
\stopalign
\stopformula
\stopplaceformula

Better to brace the formula and give one number:

\definemathsimplealign[collected][
    left={\startmathfenced[sesac]},
    right=\stopmathfenced,
    align={1:right,2:left},
    strut=yes,
]

\startplaceformula[eq:All]
\startformula
\startcollected
  \NC f(x) = \NC \exp(x)                                          \NR
  \NC      = \NC 1 + x + x^2/2 + \ldots                           \NR
  \NC      = \NC \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \NR
  \NC      = \NC f'(x)                                            \NR
\stopcollected
\stopformula
\stopplaceformula


Or, if needed, to number each line:
\startplaceformula
\startformula
\startalign
  \NC f(x) \EQ \exp(x)                                          \NR[eq:X]
  \NC      \EQ 1 + x + x^2/2 + \ldots                           \NR[eq:Y]
  \NC      \EQ \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \NR
  \NC      \EQ f'(x)                                            \NR[eq:Z]
\stopalign
\stopformula
\stopplaceformula

We can get subnumbering with letters:

\startplaceformula
\startformula
\startalign
  \NC f(x) \EQ \exp(x)                                          \NR[eq:a][a]
  \NC      \EQ 1 + x + x^2/2 + \ldots                           \NR[eq:b][b]
  \NC      \EQ \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \NR[eq:c][c]
  \NC      \EQ f'(x)                                            \NR
\stopalign
\stopformula
\stopplaceformula

If we want no dot between we can do

\startbuffer
\defineseparatorset[none][][]
\setupformulas[numberseparatorset=none]
\stopbuffer

\getbuffer
\typebuffer

\startplaceformula
\startformula
\startalign
  \NC f(x) \EQ \exp(x)                                          \NR[eq:A][a]
  \NC      \EQ 1 + x + x^2/2 + \ldots                           \NR[eq:B][b]
  \NC      \EQ \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \NR[eq:C][c]
  \NC      \EQ f'(x)                                            \NR
\stopalign
\stopformula
\stopplaceformula

See \eqref[eq:B]. Fences can break over lines:

\startplaceformula
\startformula[textdistance=2em]
  \alignhere 
    P'(iy_1, \ldots, iy_n, i\eta_k) 
  \breakhere
  = (ir)^{k-1} \left[ 
    P_k' \left( z_ 1, \ldots, z_n, \frac{\eta_k}{r} \right) 
    \breakhere
    \skiphere[3] 
    + \frac{1}{ir}P_{k-1}'
      \left( z_ 1, \ldots, z_n, \frac{\eta_k}{r} \right)
    + \ldots
    \right] 
  \breakhere
  = (ir)^{k-1} 
      P_k'\left( z_ 1, \ldots, z_n, \frac{\eta_k}{r} \right) 
    + O(r^{k-2})
\stopformula
\stopplaceformula

Note that the alignment point is to the left of \im{P}. Then all lines are moved in the amount of \typ{textdistance}, which is set to 2em.
Here the \typ{\skiphere[3]} skips four units of \typ{textmargin}, which by default is set to 2em. In this case we could have used \typ{\skiphere[6em]}

We can add comments in the margin:

\startformula
\startalign[text:1={Foo},text:2={Bar}]
\NC x \EQ r \cos\theta \NR
\NC y \EQ r \sin\theta \NR
\stopalign
\stopformula

Likewise,

\startformula
\breakhere[below]{Foo} 
f(x) \alignhere = \exp(x) \breakhere[left]{Bar}
                = 1 + x + x^2/2 + \ldots \breakhere
                = \lim_{n\to+\infty}\left(1 + \frac{x}{n}\right)^n \breakhere[right]{Oh no!}
                = f'(x)
\stopformula

\stoptext

[-- Attachment #3: Type: text/plain, Size: 493 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2022-07-06 20:38 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-06 20:10 upload Hans Hagen via ntg-context
2022-07-06 20:38 ` Mikael Sundqvist via ntg-context [this message]
2022-07-07  1:15 ` upload Max Chernoff via ntg-context
2022-07-07  8:27   ` upload Hans Hagen via ntg-context
2022-07-08  7:40     ` upload Max Chernoff via ntg-context
2022-07-08 14:20       ` upload Hans Hagen via ntg-context
2022-07-07 20:48 ` upload Aditya Mahajan via ntg-context
2022-07-07 21:16   ` upload Hans Hagen via ntg-context
2022-07-08 22:34 ` upload Otared Kavian via ntg-context
2022-07-08 22:40   ` upload Otared Kavian via ntg-context
2022-07-09  7:39     ` upload Hans Hagen via ntg-context
2022-07-09  6:40   ` upload Hans Hagen via ntg-context
  -- strict thread matches above, loose matches on Subject: below --
2023-04-11 21:02 upload Hans Hagen via ntg-context
2022-12-21 16:20 upload Hans Hagen via ntg-context
2022-12-21 21:15 ` upload Pablo Rodriguez via ntg-context
2022-12-09 16:41 upload Hans Hagen via ntg-context
2022-10-21 19:23 upload Hans Hagen via ntg-context
2022-05-09 15:41 upload Hans Hagen via ntg-context
2022-05-09 15:54 ` upload mf via ntg-context
2022-05-09 16:16   ` upload Hans Hagen via ntg-context
2022-05-09 16:39     ` upload Alexandre Christe via ntg-context
2022-05-09 16:16   ` upload Alexandre Christe via ntg-context
2022-05-09 16:36     ` upload Mikael Sundqvist via ntg-context
2022-05-10  5:10       ` upload śrīrāma via ntg-context
2022-05-11 12:48   ` upload śrīrāma via ntg-context
2022-05-11 15:46 ` upload Zhichu Chen via ntg-context
2022-05-11 17:00   ` upload Hans Hagen via ntg-context
2022-03-25 10:01 upload Hans Hagen via ntg-context
2022-03-28 21:22 ` upload Otared Kavian via ntg-context
2022-03-28 21:54   ` upload Mikael Sundqvist via ntg-context
2022-03-29  4:37     ` upload Otared Kavian via ntg-context
2022-03-29 14:10       ` upload Mikael Sundqvist via ntg-context
2022-03-29 16:08         ` upload Aditya Mahajan via ntg-context
2022-03-30 10:02           ` upload Otared Kavian via ntg-context
2021-12-30 18:14 upload Hans Hagen via ntg-context
     [not found] <mailman.320.1640390435.1172.ntg-context@ntg.nl>
2021-12-25  9:09 ` upload Jeong Dal via ntg-context
2021-12-25 10:57   ` upload Hans Hagen via ntg-context
2021-12-24 18:45 upload Hans Hagen via ntg-context
2021-12-24 22:08 ` upload Jairo A. del Rio via ntg-context
2021-12-24 23:39   ` upload Rik Kabel via ntg-context
2021-12-24 23:54   ` upload Hans Hagen via ntg-context
2021-12-25  9:19 ` upload Marco Patzer via ntg-context
2021-12-25 10:55   ` upload Hans Hagen via ntg-context
2021-12-25 11:22     ` upload Marco Patzer via ntg-context
2021-12-25 11:44       ` upload Hans Hagen via ntg-context
2021-12-25 12:18         ` upload Marco Patzer via ntg-context
2021-12-03 14:29 upload Hans Hagen via ntg-context
2021-12-06  4:41 ` upload Jairo A. del Rio via ntg-context
2021-11-24 14:29 upload Hans Hagen via ntg-context
2021-11-26 10:06 ` upload Alain Delmotte via ntg-context
2021-11-26 10:44   ` upload Hans Hagen via ntg-context
2021-10-21 18:04 upload Hans Hagen via ntg-context
2021-10-21 19:13 ` upload Pablo Rodriguez via ntg-context
2021-10-22  7:55   ` upload Hans Hagen via ntg-context
2021-10-21 20:31 ` upload Mikael Sundqvist via ntg-context
2021-10-22  7:22   ` upload Hans Hagen via ntg-context
2021-10-23  8:10     ` upload Mikael Sundqvist via ntg-context
2021-10-22 15:50 ` upload Michal Vlasák via ntg-context
2021-10-22 16:51   ` upload Pablo Rodriguez via ntg-context
2021-10-23  0:40   ` upload Hans Hagen via ntg-context
2021-10-18 21:17 upload Hans Hagen via ntg-context
2021-10-19  6:43 ` upload Axel Kielhorn via ntg-context
2021-10-20  7:29   ` upload Hans Hagen via ntg-context
2021-10-19 16:03 ` upload Pablo Rodriguez via ntg-context
2020-11-23 17:55 upload Hans Hagen
2020-11-23 18:28 ` upload Pablo Rodriguez
2020-11-23 18:29 ` upload Christian Prim
2020-11-23 19:21   ` upload Otared Kavian
2020-11-23 19:27     ` upload Hans Hagen
2020-11-23 19:24   ` upload Hans Hagen
2020-11-17 11:55 upload Hans Hagen
2020-11-17 13:57 ` upload Pablo Rodriguez
2020-11-17 14:15   ` upload Hans Hagen
2020-11-18 20:29     ` upload Pablo Rodriguez
2020-11-18 22:57       ` upload Hans Hagen
2020-11-17 15:26 ` upload Willi Egger
2020-07-27 14:42 upload Hans Hagen
2020-07-28  8:58 ` upload Fabrice Couvreur
2020-07-28 11:28   ` upload Hans Hagen
2020-02-11 16:00 upload Hans Hagen
2020-02-11 16:18 ` upload Floris van Manen
2020-02-11 19:07   ` upload Hans Hagen
2020-02-11 21:09     ` upload Richard Mahoney | Indica et Buddhica
2020-02-13 10:28 ` upload mf
2020-02-13 12:57   ` upload Hans Hagen
2020-02-17  9:39     ` upload mf
2013-03-05 18:18 upload Hans Hagen
2013-03-05 19:45 ` upload Thomas A. Schmitz
2012-07-04  8:56 upload Hans Hagen
2012-07-04 10:40 ` upload Hongwen Qiu
2012-07-04 11:29   ` upload Hans Hagen
2012-07-04 16:02 ` upload Philipp Gesang
2012-06-22  9:37 upload Hans Hagen
2012-06-22 10:10 ` upload Marco
2012-06-22 11:24   ` upload Hans Hagen
2012-06-22 12:19     ` upload Marco
2012-06-19 20:40 upload Hans Hagen
2012-06-20  3:28 ` upload Hongwen Qiu
2012-06-20 14:20   ` upload Hans Hagen
2006-04-07  8:22 upload Hans Hagen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAHy-LL8OWsKb-qEKRzrZ0s1B5K2tCp-Yah_2Jr+ejpwYwCE4Jg@mail.gmail.com \
    --to=ntg-context@ntg.nl \
    --cc=mickep@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).