2013年8月24日 星期六

用 LaTeX 畫(非正規)甘特圖

有位朋友的公司主管,想要做計畫稽核,因此開始導入甘特圖 (Gantt chart),希望底下的部屬能將平日負責的案件進度,畫在甘特圖上,主管也好追蹤進度。

由於主管與部屬分屬不同兩地,因此該主管便希望能利用 Google Doc 裡面的功能,建立甘特圖。因此該主管開始嘗試著使用 Gantter for Google Driver 這個 web 界面的應用程式,並且推廣給部屬們使用。

原本這是美事一樁,善用現成的資源,提高生產力。但後來,事情開始轉變了。

不知道是該主管的主管看不懂,還是其他管理單位的人員看不懂甘特圖,他們後來決定放棄現成的甘特圖不用,要自己發明一套「新甘特圖」。而且因為 Google Doc 上沒有其他現成軟體可以支援這種「新甘特圖」,因此主管便要求部屬們「腦力激盪」,用 Google Doc 裡面的試算表畫出「新甘特圖」。

什麼叫做「新甘特圖」呢?

2013年8月22日 星期四

semaphore(旗語) 字型

還記得國中童軍課的時候,學過一套旗語,可以比出 0~9 的數字。再搭配一本中文電報碼的小冊子,找出對應的 4 位數字的中文字,就可以透過旗語傳送中文字訊息了。

當然這個是在沒有手機的年代,在大聲喊叫對方聽不到的狀況下,而且還需要雙方都有一本中文字電報碼的小冊子,這樣用旗語來傳遞訊息才行得通。

當時我年紀小,只知道「數字」的旗語。今天無意間在瀏覽 TeX 的說明文件的時候,意外發現還有專門給「旗語」用的字體。而且旗語不只是數字,還有英文字母。

這個字體稱為 semaphore。要使用的話,要先確定有安裝這個字體。

先在 LyX 文件的 preamble 區定義新字體的名稱, 一個稱為 smfr,另外一個稱為 smfpr。
\font\smfr=smfr10
\font\smfpr=smfpr10   %Person Style

接著在內文區中,使用 \smfr 或 \smfpr 的 TeX Code 來轉換字母或數字了, 旗語的字母沒有分大小寫, 所以 A 或 a 對應的旗語是一樣的。

例如英文字母旗語,使用 \smfpr 的字型:


由於這個套件庫實在太特殊,應該非常非常少人會用到(包括我也是),所以就留個範例檔以後有需要玩遊戲製作密碼的時候,再來參考了。

下載範例文件 semaphore.zip

clock 套件庫

我無意間發現一個小巧可愛的套件庫 --- clock,這個套件庫可以「畫出時鐘」,表示時間。

使用方式:
在 LyX 的 Preamble 區輸入
\usepackage{clock}
接著可以設定要不要畫出時鐘的外框:
\ClockFrametrue  % 畫出時鐘外框
\ClockFramefalse % 不畫出時鐘外框(預設值)
還可以設定刻度樣式, 當然這個設定值也是可以放在內文區做個別指定。
\ClockStyle=n %設定鐘面刻度的樣式,n=0~3 數值

內文區中如果要放入時間,必須使用輸入 TeX Code 的方式。按 Ctrl-L, 接著輸入:
\clock{時}{分}
12小時制或 24小時制的時間都可以。 如果要顯示編譯文件時的時間,要畫出時鐘則用:
\clocktime
要顯示數字的時間則用:
\texttime

下表說明了各個不同設定值以及排版出來的樣式結果。
clock 是一個簡單小巧的套件庫,我覺得很有趣且有用。

下載範例文件檔 TestClockPackage.zip

Linux 中的說明文件總覽

在 Linux 作業系統中安裝完 TeX Live 時,一般都會連著說明文件一起安裝。以前需要查詢 TeX Live 的套件說明時,我都是直接 google 類似的套件,很少從自己的電腦搜尋。

前幾天,在一個沒辦法使用網路的環境下,需要查閱一個套件資料的說明,我只好找看看自己電腦裡面有沒有該套件的說明。搜尋之後,發現自己電腦藏有一個非常好用的「圖書館」我都不自知呀  =_=!(汗...)


在 Ubuntu 的環境下,說明文件的可能路徑為:

/usr/share/texlive/doc.html    (使用 apt-get install 的方式安裝 texlive 的文件路徑)
/usr/local/texlive/<版本號>/doc.html    (自行從網站下載 texlive 安裝的文件路徑)

<版本號> 代表安裝的 texlive 版本,例如我安裝的是 Tex Live 2013, 因此文件路徑為
/usr/local/texlive/2013/doc.html

用瀏覽器開啟上述的 doc.html 檔案後,就可以看到說明文件總覽。如下圖。



點選上圖中紅色框框住的套件庫名稱,會開啟說明文件的「資料夾」,裡面可能會有範例的 .tex 文件等。如果不想這麼麻煩,可以直接點右側詳細說明中的 .pdf 連結。

如果點了連結跳出找不到文件的錯誤訊息,代表電腦裡面沒有這個套件,要再安裝後才有了。

這個 doc.html 檔案,可以說是電腦裡的 TeX Live 文件圖書館。我就把這個網頁做個書籤,下次要查套件庫的說明文件時,一樣開啟瀏覽器,只不過先查查自己電腦裡面的文件庫,這樣就算沒網路可用也不用害怕了。:D

補充:
如果已經知道文件名稱了,或是想要搜尋看看說明文件中是否有類似的關鍵字, 可以在命令列使用 texdoc 的命令,直接顯示出說明文件。
例如: 想搜尋畫甘特圖(Gantt)的套件說明文件,可以輸入:
  texdoc gantt
就會直接開啟搜尋結果第1順位的文件。
但我發現這樣可能會漏掉一些真正想找得文件,因此可以輸入:
  texdoc -s gantt
顯示所有搜尋結果的方式,列出有 "gantt" 字眼的文件,再自行選擇要開啟的文件,這樣字比較方便了。