7 % Style file to enable the simultaneous preparation of printed LaTeX and on-line
9 % Use in conjunction with Tex2RTF (see Tex2RTF documentation).
11 % Note that if a non-ASCII character starts a newline and there should be a space
12 % between the last word on the previous line and the first word on this line,
13 % you need to use \rtfsp to generate a space in Windows Help. \rtfsp is ignored
14 % in all other formats.
17 % Artificial Intelligence Applications Institute
20 % ============== C++/CLIPS Documentation Facilities ==============
22 % Each class definition should be typeset with e.g.
24 % \section{\class{Name}: Parent}
26 % followed by a description of the class.
27 % Each member should follow:
29 % \membersection{wxName::Member}
31 % with a description of what this member does.
32 % Then, one (or more if overloaded) member (function) in detail:
34 % \func{return type}{name}{args}
38 % where args is a list of \param{type}{name}, ...
43 % void DoIt(char *string);
47 % \func{void}{DoIt}{\param{char *}{string}}
50 \newcommand{\func}[3]{\hangafter=1\noindent\hangindent=10mm
51 {{\it #1} {\bf #2}\index{#2}}(#3)}
53 % For function/type definition where the name is a pointer,
56 % typedef void (*wxFunction)(wxObject&)
60 % \pfunc{typedef void}{wxFunction}{param{wxObject&}}
62 \newcommand{\pfunc}[3]{\hangafter=1\noindent\hangindent=10mm
63 {{\it #1} ({\bf *#2})\index{#2}}(#3)}
65 % Use an ordinary \section command for class name definitions.
67 % This is used for a member, such as wxBitmap: GetDepth
68 \newcommand{\membersection}[1]{\subsection*{#1}\index{#1}}
71 \newcommand{\clipsfunc}[3]{\hangafter=1\noindent\hangindent=10mm
72 {{\bf #1} ({\bf #2}\index{#2}}#3)}
74 \newcommand{\clipssection}[1]{\chapter{#1}}
76 % This is used for a CLIPS function name
77 \newcommand{\functionsection}[1]{\subsection*{#1}}
79 % Member: a type and a name
80 \newcommand{\member}[2]{{\bf #1 \it #2}}
82 % C++ Parameter: a type and a name (no intervening space)
83 \newcommand{\param}[2]{{\it #1}{\bf #2}}
85 % CLIPS Parameter: a type and a name (one intervening space)
86 \newcommand{\cparam}[2]{{\bf #1} {\it #2}}
88 % Class: puts in index
89 \newcommand{\class}[1]{#1\index{#1}}
91 %\newcommand{\docparam}[2]{\parskip=0pt {\it #1}\par\parskip=10pt\begin{indented}{1cm}{#2}\end{indented}}
94 \newcommand{\void}{{\it void}}
97 \newcommand{\destruct}[1]{{$\sim$}#1}
99 % Typeset insert/extract operators
100 \newcommand{\cinsert}{$<<$}
101 \newcommand{\cextract}{$>>$}
103 % pythonnote: A note about the wxpython interface.
104 %\newcommand{\pythonnote}[1]{{\bf wxPython note: }#1}
105 \newcommand{\pythonnote}[1]{{}}
106 \newcommand{\perlnote}[1]{{}}
108 % =================== Hypertext facilities ===================
110 % To insert hyperlinks (or references, in Latex), \label the sections
111 % or membersections \label{ref-label} immediately after the section, on the same line,
112 % and use \helpref{text-to-show}{ref-label} to make a reference.
115 % Type text with section reference
116 \newcommand{\helpref}[2]{{\it #1} (p.\ \pageref{#2}) }
118 % Type text with URL in verbatim mode
119 % \newcommand{\urlref}[2]{#1 (\verb$#2$)}
120 \newcommand{\urlref}[2]{\href{#1}{#2}}
122 % Don't typeset section number in LaTeX
123 \newcommand{\helprefn}[2]{{\it #1}}
125 % Like helpref, but popup text in WinHelp instead of hyperlinked
126 \newcommand{\popref}[2]{{\it #1}}
128 % Like footnote, but popup text.
129 \newcommand{\footnotepopup}[2]{{\it #1}\footnote{#2}}
131 % =================== On-line help specific macros ===================
134 % Global document font size/family, help only.
135 \newcommand{\helpfontsize}[1]{}
136 \newcommand{\helpfontfamily}[1]{}
138 % Ignore in all on-line help
139 \newcommand{\helpignore}[1]{#1}
140 % Only print in all on-line help
141 \newcommand{\helponly}[1]{}
144 \newcommand{\latexignore}[1]{}
145 % Only print in LaTeX
146 \newcommand{\latexonly}[1]{#1}
148 % Ignore in linear RTF
149 \newcommand{\rtfignore}[1]{#1}
150 % Only print in linear RTF
151 \newcommand{\rtfonly}[1]{}
153 % Ignore in WinHelp RTF
154 \newcommand{\winhelpignore}[1]{#1}
155 % Only print in WinHelp RTF
156 \newcommand{\winhelponly}[1]{}
159 \newcommand{\xlpignore}[1]{#1}
160 % Only print in wxHelp
161 \newcommand{\xlponly}[1]{}
164 \newcommand{\htmlignore}[1]{#1}
166 \newcommand{\htmlonly}[1]{}
168 % Input a file only for help system (binder thickness is not a limitation
170 \newcommand{\helpinput}[1]{}
172 \newcommand{\rtfsp}{ } % Force a space in RTF, ignore in Latex
174 % =================== Miscellaneous macros ===================
176 % Headings consistent with generated ones
177 \newcommand{\myheading}[1]{\vspace*{25pt}
184 % Heading with entry in contents page.
185 \newcommand{\chapterheading}[1]{\myheading{#1}
186 \addcontentsline{toc}{chapter}{#1}}
188 \newcommand{\sectionheading}[1]{\myheading{#1}
189 \addcontentsline{toc}{section}{#1}}
191 % Glossary environment
192 \newenvironment{helpglossary}{\newpage\chapterheading{Glossary}\begin{description}}{\end{description}}
195 \newcommand{\gloss}[1]{\item[#1]\index{#1}}
197 % Image: EPS in Latex, BMP or MF (whatever's available) in RTF. Requires psbox.
198 \newcommand{\image}[2]{\psboxto(#1){#2}}
200 % Image, left aligned (HTML)
201 \newcommand{\imager}[2]{\psboxto(#1){#2}}
203 % Image, right aligned (HTML)
204 \newcommand{\imagel}[2]{\psboxto(#1){#2}}
206 % Imagemap: principally for HTML only. In Latex,
208 \newcommand{\imagemap}[3]{\psboxto(#1){#2}}
210 % Headers and footers
211 % \setheader{EvenPageLeft}{EvenPageCentre}{EvenPageRight}
212 % {OddPageLeft}{OddPageCentre}{OddPageRight}
213 \newcommand{\setheader}[6]{
214 \lhead[\fancyplain{}{#1}]{\fancyplain{}{#4}}
215 \chead[\fancyplain{}{#2}]{\fancyplain{}{#5}}
216 \rhead[\fancyplain{}{#3}]{\fancyplain{}{#6}}
219 % \setfooter{EvenPageLeft}{EvenPageCentre}{EvenPageRight}
220 % {OddPageLeft}{OddPageCentre}{OddPageRight}
221 \newcommand{\setfooter}[6]{
222 \lfoot[\fancyplain{#1}{#1}]{\fancyplain{#4}{#4}}
223 \cfoot[\fancyplain{#2}{#2}]{\fancyplain{#5}{#5}}
224 \rfoot[\fancyplain{#3}{#3}]{\fancyplain{#6}{#6}}
227 % Needed for telling RTF where margin paragraph should go
228 % in mirrored margins mode.
229 \newcommand{\marginpareven}[1]{\hspace*{0pt}\marginpar{#1}}
230 \newcommand{\marginparodd}[1]{\hspace*{0pt}\marginpar{#1}}
232 % Environment for two-column table popular in WinHelp and manuals.
233 \newcommand{\twocolwidtha}[1]{\def\twocolwidthaval{#1}}
234 \newcommand{\twocolwidthb}[1]{\def\twocolwidthbval{#1}}
235 \newcommand{\twocolspacing}[1]{\def\twocolspacingval{#1}}
241 \newcommand{\twocolitem}[2]{#1 & #2\\}
242 \newcommand{\twocolitemruled}[2]{#1 & #2\\\hline}
244 \newenvironment{twocollist}{\renewcommand{\arraystretch}{\twocolspacingval}\begin{tabular}{lp{\twocolwidthbval}}}%
245 {\end{tabular}\renewcommand{\arraystretch}{1}}
247 % Specifying table rows for RTF compatibility
248 \newcommand{\row}[1]{#1\\}
250 % Use for the last ruled row for correct RTF generation.
251 \newcommand{\ruledrow}[1]{#1\\\hline}
253 % Indentation environment. Arg1 is left margin size
254 \newenvironment{indented}[1]{\begin{list}{}{\leftmargin=#1}\item[]}%
257 % Framed box of text, normal formatting.
258 \newcommand{\normalbox}[1]{\fbox{\vbox{#1}}}
259 % Double-framed box of text.
260 \newcommand{\normalboxd}[1]{\fbox{\fbox{\vbox{#1}}}}
262 % WITHDRAWN -- can't do in RTF, easily.
263 % Framed box of text, horizontally centred. Ragged right within box.
264 % \newcommand{\centeredbox}[2]{\begin{center}\fbox{\parbox{#1}{\raggedright#2}}\end{center}}
265 % Double-framed box of text, horizontally centred. Ragged right within box.
266 % \newcommand{\centeredboxd}[2]{\begin{center}\fbox{\fbox{\parbox{#1}{\raggedright#2}}}\end{center}}
268 % toocomplex environment: simply prints the argument in LaTeX,
269 % comes out verbatim in all generated formats.
270 \newenvironment{toocomplex}{}{}
272 % Colour: dummy commands since LaTeX doesn't support colour.
273 % \definecolour{name}{red}{blue}{green}
274 % \fcol{name}{text} ; Foreground
275 % \bcol{name}{text} ; Background
276 % \newcommand{\definecolour}[4]{}
277 % \newcommand{\definecolor}[4]{}
278 % Trickery needed to change from 0--255 to 0--1 ...
280 \def\scalecolornum#1{%
282 0.004\or 0.008\or 0.012\or 0.016\or 0.020\or
283 0.024\or 0.028\or 0.032\or 0.036\or 0.040\or
284 0.044\or 0.048\or 0.052\or 0.056\or 0.060\or
285 0.064\or 0.068\or 0.072\or 0.076\or 0.080\or
286 0.084\or 0.088\or 0.092\or 0.096\or 0.100\or
287 0.104\or 0.108\or 0.112\or 0.116\or 0.120\or
288 0.124\or 0.128\or 0.132\or 0.136\or 0.140\or
289 0.144\or 0.148\or 0.152\or 0.156\or 0.160\or
290 0.164\or 0.168\or 0.172\or 0.176\or 0.180\or
291 0.184\or 0.188\or 0.192\or 0.196\or 0.200\or
292 0.204\or 0.208\or 0.212\or 0.216\or 0.220\or
293 0.224\or 0.228\or 0.232\or 0.236\or 0.240\or
294 0.244\or 0.248\or 0.252\or 0.256\or 0.260\or
295 0.264\or 0.268\or 0.272\or 0.276\or 0.280\or
296 0.284\or 0.288\or 0.292\or 0.296\or 0.300\or
297 0.304\or 0.308\or 0.312\or 0.316\or 0.320\or
298 0.324\or 0.328\or 0.332\or 0.336\or 0.340\or
299 0.344\or 0.348\or 0.352\or 0.356\or 0.360\or
300 0.364\or 0.368\or 0.372\or 0.376\or 0.380\or
301 0.384\or 0.388\or 0.392\or 0.396\or 0.400\or
302 0.404\or 0.408\or 0.412\or 0.416\or 0.420\or
303 0.424\or 0.428\or 0.432\or 0.436\or 0.440\or
304 0.444\or 0.448\or 0.452\or 0.456\or 0.460\or
305 0.464\or 0.468\or 0.472\or 0.476\or 0.480\or
306 0.484\or 0.488\or 0.492\or 0.496\or 0.500\or
307 0.504\or 0.508\or 0.512\or 0.516\or 0.520\or
308 0.524\or 0.528\or 0.532\or 0.536\or 0.540\or
309 0.544\or 0.548\or 0.552\or 0.556\or 0.560\or
310 0.564\or 0.568\or 0.572\or 0.576\or 0.580\or
311 0.584\or 0.588\or 0.592\or 0.596\or 0.600\or
312 0.604\or 0.608\or 0.612\or 0.616\or 0.620\or
313 0.624\or 0.628\or 0.632\or 0.636\or 0.640\or
314 0.644\or 0.648\or 0.652\or 0.656\or 0.660\or
315 0.664\or 0.668\or 0.672\or 0.676\or 0.680\or
316 0.684\or 0.688\or 0.692\or 0.696\or 0.700\or
317 0.704\or 0.708\or 0.712\or 0.716\or 0.720\or
318 0.724\or 0.728\or 0.732\or 0.736\or 0.740\or
319 0.744\or 0.748\or 0.752\or 0.756\or 0.760\or
320 0.764\or 0.768\or 0.772\or 0.776\or 0.780\or
321 0.784\or 0.788\or 0.792\or 0.796\or 0.800\or
322 0.804\or 0.808\or 0.812\or 0.816\or 0.820\or
323 0.824\or 0.828\or 0.832\or 0.836\or 0.840\or
324 0.844\or 0.848\or 0.852\or 0.856\or 0.860\or
325 0.864\or 0.868\or 0.872\or 0.876\or 0.880\or
326 0.884\or 0.888\or 0.892\or 0.896\or 0.900\or
327 0.904\or 0.908\or 0.912\or 0.916\or 0.920\or
328 0.924\or 0.928\or 0.932\or 0.936\or 0.940\or
329 0.944\or 0.948\or 0.952\or 0.956\or 0.960\or
330 0.964\or 0.968\or 0.972\or 0.976\or 0.980\or
331 0.984\or 0.988\or 0.992\or 0.996\or 1\else\fi
334 \let\originaldefinecolor\definecolor
335 \def\definecolor#1#2#3#4{%
336 \originaldefinecolor{#1}{rgb}{%
340 \let\definecolour\definecolor
342 % \newcommand{\fcol}[2]{#2}
345 % \newcommand{\bcol}[2]{#2}
348 \newcommand{\sethotspotcolour}[1]{}
349 \newcommand{\sethotspotunderline}[1]{}
350 \newcommand{\settransparency}[1]{}
351 \newcommand{\backslashraw}[0]{}
352 \newcommand{\lbraceraw}[0]{}
353 \newcommand{\rbraceraw}[0]{}
354 \newcommand{\registered}[0]{(r)}
355 \newcommand{\background}[1]{}
356 % \newcommand{\textcolour}[1]{}
357 \let\textcolour\color
359 \newcommand{\overview}[2]{See \helpref{#1}{#2}.}
360 \newcommand{\docparam}[2]{{\it #1}\begin{list}{}{\leftmargin=1cm}\item[]
363 \newcommand{\wxheading}[1]{{\bf #1}}
364 \newcommand{\const}[0]{{\bf const}}
365 \newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
366 \newcommand{\windowstyle}[1]{{\bf #1}\index{#1}}
368 \addtolength{\textwidth}{1in}
369 \addtolength{\oddsidemargin}{-0.5in}
370 \addtolength{\topmargin}{-0.5in}
371 \addtolength{\textheight}{1in}