Instead of rendering \limits or \nolimits when those
commands are misplaced the commands are ignored.
TeX does it the same way, but issues a warning in addition.
Issuing the warning will be taken care of in a follow-up commit.
Bug: T365170
Change-Id: Ic1c28be2a5669183c3dd5d15577a35a1b5a76971
Chrome and similar browsers do not support the
mathvariant attribute that can be used to change
math fonts conveniently. Like for mathcal there is
a table that can be used to translate from latin
to mathfraktur chars.
Bug: T378433
Change-Id: Id8c3e121ed104ba3f08329b4151a7e3bec699754
* Add hline search in matrix construction:
** This avoids a second scan later for the cost of some
memory overhead
* Parse | in array column specification
* Add CSS based table lines as done by TMML, cf.
https://github.com/w3c/mathml-core/issues/245
Bug: T377167
Change-Id: I6e29b47b1731638ea9b06de3006ce2834e4f0c68
* Extend the list of operators that use munder instead
of msub.
* Use rendering of main operator, as some artificial
spaces might be added in the operator representation
Bug: T375907
Change-Id: I45e96257411bd7641ad6cc32aaac4c94bfcfa8a3
isset() should only be used to suppress errors, not for null check.
When the variable is always defined, there is no need to use isset.
Found by a new phan plugin (2efea9f989)
https://www.mediawiki.org/wiki/Manual:Coding_conventions/PHP#isset
Change-Id: I4e797c539d8d7868bfac63fcac6b2f78463f6475
Implicitly marking parameter $... as nullable is deprecated in PHP
8.4. The explicit nullable type must be used instead.
Bug: T376276
Change-Id: Idcd0b50c1c01a33c4cabeed3e31828f77c3f6443
Changes to the use statements done automatically via script
Addition of missing use statement done manually
Change-Id: I4cf7903b9700e6366bdf349f99ffd4a04da0c087
Assertions from Expect library are more readable that assertions from Assert library.
Bug: T325740
Change-Id: I62ccf128e21eb49cbdc97546c643887105bf2c64
Chains of single letter mi elements are rendered with no
space but one mi element with multiple letters gets
space. For example, the operator log will be translated
to <mi>log</mi> rather than <mi>l</mi><mi>o</mi><mi>g</mi>
as done by wikitexvc.
* Squash literals into single element, iff they don't
contain commands
Following the implementation of the literal rendering
it seems that all literals with special behaviour have
a command.
Bug: T375861
Change-Id: I97adf5f5132180503cbeb59d32fdb8d45b08aaa7
* Reapply the logic of \log rendering to \operatorname
* Deduplicate applyFunctionDetection
Note this still does not solve the rendering problem for
operator names with more than one letter as these generate
mrow elements with single letters. Those are not rendered
with space in FF.
Bug: T375861
Change-Id: I913d865b49d5894a63c8b9d244768f9bb1df4e28
* Add new class to identify what a (large) operator is
* Add some IDE hints about what methods exist in texutil
* Add tests for operators in display and block style
Bug: T375907
Change-Id: If734f194cd8fa30efaf6d8c8d89f85e3e1c96276
* For each letter l c or r that is found in the
column spec the respective mtable alignment
information is passed
* if the align information is given externally
the info will still be ignored
Bug: T376838
Change-Id: I3113f933502df2109b066959e4d001736dbae6e6
Change the appearance of \mathcal A and similar letters
in MathJax rendering to better match the MathML rendering
as implemented by browsers.
Code generously developed by Davide P. Cervone.
Bug: T375932
Change-Id: Ieee933b9863c2747559769065da6b5369d304f53
Add stretchy=true to more constructs after consolidating
the W3C MathWG
https://github.com/w3c/mathml-core/issues/261
Bug: T375960
Change-Id: Ie472d5a3be2dda8b4c50b0c5d091d735577e11d9
Use workaround from MathJax to handle problem
with the XSLT parser in WebKit (and Blink).
Upstream Bug: https://github.com/mathjax/MathJax/issues/3030
This workaround will be included in the MathJax
4 release and no longer be required when we
upgrade to MathJax 4.
Bug: T375241
Change-Id: I9ebc1062093a3b56dbf0478e23d8c0064a57fafb
In LaTeX line breaks in matrix elements
have an optional argument that controls
the vertical spacing between the current
and the next line. For example,
{\begin{aligned}a\\[6pt] b\end{aligned}}
generates a 6pt space.
This was never implemented and ignored by
mathoid.
The native MathML implementation is unaware
of the optional argument and just prints it
to the next line.
* This commit ignores the input on the grammar
side.
Bug: T375295
Change-Id: I08996129beca9ad852d23f28d7136c982707aea1
As indicated in the comment the code intents
to add "additional italic mathvariant
when bold already". However, effectively it
always added an additional -italic when
any mathvariant was given.
* Only add '-italic' if mathvariant is 'bold'
Bug: T375244
Change-Id: Iafb375753a98ff41c3d076819288345a9e2efb0c