Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Issues
  • #2729
Closed
Open
Issue created Jul 01, 2021 by Administrator@rootContributor

Extra padding/spaces around fences in some cases

Created by: jmitsdarfer

Issue Summary

I have noticed some extra padding (or spaces) around fences in some cases (though not all) and am wondering what the reason behind this may be. It’d be nice to decrease this padding if possible, though it’s also not extremely critical. I’m basically just wondering if this is a bug or expected behavior and if there is any decent way to adjust it or if it’s really better off just left alone. Compared to the equations in our PDFs (included below just for comparison purposes), things are looking all in all just more "spacey" in the MathJax.

Example 1:

Original tagging (space seems a little large to the left of the left parens):

MathJax: image

PDF: image

MathML:

<m:msub><m:mrow><m:mi mathvariant="script">H</m:mi></m:mrow><m:mrow>
<m:msub><m:mrow><m:mi mathvariant="bold">&#x393;</m:mi></m:mrow><m:mrow>
<m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi
>j</m:mi></m:mrow></m:msub></m:mrow></m:msub></m:mrow></m:msub><m:mrow>
<m:mo stretchy="false">(</m:mo><m:mi mathvariant="bold">r</m:mi><m:mo
>,</m:mo><m:mi mathvariant="bold">p</m:mi><m:mo stretchy="false">)</m:mo>
</m:mrow><m:mo>=</m:mo><m:mfrac><m:mrow><m:msup><m:mrow><m:mi
mathvariant="bold">p</m:mi></m:mrow><m:mrow><m:mn>2</m:mn></m:mrow>
</m:msup></m:mrow><m:mrow><m:mn>2</m:mn><m:mi>m</m:mi></m:mrow>
</m:mfrac><m:mo>+</m:mo><m:msub><m:mrow><m:mi>U</m:mi></m:mrow><m:mrow>
<m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi
>j</m:mi></m:mrow></m:msub></m:mrow></m:msub><m:mrow><m:mo
stretchy="false">(</m:mo><m:mi mathvariant="bold">r</m:mi><m:mo
stretchy="false">)</m:mo></m:mrow><m:mo linebreak="goodbreak"
lspace="0em" rspace="1em">&#x2063;</m:mo><m:mo>&#x2234;</m:mo><m:mo
linebreak="goodbreak" lspace="0em" rspace="1em">&#x2063;</m:mo><m:mi
>j</m:mi><m:mo>=</m:mo><m:mn>1</m:mn><m:mo>,</m:mo><m:mn>2</m:mn><m:mo
>,</m:mo><m:mn>3</m:mn>

If the mrows around the fenced expressions are removed just as a test, the extra padding is no longer present: image

<m:msub><m:mrow><m:mi mathvariant="script">H</m:mi></m:mrow><m:mrow>
<m:msub><m:mrow><m:mi mathvariant="bold">&#x393;</m:mi></m:mrow><m:mrow>
<m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi
>j</m:mi></m:mrow></m:msub></m:mrow></m:msub></m:mrow></m:msub><m:mo
stretchy="false">(</m:mo><m:mi mathvariant="bold">r</m:mi><m:mo>,</m:mo
><m:mi mathvariant="bold">p</m:mi><m:mo stretchy="false">)</m:mo><m:mo
>=</m:mo><m:mfrac><m:mrow><m:msup><m:mrow><m:mi mathvariant="bold"
>p</m:mi></m:mrow><m:mrow><m:mn>2</m:mn></m:mrow></m:msup></m:mrow>
<m:mrow><m:mn>2</m:mn><m:mi>m</m:mi></m:mrow></m:mfrac><m:mo>+</m:mo
><m:msub><m:mrow><m:mi>U</m:mi></m:mrow><m:mrow><m:msub><m:mrow><m:mi
mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi>j</m:mi></m:mrow>
</m:msub></m:mrow></m:msub><m:mo stretchy="false">(</m:mo><m:mi
mathvariant="bold">r</m:mi><m:mo stretchy="false">)</m:mo><m:mo
linebreak="goodbreak" lspace="0em" rspace="1em">&#x2063;</m:mo><m:mo
>&#x2234;</m:mo><m:mo linebreak="goodbreak" lspace="0em" rspace="1em"
>&#x2063;</m:mo><m:mi>j</m:mi><m:mo>=</m:mo><m:mn>1</m:mn><m:mo>,</m:mo
><m:mn>2</m:mn><m:mo>,</m:mo><m:mn>3</m:mn>

Example 2:

Original tagging (again, padding around the parens seems a little too large):

MathJax: image

PDF: image

MathML:

<m:mi mathvariant="normal">&#x3a9;</m:mi><m:mrow><m:mo stretchy="false"
>(</m:mo><m:mi>E</m:mi><m:mo stretchy="false">)</m:mo></m:mrow><m:mo
>=</m:mo><m:munderover><m:mrow><m:mo form="prefix">&#x2211;</m:mo>
</m:mrow><m:mrow><m:mi>j</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow>
<m:mrow><m:msub><m:mrow><m:mi>N</m:mi></m:mrow><m:mrow><m:mi>c</m:mi>
</m:mrow></m:msub></m:mrow></m:munderover><m:msub><m:mrow><m:mi
mathvariant="normal">&#x3a9;</m:mi></m:mrow><m:mrow><m:mi>e</m:mi>
</m:mrow></m:msub><m:mrow><m:mo stretchy="false">(</m:mo><m:msub>
<m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi>j</m:mi>
</m:mrow></m:msub><m:mo stretchy="false">)</m:mo></m:mrow><m:msub>
<m:mrow><m:mi mathvariant="normal">&#x3a9;</m:mi></m:mrow><m:mrow><m:mi
>n</m:mi></m:mrow></m:msub><m:mrow><m:mo stretchy="false">(</m:mo>
<m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi
>j</m:mi></m:mrow></m:msub><m:mo stretchy="false">)</m:mo></m:mrow
><m:msub><m:mrow><m:mi mathvariant="normal">&#x3a9;</m:mi></m:mrow>
<m:mrow><m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow>
<m:mrow><m:mi>j</m:mi></m:mrow></m:msub></m:mrow></m:msub><m:mrow><m:mo
stretchy="false">(</m:mo><m:mi>E</m:mi><m:mo stretchy="false">)</m:mo>
</m:mrow>

If the mrows around the fenced expressions are removed just as a test, the extra padding is no longer present: image

<m:mi mathvariant="normal">&#x3a9;</m:mi><m:mo stretchy="false">(</m:mo
><m:mi>E</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:munderover>
<m:mrow><m:mo form="prefix">&#x2211;</m:mo></m:mrow><m:mrow><m:mi
>j</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mrow><m:msub><m:mrow>
<m:mi>N</m:mi></m:mrow><m:mrow><m:mi>c</m:mi></m:mrow></m:msub></m:mrow>
</m:munderover><m:msub><m:mrow><m:mi mathvariant="normal">&#x3a9;</m:mi>
</m:mrow><m:mrow><m:mi>e</m:mi></m:mrow></m:msub><m:mo stretchy="false"
>(</m:mo><m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow>
<m:mrow><m:mi>j</m:mi></m:mrow></m:msub><m:mo stretchy="false">)</m:mo
><m:msub><m:mrow><m:mi mathvariant="normal">&#x3a9;</m:mi></m:mrow>
<m:mrow><m:mi>n</m:mi></m:mrow></m:msub><m:mo stretchy="false">(</m:mo
><m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow>
<m:mi>j</m:mi></m:mrow></m:msub><m:mo stretchy="false">)</m:mo><m:msub>
<m:mrow><m:mi mathvariant="normal">&#x3a9;</m:mi></m:mrow><m:mrow>
<m:msub><m:mrow><m:mi mathvariant="bold">c</m:mi></m:mrow><m:mrow><m:mi
>j</m:mi></m:mrow></m:msub></m:mrow></m:msub><m:mo stretchy="false"
>(</m:mo><m:mi>E</m:mi><m:mo stretchy="false">)</m:mo>

Example 3 (space between right square bracket and superscript -1 is a bit large):

MathJax: image

PDF: image

MathML:

<m:msubsup><m:mrow><m:mi>u</m:mi></m:mrow><m:mrow><m:mi>t</m:mi>
</m:mrow><m:mrow><m:mo>*</m:mo></m:mrow></m:msubsup><m:mo>=</m:mo
><m:msup><m:mrow><m:mo stretchy="true">[</m:mo><m:mfrac><m:mrow><m:mn
>18</m:mn></m:mrow><m:mrow><m:msup><m:mrow><m:mo stretchy="false"
>(</m:mo><m:msubsup><m:mrow><m:mi>d</m:mi></m:mrow><m:mrow><m:mi>c</m:mi>
</m:mrow><m:mrow><m:mo>*</m:mo></m:mrow></m:msubsup><m:mo
stretchy="false">)</m:mo></m:mrow><m:mrow><m:mn>2</m:mn></m:mrow>
</m:msup></m:mrow></m:mfrac><m:mo>+</m:mo><m:mfrac><m:mrow><m:mn>2.335</m:mn>
<m:mo>&#x2212;</m:mo><m:mn>1.744</m:mn><m:mi mathvariant="normal"
>&#x3c6;</m:mi></m:mrow><m:mrow><m:msqrt><m:mrow><m:msubsup><m:mrow>
<m:mi>d</m:mi></m:mrow><m:mrow><m:mi>c</m:mi></m:mrow><m:mrow><m:mo
>*</m:mo></m:mrow></m:msubsup></m:mrow></m:msqrt></m:mrow></m:mfrac>
<m:mo stretchy="true">]</m:mo></m:mrow><m:mrow><m:mo>&#x2212;</m:mo>
<m:mn>1</m:mn></m:mrow></m:msup>

Example 4 (noticed the difference in padding between right parens and superscript 2 and right square bracket and superscript 2):

MathJax: image

PDF: image

MathML:

<m:msubsup><m:mrow><m:mi>G</m:mi></m:mrow><m:mrow><m:mi>m</m:mi>
</m:mrow><m:mrow><m:mi>Q</m:mi><m:mo>,</m:mo><m:mi>L</m:mi></m:mrow>
</m:msubsup><m:mrow><m:mo stretchy="false">(</m:mo><m:mi
mathvariant="normal">&#x3c4;</m:mi><m:mo stretchy="false">)</m:mo>
</m:mrow><m:mo>=</m:mo><m:msup><m:mrow><m:mo stretchy="false">(</m:mo>
<m:msubsup><m:mrow><m:mi>V</m:mi></m:mrow><m:mrow><m:mi>z</m:mi><m:mi
>z</m:mi></m:mrow><m:mrow><m:mi>B</m:mi></m:mrow></m:msubsup><m:mo
stretchy="false">)</m:mo></m:mrow><m:mrow><m:mn>2</m:mn></m:mrow>
</m:msup><m:msup><m:mrow><m:mo stretchy="true">[</m:mo><m:mfrac><m:mrow>
<m:mn>1</m:mn></m:mrow><m:mrow><m:msub><m:mrow><m:mi>N</m:mi></m:mrow>
<m:mrow><m:mi>i</m:mi></m:mrow></m:msub></m:mrow></m:mfrac>
<m:munderover><m:mrow><m:mo>&#x220f;</m:mo></m:mrow><m:mrow><m:mi
>i</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mrow><m:msub><m:mrow>
<m:mi>N</m:mi></m:mrow><m:mrow><m:mi mathvariant="italic">i</m:mi>
</m:mrow></m:msub></m:mrow></m:munderover><m:mrow><m:munderover><m:mrow>
<m:mo>&#x220f;</m:mo></m:mrow><m:mrow><m:mi>j</m:mi><m:mo>=</m:mo><m:mn
>1</m:mn></m:mrow><m:mrow><m:msub><m:mrow><m:mi>N</m:mi></m:mrow>
<m:mrow><m:mi mathvariant="italic">p</m:mi></m:mrow></m:msub></m:mrow>
</m:munderover><m:mrow><m:munderover><m:mrow><m:mo>&#x220f;</m:mo>
</m:mrow><m:mrow><m:mi>s</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow>
<m:mrow><m:msub><m:mrow><m:mi>N</m:mi></m:mrow><m:mrow><m:mi
mathvariant="italic">p</m:mi></m:mrow></m:msub></m:mrow></m:munderover>
<m:mrow><m:munderover><m:mrow><m:mo>&#x220f;</m:mo></m:mrow><m:mrow>
<m:mi>l</m:mi><m:mo>=</m:mo><m:mo>&#x2212;</m:mo><m:mn>2</m:mn></m:mrow>
<m:mrow><m:mn>2</m:mn></m:mrow></m:munderover><m:mtable>
<m:mtr><m:mtd><m:mi>P</m:mi><m:mrow><m:mo stretchy="false">(</m:mo>
<m:mi>i</m:mi><m:mo>&#x2208;</m:mo><m:mi>j</m:mi><m:mrow><m:mo
stretchy="false">|</m:mo><m:mn>0</m:mn></m:mrow><m:mo stretchy="false"
>)</m:mo></m:mrow></m:mtd></m:mtr>
<m:mtr><m:mtd><m:mi>P</m:mi><m:mrow><m:mo stretchy="false">(</m:mo>
<m:mi>i</m:mi><m:mo>&#x2208;</m:mo><m:mi>s</m:mi><m:mrow><m:mo
stretchy="false">|</m:mo><m:mi mathvariant="normal">&#x3c4;</m:mi>
</m:mrow><m:mo stretchy="false">)</m:mo></m:mrow></m:mtd></m:mtr>
<m:mtr><m:mtd><m:msubsup><m:mrow><m:mi>D</m:mi></m:mrow><m:mrow><m:mi
>l</m:mi><m:mi>m</m:mi></m:mrow><m:mrow><m:mi mathvariant="italic"
>L</m:mi><m:msub><m:mrow><m:mi mathvariant="italic">P</m:mi></m:mrow>
<m:mrow><m:mi>j</m:mi></m:mrow></m:msub></m:mrow></m:msubsup></m:mtd>
</m:mtr>
</m:mtable></m:mrow></m:mrow></m:mrow><m:mo>&#x2212;</m:mo><m:msup>
<m:mrow><m:mo stretchy="true">(</m:mo><m:mfrac><m:mrow><m:mn>1</m:mn>
</m:mrow><m:mrow><m:msub><m:mrow><m:mi>N</m:mi></m:mrow><m:mrow><m:mi
>i</m:mi></m:mrow></m:msub></m:mrow></m:mfrac><m:munderover><m:mrow>
<m:mo>&#x220f;</m:mo></m:mrow><m:mrow><m:mi>i</m:mi><m:mo>=</m:mo><m:mn
>1</m:mn></m:mrow><m:mrow><m:msub><m:mrow><m:mi>N</m:mi></m:mrow>
<m:mrow><m:mi>i</m:mi></m:mrow></m:msub></m:mrow></m:munderover><m:mrow>
<m:munderover><m:mrow><m:mo>&#x220f;</m:mo></m:mrow><m:mrow><m:mi
>j</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mrow><m:msub><m:mrow>
<m:mi>N</m:mi></m:mrow><m:mrow><m:mi mathvariant="italic">p</m:mi>
</m:mrow></m:msub></m:mrow></m:munderover><m:mrow><m:munderover><m:mrow>
<m:mo>&#x220f;</m:mo></m:mrow><m:mrow><m:mi>l</m:mi><m:mo>=</m:mo><m:mo
>&#x2212;</m:mo><m:mn>2</m:mn></m:mrow><m:mrow><m:mn>2</m:mn></m:mrow>
</m:munderover><m:mi>P</m:mi><m:mrow><m:mo stretchy="false">(</m:mo>
<m:mi>i</m:mi><m:mo>&#x2208;</m:mo><m:mi>j</m:mi><m:mrow><m:mo
stretchy="false">|</m:mo><m:mn>0</m:mn></m:mrow><m:mo stretchy="false"
>)</m:mo></m:mrow><m:msubsup><m:mrow><m:mi>D</m:mi></m:mrow><m:mrow>
<m:mi>l</m:mi><m:mi>m</m:mi></m:mrow><m:mrow><m:mi mathvariant="italic"
>L</m:mi><m:msub><m:mrow><m:mi mathvariant="italic">P</m:mi></m:mrow>
<m:mrow><m:mi>j</m:mi></m:mrow></m:msub></m:mrow></m:msubsup></m:mrow>
</m:mrow><m:mo stretchy="true">)</m:mo></m:mrow><m:mrow><m:mn>2</m:mn>
</m:mrow></m:msup><m:mo stretchy="true">]</m:mo></m:mrow><m:mrow><m:mn
>2</m:mn></m:mrow></m:msup>

Example 5:

MathJax: image

PDF: image

MathML:

<m:msubsup><m:mrow><m:mi>U</m:mi></m:mrow><m:mrow><m:mi>&#x3bc;</m:mi>
<m:mi>&#x3bd;</m:mi></m:mrow><m:mrow><m:mo stretchy="false">(</m:mo>
<m:mn>2</m:mn><m:mo stretchy="false">)</m:mo></m:mrow></m:msubsup
><m:mrow><m:mo stretchy="false">(</m:mo><m:mrow><m:mo stretchy="false"
>|</m:mo><m:msub><m:mrow><m:mi mathvariant="bold-script">R</m:mi>
</m:mrow><m:mrow><m:mi>&#x3bc;</m:mi><m:mi>&#x3bd;</m:mi></m:mrow>
</m:msub><m:mo stretchy="false">|</m:mo></m:mrow><m:mo stretchy="false"
>)</m:mo></m:mrow><m:mo>=</m:mo><m:mn>4</m:mn><m:mi>&#x3b5;</m:mi
><m:mrow><m:mo stretchy="true">[</m:mo><m:msup><m:mrow><m:mo
stretchy="true">(</m:mo><m:mfrac><m:mrow><m:mi>&#x3c3;</m:mi></m:mrow>
<m:mrow><m:mo stretchy="false">|</m:mo><m:msub><m:mrow><m:mi
mathvariant="bold-script">R</m:mi></m:mrow><m:mrow><m:mi>&#x3bc;</m:mi>
<m:mi>&#x3bd;</m:mi></m:mrow></m:msub><m:mo stretchy="false">|</m:mo>
</m:mrow></m:mfrac><m:mo stretchy="true">)</m:mo></m:mrow><m:mrow><m:mn
>12</m:mn></m:mrow></m:msup><m:mo>&#x2212;</m:mo><m:msup><m:mrow><m:mo
stretchy="true">(</m:mo><m:mfrac><m:mrow><m:mi>&#x3c3;</m:mi></m:mrow>
<m:mrow><m:mo stretchy="false">|</m:mo><m:msub><m:mrow><m:mi
mathvariant="bold-script">R</m:mi></m:mrow><m:mrow><m:mi>&#x3bc;</m:mi>
<m:mi>&#x3bd;</m:mi></m:mrow></m:msub><m:mo stretchy="false">|</m:mo>
</m:mrow></m:mfrac><m:mo stretchy="true">)</m:mo></m:mrow><m:mrow><m:mn
>6</m:mn></m:mrow></m:msup><m:mo stretchy="true">]</m:mo></m:mrow>

Technical details:

MathJax Version: master - latest commit: MathJax.js v2.7.5 Client OS: Windows Browser: Chrome Version 91.0.4472.114 (Official Build) (64-bit) Renderer: HTML-CSS

Assignee
Assign to
Time tracking