Существует ли конвертер LaTeX в Kramdown?

Существует ли конвертер LaTeX в Kramdown?

Я создаю блог с помощью Jekyll и размещаю его на Github Pages. У меня есть куча документов LaTeX, которые я хотел бы загрузить в качестве постов блога, но они содержат много форматирования, которое мне придется редактировать, чтобы сделать совместимым с KramDown. Например, если у меня есть \newlineили \textitв LaTeX, мне придется вручную изменить их на \\\и \*text\*в KramDown. Я видел, что в KramDown есть встроенный конвертер, который форматирует разметку в вывод Latex PDF, но существуют ли какие-либо инструменты, которые делают наоборот?

решение1

Так как jekyllбольшинство других генераторов статических сайтов поддерживают HTMLфайлы с YAMLfrontmatter, мне кажется, что лучше всего конвертировать LaTeX HTMLи изменять его в нужную форму. Например, tex4htможно настроить для YAMLнепосредственного создания frontmatter, и мы можем использовать make4htбиблиотеку для создания вспомогательного скрипта, который будет копировать HTML,CSS и изображения в правильные места. Проект называетсяjekyll4ht.

Его можно использовать следующим образом:

Создайте следующую структуру

pathtoblog
  jekyllsite
     _posts
     img
     css
  texfiles
     .jekyll4ht
     firstpost
       firstpost.tex

Ваши сгенерированные файлы будут скопированы в jekyllsite, который должен быть настроен в .jekyll4htфайле конфигурации. Его минимальное содержимое должно быть:

base="pathtoblog/jekyllsite/"

Затем вы можете создавать документы в texfilesкаталоге и публиковать их с помощью

jekyll4ht -m publish filename.tex

когда они будут сделаны. Обратите внимание, что это не перестраивает ваш сайт, это должно быть сделано вручную с помощью jekyll servefrom jekyllsite.

решение2

@michal.h21 предоставил разумный подход, который не требует конвертации из tex -> markdown. Если вы хотите конвертировать файл tex в markdown/kramdown,пандокможно сделать это. Например:

pandoc source.tex -o source.md

Некоторые предостережения, которые следует иметь в виду:

  1. Markdown не поддерживает все форматирование, предоставляемое LaTeX, поэтому вы можете что-то потерять при конвертации.
  2. Kramdown — это надмножество Markdown. Расширения PHP-extra поддерживаются pandoc, но могут быть и другие вещи, которые не поддерживаются.

Некоторые комментаторы указали, что это преобразование глупо. Однако, если у вас есть сайт, который смешивает статьи, набранные в LaTeX и Markdown, полученные записи в блоге могут быть непоследовательными. То есть, те, которые созданы с помощью tex4ht, могут иметь другое форматирование, чем те, которые созданы с помощью markdown. В зависимости от количества статей и степени форматирования в исходных файлах LaTeX, этоможетПроще всего решить эту проблему, переведя все в формат Markdown. (Или вы можете пойти другим путем, преобразовав всю вашу Markdown в LaTeX).

Связанный контент