You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails项目中适配新版TinyMCE的LaTeX数学公式插件推荐

Alternatives for LaTeX Integration with Modern TinyMCE in Ruby on Rails

Hey there, sorry to hear you've been banging your head against WIRIS and outdated plugins—let's break down some reliable, up-to-date options that work smoothly with modern TinyMCE versions in your Rails project:

1. TinyMCE MathType (Official WIRIS Successor)

Wait, technically WIRIS rebranded to MathType, and their official plugin fully supports the latest TinyMCE (v6+). If your old WIRIS setup was broken, it might be because you're using an outdated version of the plugin.

To integrate it in Rails:

  • First, sign up for their free or paid plan to get your API key (needed for cloud-hosted access)
  • In your TinyMCE initialization config (usually in a .js file or inline script in your Rails view), add:
    tinymce.init({
      selector: 'textarea',
      plugins: 'mathType',
      toolbar: 'mathType',
      mathType_library: 'latex', // Set to render LaTeX directly
      mathType_apiKey: 'YOUR_API_KEY'
    });
    
  • If you're using Webpacker or jsbundling-rails, you can install the plugin via npm: npm install @tinymce/tinymce-mathtype
  • Make sure your Rails CSP settings allow connections to MathType's cloud service (add https://*.wiris.net to your allowed sources)

2. KaTeX Plugin for TinyMCE (Lightweight Option)

If you don't need full-featured formula editing and just want to render LaTeX input quickly, the KaTeX-based plugin is a great lightweight choice. It's open-source, fast, and works with modern TinyMCE.

Setup steps for Rails:

  • First, include KaTeX's CSS and JS in your layout (you can use the CDN or add them to your asset pipeline):
    <!-- In your application.html.erb -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css">
    <script src="https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.js"></script>
    
  • Install the TinyMCE KaTeX plugin (either download it from the community repo or use npm)
  • Add it to your TinyMCE init:
    tinymce.init({
      selector: 'textarea',
      plugins: 'katex',
      toolbar: 'katex',
      katex_inline: true, // Enable inline LaTeX rendering
      katex_block: true
    });
    
  • For asset pipeline users, drop the plugin's JS file into vendor/assets/javascripts/tinymce/plugins/katex/ and require it in your TinyMCE config.

3. Community-Maintained LaTeX Plugins

There are a few active community plugins that support TinyMCE v6+, like the tinymce-latex plugin on GitHub. Just make sure to check the repo's recent commits to confirm it's still maintained.

To use one:

  • Download the plugin files and place them in your Rails app's TinyMCE plugins directory
  • Update your init config to include the plugin name in the plugins array and add the toolbar button
  • Some of these plugins let you render LaTeX via server-side or client-side libraries (like KaTeX or MathJax), so pick the one that fits your stack.

Rails-Specific Tips

  • If you're using the tinymce-rails gem, double-check that the gem version is compatible with your TinyMCE version (gem v6.x supports TinyMCE v6)
  • For Webpacker/jsbundling-rails, ensure you're importing TinyMCE and plugins correctly in your entry file, like:
    import tinymce from 'tinymce/tinymce';
    import 'tinymce/plugins/mathtype';
    
  • Always test your CSP settings—missing allowed sources are a common cause of plugin failures in Rails.

Pick the option that matches your needs: MathType for full editing power, KaTeX for speed and simplicity, or a community plugin if you prefer open-source without cloud dependencies.

内容的提问来源于stack exchange,提问作者wenyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:56:39