如何在 Linux 中使用 Pandoc 轉換文件格式
本文中,我會將 Markdown 文件轉換成幾種不同的格式。我幾乎所有的寫作都使用 Markdown 語法,但我經常需要轉換為另一種格式:學校作業通常需要的 .docx 格式;我創建的網頁通常需要的 .html 格式;工作需要的 .epub 格式;傳單和講義需要的 .pdf 格式;甚至包括一個大學數字人文項目偶爾需要的 TEI Simple 格式。Pandoc 可以輕鬆處理所有這些格式,甚至更多。
首先,你需要 安裝 pandoc。此外,要創建 .pdf 文件,還需要 LaTeX。我最喜歡的套件是 TeX Live。
注意:如果你想在安裝前試用 pandoc,這裡有一個在線試用頁面:http://pandoc.org/try/。
安裝 pandoc 和 texlive
Ubuntu 和其他 Debian 發行版的用戶可以在終端中輸入以下命令:
sudo apt-get update
sudo apt-get install pandoc texlive
請注意第二行,你將一次性安裝 pandoc
和 texlive
。apt-get 命令 支持你這樣做。不過,我建議你先去喝杯咖啡,因為這可能需要幾分鐘的時間。
開始轉換
安裝完成 pandoc
和 texlive
後,你就可以嘗試用它們來完成一些工作了!
該項目的示例文檔將是一篇文章,該文章於 1894 年 12 月首次發表在《北美評論》上,標題為「如何擊退火車劫匪」。我將使用的 Markdown 文件是前一段時間創建的,該文章的一個恢復項目的一部分(LCTT 譯註:這是篇一百多年前發表的文章,這是一個數字化「恢復」項目)。
我把這篇文章保存為 how_to_repel_train_robbers.md
,它位於我的 Documents
目錄下,名為 samples
的子目錄中。它在 Ghostwriter 中看起來是這樣的:
我想創建此文件的 .docx、.pdf 和 .html 版本。
第一次轉換
首先,我將製作一個 .pdf 副本,因為我在安裝 LaTeX 包時遇到了些麻煩。
在 ~/Documents/samples/
目錄中,我輸入以下,以創建一個 .pdf 文件:
pandoc -o htrtr.pdf how_to_repel_train_robbers.md
上述命令將基於 how_to_repel_train_robbers.md
文件,創建一個名為 htrtr.pdf
的文件。我使用 htrtr
作為名稱的原因是:嗯,它比 how_to_repel_train_robbers
短。htrtr
其實是長標題中的單詞首字母排列。
這是 .pdf 文件製作完成後的一個截圖:
第二次轉換
接下來,我想創建一個 .docx 文件。該命令與我用來創建 .pdf 的命令幾乎相同,它是:
pandoc -o htrtr.docx how_to_repel_train_robbers.md
很快,一個 .docx 文件就創建好了。這是它在 Libre Writer 中的樣子:
第三次轉換
我可能會想在網上發布這個,所以再多一個支持網頁的格式也不錯。我將使用以下命令創建一個 .html 文件:
pandoc -o htrtr.html how_to_repel_train_robbers.md
同樣,創建它的命令與前兩次轉換非常相似。這是該 .html 文件在瀏覽器中的樣子:
注意到什麼了嗎?
讓我們再看看之前的命令。它們是:
pandoc -o htrtr.pdf how_to_repel_train_robbers.md
pandoc -o htrtr.docx how_to_repel_train_robbers.md
pandoc -o htrtr.html how_to_repel_train_robbers.md
這三個命令唯一不同的是 htrtr
後的擴展名。這提示你 pandoc 會依賴於你提供的輸出文件擴展名(來決定目標轉換格式)。
總結
Pandoc 可以做的遠不止這裡完成的三個小轉換。如果你選擇使用一個首選格式編寫文件,但時不時又需要將文件轉換為另一種格式,pandoc 很大概率都能為你完成。
現在,既然你已經學會了,你會用它做什麼呢?你會把它自動化嗎?如果你有一個網站,想供讀者下載文章怎麼辦?你可以修改這些小命令,把它們編寫成一個腳本,你的讀者可以決定他們想要哪種格式。你可以提供 .docx、.pdf、.odt、.epub 或更多格式。你的讀者只需要選擇一種格式,然後對應的轉換腳本就會執行,最後,你的讀者下載他們想要的文件。這是完全可以做到的。
via: https://itsfoss.com/pandoc-convert-file/
作者:Bill Dyer 選題:lujun9972 譯者:lkxed 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive