2013年6月22日 星期六

LyX 簡易入門 (2)

這篇補充 LyX 簡易入門 沒提到但是在文章或書籍中常常需要用到的四個部份:目錄參考書目附錄索引
本範例接續「LyX 簡易入門」所製作的文件進行示範,使用的 LyX 為 2.0.6 版。

A. 目錄
在 LyX 中放入目錄非常簡單,只要動動滑鼠就完成了。
先將游標移到你想放目錄的地方,接著從選單中選擇「Insert」→「List/TOC」 (TOC 是 Table of Content 的簡寫),如下圖,完成!夠簡單吧! :D
其他插入圖目錄 (List of Figures)、表目錄 (List of Tables) 都一樣,其餘的就自行試試看了。
圖1. 選單「Insert」的選項


目錄框線
在 book 類型的文件,目錄會被單獨放在一頁中,但 article 類型的文件不會。如果想在目錄外面加個框,把目錄跟文件內容區隔開來,這時候可以先放入一個 Box,再把目錄放進去。
方法一樣,也是從選單中選擇「Insert」→「Box」,接著選擇 box 框線的種類,文件中就會多出一個 Box 的區域,把「目錄」放到裡面就可以了。(如下圖)
做個有框線的 Box, 再放入目錄

顯示層級
在生成 PDF 文件之後,你會發現 LaTeX 自動幫你按照文件中的 Part, Section, Subsection... 階層來放置目錄。(如下圖)
目錄有顯示 Subsection


如果我覺得這個分層分的太細了,例如:我只想要顯示 Section 就好,不想要顯示出 Subsection 以下的階層。這時候可以從選單中選「Document」→「Document Settings...」, 從「Numbering & TOC」設定希望的顯示目錄層級。如下圖, 最後目錄就只會顯示到 Section 的層級。
 調整目錄的顯示層級

如下圖, 目錄只顯示到 Section 層級。
目錄沒顯示 Subsection

短標題
如果一個 Section 的標題實在太長了,在目錄中顯示的名稱希望短一點的話,例如下圖排版結果。


先將游標停在標題後方,按滑鼠右鍵,選擇「Insert Short Title」就會跳出一個框,在裡面輸入要在目錄中出現的標題名稱。如下圖。

這個技巧對於「圖標題」及「表標題」同樣適用,改變的當然就是「圖目錄」及「表目錄」顯示的標題了。

沒有編號的章節 (unnumbered headings)
如果文件中使用的大綱是 Part*, Section*, Subsection* ... 這種沒有編號的,你會發現目錄不會列出來。要讓這種大綱標題顯示出來,就必須在大綱標題手動加入 TeX Code。

將游標停在大綱標題後,按 Ctrl-L 之後輸入:
\addcontentsline{toc}{section}{此行的標題}
第1個大括號, 可以換成 {toc}, {tof}, {tot} 分別代表「目錄」, 「圖目錄」,「表目錄」。
第2個大括號, 可以換成大綱的名稱,例如 {part}, {section}, {subsection} ... 等等
第3個大括號則填入希望於目錄中顯示的標題。。

例如下圖左視窗是 LyX 的編輯視窗,右視窗為排版結果。「摘要」這個大綱有正確顯示於目錄中了。


B. 參考書目 (Bibliography)
文章中如果要放入參考書目,一般有2種作法:
  1. 直接在文件中輸入參考書目資料,這種方法比較適合參考書目數量很少。我稱為「個案法」。
  2. 輸入「書目資料庫」,由資料庫中選擇要引用的文獻。以下稱為「資料庫法」。
以下分別介紹這兩種方法。

個案法

首先,你必須先在  LyX 文件最後,輸入書目資料。將游標移到文件結尾,新輸入一行樣式為 Bibliography, 如下圖 ,LyX 會自動跳出 key-1 [ ] 的提示符號要你輸入參考資料。
至於書目的格式,這部份就得使用者自己注意相關規範了。

我隨便輸入了 2 本參考書目,如下圖

接著在文章內要引用參考文獻的地方,點如下圖的圖示:

接著會跳出一個選單,讓我選擇要放哪些書目資料。如下圖。
上圖左欄的 Available Citations 就是我剛才輸入的那兩本書目,先點選左方的 key,下方空格會出現該 key 的詳細書目資訊,如果確定是要引用的書目,再按 Add 加到右欄去(可以放很多本)接著按 OK 離開。

如果輸入的項目很多,你怕搞不清楚引用的到底是什麼東西,這時候可以修改引用標籤,意義更清晰。
在引用項目內灰色的 Key 標籤上面按右鍵,選擇 Settings... 會跳出一個視窗,這裡可以修改 Key 及 Label, 如下圖. 裡面的 Key 就是該書目的引用名稱(必須是唯一的),而 Label 則是排版於文件時要顯示的名稱,這裡可以空白,讓 LaTeX 自動編號。


輸出成 PDF 後你就會看到頁面最後有參考書目的列表,而文件中也會自動放入引用書目的編號,完全不用擔心編號的問題了!

資料庫法

引用書目時真正最常用的是使用這種「資料庫法」了。使用這種方法,有很多好處。
因為這種方法,不需要在每個文件中分別輸入書目資料,而是將書目資料變成一個個「書目資料檔」。當需要引用某個資料時,就把這個書目資料檔匯入 LyX, 引用方法如前面一樣「Insert Citation」就可以了。同樣的一份書目資料檔可以給好幾份 LyX 文件使用; 一個 LyX 文件中,甚至可以匯入不同的書目資料檔。
另一個好處是,許多圖書館、電子資料庫查詢到的書目資料,都已經能夠直接匯出成「書目資料檔」或是類似可以直接轉換成書目資料檔的格式,因此作者完全可以免去輸入書目資料的痛苦。

那麼要如何建立這種「書目資料檔」呢?這就是 BibTeX 所做的事情了。根據官方網站的說法:「BibTeX 代表一種工具和檔案格式,用來描述和處理參考文獻清單,而且大部分與 LaTeX 一起使用」

BibTeX 這個工具,跟 EndNote 或 Mendeley 很像,只不過 BibTeX 所涵蓋的意義更廣,它代表的不只是應用軟體的名稱,還是一種「檔案格式」。因此,如果您原來就有用 EndNote, Mendeley, Papers 這類文獻管理程式的話,您只要將您的書目資料,匯出為 BibTeX 的格式,馬上就可以放到 LyX 中使用了。(匯出的書目檔案一律都是以 .bib 為結尾的)

我在此假設對於這段有興趣的人,大概都知道文獻管理工具,如果有聽說過但是沒用過的,建議您可以試試 JabRef 這個文獻管理工具,這個管理工具就是為 BibTeX 而生的,能直接處理 .bib 的檔案,因此可以完美的與 LaTeX 結合。而其他文獻管理工具,大多使用自有的檔案格式,匯出成 .bib 格式的時候,有的還需要手動修正一些小錯誤(例如 Mendeley 匯出 .bib 檔時 title 的欄位會多出一個{ },需要手動刪除)

如果你已經使用「個案法」輸入書目資料,還是可以使用此方法再加入書目,但兩種方法的書目資料,不能有相同的 Key 值,而且不能都是數字編號,需要調整的項目比較多,因此我個人是建議一次就選擇一種方法寫參考書目就好了。

假設您的手邊已經有個書目資料檔 reference.bib 了(沒有也沒關係,等一下用內建範例的書目資料檔也可以),現在要匯入 LyX 文件中,該怎麼做呢?
將游標移到檔案最後方,從 圖 1 的選單中選「Insert」→「List/TOC」→「BibTeX Bibliography」,接著跳出一個視窗,如下左圖。這個視窗顯示目前加入了哪些書目資料檔;Style 選項控制書目資料要排版的格式,例如如果要投稿 IEEE 的會議期刊,就可以選 IEEEtran 的格式。
點 Add...  





跳出另外一個視窗(如上右圖),這裡面已經有列出一大堆的書目資料檔,這些都是示範的檔案,可以不用管他。點選 Browse..., 找到自己的 reference.bib 加入。如果沒有自己的書目檔,可以隨便選一個書目資料檔當作練習。

上圖 Content 選項,可以選擇「all cited references」或「all references」。這兩者的差別在於前者只會列出你有引用的書目。例如: reference.bib 檔案裡面有 100 項書目資料,這份文件只引用了其中 2 個, 這樣 Reference 也只會列出 2 項書目。如果選「all references」則不管文件中有沒有引用,Reference 都會把書目資料全部列出來。

Add bibliography to TOC 則是讓使用者選擇目錄內要不要加入「Reference」這個項目。

選好之後,回到 LyX 主文件,可以看到多了一條灰色的 BibTeX 檔案提示。如下圖。

接著,要在文件中引用參考書目,方法與「個案法」提過的「Insert Citation...」跳出視窗後選擇要引用的書目一樣,就不贅述了。

需注意書目的 Style,不見得每一種 Style 都能夠接受中文的書目資料,如果 .bib 文件內有中文書目的話,要特別注意。

C. 附錄 (Appendix)
要在 LyX 文件中放入附錄的話,先將游標移到要放置附錄的位置,選擇選單「Document」「Start Appendix Here」,游標處即變為整份文件的附錄(如下圖)。此時 Section 的編號方式會與前面的編號方式不同了。

附錄可以放在參考書目之前,也可以放在之後,這裡是放在參考書目之前。

D. 索引 (Index)
一般人寫文件真的非常少用到這個。不過一本有索引的書籍,對讀者來說真的非常的方便。要在 LyX 中為文章加入索引,也是很簡單的。但目前我只有測試過英文索引,中文索引還有問題,未來有機會再詳述中文索引。

假設我撰寫的文件中,有以下幾個關鍵詞,我想要把它們放入索引,有些項目有階層關係,而且希望有些字體能斜體或粗體,需求如下:

Operational Amplifier (non-inverter), 放在 Operational Amplifier 項目下
Operational Amplifier (inverter ), 放在 Operational Amplifier 項目下
OP, 參見 Operational Amplifier
DC Power Supply, 變斜體字
Multi-meter, 變粗體字

我只需要先把關鍵詞選起來,點選「Insert Index」的圖示,LyX 會在關鍵詞後方自動插入一個綠字灰底的索引標籤。如下圖:

如果 Index 內要階層,例如 Operational Amplifier 底下要再放 inverting 與 non-inverting 兩個子項目,Idx 使用驚嘆號「!」分開, 亦即
Operational Amplifier ! inverting
Operational Amplifier ! non-inverting
使用「!」只能分三層, 而且「高層」的 index 不一定要存在, 如果沒有,LaTeX 會自動產生一個「高層」的 index 項目。

OP 項目要參見另外一個索引值 Operational Amplifier 的話,Idx 內輸入
OP | see {Operational Amplifier}
這裡要特別注意的是,大括號部份必須是 TeX Code 形式 (按 Ctrl-L),因此 LyX 看起來為:

其實這個「|」後面代表的就是「頁碼部份要顯示的資訊」。
至於 index 的字型要變成斜體或粗體,就直接在 idx 的方框內設定字形為斜體(按Ctrl-E),或是粗體(按 Ctrl-B) 即可。
更多的 index 語法,可以參考 makeindex 套件的說明。


輸出 PDF
最後,您可以先輸出一份 PDF 看看。您就會看到文件中多了 目錄、參考書目、附錄、索引 四個部份了。
不過再實際試著閱讀看看,你會發現好像少了什麼功能....
怎麼目錄、參考書目、索引的標籤,都不能夠直接連結到文件中對應的頁數呢?

如果你需要在文件中建立超連結的話,很簡單,只要在選單中選「Document」→「Document Settings...」,選「PDF Properties」,把「Use Hyperref Support」打勾,設定好 Hyperlinks 的幾個項目,就可以看到文件有超連結的功能了!(如下圖)
PS. 可以觀察一下 Backreferences 下拉選項不同時,文件中的 Reference 會有什麼變化?

OK,這就是最後輸出的結果:

下載範例檔 LyX-Tutorial2.zip

3 則留言:

  1. 版主你好,
    謝謝你分享這麼棒的筆記。
    我想請問下,如果我要讓阿拉伯數字編號從正文才開始計算,但是在目錄以前是用羅馬符號來表示的話,該怎麼設置呢? 我是用Book(KOMA-Scrip) 謝謝

    回覆刪除
    回覆
    1. 找到解答了
      分享一下
      在TOC前加\frontmatter, 後面加\mainmatter 就行了。

      刪除
  2. 謝謝您的鼓勵及分享。
    目錄頁碼的問題,的確像您說的,在 TOC 的前方與後方各加入1個 TeX Code 就可以了。:-)

    回覆刪除