javascript - 为数学方程定制 MWD

标签 javascript math latex markdown wmd

嗨,

我想自定义 WMD 编辑器(或 wmd-new )以将 $\frac{2}{3}$ 等 TeX 方程转换为 Google Charts API 图像 ( http://chart.apis.google.com/chart?chl=\frac{3}{2}&cht=tx )

是否可以自定义 HTML 的生成方式?

最佳答案

我决定使用markituppython-markdown我写的扩展。以下是 Google App Engine 解析器的代码:

import markdown

from urllib import urlencode
from markdown.inlinepatterns import Pattern
from google.appengine.ext import webapp

LATEX_RE = r'\${2}([^$]+)\${2}'
API_URL = 'http://chart.apis.google.com/chart?'

class LatexPattern(Pattern):
    """
        Searchs for LaTex equations $$\latex$$ and
        returns img tags using google charts API
    """

    def handleMatch(self, m):
        el = markdown.etree.Element('img')
        src = API_URL + urlencode({
            'chl': m.group(2),
            'cht': 'tx'
        })
        el.set('src', src)
        el.set('alt', m.group(2))
        return el

class LatexExtension(markdown.Extension):
    def extendMarkdown(self, md, md_globals):
        md.inlinePatterns.add(
            'latex',
            LatexPattern(LATEX_RE, self),
            '<automail'
        )

class MarkdownHandler(webapp.RequestHandler):
    def post(self):
        data = self.request.get('data')
        extension = LatexExtension(configs=[])
        md = markdown.Markdown(extensions=[extension])
        html = md.convert(data)
        self.response.out.write(html)

关于javascript - 为数学方程定制 MWD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1958707/

相关文章:

javascript - JS 中无法解释的错误

JavaScript 从构造函数中调用方法

javascript - 我如何从缩放的 div 中获取坐标?

javascript - 将 if 条件转换为具有动态乘数的函数

python - 如何在散点图中圈出不同的数据集?

c# - 将Matlab模糊逻辑工具箱fis文件转换为c#/c++/javascript

javascript - Android 使用 Hyphenator.js 完全对齐和自动断字

每当使用除法时,C 程序中的计算结果总是为 0

matlab - 如何在 matlab 图形标签中包含脚本字母

python - 如何在 Python matplotlib 中的 LaTeXed 下标中包含字符串链