Подтвердить что ты не робот

Есть ли синтаксический анализатор, основанный на Jekyll, который хорошо играет с mathjax?

Я использую блог на основе Jekyll и нуждаюсь в парсере разметки, который не будет сжимать мои выражения Mathjax (например, интерпретируя b_t - b_{t-1} как b<em>t - b</em> t - 1). Mathjax и markdown хорошо ладят по math.stackechange.com и mathoverflow.net. Некоторым синтаксическим анализаторам также необходимо удвоить символы начального и конечного уравнений \\(, в то время как, похоже, другие нет.

Вещи, которые не являются вполне приемлемыми:

Redcarpet2 имеет опцию для no_intra_emphasis, которая позволяет избежать подчеркивания между буквами, сбивающимися, поэтому b_t в порядке, но все еще clobbers b_{t-1}.

Там есть плагин Jekyll, который позволяет использовать жидкостный синтаксис, например {% m}%, чтобы начать уравнение, но это означает, что файл больше не записывается в чистую уценку и, следовательно, не переносится в другие контексты.

Итак, есть ли другой интерпретатор уценки, который я могу бросить в Джекил и испытать блаженство? Если нет, то какие обходные пути нашли другие?

4b9b3361

Ответ 1

Markdown не будет обрабатывать что-либо в блочном HTML-теге, поэтому просто перенос синтаксиса Mathjax в <div> </div> защищает синтаксис Mathjax независимо от интерпретатора. Это прекрасно позволяет избежать команд, которые начинают и заканчивают Mathjax, например \( (inline) и \[ (отображение). Спасибо @lsegal в Github за то, что указали это мне.

Ответ 2

Да там и kramdown, я прошел процесс его настройки и объяснил в мой блог. Я также нашел, что вы можете заставить Redcarpet принять встроенную математику, используя синтаксис \\( some math \\). Он выведет \( math \) в MathJax. Во всяком случае, я предпочитаю kramdown, поскольку он утверждает, что поддерживает LaTeX.