2009年12月16日 星期三

Word break

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: Word break
時間: Wed Dec 16 21:35:53 2009


   To break a word after a hyphen, a "discretionary" hyphen
   can be added by \-.
   Example: spin-independent => spin-indepen\-dent
   This "discretionary hyphen" will appear when it is necessary.

   Contrarily, ABC~DEFG avoids ABC DEFG being broken into two words.
   This will be especially helpful when using BibTex.
   For example, the author Massimiliano Di Ventra should be
   typed as Di~Ventra, Massimiliano, because Di Ventra is his
   full family name.

2009年11月26日 星期四

Bibliography title

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: Bibliography title
時間: Thu Nov 26 16:01:27 2009


   article: \section
   book/report: \chapter

   If choosing book/report class but desire \section for the bibliography
   title, paste the following codes in the preamble.

\makeatletter
\renewenvironment{thebibliography}[1]
    {\section*{\bibname}% <-- this line was changed from \chapter* to \section*
     \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
     \list{\@biblabel{\@arabic\c@enumiv}}%
          {\settowidth\labelwidth{\@biblabel{#1}}%
           \leftmargin\labelwidth
           \advance\leftmargin\labelsep
           \@openbib@code
           \usecounter{enumiv}%
           \let\p@enumiv\@empty
           \renewcommand\theenumiv{\@arabic\c@enumiv}}%
     \sloppy
     \clubpenalty4000
     \@clubpenalty \clubpenalty
     \widowpenalty4000%
     \sfcode`\.\@m}
    {\def\@noitemerr
      {\@latex@warning{Empty `thebibliography' environment}}%
     \endlist}
\makeatother

2009年11月25日 星期三

bibunits

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: bibunits
時間: Wed Nov 25 11:06:24 2009


   要用多個bibliography
   可用bibunits這個package
   見PDF的說明檔

2009年11月2日 星期一

paper size of dvips

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: paper size of dvips
時間: Mon Nov  2 16:22:38 2009


   if the paper size is wrong when dvips

   then use, e.g.,  dvips -t a4 XXX

2009年10月7日 星期三

latex with jpg, titlegraphic in beamer, etc.

bmeps是將點陣圖如jpg png等
轉成eps或ps圖的driver
直接在黑黑的DOS視窗執行就可以
例如:
bmeps XXX.jpg XXX.ps
就可以把XXX.jpg轉出一張XXX.ps圖
接著就可以用熟悉的方法來插入圖
然後latex -> dvips -> ps2pdf
不會有問題

不過這個轉圖法會是黑白的
要轉出彩色的則多下個 -c

bmeps -c XXX.jpg XXX.ps
這樣的ps圖就是彩色的
只是這樣的ps圖好像會很大
爛爛的解析度就會到1MB以上

另外一個方法更好
在吳聰穎、吳聰慧的書有提
不過不是很完全
這個方法
可以用\includegraphics{XXX.jpg}直接來
直接執行latex的話會掛掉
因為它需要bounding box
所以要用這個方法的話
得先bmeps -b XXX.jpg XXX.bb
這樣就會generate出XXX.bb這個宣告bounding box的檔
(其實這個bounding box也可以直接下
例如\includegraphics[bb=0 0 300 400,width=5cm,...]{XXX.jpg}
可是這個方法好像不太好)
有了bb檔之後
還要在PREAMBLE下
\DeclareGraphicsRule{.jpg}{eps}{.bb}{}
這樣
latex就OK

這樣子compile出來的dvi是OK的
但是直接dvips會把彩色圖弄成黑白的
這時候要再多下-I c
dvips這個driver有很多option
其指令格式是dvips [option] filename
其中[option]可以有很多
有一個網站有summarize
總之
dvips -I c filename
即可把filename.dvi成功轉成彩色的filename.ps
當然啦
如果本來就沒有jpg圖檔
直接dvips filename是沒有問題的

小結:
欲放入jpg之點陣圖檔最好的方法
1) PREAMBLE放入這行指令
\DeclareGraphicsRule{.jpg}{eps}{.bb}{}
2) 插入圖:
\includegraphics[...]{XXX.jpg}
3) 在Command Prompt製造XXX.bb的bounding box檔:
bmeps -b XXX.jpg XXX.bb
4) 開始compile以及轉檔:
latex main
dvips -I c main
ps2pdf main.ps

要在beamer的title page放圖的指令:
\titlegraphic{...}
例如
\titlegraphic{\includegraphics[width=2cm]{XXX.jpg}}
放在maketitle之前都可以
這個指令會自動把圖放在正下方
如果要放左下角 可以在\includegraphics之前加個\flushleft
當然 \flushright就到右下角
如果要放兩個 一左一右
可以\flushleft \includegraphics[...]{...} \hfill \flushright \includegraphics...

無法解決的問題:
通常把這行\titlegraphic指令插在\date之前
但是swp55總是會自動把它移到\maketitle之後
以致於圖會不見
所以目前只能在投影片確定好之後
要真正generate講稿的時候
用WinEdt 或是記事本
強制把那行指令移過去對的地方
然後再latex

2009年10月4日 星期日

天海蔚藍-Bidezabal

小泥的經典台詞大約在
這附近出現。
2009 年的九月,Prof. Eugene Sherman 邀請我過去訪問研究,這是讓我們跟 Bilbao 結緣的開端。雖然我在那裡沒能成功作出原本想合作的東西,十分挫折,但除此之外我們在 Bilbao 的生活點滴還是十分甜蜜。事實上,我們把 Bilbao 一個多月的生活,當成我們的大蜜月,那可是我們第一次一起出國,也是我們第一次一起在國外生活。

攝於 04.10.2009,Bilbao 北部的 Bidezabal 海岸邊,
遠方是往法國的方向。
Bidezabal 是西班牙北部靠近 Bilbao 的海灣,即使兩年過去,我還是深刻的記得這個名字,那裡實在太美了!那是接近訪問結束的某個週末,我們搭了捷運到 Bidezabal,下車之後很快就能遠遠望見海灘。也許算是運氣不錯,天氣實在是不得了的好。天空很藍,而當我們走到海邊時,發現海水更藍,縱使是大半輩子活在海島,對海邊根本習以為常的我們,還是讚嘆不已。其實那天我們基本上沒做什麼,就只是手牽手沿著海岸(岩岸)往法國的方向走去,然後再原路走回來,坐車回去,很簡單,但是卻很愜意。

在國外,台灣的那種飲料攤肯定是見不到的。而小泥長期習慣飲料相伴,加上那天微熱的天氣,回來的路上便發自內心的說了句經典台詞:「好想喝冰冰涼涼的飲料哦!」

2009年8月29日 星期六

citation overfull

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: citation overfull
時間: Sat Aug 29 13:28:32 2009


   有的不是 cite 數字形式的 bibliographystyle 會讓 citation 太長而超出去
   用 cite 這個 package 即可解決

2009年8月15日 星期六

Theorem envirenment

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: theorem enviorenment
時間: Sat Aug 15 22:52:59 2009


   Example, Lemma, Exercise,...
   這些都是 theorem environment
   大部分的shell都內定讓他們用同一個counter
   所以不加設定的話會 Example 1, Lemma 2, Exercise 3, ...
   但是我們通常會希望
   Example 1, Example 2, ..., Lemma 1, Lemma 2, ...

   要獨立count的只需在preamble的地方稍作修改
   例如要讓Example獨立count則
   \newtheorem{example}[theorem]{Example}
                                          擦掉即可

   有時候我們甚至希望以章節來重設某個theorem environment的counter
   例如想要以section為單位來得到
   Exercise 1.1, Exercise 1.2, ...
   則除了跟上面一樣擦掉[theorem]之外
   在最後面加上[section]
   所以變成
   \newtheorem{exercise}{Exercise}[section]

2009年8月13日 星期四

MATLAB imread

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes: imread
時間: Thu Aug 13 15:12:16 2009


   imread:

   可以把影像讀入MATLAB
   影像可以是jpg bmp之類的
   執行
   A = imread(file.bmp);
   即把file.bmp讀入儲存成A
   如果是單色A就是一個二維的方陣
   如果是RGB則會讀成三層方陣
   分別是R、G、B
   即 R = A(:,:,1); G = A(:,:,2); B = A(:,:,3);
   陣列的原點定在左上角
   所以例如
   image(A(1:N,1:N,:))會得到以左上角
   開始部分的影像

   image是把陣列直接map成影像的指令
   最簡單的就直接是image(A)
   如果直接放二維方陣的A進去image
   會得到只有某種顏色的圖層(似乎是藍色那層)

   要把pdf的檔案擷取黑白圖讀入MATLAB並轉成小而美的ps圖檔的步驟:
   一、開PDF擷取要的部份
   二、複製影像並貼到小畫家
   三、另存新檔並選擇「單色」
   四、讀到MATLAB後A矩陣存的不是0就是1,0即黑色;1即白色
   五、找出黑色部份:n = find(A==0);
   六、塗上黑色部份:
       Nx = size(A)*[1;0]; %這是找出影像寬度
       line(n,mod(n,Nx),'linestyle','none','marker','.', ...
           'color','k','markersize',mk)
   七、調整markersize大小:轉出ps後要再看看mk要多大,
       會依當初bmp的解析度而定,太大會毛毛的。

   如果不介意擷取轉成ps圖檔的容量大小,直接用印的即可。

2009年7月20日 星期一

fancyhdr

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes
時間: Mon Jul 20 15:56:26 2009


   關於fancyhdr
   可以在Preamble先設定style
   例如
   \fancypagestyle{plain}{
   ...
   ...}
   如此一來只要宣告
   \pagestyle{plain}
   就會依照所設定的格式
   但是會有問題的是第一頁
   因為通常第一頁 或者說Chapter開頭第一頁
   會是內定為empty

   所以要在那一頁宣告\thispagestyle{plain}
   來強制執行該頁的page style

   第一頁有時也需要跟其他頁不一樣
   常常是某個小差別而已
   例如第一頁有\copyright
   之後沒有
   那麼可以在設定style時直接引入了\copyright
   然後在\thispagestyle{plain}之後
   把\copyright擦掉
   後面的頁就不會有了

   例如在Preamble最後打
   \fancypagestyle{plain}{
   \fancyhf{} %清除所有頁眉頁腳
   \cfoot{\copyright} %在中央頁腳放\copyright
   \fancyfoot[LE,RO]{\thepage} %奇數頁左邊,偶數頁右邊放頁碼
   }
   \pagestyle{plain} %設定所有頁面格式為剛剛設定的plain格式

   ...

   來到首頁的部份打
   \thispagestyle{plain} %強制此頁為plain格式
   \cfoot{} %把中間的頁腳擦掉 因為是在上面的宣告之後 所以會影響到這頁以後的

   此外
   [LE,RO]這種寫法必須要確定文件的print side已經設為both sides
   否則無效

2009年7月18日 星期六

PS generation + MATLAB coneplot

作者: hantis (呢呢是豬) 看板: Hantis
標題: [隨寫] Technical Notes
時間: Sat Jul 18 12:56:19 2009


   1. How to generate PS figures from PDF documents.

   打開PDF檔,圈選要的影像,右鍵列印
   選WMF2EPS Color PS L2
   頁面縮放:符合可列印區域
   下面「自動旋轉並置中」的都不要勾
   縮小圖看起來會大大的空白但沒關係
   確定之後填入路徑+檔名.ps即可

   2. MATLAB: How to use coneplot for a 2D array.

   h = coneplot(X,Y,Z,Vx,Vy,Vz,s,'nointerp');
   s是scaling factor
   再去調cone的細部調整即可
   重點是後面的'nointerp'
   Z不一定是要平的

   加了'nointerp'之後 2D array 1D array都可以用
   例如 x = 1:5; y = 1; z = 0;
   [X,Y,Z] = meshgrid(x,y,z);
   coneplot(X,Y,Z,Vx,Vy,Vz,s,'nointerp')
   也不會有問題
   當然Vx,Vy,Vz的dimension要跟X,Y,Z一樣
   此外
   x,y,z都不需要monotonically increasing

   其實加了'nointerp'
   語法就跟quiver3一樣了
   XYZ直接放vector都沒關係