Skip to main content

A CLI tool to fix mathematical equations in markdown files and convert between formats

Project description

Markdown Equations Fixer and Converter

PyPI version Python 3.7+ License: MIT

A command-line tool to standardize mathematical equations in Markdown files and convert documents between formats (Markdown, LaTeX, DOCX, PDF).

Key Features

  • Fix Markdown Equations: Standardizes LaTeX-style equations to Markdown format
    • \[...\]$$...$$ (block equations)
    • \(...\)$...$ (inline equations)
    • Multi-line equations supported
  • Document Conversion: Convert between formats using Pandoc
    • Input: markdown, gfm, commonmark, latex, org, docx
    • Output: markdown, gfm, commonmark, latex, org, docx, pdf
  • CLI Features: Recursive processing, dry-run mode, progress indicators

Installation

Prerequisites: Python 3.7+

pip install markdown-equations-fixer

For document conversion, install Pandoc:

  • Windows: choco install pandoc
  • macOS: brew install pandoc
  • Linux: sudo apt-get install pandoc

For PDF/DOCX output, install a LaTeX distribution:

  • Windows: choco install miktex
  • macOS: brew install --cask basictex
  • Linux: sudo apt-get install texlive-latex-extra

Usage

Fix Equations

Standardize mathematical equations in Markdown files (.md, .markdown):

# Fix a single file
meq-fixer fix document.md

# Fix multiple files/directories
meq-fixer fix file1.md file2.md ./docs/

# Recursively process a directory
meq-fixer fix -r ./my-project/

# Preview changes without modifying (dry run)
meq-fixer fix --dry-run thesis.md

# Verbose output
meq-fixer fix -v document.md

Options:

  • --dry-run: Preview without making changes
  • --verbose, -v: Show detailed progress
  • --recursive, -r: Process subdirectories

Convert Documents

Convert between document formats:

# Markdown to DOCX
meq-fixer convert paper.md paper.docx --to-format docx

# LaTeX to GitHub Markdown
meq-fixer convert report.tex report.md -f latex -t gfm

# Convert and fix equations (Markdown output only)
meq-fixer convert paper.tex paper.md -t markdown --fix-equations

# Markdown to PDF
meq-fixer convert thesis.md thesis.pdf -t pdf

Options:

  • --from-format, -f: Input format (markdown, gfm, commonmark, latex, org, docx)
  • --to-format, -t: Output format (markdown, gfm, commonmark, latex, pdf, docx, org)
  • --fix-equations: Fix equations in Markdown output (Markdown formats only)

Examples

Input:

Here's an equation: \[E = mc^2\]

And a matrix:
\[
\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6
\end{bmatrix}
\]

Output: May not format properly on github, but will work on markdown editor apps like obsidian, marktext, etc.

Here's an equation: $$E = mc^2$$

And a matrix:
$$
\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6
\end{bmatrix}
$$

Dependencies

Python packages (installed automatically):

  • click>=8.0.0
  • rich>=10.0.0
  • pypandoc

See Installation for system dependencies.

License

MIT License. See LICENSE file.

Contributing

Contributions welcome! Open an issue or submit a pull request.

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

markdown_equations_fixer-1.2.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

markdown_equations_fixer-1.2.0-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file markdown_equations_fixer-1.2.0.tar.gz.

File metadata

File hashes

Hashes for markdown_equations_fixer-1.2.0.tar.gz
Algorithm Hash digest
SHA256 98a84a47f569e73c885db2cf95c843829167161444a3c64f2f3f887fe7bdc434
MD5 e3b62592990759b7248053a02990f518
BLAKE2b-256 123f46526372cd4fac7e499e435acbccab998da9e8b741274ff32d655bc0d4bf

See more details on using hashes here.

File details

Details for the file markdown_equations_fixer-1.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for markdown_equations_fixer-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 748b22e0235a2164d07d62e6d6127cc3160edbf8dd2782a3b6c3cb947f460e06
MD5 f9f7f7cbcf7562d3a0f3cff590af86c6
BLAKE2b-256 9a07538989770ccaf9342ab7ff9d7734d782ec3e3b8260cacc2d112dac6de73a

See more details on using hashes here.

Supported by

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