歡迎

本站利用 MathJax 顯示數學式子,請安裝 STIX Font 以確保數學式子顯示無誤,安裝方法請參閱 MathJax Font Help

2012年9月15日 星期六

A problem with memoir class + lualatex

這是昨天碰到的問題,使用 lualatex 編譯下列的 TeX 檔

\documentclass{memoir}

\usepackage{luatexja-fontspec}
\begin{document}
Hello World!
\end{document}

會出現下列的錯誤訊息:

! LaTeX Error: Command \printglossary already defined.
               Or name \end... illegal, see p.192 of the manual.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H   for immediate help.
 ...                                              
                                                  
l.150 ...and\printglossary{\@input@{\jobname.gls}}

這是 memoir 和 luatexja-fontspec 都定義了 \printglossary 所造成的錯誤。在網路上,有看到類似的問題,解決的方法是用 \let\printglossary\relax 將 memoir 定義的 \printglossary 取消,再載入 luatexja-fontspec 即可編譯成功。所以 TeX 要改成下列的樣子:

\documentclass{memoir}
\let\printglossary\relax
\usepackage{luatexja-fontspec}
\begin{document}
Hello World!
\end{document}

雖然這樣可以解決了,但是由於更改了 memoir 的定義,不知到哪裏會出現無法預期的排版錯誤。

2012年9月4日 星期二

Windows 下的 LuaLaTeX

在 Windows 底下,使用 xelatex 應該是比較好的選擇。雖然 xelatex 和 lualatex 都能夠使用系統的字型,但是 lualatex 卻有一個先天上的缺點,只能使用字型的英文名稱,不能使用字型的中文名稱。例如,wqy-microhei.ttc 這個字型的英文名稱是「WenQuanYi Micro Hei」,而中文名稱是「文泉驛微米黑」。要在 lualatex 使用這個字型就要使用

\setmainfont{WenQuanYi Micro Hei}

而不能用

\setmainfont{文泉驛微米黑}

在 Linux 的作業系統下,很容易可以獲得字型的中、英文名稱,但在 Windows 下,比較容易得知字型的中文名稱,至於英文名稱非人還不清楚要如何得知。所以,非人在 Windows 下使用 lualatex 時,一度不曉得該如何設定中文字型。所幸,直接使用字型的檔案名稱是可以被接受的。

\setmainfont{wqy-microhei.ttc}

2012年8月30日 星期四

改用 LuaLaTeX

unicode-math 這個套件雖然不錯,但是使用 xelatex,似乎還是有一些的問題。就非人這幾天碰到的就有 \underbrace 消失不見及數學式子中 f ' 會黏在一起。前一個問題,在網路上有人提到可用 tikz 套件用畫圖的方式將括弧畫上去。而第二個問題也可以設個命令解決,但是非人有一些大檔案只想小小的修改,不想一行一行地看。所以非人就想到是否改用 lualatex 會不會好一點。事實證明了 lualatex 不會產生上述兩個問題。不過,卻產生了新的問題。積分符號在沒有給上標或下標時,會留太多的空白。看來,到目前為止,還沒有一個完美的組合。(2013.05.04 更新:忘了之前在哪邊看到的解決方法,用 \int^{}_{} 取代 \int 就可以了。)

如果是英文的文件,那麼直接改用 lualatex 編譯就可以了。如果是中文的文件,以非人的習慣會使用 xeCJK 這個套件。但是 xeCJK 是專屬於 xelatex 的,所以必須移除。要換上 luatexja-fontspec 這個套件。設定中文字型的指令也要改一下,改 \setCJKmainfont\setmainjfont。luatexja 是日本人開發的,聽說對中文的支援不是很好。如果不是很堅持中文排版的內規,其實也可以了。

另外,如果用 beamer + lualatex 製作簡報檔的話,要加上

\hypersetup{unicode=true}

才能正確地顯示中文書簽。

2012年8月28日 星期二

LaTeX package: unicode-math

在編輯 LaTeX 文件時,常常會發現想要的數學符號,不知在哪一個套件裡有定義?為什麼數學符號要分別在那麼多的套件定義?原因是當時的字型檔能放的字數是少的可憐。

現在 LaTeX 有了很大的進步,xelatex 和 lualatex 都能夠直接使用系統的 (unicode) 字型。理所當然,數學符號也可以 unicode 來編碼。所以,當我們使用 xelatex (lualatex 還沒試過) 編譯 LaTeX 文件時,可以使用 unicode-math 這個套件

在文件中加入

\usepackage{unicode-math}
\setmathfont{xits-math.otf}

想要知道那些數學符號的 TeX 指令,只需要將 unimath-symbols.ltx 編譯成 pdf 檔就可以了,指令為

lualatex unimath-symbols.ltx

另外,在 Fileformat.Info 這個網頁中列出了 unicode 編碼的數學符號。

2012年8月16日 星期四

使用 biblatex 輸入參考文獻

在以前,要在 LaTeX 的文件中加入參考文獻,主要是利用 bibtex。原因是我們在平時就可以先建立參考文獻的資料庫,要寫文章時,再利用 bibtex 將需要的參考文獻匯入即可。但是經過那麼多年後,bibtex 就顯得有些不足了。例如,現在的文獻中很多都是線上文件,但是 bibtex 的文件類型並沒有。另外,有時我們想先列出書籍的參考文獻,再列出其它文獻。所以,出現了 biblatex 的加強套件。範例如下,test.tex 的內容為

\documentclass[a4paper,12pt]{article}
\usepackage[backend=bibtex]{biblatex}
\bibliography{refs} %使用資料庫 refs.bib
\begin{document}
Hello\cite{KandR}
\printbibliography
\end{document}

refs.bib 的內容為

@book
{KandR,
 author = "Kernighan, Brian W. and Ritchie, Dennis M.",
 title = "{The C Programming Language Section Edition}",
 publisher = "Prentice-Hall, Inc.",
 year = 1988
}

接著執行下列命令:

pdflatex test.tex
bibtex test
pdflatex test.tex

然而,故事還未結束。如果參考文獻有中文之類的話,那麼 bibtex 是會有問題的。(並不會出現錯誤訊息,而是產生的文件會看不到參考文獻)

albumasar 和 philkime 開發了 biber 這個專案。biber 是 bibtex 的替代品,主要的特色就是支援 utf8 的編碼。要使用 biber,只要將上述有 bibtex 的地方,改為 biber 就可以了。

2012年8月15日 星期三

調整版面及加入 MathJax 的支援

將版面調整了一下,順便換個清爽一點的版型。另外在「新增小工具」中,發現可以增加第三方所寫的 JavaScript,於是又順便將 MathJax (CDN) 加進來,這樣就可以加入數學式子了。

例如,輸入下列的 code

\(\int x^2 \, d x = \frac{x^3}{3} + C\)

就會顯示下列的式子

\(\int x^2 \, d x = \frac{x^3}{3} + C\)

MathJax 雖然很好用,但必須安裝 STIX fonts 才能正確的顯示數學式子,可參考 MathJax Font Help

刪除所有的標籤

今天抽空將所有的標籤全都刪除了。主要是因為之前設的標籤大多沒有意義,倒不如不要標籤。


2011年1月2日 星期日

新的一年的開始

在 2010 的最後一天居然感染到一種腸胃型的病毒,整天都沒有胃口。當天晚上看了醫生之後,便早早休息了。睡個好覺,迎接新的一年的到來。果然一早起來,神清氣爽。

每次新的一年都會對未來發一些夢話,今年就不講了。只希望今年能做到「今日事今日畢」。

2010年4月23日 星期五

clisp 又能正常啟動 stumpwm 了

使用 sbcl 啟動 stumpwm 實在是太慢了,之前一直找不到解決的方法。今天突然想到這個問題,於是又上網查了一下。查到一個訊息說新的 cl-asdf 已經解決 clisp 無法啟動 stumpwm 的問題。於是乎,現在 stumpwm 啟動不需等太久了。

2010年4月13日 星期二

將 Caps Lock 鍵和 Control 鍵交換

經過很久的一段時間思考後,終於決定將 Caps Lock 和左邊的 Control 鍵交換。在 Debian 上,還蠻容易的。只要修改 /etc/default/keyboard 這個檔案。將

XKBOPTIONS="lv3:ralt_switch"
改為
XKBOPTIONS="ctrl:swapcaps,lv3:ralt_switch"
重開機後,就可以了。當然可以不需要重開機,只是非人不想花時間去找相對應的指令。

剛剛改好,還不太習慣,過一陣子後應該就會習慣了。

2010年3月25日 星期四

還是要安裝 org-mode

之前提到 emacs-snapshot 有內建 org-mode。所以沒有特別再安裝 org-mode。

最近開始學習 org-mode,試著利用 emacs + org-mode 來管理個人的行程或專案。但是今天發現內建的 org-mode 將 .org 文檔轉為 .html 檔時有些問題。在轉換的設定上,將 LaTeX 的區塊轉為圖檔。轉圖是沒問題,但圖檔放到 html 檔中順序不對,全部往後順移一個。這時才特別注意到內建的版本是 6.33。而最新的版本是 6.34。

於是另外再安裝 org-mode,這個問題就解決了。補充一下,為了快速輸入 LaTeX 指令,非人另外下載了 CDLaTeX

2010年3月7日 星期日

手動 DHCP

昨天更新 wicd 之後重開機,發現沒辦法連網了,利用

ifconfig
發現 eth0 這個網路介面不見了。再觀察 dmesg 的訊息,網路卡是有驅動的。利用
ifconfig eth0 up
將網路介面打開,可是就是不知如何從 IP 分享器取得 IP。經過一些試驗,找到了這個指令可用
dhclient eth0

2010年2月22日 星期一

「無法切換到 Console」問題解決了

之前那篇「無法切換到 Console」中提到的問題,在昨天換了 kernel image 之後,就沒問題了。這問題果然不是非人這種等級的人可以解決的。

也許可以解讀為是 kernel 的問題。

有 Console 可以用,還是比較方便。畢竟有時 X-win 也是會出現問題的。

2010年2月20日 星期六

買了 USB KVM Switch,無法切換

幾天前,去買了一個 USB KVM Switch。本來想買手動切換的,但是手動切換的 KVM 只有 PS/2 規格的。

今天終於將線路鋪好,將 KVM 裝了上去。結果是無法切換,熱鍵全都無效。非人還以為買到的是號稱支援 Linux 但實際上卻不支援的產品。最後還是求助網路。

將型號打上,居然在第二個就看到「Problem with .... USB KVM Switch」。看來不是只有非人有問題。看了一下最佳的解決方案是將鍵盤和滑鼠的接頭對調。非人心想就試試吧,沒想到真的可以。

再看看使用手冊,裡面並沒有提到鍵盤和滑鼠必須要插在指定的孔上。也就是說每個買這家 KVM 的人都會有二分之一的機會碰到這個問題。真令人不爽。

2010年1月21日 星期四

無法切換到 Console

這個問題存在有一段時間了,非人的筆電無法從 X Windows 切換到 Console。原因不明,在網路上有看到類似的情形,但他們的解法,並不適用於非人的筆電。就這樣先放著好了。

2010年1月7日 星期四

StumpWM 起死回生

前一陣子, Debian unstable 某個套件升級後,StumpWM 就掛了,錯誤訊息看起來像是 clisp 的問題。等了一段時間沒見到有新的更新。所以這一陣子都是使用 xfce,實在是很不習慣。

今天突然想到「不一定要 clisp 才能執行 StumpWM」,也可以使用 sbcl。於是乎在 .stumpwmrc 這個檔案中加入

;debian=sbcl
就又可以再使用 StumpWM 了。

2010年1月6日 星期三

使用 gdm + ssh 登入遠端的電腦

今天突然興起使用 gdm 登入遠端的機器。於是在家中利用兩台電腦作測試。發現 gdm 已經設定好了,選擇 !Sessions」→!Secure Remote connection」,就可以利用 ssh 連到另一台電腦了。不過會直接進入 GNOME 的環境。唯一要注意的是要安裝 ssh-askpass 這個套件在本機,遠端的電腦不需要做任何改變。

聽說 sdm 也可以做相同的事,有時間再來玩玩。

2010年1月1日 星期五

升級所發生的問題

昨天將那台安裝 Debian lenny 的 server 加入 lenny-backports 的套件庫。然後將部分的套件升級到新的版本。當時看起來好像沒什麼問題。但今天要將非人用 drupal 架的網站升級時,卻發現網站是 Off-line,仔細看一下錯誤訊息,原來是無法使用 PostgreSQL 的資料庫 (認證出了問題)。上網查了一下關於 PostgreSQL 升級的網頁,才知道要備份並且步驟看來很麻煩 (因為非人看不懂,所以覺得麻煩)。

由於非人架的網站是練習性質的,從來都不備份,所以看來應該沒有補救的辦法了。也許新的網站該用 MySQL,應該比較沒有這方面的問題吧。再找些資料比較看看。

2009年12月2日 星期三

買了一顆新硬碟

多年前買的一顆 40G 的 2.5 吋隨身硬碟,容量不太夠了。於是就再買了一個。買之前也沒做功課,就到門市去選購了。看了多款的 500G 的 2.5 吋硬碟,最後決定的標準,非人以產地來決定。門市只有一顆是非大陸製的硬碟,而且印象中 WD 的硬碟似乎不錯,就決定是它了 WD 2.5 Elements 500G 外接式硬碟。

這顆硬碟非人把它格式化為 ext4

mke2fs -c -t ext4 /dev/sdb1
由於加了 scan 的功能,格式化花了很久的時間。實際用了多少時間非人不清楚,只記得一個小時大約是 10~15℅。後來累了就先睡了,早上醒來就好了。

2009年11月18日 星期三

uzbl --- 一個鍵盤控制的 Webkit 網頁瀏覽器

今天更新時不小心看到了 uzbl 這個輕量級的瀏覽器,發現它是一個使用鍵盤來控制的瀏覽器。其實這個瀏覽器非人之前就安裝了,但是不會設定而且也不知道如何使用,所以就一直放著也沒有去管它。最近 uzbl 更新了,能自動設定一些預設值,而且最近都是使用 Vimperator 這個 firefox 上的附加元件,居然就會使用 uzbl 這個瀏覽器了。自己也覺得很神奇。

試用了一段時間感覺 uzbl 比 firefox+Vimperator 好用很多,沒有多餘的功能,剛剛好夠瀏覽網頁。可惜 uzbl 目前有一個重大的缺點,就是無法輸入中文。雖然如此,非人還是很期待之後的更新,畢竟現在的版本還是 0.0.0 版。