A versatile command-line tool to standardize and fix mathematical equations in Markdown files and convert documents between various formats like Markdown, LaTeX, DOCX, and PDF.
- Fix Markdown Equations: Standardizes common LaTeX-style equations to a consistent Markdown format.
- Converts block equations from
\[...\]
to the widely supported$$...$$
. - Converts inline equations from
\(...\)
to$..$
. - Handles both single-line and multi-line equations gracefully.
- Converts block equations from
- Document Conversion: Leverages Pandoc to convert files between a variety of formats, including:
markdown
,gfm
(GitHub-Flavored Markdown),commonmark
latex
org
docx
pdf
- User-Friendly CLI:
- Process multiple files or entire directories at once.
--recursive
flag to scan through subdirectories.--dry-run
mode to preview changes without modifying files.- Rich console output with progress bars and status indicators.
You can install the package directly from PyPI:
pip install markdown-equations-fixer
Or, to install the latest development version from GitHub:
pip install git+https://github.com/dynstat/markdown-equations-fixer.git
The tool provides two main commands: fix
and convert
.
Use the fix
command to standardize mathematical equations within your Markdown files (.md
, .markdown
).
Syntax:
meq-fixer fix [OPTIONS] [PATHS]...
Examples:
-
Fix a single file:
meq-fixer fix document.md
-
Fix multiple files and directories:
meq-fixer fix file1.md ./docs/
-
Recursively fix all markdown files in a directory:
meq-fixer fix -r ./my-project/
-
Preview changes without saving them (dry run):
meq-fixer fix --dry-run thesis.md
Options:
--dry-run
: Preview changes without modifying files.--verbose
,-v
: Show detailed, file-by-file progress.--recursive
,-r
: Process directories recursively.
Use the convert
command to translate documents between different formats.
Syntax:
meq-fixer convert [OPTIONS] <INPUT_FILE> <OUTPUT_FILE>
Examples:
-
Convert Markdown to a DOCX document:
meq-fixer convert my-paper.md my-paper.docx --to-format docx
-
Convert a LaTeX file to GitHub-Flavored Markdown (GFM):
meq-fixer convert report.tex report.md --from-format latex --to-format gfm
-
Convert to Markdown and fix equations in one step: The
--fix-equations
flag applies the same logic as thefix
command to the output file. This is only useful when converting to a Markdown format.meq-fixer convert paper.tex paper.md --to-format markdown --fix-equations
Options:
--from-format
,-f
: The input format (e.g.,latex
,markdown
).--to-format
,-t
: The output format (e.g.,docx
,pdf
,gfm
).--fix-equations
: Fix equations in the output file (for Markdown output formats only).
The installer will handle these dependencies automatically.
click>=8.0.0
rich>=10.0.0
pypandoc
For the convert
command to function, especially for DOCX and PDF output, you must have the following software installed on your system:
-
Pandoc: A universal document converter.
- Windows (with Chocolatey):
choco install pandoc
- macOS (with Homebrew):
brew install pandoc
- Linux (Debian/Ubuntu):
sudo apt-get install pandoc
- Windows (with Chocolatey):
-
A LaTeX Distribution: Required for rendering equations in PDF and DOCX files.
- Windows: MiKTeX (
choco install miktex
) - macOS: MacTeX (
brew install --cask mactex
orbasictex
) - Linux (Debian/Ubuntu): TeX Live (
sudo apt-get install texlive-latex-extra
)
- Windows: MiKTeX (
This project is licensed under the MIT License. See the LICENSE file for details.
Issues and pull requests are welcome! Please feel free to open an issue or submit a pull request on the GitHub repository.