2013年5月24日 星期五

文件撰寫工具的探索:要定下來了嗎?

之前試驗過xelatex的使用,也說過還不錯,但那時心理就覺得要「反璞歸真」,選擇繼續往plain xetex的方向來學習。這樣的好處是版面的安定性,以及整體的簡潔:不需要依靠大量的latex package就可以完成大部分的排版工作。的確,實際上來說,只要做些簡單的設定,xetex甚至可以做簡單的中文斷行工作而不需要使用xeCJK之類的package(當然,要美觀的版面,還是得用xeCJK)。眼看著xetex將會成為我的親愛的說明文件排版工具...結果它似乎沒辦法很完美的展示程式碼..Orz(附帶一提,xelatex可以用listing這個package來放入程式碼,而且還附有著色的功能喔!)在發現這個事實的同時,我同時也被稱作「輸出格式」的鬼附身,不斷的改著文件的輸出格式,已滿足內心對於版面美觀的小小渴望。(像是「我覺得應該要再往上1pt」「行距好像怪怪的(拿起尺)」等等)就在這時候我想起DocBook。

DocBook是一個xml衍生出來的標記格式(markup language),利用這個標記語言,寫作者可以很輕鬆的表達一份技術文件的內容。由於輸出文件的格式取決於選用的處理程式以及樣式表,因此docbook有效的把內容以及格式的處理分隔開了。這樣的分隔是DocBook設計者的好意:把文件的內容及格式區隔開來後,作者們應該就會把精力放在內文的寫作,而不是排版上了吧?很可惜的是,上一次在考察的時候,我忽略了他們的善意,導致了現在這樣的結果。

舉例來說,我應該要可以說「這裡有一張表,裡面有什麼東西」,而不是去在意這個表格會不會變成超長現象卻不會跨頁;或者說,我應該還要有能力去標記某個詞彙是不是程式的名稱、指令的名稱,還是快速鍵等等。上次考察的時候就知道DocBook有能力去完成上面所列的事項,然而我卻因為它在輸出pdf檔時對於字型處理的複雜度而拒它於百里之外。(fop沒辦法利用字型名稱來挑選True Type Collection [ttc,字型集合] 中正確的字型)

在搜尋的時候,想到「如果是xxx會怎麼製作技術文件」的問題,所以做了搜尋。Richard M. Stallman認為在DocBook文件可以轉換到Texinfo格式的狀況下,使用docbook是可以接受的。(見此討論。他認為Texinfo是一個GNU的標準,)Eric Raymond則寫了本小書來說明DocBook的一些好處以及他對DocBook的觀點。洪朝貴教授在他的文章中提到DocBook是一個值得注意的未來發展方向。洪教授在該文中強調「放棄對外觀的執著」以及相對應的好處。

總之,這次就試著做出一份非常單薄的DocBook文件(原稿請看這裡),並且試著將它輸出成html檔案來檢視效果。簡單的說,生產出來的html檔相當的樸素,但如果正文有好好的組織的話,該建立的連結應該都會建立好,讓整本書變得更為方便使用。

拖稿這麼久真的該動筆了!

沒有留言:

張貼留言