Very High Level 2-Dimensional Graphics With TEX and XY-PIC

Embed Size (px)

Citation preview

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    1/8

    \ V e r y H i g h L e v e l 2 - d i m e n s i o n a l G r a p h i c s " w i t h T

    E

    X a n d X

    Y

    - p i c

    K r i s t o e r H g s b r o R o s e

    B R I C S , U n i v e r s i t y o f A a r h u s ( D A I M I ) , N y M u n k e g a d e b u i l d i n g 5 4 0 , 8 0 0 0

    A r h u s C , D e n m a r k

    k r i s r o s e @ b r i c s . d k

    U R L : h t t p : / / w w w . b r i c s . d k / ~ k r i s r o s e /

    A b s t r a c t

    A p r o b l e m w i t h u s i n g p i c t u r e s i n T

    E

    X a n d L

    A

    T

    E

    X d o c u m e n t s i s t h a t t h e r e i s n o

    n a t u r a l u n i v e r s a l n o t a t i o n e n c o m p a s s i n g a l l p o s s i b l e d i a g r a m s , o w - c h a r t s , e t c .

    I n t h i s p a p e r w e a r g u e w h y o n e s h o u l d n o t a t t e m p t s u c h g e n e r a l i t y b u t r a t h e r

    d e s i g n c u s t o m e m b e d d e d g r a p h i c l a n g u a g e s f o r c l a s s e s o f s i m i l a r p i c t u r e s .

    T h e m a i n a r g u m e n t i s t h e u s u a l o n e f o r m a r k u p l a n g u a g e s : u s i n g a s p e -

    c i a l i s e d h i g h - l e v e l n o t a t i o n m e a n s t h a t t h e s o u r c e c a p t u r e s t h e e s s e n t i a l p r o p -

    e r t i e s o f t h e p i c t u r e . N o t o n l y d o e s t h i s m a k e i t e a s i e r f o r t h e u s e r , w h o c a n

    c o n c e n t r a t e o n c o n t e n t s r a t h e r t h a n f o r m , b u t i t a l s o m a k e s i t e a s i e r t o a b s t r a c t

    o u t i n e s s e n t i a l s t y l e i s s u e s s u c h t h a t t h e \ p i c t u r e s t y l e " c a n b e v a r i e d w i t h o u t

    c h a n g i n g t h e s o u r c e . T h e m a i n c o n c e r n i s t h a t i m p l e m e n t i n g a l a r g e n u m b e r o f

    s u c h l a n g u a g e s i s o n l y f e a s i b l e w i t h a c c e s s t o a v e r s a t i l e a n d p o w e r f u l d r a w i n g

    l i b r a r y s u c h t h a t t h e a m o u n t o f h a c k i n g r e q u i r e d f o r e a c h l a n g u a g e i s m i n i m a l .

    A s a n e x a m p l e w e s u r v e y h o w o n e c a n i n c l u d e a s m a l l \ d i r e c t o r y t r e e " i n a

    p a p e r , a n d w e d e s i g n a n d i m p l e m e n t a n e m b e d d e d t r e e d r a w i n g l a n g u a g e u s e f u l

    f o r t h i s p u r p o s e . W e i l l u s t r a t e t h e g e n e r a l i t y o f t h e n o t a t i o n b y s h o w i n g h o w t h e

    s a m e s o u r c e c a n b e u s e d t o g e n e r a t e t h e t r e e a n d e v e n t o g r o w i t ( b y a n i m a t i n g

    i t ) f o l l o w i n g t h e s t r u c t u r e i n f o r m a t i o n . W e n a l l y p r e s e n t t h e i m p l e m e n t a t i o n i n

    T

    E

    X u s i n g X

    Y

    - p i c t o p r o d u c e t h e a c t u a l g r a p h i c s .

    I n t r o d u c t i o n

    A c o m m o n r e a s o n w h y s k i l l e d p r o f e s s i o n a l s w o r k -

    i n g i n t e c h n i c a l a r e a s c h o o s e T

    E

    X ( K n u t h , 1 9 8 8 ) i s

    t h a t T

    E

    X m a k e s i t i s e a s y t o p r o d u c e h i g h q u a l i t y

    d r a f t s a n d t o i n t r o d u c e c o r r e c t i o n s b a s e d o n c o m -

    m e n t s i n t o t h e s e , m a k i n g t h e e d i t - p u b l i s h - f e e d b a c k

    l o o p a f a s t a n d s m o o t h o n e . T h i s i s f u r t h e r e n c o u r -

    a g e d b y t h e p r i n c i p l e o f \ l o g i c a l m a r k u p " p r o m o t -

    e d b y f o r m a t s s u c h a s L

    A

    T

    E

    X ( L a m p o r t , 1 9 9 4 ) : t h i s

    m a k e s i t p o s s i b l e t o w o r k w i t h m a n u s c r i p t s w i t h

    t h e f o c u s o n c o n t e n t s r a t h e r t h a n f o r m . I n p a r t i c u -

    l a r t h e f a c i l i t y f o r m a t h e m a t i c a l t y p e s e t t i n g b a s e d

    o n t h e s t r u c t u r e o f f o r m u l a e m e a n s t h a t a u t h o r s

    c a n w o r k w i t h n o t i o n s a s t h e y t h i n k a b o u t t h e m

    i n m a n u s c r i p t s , u s i n g f a m i l i a r n o t a t i o n s a n d g r o u p -

    i n g s , d e f e r r i n g n e p o i n t s o f t h e t y p e s e t t i n g u n t i l t h e

    l a t e s t m o m e n t w i t h o u t c o m p r o m i s i n g t h e q u a l i t y o f

    d r a f t s s e r i o u s l y , a n d | m o r e i m p o r t a n t l y | w i t h o u t

    c o m p r o m i s i n g t h e q u a l i t y o f t h e n a l v e r s i o n a t a l l .

    O f t e n i t i s e v e n p o s s i b l e t o u s e t h e s a m e s o u r c e f o r

    t y p e s e t t i n g a n d o t h e r p u r p o s e s . T h i s i s a v e r y s a f e

    w a y o f e n s u r i n g t h a t t h e f o r m u l a e a p p e a r i n g i n a

    t e c h n i c a l r e p o r t a r e , i n d e e d , e x a c t l y t h e s a m e u s e d

    i n c o m p u t a t i o n s .

    H o w e v e r , i n c o n t r a s t t o t h i s p l e a s a n t s i t u a t i o n

    f o r f o r m u l a e w i t h t e x t u a l s t r u c t u r e s , t h e t r e a t m e n t

    o f s i m p l e , i l l u s t r a t i v e p i c t u r e s i s p r e s e n t l y s e r i o u s -

    l y l a c k i n g b o t h i n c o n v e n i e n c e a n d i n t h e q u a l i t y

    o f t h e r e s u l t . E v e n o n t h e I n t e r n e t t h e r e i s n o u n i -

    v e r s a l l y u s e f u l s t a n d a r d f o r \ l o g i c a l " s p e c i c a t i o n o f

    i l l u s t r a t i v e d i a g r a m s .

    1

    T h e r e a s o n f o r t h i s i s p r o b -

    a b l y t h a t i t i s r a t h e r e a s y t o j u s t c o m p o s e a \ q u i c k

    a n d d i r t y l i t t l e p i c t u r e " b y t h r o w i n g t o g e t h e r s o m e

    a r r o w s , b o x e s , l i n e s , e t c . , u s i n g a s m a l l v i s u a l d r a w -

    i n g t o o l . T h a t t h e r e s u l t i s u s u a l l y e x c e s s i v e l y u g l y i s

    l a r g e l y i g n o r e d ( t h a t p r o p e r c o m p o s i t i o n o f p i c t u r e s

    w a s a n i m m e n s e l y c o m p l i c a t e d t a s k i n t r a d i t i o n a l

    t y p o g r a p h y i s l i k e l y t o p l a y a r o l e i n t h i s m a t t e r ) .

    P r e s e n t l y t h e f o l l o w i n g s t a t e m e n t s a r e r e p r e s e n -

    t a t i v e f o r t h e o p t i o n s f o r 2 - d i m e n s i o n a l g r a p h i c s t h a t

    c a n b e u s e d w i t h \ p o r t a b l e T

    E

    X s o u r c e d o c u m e n t s "

    s u c h a s s u b m i s s i o n s , e t c . t h e c h o i c e s a r e l i s t e d i n

    a p p r o x i m a t e o r d e r o f f r e q u e n c y i n t h e a u t h o r ' s e x p e -

    r i e n c e .

    1

    T h e s i t u a t i o n i s a c c e p t a b l e f o r c o m p l i c a t e d 3 -

    d i m e n s i o n a l d r a w i n g , h o w e v e r , w h e r e s e v e r a l s u c c e s s f u l s t a n -

    d a r d s e x i s t o n e o f t h e s e , V R M L , i s e v e n a f o r t h c o m i n g I S O

    s t a n d a r d ( I S O / I E C D I S 1 4 7 7 2 ) i n a d d i t i o n t o b e i n g t h e d e

    f a c t o s t a n d a r d o n t h e I n t e r n e t .

    T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g 1 0 0 1

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    2/8

    K r i s t o e r H g s b r o R o s e

    \ G r a p h i c s i s n o t p o r t a b l e ! " A t e x t u a l a p p r o x i -

    m a t i o n w i l l h a v e t o d o .

    \ O n e c a n d o e v e r y t h i n g w i t h r u l e s ! " O n e c a n

    d o w o n d e r f u l t h i n g s d r a w i n g j u s t h o r i z o n t a l a n d

    v e r t i c a l l i n e s u s i n g T

    E

    X r u l e s .

    \ P o s t S c r i p t i s p o r t a b l e g r a p h i c s ! " P o s t S c r i p t

    c a n b e u s e d t o c r e a t e t h e p i c t u r e a s a n e n c a p -

    s u l a t e d P o s t S c r i p t ( A d o b e , 1 9 9 0 ) l e d i s t r i b u t -

    e d a l o n g w i t h t h e a r t i c l e s o u r c e .

    \ M E T A F O N T i s p o r t a b l e g r a p h i c s ! " S i n c e T

    E

    X

    i s b u n d l e d w i t h M E T A F O N T a l l T

    E

    X i n s t a l l a -

    t i o n s s h o u l d h a v e a M E T A F O N T e n g i n e . S o a l l

    w e h a v e t o d o i s d r a w t h e g r a p h i c s w i t h M E T A -

    F O N T ( K n u t h , 1 9 8 6 ) a n d g e n e r a t e a f o n t c o n -

    t a i n i n g t h e d r a w i n g o n e a c h p l a t f o r m .

    \ U s e a c u s t o m n o t a t i o n ! " D e s i g n i n g a n e m b e d -

    d e d l a n g u a g e t a r g e t e d a t e x p r e s s i n g t h e d e s i r e d

    g r a p h i c s d i r e c t l y i n t h e T

    E

    X s o u r c e w i t h o u t a n y

    c o n s t r a i n t s a s t o h o w t h e p i c t u r e i s a c t u a l l y

    d r a w n , i s t h e o n l y t r u l y p o r t a b l e f o r m o f p i c -

    t u r e . I t i s e a s y t o p r o v i d e a m a c r o p a c k a g e t h a t

    m a k e s a c t u a l p i c t u r e s u s i n g t h e s t y l e o f t h e c o n -

    t e x t a s f a r a s p o s s i b l e .

    B e l o w w e w i l l r s t s u r v e y t h e v e o p t i o n s f o r a

    p a r t i c u l a r e x a m p l e b e f o r e w e s u m m a r i s e t h e d e s i g n

    p r i n c i p l e s f o r c u s t o m e m b e d d e d l a n g u a g e s a n d s h o w

    h o w t h e i n f o r m a t i o n c o n t a i n e d a b o u t a d r a w i n g i n

    a w e l l - d e s i g n e d l a n g u a g e c a n b e u s e d f o r o t h e r p u r -

    p o s e s s u c h a s a n i m a t i o n .

    S u r v e y b y E x a m p l e

    C o n s i d e r t h e f o l l o w i n g : t h e s t a o f a c o m p u t i n g

    f a c i l i t y w r i t e s a m o n t h l y a r t i c l e w h e r e t r a d i t i o n h a s

    i t t h a t t h e \ c u r r e n t d i r e c t o r y s t r u c t u r e " i s i n c l u d e d .

    T h e a r t i c l e i s d i s t r i b u t e d t o a n u m b e r o f d e p a r t e -

    m e n t a l n e w s l e t t e r e d i t o r s t h a t a r e a l l p u b l i s h e d w i t h

    T

    E

    X ( o f c o u r s e ) . T h e v a r i o u s n e w s l e t t e r s a r e p u b -

    l i s h e d u s i n g a v a r i e t y o f s t y l e s a n d f o n t s a n d p r i n t e d

    o n a l l s o r t s o f e q u i p m e n t , s o p o r t a b i l i t y i s a c r u c i a l

    i s s u e .

    A v o i d i n g g r a p h i c s . T h e s t a c a n u s e t h e r s t

    c h o i c e e a s i l y , e . g . , t h r o u g h t h e o u p u t o f s o m e s t a n -

    d a r d t o o l . T h e U N I X t r e e c o m m a n d , e . g . , p r o d u c e s

    o u t p u t a s s h o w n i n g u r e 1 . W h i l e t h i s s o l u t i o n i s

    u g l y i t i s c e r t a i n l y c o m p l e t e l y p o r t a b l e , a n d i n f a c t

    u s e d m o r e o f t e n t h a n n o t .

    U s i n g s t a n d a r d T

    E

    X r u l e s . T h e s e c o n d c h o i c e i s

    a l m o s t a s e a s y t o r e a l i s e a n d o n l y r e q u i r e s a b i t o f

    h a c k i n g . F i g u r e 2 s h o w s w h a t o n e c a n p r o d u c e e a s i l y

    b y s u b s t i t u t i n g p a r t s o f t h e t e x t u a l f o r m w i t h a p p r o -

    p r i a t e r u l e s a n d s p a c e s i n a T

    E

    X \ h a l i g n s c o n s t r u c -

    t i o n . S u c h s u b s t i t u t i o n e s s e n t i a l l y m e a n s t h a t w e

    x y - 3 . 5

    | - - d o c

    | ` - - x y g u i d e - h t m l

    | - - m f i n p u t s

    | - - p k f o n t s

    | | - - l j f o u r 6 0 0

    | | - - l j f o u r 6 5 7

    | | - - l j f o u r 7 2 0

    | ` - - l j f o u r 8 6 4

    | - - p s

    | - - p s f o n t s

    | - - s r c

    | - - t e x f o n t s

    ` - - t e x i n p u t s

    F i g u r e 1 : U N I X t r e e o u t p u t .

    x y - 3 . 5

    d o c

    x y g u i d e - h t m l

    m n p u t s

    p k f o n t s

    l j f o u r 6 0 0

    l j f o u r 6 5 7

    l j f o u r 7 2 0

    l j f o u r 8 6 4

    p s

    p s f o n t s

    s r c

    t e x f o n t s

    t e x i n p u t s

    F i g u r e 2 : U N I X t r e e o u t p u t w i t h s u b s t i t u t i o n s .

    t r a n s l a t e t h e t e x t d i r e c t l y i n t o a n a p p r o p r i a t e T

    E

    X

    s o u r c e r e p r e s e n t a t i o n w h i c h m e a n s t h a t w e n e e d t o

    k n o w h o w t o i n t e r p r e t t h e t e x t i n o r d e r t o m a k e a

    m e a n i n g f u l t r a n s l a t i o n .

    P o s t S c r i p t . T h e ( e n c a p s u l a t e d ) P o s t S c r i p t c h o i c e

    i s o f t e n t h e m o s t p r a c t i c a l , a n d i s a l m o s t p o r t a b l e |

    o n l y a f e w p l a t f o r m s c a n n o t p r i n t P o s t S c r i p t a n d a

    f e w m o r e c a n n o t p r e v i e w l e s w i t h P o s t S c r i p t w e l l .

    W i t h P o s t S c r i p t t h e e x a m p l e t r e e m i g h t l o o k a s

    s h o w n i n g u r e 3 . W h i l e t h e s i z e o f t h e g u r e c a n

    b e c h a n g e d b y s c a l i n g i t r e m a i n s d i c u l t t o c h a n g e

    t h e \ T i m e s " ( o r w h a t e v e r ) l o o k o f t h e g u r e , h o w -

    e v e r , w i t h a n \ e m b e d d e d P o s t S c r i p t " p a c k a g e , s u c h

    a s t h e v e r y p o w e r f u l p s t r i c k s ( v a n Z a n d t , 1 9 9 6 ) , o n e

    c a n r e d u c e t h i s p r o b l e m s o m e w h a t .

    M E T A F O N T . T h i s c h o i c e i s i n t e r e s t i n g i n t h a t a l l

    T

    E

    X i n s t a l l a t i o n s a r e s u p p o s e d t o h a v e M E T A F O N T

    1 0 0 2 T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    3/8

    \ V e r y H i g h L e v e l 2 - d i m e n s i o n a l G r a p h i c s " w i t h T

    E

    X a n d X

    Y

    - p i c

    xy-3.5

    docY

    Y

    Y

    Y

    Y

    Y

    Y

    xyguide-htmlU

    U

    U

    U

    U

    mfinputs

    pkfonts

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    3

    ljfour600Y

    Y

    Y

    Y

    Y

    Y

    Y

    ljfour657

    K

    K

    K

    K

    K

    K

    K

    K

    ljfour720

    =

    =

    =

    =

    =

    =

    =

    =

    =

    =

    ljfour864

    4

    4

    4

    4

    4

    4

    4

    4

    4

    4

    4

    4

    ps

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    '

    psfonts

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    &

    src

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    texfonts

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    %

    texinputs

    F i g u r e 3 : P o s t S c r i p t p i c t u r e .

    a n d t h u s c o m p a t i b i l i t y i s n o t a p r o b l e m i n p r i n c i -

    p l e . H o w e v e r , i t t u r n s o u t t h a t n o t a l l T

    E

    X i n s t a l -

    l a t i o n s c a n h a n d l e d y n a m i c c h a n g e s t o t h e r e p e r -

    t o i r e o f f o n t s g r a c e f u l l y , t h u s i n p r a c t i c e t h i s i s l e s s

    o f a n o p t i o n t h a n o n e w o u l d h o p e . T w o a l t e r n a -

    t i v e s e x i s t : u s i n g M E T A P O S T i n s t e a d r e l a x e s t h e

    d y n a m i c f o n t p r o b l e m s o m e w h a t a t t h e p e n a l t y o f

    r e q u i r i n g t h e u s e o f P o s t S c r i p t , a n d u s i n g t h e m f p i c

    p a c k a g e ( L e a t h r u m a n d T o b i n , 1 9 9 4 ) m a k e s i t p o s s i -

    b l e t o m i x M E T A F O N T - g e n e r a t e d d r a w i n g w i t h T

    E

    X -

    p r o d u c e d t e x t . T h e s e a r e o p t i o n s t h a t n e e d t o b e

    f u r t h e r i n v e s t i g a t e d . I n g e n e r a l T

    E

    X w o u l d b e n e t

    g r e a t l y f r o m a c o m p o n e n t m o d e l p e r m i t t i n g i n t e r a c -

    t i o n b e t w e e n t h e v a r i o u s g r a p h i c f o r m s | b u t t h i s i s

    b e y o n d t h e s c o p e o f t h i s p r e s e n t a t i o n .

    D e s i g n i n g a c u s t o m e m b e d d e d g r a p h i c l a n -

    g u a g e . T h e f t h a n d l a s t o p t i o n i s o b v i o u s l y i d e -

    a l | o n c e a d e d i c a t e d l a n g u a g e e x i s t s f o r t h e k i n d o f

    g r a p h i c s i n q u e s t i o n , t h a t i s . T h e m o s t o b v i o u s w a y

    t o t h i n k o f t h e d i r e c t o r y s t r u c t u r e i s a s a t r e e w i t h

    a n o d e f o r e a c h d i r e c t o r y ( a s h i n t e d a t b y t h e U N I X

    c o m m a n d n a m e ) . T h i s l e a v e s u s w i t h t h e p r o b l e m

    o f c o m i n g u p w i t h a g o o d t e x t u a l n o t a t i o n f o r t r e e s .

    O n e p o s s i b l e s u c h n o t a t i o n i s t h e \ p r e x " n o t a t i o n

    s h o w n i n g u r e 4 u s i n g p a r e n t h e s e s t o e x p r e s s t h e

    d i r e c t o r y n e s t i n g s t r u c t u r e .

    I n t h i s p a p e r w e w i l l a r g u e t h a t d e s i g n i n g s u c h

    v e r y h i g h l e v e l d r a w i n g l a n g u a g e s f o r e m b e d d i n g p i c -

    t u r e d e s c r i p t i o n s d i r e c t l y i n t h e m a n u s c r i p t i s a n

    o p t i o n w o r t h w h i l e p u r s u i n g i n m a n y c a s e s , e v e n c o n -

    s i d e r i n g t h e i n i t i a l c o s t o f d e s i g n i n g a n d i m p l e m e n t -

    i n g t h e l a n g u a g e .

    \ t r e e {

    { x y - 3 . 5 } (

    { d o c } (

    { x y g u i d e - h t m l } ( )

    )

    { m f i n p u t s } ( )

    { p k f o n t s } (

    { l j f o u r 6 0 0 } ( )

    { l j f o u r 6 5 7 } ( )

    { l j f o u r 7 2 0 } ( )

    { l j f o u r 8 6 4 } ( )

    )

    { p s } ( )

    { p s f o n t s } ( )

    { s r c } ( )

    { t e x f o n t s } ( )

    { t e x i n p u t s } ( )

    )

    }

    F i g u r e 4 : D i r e c t o r y a s a b s t r a c t t r e e .

    A n E m b e d d e d L a n g u a g e

    W e r s t e x p l a i n t h e p r i n c i p a l p r o p e r t i e s o f e m b e d -

    d e d l a n g u a g e s a n d h o w t h i s i s r e e c t e d b y o u r t o y

    d i r e c t o r y t r e e s a m p l e l a n g u a g e w e t h e n d e s c r i b e t h e

    i m p l e m e n t a t i o n o f i t i n T

    E

    X .

    P r i n c i p l e s . T h e r e a r e t h e t w o p r i n c i p a l p r o p e r t i e s

    t h a t e m b e d d e d l a n g u a g e s s h o u l d o p t f o r :

    U s e g e n e r i c a b s t r a c t s t r u c t u r e s . E a c h c u s t o m

    e m b e d d e d l a n g u a g e i s u n i q u e . C h a n c e s a r e ,

    h o w e v e r , t h a t y o u r u s e r s w i l l s e e s e v e r a l o f y o u r

    l a n g u a g e s . T h e r e f o r e t r y t o u s e g e n e r i c a b s t r a c t

    s t r u c t u r e s a s t h e \ g l u e " o f t h e l a n g u a g e : t h i s

    e a s e s b o t h t h e d e s i g n a n d i m p l e m e n t a t i o n t a s k ,

    a n d m a k e s i t e a s i e r f o r u s e r s t o l e a r n a n d l a t e r

    r e m e m b e r s e v e r a l e m b e d d e d l a n g u a g e s w i t h o u t

    d e s p a i r i n g .

    U s e c o n s e r v a t i v e n o t a t i o n . A c u s t o m e m b e d d e d

    l a n g u a g e s h o u l d t s m o o t h l y i n w i t h i t s \ h o s t

    l a n g u a g e . " U s e t h e h o s t l a n g u a g e ' s n o t a t i o n s

    w h e n e v e r p o s s i b l e .

    T h e \ a b s t r a c t s t r u c t u r e " o f a d i r e c t o r y t r e e i s a t r e e .

    T h u s w e c a n u s e t h e p r e x n o t a t i o n o f g u r e 4 a n d

    w r i t e e a c h \ b r a n c h " a s

    l a b e l ( s u b t r e e : : : s u b t r e e )

    w h e r e l a b e l i s t h e t e x t a s s o c i a t e d t o e a c h n o d e ( f o r

    a d i r e c t o r y t h i s w i l l b e i t s n a m e ) a n d e a c h s u b t r e e i s

    a n e n t i r e t r e e r o o t e d b e l o w t h e p r e s e n t n o d e ( c o r r e -

    s p o n d i n g t o s u b d i r e c t o r i e s a n d l e s ) . B r a n c h e s w i t h

    n o s u b t r e e s a r e o f t e n c a l l e d \ l e a v e s " b u t w e d o n o t

    T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g 1 0 0 3

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    4/8

    K r i s t o e r H g s b r o R o s e

    n e e d t o d i s t i n g u i s h : a l e a f c a n b e w r i t t e n

    l a b e l ( )

    T h i s c o n s t i t u t e s t h e \ g l u e . " F o r t h e n o d e s w e s h o u l d

    t r y n o t t o e x t e n d t h e T

    E

    X n o t a t i o n t o o m u c h . A

    n i c e a n d c o n s e r v a t i v e a p p r o a c h i s t o u s e t h e T

    E

    X

    a r g u m e n t n o t a t i o n , i . e . , w r i t e t h e l a b e l s a s

    { t e x t }

    t o i n d i c a t e t h a t t e x t s h o u l d b e i n t e r p r e t e d a s T

    E

    X

    s o u r c e t e x t . I n f a c t t h i s i s t h e n o t a t i o n w e u s e d i n

    t h e d i r e c t o r y t r e e e x a m p l e i n g u r e 4 a b o v e .

    I m p l e m e n t a t i o n . W e w i l l b a s e o u r i m p l e m e n t a -

    t i o n o n X

    Y

    - p i c ( R o s e a n d M o o r e , 1 9 9 7 ) s i n c e t h i s i s

    a g e n e r i c p l a t f o r m f o r 2 - d i m e n s i o n a l g r a p h i c s t h a t

    w o r k s w i t h T

    E

    X a n d c a n d o w h a t w e w i s h t o i l l u s -

    t r a t e w i t h o u t c o m p r o m i s i n g t h e q u a l i t y o f t h e t y p e -

    s e t d r a w i n g s . H o w e v e r , t h e t e c h n i q u e u s e d t o p r o -

    d u c e t h e a c t u a l g r a p h i c s i s n o t e s s e n t i a l a s l o n g a s

    t h e \ l i b r a r y " o f a v a i l a b l e g r a p h i c s f u n c t i o n s i s s u -

    c i e n t l y e a s y t o u s e .

    E m b e d d e d l a n g u a g e s a r e i m p l e m e n t e d b y w r i t -

    i n g a s m a l l i n t e r p r e t e r t h a t p a r s e s t h e l a n g u a g e a n d

    p e r f o r m s t h e a p p r o p r i a t e a c t i o n s , i n t h i s c a s e c a l l s

    t h e a p p r o p r i a t e X

    Y

    - p i c d r a w i n g p r i m i t i v e s . I n o r d e r

    t o w r i t e s u c h a n i n t e r p r e t e r w e s h o u l d w r i t e t h e

    B N F

    2

    o f t h e l a n g u a g e . T h i s l o o k s a s f o l l o w s :

    h t r e e i : : = { h t e x t i } ( h s u b t r e e s i )

    h s u b t r e e s i : : = h e m p t y i

    j h t r e e i h s u b t r e e s i

    T h e i n t e r p r e t e r i s t h e n a p a r s e r t h a t r e c o g n i s e s t h a t

    t h i s f o r m a t i s f o l l o w e d a n d p e r f o r m s a n a p p r o p r i a t e

    a c t i o n f o r e a c h r e c o g n i s e d s y m b o l .

    T h i s i m p l e m e n t a t i o n w i l l e m u l a t e t h e l a y o u t o f

    t h e t r e e c o m m a n d g r a p h i c a l l y : e a c h l a b e l s h o u l d b e

    i n d e n t e d r e l a t i v e t o i t s p a r e n t a n d c o n n e c t e d t o i t ,

    f u r t h e r m o r e i t s h o u l d b e b e l o w t h e p r e v i o u s l a b e l .

    T h i s c a n b e d e s c r i b e d b y a c t i o n s a s s o c i a t e d t o e a c h

    s y m b o l a s i t i s e n c o u n t e r e d : t h e s e a r e s h o w n i n g -

    u r e 5 . T h i s i s i m p l e m e n t e d b y t h e s m a l l ( p l a i n ) T

    E

    X

    l e t r e e . t e x s h o w n i n g u r e 6 : t h e \ p a r s e r m a c r o

    s e l e c t s t h e a p p r o p r i a t e a c t i o n b a s e d o n t h e c u r r e n t

    s y m b o l e a c h o f t h e \ . . . a c t i o n m a c r o s i m p l e m e n t s

    t h e a p p r o p r i a t e a c t i o n f r o m g u r e 5 u s i n g X

    Y

    - p i c

    w i t h t h e ` a r r o w ' e x t e n s i o n ( f o r d e t a i l s o n h o w t o

    u s e X

    Y

    - p i c r e f e r t o t h e r e f e r e n c e m a n u a l , R o s e a n d

    M o o r e , 1 9 9 7 ) . R u n n i n g t h i s o n t h e s o u r c e i n g -

    u r e 4 p r o d u c e s t h e t r e e s h o w n i n g u r e 7 . T h e

    m a c r o s m a k e u s e o f t h e g e n e r a l f o n t s t y l e o f t h e

    2

    B N F i s t h e n o t a t i o n f o r \ m e t a - l i n g u i s t i c f o r m u l a e " r s t

    u s e d b y ( N a u r e t a l . , 1 9 6 0 ) t o d e s c r i b e t h e s y n t a x o f t h e A l g o l

    p r o g r a m m i n g l a n g u a g e . W e u s e i t w i t h t h e c o n v e n t i o n s o f t h e

    T

    E

    X b o o k ( K n u t h , 1 9 8 8 ) : \ : : = " i s r e a d \ i s d e n e d t o b e " , \ j "

    i s r e a d \ o r " , a n d \ h e m p t y i " d e n o t e s \ n o t h i n g . "

    S y m b o l B e f o r e ) A f t e r

    { t e x t } e m p t y s t a c k )

    t e x t

    s 0

    c

    )

    s 0

    @ A

    c

    (

    c

    )

    s 0

    c

    + g r o w s t a c k

    ) e m p t y s t a c k ) e r r o r !

    s 0

    c

    )

    c

    + s h r i n k s t a c k

    F i g u r e 5 : T r e e i n t e r p r e t e r a c t i o n s .

    x y - 3 . 5

    d o c

    x y g u i d e - h t m l

    m n p u t s

    p k f o n t s

    l j f o u r 6 0 0

    l j f o u r 6 5 7

    l j f o u r 7 2 0

    l j f o u r 8 6 4

    p s

    p s f o n t s

    s r c

    t e x f o n t s

    t e x i n p u t s

    F i g u r e 7 : G e n e r a t e d d i r e c t o r y t r e e .

    p r o g r a m , i . e . , \ b a s e l i n e s k i p i s u s e d f o r d i s t a n c e s

    t o t w i t h t h e l i n e s k i p s u s e d . F u r t h e r m o r e , s o m e

    c o m p o n e n t s o f t h e s t a t e c h a n g e h a v e b e e n i s o l a t e d

    a s d e n i t i o n s | s o m e t h i n g t h a t i s p o s s i b l e w i t h a

    g e n e r i c m a c r o l a n g u a g e a s T

    E

    X a p r o d u c t i o n v e r -

    s i o n o f t h e t r e e l a n g u a g e t h e l a y o u t s t y l e o f t h e t r e e

    s h o u l d a l s o b e e x t r a c t e d i n t o d e n i t i o n s . I n f a c t , t h e

    \ P o s t S c r i p t " s a m p l e o f g u r e 3 w a s c r e a t e d u s i n g

    t h e t i m e s p a c k a g e w i t h t h e r e d e n i t i o n

    \ d e f \ b r a n c h { \ s a v e s 0 ! C D * * @ { - } \ r e s t o r e }

    w h i c h t e l l s X

    Y

    - p i c t o m a k e a p l a i n l i n e f r o m t h e c e n -

    t e r b o t t o m o f t h e \ p a r e n t " t o t h e \ c h i l d . "

    1 0 0 4 T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    5/8

    \ V e r y H i g h L e v e l 2 - d i m e n s i o n a l G r a p h i c s " w i t h T

    E

    X a n d X

    Y

    - p i c

    % t r e e . t e x : P r i n t \ t r e e { < t r e e > } a s d i r e c t o r y t r e e .

    % U s e X y - p i c , i n c l u d i n g ` s t a c k e m p t y ' p r i m i t i v e .

    \ i n p u t x y

    { \ c a t c o d e ` \ @ = 1 1 \ g l o b a l \ l e t \ s e m p t y = \ s e m p t y @ }

    \ x y o p t i o n { a r r o w }

    % I d i o m s .

    \ d e f \ F N { \ f u t u r e l e t \ n e x t }

    \ d e f \ D N { \ d e f \ n e x t }

    \ d e f \ S P . { \ f u t u r e l e t \ S P \ r e l a x } \ S P . %

    % < t r e e > p a r s e r .

    \ d e f \ t r e e # 1 { \ x y \ b e g i n a c t i o n \ F N \ p a r s e r # 1 \ r e l a x \ e n d a c t i o n \ e n d x y }

    \ d e f \ p a r s e r { %

    \ i f x \ S P \ n e x t \ e x p a n d a f t e r \ D N \ s p a c e { \ F N \ p a r s e r } %

    \ e l s e \ i f x \ b g r o u p \ n e x t \ D N # # 1 { \ t e x t a c t i o n { # # 1 } \ F N \ p a r s e r } %

    \ e l s e \ i f x ( \ n e x t \ D N ( { \ o p e n a c t i o n \ F N \ p a r s e r } %

    \ e l s e \ i f x ) \ n e x t \ D N ) { \ c l o s e a c t i o n \ F N \ p a r s e r } %

    \ e l s e \ i f x \ r e l a x \ n e x t \ D N \ r e l a x { } %

    \ e l s e \ D N { %

    \ e r r m e s s a g e { < t r e e > b u i l d f r o m ( , ) , a n d { t e x t } o n l y : n o t \ m e a n i n g \ n e x t } } %

    \ f i \ f i \ f i \ f i \ f i \ n e x t }

    % I n i t i a l a c t i o n : s t a r t f r e s h s t a c k f r a m e .

    \ d e f \ b e g i n a c t i o n { \ P O S @ ( }

    % I n t e r p r e t a t i o n a c t i o n f o r { t e x t } : t y p e s e t n o d e a n d i t s b r a n c h !

    \ d e f \ t e x t a c t i o n # 1 { \ n o d e { # 1 } \ i f \ s e m p t y \ e l s e \ b r a n c h \ f i }

    \ d e f \ n o d e # 1 { \ d r o p + ! L \ t x t { # 1 } }

    \ d e f \ b r a n c h { \ a r @ { - } ` l / \ j o t s 0 + D C = " s 0 " " s 0 " }

    % I n t e r p r e t a t i o n a c t i o n f o r ( : m o v e l e f t a n d d o w n !

    \ d e f \ o p e n a c t i o n { \ P O S @ + c + R + / r 1 e m / + / d \ b a s e l i n e s k i p / }

    % I n t e r p r e t a t i o n a c t i o n f o r ) : m o v e b a c k b e l o w p a r e n t !

    \ d e f \ c l o s e a c t i o n { \ i f \ s e m p t y \ e r r m e s s a g e { t o o m a n y ) s i n < t r e e > } %

    \ e l s e \ P O S { p + / r / : s 0 p + / d / , x } @ - c \ f i }

    % F i n a l a c t i o n : o b l i t e r a t e s t a c k f r a m e .

    \ d e f \ e n d a c t i o n { \ i f \ s e m p t y \ e l s e \ e r r m e s s a g e { m i s s i n g ) s i n < t r e e > } \ f i

    \ P O S @ ) }

    F i g u r e 6 : T h e t r e e . t e x m a c r o s .

    T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g 1 0 0 5

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    6/8

    K r i s t o e r H g s b r o R o s e

    E x p l o i t i n g t h e s t r u c t u r e d n o t a t i o n . B e i n g a b l e

    t o v a r y t h e s t y l e t h i s w a y i s u s e f u l , o f c o u r s e . H o w -

    e v e r , a c o m m o n m i s t a k e w h e n i m p l e m e n t i n g p a c k -

    a g e s s u c h a s t r e e i s , i n t h e a u t h o r ' s o p i n i o n , t o

    i m p l e m e n t a n i n t e r p r e t e r t h a t i s t o o g e n e r a l . I t i s

    b e t t e r t o t h i n k o f s e p a r a t e t a s k s a s r e q u i r i n g s e p a -

    r a t e e m b e d d e d l a n g u a g e s , i m p l e m e n t e d b y s e p a r a t e

    i n t e r p r e t e r s , e v e n i f t h e y h a p p e n t o h a v e t h e s a m e

    s y n t a x . O n e c a n g o e v e n f u r t h e r w i t h n o n - s t a n d a r d

    i n t e r p r e t a t i o n o f t h e i n f o r m a t i o n i n t h e e m b e d d e d

    l a n g u a g e . S a y t h a t w e w i s h t o i n t e r p r e t t h e n o t i o n

    o f \ a t r e e " i n a d i e r e n t w a y . F o r e x a m p l e , o n e c o u l d

    w i s h t o s h o w h o w a d i r e c t o r y t r e e l i k e o u r s a m p l e

    c a n b e g r o w n . T h i s i s s l i g h t l y m o r e c o m p l i c a t e d i n

    t h a t i t r e q u i r e s o u r g r a p h i c l i b r a r y t o i n c l u d e a n i -

    m a t i o n . T h i s i s p o s s i b l e i n a ( n o t y e t p u b l i s h e d )

    m o d u l e f o r X

    Y

    - p i c c a l l e d m o v i e . W i t h t h i s , a n i m a -

    t i o n s a r e c o m p o s e d o f \ s c e n e s " w i t h i n w h i c h s o m e -

    t h i n g v a r i e s f r o m a s t a r t i n g p o i n t t o a n e n d i n g p o i n t .

    W e c a n s h o w g r o w t h b y h a v i n g a s c e n e w i t h j u s t

    t h e r o o t , t h e n o n e l e v e l o f b r a n c h e s , e t c . a t a n -

    e r l e v e l w e c a n l e t t h e b r a n c h e s g r o w g r a d u a l l y f o r

    g r e a t e r e e c t . U s i n g t h e m o v i e c l a s s o f X

    Y

    - p i c

    3

    o n e

    c a n p r o d u c e a n a n i m a t i o n o f t h e s a m e t r e e , b a s e d

    o n t h e s a m e s o u r c e , b y m o d i f y i n g t h e a c t i o n s f o r

    e a c h c o m p o n e n t t o d r a w i t i n a m a n n e r d e p e n d e n t

    o n t h e t i m e . T h e r e s u l t i n g a n i m a t i o n c a n b e f o u n d

    i n t h e e l e c t r o n i c v e r s i o n o f t h i s p a p e r ( R o s e , 1 9 9 7 )

    h e r e w e c a n m e r e l y r e p r o d u c e t h e ( a l s o a u t o m a t i c a l -

    l y g e n e r a t e d ) \ s t o r y b o a r d " o f t h e a n i m a t i o n , s h o w n

    i n g u r e 8 . T h e s o u r c e o f t h e m o v i e i s s h o w n i n

    g u r e 9 : t h e a c t i o n s h a v e b e e n e n r i c h e d w i t h c o n -

    d i t i o n s f o r h i d i n g l e a v e s u n t i l t h e \ l e v e l c o u n t e r

    g e t s h i g h e r t h a n t h e i r \ n e s t i n g v a l u e , p e r m i t t i n g

    t h e m t o a p p e a r . S o m e e x t r a t r i c k s m a k e t h i s h a p -

    p e n g r a d u a l l y , u s i n g t h e \ F c o n s t r u c t i o n o f t h e m o v i e

    c l a s s .

    C o n c l u s i o n s

    W e h o p e t o h a v e s h o w n t h a t T

    E

    X i s q u i t e n a t u r a l l y

    e x t e n d e d w i t h e m b e d d e d l a n g u a g e s a n d t h a t t h i s

    c a n b e a c o n v e n i e n t w a y o f

    g e t t i n g n i c e p i c t u r e s a n d d i a g r a m s i n p a p e r s ,

    p e r m i t t i n g a e s t h e t i c i n t e g r a t i o n o f t e x t a n d d i a -

    g r a m s , a n d

    e n s u r i n g t h a t t h e i n f o r m a t i o n i n t h e p i c t u r e s

    c a n b e e x p l o i t e d i n a l t e r n a t e w a y s .

    A c k n o w l e d g e m e n t s . T h e a u t h o r w i s h e s t o t h a n k

    T U G ' 9 7 a n d B R I C S f o r j o i n t l y f u n d i n g m y p a r t i c -

    i p a t i o n i n t h e c o n f e r e n c e .

    3

    A v a i l a b l e i n a n e x p e r i m e n t a l v e r s i o n w i t h X

    Y

    - p i c 3 . 5 .

    x y - 3 . 5

    S c e n e 1 . G r o w i n g d i r e c t o r y , l e v e l 1 .

    x y - 3 . 5

    d o c

    m n p u t s

    p k f o n t s

    p s

    p s f o n t s

    s r c

    t e x f o n t s

    t e x i n p u t s

    S c e n e 2 . G r o w i n g d i r e c t o r y , l e v e l 2 .

    x y - 3 . 5

    d o c

    x y g u i d e - h t m l

    m n p u t s

    p k f o n t s

    l j f o u r 6 0 0

    l j f o u r 6 5 7

    l j f o u r 7 2 0

    l j f o u r 8 6 4

    p s

    p s f o n t s

    s r c

    t e x f o n t s

    t e x i n p u t s

    S c e n e 3 . G r o w i n g d i r e c t o r y , l e v e l 3 .

    x y - 3 . 5

    d o c

    x y g u i d e - h t m l

    m n p u t s

    p k f o n t s

    l j f o u r 6 0 0

    l j f o u r 6 5 7

    l j f o u r 7 2 0

    l j f o u r 8 6 4

    p s

    p s f o n t s

    s r c

    t e x f o n t s

    t e x i n p u t s

    S c e n e 4 . G r o w i n g d i r e c t o r y , l e v e l 4 .

    F i g u r e 8 : G r o w i n g t h e d i r e c t o r y t r e e .

    1 0 0 6 T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    7/8

    \ V e r y H i g h L e v e l 2 - d i m e n s i o n a l G r a p h i c s " w i t h T

    E

    X a n d X

    Y

    - p i c

    \ M o v i e S e t u p { h e i g h t = 1 8 e m , w i d t h = 1 8 e m } % - * - L a T e X - * - a n i m a t i o n o f d i r e c t o r y t r e e

    \ n e w c o u n t \ l e v e l

    \ n e w c o u n t \ n e s t i n g

    \ d e f \ n o d e # 1 { %

    \ i f n u m \ l e v e l < \ n e s t i n g \ d r o p i + ! L \ t x t { # 1 } %

    \ e l s e \ d r o p + ! L \ t x t { # 1 } \ f i }

    \ d e f \ b r a n c h { %

    \ i f n u m \ l e v e l < \ n e s t i n g

    \ e l s e \ a r @ { - } ` l / \ j o t s 0 + D C = " x " " x " \ f i \ r e l a x }

    \ d e f \ o p e n a c t i o n { %

    \ P O S @ + c + R + / r 1 e m / \ F \ d o w n

    \ g l o b a l \ a d v a n c e \ n e s t i n g b y + 1 \ r e l a x }

    \ d e f \ d o w n ( # 1 ) { %

    \ i f n u m \ l e v e l > \ n e s t i n g \ P O S + / d \ b a s e l i n e s k i p / * { } %

    \ e l s e \ i f n u m \ l e v e l = \ n e s t i n g \ P O S + / d # 1 \ b a s e l i n e s k i p / * { } \ f i \ f i \ r e l a x }

    \ d e f \ c l o s e a c t i o n { \ g l o b a l \ a d v a n c e \ n e s t i n g b y - 1 %

    \ i f \ s e m p t y \ e r r m e s s a g e { t o o m a n y ) s i n < t r e e > } %

    \ e l s e \ P O S { p + / r / : s 0 p + / d / , x } @ - c \ f i \ r e l a x }

    \ l e v e l = 0 \ l o o p

    \ a d v a n c e \ l e v e l 1 %

    \ n e s t i n g = 1 %

    \ s c e n e { %

    \ i n p u t { d i r t r e e . t r e e } %

    \ c a p t i o n { G r o w i n g d i r e c t o r y , l e v e l \ t h e \ l e v e l . } %

    } %

    \ i f n u m \ l e v e l < 4 \ r e p e a t

    F i g u r e 9 : T h e d i r t r e e . t e x m o v i e m o v i e .

    T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g 1 0 0 7

  • 8/8/2019 Very High Level 2-Dimensional Graphics With TEX and XY-PIC

    8/8

    K r i s t o e r H g s b r o R o s e

    R e f e r e n c e s

    A d o b e . P o s t S c r i p t L a n g u a g e R e f e r e n c e M a n u a l .

    A d d i s o n - W e s l e y , s e c o n d e d i t i o n , 1 9 9 0 .

    G o o s s e n s , M i c h e l , S . R a h t z , a n d F . M i t t e l b a c h . T h e

    L

    A

    T

    E

    X G r a p h i c s C o m p a n i o n . A d d i s o n - W e s l e y ,

    1 9 9 7 .

    K n u t h , D o n a l d . T h e T

    E

    X b o o k . A d d i s o n - W e s l e y , s e c -

    o n d e d i t i o n , 1 9 8 8 .

    K n u t h , D o n a l d E . T h e M E T A F O N T b o o k . A d d i s o n -

    W e s l e y , 1 9 8 6 .

    L a m p o r t , L e s l i e . L

    A

    T

    E

    X | A D o c u m e n t P r e p a r a t i o n

    S y s t e m . A d d i s o n - W e s l e y , s e c o n d e d i t i o n , 1 9 9 4 .

    L e a t h r u m , T h o m a s a n d G . T o b i n . \ T h e m f p i c p a c k -

    a g e " . A v a i l a b l e f r o m C T A N : g r a p h i c s / m f p i c ,

    1 9 9 4 .

    N a u r , P e t e r e t a l . . \ R e p o r t o n t h e A l g o r i t h m i c

    L a n g u a g e A L G O L 6 0 " . C o m m u n i c a t i o n s o f t h e

    A C M 3 , 2 9 9 { 3 1 4 , 1 9 6 0 .

    R o s e , K r i s t o e r H . \ V e r y H i g h L e v e l 2 - d i m e n s i o n a l

    G r a p h i c s w i t h T

    E

    X a n d X

    Y

    - p i c " . A v a i l a b l e f r o m

    h t t p : / / w w w . b r i c s . d k / ~ k r i s r o s e / X y - p i c /

    t u g 9 7 / , 1 9 9 7 . E l e c t r o n i c v e r s i o n o f T U G 9 7

    p a p e r .

    R o s e , K r i s t o e r H . a n d R . R . M o o r e . \ X

    Y

    - p i c r e l e a s e

    3 . 5 " . A v a i l a b l e f r o m C T A N : m a c r o s / g e n e r i c /

    d i a g r a m s / x y p i c , 1 9 9 7 . S e e a l s o c h a p t e r 5 o f

    ( G o o s s e n s , R a h t z , a n d M i t t e l b a c h ) .

    v a n Z a n d t , T i m o t h y . \ T h e p s t r i c k s p a c k a g e " . A v a i l -

    a b l e f r o m C T A N : g r a p h i c s / p s t r i c k s , 1 9 9 6 . S e e

    a l s o c h a p t e r 4 o f ( G o o s s e n s , R a h t z , a n d M i t t e l -

    b a c h ) .

    1 0 0 8 T U G b o a t , V o l u m e 0 ( 2 0 0 1 ) , N o . 0 | P r o c e e d i n g s o f t h e 2 0 0 1 A n n u a l M e e t i n g