5

我需要为我的 LaTeX 文档画一些图片,并且我发现手工制作的 PostScript 似乎很合适(我想以编程方式做一些事情,需要数学函数等)。我也尝试过 TikZ,但这似乎过于复杂且难以使用。

然而,使用普通的标准 PostScript 有点痛苦,因为实际上并没有任何用于绘制形状的标准函数(例如,甚至没有矩形)。

是否有任何 PostScript 库包含常见形状的功能并使生活更轻松?在我看来,这个问题应该是相当普遍的。

还是我应该跳过 PostScript 并继续使用一些更高级的系统?哪一个?

4

7 回答 7

6

少数人和许多 PostScript 驱动程序定义了他们自己的一组绘制形状的过程。PostScript 驱动程序可能会输出以下快捷方式:

/bd{bind def} bind def
/cp{closepath}bd
/gs{gsave}bd
/gr{grestore}bd
/m{moveto}bd
/rm{rmoveto}bd
/l{lineto}bd
/rl(rlineto}bd
/s{stroke}bd
/f{fill}bd
/sf{gs s gr f}bd
/xx{exch}bd

/rect {4 2 roll m 1 index 0 rl 0 xx rl neg 0 rl cp} bd

然后,将绘制一个矩形,如下所示:

0 0 100 100 rect sf

这样做的麻烦确实使 PostScript 特别难以处理。如果您的绘图是通过编程/数学方式生成的, MetaPost可能更合适。MetaPost 生成封装的 PostScript(您可以将其包含在您的 LaTeX 文档中),但它更适合绘制具有代数定义的图像。

于 2009-09-10T07:26:05.367 回答
1

我喜欢使用 matplotlib。它可以直接生成 postscript 和 PDF,它是在 python 中的,它还可以做非常复杂的绘图(因此它的名字)。如果你想直接破解 PostScript,你可以在 LaTeX 中使用 psticks,但是你需要通过 dvi2ps 运行所有东西,然后通过 ps2pdf 来制作 PDF。你真的想要 PostScript 或 PDF 吗?我认为您想要PDF,对吗?

于 2009-09-10T07:31:54.777 回答
1

好的,我认为Asymptote是自切片面包以来最好的东西。可以很好地处理图形和任意图形的绘制,并且有大量的扩展模块(如果你关心的话,包括 MetaPost 兼容性)。此外,它使用 LaTeX 排版文本,这非常酷。作为额外的奖励,它甚至可以直接输出到 PDF(或 EPS)。

我仍然觉得有点遗憾,虽然没有好的 PostScript 例程库。

于 2009-09-19T19:24:05.963 回答
1

我使用了Asymptote(虽然是用于图表),但我发现学习另一种自定义语言很烦人。如果你熟悉 Python,可以试试PyX。它的特征集类似于 Asymptote。例如,它还可以使用 LaTeX 来排版文本/数学。

另一个选项是 Enthought Enable,但这可能不太适合。

于 2011-01-06T19:35:42.647 回答
1

我在后记中直接构建图像取得了很好的效果。我发现的一个有用的约定是将对象视为字体中的字形。因此,每个对象都希望将当前点设置在左下角,并将当前点留在右下角。您可以将它们放在一个数组中并遍历它:每个对象都将当前点留给下一个对象。

于 2011-05-30T06:26:08.373 回答
0

生成SVG,然后使用iText和/或Inkscape 之类的东西以编程方式转换为 PDF/PS。我以这种方式构建了一个发布堆栈,结果非常好。

于 2009-09-19T19:51:00.823 回答
0

有很多 postscript 库请看这里 http://www.ericlindsay.com/computer/printing.htm 和这里 http://www.tinaja.com/post01.shtml 和这里 http://seit.unsw.adfa。 edu.au/staff/sites/gfreeman/qs.html

于 2012-04-18T01:03:50.773 回答