WPMathPub

Description

WPMathPub renders mathematical equations in WordPress using the mathpublisher rendering engine, supporting both pmath native syntax and LaTeX-style input and generating high-quality PNG images with transparent backgrounds.

Unlike MathJax-based plugins, WPMathPub performs server-side rendering, producing static equation images that display consistently across browsers and devices without requiring client-side JavaScript.

This approach provides reliable rendering for:

  • WordPress posts, pages, and comments
  • Cached pages
  • Environments where JavaScript rendering is not desirable
  • RSS feeds and feed aggregators RSS example

WPMathPub extends the classic mathpublisher engine with modern WordPress integration including shortcode support, LaTeX translation, image caching, and configurable rendering options.

Mathematical Equation Rendering

Mathematical expressions can be embedded directly into WordPress content using the pmath shortcode.

Example:

[pmath]x^2 + y^2 = z^2[/pmath]

Custom size and color:

[pmath size=18 color="blue"]E = mc^2[/pmath]

LaTeX input with inline text:

This is a fraction: [pmath latex=1]\frac{a}{b}[/pmath]

Expressions are rendered as PNG images using the GD and FreeType libraries and cached for efficient reuse.

Features

  • pmath shortcode tag math expression rendering
  • Inline text with math images using pmath shortcode tag
  • Control of math image size and color
  • LaTeX command translation (Check out the complete syntax list)
  • Server-side PNG equation generation
  • Gutenberg WPMathPub math block with PMath and LaTeX mode switching
  • Halo-free color rendering with alpha transparency
  • Transparent background support for dark themes
  • Minimal WordPress database footprint
  • Efficient PNG image caching
  • WordPress admin tools panel
    • Configurable default equation size
    • Configurable default equation color with color picker
    • Installation status display
    • PNG image cache status and control
    • Policy control for cleanup on plugin delete

Screenshots

  • Example rendered equation in page
  • Example rendered equation in comment
  • Example Gutenberg block
  • Example from syntax page
  • WordPress admin configuration panel top
  • WordPress admin configuration panel bottom

Blocks

This plugin provides 1 block.

  • Math (WPMathPub)

Installation

  1. Upload the plugin folder to the /wp-content/plugins/ directory.
  2. Activate the plugin through the WordPress Plugins menu.
  3. Optional: change defaults under Tools WPMathPub.

FAQ

How do I get started with WPMathPub?

Here are three references:

Does this plugin require MathJax?

No. WPMathPub renders equations server-side as PNG images using the mathpublisher rendering engine.

Does it support LaTeX?

Yes. WPMathPub includes a server-side LaTeX translator that converts standard LaTeX math commands into native pmath syntax before rendering. The result is identical PNG output — so a LaTeX expression and its pmath equivalent share the same cached image file, with no duplication. See the full command reference on the WPMathPub syntax page.

Where are rendered images stored?

Rendered equation images are cached in:

/wp-content/uploads/wpmathpub/math-img/

Why does the plugin generate PNG images instead of SVG?

The plugin preserves compatibility with the mathpublisher rendering engine, which produces raster images. PNG output ensures consistent rendering across browsers.

Reviews

2018-11-23
it gives me error: Fatal error: Uncaught Error: Call to undefined function ereg() in ….web/wp-content/plugins/wpmathpub/phpmathpublisher/mathpublisher.php:1604 Stack trace: #0 /nfsmnt/hosting1_1/4/c/4cdba5d2-b725-4d56-95e7-7244c2ed5f96/dveadvesustyri.sk/web/wp-content/plugins/wpmathpub/phpmathpublisher/mathpublisher.php(1625): detectimg(‘629fdc23df6a73c…’) #1 /nfsmnt/hosting1_1/4/c/4cdba5d2-b725-4d56-95e7-7244c2ed5f96/dveadvesustyri.sk/web/wp-content/plugins/wpmathpub/phpmathpublisher/mathpublisher.php(1661): mathimage(‘S(f)(t)=a_{0}+s…’, ’12’, ‘http://dveadves…’) #2 /nfsmnt/hosting1_1/4/c/4cdba5d2-b725-4d56-95e7-7244c2ed5f96/dveadvesustyri.sk/web/wp-content/plugins/wpmathpub/wpmathpub.php(110): mathfilter(‘<m>S(f)(t)=a_{0…’, ’12’, ‘http://dveadves…’) #3 [internal function]: wpmathfilter(Array) #4 /nfsmnt/hosting1_1/4/c/4cdba5d2-b725-4d56-95e7-7244c2ed5f96/dveadvesustyri.sk/web/wp-content/plugins/wpmathpub/wpmathpub.php(124): preg_replace_callback(‘#\\[pma in /nfsmnt/hosting1_1/4/c/4cdba5d2-b725-4d56-95e7-7244c2ed5f96/dveadvesustyri.sk/web/wp-content/plugins/wpmathpub/phpmathpublisher/mathpublisher.php on line 1604
2016-09-03
The advantage of this plugin to other ones is that it doesn’t use “\” (backslash) which other latex-based plugins do. Backslashes are sometimes stripped in WP leading to formulas not showing properly.
Read all 5 reviews

Contributors & Developers

“WPMathPub” is open source software. The following people have contributed to this plugin.

Contributors

Translate “WPMathPub” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

3.0.4

  • Added \hbar symbol (reduced Planck constant ℏ, Unicode U+210F)
  • Fixed LaTeX \frac rendering for multi-token numerators and denominators
  • Fixed image rendering failure at certain font sizes caused by decimal value in cached filename
  • Fixed small vertical alignment error between inline text and math images
  • Removed version salt for stable RSS feed and URL links
  • Changed Gutenberg block default math syntax mode from pmath native to LaTeX
  • Security: added direct file access protection (ABSPATH check) to wpmathpub.php, mathpublisher.php, and fonts/index.php
  • Security: replaced unlink() with wp_delete_file() in wpmathpub.php and uninstall.php
  • Security: replaced rmdir() with WP_Filesystem in uninstall.php
  • Security: escaped admin page output with wp_kses_post()
  • Fixed readme.txt Requires at least version 5.0 mismatch

3.0.3

  • Improved error handling
  • Improved rendering of PNG images

3.0.2

  • Added color= shortcode attribute with hex and named color support
  • Added LaTeX input mode via latex=1 shortcode attribute with full PHPMathPublisher syntax coverage
  • Added Gutenberg WPMathPub math block with PMath/LaTeX mode switching and real-time preview
  • Added admin panel default equation color setting with WordPress color picker
  • Added admin panel default equation size setting
  • Added uninstall.php to remove plugin database options on delete
  • Fixed Greek Omega symbol rendering (three stacked bugs resolved)
  • Fixed matrix and tabular LaTeX conversion
  • Fixed tabular border string parsing to respect LaTeX | and \hline markers
  • Improved PNG image cache handling and cache key discipline
  • Improved rendering stability across PHP 7.2 through 8.3