精華區beta LaTeX 關於我們 聯絡資訊
很久沒有用 Matlab 產生 eps 圖檔了,手邊也沒有 Matlab 可以測試,不過 就我以前寫論文的印象,大概說一下,希望有幫助。 ※ 引述《muto52.bbs@ptt.cc (邁向 Cornell)》之銘言: > 恩,不好意思來請教各位高手 > 我的問題是因為 Latex 所需是 eps圖檔 > 所以基本上我現在的圖形都是用 Matlab 繪圖然後存成 eps > 恩 問題來了, > \begin{figure}[th]% \vspace*{1pt} > \centerline{\psfig{file=test.eps,width=5.0in,height=1.5in,scale=1.0}} > \caption{This is the test fig} > \end{figure} > 我發現如果用比較小的 size, > ex: > 假設 Matlab 所輸出的字體大小為 12 > width=5.0in,height=5.0in,scale=1.0....... (兩軸是比例為 square) > (1) 我發現那個圖形的字在 tex 下面會變的比較小,也許是比例問題 > 不知道各位高手有沒處理這問題的經驗? 我幾乎沒有用過 \psfig 來載入 eps 圖檔,通常我都使用 graphicx 的 \includegraphics 來載入圖檔。不過你會覺得字體比較小的可能 原因在於,你指定了該 eps 圖的長和寬,因此即使你設定 scale=1.0, 實際上該圖形可能還是被縮小了,由於 Matlab 產生的 eps 是向量圖, 因此在圖被縮小的同時,字體也被等比例縮小了。 > 圖形不想太大,但座標軸或 label 的字體希望能跟 tex 的文字相同 > 是不是應該放大 Matlab 輸出時候的圖形,例如 放大成 20 , > 讓它在 tex 中看起來比較大一點(在比較小的圖下) 應該放大的不是圖的大小,應該是圖所使用的字體的大小。 > (2) 可是如果改變成 > width=6.0in,height=3.0in,scale=1.0....(兩軸是比例不為 square) > 那圖形經過變形後似乎字形會改變,就是不是原本的那個樣子了 這是因為你指定的長寬比例不是 1:1,導致圖形被『壓扁』,字體也跟著 被壓扁了。 你的這個問題說複雜可以很複雜,但說簡單也蠻簡單的。如果不改變輸出 的圖形格式的話,那有幾個辦法,但要看 Matlab 是怎樣把字放進圖形裡 面的,就我的印象,Matlab 並沒有把字轉換成向量圖,那麼你就有幾種 選擇: 1. 使用文字編輯器,或者支援 eps 格式的圖形處理軟體,去把字體大小改大 2. 在 Matlab 裡面要輸出圖形成 eps 前,使用 GUI 編輯字體大小 3. 在 Matlab 的 command window 下,使用 set 指令修改圖形的字型大小 的性質,然後再輸出成 eps 2 和 3 基本上差不多,差別在於你怎樣產生你的圖形。我以前的作法是 寫了幾個 m-file,在跑完數據以後,用 set 修改要修改的一些性質,然後 批次輸出成 eps 圖。不過這樣的作法會有一些根本上的問題: 1. label, title, legend 等的字體終究還是不見得會和 LaTeX 文稿中的 完全一樣 2. 有可能需要調整數次才會找到比較適合的大小 因此,如果覺得字體還是差太多,另外的作法則是把數據輸出以後,使用 gnuplot 繪製圖形,並輸出成 LaTeX 繪圖巨集的格式。印象中以前 Matlab 5/6 就已經也有輸出成 LaTeX 格式的能力,但畫出來的結果當時沒有比 用 gnuplot 畫的好看,現在不知道有沒有比較好?這樣做的好處是字體會 比較統一,調整字體大小也比較容易,但缺點是可能出來的圖形會和你在 Matlab 裡面看到的有一點差異。 -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: adsl-070-155-125-254.sip.asm.bellsouth.net
muto52:感激感激! 受教了..我再試試~ 04/21 05:04