MathML Demo: <mo> - operator, fence, separator, or accent 编辑
Binary Operators and Relations
The following table contains instances of all operators found on the SWP Binary Operations and Binary Relations panels. The symbols occur in the context of a simple expression. In general, the lspace
and rspace
around the relation should be greater than that around the operation. Operator and relations center vertically on the math axis.
Arrows
The following table contains instances of all arrows found on the SWP Arrows panel. The symbols occur in the context of a simple expression. In general, the lspace
and rspace
around arrows should be similar to the spacing around relations.
There is an issue with the markup of "long" LaTeX arrows in MathML. There are entities from these arrows, ⟵ ⟸ ⟶ etc. but they have no standard unicodes. They can be viewed as stretched versions of short arrows. \longleftarrow can be scripted as <mo>⟵</mo> or as <mo stretchy="true" minsize="1.8">←</mo>.
Negated Relations
The following table contains instances of all negated relations found on the SWP panel. The symbols occur in the context of a simple expression. In general, the lspace
and rspace
around negated relations should be similar to the spacing around relations.
Fences
LaTeX fences that begin with \left and \right are stretchy. They grow vertically to the height and depth of the enclosed math run. This growth is continuous and symmetric. Here are examples of the standard LaTeX fences and . Here are some examples with a bit more stretching and
Generally, it is safest to script all attributes that configure an <mo> as a fence (fence
, stretchy
, symmetric
, lspace
, rspace
). This is especially important for vertical arrows used as fences. The default attributes given in the MathML Operator Dictionary don't configure vertical arrows as fences.
In LaTeX, the lspace
on a left side fence delimiter and the rspace
on a right side fence delimiter is not 0. Here's an example to illustrate spacing around fences
In LaTeX, all fencing symbols are symmetric - they have equal extent above and below the math axis of the run of math in which they occur directly.
Fences that enclose fractions illustrate the symmetry issue as seen below.
Given the symmetric restriction on fences, it is very difficult for LaTeX to produce the product of a fenced row vector and a fenced column vector as shown below. We want the row vector to typeset at the same level as the top row of the column vector, but this is difficult to achieve.
This problem can be solved using aligned arrays, as followsHowever, all reasonable attempts to fence the column vector will fail because LaTeX fences are symmetric.
In MathML, operators that are used for fencing are never symmetric and are always stretchy by default. (i.e., as documented in the suggested Operator Dictionary). Hence <mo symmetric="true"> must be scripted if the intent is to emulated LaTeX fence behavior.
The commands \big, \Big, \bigg and \Bigg produce a discreet set of increasingly taller fences, . Here's the same expression in a displayThe size ratio is 3.0 : 2.4 : 1.8 : 1.2. Fixed sized fences are useful with nested fences as in the following example
LaTeX fences that are built into fractions (\binom, etc.) are not stretchy, but they are taller in displays. Emulating this behavior in MathML would require a context sensitive transaltion. Further, non-stretchy fences aren't usually desirable. Hence we script binomial fences as stretchy in MathML.
Some examples of inline fractions with built in fences. Same expression in a display.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论