網路城邦
上一篇 回創作列表 下一篇   字體:
LaTeX 套件 asymptote 介紹
2014/11/13 12:05:14瀏覽1535|回應2|推薦5

Asymptote是一個參照MetaPost而開發的新的繪圖語言,所以它也和TeX排版工作密切相關。

在LaTeX中,有asymptote套件可以使LaTeX產生asymptote語言的圖形。利用現在的TeX編輯程式,如TeXShop,使用asymptote套件編釋產生圖形後方便瀏覧,做為繪圖工具也十分的好用。做好的圖形,可以在一般的LaTeX文件中用圖形套件引入文檔中。

TeXShop裝好後,在

~/Library/TeXShop/Engines/Inactive/Asymptote

目錄中有Asymptote.engine這個檔案,把它copy到

~/Library/TeXShop/Engines

中就行了,這樣了執行TeXShop後,「program」欄位中就會有Asymptote引擊可以選用,這樣要看編排繪圖效果,就按下「Typeset」就可以了,所寫的圖形,會加工成為pdf檔。

和MetaPost相比,它的優點:

1.支援的數值範圍更大。MetaPost只能支援-4096至4096之間的實數;Asymptote支援C, C++, Java的浮點數值。所以繪圖程式運算時的自由度更大。

2.支援LaTeX最新發展的XeLaTeX,能做出高相容性的圖形。中文的支援不在話下,而且是使用作業系統中的所有字型。

3. 提供了許多函數,幫助繪圖工作。2D,3D繪圖都有許多好用的函數工具。

4. 支援C, C++, Java語法。對多數的寫程式者而言,asymptote語言比較熟悉,較易於上手。

在LaTeX文件中,可以這樣做,看一下這個例子:

\documentclass{article}

\usepackage{asymptote}

\begin{document}

\begin{asy}

settings.tex="xelatex";

usepackage("xeCJK");

texpreamble("\setCJKmainfont{STHeiti}");

size(5cm,0); //寛度為5cm的圖

guide a= (0,0)--(1,0)--(1,1)--(0,1)--cycle;

guide b=dir(90)--dir(210)--dir(330)--cycle;

draw(a,red+0.5mm);

draw(shift(-0.5,-0.5)*b,blue+0.3mm);

label("四邊形",(0.5,0.5));

label("三角形",(-0.5,-0.5),blue);

\end{asy}

\end{document}

圖中插入的中文是系統內的華文黑體中文字型。圖形中各點坐標不加入單位,而是到最後,asymptote會自動把圖形放大到size()指令所要求的大小。

有興趣的朋友,可以參考asymptote 套件的說明文件,網路上也能找到中文的教學文章,學習起來並不會太困難。

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=paraquat&aid=18746435

 回應文章

重殼蝸牛
等級:8
留言加入好友
2014/11/14 16:27

實用的圖形都是曲線 向量法為貝茲線

這軟體有此類函數 還是要用多邊形變出來?

寫程式我算外行 只略懂一些 這軟體主要用途是影像處理開發工具?

paraquat(paraquat) 於 2014-11-17 16:54 回覆:

謝謝來訪。

這個是繪圖語言,最後經過編釋後形成向量圖形,預設會輸出成pdf檔。

它是在TeX排版系統中的一個附屬,TeX本身雖然也有繪圖環境,可以畫出簡單的圖形,但如果圖形複雜一點,就可以用到這些繪圖語言,產生適合的圖形。

Asymptote的曲線是三次貝茲曲線,本身提供了許多函數對這些曲線作運算,如算交點等等,用它產生一些科學圖形,也十分的方便。嚴格來說,它不是開發工具,而是排版工作的輔助工具,產生排版文件時需要的說明圖形。他雖然能處理部分3D圖形,但功能尚弱,主要還是在2D的繪圖上面。


重殼蝸牛
等級:8
留言加入好友
2014/11/14 16:15

很有趣 老兄的興趣很廣泛