會用五個範例介紹compile的用法,因為是我土法煉鋼的成果,可能不是最佳解。
相關文章
概念

先把專案設定打開,看一下當前section type的設定。
名稱只是為了辨識,沒有特殊意義。
只要知道在當前設定裡,資料夾套用的是heading,文件組和文件套用的是section就可以了。
compile的運作規則
依照兩個規則:
- style
- section type
範例①:基本的markdown格式
這篇文章由多個文件所組成,所有的標題皆由「文件標題」產生。
範例②會示範「內文標題」的轉檔範例,兩者方法有差異。

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

為了避免轉出的奇怪的語法,例如:# **標題** #
把heading和text section的標題粗體拿掉。

接著依照需求勾選title和text。
title:文件標題
text:文件內容

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

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

成果有確實依照文件結構排序標題和內文。簡單的markdown檔案彙編完成了。

範例②:markdown格式,轉換內文標題
這次的情況是直接在內文輸入並自行設定標題樣式,直接看下圖會更好理解。
左側資料夾文件顯示灰色字體,代表文件本身沒有標題。
依照圖片所示,我們自己用樣式功能幫文字設定了標題一和標題二。


如果用範例①的設定去轉檔會產生什麼結果呢?答案是,兩種標題都會被判定為粗體。

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


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

成果如下圖。

範例③:樣式也可以應用在Word檔
如果格式要求比較複雜,那markdown的確滿足不了,轉成word是個不錯的選擇。
一般來說,word轉出會跟編輯器的成品比較接近,轉出後到docx檔內做剩下的調整就行了。
這邊會將樣式功能同樣用在docx上,看看效果如何吧。
在這個範例裡,我希望所有詩都長的像第一首詩的格式。

先任意把三個段落都套用上「文字樣式」。位於如圖下方區塊的樣式,不含段落,這樣才能使同一行的文字套用兩種不同的格式,也不會更改到段落格式。
樣式效果是不是我們要的都無所謂,但如果不想改變在編輯器看起來的模樣,也可以新增「無樣式」的樣式來使用。
就是有套用樣式,但設定跟無樣式的文字一模一樣。
特別需要注意的是,如果樣式有底色記得要拿掉,否則會跟著輸出。

來到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是好東西
如果覺得compile功能太複雜,我會推薦先轉成markdown,再轉成其他格式去做調整。
markdown有很多優點:很通用、語法簡單,人工調整也相對容易,最重要的是轉成其他格式的穩定度非常高。
例如我轉成docx,標題一的文字就會自動套用Word的標題一樣式,我只要修改標題一樣式,就可以統一對標題一做格式修改。
轉成html,標題一是胖是扁、是紅色還是綠色,都由css來決定的,不管怎麼轉,在html裡標題一的語法都是<h1>。
md轉檔很穩定,不太會出現什麼明明說好是12號字,轉成檔案後變成14號字的詭異現象。
其他好朋友
pandoc:輸入簡單的指令可以輕鬆轉檔。
word:其實這個老牌的文書軟體非常強大,很多排版上的問題可以靠word解決。
例如:word可以選取相同格式的文字,比Scrivener更彈性,不用先套用東、套用西的,它的尋找取代也相當好用。
0 回應:
張貼留言