Есть ли синтаксический анализатор, основанный на 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}%
, чтобы начать уравнение, но это означает, что файл больше не записывается в чистую уценку и, следовательно, не переносится в другие контексты.
Итак, есть ли другой интерпретатор уценки, который я могу бросить в Джекил и испытать блаженство? Если нет, то какие обходные пути нашли другие?
Ответы
Ответ 1
Markdown не будет обрабатывать что-либо в блочном HTML-теге, поэтому просто перенос синтаксиса Mathjax в <div>
</div>
защищает синтаксис Mathjax независимо от интерпретатора. Это прекрасно позволяет избежать команд, которые начинают и заканчивают Mathjax, например \(
(inline) и \[
(отображение). Спасибо @lsegal в Github за то, что указали это мне.
Ответ 2
Да там и kramdown, я прошел процесс его настройки и объяснил в мой блог. Я также нашел, что вы можете заставить Redcarpet принять встроенную математику, используя синтаксис \\( some math \\)
. Он выведет \( math \)
в MathJax. Во всяком случае, я предпочитаю kramdown, поскольку он утверждает, что поддерживает LaTeX.