是否存在 LaTeX 到 Kramdown 轉換器?

是否存在 LaTeX 到 Kramdown 轉換器?

我正在使用 Jekyll 建立一個部落格並在 Github Pages 上託管。我有一堆 LaTeX 文檔,我想將它們作為部落格文章上傳,但它們包含大量格式,我必須對其進行編輯才能與 KramDown 相容。例如,如果我在 LaTeX 中有\newline\textit,我必須手動將它們更改為KramDown 中的\\\\*text\*。我看到 KramDown 有一個內建轉換器,可以將標記格式化為 Latex PDF 輸出,但是有沒有現有的工具可以做相反的事情?

答案1

由於jekyll大多數其他靜態網站產生器都支援HTMLfrontmatter 的文件,因此對我來說,將 LaTeX 轉換為並將其修改為所需的形式YAML似乎是更好的方法。HTML例如,tex4ht可以配置為YAML直接產生 frontmatter,並且我們可以使用make4ht庫來建立幫助程式腳本,該腳本會將 和 映像檔複製HTMLCSS正確的位置。該項目名為傑基爾4ht

它可以如下使用:

建立以下結構

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 的超集。 pandoc 支援 PHP 額外擴展,但可能還有其他擴充不支援。

一些評論者表示這種轉換是愚蠢的。但是,如果您的網站混合使用 LaTeX 和 Markdown 排版的文章,則產生的部落格文章可能會不一致。也就是說,透過 tex4ht 產生的格式可能與 Markdown 產生的格式不同。根據文章的數量以及 LaTeX 原始檔中的格式化程度,可能最簡單的解決方法就是將所有內容都簡化為 Markdown 格式。 (或者您可能更喜歡採取另一種方式,將所有 Markdown 轉換為 LaTeX)。

相關內容