歡迎

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

2006年11月25日 星期六

itex2MML 初探

itex2MML 是一個將 itex 語法轉為 MathML 語法的程式。itex 可被視為 LaTeX 的精簡版。就我初步的了解,itex 是 MathML 的一種解決方案。我想對 MathML 有認識的人都會被那非常複雜的語法嚇到,就最簡單的 1+2 來說, 以 MathML 的語法我們要說有一個數字 1

<mn>1</mn>
有一個算子 +
<mo>+</mo>
有一個數字 2
<mn>2</mn>
所以整個加在一起,就如下列所示:
<math>
  <mn>1</mn>
  <mo>+</mo>
  <mn>2</mn>
</math>

如果是更複雜的式子,那可能要畫張樹圖才有辦法用 MathML 正確地寫出。不過,MathML 是 W3C 對數學式子所提出的解決方案。當然最早以前的方法是將每個數學式子存成圖檔後再放到 HTML 中,有時文字比較大,有時圖形會比較大,很難統一大小。就以純文字方式來處理數學式子的排版軟體中,我想 TeX/LaTeX 的語法是比較簡單的。

所以有一些人就著眼在如何將 TeX/LaTex 的檔案直接轉成含 MathML 的 XHTML 檔(以目前來說,MathML 必須搭配 XHTML,將來或許可以搭配 HTML 5)。 tex4ht 是其中一個解決方案,之所以提它,主要是因為它是免費的。

而 itex2MML 也同樣能將 LaTeX 的檔案轉換。和 tex4ht 不同的地方,是使用 itex2MML 並不需要安裝 TeX 系統。也因為如此,並不是所有的 LaTeX 檔案都可以百分之百的被轉換。可以被轉換的部分 Paul Gartside (itex2MML 開發者) 稱為 itex。itex 支援的 latex 指令可參考 itex Commands。另一方面,itex2MML 已經有 WordPress 和 MovableType 的外掛,這兩種都是架部落格的平台,也就是說 itex2MML 在理論上應該可以和所有的架站平台搭配在一起,但目前似乎還沒有一個簡單的方法。

MathML 雖然可以讓我們在網頁中放入數學式子,但並不是所有的瀏覽器都有支援 MathML。事實上,目前只有 firefox 能完全支援,IE6 要加上 MathPlayer 的外掛才可以。其它的就不清楚了。

2006年11月21日 星期二

使用 Vmware

前一陣子在一台只有 256MB 的老舊電腦安裝了 Vmware Player。然後跟著網路上找到的資料,依 樣畫葫蘆地跟著安裝 Ubuntu 6.10,結果因為記憶體分配的太少了,在安裝的過程中卡在硬碟分割這個步驟上。這台老電腦上面原先就跑 Windows XP,想分配多一點記憶體給 Vmware Player 都沒辦法,最多只能給 128MB。最後選擇安裝 Debian。

在 Debian 上我想先安裝 Xfce 的桌面環境,所以就去更改 sources.list 的內容(因為系統安裝好的時候只有 main 這個套件庫),突然不知道該如何改。真的是太久沒有使用 Debian 這個系統了,連最基本的設定都忘記了。而且也忘了該到哪去查這些資料了。查了一下台灣 Debian Wiki 的網站,發現這種基本的設定並沒有提到。其實也不能說是這些基本的設定不被重視,而是一般安裝 Debian 的人大多會選擇專家模式,這次安裝時偷懶,直接按 Enter 就安裝了。

說真的,在 Ubuntu 下資源似乎比較集中,有一個非官方的新手指南可供參考。回到正題,後來憑著記憶將其它的套件庫加入,總算將 Xfce 安裝好了,可是這樣的速度還是不太滿意,前幾天看到 PCMan 和 jserv 共同開發的 LXDE,聽說蠻省資源的,是個非常輕量級的桌面環境。而且更提供了 Debian 的套件,可惜目前沒有時間去弄這個,就等下次有時間再弄了。玩 Vmware Player 只是一時興起,並沒有打算同時跑 Windows 和 Linux。畢竟老電腦是跑不動這樣的組合。

升級 Ubuntu 到 6.10

原先並不想這麼早就將 Ubuntu 升級到 6.10,但是還是忍不住新版的誘惑。所以就開始了我的更新之旅。

首先,參考非官方的 6.10 新手指南,將 sources.list 的內容更換為 Edgy 的套件庫。然後執行

sudo apt-get update
sudo apt-get upgrade
這時只是將主要的套件更新而已。依照以往的經驗,我接著執行
sudo aptitude
來修正那些 Broken 的套件。因為大規模的更新套件,會有一些套件會互相衝突,這時就要選擇誰該留下。不過這種情形大多發生在套件更改名稱的時候,所以只需要將新的名稱的套件加入,砍掉舊的名稱就可以了。將所有 Broken 的套件修正後,再執行更新就可以了。在更新的過程中,可能需要回答一些簡單的問題。

感覺上 Ubuntu 在這個版本的更新上似乎比之前的版本來的順利。之前的版本,總有幾個套件在更新的時候會有些問題,造成更新不完全。為了修正這些問題,可能要花幾個鐘頭的時間才能找到問題並解決。這也是為何這次我會遲遲不更新的主要因素。也不知道是不是因為這個版本已經推出一個月了,所以一些更新的問題已經被修正了。看來以後新的版本推出時,還是等一等會比較好。

2006年11月12日 星期日

CJK 4.7.0 釋出了

前一陣子看到李果正先生的這篇文章,才知道 CJK 這個 LaTeX 套件已經釋出新的版本了。

其實,以我的需求而言,CJK 4.5.2 這個版本已經夠用了。當然 4.5.2 這個版本在處理中文上還是有些小小的缺點。例如,使用 beamer 時, pdf 書籤的中文會是亂碼。不過在演講的時候是以全螢幕的方式來播放,所以下面的聽眾是看不到亂碼的出現。這個問題在網路上已經有解決的方法了,大概是有二種,第一種比較麻煩,請參考 Chinese TeX Using the CJK LaTeX package, ...。第二種就比較簡單,只要使用 CJK 4.6.0 以上的版本就可以了,請參考李先生的 LaTeX 中文 PDF outline 的說明。

雖然知道解決的方法,但我一個都沒採用。原因是第一種方法太麻煩,而第二種方法是我自己太懶了,不想自己更新。而且很奇怪的是所有的包裝 LaTeX 的團體都沒有對 CJK 進行更新,一直都停在 CJK 4.5.2 的版本,大約有四年的時間了吧。最近終於看到 Debian 在 unstable 的套件庫裡放上 CJK 4.7.0 的更新了。看來在不久的未來也可以在 Ubuntu 看到對 CJK 的更新了。所以我將 MikTeX 2.5 的 CJK 更新了。利用 MikTeX 2.5 的特性,我將 CJK 4.7.0 放在一個獨立的目錄上好方便管理。

再補充一下,第二種方法是使用 CJKutf8.sty 這個套件,只支援 utf-8 的編碼,到目前為止 Winedt 這個相當多人使用的 LaTeX 編輯器還沒有支援 utf-8 的編碼。就我所知,目前支援 unicode 的(跨平台)編輯器有 Vim, Emacs, Texmaker 等。

2006年10月27日 星期五

Ubuntu 6.10 推出了

今天上網發現 Ubuntu 6.10 已經推出了。根據以往的經驗,在新版本剛推出的這一段時間下載套件的速度會非常地慢,所以我想還是先等等吧。順便看看其他的人在更新後會碰到什麼樣的問題,有沒有解決的方法。

看來現在比較不會像從前那樣追新的版本了。不過這和 Linux 的發展也是有很大的關係。早期 Linux 對中文的支援非常地差,每次有新的版本推出,總是會有更多的功能,更好的中文支援。就因為這樣只要有新版本出來就會瘋狂地下載、安裝。而現在 Linux 已經發展的很成熟了(對我而言),在日常生活或工作中需要使用電腦的事情,都可以完全在 Linux 下完成。新版本似乎就沒有太大的吸引力了。

2006年10月24日 星期二

在 Windows 下安裝 AUCTeX

AUCTeX 不是一個獨立的編輯器,以現在較流行的說法, AUCTeX 可視為 Gnu Emacs 的外掛。但是在 Emacs上並不是這樣稱呼這些軟體。在 AUCTeX 的首頁是這麼寫的:AUCTeX 是 Emacs 或 XEmacs 的一個延伸套件,用來撰寫和編譯 TeX 檔案。 AUCTeX 支援 AMS-TeX, LaTeX, TeXinfo, ConTeXt, 及 docTeX 等格式。

在 Windows 底下安裝 AUCTeX 是一件很麻煩的事情。不過有已經編輯好的版本,可以在 ftp://alpha.gnu.org/gnu/auctex/ 下載 emacs+auctex-w32-<data>.zip。直接解壓縮就可以使用。

如果想要自己編譯的話,要先安裝一些軟體。

  1. Emacs 21 以上的版本:Emacs 有很多團體依照自己的需求提供預先編譯好的版本,可以參考 EmacsForWindows。當然也可以選擇自己編譯。我的選擇是 EmacsW332,這個版本可以自動執行 gnuserv,好處是所有的編輯都在同一個視窗,似乎可以節省一些記憶體的空間,也比較好管理。當然不用這個版本,用其它的版本一樣能做到,只是要自己做一些額外的設定。
  2. TeX 系統:AUCTeX 現在包含了 preview-latex 這個套件,搭配這個套件 Emacs 就能成為一個所見即所得的編輯器。 preview-latex 需要使用到 TeX 系統裡的一些指令。另一方面,即然撰寫 TeX 的檔案,如果不能直接編譯,似乎也說不過去。
  3. Ghostscript:Ghostscript 可以在 http://www.cs.wisc.edu/~ghost/ 下載,另外可以順便下載 GSview。Ghostscript 可以解析 Postscript 檔案,早期 Postscript 是專業印表機語言的主流,現在逐漸被 PDF 檔案所取代。如果不打算安裝 preview-latex,則可以不用安裝,記得要將 Ghostscript 的路徑加到 $PATH 中。
  4. MSYS 或 Cygwin:MSYS 可以在 http://sourceforge.net/project/showfiles.php?group_id=2435 下載。 Cygwin 可在 http://www.cygwin.com/mirrors.html 下載。
  5. AUCTeX 原始碼:請由 http://www.gnu.org/software/auctex/download-for-windows.html 下載 auctex-***.zip。並將下載的檔案解壓縮。

一切都就緒後,開啟 MSYS 或 Cygwin 的 shell,切換到 AUCTeX 原始碼所在的目錄。執行以下的命令:

./configure --prefix='C:/Program Files/Emacs'  --with-texmf-dir='C:/localtexmf'
這裡假設 Emacs 安裝在 C:/Program Files/Emacs,和 TeX 系統為 MikTeX 2.4。不過如果是安裝 EmacsW32 的話,要使用下列的命令才行。
./configure --prefix='C:/Program Files/Emacs/emacs'  --with-texmf-dir='C:/localtexmf'
如果使用 MikTeX 2.5 請依自己的環境設定做調整。如果不想安裝 preview-latex 可以用下列的命令:
./configure --prefix='C:/Program Files/Emacs'  --with-texmf-dir='C:/localtexmf' --disable-preview
如果沒有錯誤訊息產生的話,就可以執行
make
make install
這樣就安裝好了。

最後,在 $HOME/.emacs 這個設定檔中增加

(load "auctex.el" nil t t)
(load "preview-latex.el" nil t t)
(require 'tex-mik)
就大功告成了。

備註: $HOME 這個變數是指使用者的家目錄,要在“環境變數"中增加。不過話說回來,會使用 Emacs 的人大多是有 Unix 使用經驗的。

2006年10月21日 星期六

在 OpenOffice.org Writer 中使用隨身碟

我不太常使用 OpenOffice.org。偶而心情好的時候才會使用。這樣子寫,好像我總是心情不好的樣子。其實我會依照文件的使用方式來決定用那一種編輯器。

今天使用 OpenOffice.org 來編輯一個檔案,直接存在隨身碟上。結果要卸載隨身碟的時候一直出現還有程式在使用隨身碟不能卸載。剛開始以為是時間差,但過了好久還是一樣。突然想到 OpenOffice.org 為了讓開啟的時間縮短,會在開機的時候啟動 quikestart。後來我將這個程式關掉之後,就能正常地卸載隨身碟了。不知道這個算不算是 bug.

2006年10月2日 星期一

試用 Eclipse

大約在一年前看到一些網站對 Eclipse 的介紹。正面的評價比較多,而負面的評價以啟動的速度太慢最多。其實對於一些功能強大的應用軟體本來就不能期望它會是一個輕薄短小的東西。

雖然知道 Eclipse 的存在,也覺得它應該是一套不錯的軟體,但始終沒有下載來試過。最近開始看 JAVA 的書,才試著用 Eclipse 來測試書上的程式。說真的,Eclipse 的啟動真得很慢,但啟動後的速度還蠻順的。雖然 Eclipse 內建 JAVA 的編譯器,但是我還是將 JDK 裝了上去,好像沒什麼差別。

其實玩 Eclipse 是因為想學 JAVA 和 C++。之前買了一本 Eclipse 實作手冊---活用 Java 整合式開發環境。買書的那時覺得書的內容應該是偏向初階入門的。上個禮拜天花了一些時間看這本書,發現我只能完全了解前二章在說什麼。對於其它的章節只是知道 Eclipse 能做些什麼事,具體該如何做卻是一點概念都沒有。看來還是要試試看才知道作者到底講些什麼。

Eclipse 的特色之一就是 Plug-ins。雖然最初的目的是用來編寫 JAVA 的程式,但似乎只要是和程式語言有關的都可以使用 Eclipse 來編輯。像 JSP, PHP, Ruby, Pathon, C/C++, TeX/LaTeX, HTML/XHTML/XML 等。目前我只安裝 WST 的 Plug-ins。用來編寫 XHTML/XML 的檔案。經過測試,若將副檔名設為 .xml 那麼在編寫時會有很方便的工具。但是如果是 .html 的話,標籤的預設為大寫,所以是 HTML 4.01 的格式。目前還不知道怎麼改變預設值。

感覺上 Eclipse 和 Emacs 很像,不同的是在設定上 Eclipse 利用圖形介面,而 Emacs 則是純文字。當然圖形介面對於初學者來說比較容易上手,但聽說 Eclipse 和其它的 IDE 不一樣的是它可以調整到非常底層的設定,不像其它的 IDE 只能改一些表面的設定。

對於中文的使用者來說 Eclipse 有一個功能沒有完整地享受到,那就是 Completion 這個功能。當你打字只打幾個字母,然後停下來約過一秒會跳出一個視窗列出所有符合的字。對打字慢的人也許是一項利多。當然你可以強迫這個視窗,不管有沒有打幾個字母。不過這個熱鍵是 Ctrl+Space,剛好和啟動中文輸入法一樣。 Emacs 也有這樣的困擾,在 Emacs 中 Ctrl+Space 是設定複製的起點。只是現在大多是用滑鼠來複製,影響不是很大。在 Eclipse 似乎找不到相關的設定。我能想到的解決方法,就是將中文輸入法啟動的方式改變。

2006年9月23日 星期六

cwttf 字型安裝 for MikTeX 2.5

前一陣子安裝了 MikTeX 2.5。但一直沒有時間安裝中文字型。今天剛好有些時間可以安裝中文字型。

這次選擇的中文字型是由李果正先生所維護的 CWTTF。CWTTF 的 Type1 字型可從 http://cle.linux.org.tw/fonts/cwttf/type1/ 下載。找個目錄將所下載的壓縮檔解壓縮。考慮日後的升級,最好不要將字型放到 MikTeX 2.5 的安裝目錄(MikTeX 稱為根目錄)。所以必須要再增加根目錄。這也可以說是 MikTeX 2.5 的新功能,可以增加很多的根目錄。於是我在 C:\ 下建了一個新的目錄 CJKFonts,子目錄的結構必需滿足 TeX Directory Structure (TDS),詳細的說明可參考『MikTeX 2.5 手冊』或在命令列下執行 nthelp tds

依序將 .tfm, .afm, ... 等放到相對的子目錄下。加入根目錄的方法,請執行《所有程式》→《MikTeX 2.5》→《Settings》,找到 Roots 的欄位按下 add... 就可以增加了。

最後,執行

initexmf --edit-config-file updmap
在編輯視窗中加入
Map cwfs.map
Map cwfsu.map
Map cwhbu.map
Map cwheib.map
Map cwkai.map
Map cwku.map
Map cwming.map
Map cwmu.map
Map cwyen.map
Map cwyu.map
再執行
initexmf --mkmaps
就可以使用新增的字型了。

註:上述的設定只對 latexdvipspdflatex 這些指令有效。如果要使用 dvipdfmx,還要修改或增加 cid-x.map 這個檔案。

2006年9月16日 星期六

Index 索引製作

雖然 LaTeX 使用了很長的一段時間,卻從沒有使用過 Index 這個功能。今天突發奇想,要在自己的筆記本上加上 Index 索引。經過測試,發現在 memoir 的文件類別中已經內建了 index 的相關功能。其它的文件類別需要使用 makeindex 的套件。

在製作 Index 索引時,需要三個指令 \makeindex, \index\printindex。再配合 makeindex filename 這個外部指令就可以了。

2006年9月8日 星期五

MiKTeX 安裝

昨天下載 MiKTeX 安裝,選擇了中山大學的伺服器。不過中山大學的伺服器好像有些問題,一直會斷線。選擇台灣另一個映射站,在安裝的時又發生有一個檔案無法解壓縮。只好又再換一個。

在安裝之前,我先將舊的版本移除。雖然官方網頁說可以從舊版本直接升級,但是我想知道新的版本究竟改變了什麼,所以我就將舊版本移除了。安裝的過程和舊版的方式差不多。唯一的差別就是沒有預設 $LOCALTEXMF 的位置。可以自己手動加入,目錄名稱可以自己決定,而且可以多設幾個。

在安裝的過程中我選擇只安裝基本的東西,其它的等需要的時候再安裝就可以了。當然安裝完之後要將 CJK 套件安裝起來。內建的 CJK並不是最新的版本,所以安裝字型的方法和之前都一樣。一些細節的部分可以參考 miktex.pdf 這是 MiKTeX 內含的說明文件。

2006年9月7日 星期四

Blogger 駭客

摸索了很久一段時間之後,才知道當一個 Blogger 駭客的基本要求。根據 Blogger 說明常讓我搞不清楚。例如如何在單一網頁中包含多個 blog?我在我的設定欄找了半天都沒找到它說的選項。不過最後還是讓我弄清楚了。

當一個 Blogger 駭客最基本的要求,就是要有一個自己能完全掌控的網頁空間。基本上 Blogger.com 所提供的網頁空間有太多是我們無法控制的,例如說我們無法改變檔案的副檔名。當我們在選擇用 ftp 或 sftp 來發佈部落格時,就可以選擇檔案名稱,而其它的檔案副檔名會和這個檔案的副檔名一樣。而我所需要的副檔名是 .xml。

還好,我有一個申請 ADSL 時所送的網頁空間。就拿來做一下測試。經過多次的實驗之後,我終於讓該網頁能支援 MathML 的語法。接下來我將逐步改造那個網頁,並將重心慢慢移到那。話說回來這個網頁還是會繼續更新。原因很簡單,那是 IE 還不支援 XHTML/XML 的語法,也就是說無法在 IE 看到我的新網頁。

無線網卡 GW-US54GZL

前一陣子想要買一張無線網卡,於是乎上網查詢了一下在 Linux 下可用的無線網卡。眾多的資料讓我眼花瞭亂。看一看好像 PCMICA 的卡有較多的支援,就挑了一張大廠牌的。可是到了知名的 3C 賣場,服務人員居然說現在只有 USB 介面的無線網卡,只好看看是否有其它適合的卡。

因為我需要的是能在 Linux 下運作的無線網卡,服務人員就將所有的包裝盒都拿出來,最後終於發現有二個產品的盒子上就寫著 Linux Ready 的字樣。通常這樣寫的話,主要有二種意思,一是 Linux 已經有了現成的驅動程式,另外一種就是會附上驅動程式。想說 Ubuntu/Dapper 的驅動程式號稱是最齊全的,應該是可以直接使用才是。於是乎,就買了較便宜的那種。

回家測試,卻發現抓不到網卡。在網路上查了好久才知道是哪一個 driver,手動將 driver 裝上,仍然是沒反應。只好自行編譯了。不過,在查資料的過程中,居然看到一篇叫大家絕對不要買這張卡。不過他的原因說的不是很清楚,不知道是用了這張卡玩遊戲會讓人斷線,還是自己會斷線。

自行編譯好了 driver,能抓到這張無線網卡,卻發現一個錯誤訊息。大概是說這個 driver 利用 /proc/net/wireless 這種舊規格,請更正。猜測是 Linux 2.6.15 核心對無線網卡的支援規格有所變動。而該 driver 看起來只有在 2.6.9 之下測試。

還好,還有最後一招沒試過。那就是直接利用 Windows 下的驅動程式。可是 GW-US54GZL 只提供程式安裝的檔案,需要找一台 Windows 的機器安裝之後才能得到真正的驅動程式。只好去向朋友借電腦。最後終於取得了 Windows 的驅動程式。

要使用 Windows 的驅動程式的話,必須要安裝 ndiswrapper 這個套件。以下是我的安裝過程 (for Ubuntu 6.06)

sudo -s
apt-get install ndiswrapper-utils
切換到 Windows 驅動程式所在的目錄(包含 *.inf 和 *.sys)
ndiswrapper -i zd1211ub.inf    # 安裝驅動程式資訊
ndiswrapper -m             # 將驅動程式的資訊寫入 ndiswrapper 的設定
modprobe ndiswrapper        # 載入模組
利用 iwconfig,就可以發現多了一個 wlan0 的裝置,並且有無線網卡的資訊。終於可以用無線網卡了。

後記: 雖然驅動了無線網卡。但似乎不能很正常地工作。測試了一整天還是不能連線。岳父家的無線網路是採用 wpa 的密碼模式。我以 wpa 的密碼模式驅動網卡,得到的訊息居然是驅動程式不支援。真是無言以對。之後又上網查詢了一下,發現有新的驅動程式。只可惜結果是一樣的。

後來,我將筆記型電腦的作業系統換成 Windows XP。使用該公司所附的連線軟體,居然也連不上,沒有 wpa 的選項。真是夠了。最後利用 Windows 內建的設定程式,總算能夠連上網了。

2006年9月6日 星期三

連不上 Blogger.com

今天早上想要登入 Blogger.com,卻發現沒辦法登入。中華電信的 ADSL 好像怪怪的,這一陣子常常發生登入 Gmail ,卻無法登出的問題。也就是說登出時,顯示出空白的網頁。看不出是否有登出。有時再次登入 Gmail 時,會出現不問帳號、密碼就直接登入了。很明顯地,上一次的登出並沒有成功。

這三天在家幫老婆建 Gmail 的帳號,一直都沒有辦法成功。今天在學校突然想起,就試試看。結果一次就成功了。真是邪門!!!難道中華電信真的對 Google 不太友善嗎?

2006年9月4日 星期一

XHTML or HTML

昨天不小心逛到一個網頁,標題很竦動。不過由於暫時找不到該網頁,就先欠著吧。等到回家將資料調出來再補上好了。

標題大約是關於 HTML 的骯髒秘密。內容大概是說 XHTML/XML 雖然推出這麼久了,但由於 IE 的不支援,大多數的網站的 mime.types 檔的內容都是這樣的:

...
text/html                        html htm shtml
...
application/xhtml+xml           xhtml xht
application/xml                 xml xsl

也就是說,只要你的副檔名是 .html 之類,不管你的內容是 XHTML 或 XML,全都會被當作 HTML。其實,在多數的情況是沒什麼影響的,可能連寫網頁的人都不太能發現其中的不同。之前我在測試 MathML 的語法時,才發現別人網頁上的例子,怎麼到我的手上都變了個樣。但當我將副檔名改為 .xhtml 時,卻可以正常地顯示了。當然我用的瀏覽器是 FireFox。如果用 IE 來看,只會得到這個網頁是否為良好的格式。

那麼我的結論是什麼呢?不必再花時間想要讓這個部落格支援 MathML 語法了。雖然這個網頁在結構上是 XHTML,但除非 Blogger.com 願意將 mime.types 改成

...
application/xhtml+xml           html htm xhtml xht
...
才有可能。

不過,話說回來,新推出的 IE7 還未支援 XHTML/XML。根據這篇報告, IE 的開發人員似乎暫時不想支援。看來微軟的人手是不太夠。我看到有些網頁的作者直接指出想要繼續瀏覽他/她的網頁請使用 FireFox。

2006/09/05 更新: 提到的網頁為The Road to XHTML 2.0: MIME Types

2006年9月1日 星期五

測試 MathML

剛剛加入了 MathML 的宣告,現在立刻測試一下,看看是不是行得通。

如果可行的話,下面會出現分數 b 分之 a

a b

不過 MathML 的效果好像 IE 無法顯示,據說是因為安全上的考量。

Updated: 似乎是無效的,後來我在自己的機器上測試也行不通。因為是使用網路上的範例,所以程式碼應該是沒錯。可能是伺服器設定的問題,再研究了。

Updated 2: 我在自己的機器上測試,將副檔名改為 .xhtml.xml 就能正確顯示了。不過,要怎麼到 blogger.com 裡去改檔名,我就不知道了。

2006年8月29日 星期二

使用 HTML

上次在測試 TeX4ht 時,由於覺得《自動增加<br />》這個功能造成小小的困擾,所以就將這個功能取消。沒想到之前的文章全都擠在一起,沒有任何段落。只好自己手動加入。對於 HTML 這個語言可說是初學。雖然也曾翻過一些資料,但實際操作起來就好像當初剛使用 LaTeX 一樣。

經過這幾天的摸索之後,感覺比較好了。慢慢地能夠表現出自己所要的格式。看來我還是習慣那種能夠掌控一切的排版風格。

2006年8月28日 星期一

LaTeX/CJK 中文字型在 Ubuntu 上的設定

在 Ubuntu 上的套件 tetex-* 在 3.0 版本有重大的改變。首先是 $LOCALTEXMF 的目錄改為了
/usr/local/share/texmf/

其次,就是設定檔的設定方式有些改變。事實上,在 Ubuntu 上 (Debian 應該也適用) 執行 latex 這類指令時,系統會到 /etc/texmf//var/lib/texmf/web2c/ 這些目錄下將設定檔載入。所以,原則上若你想要更改任何設定應該要到上述的目錄下更改。但這個方法並不建議,因為當你下次套件更新的時候,很有可能系統會還原當初的設定,也就是說,你每次都要去那個目錄看看你的設定是否有被更動。又不是閒閒吃飽沒事做。

在安裝 LaTeX/CJK 的中文字型,我的習慣在將這些額外的字型放在 $LOCALTEXMF,假如權限不夠的話,則可以考慮放在 $TEXMFHOME,而設定就放在 $TEXMFCONFIG$TEXMFVAR,不過我沒有試過。

最後一步,就是要修改 updmap.cfg。當你將 /var/lib/texmf/web2c/updmap.cfg 用文字編輯器打開時,你會看到下列的警告文字

### This file was automatically generated by update-updmap.
#
# Please do not edit it directly. If you want to add or change
# anything here, please have a look at the files in:
#
# /etc/texmf/updmap.d/
#
# and invoke update-updmap.
#

所以,我們必須到 /etc/texmf/updmap.d/ 的目錄下新增一個檔案,如 30chfont.cfg,內容如下:
Map ukai.map
Map umin.map
...

然後,再執行
sudo update-updmap
sudo updmap

好了,這樣就有中文字型可用了。

2006年8月25日 星期五

tex4ht 測試

a2 + b2 = c2(1)
c = 2(2)

上面顯示的結果,是我利用 tex4ht 轉出來的,再將我想要的部分貼上來。不過由於在這裡換行時會自動插入一些東西,使得顯示出來的結果會非常的奇怪,所以要在同一行才能有正確的結果。

不過,由於還有一個 .css 檔暫時不知道怎麼弄。將 html 的語法熟練了以後再說吧。

經由這次的測試,感覺 html 的語法都能在這裡使用。看來以後可以在這裡練習 html 的語法。

2006年8月23日 星期三

MiKTeX 2.5

MiKTeX 2.5 has been released on 03 August, 2006. 上述為 MiKTeX 的官方聲明。大概看了一下官方的介紹,發現這個版本作了一些調整,包括
  1. localTEXMF 位置的調整。
  2. 將程式的設定檔分開。
  3. 內定的引擎為 pdf-etex.
按官方的說法,可以從 2.4 直接升級到 2.5 。找個時間試試看,我想主要還是中文 CJK 的問題會比較麻煩吧。

2006年8月21日 星期一

製作投影片的文件類別

在 LaTeX 中可以用來製作投影片的文件類別非常的多。有 beamer, foils (foiltex), powersem (part of TeXPower), prosper, seminar, slidenotes, slides, ...

而套件也有不少,如 HA-prosper (prosper 的加強版), ifmslide, pdfscreen, rayslides, texpower, web, ...

還有一個外部的程式叫 PPower4,常與 foils 搭配,可製作出和 PowerPoint 一樣效果的投影片。

Screen Presentation Tools 提供更多的說明。

2006年8月18日 星期五

CJK 套件

CJK 套件讓 LaTeX 可以處理中文。它的使用方法如下:

  • 檔案 testcjk.tex
\documentclass{article}
\usepackage{CJK}
\begin{document}
\begin{CJK}{UTF8}{cwfsu}
中文放在這裡
\end{CJK}
\end{document}

  • 編譯
latex testcjk
pdflatex testcjk

說明:UTF8 是文件儲存時的編碼 (utf-8),而 cwfsu 是指定中文的字型。

關於 CJK 套件更詳盡的說明,可以參考李果正先生的果正札記。裡面有非常豐富的資料,包含字型的安裝和一些特別的技巧。

2006年8月14日 星期一

LaTeX editors (GUI)

在編輯 LaTeX 文件時,我習慣使用 Emacs + AUCTeX 。也許是已經用了十幾年了,總覺得其它的編輯器都無法和這個組合相提並論。當然這是個人的習慣問題,和編輯器的好不好用是無關的。其實我也忘了為何當初會發現 Emacs + AUCTeX 這個組合,不過我倒還記得那時的心情就像是發現新大陸一樣。不過一直到現在我身邊熟識的人只有我一個人使用這個工具來編輯 LaTeX 文件。

昨天逛了 EmacsWiKi: CategoryTex 這個網站,發現居然對其它的編輯器也有一些介紹。當然這些編輯器都是免費的。比較讓我驚奇的是 Eclipse 這個後起之秀也已經有了可以執行 TeX 的外掛了。我選擇安裝了 TeXlipse 這個外掛,原因無它,只是好安裝又看起來順眼而已。試用了一下,初步感覺和 TeXnicCenter 很相似。還沒有測試 Eclipse 對中文的支援。話說回來 TeXnicCenter 的發展實在太慢了,對中文的支援可以說是沒有。

另外,TexmakerKile 這二個也是相當有趣。記得大約是在四、五年前 Texmaker 的開發者宣告說新的版本將會改名為 Kile 之後,本以為 Texmaker 讀就此消聲匿跡,沒想到在半年前又看到有人介紹 Texmaker,而且還變成了跨平臺的軟體。現在的介面和四、五年前並沒有太大的改變,也許是相同的也說不一定,畢竟隔了那麼久的時間了,印象都模糊了。對於使用 Windows 的朋友,我現在大都會介紹他們使用 Texmaker。主要的原因是好安裝及支援各種編碼。而不介紹 Emacs 的原因是我現在還無法搞定一個問題。那就是用 Emacs 開啟其它編輯器編輯的中文文件,總是抓不到正確的編碼而會看到亂碼 。這種情況只發生在 Windows 上,再加上我又不常使用 Windows,所以也沒有很積極地想要解決這個問題。

談到 Windows,還有一個 LaTeX 編輯器也常被提到,那就是 WinEdt。這是 shareware,註冊費單機版分別為學生美金20元,教育單位美金40元,其它的要美金70元。多人的授權另有折扣。可以在網路上直接以信用卡購買。國內也有一家業者代理,它的收費超貴的。WinEdt 在學校單位好像很受歡迎,不過現今的版本(5.4) 還不能夠處理 utf-8 的編碼,要編譯中文 LaTeX 文件時是會比較麻煩(當然這是指使用 CJK 套件)。WinEdt 官方宣稱將推出支援 unicode 編碼的新版本,只是都快過一年了,還是沒任何消息。

2006年8月11日 星期五

memoir 第一次接觸

前一陣子計畫使用 LaTeX 整理一些上課筆記,總覺得 article, book, amsart, amsbook 這幾種文件類別所提供的字型尺寸都太小了,看起來不是很舒服。於是想起了幾年前看過的 foils 這個文件類別,它提供的字型尺寸有 17pt, 20pt, 25pt 及 30pt 等 四種。在試用過後覺得 foils 還是無法完全滿足我的需求。畢竟 foils 是專為投影片制作的,並不需要像 article 等提供較多的功能。

所以在套件堆裡找了很久,終於讓我發現了一個符合需求的文件類別,那就是 memoir

memoir 這個文件類別提供的字型尺寸共有 9pt, 10pt, 11pt, 12pt, 14pt 及 17pt 等五種。並且在設定紙張的尺寸更為方便,只需在文件中設定好就可以了,不像 article 或 amsart 除了在文件中設定之外,在編譯的時候也要指定紙張的大小,才能得到所要的結果。