制作包含代碼的電子書的最佳格式是什麽?降價是一個很好的選擇,還是有更好的選擇?我可能希望稍後將其轉換為ePub/Mobi和PDF。
將自定義樣式添加到降價文件是一個好主意嗎?這些風格是否適合像pandoc這樣的軟件?
我還有什麽其他選擇?
的修改
這本書是關於序言,並將主要包含這些類型的結構:
- 標題 - h1,h2,h3 ...
- 段
- 表格(不含標題)
- 縮進文字
- 代碼片段
- 可能包含文本和代碼或者只是代碼的大塊示例代碼塊(範圍從15到+100行)。我需要這些部分與代碼片段看起來不同。
制作包含代碼的電子書的最佳格式是什麽?降價是一個很好的選擇,還是有更好的選擇?我可能希望稍後將其轉換為ePub/Mobi和PDF。
將自定義樣式添加到降價文件是一個好主意嗎?這些風格是否適合像pandoc這樣的軟件?
我還有什麽其他選擇?
的修改
這本書是關於序言,並將主要包含這些類型的結構:
Embedding code in EPUB can be accomplished with pure HTML and
CSS. The tag and
monospace
attribute will bring
you most of the way. See https://github.com/oreillymedia/HTMLBook for a lot
of detail.
如果你不需要包含很長的代碼塊,最簡單的方法就是使用某種形式的html/xhtml,你將定義代碼文本將使用一個固定寬度的字體,你通常應該包含它。從html開始將使後續轉換變得非常簡單。
如果你必須包含很長的代碼塊,也許有更好的解決方案,但我在這裏沒有什麽幫助。
可以使用Markdown來做到這一點,但這不是我的經驗,最好的選擇。原因是你真正應該做的是整合來自真實程序的代碼,這些程序可以使用一些(單元)測試工具進行測試。 通過這種方式,您書中包含的代碼包含的某些錯誤幾乎不會被註意,因為它從未運行過。
但降價保持非常簡單,並且不支持來自其他地方的代碼包含。
pandoc
有辦法解決這個限制,因為它允許合並文件,因為它允許合並文件,但是包括一次一行的代碼片段,這有點過於簡單根據我的喜好,並且您在放大縮小文字中的概覽放在哪裏。如果您的內容不止一些,您應該查看 reStructuredText格式,特別是使用 reStructuredText格式在獅身人面像中。它特別寫入文檔源代碼。最初為Python,但也支持其他編程語言。它具有對包含/組裝的本機支持。
Sphinx已經支持epub和pdf生成,後者無需通過LaTeX。使用 pandoc
時,您將不得不使用LaTeX,但這並不總是微不足道的,這取決於您的操作系統。
你可以使用LaTeX。軟件包如列表或鑄造可用於包含代碼片段和語法突出顯示。兩者都由
tex4ht
支持,因此可以轉換為html然後epub。作為獎勵,你可以得到完美的PDF文件。
如果您有興趣,我有一個示例文檔(使用捷克語,但希望代碼可讀),其中 minted
用於語法高亮顯示,
biblatex
用於參考書目,代碼>詞匯表
用於首字母縮寫詞:
TeX source 和生成的html 。為了進行轉換,使用了 make4ht
。 make4ht
是 tex4ht
的前端,它允許你使用你自己的構建腳本,它有一些用於生成html清理的過濾器。
還有另一個工具 tex4ebook ,它基於 make4ht
,它可以用於將
LaTeX
轉換為 epub
, epub3
和
mobi
格式。請註意,我是 make4ht
和
tex4ebook
的作者。