* 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
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
* 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
Add doc-typehints to class properties found by the PropertyDocumentation
sniff to improve the documentation and to remove the exclusion of the
sniff.
The activated sniff avoids that new code is missing doc-typehints or
real-typehints.
Change-Id: Id7fcfd086cdbb3f040091e1d1a81472e7a524091
Originally the parse tree was a binary tree, from that
time matrix element were put into that data structure.
This was partially undone, but not full which leads to some artifacts
in matrix cells.
One of the problem is that due to the binary parse
tree structure the postprocessing did not correctly
identfy \limits.
This change changes reduces nesting from matrix, and regards
matrix instances as two-dimensional TexArrays.
Bug: T362344
Change-Id: I66a31a09f204709a51d6b5c9ecefc083f7ee2d6d
TexArray is an array of tex nodes. To improve
readability and type hinting we make TexArray
iterable.
Change-Id: I5b9b2ca63400400bc399c08445ff911f8e20a0d1
To reduce the complexity of the parse tree we remove the curly
element which is used for grouping in TeX. Instead, we use
use an attribute which defines if the group is put into curly
brackets or not. The functionality of the curly element
is transferred to the TexArray which was the only possible
child of the curly element before. To ease the transition,
we add a special constructor to TexArray.
We could not measure any performance implications of this change.
Bug: T333973
Change-Id: Idcb58694022831113bdc437576bb9f48658fff2f
instead of testing if an operator starts
with the letter \o we keep an explicit
dictonary of operators which should
be rendered using mover instead of
msub.
Bug: T352699
Change-Id: I916acf2f71d747a31a882fecfccac832436ea991
In TeX display math mode \sum_a^b is rendered as
munderover, however \alpha_a^b is redndered as
msubsup.
This changes improves the heuristics to differentiate
between munderover operators such as sum prod and
other macros such as alpha, beta ...
Bug: T352697
Change-Id: I5a993e379791edeb3623171265e5be2651ee1359
When rendering subscripts font arguments such as upright
font were not passed to the child nodes.
This changes passes the parameters.
Bug: T353340
Change-Id: I487bb01afa0d64c809affc4b8a466337d71a1c76