{"id":2733,"date":"2008-03-28T07:59:57","date_gmt":"2008-03-28T07:59:57","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wpmathpub\/"},"modified":"2026-03-26T22:51:10","modified_gmt":"2026-03-26T22:51:10","slug":"wpmathpub","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/wpmathpub\/","author":133646,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"3.0.2","stable_tag":"3.0.2","tested":"6.9.4","requires":"5.2.3","requires_php":"7.2","requires_plugins":null,"header_name":"WPMathPub","header_author":"Ron Fredericks, BiophysicsLab.com","header_description":"","assets_banners_color":"c1c1c7","last_updated":"2026-03-26 22:51:10","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/donate\/?hosted_button_id=S22G8VVL9YAVE","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/wpmathpub\/","header_author_uri":"","rating":4.2,"author_block_rating":0,"active_installs":300,"downloads":25001,"num_ratings":5,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.5":{"tag":"1.0.5","author":"ronf","date":"2008-05-19 21:23:01"},"1.0.6":{"tag":"1.0.6","author":"ronf","date":"2008-05-21 22:24:04"},"1.0.7":{"tag":"1.0.7","author":"ronf","date":"2008-09-30 07:37:12"},"1.0.9":{"tag":"1.0.9","author":"ronf","date":"2013-05-09 18:01:40"},"1.1.0":{"tag":"1.1.0","author":"ronf","date":"2014-09-28 07:55:55"},"1.2.0":{"tag":"1.2.0","author":"ronf","date":"2017-11-10 03:01:05"},"1.3.0":{"tag":"1.3.0","author":"ronf","date":"2019-09-16 16:08:49"},"2.0.0":{"tag":"2.0.0","author":"ronf","date":"2022-11-22 10:19:15"},"2.0.1":{"tag":"2.0.1","author":"ronf","date":"2022-11-22 10:55:43"},"2.0.2":{"tag":"2.0.2","author":"ronf","date":"2022-11-22 18:06:52"},"2.0.3":{"tag":"2.0.3","author":"ronf","date":"2022-11-22 18:27:12"},"2.0.4":{"tag":"2.0.4","author":"ronf","date":"2024-12-08 23:43:46"},"2.1.0":{"tag":"2.1.0","author":"ronf","date":"2025-11-24 05:16:28"},"2.1.1":{"tag":"2.1.1","author":"ronf","date":"2025-11-24 05:29:54"},"2.1.2":{"tag":"2.1.2","author":"ronf","date":"2025-11-24 06:28:26"},"2.1.3":{"tag":"2.1.3","author":"ronf","date":"2025-11-24 06:48:11"},"2.1.4":{"tag":"2.1.4","author":"ronf","date":"2025-12-08 22:59:01"},"3.0.2":{"tag":"3.0.2","author":"ronf","date":"2026-03-26 22:51:10"}},"upgrade_notice":{"3.0.2":"<p>New LaTeX command coverage, halo-free color PNG rendering, Gutenberg block with PMath\/LaTeX mode switching, and improved tools panel. Equation images \nare now cached in \/wp-content\/uploads\/ and will regenerate automatically \non first use after upgrading.<\/p>"},"ratings":{"1":1,"2":0,"3":0,"4":0,"5":4},"assets_icons":{"icon-128x128.jpg":{"filename":"icon-128x128.jpg","revision":2822044,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.jpg":{"filename":"icon-256x256.jpg","revision":2822044,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":997722,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":997722,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":{"wpmathpub\/pmath":{"name":"wpmathpub\/pmath","title":"Math (WPMathPub)"}},"tagged_versions":["1.0.5","1.0.6","1.0.7","1.0.9","1.1.0","1.2.0","1.3.0","2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.1.0","2.1.1","2.1.2","2.1.3","2.1.4","3.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3490319,"resolution":"1","location":"assets","locale":""},"screenshot-2.jpg":{"filename":"screenshot-2.jpg","revision":3490319,"resolution":"2","location":"assets","locale":""},"screenshot-3.jpg":{"filename":"screenshot-3.jpg","revision":3490319,"resolution":"3","location":"assets","locale":""},"screenshot-4.jpg":{"filename":"screenshot-4.jpg","revision":3490319,"resolution":"4","location":"assets","locale":""},"screenshot-5.jpg":{"filename":"screenshot-5.jpg","revision":3490319,"resolution":"5","location":"assets","locale":""},"screenshot-6.jpg":{"filename":"screenshot-6.jpg","revision":3490461,"resolution":"6","location":"assets","locale":""}},"screenshots":{"1":"Example rendered equation in page","2":"Example rendered equation in comment","3":"Example Gutenberg block","4":"Example from syntax page","5":"WordPress admin configuration panel top","6":"WordPress admin configuration panel bottom"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[25668,15435,6566,10503,10504],"plugin_category":[44,46,50],"plugin_contributors":[258739],"plugin_business_model":[],"class_list":["post-2733","plugin","type-plugin","status-publish","hentry","plugin_tags-equations","plugin_tags-formula","plugin_tags-latex","plugin_tags-math","plugin_tags-mathematics","plugin_category-discussion-and-community","plugin_category-editor-and-writing","plugin_category-media","plugin_contributors-ronf","plugin_committers-ronf"],"banners":{"banner":"https:\/\/ps.w.org\/wpmathpub\/assets\/banner-772x250.jpg?rev=997722","banner_2x":"https:\/\/ps.w.org\/wpmathpub\/assets\/banner-1544x500.jpg?rev=997722","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpmathpub\/assets\/icon-128x128.jpg?rev=2822044","icon_2x":"https:\/\/ps.w.org\/wpmathpub\/assets\/icon-256x256.jpg?rev=2822044","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpmathpub\/assets\/screenshot-1.jpg?rev=3490319","caption":"Example rendered equation in page"},{"src":"https:\/\/ps.w.org\/wpmathpub\/assets\/screenshot-2.jpg?rev=3490319","caption":"Example rendered equation in comment"},{"src":"https:\/\/ps.w.org\/wpmathpub\/assets\/screenshot-3.jpg?rev=3490319","caption":"Example Gutenberg block"},{"src":"https:\/\/ps.w.org\/wpmathpub\/assets\/screenshot-4.jpg?rev=3490319","caption":"Example from syntax page"},{"src":"https:\/\/ps.w.org\/wpmathpub\/assets\/screenshot-5.jpg?rev=3490319","caption":"WordPress admin configuration panel top"},{"src":"https:\/\/ps.w.org\/wpmathpub\/assets\/screenshot-6.jpg?rev=3490461","caption":"WordPress admin configuration panel bottom"}],"raw_content":"<!--section=description-->\n<p>WPMathPub renders mathematical equations in WordPress using the <strong>mathpublisher rendering engine<\/strong>, supporting both <strong>pmath native syntax and LaTeX-style input<\/strong> and generating high-quality PNG images with transparent backgrounds.<\/p>\n\n<p>Unlike MathJax-based plugins, WPMathPub performs <strong>server-side rendering<\/strong>, producing static equation images that display consistently across browsers and devices without requiring client-side JavaScript.<\/p>\n\n<p>This approach provides reliable rendering for:<\/p>\n\n<ul>\n<li>WordPress posts and pages<\/li>\n<li>RSS feeds<\/li>\n<li>Cached pages<\/li>\n<li>Environments where JavaScript rendering is not desirable<\/li>\n<\/ul>\n\n<p>WPMathPub extends the classic mathpublisher engine with modern WordPress integration including shortcode support, LaTeX translation, image caching, and configurable rendering options.<\/p>\n\n<h3>Mathematical Equation Rendering<\/h3>\n\n<p>Mathematical expressions can be embedded directly into WordPress content using the pmath shortcode.<\/p>\n\n<p>Example:<\/p>\n\n<pre><code>[pmath]x^2 + y^2 = z^2[\/pmath]\n<\/code><\/pre>\n\n<p>Custom size and color:<\/p>\n\n<pre><code>[pmath size=18 color=\"blue\"]E = mc^2[\/pmath]\n<\/code><\/pre>\n\n<p>LaTeX input:<\/p>\n\n<pre><code>[pmath latex=1]\\frac{a}{b}[\/pmath]\n<\/code><\/pre>\n\n<p>Expressions are rendered as PNG images using the GD and FreeType libraries and cached for efficient reuse.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>pmath expression rendering<\/li>\n<li>LaTeX command translation (PHPMathPublisher subset)<\/li>\n<li>Server-side PNG equation generation<\/li>\n<li>Gutenberg WPMathPub math block with PMath and LaTeX mode switching<\/li>\n<li>Halo-free color rendering with alpha transparency<\/li>\n<li>Transparent background support for dark themes<\/li>\n<li>Minimal WordPress database footprint<\/li>\n<li>Efficient PNG image caching<\/li>\n<li>WordPress admin tools panel\n\n<ul>\n<li>Configurable default equation size<\/li>\n<li>Configurable default equation color with color picker<\/li>\n<li>Installation status display<\/li>\n<li>PNG image cache status and control<\/li>\n<li>Policy control for cleanup on plugin delete<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to the <code>\/wp-content\/plugins\/<\/code> directory.<\/li>\n<li>Activate the plugin through the WordPress Plugins menu.<\/li>\n<li>Optional: change defaults under <strong>Tools \u2192 WPMathPub<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20get%20started%20with%20wpmathpub%3F\"><h3>How do I get started with WPMathPub?<\/h3><\/dt>\n<dd><p>Here are two references:<\/p>\n\n<ul>\n<li>Check out the <a href=\"https:\/\/www.biophysicslab.com\/wordpress-math-publisher-plugin\/\">WPMathPub math publisher page<\/a> for the user guide.<\/li>\n<li>Check out the <a href=\"https:\/\/www.biophysicslab.com\/wordpress-math-publisher-plugin\/wpmathpub-syntax\/\">WPMathPub syntax page<\/a> for a complete cross-reference of all pmath native and LaTeX supported commands.<\/li>\n<\/ul><\/dd>\n<dt id=\"does%20this%20plugin%20require%20mathjax%3F\"><h3>Does this plugin require MathJax?<\/h3><\/dt>\n<dd><p>No. WPMathPub renders equations server-side as PNG images using the mathpublisher rendering engine.<\/p><\/dd>\n<dt id=\"does%20it%20support%20latex%3F\"><h3>Does it support LaTeX?<\/h3><\/dt>\n<dd><p>Yes. Many LaTeX math commands are translated into pmath syntax before rendering. See the syntax reference page for the full list of supported commands.<\/p><\/dd>\n<dt id=\"where%20are%20rendered%20images%20stored%3F\"><h3>Where are rendered images stored?<\/h3><\/dt>\n<dd><p>Rendered equation images are cached in:<\/p>\n\n<pre><code>\/wp-content\/uploads\/wpmathpub\/math-img\/\n<\/code><\/pre><\/dd>\n<dt id=\"why%20does%20the%20plugin%20generate%20png%20images%20instead%20of%20svg%3F\"><h3>Why does the plugin generate PNG images instead of SVG?<\/h3><\/dt>\n<dd><p>The plugin preserves compatibility with the mathpublisher rendering engine, which produces raster images. PNG output ensures consistent rendering across browsers.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.2<\/h4>\n\n<ul>\n<li>Added color= shortcode attribute with hex and named color support<\/li>\n<li>Added LaTeX input mode via latex=1 shortcode attribute with full PHPMathPublisher syntax coverage<\/li>\n<li>Added Gutenberg WPMathPub math block with PMath\/LaTeX mode switching and real-time preview<\/li>\n<li>Added admin panel default equation color setting with WordPress color picker<\/li>\n<li>Added admin panel default equation size setting<\/li>\n<li>Added uninstall.php to remove plugin database options on delete<\/li>\n<li>Fixed Greek Omega symbol rendering (three stacked bugs resolved)<\/li>\n<li>Fixed matrix and tabular LaTeX conversion<\/li>\n<li>Fixed tabular border string parsing to respect LaTeX | and \\hline markers<\/li>\n<li>Improved PNG image cache handling and cache key discipline<\/li>\n<li>Improved rendering stability across PHP 7.2 through 8.3<\/li>\n<\/ul>","raw_excerpt":"Render mathematical equations in WordPress as PNG images using pmath native syntax or LaTeX input with server-side rendering.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/2733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=2733"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ronf"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=2733"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=2733"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=2733"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=2733"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=2733"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=2733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}