2009-04-18 25 views
17

我的團隊對我們的大部分源代碼使用Literate Programming ---這意味着內部文檔是使用LaTeX編寫的。我們一直在使用PStricks作爲系統的花式技術圖表,但最近推薦使用TikZ。我收集了這些信息:爲了便於學習和API設計的質量,PStricks和TikZ如何比較?

  • TikZ/PGF是新的並保持; PStricks很長一段時間沒有維護人員,但在過去幾年中已經接受了一些維護。
  • TikZ與許多後端工作,包括(對於那些誰關心)pdftex。 PStricks只適用於dvips
  • PStricks比TikZ更強大,更有表現力。在緊急情況下,您甚至可以擁有PostScript的全部功能。
  • PStricks有一個額外的軟件包已經建立在它的頂部的重要生態; TikZ太新了,沒有很多這樣的東西。 TikZ聲稱被設計爲「考慮到PStricks的缺點」。作者沒有指定其中的缺點。

我對兩個問題的答案感興趣。如果你願意,隨意張貼每個問題一個答案:

  • 什麼是學習曲線像兩個工具? (我認爲PStricks有一個陡峭的學習曲線;約TikZ我不知情)

  • 視爲編程API,是這兩個包顯著優於其他設計的嗎?如果是這樣,哪個更好的設計,爲什麼? (做什麼性質,有讓你認爲這是更好嗎?)

要做出令人信服的理由,爲什麼一個API比另一種好,你可能要訴諸的例子。

回答

17

快速回答:我喜歡TikZ到pstricks因爲我覺得TikZ

  • 是更好地設計
  • 更容易學習
  • 與Pdftex提供兼容
  • 爲您提供了更多的權力和抽象(你不需要用手指定儘可能多的座標)
  • 讓你用相同的努力創造更美麗的圖形
  • 使用TeX編程擴展起來更容易(它的設計從頭開始考慮到可擴展性)

對於pstricks的用戶,我建議將來使用TikZ編寫所有新文檔。對於METAPOST的用戶,如果他們的圖形不使用線性方程求解,我推薦TikZ。如果METAPOST圖形需要線性方程求解,我建議嘗試Asymptote

pstricks確實給你PostScript的力量,但它不是PostScript,它使你的圖形創作功能強大,但它是抽象的:使用自動定位,自動相交計算和顯示樣式模板。 TikZ爲您提供強大的抽象,即使您不是程序員,或者您不願意這次編程。

我沒有寫TikZ擴展的經驗,但從TikZ源代碼的快速瀏覽中,與我遇到的其他TeX宏包相比,它似乎很容易理解和擴展。

+0

是什麼讓TikZ成爲更好的設計? – 2009-05-01 22:44:07

+1

我對TikZ或PSTricks代碼不熟悉,無法爲您解答。看看代碼。我認爲你會在那裏找到比PSTricks更合適,更實用和更通用的抽象(你可以在擴展中使用它)。 – pts 2009-05-02 08:04:24

0

我認爲pstricks是優越的。 TikZ甚至沒有翻譯座標的好方法,比如rput/uput/Aput/Bput pstricks命令。您可以使用xshift和yshift,但這些需要單位(!),因此縮放圖像需要手動shaling每個xshift/yshift調用。

1

我只用過PSTricks,但我將它做的一切我想做的事情。 Tikz的手冊非常漂亮,顯然非常強大。我想從繪圖系統中想出兩件事情,我不能用PSTricks做到這一點:羽毛邊緣(Tikz可以做到),我不記得其他的東西。 OP詢問'學習的方便':PSTricks當然需要一些試驗和錯誤,我認爲一些我不太擅長的編碼學科。但是,對於我如何使用PSTricks來說,\ rput是非常重要的。我無法想象沒有它。

另一方面,'裝飾品'看起來很整齊。我喜歡(共560頁)手冊第210頁(!)中的'從垃圾中保存'示例。我不喜歡Tikz似乎使用完全不同的表示法這一事實 - 我不認爲LaTeX會讓LaTeX看起來很陌生。雖然手冊看起來很漂亮。透明度和「淡入淡出」效果看起來非常強大..可以在pstricks中完成嗎? ..但我懷疑我會永遠使用它們。 Tikz似乎更傾向於繪畫的結尾。通常,我不製作圖紙,我製作數字。

你可以做座標算術嗎?我不得不從頭開始學習使用Tikz,如果我甚至不確定我會從中得到什麼,Tikz是一個艱難的銷售。

7

由於TikZ一個美好的用戶我一直與我的物理學系教授,誰愛pstricks這個辯論,我認爲我們已經得出了一個結論,因爲我在其他職位已經指出。在浸入PS本身時缺少幾次,TikZ和pstricks在大多數方面都非常可比。 TiKZ的可擴展性和兼容性引人注目,我們同意:

  • 我們認爲新用戶應該學習TikZ。
  • 在pstricks的老手可能不會從交換機獲得足夠的收益,可能不值得。

希望幫助!

1

我開發一個asp.net應用程序安裝在服務器上MIKTEX分配工作。

應用將產生數學問題和產生的PDF文件到訪問者下載。數學問題包含一些JPEG圖像和數學圖表。

我很困惑是否使用PSTricks或Tikz。在對應用程序進行基準測試之後,我必須使用Tikz,因爲它只需要一個使用pdftex的編譯步驟。所以Tikz在這種情況下獲勝。:D

注意:我希望我的回答符合您的問題:D