mathsPIC(1) General Commands Manual mathsPIC(1) (NAME) mathsPIC - Perl PiCTeX (AUTHORS) A. Syropoulos R.W.D. Nickalls ( ) asyropoulos[at] dick[at] (DESCRIPTION) mathsPIC Perl PiCTeX . mathsPIC mathsPIC PiCTeX TeX LaTeX . mathsPIC Perl mathsPIC . . : CTAN: tex-archive/graphics/pictex/mathspic/perl mathsPIC : () mathsPIC ( %def) () mathsPIC ( ) () PiCTeX ( ) () TeX LaTeX ( ). ( ). . : sin() cos() tan() asin() acos() atan() : rem() var r=12 rem(5) : int() var r= int(3.87) --> 3 ( -1 0 +1 ): sgn() var s=sgn(-3.27) --> -1 : sqrt() var s = sqrt(14) : ** var j = r**2 (3.14159...): _Pi_ _pi_ e (2.71828...): _E_ _e_ : _linethickness_ var t = _linethickness_ (COMMAND-LINE USE) perl mathspic.pl [-b] [-c] [-h] [-o ] -b mathsPIC (beep) -c () -h -o (MACRO COMMANDS) %def . var . %undef . -----syntax: %def MACRONAME(parameters) %undef MACRONAME(parameters) -----notes: : () () () () & () % () ( %) TeX LaTeX . -----examples: %def d2r()_pi_/180% % degrees2radians %def AreaOfRectangle(x,y)x*y% % width x, length y %undef d2r() % delete the macro -----use: var j2= 6*(&d2r(45) + 23) var a3 = 3*&AreaOfRectangle(5,7) (GENERAL COMMANDS) (NUMERICAL EXPRESSIONS) << >> : () ( ) () ( var const) () mathsPIC () ( AB) . . << >> () . () ( ) . -----examples: ArrowShape(3mm, 20,40) var h=4 ArrowShape(h mm, 20, 40) ArrowShape((2*h)mm,20,40) BACKSLASH \ PiCTeX TeX LaTeX mathsPIC . mathsPIC . (USING THE COLOR PACKAGE) COLOR mathsPIC COLOR mathsPIC . % LaTeX TeX . ( TeX ) \normalcolor \beginpicture...\endpicture . ============================== ARROWSHAPE . Arrowshape(2mm,30,40) . Arrowshape(default) . -----syntax: arrowshape([units], , ) -----examples: Arrowshape(4mm,30,60) drawArrow(AB) Arrowshape(default) ============================== beginLOOP...endLOOP . -----syntax: beginLoop ... endLoop -----notes: . -----example: beginLoop 5 ... endLoop ============================== beginSKIP...endSKIP <<>> . . ============================== CONST const () . ( ) . ( ). . . mathsPIC . -----syntax: const name = -----examples: const r = 20, r4 = r3*tan(0.3) ============================== DashArray dasharray . -----syntax dasharray(d1 , g1 , d2 , g2 , ... ) -----notes d g . . ( ) . -----example dasharray(6pt, 2pt, 1pt, 2pt) var d=2 dasharray(6pt, 2pt, 1pt, d pt) dasharray(6pt, 2pt, 1pt, (d)pt) dasharray(6pt, 2pt, 1pt, (3*d)pt) ============================== DrawAngleArc . ( ) ( ) . () () . . // / . . -----syntax: DrawAngleArc{angle(), radius(), external, clockwise} -----example: DrawAngleArc{angle(ABC), radius(3), external, clockwise} var r=3 DrawAngleArc{angle(ABC), radius(r), external, clockwise} ============================== DrawAngleArrow . ( ) ( ) . () () . . /// . . -----syntax: DrawAngleArrow{angle(), radius(), external, clockwise} -----example: DrawAngleArrow{angle(ABC), radius(3), external, clockwise} var r=3 DrawAngleArrow{angle(ABC), radius(r), external, clockwise} ============================== DrawArrow . . -----syntax: drawArrow( [,] ... ) -----notes: -----example: drawArrow(AB) drawArrow(FG, HJ) ============================== DrawCircle . . X Y mathsPIC . -----syntax: DrawCircle(
, ) -----examples: drawCircle(C2,5) drawCircle(C2,r2) drawCircle(C2,r2/tan(1.3)) drawCircle(C2,AB) ============================== DrawCircumcircle . -----syntax: DrawCircumcircle() -----example: drawCircumcircle(ABC) ============================== DrawCurve . . -----syntax: DrawCurve() -----example: drawCurve(ABC)============================== DrawExcircle (excircle) . -----: DrawExcircle(, ) -----: drawExcircle(ABC, BC) ============================== DrawIncircle (incircle) . -----: DrawIncircle() -----: drawIncircle(ABC) ============================== DrawLine . Linethickness . \putrule PiCTeX \plot . -----: DrawLine( [, ] ) -----: . . . . -----: drawline(AB) drawline(BCDE) drawline(FG, HJK, PQRST) ============================== DrawPerpendicular . -----: DrawPerpendicular(, : drawPerpendicular(P,AB) ============================== DrawPoint (point-symbol) . . -----: DrawPoint( [ ..]) -----: drawpoint(T4) drawpoint(ABCDEF) drawpoint(P1 P2 P3 P4) ============================== DrawRightangle . -----: DrawRightangle(, ) -----: . -----: drawRightangle(ABC,3) drawRightangle(ABC,PQ) var d=5 drawRightangle(ABC,d) ============================== DrawSquare . . -----: DrawSquare(, ) -----: drawSquare(P,5) var s2=3, j=2 drawSquare(P,s2) drawSquare(P, s2*4/(3*j)) drawSquare(P,AB) ============================== DrawThickArrow . . ArrowShape . -----: drawThickArrow( [,,...]) -----: drawThickarrow(BC) drawThickarrow(PQ, RS) ============================== DrawThickLine . . Linethickness . -----: drawThickLine( [,,...]) -----: drawThickline(BC) drawThickline(PQ, RS) ============================== InputFile mathsPIC . DO--LOOP . . mathsPIC . beginLOOP ... endLOOP . -----: inputFile[*]()[] -----: inputfile* (verbatim) mathsPIC PiCTeX . inputfile* . PiCTeX (ODD) . -----: inputFile(myfile.dat)[4] inputFile*(mycurvedata.dat) ============================== LineThickness . linethickness(default) 0.4pt . ( ) var ( ). -----: LineThickness() LineThickness(default) var t = _linethickness_ -----: cmr plotsymbol \CM . . . -----: linethickness(2pt) var t=3 linethickness((t)pt) lineThickness((2*t)pt) linethickness(default) var t = _linethickness_ -----: PiCTeX ( ) . ============================== PAPER units() xrange() yrange() axes() ticks() . units() TeX mm cm pt pc(pica) in(inch) bp(big point) dd(didot) cc(cicero) sp(scaled point) . X Y ( ). XYTBLR axes() X Y (Top) (Bottom) (Left) (Right) . * (ticks) . X Y . -----: paper{units(1cm),xrange(0,10),yrange(0,10)} paper{units(2cm,1cm),xrange(0,10),yrange(0,10),axes(LB)} paper{units(1mm),xrange(0,100),yrange(0,100),axes(XY)} paper{units(1cm),xrange(-5,5),yrange(-5,5),axes(LRTBXY),ticks(1,1)} paper{units(1cm),xrange(-5,5),yrange(-5,5),axes(LRT*B*)} ============================== POINT . * . -----: POINT[*](){}[symbol=, radius=] POINT[*](){}[symbol=, radius=] -----: TeX \hbox{} polar(r,theta) theta . : polar(r,theta deg). theta . vector(AB) (r, theta) AB . -----: point(A){5,5} point(B2){22,46}[symbol=$\odot$] point(B2){22,46}[symbol=circle(2),radius=5] var r=3 point(B2){22,46}[symbol=square(3),radius=r] point(B123){22,46}[radius=5] point(D2){B2, shift(5,5)} var s = 3 point(D2){B2, shift(2*s,4*s)} point(D3){D2, polar(6,32 deg)} point(D4){D2, polar(6,1.2 rad)} point(D4){D2, polar(6, direction(AB))} %% radians by default point(D4){D2, polar(6, directiondeg(AB) deg)} point(G2){Q, rotate(P, 23 deg)} point(G2){Q, vector(AB)} point(D2){intersection(AB,CD)} point(F){PointOnLine(AB,5.3)} point(G){perpendicular(P,AB)} point(H){circumcircleCenter(ABC)} point(J){incircleCenter(ABC)} point(K){excircleCenter(ABC,BC)} point*(A){6,3} point*(P){Q} point*(B){B, shift(5,0)} point*(P){xcoord(J),ycoord(K)} ============================== PointSymbol \bullet ( ) . PointSymbol . PointSymbol(default) \bullet . -----: PointSymbol(, ) PointSymbol(default) -----: PointSymbol point . point PointSymbol . -----: PointSymbol($\odot$, 0.7) PointSymbol(default) ============================== SYSTEM . Perl . -----: System("") -----: . -----: system("dir > mydir-listing.txt") system("perl myperlprogram.pl") ==============================.B SHOW.... mathsPIC . () . mathsPIC . : ----- (syntax): showLength(AB) showAngle(ABC) % showAngledeg(ABC) % showArea(ABC) showPoints showVariables ============================== TEXT (text- string) . . (position) PiCTeX l t r B b (l) (r) (t) Baseline (B) (b) . polar() deg . ----- (syntax): text(){}[] text(){, shift(,)}[] text(){, polar(,[rad])}[] ----- (examples): text(A){5,6} text($A_1$){A1, shift(2, 2)} text(Z2){Z2, shift(5, -5)}[tr] text(Z3){Z2, polar(5, 20 deg)}[Br] text(Z4){Z2, polar(5, 1.34 rad)} text(\framebox{Z5}){Z5} ============================== VAR var () . ( ) . mathsPIC --- ( ). ( ). mathsPIC . const ( mathsPIC ). ----- (syntax): var = ----- (notes): mathsPIC var : angle() % angledeg() % area() xcoord() ycoord() direction() % directiondeg() % ----- (examples): var r = 20, r4 = r3*tan(0.3), j = (r*2e3)**2, r5 = AB var e = _e_, p1 = _Pi_ var t = _linethickness_ % var g137 = angle(ABC) %(: ) var g = angledeg(ABC) % var h = area(ABC) var x2 = xcoord(A), y2 = ycoord(A) var m5 = 12 rem 3 % var r1 = direction(PQ) % var d1 = directiondeg(PQ) ============================== (SEE ALSO) mathsPIC (BUGS) Dick Nickalls (dick [AT] nickalls [dot] org) Apostolos Syropoulos . mathsPIC perl version April 26, 2010 mathsPIC(1)