Skip to main content

Automatically number display-math equations in pandoc.

Project description

pandoc-displaymath2equation

Replace blocks of displaymath with the equation environment, and enable links to labeled equations.

This is a very simple filter. For a solution with all the bells and whistles use the (now seemingly unmaintained) pandoc-eqnos.

Usage

Install the pandoc-displaymath2equation package from PyPI, and add pandoc-displaymath2equation to your filters.

python -m pip install pandoc-displaymath2equation
pandoc --filter pandoc-displaymath2equation path/to/file.md -o file.pdf

Display Math Conversion

Content that would usually generate output like this:

\[
1 + 1 = 2
\]

will instead generate a block like this:

\begin{equation}
1 + 1 = 2
\end{equation}

Referencing Labelled Equations

To reference an equation labeled id, use a string of the form (eq:id). This will be replaced with \eqref{id}.

To label an equation, just use \label{id} in the display math block.

$$
E = mc^2 \label{important}
$$

With the default eq-ref option, this can be referenced in the text by using (eq:important).

Options

Options can be passed via document metadata.

Key Type Default Effect
labeled-only bool false Do not transform blocks without a \label.
eq-ref str \(eq:(?P<eq_id>[^)]+)\) Regex to match equation references. Can't match spaces.
env-start str \begin{equation} Environment opening statement.
env-stop str \end{equation} Environment closing statement.

Development

Source-code goes into displaymath2equation/, tests go into tst/. Code style should conform to PEP-8, and commit messages should follow the conventional commits spec.

Dependencies

Dependencies for development can be installed from requirements-dev.txt.

New dependencies should go into pyproject.toml. If code in displaymath2equation/ depends on them, they go into [project.dependencies], otherwise into an environment in [project.optional-dependencies], most likely dev.

If dependencies are added, requirements.txt and requirements-dev.txt should be regenerated. This can be done with make requirements.txt and make requirements-dev.txt respectively.

Testing

Having tests is nice. Even though the test we have is a little sparse, it's better than no test.

Docs

Documentation is nice, but doesn't exist yet. Once it does, it goes into docs.

TODOs

Possible future features that would be nice to have:

  • syntax for determining the text/mark/number rendered next to the equation
  • logic to deal with split/align environments

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pandoc_displaymath2equation-0.0.0.3.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file pandoc_displaymath2equation-0.0.0.3.tar.gz.

File metadata

File hashes

Hashes for pandoc_displaymath2equation-0.0.0.3.tar.gz
Algorithm Hash digest
SHA256 ecc21a825035c993167c99d5c0d1d591c017daf81b08aa8f3bddf1a9454e4f99
MD5 15a48e9f0ad4ee73cb1e7733ed599c18
BLAKE2b-256 476bc44432096ad0bdb6c0333823ef8fa27781c8f3a1a158fcae79f945debf4e

See more details on using hashes here.

File details

Details for the file pandoc_displaymath2equation-0.0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pandoc_displaymath2equation-0.0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f4c2502dc233d3d7077d96c3350476a0fe9fe4f2b3638f9d37f2168af28b813f
MD5 ed97368914cf2b7bc7d57faa78140de9
BLAKE2b-256 adbe3de3f401bd605e6ecb27b85b8578a7af98c875e302dfd5db450639d129f9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page