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
The LaTeXML reference variant seems to be generated
with a slightly different version than before
Bug: T354057
Change-Id: I3d51dc06664120a1c7f9a933d7328210b7c6817f
While investigating the dependency between
Math and Wikibase, it turned out there was
a hard dependency in the test code.
This change makes the availability of the Wikibase
Extension optional and conditionally skips tests.
Bug: T362027
Change-Id: I9401d7d4a3277b6923dcd81f411ac5a08f1242d2
Excluded Generic.WhiteSpace.ScopeIndent as
it impact many lines in switch/case syntax
Also disable BraceNotOnOwnLine due to T347440
Change-Id: Ia0c8072da9b7bff6a4010d3fb70cb0e576cdf98a
Expecting E_ERROR and E_USER_ERROR is deprecated and will no longer be
possible in PHPUnit 10.
Bug: T342110
Change-Id: I713460ef62f1dbdf1332916965e833e7f9074e3c
Following the same argument as for accents,
font options should also be passed in underOver
constructs.
* Pass options
* Add test
* In I6924d712db6852f99d7896b1f11cfbd22851d757
curly learned to encapsulate its output in a
mrow. Thus, the if-clause is no longer needed.
Bug: T352609
Change-Id: I6dd3303d9b5ef9ae32ad33c91a4cc1bbdad46109
Accents such as \widetilde did not pass
their font options to their child element.
* Pass options
* Add test
* In I6924d712db6852f99d7896b1f11cfbd22851d757
curly learned to encapsulate its output in a
mrow. Thus, the if-clause is no longer needed.
Bug: T352609
Change-Id: I81ecda09d017c73a4593ae36c630426229c7559f
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
Changes to the use statements done automatically via script
Addition of missing use statement done manually
Change-Id: I8fad94b215664fb77acf8cd8140232271d2c2837
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
* make intent annotations possible in TeX math items
* introduce a new command to annotate as well as node and translation
* Adds a parser expression grammar to validate intent attributes for
* it basically adds the previous, now abandoned changeset: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Math/+/949964
Bug: T327098
Change-Id: I21adfac4c3580e238f059721fdf0c1566cb4e857
* map to literals to corresponding unicode characters when a double-struck state is recognized
Bug: T352196
Change-Id: I9b9e1d87c10858789751cd14f23d2feea3b928dd
* genFrac renderMML function with bracket can produce false stretching
on Chrome
* fixed for the cases with brackets (dbinom, tbinom, binom)
Bug: T350735
Change-Id: I0939de86963fa9c226346ce15e7edf7fc4e83c68
* to named functions and named operators
* You can consider using that invisible apply character (U+2061) after other function names with known arguments (such as \sin, \cos...). Some accessibility tools take advantage of it, I am told, but it may also be used to provide correct spacing from the MathML operator dictionary. In Chrome <mi>sin</mi><mi>a</mi> will show up with no added spacing as sina, which is not ideal.
* namedFct with any succeeding macros/characters have an apply function
Bug : T350021
Change-Id: I7ee5fdd580fb018bc108a32500c17914dd5dc05f
- munder: if only one child munder is not added as wrapping mml tag
- msup: renders an empty mi if there is no content for the superscript
This prevents some warnings in firefox browser dev-console.
Bug: T349825
Change-Id: Ia5efc1f33e3368e71527153d56160eee4ba3a46d
* From Feedback: The {smallmatrix} example has its fences wrapped in too many mrows I think, so it renders without stretching them in both Firefox and Chrome. Ideally you should be able to emit the <mo>(</mo> followed directly by an <mtable>, and trailed by <mo>)</mo>, and only wrap those 3 into a parent <mrow>.
* removes mrows and adds OPEN / CLOSE attributes
* tests MMLFullcoverage 194 to ~196 which cover the bigXYZ macros look
ok
Bug: T348971
Change-Id: Ie444e5bb3e3f87fac915d2692b69e976d721582e
* From Feedback: There is a curious use of <mstyle> around spacing elements, as in <mstyle scriptlevel="0"><mspace width="-0.167em"></mspace></mstyle>. I am not sure that wrapper element is needed? The mspace ought to be successful standalone.
* this is in the 'bmod' case
Bug: T349822
Change-Id: I9229ad73891d5000679761d3d4b2028d4a51ddf1
* rollback some previous changes for ce env in Parserhookhandler
* some minor fixes for feedback in previous commit
* set tex mode for mhchem preprocessor, since MediaWiki Hooks add
explicit ce tags: i.e. frormula coming to TexVC look like
"{\displaystyle \ce{ C6H5-CHO }}"
Bug: T348975
Change-Id: Id06852b030f9ea77f016289d4f9e2258d5a9f0d4
* currently, \begin{align} generates <mtable columnalign="right" but it should be <mtable columnalign="left"
Bug: T348791
Change-Id: Ic0df45aba4fdb6ffbdc790b5e4bc56e7daeca802
* updating the braces since mkern, mskip etc are Fun1 functions in TexVC
* updating TexVC support flag in test
* added macro longrightleftharpoons to rendered cases
* nearly all tests render correct in HTML now
Bug: T329620
Change-Id: I78da466c88d41f794e81f7222c9a67c3f4d482d2
* fix maintenance script in parametrization for generating correct
reference MathML
* update MathML references for MMLmhchemTest
* and update the reference formulas, which not display MathML correctly
* tests which have math enviroment switch (which is currently not defined) are currently skipped
Bug: T329620
Change-Id: I09f2c393880daa8fef3e2763821df59048c3c98c
* Remove \strokeint which was probably a typo and should be \strokedint
* Add \intBar command
Not done:
* Implement rendering of \intBar and \intbar, it would make sense to wait for
the mathoid reference rending here, which is just around the corner
Bug: T137787
Bug: T348373
Change-Id: I19d24fc23f59dda87c7c39a265f17efddb9fee8f
* defaults mathchoice to displaystyle
* adds several tests and introduces new Fun4 element for mathchoice in
grammar
Bug: T340024
Change-Id: I37c8fd35303e3b8a00faad18a3a131a716c7bb47
* adds the recently implemented cases for mhchem specific tex to check full macro coverage
* fix a minor issue with tripledash
Change-Id: Id3033fab7b3c3432bed6e11f7b50f7ff8e3906ea
* "\ln c, \lg d = \log e, \log_{10} f" : c d etc should have be more extra space
* "\Pr j, \hom l, \lVert z \rVert, \arg z ": same as above, specifically for \hom
* fixes expected result in LocalCheckerTest
Bug: T315978
Change-Id: I842b45b2d20dc267d828dca2040a3500ce06f45d
* All recognized macros are in category nullary macros, so this adds a
rule
* In test "\bigcap_{i=_1}^n E_i"
* In test "\bigcup_{i=_1}^n E_i"
Bug: T315978
Change-Id: I09287879c1448e404473891985457349a62554a7
* Test example in MathNativeTests: " "\not\operatorname{R}"
* fixed forwarding state in Fun1nb
Bug: T315978
Change-Id: Ia651b14ba16f39cc8cbc6b42e0598d959bf72989
* In test MathNativeTests: "\sum_{k=1}^N k^2"
* also verify that textstyle variant works correctly
Bug: T315978
Change-Id: I8f6cd5ef1e4539616439542184cb7d9dc5cf2363
* also fixes a warning in phan that there is a tainted parameter in args in BaseParsing
* this is to pass CI
Bug: T343636
Bug: T347320
Change-Id: I91328bf26e208bd4e0e939c4628def2f40e2f0b6
* In test MathNativeTests: "\underbrace{ a+b+\cdots+z }_{26}"
* Underbrace statement appear to right side
Bug: T315978
Change-Id: I3b1e1290ac07e7aa70ab5931d513984f011d3075
* Pilcrow was very big, see test on MatTestNative page:
* " \amalg \P \S \% \dagger \ddagger \ldots \cdots "
* and add specific testcase
Bug : T315978
Change-Id: I3074f3782ef821e7f9813b79a570bbd51ead28db
* mhchemParser v4.2.2 in Typescript was used as blueprint for this:
* https://github.com/mhchem/mhchemParser
* The mhchemParserPHP component tests can be run locally on a machine with PHP without MediaWiki-Environment with the MMLmhchemTestLocal.php
* For the tests it is probably only necessary to review the json files (Mhchemv4mml.json, Mhchemv4tex.json).
* src/TexVC/MHChem/MhchemParser.php contains the basic functionality, Patterns, StateMachines, Texify functions are located in dedicated classes
* added extracted mhchem commands which have intermediately have been introduced to the
texVC(PHP) grammar
Change-Id: I8cc3d04937b93339e352adc95c85a8a178b8825f
Bug: T329620
The VisualEditorFullRestbaseURL config variable is no longer used by
VisualEditor and is no longer set in Wikimedia production
configuration.
Bug: T344458
Change-Id: Ifd0b9f919f7a9bdceb8761125588fe72e8d1e50c
Add a config option to enable passing special macros needed to
handle the output from the mhchem texify process.
Bug: T340023
Change-Id: I3553931c252184b54e7a13938e030825e5d45e59
texutil.json exists twice with identical contents in
test and main sections.
Delete the redundant copy in the test section and access
the main file in tests.
Change-Id: Ie1eba9ed599d6826f1efe2d37bf8370f8e9dd036
The test doesn't need to depend on what extensions are
available/installed. Also pass the test config more explicitly to
ServiceOptions.
Needed-by: I0a04c82250582fed7a66c1e10868d9b4f3823a28
Change-Id: Id2587fe7d31fcd652c26e5dd0a8cfcae3161efcc
Remove additional /v1 when computing internalRestbaseURL from
virtualRestConfig as this will be added in getUrl in MathRestbaseInterface.
internalRestbaseURL was introduced in I2fbc441955a1fe417f264f31f3729ce0715f7f16.
Bug: T334842
Bug: T338381
Change-Id: If2719fb9106e1414ce8814a2fbafa5dcedb84e39
createMock is not a static function (like atLeastOnce)
It is easier to spot that this needs a TestCase when using $this
Change-Id: I6b738e31f43fd7ee2ecd608d0bb853a3ebac3121
This new MathInternalRestbaseURL setting allows the internal URL of
Mathoid to be configured directly, instead of relying on
VirtualRestConfig.
This patch moves the fallback logic for the internal and external API
URL into an extension registration callback. This way, we can keep the
application logic simple, and we can issue config warnings that will
cause the updater to fail, forcing wiki owners to update their config.
Bug: T334842
Change-Id: I2fbc441955a1fe417f264f31f3729ce0715f7f16