- From: David Carlisle <davidc@nag.co.uk>
- Date: Tue, 28 Jul 2020 09:32:14 +0100
- To: Deyan Ginev <deyan.ginev@gmail.com>, Murray Sargent <murrays@exchange.microsoft.com>
- Cc: "public-mathml4@w3.org" <public-mathml4@w3.org>
- Message-ID: <44272698-145e-6b98-2e59-3390a22e2a7c@nag.co.uk>
On 28/07/2020 01:36, Deyan Ginev wrote: > Hello, > > I am trying to follow the discussion, and would love to ask for help > with clarifying the terminology/use cases here. > Paging through the TeXbook, it appears to me vertical bars are given > three independent treatments - 1) simple symbol |, 2) middle fence, > e.g. \middle|, \bigm| and 3) relation: \mid. I'm attaching a tiny PDF > file that shows the (indeed visible!) differences between the four, > when there is a proper 2D object to delimit. The situation in (e)TeX is "complicated" tex has mathord, mathopen, mathclose, mathbin, mathrel with typical examples being x ( ) + = \bigl| \bigm| \bigr | are big sized | with respectively mathopen mathbin and mathclose spacing. in almost all cases that you want arbitrary size delimiters and use \left| \middle| \right| (where \middle is an etex extension not in the texbook) you'd like them to have mathopen mathbin and mathclose spacing but unfortunately they don't: \left\right make a mathinner atom which has similar but different spacing to a group surrounded by mathopen and mathclose and \middle makes a mathord. In luatex you can specify the class of stretchy delimiters but other engines you typically see explicit spacing around stretchy delimiters or constructs such as \mathbin{}\!\middle\|\mathbin{} which effectively gives a stretchy middle | with \mathbin spacing. \mid is equivalent to \mathrel| > > So, I think I am reading Murray's examples as if separator=true in the > Dirac notation maps onto \middle|, i.e. "a middle fence", and > fence=true for bra and ket maps onto \right| and \left|. Yes except the mathml3 attributes were explicitly not about spacing, so you need to arrange the spacing another way they would get the equivalent spacing already by default in mathml by being the first or last or inner items in an mrow. > > As someone who had to learn the meanings of "fence", "separator" and > "delimiter" as a second language, I will confess to having undergone > some significant confusion in building a mental image where the three > words aren't outright synonyms. In colloquial English it appears that > fences were used very early on to separate fields, and hence delimit > them. On the other hand, I will also confess I have never had any > confusion with understanding "left", "middle" and "right" as distinct > concepts. Yes sorry English is rubbish:-) I don't think there is any difference between fence and delimiter here. TeX the language doesn't use "fence" at all, it calls these things delimiters, the texbook only uses the word fence in an index entry which says, in full, fences, see opening, closing, delimiters > I think it's quite reasonable that the various uses of vertbar should > be expressible in (normative) presentation MathML, as Murray suggests, > so there should either be 1) an alternative representation with > spacing/sizing directives, or 2) the a11y attributes would need to > become normative (which is unlikely from what I understand), or 3) the > status quo must be maintained. As I say above I think that's a misunderstanding as <mrow><mo>|</mo> zzz <mo>|</mo> zzz <mo>|</mo></mrow> already gives mathopen mathbin and mathclose spacing for | without any attributes, the existing fence= attribute was _not_ about spacing but about giving some semantic hints. > > Greetings, > Deyan > > David Disclaimer The Numerical Algorithms Group Ltd is a company registered in England and Wales with company number 1249803. The registered office is: Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom. This e-mail has been scanned for all viruses and malware, and may have been automatically archived by Mimecast Ltd, an innovator in Software as a Service (SaaS) for business.
Received on Tuesday, 28 July 2020 08:32:36 UTC