Fix alignments

*  "\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
This commit is contained in:
Stegmujo 2023-09-28 13:31:00 +00:00 committed by Physikerwelt
parent b4290c1634
commit 07f7942ac5
3 changed files with 13 additions and 1 deletions

View file

@ -30,6 +30,11 @@ class Literal extends TexNode {
}
public function renderMML( $arguments = [], $state = [] ) {
if ( $this->arg === " " ) {
// Fixes https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Math/+/961711
// And they creation of empty mo elements.
return "";
}
if ( is_numeric( $this->arg ) ) {
$mn = new MMLmn( "", $arguments );
return $mn->encapsulateRaw( $this->arg );

View file

@ -117,7 +117,7 @@ class LocalCheckerTest extends MediaWikiIntegrationTestCase {
public function testRunChecks() {
$fakeContent = [
'status' => '+',
'mathml' => '<mi>sin</mi><mo></mo><msup><mi>x</mi><mrow data-mjx-texclass="ORD"><mn>2</mn></mrow></msup>',
'mathml' => '<mi>sin</mi><msup><mi>x</mi><mrow data-mjx-texclass="ORD"><mn>2</mn></mrow></msup>',
'output' => '\\sin x^{2}'
];
$checker = new LocalChecker( WANObjectCache::newEmpty(), '\sin x^2', 'tex' );

View file

@ -26,6 +26,13 @@ class MMLRenderTest extends MediaWikiUnitTestCase {
$this->assertStringContainsString( "munderover", $mathMLtexVC );
}
public function testScriptAlignment() {
$input = "\log_{10} f";
$mathMLtexVC = $this->generateMML( $input );
$this->assertStringNotContainsString( "<mo></mo>", $mathMLtexVC );
$this->assertStringContainsString( "<msub>", $mathMLtexVC );
}
public function testNotOperatorname() {
$input = "\\not\operatorname{R}";
$mathMLtexVC = $this->generateMML( $input );