92 Math in Pressbooks
Pressbooks offers two different methods to create mathematical equations in your books: MathJax and QuickLaTeX. Each method has an array of options and benefits. In this chapter, we’ll cover:
MathJax
MathJax is an open source JavaScript display engine that translates mathematical markup into accessible equations on the web. Pressbooks is also capable of creating accessible image versions of equations and other mathematical markup for export formats which do not support the use of JavaScript. Pressbooks supports input provided using three different mathematical syntaxes for MathJax: LaTeX, AsciiMath, and MathML.
MathJax is activated and enabled as the default mathematics rendering solution for all hosted PressbooksEDU networks (QuickLaTeX is the default math rendering option for authors on Pressbooks.com). You can find and change your MathJax settings by going to Settings > MathJax from the left sidebar menu.
Settings
You can change the text color of all equations in your book by insert the hex code for the color you’ve chosen into the form next to Text Color and saving your changes. The integral at the top of the page will refresh to reflect your changed settings.
Accessibility and Other Features
Within the webbook, readers can right click any equation rendered in MathJax to access additional display options and accessibility features.
Options include the ability to magnify any equation on click or hover, the ability to display the math in HTML, SVG, and other formats, and more. For more information on the accessibility features and other settings available from MathJax, check out MathJax’s documentation.
LaTeX
There are two ways to use LaTeX syntax in MathJax:
Shortcode syntax:
[latex]e^{i \pi} + 1 = 0[/latex]
Dollar sign syntax:
$latex e^{i \pi} + 1 = 0$
Draft your LaTeX equations directly into the visual editor. Note that equations will not display fully formatted in the editor. However, you can view the webbook or export your files at any time to see how the equations appear.
For more details on how to use LaTeX, see LaTeX Project documentation.
AsciiMath
There are two ways to use AsciiMath syntax in MathJax:
Shortcode syntax:
[asciimath]e^{i \pi} + 1 = 0[/asciimath]
Dollar sign syntax:
$asciimath e^{i \pi} + 1 = 0$
Like LaTeX, AsciiMath can be drafted directly in the visual editor. View the webbook or export your files to see how the equations display.
For more information on how to use AsciiMath, see AsciiMath’s website.
MathML
MathML is formatted in markup syntax. Wrap equations in <math> tags to render in MathJax.
Example:
<math><mrow><mrow><msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo><mrow><mn>4</mn><mo></mo><mi>x</mi></mrow><mo>+</mo><mn>4</mn></mrow><mo>=</mo><mn>0</mn></mrow></math>
Word Imports
If you are drafting in Microsoft Word before importing to Pressbooks, you may be interested in knowing how to format equations so that they can import correctly into Pressbooks. The following shortcodes can be used to convert your equations into MathJax-rendered expressions from imported Word docx files:
LaTeX
[latex]latex code here[/latex]
OR
[equation]latex code here[/equation]
AsciiMath
[asciimath]a^2[/asciimath]
Wrap your equations in these shortcodes while drafting in Word. Please note that MathML cannot be imported from a Word docx file. For more information on how to use shortcodes, see the Shortcodes chapter.
QuickLaTeX
QuickLaTeX is a plugin that allows users to write native LaTeX syntax directly into their books without wrapping shortcodes around every part of every equation. QuickLaTeX is the default mathematics rendering option for Pressbooks.com users and is can be used as an optional replacement for MathJax within individual books on other networks.
Activating QuickLaTeX
To enable the QuickLaTeX plugin:
- Go to your book’s dashboard
- Click the Plugins tab on the left-hand menu of your screen
- Scroll to WP QuickLaTeX
- Click Activate
Once you’ve enabled the QuickLaTeX plugin, you can format equations with any of the following syntaxes:
- $ … $
- [ … ]
- ( … )
- $ $ … $ $
- Environments: equation, align, displaymath, eqnarray, multline, flalign, gather, and alignat
The QuickLaTeX plugin also supports TikZ graphics and other commands that may not be supported using regular LaTeX. For more information about commands and notation in LaTeX, see Brown University’s LaTeX guide.
There are three ways to render equations with the QuickLaTeX plugin:
1. Add the [latexpage] shortcode to the top of your chapter. Once you’ve written [latexpage] at the top of a chapter, LaTeX is active for that entire chapter, and everything written in LaTeX syntax will be translate by QuickLaTex. For example if you were to input the following:
[latexpage] At first, we sample $f(x)$ in the $N$ ($N$ is odd) equidistant points around $x^*$: \[ f_k = f(x_k),\: x_k = x^*+kh,\: k=-\frac{N-1}{2},\dots,\frac{N-1}{2} \] where $h$ is some step. Then we interpolate points $\{(x_k,f_k)\}$ by polynomial \begin{equation} \label{eq:poly} P_{N-1}(x)=\sum_{j=0}^{N-1}{a_jx^j} \end{equation} Its coefficients $\{a_j\}$ are found as a solution of system of linear equations: \begin{equation} \label{eq:sys} \left\{ P_{N-1}(x_k) = f_k\right\},\quad k=-\frac{N-1}{2},\dots,\frac{N-1}{2} \end{equation} Here are references to existing equations: (\ref{eq:poly}), (\ref{eq:sys}). Here is reference to non-existing equation (\ref{eq:unknown}).
WP QuickLaTeX would render something which looks like this:
2. Enable the “Use LaTeX Syntax Sitewide” setting. Go to Settings > QuickLaTeX from the left sidebar, then select the Advanced tab. Turn on the “Use LaTeX Syntax Sitewide” setting so that all LaTeX expressions throughout your entire book are rendered by QuickLaTeX.
3. Use the [latex]
shortcode for your equations. Anything wrapped in the [latex]
shortcode will render in QuickLaTeX once the plugin has been activated. Because the allowed syntaxes for denoting mathematical expressions can differ between MathJax and QuickLaTeX, this is our recommended method if you think you may want to switch from using MathJax to QuickLaTex or vice versa, since any equation wrapped in latex shortcodes will display in MathJax and QuickLaTeX.
Customizing QuickLaTeX
To customize your QuickLaTex, navigate to Settings > QuickLaTeX on the left-hand menu of your book’s dashboard.
You can customize QuickLaTeX settings available from the Basic Settings tab or the Advanced tab.
Basic Settings:
- Font size
- Font color
- Background color
- Equation alignment
- Equation number position
Advanced Settings:
- Use LaTeX syntax sitewide
- Exclude $ from syntax interpretation
- Set LaTeX preambles
For more information on QuickLaTeX, visit the website for the plugin.
Other Uses for LaTeX
LaTeX can also be used for individual special characters. While Pressbooks supports as wide a range of special characters as possible, it may be that you find a character you need displaying as a question mark in your outputs. To fix this, find the character code you need and wrap it in the latex shortcode.
Math Within Other Book Elements
Math in most syntaxes should be compatible with most elements in your book, including image captions, textboxes, body text, and more. Here are a few exceptions:
- Any shortcode within another shortcode. Shortcode elements will break when placed inside of another shortcode. This means that the [asciimath][/asciimath] and [latex][/latex] shortcodes cannot be nested inside of footnotes, image captions, or any other shortcode element. See Shortcodes for a full list of elements in Pressbooks that are or can be created with shortcodes. However, both AsciiMath and LaTeX offer a non-shortcode syntax, which we recommend using if you're placing math inside of a shortcode element.
- Titles. Equations won't look good inside of a title because the style of the math will override the style of the heading. The code used to create the equation may also display in the table of contents.
- Running content. Similar to titles, the code used to create the equation may display in the running content.
Using Math in H5P Activities
You can draft equations inside of H5P elements in Pressbooks with MathJax LaTeX. You'll first need to add the mathematics library to your book's H5P setup in Pressbooks. To do this:
- Make sure you have H5P activated and have the mathematics library from H5P downloaded to your device
- Go to H5P Content > Libraries from the left sidebar menu
- Click Choose File and add the H5P mathematics library
- Click Upload
To find the H5P mathematics library and read more about how to use LaTeX in H5P, see Mathematical expressions in H5Ps.
For more information about drafting equations in LaTeX, see the MathJax LaTeX section of this chapter.
Using Math in TablePress
You can use MathML or QuickLaTeX to create equations and formulas in the tables you make in TablePress.
Using QuickLaTeX in TablePress
In order to create QuickLaTeX equations in TablePress tables, you must first check that:
- You have QuickLaTex activated
- You have enabled the "Use LaTeX Syntax Sitewide" setting under Settings > QuickLaTeX > Advanced*
*This is recommended but not compulsory. The alternative is to add the [latexpage] shortcode to each individual cell of the table, or to follow the instructions for Using PB LaTeX.
Once you've activated or enabled these settings, you can use any supported QuickLaTeX syntax to create your equation within the table's cells. All content can be edited from within the TablePress interface.
For instance:
Becomes:
Using MathML in TablePress
Write your MathML markup directly into the table cells in TablePress as you would in the text editor. Save the table, add it to your chapter, and you're ready to go.
Other Solutions
If LaTeX is a bit much for you or you'd rather look at other options, you can always use special characters, symbols, and the sub/superscript buttons on the toolbar to compose your equations.
If you are fluent in HTML+CSS, you can also look at constructing and formatting your formulas that way.