2004-04-07 14:40:50 +04:00
%
% $ I d : s a m b a d o c . c l s , v 1.4 2003 / 12 / 11 19 : 30 : 50 j e l m e r Exp $
%
% p h s t y l e . c l s - - M a c r o s for f o r m a t t i n g P r e n t i c e - H a l l B o o k s
% - - C o m p i l e d by J . K . S h u l t i s , Dec . 1993
% - - Modified and e n h a n c e d for L a T e X 2 e m d h / r l m 1997 / 02
% - - S t y l e M o d i f i c a t i o n s L o r i H u g h e s J u n e 2002
\ N e e d s T e X F o r m a t { L a T e X 2 e } %
\ P r o v i d e s C l a s s { s a m b a d o c } [ 1997 / 02 / 20 P r e n t i c e H a l l B o o k Class , F e b r u a r y 1997 ]
\ D e c l a r e O p t i o n * { \ P a s s O p t i o n s T o C l a s s { \ C u r r e n t O p t i o n } { r e p o r t } }
\ P r o c e s s O p t i o n s %
% B a s e e v e r y t h i n g on t h e default class 'article' .
\ L o a d C l a s s { r e p o r t } %
% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
% 1 . Page l a y o u t d i m e n s i o n s
% 3 . Define new f o n t s for h e a d i n g s
% 4 . Define L a T e X l o g o s ( u s u a l l y o t n e e d e d )
% 5 . R e d e f i n e s t h e w a y "figure" a m d "table" a r e f o r m a t e d in a \ c a p t i o n
% 6 . D e f i n e s a \ c a p t m a c r o w h i c h d e f i n e s ( 1 ) \ c a p t w i d t h , ( 2 ) \ c a p t s i z e
% and \ b e f o r e t a b l e s k i p .
% 7 . New E n v i r o n e m n t s : E q n a r r a y , r e f l i s t , e x e r l i s t
% 8 . D e f i n e s and m o d i f i e s F A N C Y H D S . S T Y for h e a d e r s and f o o t s
% 9 . C h a n g e s e c t i o n i n g h e a d i n g s to b o l d s a n s s e r i f f o n t s
% 10 . T u r n off l e a d e r d o t s in Table of Contents
% = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
% = = = = = = = = = = = = = = = = = = = = = = Page L a y o u t
% \ o d d s i d e m a r g i n 0.750 i n \ e v e n s i d e m a r g i n 0.750 i n \ t e x t w i d t h 5.00 i n
% \ t o p m a r g i n 0.625 i n \ h e a d h e i g h t 0.3 i n \ h e a d s e p 0.2 i n
% \ t e x t h e i g h t 7.3 i n % \ f o o t h e i g h t . 2 i n
% \ f o o t s k i p 0.3 i n
% \ p a r s k i p 0 e x \ m a r g i n p a r w i d t h 1.00 i n \ m a r g i n p a r s e p 0.5 i n
% \ s e t l e n g t h \ a r r a y c o l s e p { 1 p t }
\ t e x t w i d t h 5.00 i n
% = = = = = = = = = = = = = = = = = = = = = = Define s p e c i a l f o n t s
\ n e w f o n t { \ B I G } { c m i n c h } % - - - O n e - i n c h font
\ n e w f o n t { \ s f b H u g e } { c m s s b x 1 0 s c a l e d \ m a g s t e p 5 } % - - 25 p t s a n s s e r i f b o l d
\ n e w f o n t { \ s f b l a r g e } { c m s s b x 1 0 s c a l e d \ m a g s t e p 1 } % - - 12 p t s a n s s e r i f b o l d
\ n e w f o n t { \ s f b e l e v e n } { c m s s b x 1 0 s c a l e d \ m a g s t e p h a l f } % - - 11 p t s a n s s e r i f b o l d
\ n e w f o n t { \ s f b } { c m s s b x 1 0 } % - - 10 p t s a n s s e r i f b o l d
\ n e w f o n t { \ s f e i g h t } { c m s s 8 } % - - 8 p t s a n s s e r i f
\ n e w f o n t { \ s f n i n e } { c m s s 8 a t 9 p t } % - - 9 p t s a n s s e r i f
\ n e w f o n t { \ d e f n e m } { c m b x t i 1 0 } % - - 10 p t s a n s s e r i f b o l d
\ def \ s p a c i n g s e t # 1 { \ d e f \ b a s e l i n e s t r e t c h { # 1 } \ s m a l l \ n o r m a l s i z e }
% - - - - - - - - - - - C h a n g e section h e a d i n g font s i z e s h e r e - - - -
\ n e w f o n t { \ s f b s e c t i o n } { c m s s b x 1 0 a t 1 3 p t }
\ n e w f o n t { \ s f b s u b s e c } { c m s s b x 1 0 a t 1 2 p t }
\ n e w f o n t { \ s f b s u b s u b } { c m s s b x 1 0 a t 1 1 p t }
\ n e w f o n t { \ s f b p a r a } { c m s s b x 1 0 }
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% = = = = = = = = = = = = = = = = = = = = = L a T e X and T e X type l o g o s
\ n e w c o u n t \ T e s t C o u n t
\ def \ L a { \ T e s t C o u n t = \ t h e \ f a m \ l e a v e v m o d e L \ r a i s e . 4 2 e x
\ h b o x { $ \ f a m \ T e s t C o u n t \ s c r i p t s t y l e \ k e r n - . 3 e m A $ } }
\ def \ L a T e X { \ L a \ k e r n - . 1 5 e m \ T e X }
\ def \ A l l T e X { { ( \ L a ) \ T e X } }
%
% T h e o r e m h a c k
%
\ def \ @ b e g i n t h e o r e m # 1 # 2 { \ t r i v l i s t
\ item [ \ h s k i p \ l a b e l s e p { \ b f s e r i e s # 1 \ # 2 : } ] \ i t s h a p e }
% = = = = = = = = = = = = = = = = = = = = = R e define t h e \ @ m a k e c a p t i o n command
\ l o n g \ def \ @ m a k e c a p t i o n # 1 # 2 { \ v s k i p 1 0 \ p @
% % \ s e t b o x \ @ t e m p b o x a \ h b o x { # 1 : # 2 } % % % o r i g i n a l label d e f i n i t i o n
\ s e t b o x \ @ t e m p b o x a \ h b o x { \ t e x t b f { \ s m a l l # 1 . } \ s m a l l # 2 } % % % b o l d and . i n s t e a d of :
\ i f d i m \ w d \ @ t e m p b o x a > \ h s i z e
% % # 1 : # 2 \ p a r % % o r i g i n a l d e f i n i t i o n
\ t e x t b f { \ s m a l l # 1 . } \ s m a l l # 2 \ p a r % % b o l d and . i n s t e a d of :
\ else
\ h b o x to \ h s i z e { \ h f i l \ b o x \ @ t e m p b o x a \ h f i l } % % % o r i g i n a l
% % \ h b o x to \ h s i z e { \ b o x \ @ t e m p b o x a \ h f i l } % % % no c e n t e r i n g
\ f i }
% = = = = = = = = = = = = = = = = = = = = = New c a p t i o n m a c r o
\ n e w l e n g t h { \ c a p t s i z e } \ l e t \ c a p t s i z e = \ f o o t n o t e s i z e
\ n e w l e n g t h { \ c a p t w i d t h } \ s e t l e n g t h { \ c a p t w i d t h } { \ t e x t w i d t h }
\ n e w l e n g t h { \ b e f o r e t a b l e s k i p } \ s e t l e n g t h { \ b e f o r e t a b l e s k i p } { . 5 \ b a s e l i n e s k i p }
\ n e w c o m m a n d { \ c a p t } [ 1 ] { \ b e g i n { m i n i p a g e } { \ c a p t w i d t h }
\ l e t \ n o r m a l s i z e = \ c a p t s i z e
\ c a p t i o n [ # 1 ] { # 1 }
\ end { m i n i p a g e } \ \ \ v s p a c e { \ b e f o r e t a b l e s k i p } }
% - - - - - - - - - - C h a n g e F i g u r e Label
\ n e w c o m m a n d { \ t h e f i g u r e n a m e } { F i g u r e } % - - set default : F i g u r e
\ def \ f n u m @ f i g u r e { \ t h e f i g u r e n a m e \ \ t h e f i g u r e }
% T h i s is to get t h e e q u a t i o n n u m b e r s in t h e form ( section . e q u a t i o n ) ,
% and to h a v e t h e e q u a t i o n c o u n t e r reset e v e r y time t h e section
% c o u n t e r is i n c r e m e n t e d .
\ def \ t h e e q u a t i o n { \ t h e c h a p t e r . \ a r a b i c { e q u a t i o n } }
\ @ a d d t o r e s e t { e q u a t i o n } { c h a p t e r }
% = = = = = = = = = = = = = = = = = = = = = New E n v i r o n m e n t s
% - - - - - - R e f e r e n c e L i s t M a c r o
\ n e w e n v i r o n m e n t { r e f l i s t } { \ b e g i n { l i s t } { } { \ l e f t m a r g i n 1 e m \ l a b e l w i d t h 0 i n
\ l a b e l s e p 0 i n \ i t e m s e p 0 e x \ r i g h t m a r g i n 0 i n } } { \ e n d { l i s t } }
\ n e w c o m m a n d { \ r e f i t e m } { \ i t e m \ h s p a c e * { - 1 e m } } % - - - item for r e f l i s t
\ n e w c o m m a n d { \ S C } { \ s c r i p t s i z e } % - - - s m a l l c a p i t a l s for r e f e r e n c e l i s t s
% - - - - - - New e n v i r o n m e n t for b e t t e r s p a c i n g in E q n a r r a y
\ def \ e q n a r r a y { %
\ s t e p c o u n t e r { e q u a t i o n } %
\ def \ @ c u r r e n t l a b e l { \ p @ e q u a t i o n \ t h e e q u a t i o n } %
\ global \ @ e q n s w t r u e
\ m @ t h
\ global \ @ e q c n t \ z @
\ t a b s k i p \ @ c e n t e r i n g
\ l e t \ \ \ @ e q n c r
$ $ \ e v e r y c r { } \ h a l i g n to \ d i s p l a y w i d t h \ b g r o u p
\ h s k i p \ @ c e n t e r i n g $ \ d i s p l a y s t y l e \ t a b s k i p \ z @ skip { # # } $ \ @ e q n s e l
&\global\@eqcnt\@ne\hskip \arraycolsep \hfil${##}$\hfil
&\global\@eqcnt\tw@ \hskip \arraycolsep
$ \ d i s p l a y s t y l e { # # } $ \ h f i l \ t a b s k i p \ @ c e n t e r i n g
&\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup
\ t a b s k i p \ z @ skip
\ c r
}
% \ n e w e n v i r o n m e n t { E q n a r r a y } { \ a r r a y c o l s e p 0 . 1 4 e m \ b e g i n { e q n a r r a y } } { \ e n d { e q n a r r a y } }
% T h e h a n g i t e m e n v i r o n m e n t - - like d e s c r i p t i o n , b u t text l i n e s up with
% t h e item d e s c r i p t o r . Y o u g i v e a n a d d i t i o n a l a r g u m e n t c o n t a i n i n g text
% of t h e width t h a t y o u w a n t i n d e n t a t i o n s .
%
\ def \ h a n g i t e m # 1 { \ l i s t { } { \ s e t t o w i d t h \ l a b e l w i d t h { # 1 }
\ l e f t m a r g i n \ l a b e l w i d t h \ a d v a n c e \ l e f t m a r g i n \ l a b e l s e p } }
\ l e t \ e n d h a n g i t e m \ e n d l i s t
% - - - - - - P r o b l e m L i s t M a c r o
\ n e w c o u n t e r { p r o b n u m }
\ n e w e n v i r o n m e n t { e x e r l i s t } %
{ \ b e g i n { l i s t } { \ b f \ t h e p r o b n u m . } %
{ \ u s e c o u n t e r { p r o b n u m } \ i t e m s e p 1 e x \ l e f t m a r g i n 2 . 0 e m \ l a b e l s e p 0 . 5 e m
\ r i g h t m a r g i n 0 i n } } { \ e n d { l i s t } }
% = = = = = = = = = = = = = = = = = = = = = Define F A N C Y H D S . S T Y
% f a n c y h e a d i n g s . s t y version 1.1
% F a n c y h e a d e r s and f o o t e r s .
% P i e t v a n O o s t r u m , D e p t of C o m p u t e r S c i e n c e , U n i v e r s i t y of U t r e c h t
% P a d u a l a a n 14 , P . O . Box 80.089 , 3508 T B U t r e c h t , T h e N e t h e r l a n d s
% T e l e p h o n e : + 31 - 30 - 531806 . p i e t @ c s . r u u . n l ( m c v a x ! h p 4 n l ! r u u i n f ! p i e t )
% S e p 23 , 1992 .
\ def \ l h e a d { \ @ i f n e x t c h a r [ { \ @ x l h e a d } { \ @ y l h e a d } }
\ def \ @ x l h e a d [ # 1 ] # 2 { \ g d e f \ @ e l h e a d { # 1 } \ g d e f \ @ o l h e a d { # 2 } }
\ def \ @ y l h e a d # 1 { \ g d e f \ @ e l h e a d { # 1 } \ g d e f \ @ o l h e a d { # 1 } }
\ def \ c h e a d { \ @ i f n e x t c h a r [ { \ @ x c h e a d } { \ @ y c h e a d } }
\ def \ @ x c h e a d [ # 1 ] # 2 { \ g d e f \ @ e c h e a d { # 1 } \ g d e f \ @ o c h e a d { # 2 } }
\ def \ @ y c h e a d # 1 { \ g d e f \ @ e c h e a d { # 1 } \ g d e f \ @ o c h e a d { # 1 } }
\ def \ r h e a d { \ @ i f n e x t c h a r [ { \ @ x r h e a d } { \ @ y r h e a d } }
\ def \ @ x r h e a d [ # 1 ] # 2 { \ g d e f \ @ e r h e a d { # 1 } \ g d e f \ @ o r h e a d { # 2 } }
\ def \ @ y r h e a d # 1 { \ g d e f \ @ e r h e a d { # 1 } \ g d e f \ @ o r h e a d { # 1 } }
\ def \ l f o o t { \ @ i f n e x t c h a r [ { \ @ x l f o o t } { \ @ y l f o o t } }
\ def \ @ x l f o o t [ # 1 ] # 2 { \ g d e f \ @ e l f o o t { # 1 } \ g d e f \ @ o l f o o t { # 2 } }
\ def \ @ y l f o o t # 1 { \ g d e f \ @ e l f o o t { # 1 } \ g d e f \ @ o l f o o t { # 1 } }
\ def \ c f o o t { \ @ i f n e x t c h a r [ { \ @ x c f o o t } { \ @ y c f o o t } }
\ def \ @ x c f o o t [ # 1 ] # 2 { \ g d e f \ @ e c f o o t { # 1 } \ g d e f \ @ o c f o o t { # 2 } }
\ def \ @ y c f o o t # 1 { \ g d e f \ @ e c f o o t { # 1 } \ g d e f \ @ o c f o o t { # 1 } }
\ def \ r f o o t { \ @ i f n e x t c h a r [ { \ @ x r f o o t } { \ @ y r f o o t } }
\ def \ @ x r f o o t [ # 1 ] # 2 { \ g d e f \ @ e r f o o t { # 1 } \ g d e f \ @ o r f o o t { # 2 } }
\ def \ @ y r f o o t # 1 { \ g d e f \ @ e r f o o t { # 1 } \ g d e f \ @ o r f o o t { # 1 } }
\ n e w d i m e n \ h e a d r u l e w i d t h
\ n e w d i m e n \ f o o t r u l e w i d t h
\ n e w d i m e n \ p l a i n h e a d r u l e w i d t h
\ n e w d i m e n \ p l a i n f o o t r u l e w i d t h
\ n e w d i m e n \ h e a d w i d t h
\ n e w i f \ if @ f a n c y p l a i n \ @ f a n c y p l a i n f a l s e
\ def \ f a n c y p l a i n # 1 # 2 { \ i f @ f a n c y p l a i n # 1 \ e l s e # 2 \ f i }
% I n i t i a l i z a t i o n of t h e h e a d and f o o t text .
\ h e a d r u l e w i d t h 0.4 p t
\ f o o t r u l e w i d t h \ z @
\ p l a i n h e a d r u l e w i d t h \ z @
\ p l a i n f o o t r u l e w i d t h \ z @
\ l h e a d [ \ f a n c y p l a i n { } { \ s l \ r i g h t m a r k } ] { \ f a n c y p l a i n { } { \ s l \ l e f t m a r k } }
% i . e . empty on ` ` p l a i n '' p a g e s \ r i g h t m a r k on e v e n , \ l e f t m a r k on o d d p a g e s
\ c h e a d { }
\ r h e a d [ \ f a n c y p l a i n { } { \ s l \ l e f t m a r k } ] { \ f a n c y p l a i n { } { \ s l \ r i g h t m a r k } }
% i . e . empty on ` ` p l a i n '' p a g e s \ l e f t m a r k on e v e n , \ r i g h t m a r k on o d d p a g e s
\ l f o o t { }
\ c f o o t { \ r m \ t h e p a g e } % page n u m b e r
\ r f o o t { }
% Put t o g e t h e r a header or f o o t e r g i v e n t h e l e f t , center and
% r i g h t text , f i l l e r s at l e f t and r i g h t and a rule .
% T h e \ l a p c o m m a n d s put t h e text into a n h b o x of z e r o size ,
% s o o v e r l a p p i n g text d o e s not g e n e r a t e a n e r r o r m e s s a g e .
\ def \ @ f a n c y h e a d # 1 # 2 # 3 # 4 # 5 { # 1 \ h b o x t o \ h e a d w i d t h { \ v b o x { \ h b o x
{ \ r l a p { \ p a r b o x [ b ] { \ h e a d w i d t h } { \ r a g g e d r i g h t # 2 \ s t r u t } } \ h f i l l
\ p a r b o x [ b ] { \ h e a d w i d t h } { \ c e n t e r i n g # 3 \ s t r u t } \ h f i l l
\ l l a p { \ p a r b o x [ b ] { \ h e a d w i d t h } { \ r a g g e d l e f t # 4 \ s t r u t } } } \ h e a d r u l e } } # 5 }
\ def \ @ f a n c y f o o t # 1 # 2 # 3 # 4 # 5 { # 1 \ h b o x t o \ h e a d w i d t h { \ v b o x { \ f o o t r u l e
\ h b o x { \ r l a p { \ p a r b o x [ t ] { \ h e a d w i d t h } { \ r a g g e d r i g h t # 2 \ s t r u t } } \ h f i l l
\ p a r b o x [ t ] { \ h e a d w i d t h } { \ c e n t e r i n g # 3 \ s t r u t } \ h f i l l
\ l l a p { \ p a r b o x [ t ] { \ h e a d w i d t h } { \ r a g g e d l e f t # 4 \ s t r u t } } } } } # 5 }
\ def \ h e a d r u l e { { \ i f @ f a n c y p l a i n \ h e a d r u l e w i d t h \ p l a i n h e a d r u l e w i d t h \ f i
\ h r u l e \ @ height \ h e a d r u l e w i d t h \ @ width \ h e a d w i d t h \ v s k i p - \ h e a d r u l e w i d t h } }
\ def \ f o o t r u l e { { \ i f @ f a n c y p l a i n \ f o o t r u l e w i d t h \ p l a i n f o o t r u l e w i d t h \ f i
\ v s k i p - 0.3 \ n o r m a l b a s e l i n e s k i p \ v s k i p - \ f o o t r u l e w i d t h
\ h r u l e \ @ width \ h e a d w i d t h \ @ height \ f o o t r u l e w i d t h \ v s k i p - 0.3 \ n o r m a l b a s e l i n e s k i p } }
\ def \ p s @ f a n c y {
\ l e t \ @ m k b o t h \ m a r k b o t h
\ @ i f u n d e f i n e d { c h a p t e r } { \ d e f \ s e c t i o n m a r k # # 1 { \ m a r k b o t h
{ { \ i f n u m \ c @ s e c n u m d e p t h > \ z @ % M E U H
\ t h e s e c t i o n \ h s k i p 1 e m \ r e l a x \ f i # # 1 } } { } }
\ def \ s u b s e c t i o n m a r k # # 1 { \ m a r k r i g h t { \ i f n u m \ c @ s e c n u m d e p t h > \ @ n e
\ t h e s u b s e c t i o n \ h s k i p 1 e m \ r e l a x \ f i # # 1 } } }
%
{ \ d e f \ c h a p t e r m a r k # # 1 { \ m a r k b o t h { { \ i f n u m \ c @ s e c n u m d e p t h > \ m @ n e % M E U H
\ @ c h a p a p p \ \ t h e c h a p t e r . \ \ f i # # 1 } } { } }
\ def \ s e c t i o n m a r k # # 1 { \ m a r k r i g h t { { \ i f n u m \ c @ s e c n u m d e p t h > \ z @ % M E U H
\ t h e s e c t i o n . \ \ f i # # 1 } } } }
\ p s @ @ f a n c y
\ h e a d w i d t h \ t e x t w i d t h }
\ def \ p s @ f a n c y p l a i n { \ p s @ f a n c y \ l e t \ p s @ p l a i n \ p s @ p l a i n @ f a n c y }
\ def \ p s @ p l a i n @ f a n c y { \ @ f a n c y p l a i n t r u e \ p s @ @ f a n c y }
\ def \ p s @ @ f a n c y {
\ def \ @ o d d h e a d { \ @ f a n c y h e a d \ r e l a x \ @ o l h e a d \ @ o c h e a d \ @ o r h e a d \ h s s }
\ def \ @ o d d f o o t { \ @ f a n c y f o o t \ r e l a x \ @ o l f o o t \ @ o c f o o t \ @ o r f o o t \ h s s }
\ def \ @ e v e n h e a d { \ @ f a n c y h e a d \ h s s \ @ e l h e a d \ @ e c h e a d \ @ e r h e a d \ r e l a x }
\ def \ @ e v e n f o o t { \ @ f a n c y f o o t \ h s s \ @ e l f o o t \ @ e c f o o t \ @ e r f o o t \ r e l a x }
}
% - - - - - - - - - - - - - - - - - - - M o d i f y H e a d e r s for P r e n t i c e - H a l l B o o k S t y l e
% - - - - - - - - - - S e t u p h e a d e r s and f o o t e r s
\ p a g e s t y l e { f a n c y p l a i n }
\ p l a i n f o o t r u l e w i d t h 0 p t % - - - - no f o o t rule for c h a p t e r page
\ f o o t r u l e w i d t h 0 p t % - - - - no rule for f o o t
% - - - R e define H e a d e r s
\ r e n e w c o m m a n d { \ s e c t i o n m a r k } [ 1 ] { \ m a r k r i g h t { \ t h e s e c t i o n \ # 1 } }
%
\ l h e a d [ \ f a n c y p l a i n { } { \ b f \ t h e p a g e } ] { \ f a n c y p l a i n { } { \ s f n i n e \ r i g h t m a r k } }
%
% \ r h e a d [ \ f a n c y p l a i n { } { \ f o o t n o t e s i z e \ s f \ C H H E A D } ] { \ f a n c y p l a i n { } { \ b f \ t h e p a g e } }
\ r h e a d [ \ f a n c y p l a i n { } { \ s f n i n e \ l e f t m a r k } ] { \ f a n c y p l a i n { } { \ b f \ t h e p a g e } }
% - - - Empty f o o t e r s on e v e r y page ( except initial c h a p t e r page w h i c h h a s
% - - - page n u m b e r ) and o p t i o n a l l y a s m a l l date s t a m p
\ c f o o t [ \ f a n c y p l a i n { } { } ] { \ f a n c y p l a i n { } { } }
\ r f o o t [ \ f a n c y p l a i n { } { } ] { \ f a n c y p l a i n { \ h s p a c e { \ f i l l } \ \ \ b f \ t h e p a g e } { } }
\ l f o o t [ \ f a n c y p l a i n { \ h s p a c e { \ f i l l } \ \ \ b f \ t h e p a g e } { } ] { \ f a n c y p l a i n { } { } }
% - - replace t h e t w o l i n e s a b o v e with t h e t w o b e l o w for a date s t a m p f o o t e r
% \ r f o o t [ \ f a n c y p l a i n { \ s c r i p t s i z e \ t o d a y } { \ s c r i p t s i z e \ t o d a y } ] { \ f a n c y p l a i n { \ b f \ t h e p a g e } { } }
% \ l f o o t [ \ f a n c y p l a i n { \ b f \ t h e p a g e } { } ] { \ f a n c y p l a i n { \ s c r i p t s i z e \ t o d a y } { \ s c r i p t s i z e \ t o d a y } }
% - - - C h a n g e format of section header
%
% r l m a d d e d c h a p t e r m a r k 10 / 11 / 96
\ def \ s e c t i o n m a r k # 1 { \ m a r k r i g h t { \ i f n u m \ c @ s e c n u m d e p t h > \ z @
{ \ s f e i g h t S e c t i o n } ~ \ t h e s e c t i o n . \ q u a d \ f i # 1 } }
\ def \ s e c t i o n s m a r k # 1 { \ m a r k r i g h t { # 1 } { # 1 } }
%
\ def \ c h a p t e r m a r k # 1 { \ m a r k b o t h { # 1 \ q u a d \ @ c h a p a p p { } ~ \ t h e c h a p t e r } { } }
\ def \ c h a p t e r s m a r k # 1 { \ m a r k b o t h { # 1 } { # 1 } }
% = = = = = = = = = = = = = = = = = = = = = C h a n g e Section H e a d s to B o l d S a n s S e r i f
% Create b o l d s s a n s s e r i f s e c t i o n i n g h e a d i n g s . A l s o t h e h e a d i n g s h a v e
% b e e n r e d u c e d in size with l e s s space b e f o r e and a f t e r t h e h e a d i n g .
% Modified from m a c r o s g i v e n in B K 10 . S T Y
%
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - p a r t - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ @ p a r t [ # 1 ] # 2 { %
\ t h i s p a g e s t y l e { e m p t y }
\ i f o d d \ c @ page \ h b o x { } \ else \ c l e a r p a g e \ f i
\ a d d t o c o u n t e r { p a g e } { - 2 }
\ t h i s p a g e s t y l e { e m p t y }
\ i f n u m \ c @ s e c n u m d e p t h > - 2 \ r e l a x
\ r e f s t e p c o u n t e r { p a r t } %
\ a d d c o n t e n t s l i n e { t o c } { p a r t } { P a r t \ t h e p a r t \ h s p a c e { 1 e m } # 1 } %
\ else
\ a d d c o n t e n t s l i n e { t o c } { p a r t } { P a r t # 1 } %
\ f i
{ \ c e n t e r i n g
\ i n t e r l i n e p e n a l t y \ @ M
\ n o r m a l f o n t
\ i f n u m \ c @ s e c n u m d e p t h > - 2 \ r e l a x
\ h u g e \ b f s e r i e s \ p a r t n a m e \ n o b r e a k s p a c e \ t h e p a r t
\ p a r
\ v s k i p 20 \ p @
\ f i
\ H u g e \ b f s e r i e s # 2 \ p a r } %
\ @ e n d p a r t }
% - - - - - - - - - - - - - - - - - - - - - - - - - a p p e n d i x - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ l e t \ o l d a p p e n d i x \ a p p e n d i x
\ def \ a p p e n d i x { \ o l d a p p e n d i x \ d e f \ a d d c h a p t e r t o l o e { } }
% - - - - - - - - - - - - - - - - - - - - - - - - - c h a p t e r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ a d d c h a p t e r t o l o e { %
\ a d d t o c o n t e n t s { l o e } { \ p r o t e c t \ a d d v s p a c e { 1 4 p t } } %
\ a d d t o c o n t e n t s { l o e } { \ n o i n d e n t { \ b f s e r i e s C h a p t e r ~ \ t h e c h a p t e r } \ p r o t e c t \ p a r } %
\ a d d t o c o n t e n t s { l o e } { \ p r o t e c t \ a d d v s p a c e { 1 0 p t } } %
}
\ def \ c h a p t e r { \ c l e a r p a g e \ t h i s p a g e s t y l e { p l a i n } \ g l o b a l \ @ t o p n u m \ z @
\ @ a f t e r i n d e n t f a l s e \ s e c def \ @ c h a p t e r \ @ s c h a p t e r }
\ def \ @ c h a p t e r [ # 1 ] # 2 { \ i f n u m \ c @ s e c n u m d e p t h > \ m @ n e
\ r e f s t e p c o u n t e r { c h a p t e r }
\ t y p e o u t { \ @ c h a p a p p \ s p a c e \ t h e c h a p t e r . }
\ a d d c o n t e n t s l i n e { t o c } { c h a p t e r } { C h a p t e r ~ \ p r o t e c t
\ n u m b e r l i n e { \ t h e c h a p t e r } \ u p p e r c a s e { # 1 } } \ else
\ a d d c o n t e n t s l i n e { t o c } { c h a p t e r } { C h a p t e r ~ \ u p p e r c a s e { # 1 } } \ f i
\ c h a p t e r m a r k { # 1 }
\ a d d c h a p t e r t o l o e
\ a d d t o c o n t e n t s { l o f } { \ p r o t e c t \ a d d v s p a c e { 1 0 p t } }
\ a d d t o c o n t e n t s { l o t } { \ p r o t e c t \ a d d v s p a c e { 1 0 p t } } \ if @ t w o c o l u m n
\ @ t o p n e w p a g e [ \ @ m a k e c h a p t e r h e a d { # 2 } ]
\ else \ @ m a k e c h a p t e r h e a d { # 2 }
\ @ a f t e r h e a d i n g \ f i }
%
\ def \ @ s c h a p t e r # 1 { \ i f @ t w o c o l u m n \ @ t o p n e w p a g e [ \ @ m a k e s c h a p t e r h e a d { # 1 } ]
\ else \ @ m a k e s c h a p t e r h e a d { # 1 } \ c h a p t e r s m a r k { # 1 }
\ @ a f t e r h e a d i n g \ f i \ a d d c o n t e n t s l i n e { t o c } { c h a p t e r } { \ u p p e r c a s e { # 1 } } }
\ def \ @ m a k e c h a p t e r h e a d # 1 { \ v s p a c e * { - 2 0 p t } { \ p a r i n d e n t 0 p t \ r a g g e d r i g h t
\ i f n u m \ c @ s e c n u m d e p t h > \ m @ ne \ LARGE \ s f \ @ c h a p a p p { } ~ \ t h e c h a p t e r \ p a r
\ v s k i p 3 p t \ h r u l e \ v s k i p 3 p t \ h r u l e
\ v s k i p 30 p t \ f i \ r a g g e d r i g h t \ H u g e \ s f b H u g e \ u p p e r c a s e { # 1 } \ p a r
\ n o b r e a k \ v s k i p 70 p t } } % \ c h a p t e r m a r k { # 1 } }
\ def \ @ m a k e s c h a p t e r h e a d # 1 { \ v s p a c e * { 4 p t } { \ p a r i n d e n t 0 p t
\ v s k i p 3 p t \ h r u l e \ v s k i p 3 p t \ h r u l e
\ v s k i p 36 p t \ r a g g e d r i g h t \ H u g e \ s f b H u g e \ u p p e r c a s e { # 1 } \ p a r
\ n o b r e a k \ v s k i p 70 p t } } % \ c h a p t e r s m a r k { # 1 } }
% - - - - - - - - - - - - - - - - - - - - - - - - section - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ section { \ @ s t a r t s e c t i o n { s e c t i o n } { 1 } { \ z @ } { - 3 . 5 e x p l u s - 1 e x
m i n u s - . 2 e x } { 1 . 8 e x } { \ s f b s e c t i o n } }
% - - - - - - - - - - - - - - - - - - - - - s u b s e c t i o n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ s u b s e c t i o n { \ @ s t a r t s e c t i o n { s u b s e c t i o n } { 2 } { \ z @ } { - 2 . 7 5 e x p l u s - 1 e x
m i n u s - . 2 e x } { 1 . 2 e x } { \ s f b s u b s e c } }
% - - - - - - - - - - - - - - - - - - - - s u b s u b s e c t i o n - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ s u b s u b s e c t i o n { \ @ s t a r t s e c t i o n { s u b s u b s e c t i o n } { 3 } { \ z @ } { - 2 . 7 5 e x
p l u s - 1 e x m i n u s - . 2 e x } { 1 . 2 e x } { \ s f b s u b s u b } }
% - - - - - - - - - - - - - - - - - - - - - - - p a r a g r a p h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ p a r a g r a p h { \ @ s t a r t s e c t i o n { p a r a g r a p h } { 4 } { \ z @ } { 1 . 2 5 e x p l u s
1 e x m i n u s . 2 e x } { - 1 e m } { \ s f b p a r a } }
% - - - - - - - - - - - - - - - - - - - - - - s u b p a r a g r a p h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
\ def \ s u b p a r a g r a p h { \ @ s t a r t s e c t i o n { s u b p a r a g r a p h } { 4 } { \ p a r i n d e n t } { 1 . 2 5 e x
p l u s 1 e x m i n u s . 2 e x } { - 1 e m } { \ n o r m a l s i z e \ s f b } }
% = = = = = = = = = = = = = = = = = = = = = = T u r n off l e a d e r d o t s in Table of Contents
\ r e n e w c o m m a n d { \ @ d o t s e p } { 5 0 0 }
\ def \ t a b l e o f c o n t e n t s { \ m a r k b o t h { } { } \ @ r e s t o n e c o l f a l s e \ i f @ t w o c o l u m n \ @ r e s t o n e c o l t r u e \ o n e c o l u m n
\ f i \ t h i s p a g e s t y l e { p l a i n } \ @ m a k e s c h a p t e r h e a d { C o n t e n t s }
\ @ a f t e r h e a d i n g
\ c h a p t e r s m a r k { C o n t e n t s }
\ s e c t i o n s m a r k { C o n t e n t s }
\ @ s t a r t t o c { t o c } \ if @ r e s t o n e c o l \ t w o c o l u m n \ f i }
\ def \ t h e b i b l i o g r a p h y # 1 { \ c h a p t e r * { B i b l i o g r a p h y } \ l i s t
% \ a d d c o n t e n t s l i n e { t o c } { c h a p t e r } { B i b l i o g r a p h y }
{ [ \ a r a b i c { e n u m i } ] } { \ s e t t o w i d t h \ l a b e l w i d t h { 2 e m } \ l e f t m a r g i n \ l a b e l w i d t h
% \ a d v a n c e \ l e f t m a r g i n \ l a b e l s e p
\ u s e c o u n t e r { e n u m i } }
\ def \ n e w b l o c k { \ h s k i p . 1 1 e m p l u s . 3 3 e m m i n u s . 0 7 e m }
\ s l o p p y \ c l u b p e n a l t y 4000 \ w i d o w p e n a l t y 4000
\ s f c o d e ` \ . = 1000 \ r e l a x }
\ l e t \ e n d t h e b i b l i o g r a p h y = \ e n d l i s t
% % B I B L I O G R A P H Y
%
% % s e p a r a t e c i t a t i o n s with "], ["
\ def \ @ c i t e x [ # 1 ] # 2 { \ i f @ f i l e s w \ i m m e d i a t e \ w r i t e \ @ a u x o u t { \ s t r i n g \ c i t a t i o n { # 2 } } \ f i
\ def \ @ c i t e a { } \ @ c i t e { \ @ f o r \ @ c i t e b : = # 2 \ d o { \ @ c i t e a \ d e f \ @ c i t e a { ] ,
[ } \ @ i f u n d e f i n e d { b @ \ @ c i t e b } { { \ b f ? } \ @ w a r n i n g { C i t a t i o n ` \ @ c i t e b ' o n
page \ t h e p a g e \ space u n d e f i n e d } } %
{ \ c s n a m e b @ \ @ c i t e b \ e n d c s n a m e } } } { # 1 } }
\ def \ @ c i t e # 1 # 2 { [ { # 1 \ i f @ t e m p s w a , # 2 \ f i } ] }
% % index
% \ def \ t h e i n d e x { \ @ r e s t o n e c o l t r u e \ i f @ t w o c o l u m n \ @ r e s t o n e c o l f a l s e \ f i
% \ c o l u m n s e p r u l e \ z @
% \ c o l u m n s e p 35 p t \ t w o c o l u m n [ \ @ m a k e s c h a p t e r h e a d { S u b j e c t I n d e x } ]
% \ a d d c o n t e n t s l i n e { t o c } { c h a p t e r } { S U B J E C T I N D E X }
% \ t h i s p a g e s t y l e { p l a i n } \ p a r i n d e n t \ z @
% \ p a r s k i p \ z @ p l u s . 3 p t \ r e l a x \ l e t \ item \ @ i d x i t e m }
\ def \ t h e i n d e x { \ c l e a r d o u b l e p a g e \ @ r e s t o n e c o l t r u e \ i f @ t w o c o l u m n \ @ r e s t o n e c o l f a l s e \ f i
\ c o l u m n s e p r u l e \ z @
\ c o l u m n s e p 35 p t \ t w o c o l u m n [ \ @ m a k e s c h a p t e r h e a d { S u b j e c t I n d e x } ]
\ c h a p t e r s m a r k { S u b j e c t I n d e x } %
\ a d d c o n t e n t s l i n e { t o c } { c h a p t e r } { S U B J E C T I N D E X }
\ t h i s p a g e s t y l e { p l a i n } \ p a r i n d e n t \ z @
\ p a r s k i p \ z @ p l u s . 3 p t \ r e l a x \ l e t \ item \ @ i d x i t e m }
\ r e n e w c o m m a n d { \ c l e a r d o u b l e p a g e } { \ c l e a r p a g e \ i f @ t w o s i d e \ i f o d d \ c @ p a g e \ e l s e
\ h b o x { } \ t h i s p a g e s t y l e { e m p t y } \ n e w p a g e \ if @ t w o c o l u m n \ h b o x { } \ n e w p a g e \ f i \ f i \ f i }
\ r e n e w c o m m a n d { \ n u m b e r l i n e } [ 1 ] { \ s b o x \ @ t e m p b o x a { # 1 \ h s p a c e { 2 p t } } %
\ i f d i m \ w d \ @ t e m p b o x a > \ @ t e m p d i m a \ else \ w d \ @ t e m p b o x a \ @ t e m p d i m a \ f i
\ box \ @ t e m p b o x a }
\ def \ l i s t o f e x a m p l e s { \ @ r e s t o n e c o l f a l s e \ i f @ t w o c o l u m n \ @ r e s t o n e c o l t r u e \ o n e c o l u m n
\ f i \ c h a p t e r * { L i s t o f E x a m p l e s }
\ r e n e w c o m m a n d \ @ p n u m w i d t h { 0 e m }
\ @ s t a r t t o c { l o e } \ if @ r e s t o n e c o l
\ t w o c o l u m n \ f i }
\ def \ l @ e x a m p l e { \ n o i n d e n t \ @ d o t t e d t o c l i n e { 1 } { 0 e m } { 3 . 5 e m } }
\ p a r s k i p 1.5 e x
\ p a r i n d e n t 0 p t
\ r e n e w c o m m a n d \ l i s t f i g u r e n a m e { \ u p p e r c a s e { L i s t O f F i g u r e s } }
\ r e n e w c o m m a n d \ l i s t t a b l e n a m e { \ u p p e r c a s e { L i s t O f T a b l e s } }
2005-06-11 00:29:09 +04:00
\ s e t l e n g t h { \ e m e r g e n c y s t r e t c h } { 0 c m }
\ c l e a r d o u b l e p a g e
\ p a g e n u m b e r i n g { r o m a n }
\ s e t c o u n t e r { p a g e } { 2 }
\ s e t c o u n t e r { t o t a l n u m b e r } { 8 }
\ s e t c o u n t e r { b o t t o m n u m b e r } { 3 }
\ s e t c o u n t e r { t o p n u m b e r } { 3 }
\ r e n e w c o m m a n d { \ t e x t f r a c t i o n } { 0 . 1 }
\ r e n e w c o m m a n d { \ t o p f r a c t i o n } { 1 . 0 }
\ r e n e w c o m m a n d { \ b o t t o m f r a c t i o n } { 1 . 0 }
2005-06-13 04:48:46 +04:00
\ u s e p a c k a g e [ t w o s i d e ] { g e o m e t r y }
2005-06-11 00:29:09 +04:00
\ g e o m e t r y { %
p a p e r w i d t h = 7 i n ,
p a p e r h e i g h t = 9.25 i n ,
l m a r g i n = . 75 i n ,
r m a r g i n = . 75 i n ,
b m a r g i n = . 625 i n ,
t m a r g i n = . 625 i n ,
width = 5.5 i n ,
height = 7.525 i n , % 7.3
m a r g i n p a r w i d t h = 0.35 i n ,
h e a d h e i g h t = 0.2 i n ,
h e a d s e p = . 25 i n ,
f o o t s k i p = . 025 i n }
\ s e t l e n g t h { \ h e a d w i d t h } { \ t e x t w i d t h }
2005-06-13 04:48:46 +04:00
% s m b . c o n f s y n t a x h i g h l i g h t i n g
\ u s e p a c k a g e { l i s t i n g s }
\ u s e p a c k a g e { x c o l o r }
\ l s t d e f i n e l a n g u a g e { s m b c o n f } {
m o r e c o m m e n t = [ l ] { \ # } ,
}
2005-06-13 16:49:10 +04:00
\ n e w c o m m a n d { \ l i n e b r e a k s i g n } { \ h b o x { \ e n s u r e m a t h \ h o o k l e f t a r r o w } }
\ l s t d e f i n e s t y l e { s m b c o n f b l o c k }
{
b r e a k l i n e s = true ,
b a c k g r o u n d c o l o r = \ color { l i g h t g r a y } ,
frame = single ,
f r a m e r o u n d = t t t t ,
p r e b r e a k = { \ s p a c e \ l i n e b r e a k s i g n }
}
2005-06-13 04:48:46 +04:00
\ n e w c o m m a n d { \ s m b c o n f s e c t i o n } [ 1 ] { \ e m p h { # 1 } }
\ n e w c o m m a n d { \ s m b c o n f o p t i o n } [ 1 ] { \ i n d e x { # 1 } \ e m p h { # 1 } }