歡迎

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

2007年9月30日 星期日

在網頁中使用 LaTeX 方程式

昨天整理資料時,看到之前從網路上印下來的一篇文章 LaTeX Equations and Graphics in PHP。這是兩年前的文章,不知道近來是否有沒有新的進展,於是就上網搜尋 latex php 的關鍵字,發現 PmWiki 這個專案。其中 LinuxTeX 可以將 LaTeX 方程式轉為圖片內嵌到網頁中,特色是支援 reference,支援 pmatrix 這類的數學環境,可以改變字型大小及顏色。不過這是專為 PmWiki 設計的。目前還沒計畫安裝 PmWiki。

另外,在 LinuxTeX 這個網頁中,有提到 jsMath 這個用 JavaScript 寫的專案,看起來似乎不錯。還有提供字型,找個時間看看能不能用在這個網頁上。

2007年9月29日 星期六

使用 blogging tools

在第 4 期的 full circle 雜誌上看到 Blogging Tools 的報導,覺得蠻有趣的,於是安裝了其中二個 gnome-blog 和 drivel。不過 drivel 無法登入,gnome-blog 可以登入但是上傳後發現原本的標題變成一般的內文,而且也沒有「標籤」這個選項。

利用 gnome-blog 軟體寫 blog

這是使用 gnome-blog 來寫 blog,試試看。

2007年9月25日 星期二

Luatex

今天早上看了一下 MikTeX Developer Post,發現有人問到什麼時候要將 Luatex 包進 MikTeX。 Luatex 是什麼東西?怎麼從前都沒聽過。後來上網查了一下,才知道這是 2005 年就開始的專案。

Luatex 是 pdfTeX 的延伸版本,內嵌一個名為 Lua 的程式語言。

稍微看了一下 Luatex 的說明文件,發現這個專案搞的很大,也很複雜。現在有幾個特點:支援 unicode, 直接使用 Opentype 或 Truetype 的字型檔等等(其實還有很多,不過我只對中文部分特別注意),而內嵌程式語言讓 Luatex 和 XeTeX 有些不同。

Luatex 現在還只是 beta 版,距離 2008 推出正式版還有一段時間。到時應該就會有人寫出可以簡單使用 Luatex 的套件包了。據說,下一個版本的 ConTeXt 將會使用 Luatex 做為內建引擊。到時我可能就會好好的學習使用 ConTeXt 了。

2007年9月23日 星期日

舊的 blog 搬移完畢

花了一些時間終於將多個 Blogger.com 的 blog 合成一個,有一些累了。

2007年9月22日 星期六

部落格大調整

經過一天的思考,覺得管理太多的部落格挺麻煩的,而且沒什麼成就感 (文章數太少了),所以決定將所有的部落格合而為一。

不過,實際做的時候才發現這也是一件麻煩的事。Blogger.com 沒有一個便利的工具或方法來做這件事。只好一篇篇慢慢的貼,真得很煩。

2007年9月15日 星期六

Adobe Reader 8 for Linux

從論壇看到的消息。Adobe Reader 8 已經有 Linux 的版本了。目前還沒有中文版本,所以要下載最新的版本要選擇英文的網頁才可以。例如這個下載網頁。另外,官方網站也提供了 .deb 的安裝檔案。看來應該是 Ubuntu 的關係。

2007年9月2日 星期日

用 VirtualBox 安裝 Debian GNU/kFreeBSD

第一次接觸 FreeBSD 應該是十年多前的事了。那時安裝完後,用了一陣子感覺除了安裝略有不同之外,其它方面和使用 Linux 是一樣的。就回到熟悉的 Linux 環境了。果然還是習慣第一次接觸到的東西。話說回來,我接觸到的第一個視窗系統是 IBM 和 Sun。

最近虛擬機器 (VM) 蠻流行的,所以就在學校研究室的公用電腦用虛擬機器安裝自己熟悉的作業系統。最近對 Ubuntu 有些許的反感,不是因為不好用,而是因為太好用了。很多東西就是自動設定好,時間一久,一些簡單的設定都忘了要到哪裡去改了。讓我對於 Linux 有了些微的疏離感。於是我在選擇虛擬機器上的作業系統,就不再考慮 Ubuntu 了。在 Linux 的選擇上,我還是偏好 Debian base 的 distro。不過除了 Debian, Ubuntu 之外,其它 Debian base 的 distro 都是專注於使用 KDE 的視窗環境。所以我最後只考慮 Debian。

之前已經有使用六、七年的 Debian 經驗,對於 Debian 不算陌生。Debian 是一個很大的計畫,包含不同的平台,也包含其它的作業系統 Hurd, NetBSD, FreeBSD。其中 Hurd 是我最想安裝的作業系統,可是都過了那麼久的時間安裝的方式一點都沒變,要先安裝 Debian GNU/Linux 再把其中一個磁區給 Hurd (直接解壓縮),接下來還有一大堆的設定。實在是很麻煩,提不起勁來安裝。而且到目前為止,Hurd 還不是一個成熟的作業系統,和六年前好像沒有多大的差別 (其實是不懂啦)。

而 Debian GNU/kFreeBSD 看起來進步了許多。有自己的安裝程式 (其實是使用原來 FreeBSD 的安裝程式),而且套件也蠻多的了,雖然還不成熟,但是已經可以處理一些工作了。所以就選擇安裝 Debian GNU/kFreeBSD。參考簡易安裝文件,很快就將最基本的系統裝好了。不過這時還無法上網。真是糟糕,忘了怎麼設定網路,查了一下 Wiki 才記起來,直接修改 /etc/network/interfaces 就可以了。但是問題又來了,沒有 vi 要如何改呢,還好 nano 不是很難上手。雖然 FAQ 還不多,基本上可以讓系統正常運作。目前安裝好 X Windows 了,視窗環境選擇 XFCE (GNOME 還不太完整)。不過網頁瀏覽器還沒安裝。

2007年8月31日 星期五

新主機板的網路卡問題

換了主機板之後,一切都運作正常。但是今天突然發生了一個意外。

早上起床後,將電腦打開,看了一下郵件之後便下樓 (沒有將電腦關機)。過了一陣子老婆抱著小兒子 (1 歲) 下樓,大兒子 (3 歲) 過了一會才下樓。老婆只是簡單的說:「你的兩個兒子跑到你的書房去玩。把櫃子裡的東西都搬出來了。」我聽了之後,想說這不是第一次發生了,也沒很在意。過了快 30 分鐘後,我才回到我的書房,果然房間非常的凌亂。正在收拾的時候,突然驚覺為何房間內如此安靜。走到電腦旁才知道原來是大兒子把延長線上所有亮燈的開關全關了。實在不得不說這是一個非常好的生活習慣,只是在某些時候會讓人哭笑不得。

電腦偶而一兩次沒有正常關機也不是什麼大不了的事情。重新開機,只是硬碟檢查時會跑出一堆訊息。開機後,發現網路不通,錯誤訊息為沒有網路線連接。開始檢查

  1. 網路線是否連接?沒問題。網路:不通
  2. 重開中華電信的小烏龜和 IP 分享器。網路:不通
  3. 重跑 network: sudo /etc/init.d/networking restart。網路:一樣不通
  4. 檢查 IP 分享器的燈號,連接這台電腦的連接埠只亮一個燈,連接另一台電腦的連接埠是亮兩個燈。看來找到問題的所在了。換了連接埠還是只亮一個燈。真是怪了
突然想到之前在網路上有看過有人說他第一次使用 Ubuntu 的 LiveCD 可以連上網路,但是以後就都不行了。其他人回應是微軟搞的鬼,微軟的 OS 會在關機的時候塞一些東西在網卡內,讓別的 OS 無法使用,解決方法就是把電源切掉,等過了一段時間後開機就可使用網卡了。

所以就將機器關機,電源關掉。過了一分鐘後開機,果然在開機時就看到 IP 分享器連接埠的燈號兩個都亮了,網路正常了。這台機器只有一個 Ubuntu 系統,所以這次事件和微軟是無關的。看來技嘉的板子無法自行清除殘留在網卡內的資料。

2007年8月23日 星期四

桌機更換主機板及 CPU

今天終於出太陽了,將那台不能開機的桌機抱到電腦店,請店員幫我檢測一下。結果出乎我的意料之外,是記憶體壞了,拔掉那條壞掉的記憶體就可以開機了。之裡稍微猶豫了一下,到底還要不要換掉 CPU。

經過短暫的天人交戰之後,還是決定更換掉。主要的原因是 CPU 的溫度太高了,動不動就破百了。而且當溫度過高時,風扇就會狂轉,音量大概超過了 90 分貝,有點受不了了。

在出門前,心中已經有一個腹案:主機板選 P5VD2-VM, CPU 選 Dual-core Pentium E2160 1.8G,其它部分用舊的就可以了。這樣大約 6,000 元就成了。不過,現在情況有變,因為記憶體壞了一支,只剩一支 512Mb 的 DDR2-533 記憶體。依照我使用電腦的習性,記憶體沒有超過 1G 實在不符合我的作風。因此最後的決定就是再增購記憶體,舊的記憶體就拿來送人做公關好了。

最後拍板定案,主機板是 GA-P35-DS3L, CPU 是 Core 2 Duo-E4400 2.0G,而記憶體是一支 DDR2-800 1G(改天再買個一支來裝)。含組裝費用大約是 9,500 元。傍晚將機器抱回來,不用更改任何設定就能正常啟動, X 正常,網路正常(曾經讓我有些擔心,因為網路上曾有人反應 P35 的板子,網路卡的支援有些問題),音效正常(一開始忘了打開啦叭,還以為音效沒有支援)。而且最重要的一點是安靜多了,現在只聽到電風扇在運轉的聲音。

附記: 其實之前有人建議我可以將記憶體拔下來自行檢測一下,不過我心中非常強烈希望藉著這一次的機會把 CPU 換掉,所以就沒有去作任何檢測。

數學 能力? (1)

上週兩位國小的學童以心算挑戰三位財管博士。三位博士以計算機迎戰。沒有任何的意外,比賽的結果是兩位國小的學童獲勝。讓我比較感到有趣的是,賽後有記者訪問三位博士的感想,其中有一位博士的回答居然是「看來還要再加強數學能力」。

數學能力究竟是什麼?從上述的例子來看,社會大眾對數學能力的認知是不太精確的。一般大眾認為數學能力只是單純的計算能力。這或許是因為一般大眾在高中或甚到在國中畢業後就不再接觸數學有關。而事實上在上大學之前,我們的數學教育確實著重在計算能力的養成。

說到計算不外乎是加、減、乘、除和開 `n` 次方。我想只要慢慢地計算或藉由適當工具的輔助 (如電腦、計算機、算盤等) 總是能求出答案的。若數學能力就只是計算能力,那我們何不在國小就開始教授計算機該如何使用就可以了。

2007年8月22日 星期三

整理微積分筆記

整個暑假大部分的時間都在整理微積分筆記。大概只弄好三分之一,進度緩慢呀。整份文件是用 LaTeX 打的,最麻煩的部分應該是繪圖的部分,繪圖部分我是選用 Tikz 套件,而不用其它的繪圖軟體或工具。Tikz 這個套件提供了類似 picture 的環境,使用起來蠻直覺的,但就是有點煩。最好是先畫個草圖,將所有座標都標出來。一個複雜一點的圖常常花了我一個上午的時間,真得很難想像屆時畫定積分的圖要花多久的時間。

嗯~到時整理好的時間,也許可以出版。哈哈!

2007年8月17日 星期五

中華電信 MOD 機上盒(2)

今天開啟 MOD 機上盒發現它居然在更新系統,看來中華電信對這個 MOD 的態度還蠻用心的。

2007年8月14日 星期二

桌機掛掉了

今天早上打開機器,沒有幾分鐘滑鼠就無法操作,而鍵盤除了「NumLock」其它二個燈號也一閃一閃地。看來應該是當掉了。可是從前當掉也沒發生鍵盤燈號一直閃的情況,真是奇怪。

算了不管它,直接按下重新啟動的按鈕,沒有看到熟悉的開機畫面,突然從啦叭傳來一個女聲 "It's failed for the PC problem" ,嚇了我一跳,還以為發生靈異事件了。重開了很多次才確定機器掛掉了,猜測可能是 CPU 或主機板壞了。這台桌機一直以來都有溫度過高的問題,所以用了三年就壞了也是正常。唉!又要花錢了。

2007年8月7日 星期二

XeTeX 初探

XeTeX 這個一個命令列工具,就像是標準的 TeX 和 pdfTeX 一樣。它的特色是可以直接使用安裝於作業系統上的 ttf 字型。不需要先製作 tfm 及 Type1 字型。可省去一些設定上的問題。

原先只有 MacOS X 的版本,現在已經有 Linux 和 Windows 的版本了。下面是 XeTeX 的文件 (for LaTeX 語法)

\documentclass{article}
\usepackage{fontspec}
\setromanfont{AR PL ZenKai Uni} % 文鼎PL中楷Uni
\setmonofont{Courier New} % 等寬字型
\XeTeXlinebreaklocale "zh" % 中文斷行
\XeTeXlinebreakskip = 0pt plus 1pt

\begin{document}

  有中文真好。

\end{document}
存檔後(例如 test-xetex.tex),再使用
xelatex test-xetex.tex
就能產生 pdf 檔了。

XeTeX 預設的輸出格式是 pdf 檔。當然,經過命令列中的一些參數設定可以更改輸出格式為 xdv (dvi 的一種),然後再使用 xdvipdfmx 這個指令將 xdv 檔轉為 pdf 檔。這種需要二次轉換的方式,一般都用在文件中含有 ps 檔的時候,直接轉 pdf 會有問題。

另外,要知道有哪些字型可以使用,只有執行

fc-list
就可以了。

使用後的一點小感想:直接使用 ttf 字型是很方便,但是好像還不能做到分別指定中文字型和英文字型 (可能是我還沒有找到相關的設定),這樣編排中、英文混雜的文件會很辛苦。

2007年8月1日 星期三

升級到 7.10 (1)

一時心血來潮,就將比較少用到的那台機器升級到 7.10。升級後一切都還算正常,除了 gcin 不能安裝之外。另外,有一個小插曲,就是使用 scim 卻忘了安裝輸入表格,害我怎麼按 Ctrl+Space 都沒有反應。

系統的選單改變蠻大的,字型、桌面特效、…都整合到外觀的選項。內建的桌面特效還是可以跑。

2007年7月30日 星期一

使用 Emacs 編輯 (X)Html 網頁

對 (X)Html 興趣是接觸到 Blogger 之後的事。有試過其它專門的編輯器,但不是太複雜,就是太簡單。也許是習慣了 Emacs 這種精簡卻功能強大的編輯器,對於其它的編輯器有點難以適應。

剛開始時安裝了 psgml 來搭配 emacs 使用,但是總是無法調到我想要的樣子。所以就放棄了,改用別的套件。在網路上搜尋了 emacs html mode 的關鍵詞,發現 html-helper-mode 是出現最多的。於是下指令安裝

sudo apt-get install html-helper-mode
後,開啟 emacs。編輯新的 html 檔,就有一些預設的東西出現
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>

<body>
<h1></h1>


<hr>
<address></address>
<!-- hhmts start -->Last modified: Thu Jun 21 17:48:08 CST 2007 <!-- hhmts end -->
</body> </html>
看起來還不錯,可是我喜歡使用 XHtml 1.1 的規格。看了一些說明文件和原始碼,在 $HOME/.emacs 這個檔案中加入
(setq html-helper-htmldtd-version "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n ")
(setq html-helper-build-new-buffer t)
(setq html-helper-new-buffer-template
  '(html-helper-htmldtd-version
    "<html  xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\">\n<head>\n"
    "<title>" p "</title>\n</head>\n\n"
    "<body>\n"
    "<h1>" p "</h1>\n\n"
    p
    "\n\n<hr/>\n"
    "<address>" html-helper-address-string "</address>\n"
    html-helper-timestamp-start
    html-helper-timestamp-end
    "\n</body> </html>\n"))
就可以了。

2007年7月27日 星期五

筆電變成存錢筒了

今天在使用筆電時,突然想到試試內建的讀卡機。於是拿起相機的記憶卡準備插上。左瞧右看,好像讀卡機的外觀有點怪異,好像有東西在裡面。

什麼!!!怎麼會有東西在裡面。仔細一看,居然是一個五元硬幣,再仔細一看讀卡機被推入有 3mm 之多。找夾子夾出的過程中,自己又不小心將讀卡機推入一些。歷經困難終於將一個五元硬幣夾出。希望對其它的部分沒有影響才好。

夾出一個硬幣之後,還是覺得不對,好像還有一個硬幣在裡面。果然又夾出了一個五元硬幣。

看來應該是我那個寶貝大兒子 (今年三歲) 的傑作,只是我也不知道他到底是何時弄的。再開機,好像都還正常。再觀察看看。

DPI 的設定

DPI 的設定會影響到字型的大小,這對使用 OpenOffice.org 這類所見即所得的排版軟體會有關係。據我的了解 DPI 是指一英吋的長度內會有多少的像素,而一個像素可以看做一個亮點。對於傳統的映像管螢幕,同一個解析度但是不同的顯示範圍,就會造成 DPI 的值不一樣,所以同樣大小的字在 DPI 高的環境中會比較小,而在 DPI 低的環境中會比較大。所以就要有一個機制將這個情形調整回來。

不過這種情況就有稍微的不同,顯示範圍是固定的。例如我的 CMV 945D 的可顯示範圍是 376mm x 301mm,在解析度為 1280x1024 的情形下,如果我要使 DPI 為 96 的話,我必須設定顯示範圍為 336mm x 252 mm。如果我又按了自動調整的按鈕,那麼顯示範圍又會變成 376mm x 301mm,這時實際的 DPI 是 86。

一般來說, X server 會自行判斷 DPI 值,可使用下列的指令確認

xdpyinfo | grep -B1 dot
在我的機器上會出現這樣的結果 (雙螢幕)
dimensions:    2560x1024 pixels (765x302 millimeters)
  resolution:    85x86 dots per inch
如果是 17 吋的螢幕, 1280x1024 解析度的 DPI 是 96。公式是 解析度×25.4÷顯示範圍,以 CMV 945D 為例
1280×25.4÷376=86.46
1024×25.4÷301=86.41

Gnome 預設的 dpi 為 96,但是我的是 86,所以必須要調整一下字型的大小才會一比一的顯示。調整方法

主選單 → 系統 → 偏好設定 → 字型 → 詳細設定(E)...
將解析度 (dpi) 調為 86 就可以了。

另外,我那台筆電的 DPI 為 125。調整後,對照二台相同尺寸的字型,看起來是差不多。未調整前筆電的字型看來很小。

2007年7月21日 星期六

繪圖套件 TikZ 和 PGF

說到 TikZ 和 PGF 這二個繪圖套件,它們的作者就是開發 beamer 的那位 Till Tantau。剛接觸 beamer 的時候,稍微有瞄了一下覺得 PGF 是一個蠻不錯的繪圖工具,語法比原先 LeTeX 內建的環境 picture 要來得豐富許多。而且還有一個原因 PGF 是專為 beamer 設計的。只是對我來說一直沒有繪圖上的需求,所以就不太注意。後來大約在 2005 年左右, Tantau 推出一個進階的版本,那就是 TikZ。看了一下使用手冊,覺得不錯就將它印出來。那時就告訴自己說:如果將來有機會一定要使用 TikZ 這個套件來繪圖。

最近在整理微積分的筆記,需要大量的圖形。於是就趁這個機會學一下 TikZ 的語法。將心得整理一下。首先,我們要先了解座標的表示方法,有直角座標表示法和極座標表示法。沒錯,TikZ 支援這二種座標表示法。直角座標表示

(x,y)
極座標表示
(角度:半徑)
注意,直角座標表示法長度單位可加也可不加,但要加就二個位置都要加,不加的話二個位置都不要加(不加的時候,預設值為公分)。而極座標表示時,半徑的單位一定要加。所以正確的表示法如下:
(1,5), (1cm,5cm), (1mm, 5pt), (30:1cm)
接下來畫直線(從 (0,0) 到 (2,5) 的直線)
\begin{tikzpicture}
  \draw (0,0) -- (2,5);
\end{tikzpicture}
最讓我覺得神奇的地方,是座標還有另一種表示法,那就是取二條直線的交點。例如
(intersection of 0,0--30:1cm and 1,0--1,1)
你會發現這不是線段的交集,而是取直線的交集。接著是畫圓形
\draw 圓心 circle (半徑);
同樣,半徑要有長度單位。畫弧形
\draw 起點 arc 終點;
畫格線(預設每一公分畫一條水平線和垂直線)
\draw 左下點 grid 右上點;
也可以改變成每 0.5 公分畫一條水平線和垂直線
\draw[step=0.5cm] (-1.4,-1.4) grid (1.4,1.4);

最後,TikZ 還能夠畫函數的圖形。例如

\begin{tikzpicture}[domain=0:4]
  \draw plot[id=x] function{x};
\end{tikzpicture}
說明一下,每一個函數要有唯一的 id。這個指令會呼叫外部程式 GNUPLOT, id 是用來存檔案用的。如果你的檔案為 test.tex,那麼函數的部分將會存在 test.x.gnuplot 這個檔案,再使用 GNUPLOT 執行。將結果存為 test.x.table 這個檔案。然後再匯入資料。

一般, TeX 系統會關閉執行外部程式的功能,所以只會產生 test.x.gnuplot 這個檔案,而不會產生 test.x.table。可以下選項

--shell-escape 或 --enable-write18
例如
pdflatex --shell-escape test.tex
當然也可更改 texmf.cnf 的設定,將
shell-escape=f
改為
shell-escape=t

就不用使用額外的選項了。