Customizing a mathfield
The appearance and behavior of the mathfield is highly customizable. Here are a few common examples.
The mathfield can be styled using the
style attribute on the
for example to change the base font size or add a border.
Change line 2-6 of the HTML in the playground below with
color: #dde; background: #256291;.
The content of the mathfield is displayed using a family of high-quality
fonts based on the original Computer Modern font from TeX. The mathfield
will not display correctly using another font. By default, the directory containing
the fonts is located next to the file containing the mathlive library.
If your bundler or asset management system require a different configuration
you can specify where the fonts can be located using the
fontsDirectory option or the
Note that changing the fonts directory for one mathfield will change the fonts used by all the mathfields in the page.
Learn more about configuring the MathLive library to your environment, including using custom asset pipelines and bundlers in the Getting Started Guide.
Some CSS variables can be used to modify the appearance of the mathfield:
--hue: (0…360) default is 212 (light blue). The default colors below are derived from this variable
--highlight: color of the selected fragment of the expression, when the mathfield is active
--highlight-inactive: selection color when the mathfield is not focused
--caret: color of the caret (insertion point)
--primary: accent color for some UI elements, such as the virtual keyboard toggle
Some configuration options can be specified when creating a mathfield as
the second argument of
as we’ve see above with the
The configuration options can also be changed programmatically using the
Several of these configuration options affect the behavior while editing a formula:
ignoreSpaceabrInMathMode: if false, insert a space when the spacebar is pressed, even in math mode (spaces are usually ignored in math mode)
removeExtraneousParentheses: automatically remove extra parentheses around a numerator or denominator
scriptDepth: maximum levels of subscript or superscript. Set it to 0 to prevent the input of superscript and subscripts
smartFence: automatically convert parentheses to
smartMode: switch to text mode when text input is detected, for example when typing “if x > 0”
smartSuperscript: automatically move out of a superscript when a digit is typed
In the code playground below, try some of these options. For example, change
line 3 to
scriptDepth: 0, then try to type “x^2” in the mathfield.
See EditingOptions for more details about these and other available options.
The user interface of the mathfield is provided in english, arabic, german, greek, spanish, farsi, french, italian, japanese, polish and russian.
The language to use is detected automatically, but it can be overridden by
locale option or the
await for the
<math-field> definition to be loaded before
getOptions() method, otherwise it would not be found.
- Executing commands
- Send editing commands to a mathfield