Skip to content

ammsa/django-latexify

Repository files navigation

django-latexify

Latest PyPI version Build Status - master branch coveralls quality Python 2 support Python 3 support maintain website Software license

django-latexify let’s you easily render text and math equations from your template to look like LaTeX. The app lets you render math equations written in LaTeX on your HTML, or even just regular plain text.

It uses Katex (a fast, easy-to-use JavaScript library for TeX math rendering on the web) for rending math equations and a modification of WiTex (LaTeX like CSS) for rending plain text.

installation

pip install django-latexify

Quick start

  1. Add "latexify" to your INSTALLED_APPS setting like this:

    INSTALLED_APPS = (
        ...
        'latexify',
        ...
    )
  2. In your template, load latexify by including:

    {% load latexify %}
    
  3. In the HTML header of your template, include:

    {% include 'latexify/stylesheets.html' %}
    
  4. In the bottom of your HTML body, include the following to load the JS associated with latexify:

    {% include "latexify/scripts.html" %}
    
  5. Latexify your text by including the template tag, for example

    {% latexify context_arg %}
    {% latexify context_arg parse_math=True %}
    {% latexify 'c = \pm\sqrt{a^2 + b^2}' math_inline=True %}
    {% latexify 'c = \pm\sqrt{a^2 + b^2}' math_block=True %}

Which will give you the following:

example

  1. To add line breaks, add \newline to your math equation. For example:

    {% latexify 'x = a + b \newline a = 1 \newline b = 2' math_block=True %}
  2. In your HTML, be sure to include this before the <html> tag.

    <!DOCTYPE html>

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

License

All parts of django-latexify are free to use and abuse under the open-source MIT license.

Change Log

Version 0.3:

  • Support line breaks (Add \newline inside your math equations)
  • Drop support for older Django versions
  • Support Django 2.0+

Version 0.2:

  • Support python3.