PSTricks is a set of macros that allow the inclusion of PostScript drawings directly inside TeX or LaTeX code. It was originally written by Timothy Van Zandt and has been maintained in recent years by Denis Girou, Sebastian Rahtz and Herbert Voss.
There is a wide array of commands available for making graphics. Coordinates in PSTricks are always represented in parentheses, as the following example (scaled) illustrates:
PSTricks commands are low level, so many LaTeX packages have been made in order to ease the creation of several kinds of graphics that are commonly used on mathematical typesetting.
pst-plot provides commands for creating function graphs.
Consider the following example:
The previous example also illustrate that TeX commands can be used as elements into the pictures. Since PostScript uses RPN style for mathematical operations, the argument to pst-plot must be supplied in the same form. An alternative is to use the optional argument algebraic, then the formula can be described as an algebraic expression.
pstricks-add extends pst-plot enabling also polar graphs and allowing the use algebraic notation for plots instead of RPN.
pst-math provides trigonometric functions in radians (since PostScript defaults to using degrees) and hyperbolic trigonometric functions.
pst-3dplot is used for creating 3D graphics like the following:
multido provides basic loop functionality for programming graphs with repeating elements:
pst-eucl is a beta extension for easy creation of geometrical drawings.
There are many other extensions, for drawing Circuit diagrams, barcodes, graphs, trees, visualizing data, etc.