2014年2月19日 星期三

自行加入文件類別 & 寫 ACM SIGGRAPH 格式的論文

LyX 提供了許多 .layout 檔給使用者使用,但是 .layout 檔只是定義了 LyX 界面要如何呈現, 以及如何對應成 LaTeX  Code. 若是缺少了 Class 檔案 (.cls),就算有了 .layout 檔案也沒用,LyX 還是無法排版出正確的文章。如下圖,一堆「無法使用」的文件類別,幾乎都是 LyX 提供了 .layout 檔, 但是系統找不到 Class 檔。

「無法使用」的文件類別,幾乎都是缺少了 Class file (.cls)  造成的。

我之前一直搞不太懂該如何加入自己的 class file,以及 BibTeX 格式檔,最近終於試驗成功,在此紀錄一下步驟。

我以 ACM SIGGRAPH 格式論文為範例。ACM SIGGRAPH 是一個關於電腦圖學的組織, 如果要投稿論文時,需要以它們規範的格式提供論文。最方便的當然是用官網提供的 acmsiggraph 的 LaTeX 類別檔(.cls) 及 BibTeX 檔(.bst) 撰寫。ACM SIGGRAPH 官方網站: http://www.siggraph.org/learn/instructions-authors

從官網下載 acmsiggraph.zip 檔案後,解壓縮後可以看到有很多檔案。其中的 icons, .cls 和 .bst  是最主要的檔案,其他的都是 範例+說明。

紅框中的檔案跟樣式定義有關,其他是範例資料。

安裝 .cls 檔案 及 .bst 檔

在家目錄下,自己建立一個 texmf 的資料夾(如果已經有了,就不用再建立)。[註1]
接著用 mkdir 命令建立以下兩個目錄 [註2]:
$ mkdir -p ~/texmf/tex/latex/acmsiggraph
$ mkdir -p ~/texmf/bibtex/bst/acmsiggraph
接著將 .cls 檔案, icons 資料夾 和 .bst 分別複製到這兩個目錄下:
$ cp -r acmsiggraph.cls icons/ ~/texmf/tex/latex/acmsiggraph/
$ cp acmsiggraph.bst ~/texmf/bibtex/bst/acmsiggraph/
再執行 texhash ,在 ~/texmf 下,建立一個 ls-R 檔案(資料庫)
$ texhash ~/texmf

接下來再開啟 LyX, 重新配置一次,再重開 LyX, 就完成了!

[註1]: 這個是 Linux 預設的 user's texmf 目錄,如果是 Mac 的,則可能是 ~/Library/texmf。因此最保險的作法,應該是先用 tlmgr conf texmf TEXMFHOME 命令,看看預設值為何 (也就是 TEXMFHOME 設定值),再於預設路徑下建立目錄。如果想用別的目錄名稱,需手動加入 TEXMFHOME  變數中。可參考 網站1網站2 的說明。

[註2]: TeX 的檔案結構名稱是固定的,因此這邊的路徑名稱不能亂取。如果亂取, TeX Live 可能就會找不到該檔案了。詳細的命名規則,請參考 TDS, http://tug.org/tds 的文件。

用 LyX 寫 ACM SIGGRAPH 論文

如果上述步驟都很順利的話,那麼在 LyX 的選單 「文件→設定值→文件類別」裡面,就可以看到 ACM SIGGRAPH 的選項可用了。如下圖。
ACM SIGGRAPH 類別不再是「無法使用:」了。
選好文件類別後,第一個要注意的是「語言」的選項。由於這種投稿文件一定是「英文」的,所以要確定語言選項為「英語」, 而且語言套件的部份,可以直接選擇「無」,避免 LyX 自動載入 Babel 等套件。

接下來,可以對照官網提供的範例檔 template.tex 的內容,自行在 LyX 照著做一次看看,就可以知道在 LyX 中該如何使用了。

讓我卡住一下,不知道該如何輸入的,有以下幾個地方:
  1. 兩位以上的作者該如何並排?
    • 解決方法:  在兩位作者中,加入 TeX Code: \and
  2. 文件沒有自動把 Title 等資料排版出來。
    • 解決方法: 加入 TeX Code: \maketitle
  3. 範例檔中的 \CRcat{}{}{}{} 命令,需要輸入 4 個參數, 在 LyX 中不知道該如何輸入?
    • 從選單「插入」中,可以找到相對應的格式。如下圖。


用 LyX 做一遍,很容易就做出與官網提供的範例 PDF 一樣的結果。這樣要用 LyX 撰寫自己的 ACM SIGGRAPH 論文,就很容易了 :-) 。

附件:  我的練習檔.


沒有留言:

張貼留言