w3c / w3c/mathml-core

Operator spacing adjacent to <mtext>

Open
#286 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-tests
Dominant language
HTML
Stars
56
Forks
20
PR merge metrics
No merged PRs in 30d

Description

This issue concerns operator spacing. Currently, MathML Core section 3.2.5.1 notes that operator spacing is affected by whether adjacent elements are space-like, which is good. It also declares that the <mtext> element is space-like, which is contrary to established practice.

Consider the LaTeX expression (1) \( \text{abc} = \text{def} \). For purposes of operator spacing, TeX treats those \text{…} expressions the same as an ord atom. The = operator gets a medium space on both sides. MathML Core should do likewise and treat <mtext> as being non-space-like. Currently, the MathML expression <mtext>abc</mtext><mo>=</mo><mtext>def</mtext> does not give operator spacing to the operator.

I have a hypothesis about how the misunderstanding may have occurred. Consider the LaTeX expression (2) abc\( = \)def. TeX does not give extra spacing to the operator in that expression.

I contend that the proper treatment in MathML Core should be as in expression (1) above, not expression (2). The \(…\) delimiters in the expression are the analogue of the <math>…</math> element. \text{…} is the analogue of <mtext>.

Here is a visual confirmation of these LaTeX expressions.

For a slightly off-topic note, I cannot find anywhere in the spec that actually sets out the operator spacing rules for <mo>, given various adjacent elements. It seems to me that something like the table in the TeXbook, page 170 would be useful. This historical note contains some relevant information.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with MathML Core section 3.2.5.1 and compare its treatment of with the two LaTeX examples in the issue. Review the historical discussion in issue #141, then determine whether the specification should classify as non-space-like and document the operator-spacing rules. Done means the intended spacing behavior and specification wording are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
latex
Domain
documentation
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.