|  | HTML |  |
|  | Splash! |  |
|  | PostScript |  |
| Template Toolkit Examples: PostScript Library: Various useful marks |

|  | index |  |
|  | marks |  |
# Various useful marks These elements define a range of procedures for generating various marks.
Source #1:
    [% PROCESS ps/mm %]

    20 mm 20 mm whatever
| PostScript Output #1:
    /mm {
        72 mul 25.4 div
    } bind def
    20 mm 20 mm whatever
Source #2:
    [%  PROCESS ps/mm;
        PROCESS ps/ring;
    %]

    20 mm 20 mm ring
| PostScript Output #2:
    /mm {
        72 mul 25.4 div
    } bind def
    /ring {
        newpath
        2 mm 0 360 arc
        stroke
    } def
    20 mm 20 mm ring
Source #3:
    [% # ps/ring loads ps/mm if necessary
       PROCESS ps/ring
    %]

    20 mm 20 mm ring
| PostScript Output #3:
    /mm {
        72 mul 25.4 div
    } bind def
    /ring {
        newpath
        2 mm 0 360 arc
        stroke
    } def
    20 mm 20 mm ring
Source #4:
    [% PROCESS ps/ring radius='10 mm' %]

    20 mm 20 mm ring
| PostScript Output #4:
    /mm {
        72 mul 25.4 div
    } bind def
    /ring {
        newpath
        2 mm 0 360 arc
        stroke
    } def
    20 mm 20 mm ring
Source #5:
    [% PROCESS ps/cross %]

    20 mm 20 mm cross
| PostScript Output #5:
    /mm {
        72 mul 25.4 div
    } bind def
    /cross {
        newpath
        moveto
       -5 mm 0 rmoveto
        5 mm 0 rlineto
        5 mm 0 rlineto
       -5 mm -5 mm rmoveto
        0 5 mm rlineto
        0 5 mm rlineto
        stroke
    } def
    20 mm 20 mm cross
Source #6:
    [%  PROCESS ps/mm;
        PROCESS ps/cross radius='10 mm'
    -%]

    20 mm 20 mm cross
| PostScript Output #6:
    /mm {
        72 mul 25.4 div
    } bind def
    /cross {
        newpath
        moveto
       -5 mm 0 rmoveto
        5 mm 0 rlineto
        5 mm 0 rlineto
       -5 mm -5 mm rmoveto
        0 5 mm rlineto
        0 5 mm rlineto
        stroke
    } def
    20 mm 20 mm cross
Source #7:
    [%  # ps/cross loads ps/mm anyway
        PROCESS ps/cross radius='10 mm'
    -%]

    20 mm 20 mm cross
| PostScript Output #7:
    /mm {
        72 mul 25.4 div
    } bind def
    /cross {
        newpath
        moveto
       -5 mm 0 rmoveto
        5 mm 0 rlineto
        5 mm 0 rlineto
       -5 mm -5 mm rmoveto
        0 5 mm rlineto
        0 5 mm rlineto
        stroke
    } def
    20 mm 20 mm cross
Source #8:
    [% INCLUDE ps/cross;
       INCLUDE ps/ring;
    %]

    20 mm 20 mm cross
    20 mm 20 mm ring
| PostScript Output #8:
    /mm {
        72 mul 25.4 div
    } bind def
    /cross {
        newpath
        moveto
       -5 mm 0 rmoveto
        5 mm 0 rlineto
        5 mm 0 rlineto
       -5 mm -5 mm rmoveto
        0 5 mm rlineto
        0 5 mm rlineto
        stroke
    } def
    /ring {
        newpath
        2 mm 0 360 arc
        stroke
    } def
    20 mm 20 mm cross
    20 mm 20 mm ring
Source #9:
    [% PROCESS ps/crosshair %]

    20 mm 20 mm crosshair
| PostScript Output #9:
    /mm {
        72 mul 25.4 div
    } bind def
    /ring {
        newpath
        2 mm 0 360 arc
        stroke
    } def
    /cross {
        newpath
        moveto
       -5 mm 0 rmoveto
        5 mm 0 rlineto
        5 mm 0 rlineto
       -5 mm -5 mm rmoveto
        0 5 mm rlineto
        0 5 mm rlineto
        stroke
    } def
    /crosshair {
        /y exch def
        /x exch def
        x y ring
        x y cross
    } def
    20 mm 20 mm crosshair
Source #10:
    [% PROCESS ps/cross radius='20 mm';
       PROCESS ps/ring  radius='10 mm';
       PROCESS ps/crosshair;
    -%]

    20 mm 20 mm crosshair
| PostScript Output #10:
    /mm {
        72 mul 25.4 div
    } bind def
    /cross {
        newpath
        moveto
       -5 mm 0 rmoveto
        5 mm 0 rlineto
        5 mm 0 rlineto
       -5 mm -5 mm rmoveto
        0 5 mm rlineto
        0 5 mm rlineto
        stroke
    } def
    /ring {
        newpath
        2 mm 0 360 arc
        stroke
    } def
    /crosshair {
        /y exch def
        /x exch def
        x y ring
        x y cross
    } def
    20 mm 20 mm crosshair