Math to Itex

Convert strings into a proper itex format.

Build Status


Add this line to your application's Gemfile:

gem 'math-to-itex'

And then execute:

$ bundle

Or install it yourself as:

$ gem install math-to-itex


Due to fancy regexes, this gem only works with Ruby 2.0+.

To use this gem, pass a string to the MathToItex module, and an optional block:

require 'math-to-itex'

result = MathToItex('\[a \ne 0\]').convert
# result is now `$$a \ne 0$$`

result = MathToItex('\[a \ne 0\]').convert { |string| "<span>#{string}</span>" }
# result is now `<span>$$a \ne 0$$</span>`

Basically, by not passing a block, you do a simple convert. By passing a block, you can modify the resulting math equation.

Behind the scenes, MathToItex uses gsub, so all equations in a string are modified.

If you want, you can determine the type (inline or display), too:

result = MathToItex('$0$ is not equal to $$1 = 0$$').convert do |string, type|
  %|<span class="#{type}">#{string}</span>|

# result is `<span class="inline">$0$</span> is not equal to <span class="display">$$1 = 0$$</span>`

Matched math notations

Currently, the following formats are supported:

inline formulas display formulas
$...$ $$...$$
\(...\) \[...\]

More math stuff

Check out Mathematical, which quickly converts itex notation equations into beautiful SVGs.