2011年10月19日 星期三

[Software] Synergy


使用前請先注意電腦是在同一個區域網路(aka. IP前三碼相同)下且是連接同一個IP分享器
然後,兩台電腦都要裝 Synergy 軟體才能用,但是 MAC 環境下要裝的軟體名字不太一下,
for Windows 叫 Synergy
for MAC 叫 SynergyKM
網址:http://sourceforge.net/projects/synergykm/

Linux的話也叫synergy,不過command方面會分成synergyc(Client端)和synergys(Server端)

確認 OK 以後,
我要知道你是要
1.用 PC 的鍵盤同時控制 PC、MAC  (以PC為 Server 端)
還是 
2.用 MAC 的鍵盤同時控制兩台 (以 MAC 為 Server )
我自己是用 PC 鍵盤控制兩台電腦啦,一台PC 裝 Windows 7 x64,一台 iMac,OS 是 10.5.8 (Leopard)
居然連64位元的Windows都可以用是我最高興的地方!
所以先講 狀況 1 的設定方法。
假設你兩台電腦都已經裝好 Synergy 而且 位於同一個區域網路底下。
我的 PC 端 IP 是 192.168.1.1 (可以打開 Synergy 後,點左下 info 的按鍵看到)
MAC ip 是 192.168.1.3 (系統偏好設定-->網路 再找一下就看到了)。
打開 PC 上 Synergy,
點 Share this computer's keyboard and mouse (server) --> 以 PC 為 server 端。
按 Screens 下面的 "+"
Screen Name 可以隨便打,認得出來就可以,我輸入 PC
Aliases 不能隨便打,打錯就抓不到電腦!
Aliases 要跟你電腦的"網路名稱"完全一樣!!!! --> 第一個最容易設錯不能用的地方。 
網路名稱:控制台-->系統-->完整電腦名稱,ex: Twinkle-PC
改網路名稱:
(XP)     控制台-->系統-->變更                   
(Win 7) 控制台-->系統-->進階系統設定-->變更
(MAC)  系統偏好設定-->共享-->編輯  
輸入完 Screen Name 和 Aliases 按 OK。
同樣的動作再做一次,但這次輸入 MAC 的 Aliases,Screen Name 可以隨便打,我輸入 MAC。
接著,是設定下面 Links (螢幕位置) 的部份:
這邊是讓我搞很久,第二個最容易出問題的地方,不過點破就沒什麼稀奇了。
我的螢幕擺的位置是 PC 在左,MAC 在右,同高。
把下拉選單拉成: 0 to 100 % of the right of PC goes to 0 to 100% of MAC
然後按 "+"  --> 出現 PC is left of MAC.
我原本以為這樣就好了,結果是,我滑鼠往右移到MAC上之後就移不回 PC 了 ^o^"
沒想到還要設讓遊標移回來的位置:
把下拉選單拉成: 0 to 100 % of the left of MAC goes to 0 to 100% of PC
然後按 "+"  --> 出現 MAC is left of PC.
兩個 Links 都出現在框框裡之後按 OK. 
註:要是螢幕不同高,就調整 0 to 100 的選項,但我沒調過,可以自己試試看。
如此 Server端 就設定完成了。
轉戰到 MAC 吧...
打開 系統偏好設定-->最下面 SynergyKM
點上面 Location 的選單,選 New Location,打入一個名稱後ok
在 General 標籤下,選 Connect to a shared keyboard and mouse,
到 Client Configuration 標籤,輸入 Server 端 IP, ex: 192.168.1.1 
回到 General ,按 Turn Synergy On
Status 出現 Connected 表示連接成功!  可以移動滑鼠過去囉!
移過去之後打字也ok。
預設按鍵 Alt (PC) = Command (MAC)

2011年10月16日 星期日

Latex Code Listing


11. How can I get source code listings nicely printed?


Answer

Sorry, you are on your own, more or less.
I know that there are third-party LATEX packages that are tailored towards formatting and displaying of source code listings in LATEX documents. I did not have the time to investigate these packages for my own purposes, and so I was stuck with something really basic I wrote myself. Just in case that this quick 'n dirty hack might be all you need, too, I include it here.

Example usage

In the preamble, or in an appropriate include file:
\newenvironment{mylisting}
{\begin{list}{}{\setlength{\leftmargin}{1em}}\item\scriptsize\bfseries}
{\end{list}}

\newenvironment{mytinylisting}
{\begin{list}{}{\setlength{\leftmargin}{1em}}\item\tiny\bfseries}
{\end{list}}

In the manuscript:
\begin{mylisting}
\begin{verbatim}
  double a[n], b[n], c[n];

  for (i = 0; i < n; i++)
      c[i] = a[i] + b[i];
\end{verbatim}
\end{mylisting}


Result, before

'Before' screenshot

Result, after

'After' screenshot