2009-04-18 128 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