Я создаю блог с помощью Jekyll и размещаю его на Github Pages. У меня есть куча документов LaTeX, которые я хотел бы загрузить в качестве постов блога, но они содержат много форматирования, которое мне придется редактировать, чтобы сделать совместимым с KramDown. Например, если у меня есть \newline
или \textit
в LaTeX, мне придется вручную изменить их на \\\
и \*text\*
в KramDown. Я видел, что в KramDown есть встроенный конвертер, который форматирует разметку в вывод Latex PDF, но существуют ли какие-либо инструменты, которые делают наоборот?
решение1
Так как jekyll
большинство других генераторов статических сайтов поддерживают HTML
файлы с YAML
frontmatter, мне кажется, что лучше всего конвертировать 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 serve
from jekyllsite
.
решение2
@michal.h21 предоставил разумный подход, который не требует конвертации из tex -> markdown. Если вы хотите конвертировать файл tex в markdown/kramdown,пандокможно сделать это. Например:
pandoc source.tex -o source.md
Некоторые предостережения, которые следует иметь в виду:
- Markdown не поддерживает все форматирование, предоставляемое LaTeX, поэтому вы можете что-то потерять при конвертации.
- Kramdown — это надмножество Markdown. Расширения PHP-extra поддерживаются pandoc, но могут быть и другие вещи, которые не поддерживаются.
Некоторые комментаторы указали, что это преобразование глупо. Однако, если у вас есть сайт, который смешивает статьи, набранные в LaTeX и Markdown, полученные записи в блоге могут быть непоследовательными. То есть, те, которые созданы с помощью tex4ht, могут иметь другое форматирование, чем те, которые созданы с помощью markdown. В зависимости от количества статей и степени форматирования в исходных файлах LaTeX, этоможетПроще всего решить эту проблему, переведя все в формат Markdown. (Или вы можете пойти другим путем, преобразовав всю вашу Markdown в LaTeX).