PSTricks

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 (de).

Basic usage

PSTricks example (scaled)

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:

 \begin{pspicture}(5,5)
   %% Triangle in red:
   \pspolygon[linecolor=red](1,1)(5,1)(1,4)
   %% Bezier curve in green:
   \pscurve[linecolor=green,linewidth=2pt,%
     showpoints=true](5,5)(3,2)(4,4)(2,3)
   %% Circle in blue with radius 1:
   \pscircle[linecolor=blue,linestyle=dashed](3,2.5){1}
 \end{pspicture}

Extensions

Plotting sin(x) with pst-plot

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:

 \begin{pspicture*}(-7,-2)(7,2)
   \psaxes[labels=none](0,0)(-7,-2)(7,2)        % sets up axis
   \psplot[linecolor=blue, linewidth=1.5pt]%    % plots the sinewave
     {-7}{7}{x 0.01745329252 div sin}           % notice the RPN expression
   \uput[45](3.1415926,0){$\pi$}                % these are the labels
   \uput[90](-1.570796,0){$-\pi/2$}             % \uput is a box positioned at [angle]
   \uput[-90](1.570796,0){$\pi/2$}              % relative to (x,y) coordinate
   \uput[-135](-3.1415926,0){$-\pi$}            % and putting { content } on the box
   \psline[linewidth=1pt,linecolor=red,linestyle=dotted]%   % red dotted lines
     (1.57079632,1)(1.57079632,0)
   \psline[linewidth=1pt,linecolor=red,linestyle=dotted]%
     (-1.57079632,-1)(-1.57079632,0)
 \end{pspicture*}

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:

Hyperbolic paraboloid drawn using PSTricks package pst-3dplot

multido provides basic loop functionality for programming graphs with repeating elements:

Plotting a graph while varying parameters with multido

pst-eucl is a beta extension for easy creation of geometrical drawings.

Circumcircle of a triangle, illustrated with pst-eucl

There are many other extensions, for drawing Circuit diagrams, barcodes, graphs, trees, visualizing data, etc.

Compatibility

PSTricks is only fully compatible with TeX systems using PostScript intermediates, including but not limited to eTeX and others. However, it is not compatible with the widely used pdfTeX engine in PDF mode. As pdfTeX is the default engine in most current installations, users of PSTricks must either force pdfTeX to DVI mode or use auto-pst-pdf. PGF/TikZ is an alternative to PSTricks that is compatible with pdfTeX.

Software which supports PSTricks output

gollark: https://discord.com/channels/346530916832903169/726738757092376627/800375262901436487
gollark: No, palaiologos said they did.
gollark: <@160279332454006795> What do you mean "use minoteaur‽?" exactly?
gollark: Thank you for your input.
gollark: See, there are lots of ways I could do it: - the way dokuwiki handles search, where there's a box in the navbar and when you hit enter it navigates to a new page with the results (somewhat slower to interact with, but simple and allows a lot of information with each result)- clientside JS implementing a search overlay/modal so that the results update immediately as you type, except this is kind of not that useful as SQLite full text search is not very fuzzy- a combination of these approaches, where you have a live JS-based fuzzy search thing for page *titles* and the dokuwiki-style thing for most searches

See also

Further reading

  • Herbert Voss; PSTricks – Grafik für TeX und LaTeX, 7th edition, DANTE e.V. and Lehmanns.media, 1008 pages, Heidelberg and Berlin 2016, ISBN 978-3-86541-858-6.
  • Herbert Voss; PSTricks – Graphics for TeX and LaTeX, 1st edition, UIT, 916 pages, Cambridge 2011, ISBN 978-1-906860-13-4.; review in TUGboat
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.