[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / docs / grasp.sty
1 %               GRASP style file
2
3 %
4 %       Apart from settings of page size and margins, and
5 %       setting appropriate math-mode italics,
6 %       the following macros are provided:
7 %       
8 %       \ToDo{x}        Highlighted note for something left to do
9 %       \srcloc{x}      Marginal note of source file x.  x is set in
10 %                       typewriter font
11 %       \smiley         Well, you need one of these sometimes :-)
12
13 %****************************************************************
14 %*                                                              *
15 %*              Page and paragraph format                       *
16 %*                                                              *
17 %****************************************************************
18
19 %                       Margins and page layout
20
21 \sloppy                         % Reduce complaints
22
23 \setlength{\marginparwidth}{1.5cm}
24
25 %                       Block paragraphs
26
27 \setlength{\parskip}{0.25cm}
28 \setlength{\parsep}{0.25cm}
29 \setlength{\topsep}{0cm}        % Reduces space before and after verbatim,
30                                 % which is implemented using trivlist 
31 \setlength{\parindent}{0cm}
32
33 \renewcommand{\textfraction}{0.2}
34 \renewcommand{\floatpagefraction}{0.7}
35
36
37
38 %****************************************************************
39 %*                                                              *
40 %*                      ToDo                                    *
41 %*                                                              *
42 %****************************************************************
43
44 \newcommand{\ToDo}[1]{$\spadesuit$~{\bf ToDo:} {\em #1} $\spadesuit$}
45
46
47 %****************************************************************
48 %*                                                              *
49 %*                      srcloc                                  *
50 %*                                                              *
51 %****************************************************************
52
53 \newcommand{\srcloc}[1]{\marginpar{\footnotesize\tt #1}}
54 %
55 % to avoid src-location marginpars, put this in your doc's pre-amble.
56 %\renewcommand{\srcloc}[1]{}
57
58
59 %****************************************************************
60 %*                                                              *
61 %*                      smiley                                  *
62 %*                                                              *
63 %****************************************************************
64
65 \newcommand{\smiley}{%
66 \hbox{$\bigcirc\mskip-13.3mu{}^{..}
67 \mskip-11mu\scriptscriptstyle\smile\ $}}
68
69 %%\setbox0=\hbox{$\bigcirc$}
70 %%\dimen0=\wd0
71 %%\newbox\smileybox
72 %%\setbox\smileybox=\hbox{\box0 \kern-.5\dimen0
73 %%      \lower .25ex\hbox to 0pt{\hss\vpt$\smile$\hss}%
74 %%      \raise .25ex\hbox to 0pt{\hss\$\cdot\kern 0.1em\cdot$\hss}}
75 %%\wd\smileybox=\dimen0
76 %%\def\smiley{\copybox\smileybox}
77 %%
78 %%Of course, you can substitute \frown for \smile :-) (but you may need
79 %%to adjust the spacing) :-(
80 %%--
81 %%Andrew Innes (aci10@eng.cam.ac.uk)
82 %%Engineering Dept.
83 %%Cambridge University
84
85
86 %****************************************************************
87 %*                                                              *
88 %*                      Math codes                              *
89 %*                                                              *
90 %****************************************************************
91
92 % The mathcodes for the letters A, ..., Z, a, ..., z are changed to
93 % generate text italic rather than math italic by default. This makes
94 % multi-letter identifiers look better. The mathcode for character c
95 % is set to "7000 (variable family) + "400 (text italic) + c.
96 %
97
98
99 %       LaTeX with New Font Selection Scheme (NFSS)
100
101 \@ifundefined{selectfont}
102   {}
103   {\newmathalphabet{\textit}
104    \addtoversion{normal}{\textit}{cmr}{m}{it}
105    \addtoversion{bold}{\textit}{cmr}{bx}{it}
106    \everymath{\textit}
107    \everydisplay{\textit}
108   }
109
110 %       LaTeX without NFSS
111 %
112 %\def\@setmcodes#1#2#3{{\count0=#1 \count1=#3
113 %        \loop \global\mathcode\count0=\count1 \ifnum \count0<#2
114 %        \advance\count0 by1 \advance\count1 by1 \repeat}}
115 %
116 %\@setmcodes{`A}{`Z}{"7441}
117 %\@setmcodes{`a}{`z}{"7461}
118
119
120 %****************************************************************
121 %*                                                              *
122 %*        Definitions for macros used in figures                *
123 %*    These are produced by fig2dev, so we need defns for them  *
124 %*                                                              *
125 %****************************************************************
126
127 %       These ones work for 11-pt typesetting
128
129 \@ifundefined{selectfont} %DL is MS scheme present? 
130 {}{
131 \def\fiverm{\rm\tiny}           % Five pt
132 \def\sevrm{\rm\scriptsize}      % Seven pt
133
134 \def\nintt{\tt\footnotesize}
135 \def\ninrm{\rm\footnotesize}
136
137 \def\tenrm{\rm\small}           % Ten pt
138 \def\tentt{\tt\small}           % Ten pt
139
140 \def\elvrm{\rm\normalsize}      % Eleven pt
141 \def\elvit{\em\normalsize}
142
143 \def\twlbf{\bf\large}           % Twelve pt
144 \def\twlit{\em\large}
145 \def\twltt{\tt\large}
146 \def\twlrm{\rm\large}
147 \def\twfvtt{\tt\large}
148
149 \def\frtnrm{\rm\Large}          % Fourteen pt
150 \def\frtnbf{\bf\Large}
151 \def\frtnit{\em\Large}
152 \def\frtntt{\tt\Large}
153
154 \def\svtnsf{\sf\huge}           % Seventeen pt
155
156
157 % cant remember why I need these
158 \def\egt{\size{8}{9} }
159 \def\elv{\size{11}{12} }
160 \def\five{\size{5}{7} }
161 \def\fiv{\size{5}{6} }
162 \def\frtn{\size{14}{15} }
163 \def\nin{\size{9}{10} }
164 \def\sev{\size{7}{8} }
165 \def\six{\size{6}{7} }
166 \def\svtn{\size{17}{18} }
167 \def\ten{\size{10}{11} }
168 \def\twfv{\size{25}{27} }
169 \def\twl{\size{12}{14} }
170 \def\twty{\size{20}{22} }
171 }
172
173
174
175
176
177