Я использовал Markdown для заметок в классе, и это здорово. Я даже делаю некоторую предварительную обработку на Markdown, чтобы я мог делать такие вещи, как таблицы. Но в этом семестре я преподаю класс с большим количеством математики, и я хотел бы иметь возможность добавлять формулы LaTeX в Markdown, что-то вроде этого:
The refinement relation is written $a \sqsubseteq b$, which can be
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
Я хотел бы иметь возможность взять каждый фрагмент LaTeX и предварительно обработать его в красивый PNG-файл с сглаживанием, который я мог бы затем включить в свой Markdown через <img>
тег HTML . Но я абсолютно не знаю, как взять фрагмент LaTeX и получить хорошее изображение, которое
- Имеет правильную ограничивающую рамку
- Сглаживается
Все, что я знаю, - это получать полные страницы в форматах DVI, PostScript или PDF.
Я уверен, что эта проблема была решена, но я не смог угадать правильные условия поиска. Любые предложения, как решить это или где искать существующее решение?
РЕДАКТИРОВАТЬ : Установив mathTeX, я могу сказать, что код негибкий, что он нарушает стандарт иерархии файловых систем Linux, и что это любительская работа - как в хорошем, так и в плохом смысле этого слова. Код настолько сложен, что нет очевидных ошибок. Я буду искать альтернативы.
Также ясно, что в основе решения лежат dvipng
.
ОКОЛО ГОДА : я так и не получил плавную интеграцию, на которую надеялся, но я придумываю сценарий своего собственного изобретения. Получается, что вместо dvipng
него немного удобнее использовать dvips -E
и convert
программу ImageMagick. Преимущества - немного больший контроль над такими вещами, как масштабирование, и простота создания прозрачного фона. Любопытный может проверить этот пример .
Я не могу рекомендовать это решение никому. Но я также не могу рекомендовать MathTeX.
источник
Ответы:
Ты пробовал с Пандоком ?
источник
Возможно, mathJAX это билет. Он построен на jsMath , винтажной JavaScript-библиотеке 2004 года.
С 5 февраля 2015 года я бы рекомендовал KaTeX - наиболее производительную библиотеку Javascript LaTeX от Khan Academy.
источник
Добавьте следующий код в начало ваших файлов Markdown, чтобы получить поддержку рендеринга MathJax
и тогда `$ x ^ 2 $` или `$$ x ^ 2 $$` будет отображаться как ожидалось :-)
Вы всегда можете установить локальную версию MathJax, если вы не хотите использовать онлайн-дистрибутив, но вам может потребоваться разместить его через локальный веб-сервер.
ОБНОВЛЕНИЕ : в эти дни я просто использую pandoc вместо канонической уценки, но выше все еще полезно.
источник
Я отвечу на ваш вопрос встречным вопросом ...
Что вы думаете об орг-режиме? Он не такой чистый, как Markdown, но он похож на Markdown, и с ним мне так же легко работать, и он позволяет встраивать латекс. Ср http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html
постскриптум
Если вы еще не видели режим org, у него есть одна сильная сторона в качестве универсального «естественного языка разметки» над Markdown, а именно его обработка таблиц. Источник:
представляет только то, что вы думаете, что это будет ...
А латекс рендерит по частям с помощью превью-латекса tex-mode.
источник
dvipng
. Проблема с таблицами важна, но я уже написал препроцессор для ее решения :-) +1Вы должны посмотреть на multimarkdown http://fletcherpenney.net/multimarkdown/
он поддерживает метаданные (заголовки, ключевые слова, дату, автора и т. д.), таблицы, asciimath, mathml, черт возьми, я уверен, что вы можете вставить латексный математический код прямо там. это в основном расширение для уценки, чтобы добавить все эти другие очень полезные функции. Он использует XSLT, так что вы можете легко создавать собственные стили LaTeX и напрямую преобразовывать их. Я использую это все время, и мне это очень нравится.
Я хотел бы, чтобы уценка включала бы только уценку. это было бы довольно приятно.
Изменить : Multimarkdown будет производить HTML, латекс и несколько других форматов. HTML может прийти с таблицей стилей на ваш выбор. он также преобразуется в MathML, который отображается в Firefox и Safari / Chrome, если я правильно помню.
источник
RStudio имеет хорошую бесплатную среду разработки, которая позволяет использовать Markdown и LaTeX.
источник
kramdown делает именно то, что вы описываете:
https://kramdown.gettalong.org/syntax.html#math-blocks
И это намного надежнее и четче, чем уценка.
источник
Вы можете найти mimeTeX полезным.
источник
dvipng
это рабочая лошадка. Спасибо за отличный указатель! +1Эй, это может быть не самое идеальное решение, но оно работает для меня. Я закончил тем, что создал расширение Python-Markdown LaTeX.
https://github.com/justinvh/Markdown-LaTeX
Добавлена поддержка встроенных математических и текстовых выражений с использованием синтаксиса $ math $ и% text%. Расширение является препроцессором, который будет использовать latex / dvipng для генерации png для соответствующих уравнений / текста, а затем base64 кодирует данные для непосредственного встраивания изображений, а не для внешних изображений.
Затем данные помещаются в файл кеша с простым разделителем, который кодирует выражение в представление base64. Это ограничивает количество раз, когда латекс действительно должен быть запущен.
Вот пример:
Выход:
Как вы можете видеть, это подробный вывод, но это не проблема, так как вы уже используете Markdown :)
источник
да, но вам придется немного взломать это самостоятельно. Я написал фильтр, который заменяет латексные теги
$\some\inline\latex$
или$$\some\equation$$
соответствующие теги изображений в сценарии mimetex.cgi . Это заняло всего 5 минут.Предупреждение: эффектно уродливо ...
Конечно, вы должны сами определить соответствующий CSS для изображений .block и .inline ...
источник
Я столкнулся с этим обсуждением только сейчас, поэтому я надеюсь, что мой комментарий все еще полезен. Я связан с MathJax и, насколько я понимаю вашу ситуацию, я думаю, что это был бы хороший способ решить проблему: вы оставляете свой код LaTeX как есть и позволяете MathJax отображать математику при просмотре.
Есть ли причина, по которой вы бы предпочли изображения?
источник
Какой язык вы используете?
Если вы можете использовать ruby, то maruku можно настроить для обработки математических операций с использованием различных конвертеров latex-> MathML. Инстики использует это. Также возможно расширить PHPMarkdown, чтобы использовать itex2MML для преобразования математики. По сути, вы вставляете дополнительные шаги в движке Markdown в соответствующих точках.
Так что с ruby и PHP это сделано. Я думаю, что эти решения также могут быть адаптированы к другим языкам - я получил расширение itex2MML для создания привязок perl.
источник
Я искал точно то же самое, когда нашел teqhtml . Он выполняет преобразование уравнений $ и $$ в изображения с приятным бонусом выравнивания полученного изображения по вертикали с окружающим текстом. Не много документов, но это довольно просто.
Надеюсь, что это поможет некоторым будущим читателям.
источник
Извините, что вызвал действительно старую ветку , но я использую jemdoc уже пару лет, и это действительно отлично.
источник
Разобрать Markdown в Lua можно с помощью кода Lunamark (см. Его репозиторий Github ), что означает, что Markdown может быть проанализирован напрямую макросами в Luatex и поддерживает преобразование во многие форматы, поддерживаемые Pandoc (т. Е. Библиотека хорошо подходит для использования в
lualatex
,context
, Metafun, Plain LuaTeX иtexlua
скрипты).Проект был начат Джоном Макфарлэйном , автором Pandoc, и разработка инструмента очень близко отслеживает разработку Pandoc и имеет схожее (то есть, превосходное) качество.
Халед Хосни написал модуль Context, обеспечивающий удобную поддержку макросов. Ответ Михала на вопрос: есть ли пакет с поддержкой Markdown? Вопрос дает код, обеспечивающий аналогичную поддержку для латекса.
источник