2017年11月27日 星期一

LaTeX 書籍推薦

許久沒有在這部落格加文章了,主要不是沒在用 LyX 了,而是目前比較沒時間寫紀錄。很多問題都是遇到了,查一下,結果馬上就找到答案。因而就沒有紀錄在這了。

今天無意間發現大陸有出版一本「 LaTeX入門 」, 劉海洋著。試閱了一下,發現這本書介紹的真是詳細,而且也讓我對許多 LyX 的設定有更進一步的認識,因此推薦給想要更熟悉 LaTeX 的人。

這裡可以試閱一部分的內容。

2016年9月23日 星期五

一個練習 LaTeX 的好用資源

意外發現一個 LaTeX 線上編輯器,可以讓人在沒有安裝 LaTeX 的電腦上編寫 LaTeX 文件。

http://www.tutorialspoint.com/online_latex_editor.php

嘗試了一下,可惜不能製作中文文件。但英文一定沒問題,而且還可以使用 Tikz 套件。這對於想要隨時測試一下 Tikz 的繪圖命令,是個很方便的選擇。

畫面截圖

2016年8月14日 星期日

用 pgfplots 套件繪製數據圖

最近因為工作寫報告的緣故,需要在文件中放入許多測量數據的結果圖。我平常是使用 Gnuplot 繪出圖案後,輸出成 .eps 的檔案格式,再放入 LyX 文件中。但如果一個文件中有非常多的數據圖需要呈現的時候,要一個一個輸出 .eps 檔案也是很麻煩的。因此,我就搜尋看看能否直接在 LyX 中用數據資料繪圖?當然答案是肯定的。只是這些步驟是不是夠簡單而已。

首先我先參考 TikZ & PGF 的參考手冊,裏面的 Plots and Functions 一章提到「如果要使用科學座標軸簡單的繪製函數或圖形的話,可以使用 pgfplots 套件或 (TikZ的) datavisualization 命令」。當然我是比較懶的,不太想另外花時間研究新的 pgfplots 套件。仗著只了解一點點 TikZ 語法的基礎下,決定來研究看看 datavisualization 命令該如何使用?

使用方式很簡單,但我一下子就遇到麻煩了。因為我需要繪製的資料是類似底下這種結構 :
# Time Sensor_A B C
# 
# For demo
0 2 2 2
1 2 2 3
2 3 4 7
3 4 6 11
...


2015年11月16日 星期一

keystroke & menukeys 套件的簡易用法

最近需要在文件中加入「鍵盤按鍵」以及「路徑」的圖案,搜尋一下 texlive 的文件庫,就找到兩個套件就可以做到這樣的效果了, 在此簡單紀錄一下。

keystroke 套件

使用方法:
\usepackage{keystroke}
在文件中以 "插入 TeX Code" 的方式插入欲放置的鍵盤圖案。
例如, 在 LyX 中輸入:

排版結果 :
(註: 國中的歷史地理都忘了,密技卻記得這麼清楚... Orz)

可惜的是該套件沒辦法繪製 Apple 鍵盤的圖案。
真的有需要繪製 Apple 鍵盤的話,可以參考這個連結的解決方法。
或是用底下的套件亦可。

參考文件: http://ftp.yzu.edu.tw/CTAN/macros/latex/contrib/keystroke/key-test.pdf

menukeys 套件

這個套件主要在繪製選單列以及路徑,讓讀者一看就知道文件中指的是什麼。
使用方法:
\usepackage[os=win]{menukeys}
選項部份的 os 可以輸入 win  或 mac, 可以改變一些內容的呈現方式, 預設是 mac。

也是以 TeX Code 的方式插入內容。以下列出幾個常用且簡易的方法:
  • 選單列: 
\menu{AAA > BBB > CCC}
預設是以 > 做分隔號,也可以自訂義成其他的,設定在 options 的地方。例如:
\menu[,]{AAA,BBB,CCC}
  • 路徑名稱:
\directory{C:/Windows/drivers}
預設是以 「/」做分隔號 (因為反斜線在 LaTeX 中有其他用途了)。

  • 改變預先定義的樣式
\renewmenumacro{\directory}[/]{pathswithblackfolder}
第一個 {\directory} 代表要改變「路徑名稱」的定義,分隔號使用 「/」, 改變定義為 pathswithblackfolder. 至於有哪些預定義的名稱可用,可以參考 menukeys.pdf 這個說明文件。

範例:

 排版結果:


  • 按鍵:
\keys{Ctrl+Alt+Del}
預設是以 + 做分隔號。
按鍵的圖案,會隨著 package 的選項而變。如果是用預設的 [os=mac], 就可以繪製出 Apple 的 Command 按鍵的圖案了。



2014年3月18日 星期二

大陸的參考文獻的樣式

大陸的「中國國家標準化管理委員會」制定了一個 書後參考文獻 的標準, 稱為 GB/T 7441-2005,並建議(非強制)大陸出版的學術論文、期刊、書籍,都按照這個標準去製作 參考文獻。

我是覺得這樣的作法還不錯,至少有個標準可以處理中文文獻。

要不然許多中文文獻的資料,遇到 IEEE, APA, Chicago 等文獻格式的時候,很難 100% 符合原本為英文文獻設計的格式。而且一些書目軟體(如 EndNote)都沒辦法正常處理中文書目,還要另外製作製作中文專用的樣式檔案來處理。在人文社會學系的論文,其參考書目泰半是中文、英文都有,遇到這種情況就會變得比較麻煩。

不過台灣的學術界,不太可能去遵照大陸制定的標準,因此會看到各個科系提交的論文,會遵照不同的參考文獻樣式。

但我還是想試試在 LyX 使用 GB/T 7441-2005 格式處理中文文獻時,是否方便好用?如果好用,在不是那麼正式的文章中,就可以用這種格式。

首先,我找到有人提供符合 GB/T7714-2005 格式的參考文獻檔 (.bst):
https://github.com/Haixing-Hu/GBT7714-2005-BibTeX-Style

下載後,可以按照該文章所說的方法安裝,或是自己手動安裝 gbt7714-2005.bst 檔案。

接著可以按照 test 資料夾內的測試檔案,用 LyX 做一次,馬上就可以看到正常輸出了。
另外,我將 test.bib 檔案內的簡體中文書目,換成繁體中文書目,也是可以正常處理的!

2014年3月9日 星期日

排版象棋棋譜

前幾天看到維基百科介紹 LaTeX 可以做些什麼,突然看到一個「排版象棋棋譜」的套件,讓我覺得非常有趣!

我知道 LaTeX 可以排西洋棋棋譜,但我不知道還可以排象棋棋譜,當下就決定來試試看!

維基百科說需要用到 cchess 套件,查看了一下這個套件:
 http://www.ctan.org/tex-archive/macros/latex/contrib/cchess


結果...殘念啊..TeXLive 沒有收錄,所以 Linux 下不能輕易就使用這套件。但是 MikTeX 有收錄這個套件,所以如果是 Windows 下安裝 MikTeX 的話,就可以直接使用 cchess  這個套件。

不過看起來這個套件檔案不多,我決定自己擴充一下。方法類似於前一篇提的,這裡就直接寫在 Linux 中我做了哪些步驟。

套件庫中顯示有 5 個檔案:

$ mkdir -p ~/texmf/tex/latex/cchess
$ cp cchess.sty cchessboard.tex ~/texmf/tex/latex/cchess/
$ mkdir -p ~/texmf/fonts/tfm/cchess
$ cp cchess46.tfm ~/texmf/fonts/tfm/cchess/
$ mkdir -p ~/texmf/fonts/source/cchess
$ cp *.mf ~/texmf/fonts/source/cchess/
$ texhash ~/texmf

完成之後,重新配置一次 LyX, 關掉再重開 LyX,就安裝好了!

接著按照 cchessboard.tex 內的解說,試著自己畫一次,用 ps2pdf 的方式編譯,就可以看到排版結果了!:D
真的是太有趣了!

LyX 原始檔: cchess_board.lyx


不過 cchess 套件比較適合畫出「靜態」的棋盤,不太適合畫出下棋的「動態」流程。
因此,我發現還有另外一個 xq 套件,比較適合畫出動態的棋盤。而且 xq 套件都有收入在 TeXLive 和 MikTeX 中,直接使用就可以了。

我稍微測試了一下,覺得也很有趣!
LyX 原始檔: xq.lyx

 

我只有稍微試驗一下,有興趣的人再參考 xq 套件的範例 .tex 檔。

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 論文,就很容易了 :-) 。

附件:  我的練習檔.