2026-05-04

軟體│Scrivener -- compile的使用心得與範例

這邊會用五個範例介紹compile的用法,因為是我土法煉鋼的成果,不介意可能學到錯誤(?)用法的可以參考。

基本概念

先把專案設定打開,看一下當前section type的設定。

名稱只是為了辨識,沒有特殊意義。

我們只要知道在預設設定裡,資料夾套用的是heading,文件組和文件套用的是section就可以了。

compile的運作規則

依照兩個規則:

  1. style
  2. section type

以下就用古人的智慧結晶(?)來做排版示範。

範例一:基本的markdown格式

這篇文章由多個文件所組成,所有的標題皆由「文件標題」產生。

這很重要,範例二會示範「內文標題」的轉檔範例。

打開compile,新增一個新的設定,點選左側第一個section layouts,把輸出格式設定為MD,將右側除了heading和section的設定通通刪除,因為我們只需要用到兩種格式。

但不刪也可以,只是這樣比較單純簡便。

接著為了避免轉出的奇怪的語法,例如:# **標題** #

我們把heading和text section的標題粗體都拿掉。

接著依照需求勾選title和text。

title:文件標題

text:文件內容

回到compile主頁,右側要記得選擇我們要輸出的文件們(包含子資料),點選下方的assign section layouts。

這邊要將heading指定到heading,section指定到section。

這就是為什麼我說heading和section只是名稱而已,因為你也可以把heading指定給section,不過為了方便,指定到對應名稱去就行了,不用刻意叛逆。

成果很完美的依照文件結構排序標題和內文。簡單的markdown檔案就完成了。

範例二:轉成基本的markdown格式

這次的範例是,直接在內文輸入並自行設定標題樣式,我們直接看圖。

左側資料夾的文件顯示灰色字體,代表文件本身沒有標題。

依照圖片所示,我們自己給文字設定了標題一和標題二。

如果用剛剛那個設定去轉檔會產生什麼結果呢?答案是,兩種格式都會被判定為粗體。

我們來到style,新增heading 1和heading 2樣式,並在前綴依序打上#和##,這樣轉出來時,這兩個格式的文字前方就會帶有#字,即為md語法的標題一和標題二。

接著要記得把標題的粗體拿掉,以免會轉出奇怪的語法。

成果很完美。

範例三:轉成Word檔

如果格式需求比較複雜,那markdown的確滿足不了你,這時候轉成word也是個不錯的選擇。

一般來說,word轉出不會跟編輯器差太多。這邊會示範進階的樣式用法。

在這個範例裡,你希望所有詩都長的像第一首的格式。

先任意把三個段落都套用上「文字樣式」(不含段落,這樣才能使同一行的文字套用兩種不同的格式)

是不是你要的格式都無所謂,因此如果你不想改變在編輯器看起來的模樣,也可以新增「無樣式」的樣式來使用。(看起來沒有樣式,但其實是一種樣式)

特別需要注意的是,如果樣式有底色記得要拿掉,否則會跟著輸出。

接著來到compile的樣式設定,把剛剛套用的三個樣式都改成想要的樣子,並勾選包含文字大小和字型。

成果如下。

範例四:套用css語法

有些時候,css語法是可以跟md語法並用的。

md沒辦法使用文字顏色,這時候如果有顯色需求就可以使用css來輔助。

好比說像這個範例,有一行字要用螢光筆mark起來。

很簡單,一樣先隨便套用一個樣式。

接著用前綴、後綴字的概念,用css語法包夾起來。

我們使用這個語法:<mark class="yellow-highlight">文字</mark>

成果:放在可以使用語法的地方,就會顯現效果出來啦。

範例五:我想從標題三開始,不行嗎?

這邊介紹section type的應用,假設我們想從###開始往下編標題。

我們可以新增三組東西,名稱就隨便設定個F1-F3。

將文件重新獨立套用新的section type。

我們到section layouts把他們叫出來,依序給F1-F3設定3-5等級的標題,最末的section設定為6。

記得assign section to layouts要正確指定。

效果:

compile的問題是什麼

compile統一格式的前提是得先讓文字套用「有規則的格式」,具體的例子就是markdown。

一個#字就是標題一,兩個**包夾就是粗體。

我把md轉成docx,就是告訴轉檔軟體:請將標題一套用Word的標題一樣式,請將**包夾的文字套用粗體。

自由的排版是指,我想把字上色就上色,想加粗就加粗,想弄成標楷體就弄成標楷體,在使用者看來是完全不同的格式,但在Scrivener看來全部都叫作「無樣式」。

此時他的輸出邏輯是:好的,要將無樣式全部套用成12號新細明體輸出,明白了。

但我心裡想的是:粗體就加粗,很大又很粗的字就當成標題一,比它小一號的當成標題二,很難嗎?(對)

Scrivener的設計「太貪心」了,把有規則的(html、md)和自由形式的(rtf、docx)混在同一起系統,使用者當然也混著用,當然就怎麼用怎麼不對。

markdown是好東西,進可攻、退可守

所以如果在這一塊很挫敗,我會推薦先轉成markdown,再轉成其他格式去做調整。

markdown有很多優點:它很通用、語法簡單,人工調整也相對容易,最重要的是轉成其他格式的穩定度非常高。

例如我轉成docx,標題一的文字就會自動套用Word的標題一樣式,我只要修改標題一樣式,就可以統一對標題一做格式修改。

轉成html,標題一是胖是扁、是紅色還是綠色,都由css來決定的,不管怎麼轉,在html裡標題一的語法都是<h1>。

所以md轉檔很穩定,不太會出現什麼明明說好是12號字,轉成檔案後變成14號字的詭異現象。

其他好朋友

pandoc輸入幾行字就可以輕鬆轉檔。

word也非常強大,很多排版上的問題可以靠word解決。

例如:word可以選取相同格式的文字,比Scrivener更彈性,不用先套用東、套用西的,它的尋找取代也相當好用。

0 回應:

張貼留言