We recently changed the internal treatment of macros
to include the `\` in the macro names.
The respective code checked if the macro name had the letter 'o'
at position 0. Now, this is position 1.
* Check for the entire start of over
* Output an error if the macro name does not star with under
or over
* Remove dead code
Bug: T382196
Change-Id: I8eefd41e27319c8dbb05900ef2581ce4d548d4fe
$\left(a\right)'$ produced rendered MathML output that
looked like $\left(a'\right)'$.
* Remove the deriv (') state when rendering the element
within the brackets.
Bug: T381102
Change-Id: Id7f192c1f6b7bf4109e735e393e2546e5a39efd7
In I94887f6ccb45072180a318776ae96aead8658a18 some ams macros were
not taken into account.
Add \ to respective AMS macros.
Bug: T380184
Change-Id: I7c59569fb7242f4f6123047003de6cc86ce868ea
In I94887f6ccb45072180a318776ae96aead8658a18 named operators that render
as their tex command e.g. \gcd -> gcd, were not taken into account.
Remove additional \ in operator names.
Bug: T380184
Change-Id: If21cbd091cc9437715b10e3e6e7ffc86d6436010
In I94887f6ccb45072180a318776ae96aead8658a18 the array environment was missed.
Add the array environment in the same as matrix was added.
Bug: T380184
Change-Id: I92111829e7e93bc5abd40e01b6c036bbc01ee8a5
In I94887f6ccb45072180a318776ae96aead8658a18 nullary macros
such as $\AA$ were missed.
Instead of adding a backslash (cf. patch set 1) we move the
functionality to texutil.
Bug: T380184
Change-Id: Ie9947b48f03dac03612a5c33bce92bf00df70aa3
* Transform structure rich information on LaTeX length
specifications introduced in I08996129beca9ad852d23f28d7136c982707aea1
into new TexNode class
* Adjust rows, i.e., arrays to hold length information
* Add tests
Bug: T380654
Change-Id: I1aff53c7a5782c1333ed4c16639dfc660802931c
Render all formulae from Wikipedia and make sure no errors
(that end up as wikimedia production errors in logstash)
are thrown.
Check that no merror tags are generated for the manual page
that intends to cover the full spectrum.
Currently, some merror tags are generated, which we ignore
for this commit.
Change-Id: Ifecbd8a1b0afabaa2f818e9241add92a9508bae9
Currently, information regarding individual LaTeX
macros is distributed in various files. This is the
first to attempt to collect declarative information
regarding tex macros in the texutil.json file.
As a proof of concept we start with only the cancel
macros.
* Adjust texutil tests so that whitespaces are allowed
in the payload
Change-Id: Iba2dfd5293ad96d8d8e4e2f555c8df9d1ae4d6ca
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
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
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
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
* Add native to default valid modes.
* Remove old Mathoid mode from the default valid modes.
* Set native as the default choice, replacing Mathoid.
* Adjust fallback mechanism.
Bug: T373705
Change-Id: Ie6412623577e3f954c1302417d1b1b667f88863e
Instead of manually crafted $this->testCase properties.
Also make use of the dedicated PHPUnit feature to mark as test as
passed. While assertTrue( true ) is a very common hack it can be
confusing.
Change-Id: Ic071bf561929c2a79537111bee18631865f91366
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
Just removing unused code that never did anything. Note this is only
in a test. As long as all tests still succeed this can't really cause
any problems, I believe.
Change-Id: I272803353eed9de0ecf98c55b75710df16da2c44
Changes to the use statements done automatically via script
Addition of missing use statement done manually
Change-Id: Ifcc9113bc1d2cf79d21871abe7652d7ed8dde20a