Wiris

Documentation

  • Demos
  • Visit our website
  • Contact us
  • MathType

    • WirisQuizzes

      • LearningLemur

        • CalcMe

          • MathPlayer

            • Store FAQ

              • MathFlow

                • BF FAQ

                  • Miscellaneous

                    • Wiris Integrations

                      • Home
                      • MathPlayer
                      • MathML 3 linebreaking and indentation examples
                      • MathML 3 linebreaking and indentation examples

                      Controlling indentation

                      Reading time: 4min

                      In the above examples, the indentation is still done automatically. If we want the indentation to be at the first term so that all of the operators align regardless of whether we have automatic or manual line breaks, we can do so by adding an id attribute value to the first operator that we want all subsequent lines to align to, and then setting indentalign to be id and the indenttarget to be that id as follows:

                      <div><tt><math xmlns='http://www.w3.org/1998/Math/MathML'<br></br>      maxwidth='200px' linebreakmultchar='×' linebreakstyle='before'<br></br>      <span>indentalign='id' indenttarget='firstOperator'</span>><br></br>  <mrow><br></br>    <mrow><br></br>      <mo>(</mo><br></br>      <mrow><br></br>        <msup><br></br>          <mi>x</mi><br></br>          <mn>4</mn><br></br>        </msup><br></br>        <mo<span>id='firstOperator'</span>>-</mo><br></br>        …<br></br></math></tt></div>

                      This gives the following result:

                      It is often sufficient to inherit the indentation target, but not where there are multiple indentation levels; in those cases, it is necessary to either wrap a mstyle around the other parts or explicitly set the indentation target on potential break points. The later technique is a good one when a linebreak is forced. Here's an example where we align both the equals sign and the left parentheses:

                      <math xmlns='http://www.w3.org/1998/Math/MathML'
                            maxwidth='300px' linebreakmultchar='×' linebreakstyle='before'>
                       <mrow>
                        <msup>
                         <mrow>
                          <mo>(</mo>
                          <mrow>
                           <msup> <mi>x</mi> <mn>2</mn> </msup>
                           <mo>-</mo>
                           <msup> <mi>y</mi> <mn>2</mn> </msup>
                          </mrow>
                          <mo>)</mo>
                         </mrow>
                         <mn>4</mn>
                        </msup>
                        <mo id='equals'>=</mo>
                        <mrow>
                         <msup>
                          <mrow>
                           <mo>(</mo> <mrow> <mi>x</mi> <mo>-</mo> <mi>y</mi> </mrow> <mo>)</mo>
                          </mrow>
                          <mn>4</mn>
                         </msup>
                         <mo>&#x2062;</mo>
                         <msup>
                          <mrow>
                           <mo>(</mo> <mrow>  <mi>x</mi> <mo>+</mo> <mi>y</mi> </mrow> <mo>)</mo>
                          </mrow>
                          <mn>4</mn>
                         </msup>
                        </mrow>
                        <mo linebreak='newline' indentalign='id' indenttarget='equals'>=</mo>
                        <mrow>
                         <mrow>
                          <mo id='lparen'>(</mo>
                          <mrow>
                           <msup> <mi>x</mi> <mn>4</mn> </msup>
                           <mo>-</mo>
                           <mrow>
                            <mn>4</mn>
                            <mo>&#x2062;</mo>
                            <msup> <mi>x</mi> <mn>3</mn> </msup>
                            <mo>&#x2062;</mo>
                            <mi>y</mi>
                           </mrow>
                           <mo>+</mo>
                           <mrow>
                            <mn>6</mn>
                            <mo>&#x2062;</mo>
                            <msup> <mi>x</mi> <mn>2</mn> </msup>
                            <mo>&#x2062;</mo>
                            <msup> <mi>y</mi> <mn>2</mn> </msup>
                           </mrow>
                           <mo>-</mo>
                           <mrow>
                            <mn>4</mn>
                            <mo>&#x2062;</mo>
                            <mi>x</mi>
                            <mo>&#x2062;</mo>
                            <msup> <mi>y</mi> <mn>3</mn> </msup>
                           </mrow>
                           <mo>+</mo>
                           <msup> <mi>y</mi> <mn>4</mn> </msup>
                          </mrow>
                          <mo>)</mo>
                         </mrow>
                         <mo linebreak='newline' indentalign='id' indenttarget='lparen' linebreakstyle='after'>&#x2062;</mo>
                         <mrow>
                          <mo>(</mo>
                          <mrow>
                           <msup> <mi>x</mi> <mn>4</mn> </msup>
                           <mo>+</mo>
                           <mrow>
                            <mn>4</mn>
                            <mo>&#x2062;</mo>
                            <msup> <mi>x</mi>  <mn>3</mn> </msup>
                            <mo>&#x2062;</mo>
                            <mi>y</mi>
                           </mrow>
                           <mo>+</mo>
                           <mrow>
                            <mn>6</mn>
                            <mo>&#x2062;</mo>
                            <msup> <mi>x</mi> <mn>2</mn> </msup>
                            <mo>&#x2062;</mo>
                            <msup> <mi>y</mi> <mn>2</mn> </msup>
                           </mrow>
                           <mo>+</mo>
                           <mrow>
                            <mn>4</mn>
                            <mo>&#x2062;</mo>
                            <mi>x</mi>
                            <mo>&#x2062;</mo>
                            <msup> <mi>y</mi> <mn>3</mn> </msup>
                           </mrow>
                           <mo>+</mo>
                           <msup> <mi>y</mi> <mn>4</mn> </msup>
                          </mrow>
                          <mo>)</mo>
                         </mrow>
                        </mrow>
                       </mrow>
                      </math>

                      Was this article helpful?

                      Give feedback about this article

                      Related Articles

                      • Linebreaking and indentation
                      • Verbosity
                      • Automatic and manual linebreaks

                      Empowering STEM education

                      MathType

                      • Office Tools
                      • LMS
                      • XML
                      • HTML

                      WirisQuizzes

                      Learning Lemur

                      Integrations

                      Solutions

                      • Education
                      • Publishing houses – platforms and interactive
                      • Publishing houses – Print and digital
                      • Technical writers

                      Pricing

                      Downloads

                      Blog

                      • Success stories

                      About us

                      • Careers
                      • Partnership

                      Contact Us

                      Contact Sales

                      European union (European Regional Development Fund) and 1EdTech (TrustEd Apps Certified)
                      • Cookie Policy
                      • Terms of Use
                      • Privacy Policy / GDPR
                      • Student Data Privacy
                      • Compliance
                      • Cookie Settings

                      © Wiris 2026

                      Expand