SQLite format 3@ - :!!?tableParametersParametersCREATE TABLE Parameters (parName VarChar, parCat Integer, parLimTo Integer, parPat VarChar, parDefault VarChar, parcseq VarChar, parDescription VarChar)[tableCommandsCommandsCREATE TABLE Commands (cmdID Integer, cmdCat Integer, cmdStar Integer, cmdName VarChar, cmdSpec VarChar, cmdDescription VarChar, cmdContent VarChar, cmdDelim VarChar, cmdOpt VarChar, cmdPar Integer, cmdList Integer,cmdpkg Integer)Y!!tableCategoriesCategoriesCREATE TABLE Categories (catID Integer, catName Integer) 0zndYN@3'wdUI0|k_RB:+ 02Obsolete //layout ..grapha --solides3d,,3d+!+NodeExtras **Bspline ))3dPlot(#(SpecialCoor''bar &%TreeNodes%9#NodeConnectionLabelsII$3"TreeNodeConnections #!PSMatrix"- PointConnections !TextPath )InterpolationsArcs/GraphEnvironments3PictureEnvironments Custom Gradients'Coils-Zigzags Trees5NodeConnectionLabels+NodeConnections Nodes%TransformBox ClippingText+ AxesLabelsTicks Axes! Repetition% PictureTools  Arrows DEPlots Polygons Plots Grids Dots Curves-Circles-Ellipses Lines%Mathematical)ColorModifiers+GeneralSettings/GraphicsModifiers'TextModifiers>Cztnhb\VPJD>82,& BI_C5+\AtoB()(){}Defines 'nodeName' as vector difference of B and A---ie, B-A. OK to reuse node names. Eg, \AtoB(P)(Q){Q}. 1100005IAC6+\AplusB()(){}Defines 'nodeName' as vector sum of A and B. OK to reuse node names. Eg, \AplusB(P)(Q){P}. 110000-  \arrows{} 00p' + \altcolormode\altcB[AQ@H?@>9=2<*;%:987 654~3y2u1q0k/e.]-Z,W+R*N)I(B'=&7%3$.#*"&!  }xtqlfa]WRKF@ ; 5 . & "[}wqke_YSMGA;5/)# {uoic]WQKE?93-'! , specifies order 4 (default), 5, 6.; ]Oy0Value for y axis label where axes cross.;  ]Oy0Value for y axis label where axes cross.:  ]Oya0Value for y axis label where axes cross.;  ]Ox0Value for x axis label where axes cross.;  ]Ox)(){}Defines 'nodeName' as vector difference of B and A---ie, B-A. OK to reuse node names. Eg, \AtoB(P)(Q){Q}. 1100005IAC6+\AplusB()(){}Defines 'nodeName' as vector sum of A and B. OK to reuse node names. Eg, \AplusB(P)(Q){P}. 110000-  \arrows{} 00p' + \altcolormode\altcolormode, at beginning of document, may or may not help with color issues.r% 1 \AltClipModeCauses \psclip, \endpsclip to use gsave, grestore pair, which may or may not help.'%K#\addtopsstyle{}Causes settings to be added to style-name. If style-name does not exist, acts like \newpsstyle. 00 &U}&51 \Cnode(<-0,0){}Create circular node, center (x,y), using parameter 'radius'<-0,0 1010 !  \closepath ' \closedshadow 73\clipbox[<-0pt]{}\clipbox[2pt]{stuff} puts 'stuff' in an \hbox, clipping with border 2pt.<-0pt 2010p #/i+\circlenode{}{}Circular node around stuff. Like \pscirclebox. 0000d  # 2\blue{\blue Text} sets text color to blue temporarily. Use \color{blue} instead.h ) 2\black{\black Text} sets text color to black temporarily. Use \color{black} instead.>#kcI+\ArrowNotch{}{}{}{}For a node sequence, compute position of arrow with tip at index in specified direction (<,>), creating a node named . The arrowhead may then be drawn with \psline{->}. 00000000 eO#OaI9+\curvepnode(){}{}Defines 'nodeName' as point on parametric curve at t=tval. The expr may be either algebraic or PostScript. 100000[E? \cput{<-0}(){}Circular frame around stuff (rotated through angle), refpt at center, placed at (x,y), around stuff. * fills background with fillcolor.<-0 010100  \coor   \codegQI \cnodeput{<-0}(x,y){}{}Circular node, refpt at center, placed at (x,y). (x,y) may be omitted if an angle is specified. * fills background with fillcolor.<-0 x,y 01001000{ ISC \cnode(<-0,0){}{}Create circular node, center (x,y).<-0,0 100100 Gi'  \DontKillGlueDon't force pstricks objects to kill preceding spaces outside pspicture.  \dimM /)+\dianode{}{}Diagonal node. 0000V m\degrees[num]num gives number of angle units in a full circlenum 20H+#'!)\dataplotThreeD{}First store data to command using \savedata{}[] or \readdata{}{}. Allows more options than \fileplotThreeD. 00;#!\dataplot{}First store data to command using \savedata{}[] or \readdata{}{}. Allows more options than \fileplot. 00  \curveto%_?W:+\curvepnodes{}{}{}{}Defines node sequence as points on parametric curve at equally spaced t values, using plotpoints setting. The expr may be either algebraic or PostScript. 00000000 "  \fill !+%%#)\fileplotThreeD{}Data in filename should be x y z triples. Only other options for plotstyle are polygon, dots. Settings for arrows, linearc, showpoints ignored. If more options required, use \readdata and \dataplotThreeD. 00x %#\fileplot{}Data in filename should be x y pairs. Only other options for plotstyle are polygon, dots. Settings for arrows, linearc, showpoints ignored. If more options required, use \readdata and \dataplot. 00  \fileP#%=#\everypsbox{}Sets a token register--applied to every subsequent PSTricks LR-box. Eg, \everypsbox{\scriptstyle}\pcline(1,2)(3,4)$\naput{s}$ applies \scriptstyle to s. 00d 5K1\dotnode(<-0,0){}Set dot with par dotstyle=<-0,0 1010 pEp& %=q9>+\getnodelist{}{}Defines a node sequence, then executes 'next cmd'. 0000$%_mW:+\fnpnodes{}{}{}{}Defines node sequence as points on graph at equally spaced x values, using plotpoints setting. The expr may be either algebraic (if algebraic keyword specified) or PostScript. 00000000$$OI9+\fnpnode{}{}{}Defines 'nodeName' as point on graph at x=xval. The expr may be either algebraic (if algebraic keyword specified) or PostScript. Eg, \def\myfn{Ex(-x)*sin(2*x)}\fnpnode[algebraic]{1.3}{\myfn}{P}. 0000008#5u1\fnode(<-0,0){}To control size of f(rame)node, set keyword framesize=. Eg, \fnode[framesize=5pt 2,linecolor=blue](1,4){F}.<-0,0 1010 >pU >J.+7)\listplotThreeD{}List is space-delimited data triples stored in a macro using \savedata, or read from file with \readdata. May contain TeX macros and Postscript code. 00>--%\listplot{}List is space-delimited data pairs stored a macro using \savedata, or read from file with \readdata. May contain TeX macros and Postscript code. 00,  $\linetok+ ) #\KillGlueForce pstricks objects to kill preceding spaces outside pspicture environment.*  "\gsave)  !\grestored( #  2\gray{\gray Text} sets text color to gray temporarily. Use \color{gray} instead. ')73&)\getThreeDCoor(<3-vector>){}Stores a 3-vector specified as, eg, 4,2,-1 in the form 4 2 -1 allowing it to be output to PostScript without further processing. Eg, \getThreeDCoor(4,2,-1){\abc} stores '4 2 -1' in \abc.<3-vector> 1000 cD=5  *\movepath4Y;S \mmultido{}{}{}}Eg, \mmultido{\ia=0+1,\ib=1+-2}{10}{\psdot(\ia,\ib)} places dots at (1,-1)...(10,-19). Like \multido, but increments all variables once before looping. } 000000<3IQC7+\midAB()(){}Defines 'nodeName' as half the vector sum of A and B. OK to reuse node names. Eg, \midAB(P)(Q){P}. 110000^2 +g)\MakeShortTnput{char1}Used to change short form of tree node label.char1 001+E =(\MakeShortTablr{char1}{char2}{char3}{char4}Used to change short forms of \taput, etc, when shortput=tablr.char1 char2 char3 char4 00000000|0')%'\MakeShortTab{char1}{char2}Used to change short forms of \taput, etc, when shortput=tab.char1 char2 0000|/')%&\MakeShortNab{char1}{char2}Used to change short forms of \naput, etc, when shortput=nab.char1 char2 0000 );!sMi0 \multirput{<-0}(<-0,0)(){}{}Variant of \rput, putting down int copies of stuff starting at (x0,y0) and advancing each iteration by (dx,dy). (Cartesian coordinates only.) See also \multips.<-0 <-0,0 0110011000#:'w/ \multips{<-0}(<-0,0)(){}{}For pure graphic objects only. Put down int copies of stuff starting at (x0,y0) and advancing each iteration by (dx,dy). See also \multirput.<-0 <-0,0 0110011000B9W?Q. \multido{}{}{}Eg, \multido{\ia=0+1,\ib=1+-2}{10}{\psdot(\ia,\ib)} places dots at (0,1),(1,-1)...(9,-17) 0000008  -\msave7  ,\mrestore6  +\moveto w4@ KgE5\ncarc{<--}{}{}Node connection with an arc, allowing offset.<-- 000100Y?KE4\ncangles{<--}{}{}Node connection with two arms and two perp. diagonals, allowing offset. Best effect with angleA and angleB multiples of 90.<-- 000100[>K E3\ncangle{<--}{}{}Node connection with two arms and diagonal perp. to armA, allowing offset. Best effect with angleA and angleB multiples of 90.<-- 000100=?2\nbput{}Place stuff below last node or point connection. (Up means 'to the left at A, facing B'.) 00<?1\naput{}Place stuff above last node or point connection. (Up means 'to the left at A, facing B'.) 00 *XM*F KgE:\nccoil{<--}{}{}Node connection with a coil, allowing offset.<-- 000100E K}E9\nccircle{<--}{}{}Circle, or part of one, passing through refpt at angleA.<-- 000100D1A-8\ncbox{}{}Node connection with a box, allowing offset, extending beyond nodes by nodesepA, nodesepB. 0000GCKaE\ncbarr{<--}{}{}Node connection like \ncbar, but with 5 segments, all horizontal or vertical. Must set angleA to 0 or 180.<-- 000100!BKE7\ncbar{<--}{}{}Node connection with a bar and two arms perp. to bar, allowing offset.<-- 000100%A1Q-6\ncarcbox{}{}Node connection with a curved box (using arcangleA), extending beyond nodes by nodesepA, nodesepB. 0000 {s;{=KKOE?\ncloop{<--}{}{}Node connection with a loop, allowing offset. Best effect with angleA and angleB multiples of 90.<-- 000100J KgE>\ncline{<--}{}{}Node connection with a line, allowing offset.<-- 000100YIKE=\ncdiagg{<--}{}{}Node connection with one arm and a diagonal, allowing offset. Best effect with angleA a multiple of 90---angleB is computed.<-- 000100NHKqE<\ncdiag{<--}{}{}Node connection with two arms and a diagonal, allowing offset. Best effect with angleA and angleB multiples of 90.<-- 000100 G KiE;\nccurve{<--}{}{}Node connection with a curve, allowing offset.<-- 000100 TkcT R'}yu\newpsfontdot{}[]{}{}Make new dot object, [...]=Postscript transformation matrix. GlyphNumber must be hex value enclosed in angle brackets. 02000000Q  E\newpathpP %M+ID\newhsbcolor{}{}not recommended 0000wO 3u/C\newgray{}{}eg, \newgray{darkgray}{0.25}--0 is black, 1 is white 0000 N 'WOSB\newcmykcolor{}{}Eg, \newcmykcolor{white}{1 1 1 0} 0000 M KgEA\nczigzag{<--}{}{}Node connection with zigzag, allowing offset.<-- 000100vL@\ncput{}Place stuff on last node or point connection. (* form blanks background.) 00 @:oa@W?);4 \nodexn{}{}Defines a node by a node expression. Eg, \nodexn{.25(1,3)+.333(2;90)-1.2([nodesep=.5cm]Q)}{P} defines P as a linear combination. Each parenthesized term in the expression must be understood to \SpecialCoor. 0000V= 5\nlput(A)(B){}{text}Place label 'text' along line from A to B at 'distance' from A.A B text 11000000{U %MAIH\newrgbcolor{}{}\newrgbcolor{white}{1 1 1} 0000HT#Co?G\newpsstyle{}{}Save a group of settings as name, using with, eg, \newpsstyle{mystyle}{linecolor=red}\psline[style=mystyle](4,5). 0000CS%W9QF\newpsobject{}{}{}Make customized version of object, calling it name, where parameters are as specified. 000000 H0w]K?EM\parabola{<--}()()If pType=0 (default case) Symmetric parabola, extremum at (x1,y1), starting at (x0,y0). If pType=1, half-parabola from (x0,y0) to extremal point (x1,y1).<-- 011100h\ /]+L\ovalnode{}{}Oval node around stuff. Like \psovalbox. 0000[ # K\openshadowZG AJ \nput{}{}{}Node version of \uput. Place stuff by node at distance labelsep, angle refangle---may use \SpecialCoor angle forms. Rotation can be set using keyword rot, distance by keyword labelsep. 000000Y !7w38+\normalvec(){}Defines 'nodeName' as vector A rotated by 90 degrees. 10005X # ; I(\NormalCoorTurns off \SpecialCoor. ?)F?a7[U)\parametricPlotThreeD()(){}Functions x(t,u) y(t,u) z(t,u) specified by PS code in variables t,u. If algebraic option specified, use infix notation, separate with |. 110000``7A =)\parametricPlotThreeD(){}Functions x(t) y(t) z(t) specified by PS code in variable t. If algebraic option specified, use infix notation, separate with |. 1000j_/mMeU\psparametricplot{}{}[<-'']{}x(t) y(t) specified by PS code in variable t. Option algebraic uses infix notation: x(t) | y(t). <-'' 00200010g^+mMeO\parametricplot{}{}[<-'']{}x(t) y(t) specified by PS code in variable t. Option algebraic uses infix notation: x(t) | y(t). <-'' 00200010 L]+fK-ET \pcbar{<--}()()Point connection with a bar and two arms perp. to bar, allowing nodesep, offset.<-- 011100&e1S-S \pcarcbox()()Point connection with a curved box (using arcangleA), extending beyond nodes by nodesepA, nodesepB. 1100d K{ER \pcarc{<--}()()Point connection with an arc, allowing nodesep, offset.<-- 011100/cK/EQ \pcangles{<--}()()Point connection with two arms and two perp. diagonals, allowing nodesep, offset.<-- 0111001bK5EP \pcangle{<--}()()Point connection with two arms and diagonal perp. to armA, allowing nodesep, offset.<-- 011100 5k%lKEY \pcdiagg{<--}()()Point connection with one arms and a diagonal, allowing nodesep, offset.<-- 011100$kKEX \pcdiag{<--}()()Point connection with two arms and a diagonal, allowing nodesep, offset.<-- 011100j K}EW \pccurve{<--}()()Point connection with a curve, allowing nodesep, offset.<-- 011100i K{EV \pccoil{<--}()()Point connection with a coil, allowing nodesep, offset.<-- 011100h1C-U \pcbox()()Point connection with a box, allowing offset, extending beyond nodes by nodesepA, nodesepB. 1100HgKcE\pcbarr{<--}{}{}Point connection like \pcbar, but with 5 segments, all horizontal or vertical. Must set angleA to 0 or 180.<-- 000100 kHCq1/*+\pnodes{}Declare a sequence of nodes. Eg, \pnodes{P}(0,1)(2,-1)(3,4) has the same effect as \pnode(0,1){P0}\pnode(2,-1){P1}\pnode(3,4){P2}. 00op 5e1]\pnode(<-0,0){}Declare point (x,y) to be node named .<-0,0 1010o K{E\ \pczigzag{<--}()()Point connection with zigzag, allowing nodesep, offset.<-- 011100 n KiE[ \pcloop{<--}()()Point connection with a loop, allowing offset.<-- 011100m K{EZ \pcline{<--}()()Point connection with a line, allowing nodesep, offset.<-- 011100 wvt )){%^\psaddtolength{}{}Like \addtolength, but dim can be a number, using unit. 0000]s1 oH+\polyIntersections{}{}()(){}{}Defines polyline as nodeRoot0..nodeRoot and computes first points of intersection of polyline with AB, in each direction. The results are named 'nodeName1' and 'nodeName2'. 001100000000&r1eS]G+\polyIntersections{}{}()()Defines polyline as (x0,y0)... and computes first points of intersection of polyline with AB, in each direction. The results are named 'nodeName1' and 'nodeName2'. 00110000 Z*Z?x]'U\psarcnAB{<--}()()()Clockwise circular arc, center (x0,y0), starting at A, ending at angle of OB.<-- 01111000 w{q`\psarcn{<--}(<-0,0){}{}{}Clockwise circular arc, center (x,y), starting at angleB, ending at angleA. At least one of arrows, center must be specified.<-- <-0,0 0100011000Bv]/U\psarcAB{<--}()()()Anticlockwise circular arc, center (x0,y0), starting at A, ending at angle of OB.<-- 01111000u{q_\psarc{<--}(<-0,0){}{}{}Anticlockwise circular arc, center (x,y), starting at angleA, ending at angleB. At least one of arrows, center must be specified.<-- <-0,0 0100011000 +rC+W}  c\psborderDimension register. Use instead, eg, \psset{border=}.<| ykob\psbezier{<--}(<-0,0)()()()Cubic Bezier curve specified by control points.<-- <-0,0 0111111000@{k ab\psBezier{{{<--}(<-0,0)()...)Bezier curve of order (1..9) specified by control points. <-- <-0,0 .. 0011301100jz#K\psbarchart{\data}Create bar chart with data read from file into macro \data.\data 00 y5 )a \psaxes{<--}(<-x1,y1)(<-0,0)()[,<-,][,<-,]Make axes enclosed by rectangle with opposing corners (x1,y1) and (x2,y2), axes crossing at (x0,y0). Last, optional, arguments position x,y labels relative to tips of axes, under pstricks-add.<-- <-x1,y1 <-0,0 ,<-, ,<-, 011122111011 :!/-+*\psBspline{<-''}The points are the control points of a uniform cubic B-spline curve. If 'root name' is provided, say ='B', the intermediate points are named BL0, BR0, and the interpolated points are named BS0, etc.<-'' 01 MG \psbrace()(){