Equation alignment

From ConTeXt wiki

< Math

Be sure to also read the recent (2006-08-02) Using \startalign and friends written by Aditya Mahajan.

This set of math examples is taken from the comments in the core-mat.tex file, which contains most of the core ConTeXt math macros. The textwidth has been set to 8 cm in these examples so that the page isn't too wide (see Layout and \setuplayout for further information specific to layout).


Normally a formula is centered, but in case you want to align it left or right, you can set up formulas to behave that way. Normally a formula will adapt its left indentation to the environment:

In the next examples we explicitly align formulas to the left (\raggedleft), center and right (\raggedright):

\setuplayout[textwidth=8cm]
\setupformulas[align=left]
\startformula c^2 = a^2 + b^2 \stopformula
\setupformulas[align=middle]
\startformula c^2 = a^2 + b^2 \stopformula
\setupformulas[align=right]
\startformula c^2 = a^2 + b^2 \stopformula

Or in print:

With formula numbers the code is:

\setuplayout[textwidth=8cm]
\setupformulas[align=left]
\placeformula \startformula c^2 = a^2 + b^2 \stopformula
\setupformulas[align=middle]
\placeformula \startformula c^2 = a^2 + b^2 \stopformula
\setupformulas[align=right]
\placeformula \startformula c^2 = a^2 + b^2 \stopformula

And the formulas look like:

When tracing is turned on (\tracemathtrue) you can visualize the bounding box of the formula,

As you can see, the dimensions are the natural ones, but if needed you can force a normalized line:

\setuplayout[textwidth=8cm]
\setupformulas[align=middle,strut=yes]
\tracemathtrue
\placeformula \startformula c^2 = a^2 + b^2 \stopformula

This time we get a more spacy result. [Ed. Note: For this example equation, there appears to be no visible change.]

We will now show a couple of more settings and combinations of settings. In centered formulas, the number takes no space

\setuplayout[textwidth=8cm]
\tracemathtrue
\setupformulas[align=middle]
\startformula c^2 = a^2 + b^2 \stopformula
\placeformula \startformula c^2 = a^2 + b^2 \stopformula

You can influence the placement of the whole box with the parameters leftmargin and rightmargin.

\setuplayout[textwidth=8cm]
Some example text, again, to show where the right and left margins of the text block are.
\tracemathtrue
\setupformulas[align=right,leftmargin=3em]
\startformula c^2 = a^2 + b^2 \stopformula
\placeformula \startformula c^2 = a^2 + b^2 \stopformula

\setupformulas[align=left,rightmargin=1em]
\startformula c^2 = a^2 + b^2 \stopformula
\placeformula \startformula c^2 = a^2 + b^2 \stopformula

You can also inherit the margin from the environment.

\setuplayout[textwidth=8cm]
Some example text, again, to show where the right and left margins of the text block are.
\tracemathtrue
\setupformulas[align=right,margin=standard]
\startformula c^2 = a^2 + b^2 \stopformula
\placeformula \startformula c^2 = a^2 + b^2 \stopformula

The distance between the formula and the number is only applied when the formula is left or right aligned.

\setuplayout[textwidth=8cm]
\tracemathtrue
\setupformulas[align=left,distance=2em]
\startformula c^2 = a^2 + b^2 \stopformula
\placeformula \startformula c^2 = a^2 + b^2 \stopformula