# sphinx-math-dollar¶

sphinx-math-dollar is a Sphinx extension to let you write LaTeX math using $$.

To enable install it

```
pip install sphinx-math-dollar
```

or

```
conda install -c conda-forge sphinx-math-dollar
```

Then in your `conf.py`

, add `'sphinx_math_dollar'`

to your extensions list:

```
extensions = ['sphinx_math_dollar', 'sphinx.ext.mathjax']
```

You will now be able to use dollar signs for math, like `$\int\sin(x)\,dx$`

,
which will produce \(\int\sin(x)\,dx\) (if you are reading this on GitHub, look
at the version built by Sphinx here). The usual Sphinx `:math:`

directive will also continue to work.

The extension will also work with docstrings when combined with the sphinx.ext.autodoc extension.

## Configuration¶

sphinx-math-dollar uses a blacklist to determine which docutils nodes should not be parsed. The default blacklist is

```
(FixedTextElement, literal, math)
```

`FixedTextElement`

covers the Simple Body Elements nodes.

Any docutils node that is contained in a blacklisted node or a subclass of a
blacklisted node will not have `$math$`

parsed as LaTeX.

You can modify this by setting `math_dollar_node_blacklist`

in `conf.py`

.
For example, to also prevent `$math$`

from rendering in headers nodes, add

```
from sphinx_math_dollar import NODE_BLACKLIST
from docutils.nodes import header
math_dollar_node_blacklist = NODE_BLACKLIST + (header,)
```

Note that configuring this variable replaces the default, so it is recommended
to always include the above default values (`NODE_BLACKLIST`

) in addition to
additional nodes.

To debug which nodes are skipped, set the environment variable
`MATH_DOLLAR_DEBUG=1`

or set `math_dollar_debug = True`

in `conf.py`

.

If you feel a node should always be part of the default blacklist, please make a pull request.