]> git.saurik.com Git - wxWidgets.git/blob - utils/tex2rtf/docs/tex2rtf.tex
added copy ctor to wxHashTable
[wxWidgets.git] / utils / tex2rtf / docs / tex2rtf.tex
1 \documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}%
2 \input{psbox.tex}
3 \newcommand{\commandref}[2]{\helpref{{\tt $\backslash$#1}}{#2}}%
4 \newcommand{\commandrefn}[2]{\helprefn{{\tt $\backslash$#1}}{#2}\index{#1}}%
5 \newcommand{\commandpageref}[2]{\latexignore{\helprefn{{\tt $\backslash$#1}}{#2}}\latexonly{{\tt $\backslash$#1} {\it page \pageref{#2}}}\index{#1}}%
6 \newcommand{\indexit}[1]{#1\index{#1}}%
7 \newcommand{\inioption}[1]{{\bf {\tt #1}}\index{#1}}%
8 \parskip=10pt%
9 \parindent=0pt%
10 %\backgroundcolour{255;255;255}\textcolour{0;0;0}% Has an effect in HTML only
11 \winhelpignore{\title{Manual for Tex2RTF 1.64:\\A \LaTeX\ to RTF and HTML converter}%
12 \author{Julian Smart}%
13 \date{October 1997}%
14 }%
15 \winhelponly{\title{Manual for Tex2RTF 1.64}%
16 \author{by Julian Smart\\$$\image{1cm;0cm}{tex2rtf.wmf}$$}%
17 }%
18 \makeindex%
19 \begin{document}%
20 \maketitle%
21 \pagestyle{fancyplain}%
22 \bibliographystyle{plain}%
23 \pagenumbering{roman}%
24 \setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}%
25 \setfooter{\thepage}{}{}{}{}{\thepage}%
26 \tableofcontents%
27
28 \chapter*{Copyright notice}%
29 \setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
30 \setfooter{\thepage}{}{}{}{}{\thepage}%
31
32 Copyright (c) 1997 Julian Smart.
33
34 Permission to use, copy, modify, and distribute this software and its
35 documentation for any purpose is hereby granted without fee, provided that the
36 above copyright notice, author statement and this permission notice appear in
37 all copies of this software and related documentation.
38
39 THE SOFTWARE IS PROVIDED ``AS-IS'' AND WITHOUT WARRANTY OF ANY KIND, EXPRESS,
40 IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
41 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
42
43 IN NO EVENT SHALL JULIAN SMART OR THE ARTIFICIAL INTELLIGENCE
44 APPLICATIONS INSTITUTE OR UNIVERSITY OF EDINBURGH BE LIABLE FOR ANY
45 SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR
46 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
47 WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY
48 OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
49 PERFORMANCE OF THIS SOFTWARE.
50
51 \chapter{Introduction}%
52 \pagenumbering{arabic}%
53 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
54 \setfooter{\thepage}{}{}{}{}{\thepage}%
55
56 This document describes a utility for converting \popref{\LaTeX}{latexgloss}\ files into
57 several other formats.
58
59 Only a subset of \LaTeX\ can be processed by this utility, especially
60 since the target document language will never perfectly match \LaTeX.
61 Whether the quality of the results is good enough will depend upon the
62 application and your own expectations. {\it This caveat is worth emphasizing}, because
63 many people assume that any old \LaTeX\ document will go through without modification: it might,
64 but the chances are you'll need to modify it a bit for Tex2RTF. Tex2RTF was written with
65 portable document maintenance and generation in mind, with less emphasis on accepting all \LaTeX\ syntax.
66 You have been warned!
67
68 Tex2RTF is heavily biased towards making on-line, hypertext versions of
69 \rtfsp\LaTeX\ documents, but the \popref{RTF}{rtf} converter can be used to generate linear,
70 paper-based documents too.
71
72 The latest version of Tex2RTF, plus source code, can be accessedfrom:
73
74 \begin{verbatim}
75 http://web.ukonline.co.uk/julian.smart/tex2rtf
76 ftp://www.remstar.com/pub/wxwin/tex2rtf
77 \end{verbatim}
78
79 It is available in Sun Open Look, Motif, Windows 3.1, Windows 95/NT, and
80 non-GUI UNIX versions.
81
82 Tex2RTF was developed using the free Open Look, Motif and Windows 3.1
83 C++ class library \popref{wxWindows}{wxwindows}.
84
85 \section{Status of Tex2RTF}\index{status of Tex2RTF}%
86
87 Tex2RTF is under continual development, often following users'
88 suggestions. From version 1.33, Tex2RTF is effectively in a second phase
89 of development. In addition to the bare minimum of syntax and facilities
90 for producing useable help systems or linear RTF, commands are being
91 added to allow visually effective, even aesthetically pleasing,
92 documentation to be produced.
93
94 Examples are the \verb$\indented$, \verb$\twocollist$ and \verb$\marginpar$\rtfsp
95 commands; over time I hope to be able to reproduce most of the popular
96 styles of formatting and presentation in Windows Help files, whilst
97 allowing a reasonable equivalent to be generated in the other formats.
98
99 Some new developments in the various formats still need to be catered
100 for by Tex2RTF, such as Windows 95 help files and HTML 3.0. Features
101 that can be added to Tex2RTF as a result of these developments include
102 math and inline image map support in HTML, table support in Windows
103 Help, and generally better formatting abilities in both. However, documentation
104 about these formats is sketchy at the time of writing (October 1995).
105
106 \section{Acknowledgements}\index{acknowledgements}%
107
108 Thanks are due to the many people in AIAI and on the Internet at large
109 who have pointed out bugs or shortcomings in Tex2RTF. Michel Lavaud has been
110 a great help in giving advice for improvements to the manual.
111
112 \section{Change log}\index{change log}%
113
114 Version 1.65, August 24th 1999
115
116 \begin{itemize}\itemsep=0pt
117 \item Added htmlWorkshopFiles setting, to output .hpp, .hhc
118 and .hhk (HTML Workshop) files, for generating MS HTML Help or wxHTML Help.
119 \end{itemize}
120
121 Version 1.64, October 20th 1998
122
123 \begin{itemize}\itemsep=0pt
124 \item Added \verb$\insertatlevel$ command.
125 \end{itemize}
126
127 Version 1.63, October 21st 1997
128
129 \begin{itemize}\itemsep=0pt
130 \item Debugged problem with Word bookmarks not being inserted for unnumbered
131 sections.
132 \end{itemize}
133
134 Version 1.62, August 18th 1997
135
136 \begin{itemize}\itemsep=0pt
137 \item Added contributed changes by Andreas Münzenmaier to support German
138 accents by allowing the characters to be placed in input files, and also
139 converting them back to character codes in the WinHelp {\tt .cnt} file.
140 \item Now \verb$\helpref$ causes page references to be inserted in linear RTF,
141 or section references if not on Word mode.
142 \item WinHelp table caption bug fixed.
143 \end{itemize}
144
145 Version 1.61, June 11th 1997
146
147 \begin{itemize}\itemsep=0pt
148 \item \verb$\fcol$ now works in HTML using the FONT tag.
149 \item \verb$\twocollist$ works in indented paragraphs, and is now
150 implemented properly using tables in HTML.
151 \item New boolean option {\bf combineSubSections} added, which switches off
152 the generation of separate HTML files below section level. This can reduce the
153 number of HTML files substantially.
154 \end{itemize}
155
156 Version 1.60, February 18th 1997
157
158 \begin{itemize}\itemsep=0pt
159 \item The index command now allows complex LaTeX instead of inserting the
160 first argument verbatim.
161 \end{itemize}
162
163 Version 1.59, February 14th 1997
164
165 \begin{itemize}\itemsep=0pt
166 \item Added special processing for a chapter called Popups.
167 \end{itemize}
168
169 Version 1.58, August 1st 1996
170
171 \begin{itemize}\itemsep=0pt
172 \item Added HTML settings: backgroundImage, backgroundColour, textColour,
173 linkColour, followedLinkColour.
174 \item Added \verb$\backgroundimage$, \verb$\backgroundcolour$, \verb$\linkcolour$,
175 \verb$followedLinkColour$. \verb$\background$ now obsolete (but behaviour is
176 backward compatible).
177 \item The default background colour is now white.
178 \item Debugged HTML \verb$\ss$ (put in wrong place in code).
179 \end{itemize}
180
181 Version 1.57, July 27th 1996
182
183 \begin{itemize}\itemsep=0pt
184 \item Added upperCaseNames setting; now all links in HTML files are in lower
185 case unless specified otherwise.
186 \end{itemize}
187
188 Version 1.56, May 25th 1996
189
190 \begin{itemize}\itemsep=0pt
191 \item Debugged \verb$\special$ processing for HTML (escaped characters such ampersand).
192 \item Added contentsDepth for Word RTF contents page.
193 \item Removed overlapping href in HTML pages.
194 \end{itemize}
195
196 Version 1.55, May 6th 1996
197
198 \begin{itemize}\itemsep=0pt
199 \item \verb$\verb$ support corrected for HTML.
200 \item Added {\it abstractName} setting.
201 \item Debugged incorrect centring for HTML buttons.
202 \end{itemize}
203
204 Version 1.54, Feburary 28th 1996
205
206 \begin{itemize}\itemsep=0pt
207 \item Bug fix for 24-bit bitmap inclusion when generating RTF:
208 caused a floating point error.
209 \item Added htmlIndex setting, to generate an {\tt .htx} index file of an HTML document for
210 use in wxHelp version 2 or other programs.
211 \item Fixed header/footer bug.
212 \item Change colons to spaces for WinHelp RTF keywords, since the colon has a specific meaning in WinHelp.
213 \end{itemize}
214
215 Version 1.53, January 1995
216
217 \begin{itemize}\itemsep=0pt
218 \item Now stores paths from file inclusions, so that if you include
219 a file A from a separate directory, which then includes a file B
220 relative to that directory, Tex2RTF will search in the path
221 of A to find file B.
222 \end{itemize}
223
224 Version 1.52, December 1995
225
226 \begin{itemize}\itemsep=0pt
227 \item \verb$\helpref$ and related commands now generate italicized instead
228 of bold `anchor' text for linear formats.
229 \item Cured bug where Tex2RTF could hang on start up, while reading
230 the {\tt tex2rtf.ini} file. This occurred when a comment finished with
231 the end of file.
232 \item Split the commands reference in two (\LaTeX\ and Tex2RTF commands),
233 and added a {\it Commands by category} section.
234 \item Removed a bug that caused HTML output to be garbled on the
235 second pass.
236 \end{itemize}
237
238 Version 1.51: Windows 95 enhancements.
239
240 \begin{itemize}\itemsep=0pt
241 \item Added settings winHelpContents (for generating {\tt .cnt} file), winHelpVersion (for specifying
242 target version of WinHelp).
243 \item Added space to non-scrolling region of topic.
244 \item If winHelpVersion is 4, makes non-scrolling region grey and the rest yellow.
245 \item Added \verb$\settransparency$ command for WinHelp 4 transparent bitmaps.
246 \end{itemize}
247
248 Version 1.50:
249
250 \begin{itemize}\itemsep=0pt
251 \item Tidied up HTML generation (headers and bodies in the right places).
252 \item Eliminated extra space after verbatim in HTML.
253 \item Added support for simple tables in HTML.
254 \item Added \verb$\textcolour$, \verb$\background$ for colouring text and background in HTML.
255 \item Added \verb$\copyright$, \verb$\registered$ symbols in HTML.
256 \item Added \verb$\imagel$, \verb$\imager$ for left and right aligned images
257 in HTML.
258 \item Added \verb$\brclear$ for clearing image alignment in HTML.
259 \item Added \LaTeX\ font size support in HTML (\verb$\small$, \verb$\large$ etc.) using Netscape font extensions.
260 \item HTML button-bar change: always shows the same buttons, but may make one or more insensitive. Changing button positions
261 could be very annoying.
262 \item Tidied up RTF generation for non-Word viewers ({\it useWord} set to {\it false}). Will now look reasonable using
263 Windows 95 Quick View and WordPad: WordPad doesn't do tables but does bitmaps, and QuickView does tables but not
264 bitmaps. Such is life.
265 \end{itemize}
266
267 Version 1.49:
268
269 \begin{itemize}\itemsep=0pt
270 \item Cured some bugs (char used for fgetc instead of int) so now compiles for
271 WIN32s.
272 \end{itemize}
273
274 Version 1.48:
275
276 \begin{itemize}\itemsep=0pt
277 \item Added some LaTeX2e fonts commands such as \verb$\rmfamily$, \verb$\textrm$, \verb$\emph$.
278 Most of these are aliases for other commands.
279 \end{itemize}
280
281 Up to version 1.47:
282
283 \begin{itemize}\itemsep=0pt
284 \item Added \verb$\backslashraw$, \verb$\rbraceraw$ and \verb$\lbraceraw$ commands
285 to help output arbitrary RTF.
286 \item Added \verb$\sethotspotcolour$, \verb$\sethotspotunderline$ commands for controlling
287 WinHelp hotspot appearance.
288 \item Added truncateFilenames option.
289 \item Improved HTML inline image handling.
290 \end{itemize}
291
292 Up to version 1.46:
293
294 \begin{itemize}
295 \itemsep=0pt
296 \item Added \verb$\urlref$ command for specifying HTML URLs.
297 \item Started support for translating .SHG files to HTML .map files
298 (this works if compiled under Borland, not MS VC++ for some reason!)
299 \item Fixed nasty memory bug in HTML code (thanks Petr).
300 \end{itemize}
301
302 Version 1.40:
303
304 \begin{itemize}
305 \itemsep=0pt
306 \item Added {\it generateHPJ} option for generating the .HPJ WinHelp project file
307 \item Added support for DDE via a small command set
308 \end{itemize}
309
310 Version 1.39:
311
312 \begin{itemize}
313 \itemsep=0pt
314 \item Option for using Word's INCLUDEPICTURE or IMPORT field, since the method that
315 works for Works, doesn't work for Word! See {\it bitmapMethod} in the
316 settings section.
317 \end{itemize}
318
319 Version 1.37-1.38:
320
321 \begin{itemize}
322 \itemsep=0pt
323 \item Improved bibliography reading and cured some minor bugs
324 \item Added \verb$\ss$ German sharp s
325 \item Added rudimentary \verb$\special$ command (simply copies the argument
326 to the output)
327 \item Added missing '.' in subsubsection reference
328 \item Added primitive internationalisation support with contentsName, tablesName etc.
329 \end{itemize}
330
331 Version 1.36:
332
333 \begin{itemize}
334 \itemsep=0pt
335 \item All HTML special characters now correctly delimited by a semicolon.
336 \item Cured HTML section-duplicating bug I introduced in 1.35.
337 \item Cured too much spacing after sections in RTF, introduced in 1.35.
338 \end{itemize}
339
340 Version 1.35:
341
342 \begin{itemize}
343 \itemsep=0pt
344 \item Added TCHECK tool, to help track down common Tex2RTF syntax problems.
345 \item Included Kresten Thorup's LACHECK \LaTeX\ checking tool with DOS executable.
346 \item Now ignores \verb|\@| command.
347 \item Table of contents now includes numbered subsubsections.
348 \end{itemize}
349
350 Version 1.34:
351
352 \begin{itemize}
353 \itemsep=0pt
354 \item Added \verb$\multicolumn$ `support' to stop RTF readers crashing.
355 \item Added {\it useWord, defaultColumnWidth, compatibility} options to {\tt .ini} file.
356 \item \verb$\comment$ environment now doesn't complain about unknown syntax.
357 \item Added \verb$\toocomplex$ environment that treats its contents as
358 verbatim in output, treated as normal output in true \LaTeX.
359 \item End-of-line comments allowed in in {\tt .ini} files, using semicolon,
360 percent or hash characters to denote a comment.
361 \item For linear RTF, Word for Windows support for \verb$\printindex$,\rtfsp
362 \verb$\index$, \verb$\pageref$, \verb$\listoftables$, \verb$\listoffigures$, contents page.
363 \item Added RTF support for various symbols.
364 \item Added colour support, with \verb$\definecolour$, \verb$\fcol$ and \verb$\bcol$ commands.
365 \item Fixed some bugs: page numbering problems, macros deleted after first pass.
366 \end{itemize}
367
368 Version 1.33:
369
370 \begin{itemize}
371 \itemsep=0pt
372 \item Added -charset command-line switch.
373 \item Added \verb$\itemsep$, \verb$\twocolumn$, \verb$\onecolumn$, \verb$\setfooter$, \verb$\setheader$, \verb$\pagestyle$,
374 \verb$\pagenumbering$, \verb$\thechapter$, \verb$\thesection$, \verb$\thepage$, \verb$\thebibliography$, \verb$\bibitem$ commands.
375 \item New environment called \verb$\twocollist$ for making two-column lists,
376 with formatting optimized for target file format.
377 \item New \verb$\indented$ environment for controlling indentation.
378 \item List indentation and bulleting improved.
379 \item Added commands \verb$\normalbox$, \verb$\normalboxd$ for putting borders around text.
380 \item Many options can now be specified in the {\tt .ini} file along with custom macros.
381 \item Cured bug that put too much vertical space after some commands.
382 \item Improved table formatting.
383 \item Optional `Up' button in WinHelp files for easier navigation.
384 \item Verbatim lines followed by \verb$\par$ in RTF, to improve WinHelp wrapping.
385 \item Conversion may now be aborted under Windows by attempting to close the application.
386 \item Added conditional output for all formats: \verb$\latexignore$, \verb$\latexonly$, \verb$\rtfignore$, \verb$\rtfonly$,
387 \verb$\winhelpignore$, \verb$\winhelponly$, \verb$\htmlignore$, \verb$\htmlonly$, \verb$\xlpignore$, \verb$\xlponly$.
388 \item HTML generator can now add Contents, Up, $<<$ and $>>$ buttons (text or bitmap) to
389 each page except titlepage.
390 \end{itemize}
391
392 Version 1.32:
393
394 \begin{itemize}
395 \itemsep=0pt
396 \item \verb$\footnote$ command now supported in WinHelp RTF, and \verb$\footnotepopup$\rtfsp
397 added.
398 \end{itemize}
399
400 Version 1.31:
401
402 \begin{itemize}
403 \itemsep=0pt
404 \item \verb$\footnote$ command now supported, in linear RTF only.
405 \item Added {\tt -bufsize} option, for converting large documents.
406 \end{itemize}
407
408 Version 1.30:
409
410 \begin{itemize}
411 \itemsep=0pt
412 \item \verb$\image$ command now scales metafiles (but not bitmaps).
413 \item Fixed macro loading bug, now informs the user of the found macro filename.
414 \item Now supports paragraph and subparagraph commands.
415 \item Support for some accents added.
416 \item \verb$\verb$ command now supported.
417 \item Bug in subsubsection handling fixed.
418 \item Can save conversion log in a text file.
419 \end{itemize}
420
421 Version 1.22:
422
423 \begin{itemize}
424 \itemsep=0pt
425 \item More informative, warns against use of some commands.
426 \item Added compile-time support for non-GUI environments (such as plain UNIX).
427 \item Improved HTML support.
428 \end{itemize}
429
430 \chapter{Running Tex2RTF}\index{running Tex2RTF}%
431 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
432 \setfooter{\thepage}{}{}{}{}{\thepage}%
433
434 Tex2RTF may be run in a number of ways: with or without command line arguments,
435 interactively or in batch mode, and with an optional initialisation file
436 for specifying \LaTeX\ macros and detailed options.
437
438 Tex2RTF accepts two arguments (input and output filenames) and trailing
439 (optional) switches. If both filenames are given, the utility will work
440 in batch mode. Otherwise, if Tex2RTF has been compiled for GUI
441 operation, a main window will be shown, with appropriate menu items for
442 selecting input and output filenames, starting off the conversion
443 process, and so on.
444
445 Note that if the file {\tt bullet.bmp}\index{bullets} is found by Tex2RTF, this bitmap
446 will be used as the bullet for items in \verb$\itemize$ lists, for WinHelp
447 output. Otherwise, a symbol will be inserted (linear RTF) or bold `o'
448 will be used instead (all other formats).
449
450 Syntax error reporting is fairly minimal. Unrecognised macro errors may
451 actually be produced by an unbalanced brace or passing the wrong number of
452 arguments to a command, so look in the vicinity of the error for the
453 real cause.
454
455 \normalbox{Some of the syntax that is OK for true \LaTeX\ but which trips up
456 Tex2RTF, may be detected by the TCHECK\index{TCHECK} program included in the tools
457 directory of the Tex2RTF distribution. Some \LaTeX\ errors may be picked up
458 by the LACHECK\index{LACHECK} program, also found in the tools directory.}
459
460 It is recommended that you run Tex2RTF twice in order to be sure of
461 resolving all references and including an up-to-date contents page.
462
463 If importing RTF files into Word for Windows\index{Microsoft Word}, you may need to reformat
464 the document. The easiest way to do this is to select all text with
465 CTRL-A, then reformat with F9. Reformat again to ensure all references
466 are resolved. For the second format, respond with {\it Update Entire
467 Table} to prompts.
468
469 \winhelponly{
470 \section{Tex2RTF Interface}
471
472 This is the Tex2RTF interface under Windows. Click on an area of the
473 picture for more information.
474
475 $$\imagemap{1cm;0cm}{screen}{mapref}$$
476
477 \subsection{Menu bar}\label{menubar}
478
479 Use the menubar for interactive operations.
480
481 \subsection{Message area}\label{messagearea}
482
483 Tex2RTF writes warning and error messages on this window.
484
485 \subsection{Status line}\label{statusline}
486
487 Displays help on menu items as the user drags the cursor over the menus.
488
489 \subsection{Mode indicator}\label{modeindicator}
490
491 Displays the output mode Tex2RTF is currently in.
492 }
493
494 \section{Command line arguments}\index{command line arguments}%
495
496 These are the optional arguments you may give Tex2RTF on the command line.
497
498 \twocolwidtha{5cm}
499 \begin{twocollist}
500 \twocolitem{{\bf -bufsize}}{Specifies buffer size in K (default 60 under Windows,
501 500 under UNIX). Large files (particularly large verbatim environments)
502 may require a large buffer size, equal to the largest argument of a \LaTeX\ command.
503 Note that this value may not be larger than 64 under Windows.}
504 \twocolitem{{\bf -html}}{Specifies HTML (World Wide Web) output.}
505 \twocolitem{{\bf -interactive}}{Forces interactive mode even if both
506 filenames are given.}
507 \twocolitem{{\bf -charset charset}}{Specifies a character set for
508 RTF production. This can be one of ansi, mac, pc, and pca.
509 The default is ansi.}
510 \twocolitem{{\bf -macros filename}}{Specifies a file for the custom macro
511 file -- see \helpref{Macro not found error}{macronotfound}.}
512 \twocolitem{{\bf -rtf}}{Specifies linear RTF output.}
513 \twocolitem{{\bf -sync}}{Forces synchronous mode (no yielding to other
514 processes) -- usually use this in non-interactive mode.}
515 \twocolitem{{\bf -twice}}{Tells Tex2RTF to run the conversion twice to ensure all
516 references and citations are resolved and the contents page included.}
517 \twocolitem{{\bf -winhelp}}{Specifies Windows Help RTF output.}
518 \end{twocollist}
519
520 \section{Initialisation file syntax}\label{inifile}\index{initialisation file}%
521
522 The initialisation file contains further detailed options for
523 customising Tex2RTF's behaviour. A file may be specified
524 with the {\tt -macros} command line switch, otherwise Tex2RTF
525 looks for the file {\tt tex2rtf.ini} in the working directory
526 or input file directory.
527
528 The file may comprise macro\index{macros} (command) definitions or option settings.
529
530 The syntax for a macro definition is:
531
532 \begin{verbatim}
533 \name [number of args] {...LaTeX code...}
534 \end{verbatim}
535
536 For example:
537
538 \begin{verbatim}
539 \crazy [2]{{\bf #2} is crazy but #1 is not}
540 \something [0]{}
541 \julian [0]{Julian Smart}
542 \end{verbatim}
543
544 The syntax for an option setting is:
545
546 \begin{verbatim}
547 name = value
548 \end{verbatim}
549
550 or
551
552 \begin{verbatim}
553 name = "value"
554 \end{verbatim}
555
556 For example:
557
558 \begin{verbatim}
559 conversionMode = RTF
560 runTwice = true
561 titleFontSize = 12
562 authorFontSize = 10
563 headerRule = yes
564 footerRule = yes
565 \end{verbatim}
566
567 Options expecting boolean values accept {\it 1, 0, true, false, yes, no} in any combination of upper or
568 lower case.
569
570 End-of-line comments are allowed in an initialisation file, using the
571 hash, semicolon or percent signs to denote the start of a comment, which runs
572 until the end of the line.
573
574 \subsection{Tex2RTF options}\index{options in initialisation file}\index{tex2rtf.ini}\index{initialisation file}\index{macros}%
575
576 These are the allowable options in an initialisation file.
577
578 \subsubsection{General options}\label{generaloptions}
579
580 \twocolwidtha{5cm}
581 \begin{twocollist}
582 \htmlignore{\twocolitemruled{Option}{Description}}
583 \twocolitem{\inioption{compatibility}}{Set to true for maximum \LaTeX\ compatibility, e.g. if
584 tables crash RTF readers. Should be false (default) if the Tex2RTF guidelines
585 are followed, e.g. use of $\backslash${\tt row} command in tabular environment.}
586 \twocolitem{\inioption{conversionMode}}{One of RTF, WinHelp, XLP (or wxHelp), and HTML.}
587 \twocolitem{\inioption{ignoreInput}}{Adds the filename to the list of files ignored by the $\backslash${\tt input} command.
588 The only default filename in the list is {\tt psbox.tex}.}
589 \twocolitem{\inioption{isInteractive}}{If true, runs in interactive mode (the default).}
590 \twocolitem{\inioption{runTwice}}{If true, runs the converter twice.}
591 \end{twocollist}
592
593 \subsubsection{Presentation options}\index{options, presentation}%
594
595 \begin{twocollist}
596 \htmlignore{\twocolitemruled{Option}{Description}}
597 \twocolitem{\inioption{authorFontSize}}{Specifies the point size for the author and date (RTF only).}
598 \twocolitem{\inioption{chapterFontSize}}{Specifies the point size for chapter headings (RTF only).}
599 \twocolitem{\inioption{documentFontSize}}{One of 10, 11 and 12, to specify the main font size
600 independently of the \LaTeX\ document style command.}
601 \twocolitem{\inioption{sectionFontSize}}{Specifies the point size for section headings (RTF only).}
602 \twocolitem{\inioption{subsectionFontSize}}{Specifies the point size for subsection headings (RTF only).}
603 \twocolitem{\inioption{titleFontSize}}{Specifies the point size for the title (RTF only).}
604 \twocolitem{\inioption{chapterName}}{The string used when referencing chapters. The default is ``chapter".}
605 \twocolitem{\inioption{sectionName}}{The string used when referencing sections. The default is ``section".}
606 \twocolitem{\inioption{subsectionName}}{The string used when referencing subsections. The default is ``subsection".}
607 \twocolitem{\inioption{subsubsectionName}}{The string used when referencing subsubsections. The default is ``subsubsection".}
608 \twocolitem{\inioption{indexName}}{The string used for printing the index heading. The default is ``Index".}
609 \twocolitem{\inioption{contentsName}}{The string used for printing the contents heading. The default is ``Contents".}
610 \twocolitem{\inioption{abstractName}}{The string used for printing the abstract heading. The default is ``Abstract".}
611 \twocolitem{\inioption{tablesName}}{The string used for printing the list of tables heading. The default is ``List of Tables".}
612 \twocolitem{\inioption{tableName}}{The string used when referencing a table. The default is ``table".}
613 \twocolitem{\inioption{figuresName}}{The string used for printing the list of figures heading. The default is ``List of Figures".}
614 \twocolitem{\inioption{figureName}}{The string used when referencing a figure. The default is ``figure".}
615 \twocolitem{\inioption{glossaryName}}{The string used for printing the glossary heading. The default is ``Glossary".}
616 \twocolitem{\inioption{referencesName}}{The string used for printing the references heading. The default is ``References".}
617 \end{twocollist}
618
619 \subsubsection{RTF and WinHelp options}\label{rtfwinhelpoptions}\index{options, RTF}\index{RTF}%
620
621 \begin{twocollist}
622 \htmlignore{\twocolitemruled{Option}{Description}}
623 \twocolitem{\inioption{bitmapMethod}}{Can be ``hex'' (embed the hex data in the file with a $\backslash$dibitmap keyword),
624 ``includepicture'' (use the MS Word 6.0 INCLUDEPICTURE field) or ``import'' (an earlier name
625 for INCLUDEPICTURE). ``hex'' may be used for importing into MS Works, but this doesn't work
626 for Word 6.0. The default is ``includepicture''.}
627 \twocolitem{\inioption{contentsDepth}}{The depth of headings that is displayed in the table of contents. The default
628 is 4 but you may wish to reduce this, for example for manuals that document C++ and have a large number of
629 headings for member functions.}
630 \twocolitem{\inioption{defaultColumnWidth}}{The width in points for columns in tables
631 where the width of the column is not set by using {\it p} in the tabular
632 argument. The default is 100.}
633 \twocolitem{\inioption{footerRule}}{If true, draws a rule above footers (linear RTF only).}
634 \twocolitem{\inioption{generateHPJ}}{If true, generates a .HPJ project file (WinHelp mode only).}
635 \twocolitem{\inioption{headerRule}}{If true, draws a rule below headers (linear RTF only).}
636 \twocolitem{\inioption{listLabelIndent}}{Specifies the size of list item label indentation, in points.
637 The default is 18.}
638 \twocolitem{\inioption{listItemIndent}}{Specifies the size of list item indentation, in points. The default
639 is 40.}
640 \twocolitem{\inioption{indexSubsections}}{If true (the default), subsection and subsubsection
641 titles are indexed in RTF mode.}
642 \twocolitem{\inioption{mirrorMargins}}{If true, margins are mirrored in twosided documents (linear RTF only).}
643 \twocolitem{\inioption{useWord}}{If true (the default), Word for Windows RTF
644 formatting is used where possibly, e.g. for the table of contents, list of
645 tables, and list of figures.}
646 \twocolitem{\inioption{useHeadingStyles}}{If true (the default), sections are marked with
647 appropriate heading styles for generating the table of contents in RTF.}
648 \twocolitem{\inioption{useUpButton}}{If true (the default), WinHelp files will be generated with an {\bf Up}\rtfsp
649 button to make browsing easier. Note that you need to put an extra line in the CONFIG section
650 of your .HPJ file:
651
652 {\tt CreateButton("Up", "\&Up", "JumpId(`name.hlp', `Contents')")}
653
654 where {\tt name.hlp} is the name of your help file.}
655 %%% NEED TO BREAK THE LIST AT THE PAGE BREAK BECAUSE LATEX IS STUPID
656 %%% UNFORTUNATELY, Tex2RTF IS STUPIDER SO NEED TO COMMENT OUT THIS
657 %%% LINE WHEN MAKING HTML, RTF, XLP
658 %\latexonly{\end{twocollist}\newpage\begin{twocollist}}
659 \twocolitem{\inioption{winHelpContents}}{If yes, ok or true, a WinHelp {\tt .cnt} file will be generated (used in Windows 95 for either old WinHelp
660 files or new WinHelp 4 files).}
661 \twocolitem{\inioption{winHelpVersion}}{The version of WinHelp being targetted. This affects the generated {\tt .hpj} file and features
662 such as transparent bitmaps which are new to version 4 or later. The default is 3.}
663 \twocolitem{\inioption{winHelpTitle}}{Windows Help file title, inserted into the project file if {\it generateHPJ} is true.}
664 \end{twocollist}
665
666 \subsubsection{HTML options}\label{htmloptions}\index{options, HTML}\index{HTML}%
667
668 \begin{twocollist}
669 \htmlignore{\twocolitemruled{Option}{Description}}
670 \twocolitem{\inioption{htmlBrowseButtons}}{Allows generation of Contents, Up, browse back and browse forward
671 buttons on each HTML page except title page. Specify none, text or bitmap. If you specify
672 bitmap, make sure that the files {\tt contents.gif}, {\tt up.gif}, {\tt back.gif} and {\tt forward.gif} are in the
673 directory where the HTML files will reside: samples are given in the docs directory.}
674 \twocolitem{\inioption{truncateFilenames}}{If true, uses {\tt .htm} suffix instead of {\tt .html},
675 and truncates filenames within HTML documents.}
676 \twocolitem{\inioption{htmlIndex}}{If true, specifies generation of an {\tt .htx} index file for an HTML document.
677 This file can be used in wxHelp version 2 or other programs. The file consists of a number of lines,
678 each line with three fields separated by bar characters: the indexed phrase, the file, and a label in the file.}
679
680 \twocolitem{\inioption{htmlWorkshopFiles}}{If true, specifies generation of {\tt .hpp, .hhc} and {\tt .hhk} files
681 which can be used to create both MS HTML Help and wxHTML Help files. wxHTML Help
682 is the HTML help facility that can be used by wxWindows 2 applications (see the wxWindows manual
683 and the wxWindows HTML sample).}
684 \twocolitem{\inioption{upperCaseNames}}{If true, filenames in links are in upper case. By default
685 filenames are in lower case.}
686 \twocolitem{\inioption{backgroundColour}}{Specifies the RGB background colour for the document, e.g. {\tt 255;255;255} for white.
687 The default is white.}
688 \twocolitem{\inioption{backgroundImage}}{Specifies the RGB background image for the document, e.g. {\tt tile.gif}.}
689 \twocolitem{\inioption{textColour}}{Specifies the RGB text colour for the document, e.g. {\tt 0;0;0} for black.}
690 \twocolitem{\inioption{linkColour}}{Specifies the RGB link colour for the document, e.g. {\tt 0;0;255} for blue.}
691 \twocolitem{\inioption{followedLinkColour}}{Specifies the RGB followed link colour for the document, e.g. {\tt 0;0;255} for blue.}
692 \twocolitem{\inioption{combineSubSections}}{If true (or yes), switches off
693 the generation of separate HTML files below section level. This can reduce the
694 number of HTML files substantially. A subsection contents list is inserted before
695 the first subsection.}
696 \end{twocollist}
697
698 \section{DDE commands}\index{DDE}%
699
700 A Windows program can hold a conversation with Tex2RTF using DDE. The Tex2RTF server name is
701 ``TEX2RTF'', and the topic name to use is also ``TEX2RTF''.
702
703 Tex2RTF functionality is accessed using the DDE {\it Execute} message.
704 The {\it Execute} data should consist of a command name and possibly one
705 argument, e.g.
706
707 \begin{verbatim}
708 INPUT c:\docs\mine.tex
709 \end{verbatim}
710
711 If the command is not recognised, a standard TEX2RTF.INI option is assumed.
712
713 The {\it Request} DDE message can be used to query the return status of an {\it Execute}
714 command, and will be one of {\it OK} (no error), {\it CONVERSION ERROR}, or a more
715 specific error string.
716
717 The following DDE commands may be used:
718
719 \begin{twocollist}
720 \htmlignore{\twocolitemruled{Command}{Description}}
721 \twocolitem{\inioption{EXIT}}{Takes no argument, and exits Tex2RTF.}
722 \twocolitem{\inioption{GO}}{Takes no argument, and initiates the conversion.}
723 \twocolitem{\inioption{INPUT}}{Takes a file name as the argument, and sets the input file to be this name.}
724 \twocolitem{\inioption{MINIMIZE}}{Takes no argument, and minimizes Tex2RTF.}
725 \twocolitem{\inioption{OUTPUT}}{Takes a file name as the argument, and sets the input file to be this name.}
726 \twocolitem{\inioption{RESTORE}}{The same as SHOW.}
727 \twocolitem{\inioption{SHOW}}{Takes no argument, and unminimizes Tex2RTF.}
728 \end{twocollist}
729
730 \section{Performance issues}\index{performance}%
731
732 Since Tex2RTF reads the whole file into memory, a lot of memory is needed.
733 For very large documents, 16MB of RAM is adviseable.
734
735 I tested conversion of the wxWindows 1.63 manual on both VC++ 1.5 and
736 Watcom WIN32s versions of Tex2RTF, both running under Windows 3.11 on a
737 Gateway P60 with 16MB of RAM and a 2MB disk cache. Two passes were
738 made, with 1.5MB of WinHelp RTF being generated. The unoptimized 16-bit
739 version took 169 seconds. The optimized WIN32s version took 126 seconds,
740 a significant improvement. Systems with faster disk subsystems should see
741 an even better relative performance of the 32-bit version.
742
743 \chapter{Writing documents with Tex2RTF}\index{LaTeX}%
744 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
745 \setfooter{\thepage}{}{}{}{}{\thepage}%
746
747 \section{Why use \LaTeX?}
748
749 \LaTeX\ happens to be a very convenient format if you need to produce
750 documents (such as manuals, help facilities, up-to-date information) in
751 both printed and on-line media. Being a language rather than a WYSIWYG system,
752 it allows explicit specification of layout and document structure, lending
753 itself well to hypertext applications and automatic document generation.
754 Many people also prefer to use \LaTeX\ for ordinary use since it encourages
755 a logical document structure and the user is not distracted by having to perfect
756 the appearance; many layout decisions are taken by \LaTeX\ automatically.
757
758 Although \LaTeX\ is not as fancy as modern word processors and desk-top
759 publishing packages, it is for many purposes quite adequate, and sometimes
760 more flexible than its modern counterparts.
761
762 The conversion utility gives \LaTeX\ a new lease of life by allowing
763 virtually all other wordprocessor formats to be generated from documents
764 containing a reasonable subset of \LaTeX\ syntax. From the same \LaTeX\
765 sources, we can now generate printed manuals, Windows Help files, \popref{wxHelp}{wxhelp}\rtfsp
766 files, RTF-compatible word processor formats such as MS Word, and \popref{HTML}{html}\rtfsp
767 files for use in the World Wide Web. Since the conversion tool is
768 free, as are \LaTeX, HTML viewers, wxHelp and (effectively) Windows
769 Help, there are no financial or time penalties for providing
770 documentation in a wide range of printed and hypertext formats.
771
772 \section{Help versus the printed page}\index{on-line help}%
773
774 The purist may argue, quite rightly, that on-line help systems and
775 printed manuals have different characteristics; help windows tend to be
776 much smaller than pages, help topics should be more stand-alone than
777 pages in a manual, navigation methods are very different, etc. Therefore,
778 help systems should be {\it based} on printed documentation but
779 separately hand-crafted into hypertext help, preferably by an
780 independent person or team.
781
782 This might be the ideal, but many organisations or individuals simply
783 do not have the time: on-line help wouldn't get done if the
784 documentation effort had to be doubled. However, Tex2RTF does provide
785 some commands to allow tailoring the documentation to printed or
786 on-line form, such as \verb$\helponly$ and \verb$\helpignore$. An awareness
787 of the design issues should go a long way to making the compromise
788 a good one, so a book such as {\it Developing On-line Help for Windows} \cite{helpbook} is highly recommended.
789
790 \section{Output Formats}\index{output formats}%
791
792 At present the following output formats are supported:
793
794 \begin{itemize}
795 \itemsep=0pt
796 \item RTF (Rich Text Format)\index{RTF}. This is the most well developed
797 converter. RTF is commonly used as a document exchange format amongst
798 Windows-based applications, and is the input for the Windows Help
799 Compiler. Tex2RTF supports both linear documents and Windows Help
800 hypertext format.
801 \item HTML (Hypertext Markup Language)\index{HTML}. This an SGML-based format
802 commonly used by documents in the World Wide Web distributed hypertext
803 system, and formats text dynamically rather like Windows Help.
804 \item wxHelp\index{wxHelp}. This is the platform-independent help system for
805 the class library wxWindows (see the wxWindows User Manual \cite{smart93a}).
806 It can display ASCII files with embedded codes
807 for changing font styles, but no formatting is done by wxHelp.
808 \end{itemize}
809
810 \section{What compromises must I make?}\index{compromises}\index{LaTeX}%
811
812 As a \LaTeX\ user, you need to be aware that some commands or facilities
813 don't transfer to other formats, either because they are not supported
814 by the target format or because the converter does not support them.
815 Maths formatting is a good example of an unsupported feature.
816
817 Sometimes \LaTeX\ facilities must be accessed in a slightly different
818 way to support the variety of formats, particularly hypertext formats
819 where \LaTeX\ references are often replaced by hypertext jumps (but must
820 still look right in printed documentation). Tables don't transfer well
821 to RTF and HTML (and not at all to wxHelp) but an attempt is made
822 to approximate tables so long as special row commands are used, instead
823 of the usual end of row delimiter.
824
825 Bibliographies are handled quite well since the utilities can read in\rtfsp
826 {\tt .bib} files and resolve citations. Numbers are used in citations;
827 the references are not yet sorted alphabetically.
828
829 Pictures\index{pictures} are handled in a limited way: if the PSBOX\index{PSBOX} macro package is
830 used, an \verb$\image$ command can be used to place Encapsulated PostScript
831 files in \LaTeX, and Windows RGB-encoded bitmap files or placeable
832 metafiles when converting to RTF.
833
834 Nested file inclusion\index{file inclusion} is handled with \verb$\input$, \verb$\include$ and \verb$\verbatiminput$,
835 and the comment environment is supported. However, using \verb$\input$\rtfsp
836 to include macro packages is not advisable. If you do this,
837 make sure you add a line in the Tex2RTF initialisation file to ignore
838 this file, unless it's a simple \LaTeX\ file that conforms to Tex2RTF
839 restrictions. The file {\tt psbox.tex} is the only file ignored
840 by Tex2RTF by default.
841
842 Because of the way \LaTeX\ is parsed, some syntax\index{syntax restrictions} has to conform to a
843 few simple rules. Commands such as \verb$\bf$ and \verb$\it$ need to occur
844 immediately after a left brace, and have a block of their own, since
845 the text within their scope is regarded as its argument. This syntax
846 means the same thing as using \verb$\begin ... \end$, which is usually
847 a one argument command (the argument is the text between the \verb$\begin$\rtfsp
848 and \verb$\end$). See \helpref{Space}{space}.
849
850 As a Windows hypertext help writer\index{on-line help}, you don't have access to all RTF
851 commands but you'll be able to get most of what you want. In particular,
852 any \LaTeX\ document you write will automatically be a hypertext
853 document, because the converter takes advantage of the hierarchy of
854 sections. Further jumps can be placed using the commands
855 \rtfsp\commandrefn{label}{label}, \commandrefn{helpref}{helpref},
856 \rtfsp\commandrefn{helprefn}{helprefn}, and \commandrefn{popref}{popref}.
857 Tex2RTF outputs help files that may be read linearly using the
858 \rtfsp$<<$ and $>>$ buttons, and an additonal Up button for
859 ease of navigation.
860
861 When writing HTML, multiple files are generated from one \LaTeX\ file
862 since browsing HTML works best with many small files rather than a few
863 large ones.
864
865 wxHelp files are least well supported since there is no formatting
866 support, only font style, sizes and colours. Still, some hypertext help
867 support on UNIX/X platforms is better than none. wxHelp is now being rewritten (March 1996)
868 to use HTML files.
869
870 Sometimes you will use a local macro package that is unrecognised by
871 the converters. In this case, you may define a custom macro file
872 where macros are defined in terms of supported \LaTeX\ commands
873 and text. Even if the result is not the same as in \LaTeX, you
874 can probably end up with something adequate, and at least avoid
875 undefined macro errors. See \helpref{Initialisation file syntax}{inifile} for
876 further information.
877
878 \section{Changes to LaTeX syntax}
879
880 Here are the conventions you need to observe to satisfy the Tex2RTF
881 parser.
882
883 \subsection{Space}\label{space}\index{space}%
884
885 Tex2RTF attempts to insert spaces where \LaTeX\ assumes whitespace.
886 However, for the benefit of RTF conversion, you need to use the \commandrefn{rtfsp}{rtfsp} command
887 where a command or brace within a paragraph begins or ends with a macro. For example:
888
889 \begin{verbatim}
890 Within a paragraph, you need to be careful about commands
891 \rtfsp{\it that begin at the start of a line.}
892 \end{verbatim}
893
894 As normal with \LaTeX, two newlines represents a paragraph break,
895 although \commandrefn{par}{par} can also be used at the end of a paragraph.
896
897 You need to have a blank line between section and some environment
898 commands and the first paragraph or your document will look rather
899 weird, e.g. headings running into paragraphs.
900
901 wxHelp is more fussy than \LaTeX\ or RTF: you need to use percent
902 characters at line ends liberally to eliminate newlines after commands
903 on single lines.
904
905 \subsection{Command arguments}\index{LaTeX commands}%
906
907 Commands that have one or more arguments can be used in the following
908 three ways:
909
910 \begin{verbatim}
911 \bf{Some text.}
912
913 \begin{bf}
914 Some text.
915 \end{bf}
916
917 {\bf Some text.}
918 \end{verbatim}
919
920 The first method is a normal \LaTeX\ command.
921
922 The second method is called an {\it environment}; \LaTeX\ has specific
923 environments that do not always correspond to normal commands, but
924 Tex2RTF recognizes environments and normal commands interchangeably, so
925 long as the command has no more than two arguments.
926
927 With the third method, it is important that the command has its own
928 pair of braces, and that the command immediately follows the first brace.
929 Otherwise, the parser cannot parse the argument(s) properly.
930 With multiple arguments, each should be enclosed in braces.
931
932 Optional arguments are specified using square brackets or parentheses.
933
934 The braces that start command arguments must not be seperated from
935 the other arguments by whitespace. For example, the following produces
936 an error:
937
938 \begin{verbatim}
939 \image{5cm;0cm}
940 {picture.eps}
941 \end{verbatim}
942
943 and should be replaced by
944
945 \begin{verbatim}
946 \image{5cm;0cm}{picture.eps}
947 \end{verbatim}
948
949 \subsection{Avoid the setlength command}
950
951 Using the $\backslash$setlength command doesn't work, since its first
952 argument looks like a command with the wrong number of arguments. Use an
953 alternative form instead, e.g.
954
955 \begin{verbatim}
956 \parindent 0pt
957 \end{verbatim}
958
959 instead of
960
961 \begin{verbatim}
962 \setlength{\parindent}{0pt}
963 \end{verbatim}
964
965 \subsection{Units}\index{units}%
966
967 Only a subset of \LaTeX\ units may be used for specifying dimensions.
968 Valid units are {\tt pt, mm, cm} and {\tt in}. Units should usually
969 be specified for dimensions or the results may be unexpected.
970
971 \subsection{Labels}\index{labels}%
972
973 The \verb$\label$ command may be used for sections and figure captions,
974 but must come immediately after the section or caption commands with no
975 intervening whitespace.
976
977 \subsection{Tables}\label{tables}\index{tables}%
978
979 For best layout, table rows should be enclosed in a \verb$\row$\rtfsp
980 or \verb$\ruledrow$ command, since Tex2RTF can't cope with parsing
981 the \LaTeX\ tabular syntax unaided. However, if you really don't want
982 to go through \LaTeX\ files inserting new syntax, set the {\it compatibility}\rtfsp
983 flag to TRUE in your {\tt tex2rtf.ini} file. In this mode, Tex2RTF tries to make
984 the best of a bad job, but the results won't be optimal (e.g., no table
985 borders). Without this flag set, normal \LaTeX\ tables can crash RTF readers
986 such as Word for Windows.
987
988 \section{Tex2RTF for non-LaTeX users}\index{LaTeX}%
989
990 You don't need to have \LaTeX\ installed to use Tex2RTF. You
991 can still output RTF files to be imported into your favourite
992 word processor, and hypertext files for on-line help.
993
994 This chapter gives a very brief introduction to \LaTeX. For further
995 information, Kopka and Daly's {\it A Guide to \LaTeX} \cite{kopka} is
996 recommended.
997
998 \subsection{What is \LaTeX?}
999
1000 \LaTeX\ is a macro package built on top of the typesetting package,
1001 \TeX. \TeX\ was written by Donald Knuth in the 1970s, and Leslie
1002 Lamport wrote \LaTeX\ as a higher-level, easier way to write \TeX.
1003
1004 \TeX\ was quite advanced for its day, and is still used (particularly by
1005 academics) because of its free availability and its flexibility in
1006 typesetting maths and other symbols. It's more like a programming
1007 language than a word processor, with embedded commands prefixed by a
1008 backslash and block structure. Like programs, \TeX\ documents are
1009 processed by a `compiler', outputting a .dvi file, which is a device
1010 independent file which can be read by many converters for output
1011 onto physical devices, such as screens and printers.
1012
1013 A reason for its longevity is the ability to add facilities to
1014 \TeX, using macro packages that define new commands.
1015
1016 \LaTeX\ is the most popular way to write \TeX. Although WYSIWYG
1017 word processors and DTP packages are outstripping \LaTeX, the increasing
1018 interest in hypertext and mark-up languages makes \LaTeX\ relevant as
1019 a similar language to SGML documents (such as World Wide Web HTML files).
1020
1021 Also, languages such as \LaTeX\ (and Rich Text Format, which it resembles
1022 in many ways) are {\it complementary} to WYSIWYG packages. These languages
1023 allow automatic production and translation of documents, where manual
1024 mark-up is impractical or undesirable.
1025
1026 Since the source code of \TeX\ and \LaTeX\ is in the public domain,
1027 there are many free and commercial implementations of \LaTeX\ for almost
1028 every computer in existance. Of PC implementations, EmTeX is arguably
1029 the best and most complete. You can download it from various FTP sites.
1030
1031 If you don't want to use \LaTeX\ itself, you may wish to use a program
1032 called lacheck to check your documents before using Tex2RTF, since it
1033 catches some mistakes that Tex2RTF doesn't.
1034
1035 \subsection{Document structure}
1036
1037 Here is a sample of a typical \LaTeX\ document:
1038
1039 \begin{verbatim}
1040 \documentstyle[a4,texhelp]{report}
1041 \title{A title}
1042 \author{Julian Smart}
1043 \date{October 1993}
1044 \begin{document}
1045 \maketitle
1046
1047 \chapter{Introduction}
1048
1049 ...
1050
1051 \section{A section}
1052
1053 ...
1054
1055 \end{document}
1056 \end{verbatim}
1057
1058 The first line is always a \verb$\documentstyle$ command. The square brackets
1059 enclose optional {\it style} files (suffix {\tt .sty}) that alter the appearance
1060 of the document or provide new commands, and the curly brackets enclose
1061 the mandatory style, in this case `report'.
1062
1063 Before the document begins properly with \verb$\begin{document}$,
1064 you can write various commands that have an effect on the appearance of the
1065 document or define title page information. The \verb$\maketitle$ command
1066 writes the title page using information defined previously (title, author,
1067 date).
1068
1069 A report has chapters, which are divided into sections, and can be further
1070 divided into subsections and subsubsections. To start a new section, you
1071 write the appropriate section command with the section heading; there is
1072 no specific end section command, since a new section heading or the end
1073 of the document will indicate the end of the previous section.
1074
1075 An article is divided into sections, subsections and subsubsections, but
1076 has no chapters. This is so an article can be included in a report as a chapter.
1077
1078 Tex2RTF is written to deal with reports best, so stick with the report
1079 style if you can.
1080
1081 \subsection{Command syntax}
1082
1083 There are several kinds of commands in \LaTeX. Most involve a keyword
1084 prefixed with a backslash. Here are some examples:
1085
1086 \begin{verbatim}
1087 \titlepage
1088
1089 \centerline{This is a centred line}
1090
1091 \begin{center}
1092 This is a centred
1093 paragraph
1094 \end{center}
1095
1096 {\bf This is bold font}
1097 \end{verbatim}
1098
1099 The first example has no arguments. The second has one argument. The third
1100 example is an {\it environment} which uses the begin and end keywords instead
1101 of a pair of braces to enclose an argument (usually one). The fourth is an example
1102 of using a command within a pair of braces: the command applies to the scope within
1103 the braces. Tex2RTF treats this form as if it were a command with one argument,
1104 with the right brace delimiting the argument. In this case, the command must
1105 immediately follow a left brace as shown.
1106
1107 Commands may be nested, but not overlapped.
1108
1109 \subsection{Space}\index{space}%
1110
1111 In \LaTeX, white space is mostly ignored, line breaks make no difference.
1112 However, \LaTeX\ interprets two successive newlines (a blank line) as
1113 denoting a paragraph break. You may also use the \verb$\par$ command to end
1114 a paragraph.
1115
1116 \section{Hypertext features}\index{hypertext}%
1117
1118 \LaTeX\ is inherently suitable for specifying hypertext documents since
1119 it encourages description of the logical structure of a document using
1120 section commands. Therefore, a \LaTeX\ document is automatically
1121 a hypertext document, without any further editing.
1122
1123 For Windows Help, a single RTF file is generated with topics
1124 corresponding to sections. A top level contents page shows each chapter
1125 or top-level section, and each chapter or section ends with a list of
1126 further sections or subsections. Tex2RTF outputs help files that may be
1127 read linearly using the \rtfsp$<<$ and $>>$ buttons.
1128
1129 Similarly, a single wxHelp XLP file is generated.
1130
1131 For HTML, a different file is generated for each section, since the
1132 XMOSAIC browser works best with a large number of small files. The files
1133 are named automatically based on the name of the output file, with the
1134 contents page filename being formed from the output filename with {\tt
1135 \_contents} appended to the name. If the truncateFilenames option is
1136 begin used, then the contents page is just the root name, with a .htm
1137 suffix. The conversion may result in the generation of several hundred
1138 files for a large \LaTeX\ input file.
1139
1140 To specify explicit jumps around a hypertext file, the \commandrefn{helpref}{helpref} command is
1141 used. The first argument is the text to be displayed at the point of reference,
1142 which will be highlighted in a hypertext file to allow jumping to a reference.
1143 The second argument is the reference label (there should be a corresponding
1144 \rtfsp\commandrefn{label}{label} command in the file, following a section or figure).
1145
1146 To use extra Tex2RTF features in proper \LaTeX, such as \verb$\helpref$\rtfsp
1147 and the C++ and CLIPS class reference documentation features, include
1148 the style file {\tt texhelp.sty}.
1149
1150 \section{Special sections}\index{special sections}%
1151
1152 The treatment of bibliography, glossary and index are worth special mention.
1153
1154 \subsection{Bibliography}\label{bibsection}\index{bibliography}%
1155
1156 Tex2RTF recognises standard \LaTeX\ bibliography files (usually with {\tt .bib} extension)
1157 and resolves citations. The \commandrefn{bibliography}{bibliographycmd}\rtfsp
1158 command reads the given {\tt .bib} file and includes a list of
1159 references at that point in the input. Only numbered, unsorted
1160 references are catered for at the moment, with no variation in
1161 bibliography style. A {\bf References} heading is placed in the contents
1162 section. Note that Tex2RTF must be run twice to ensure the citations are
1163 resolved properly.
1164
1165 Tex2RTF can also cope with the \verb$\thebibliography$ environment, with \rtfsp
1166 \verb$\bibitem$ commands, so long as the text following the first \verb$\bibitem$\rtfsp
1167 argument is enclosed in braces as if it were a second argument.
1168
1169 \subsection{Glossary}\label{glossarysection}\index{glossary}%
1170
1171 Glossaries are formatted according to the following scheme.
1172 The \commandrefn{helpglossary}{helpglossary} environment is used together with
1173 the \commandrefn{gloss}{gloss} command for glossary entries. In \LaTeX\ this
1174 is interpreted as a description list, and each glossary entry is an item.
1175 In on-line help, each glossary entry is a section.
1176
1177 A labelled glossary entry command may be referenced by \commandrefn{popref}{popref}\rtfsp
1178 to provide a quick popup explanation of a term.
1179
1180 \subsection{Index}\index{index}%
1181
1182 The explicit index is assumed to be redundant in on-line help, since
1183 search facilities are provided. Therefore the \verb$\printindex$ command
1184 does nothing in on-line versions. In linear RTF an index field is
1185 added, and \commandrefn{index}{index} marks words for inserting in the index.
1186
1187 In Windows Help, all section headings and C++ function names are treated
1188 as keywords. A keyword may be ambiguous, that is, refer to more than one
1189 section in the help file. This automatic indexing may not always be
1190 adequate, so the \LaTeX\ \commandrefn{index}{index} command may be used
1191 to add keywords.
1192
1193 In wxHelp, all section headings are indexed.
1194
1195 \section{Authoring HTML documents}
1196
1197 When an HTML document is generated, the suffix `\_contents' is appended
1198 to the input file root. This will be the contents page for the document.
1199 A number of further HTML files will be generated, possibly a large number
1200 for a document with a large number of sections. If you are running
1201 a 16-bit Windows version of Tex2RTF, you may wish to use
1202 the {\it truncateFilenames} option to generate DOS filenames with
1203 appropriately truncated references inside the HTML files.
1204
1205 \normalbox{Tip: to reduce the number of sections generated and make
1206 the document more linear, you could define new chapter and section
1207 commands. Alias them to the normal commands in real LaTeX (edit {\tt texhelp.sty}), and
1208 to appropriate bold/large headings (but not section commands) in
1209 the Tex2RTF initialisation file.}
1210
1211 Each HTML section file (except for the contents page) is given browse
1212 buttons, similar to a Windows Help file: Contents, Up, Down, Back, Forward.
1213 You can set {\it htmlBrowseButtons} to specify whether bitmaps or text should
1214 be used for these buttons. On a text-only browser, the buttons will show
1215 as text even if images have been specified.
1216
1217 As well as the usual jumps within a document, you can use the \commandref{urlref}{urlref} command to jump
1218 to other documents. `Advanced features' which are implemented for HTML include:
1219
1220 \begin{itemize}\itemsep=0pt
1221 \item Simple tables: \commandref{tabular}{tabular} command
1222 \item Background colour/bitmap: \commandref{backgroundcolour}{backgroundcolour} and
1223 \rtfsp\commandref{backgroundimage}{backgroundimage}
1224 \item Text colour: \commandref{textcolour}{textcolour} command
1225 \end{itemize}
1226
1227 See \helpref{HTML options}{htmloptions} for relevant initialisation file
1228 switches.
1229
1230 \section{Authoring Windows Help documents}\index{WinHelp files}%
1231
1232 To produce a Windows Help file, you need to generate a WinHelp RTF file
1233 with Tex2RTF and then invoke a Windows Help compiler (such as hc505.exe)
1234 to translate this to a .hlp file.
1235
1236 WinHelp support has split into two streams, Windows 3.1 help format
1237 and Windows 95 (WinHelp 4) format. You control this with the {\it winHelpVersion} option,
1238 setting it to 3 for Windows 3.1, and 4 for Windows 95. In the latter case,
1239 you also need the Help Compiler for Windows (hcw.exe and associated components)
1240 which are available in the WIN32 SDK and with Windows 95 compilers.
1241
1242 Tex2RTF can produce a Windows 95 {\tt .cnt} file if {\it winHelpContents}\index{CNT file} is switched
1243 on. This file is used to generate the new-style contents page, allowing
1244 hierarchical browsing of the topic contents. In fact this file can be used
1245 with ordinary Windows 3.1 files on Windows 95: so to hedge your bets,
1246 generate a Windows 3.1 help file along with {\tt .cnt} file.
1247
1248 Tex2RTF also generates (optionally) a {\tt .hpj} (Help Project) file\index{HPJ file} which is
1249 fed to the help compiler and specifies the RTF file being used amongst
1250 other things. In WinHelp 4 mode, Tex2RTF adds entries to the project
1251 to enhance the appearance of the help file. In particular, the
1252 non-scrolling (topic title) region is coloured grey, and the rest
1253 is coloured a light yellow in keeping with other Windows 95 help
1254 files.
1255
1256 \normalbox{Tip: you can maintain two versions of a help file
1257 by specifying an alternative {\tt .ini} file on the command
1258 line when invoking Tex2RTF, and compiling to a different directory.
1259 Tex2RTF instructs the help compiler to use the input file directory
1260 to find bitmaps and metafiles, so using a different output directory
1261 is not a problem. See the Tex2RTF {\tt src/makefile.dos} for an example
1262 of maintaining both formats.}
1263
1264 There is a slight wrinkle with generation of the {\tt .cnt} file:
1265 to work around a `feature' in the Windows 95 help compiler, Tex2RTF may insert
1266 extra book icons in the contents page. So your contents page
1267 may not exactly match the structure in your LaTeX file.
1268
1269 `Advanced features' which are implemented for WinHelp include:
1270
1271 \begin{itemize}\itemsep=0pt
1272 \item Transparency: \commandref{settransparency}{settransparency} command
1273 \item Colour: \commandref{definecolour}{definecolour}, \commandref{fcol}{fcol}, \commandref{bcol}{bcol} commands
1274 \item Hot spot appearance: \commandref{sethotspotcolour}{sethotspotcolour}, \commandref{sethotspotunderline}{sethotspotunderline} commands
1275 \end{itemize}
1276
1277 Tex2RTF automatically generates browse buttons for jumping to the
1278 above, previous and next topics.
1279
1280 See \helpref{RTF/WinHelp options}{rtfwinhelpoptions} for
1281 relevant initialisation file switches.
1282
1283 \section{Authoring linear RTF documents}\index{RTF}%
1284
1285 Linear RTF documents come in two main flavours. It can produce simple
1286 RTF that can be read by a wide variety of readers, such as
1287 Windows 95 WordPad, the Windows 95 viewer, and most word processors.
1288 Tex2RTF can also output MS Word compatible RTF which has special
1289 fields for contents page and index formatting, headings, and
1290 other enhancements.
1291
1292 Use the {\it useWord} initialisation file flag to switch Word mode
1293 on or off.
1294 Hypertext links (using \verb$\helpref$ and other commands) will be formatted as
1295 bold `anchor' text plus a section or figure number in parentheses.
1296
1297 In Word mode, using an index section generates a proper Word index.
1298 Similarly, a Word table of contents, list of figures, list of tables
1299 and page reference may be generated.
1300
1301 See \helpref{RTF/WinHelp options}{rtfwinhelpoptions} for
1302 relevant initialisation file switches.
1303
1304 \section{Authoring wxHelp documents}\index{wxHelp}%
1305
1306 The wxHelp (.xlp) file is the most basic kind of file that Tex2RTF
1307 can handle. Since spacing is passed through to the output, you need to
1308 format your input document appropriately, with lines of reasonable length.
1309
1310 The generated xlp file is an ASCII file that can be read directly by
1311 wxHelp, the generic wxWindows help viewer.
1312
1313 \chapter{Command reference}\index{command reference}%
1314 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
1315 \setfooter{\thepage}{}{}{}{}{\thepage}%
1316
1317 The following lists commands which are recognised by the converters. The reader
1318 can assume that commands not mentioned here are unrecognised or ignored.
1319
1320 Each command is listed with its name, the number of arguments it takes
1321 (excluding optional arguments), and a description. Note that if the
1322 command is used as an environment (using \verb$\begin$ and \verb$\end$) then
1323 the number of arguments must be either one or two. For example, the\rtfsp
1324 \verb$\tabular$ environment takes two arguments: a first argument for
1325 specifying the formatting, and the second argument for the body of the
1326 environment.
1327
1328 \begin{verbatim}
1329 \begin{tabular}{|l|l|}
1330 \row{One&Two}
1331 \row{Three&Four}
1332 \end{tabular}
1333 \end{verbatim}
1334
1335 \section{\LaTeX\ Commands}
1336
1337 \subsection*{abstract:1}\label{abstract}
1338
1339 This standard \LaTeX\ environment prepares an abstract page, and is
1340 treated as an ordinary chapter or section in on-line help.
1341
1342 \subsection*{addcontentsline:3}\label{addcontentsline}
1343
1344 Adds a chapter title to the contents page. Linear RTF. Rarely required.
1345
1346 %\subsection*{appendix}
1347 %\subsection*{arabic}
1348 %\subsection*{array}
1349 \subsection*{author:1}\label{author}
1350
1351 Defines the author, for output when \verb$\maketitle$ is used.
1352
1353 \subsection*{backslash:0}\label{backslash}
1354
1355 Outputs a backslash in math mode (should be enclosed by two dollar symbols).
1356
1357 \subsection*{bf:1}\label{bf}
1358
1359 Specifies bold font.
1360
1361 \subsection*{bffamily:1}\label{bffamily}
1362
1363 Specifies bold font.
1364
1365 \subsection*{bibitem:2}\label{bibitem}
1366
1367 For parsing convenience, \verb$\bibitem$ requires two arguments: a cite key and item.
1368 \rtfsp\LaTeX\ syntax permits writing this as if it were two arguments,
1369 even though it is in fact only one. This command is used within
1370 a \commandrefn{thebibliography}{thebibliography} environment. The preferred
1371 method is to store references in {\tt .bib} files and use the \commandrefn{bibliography}{bibliographycmd}\rtfsp
1372 command to generate a bibliography section automatically.
1373
1374 \subsection*{bibliographystyle:1}\label{bibliographystyle}
1375
1376 Currently doesn't affect the style of bibliography, but probably will
1377 in the future.
1378
1379 \subsection*{bibliography:0}\label{bibliographycmd}
1380
1381 Includes the bibliography at this point in the document. See the section
1382 on \helpref{bibliographies}{bibsection}.
1383
1384 %\subsection*{caption*}
1385 \subsection*{caption:1}\label{caption}
1386
1387 Specifies a caption (within a \commandrefn{figure}{figure} or \commandrefn{table}{table} environment). This may
1388 be followed immediately by a \commandrefn{label}{label} command.
1389
1390 \subsection*{cdots:0}\label{cdots}
1391
1392 Outputs three dots.
1393
1394 \subsection*{centerline:1}\label{centerline}
1395
1396 Centres (or centers!) a line of text.
1397
1398 %\subsection*{centering}
1399 \subsection*{center:1}\label{center}
1400
1401 Centres a block of text.
1402
1403 \subsection*{chapter:1}\label{chapter}
1404
1405 Outputs a chapter heading. If the chapter's name is Popups\index{popups}, the chapter title will not be
1406 put in the contents, to allow popups to be placed in a document without the popup
1407 sections being directly accessible.
1408
1409 \subsection*{chapter*:1}\label{chaptersX}
1410
1411 Outputs a chapter heading with no contents entry.
1412
1413 \subsection*{cite:1}\label{cite}
1414
1415 Cite a reference. The argument is a reference key as defined in a \LaTeX\ {\tt .bib}\rtfsp
1416 file.
1417
1418 \subsection*{comment:1}\label{comment}
1419
1420 An environment that allows large comments in \LaTeX\ files: the argument
1421 is ignored in all formats. Useful for commenting out parts of files that
1422 cannot be handled by \LaTeX, such as the picture environment. See also\rtfsp
1423 \commandrefn{toocomplex}{toocomplex}.
1424
1425 \subsection*{date:1}\label{date}
1426
1427 Specifies the date of a document; only output by \commandrefn{maketitle}{maketitle}.
1428
1429 \subsection*{description:1}\label{description}
1430
1431 A list environment, where each \commandrefn{item}{item} command must be
1432 followed by optional square-bracketed text which will be highlighted.
1433
1434 %\subsection*{destruct:1}\label{destruct}
1435
1436 \subsection*{document:1}\label{document}
1437
1438 This environment should enclose the body of a document.
1439
1440 \subsection*{documentstyle:1}\label{documentstyle}
1441
1442 Specifies the main style (report, article etc.) and, optionally, style files
1443 such as {\tt texhelp.sty}. A report has \commandrefn{chapters}{chapter}, while an article's top-level
1444 sections are specified using \commandrefn{section}{section}.
1445
1446 %\subsection*{doublespace}\label{doublespace}
1447 \subsection*{em:1}\label{em}
1448
1449 Emphasizes text (italic in RTF).
1450
1451 \subsection*{emph:1}\label{emph}
1452
1453 Same as \commandrefn{em}{em}.
1454
1455 \subsection*{enumerate:1}\label{enumerate}
1456
1457 Enumerate list environment: numbers the \commandrefn{items}{item}.
1458
1459 %\subsection*{equation}\label{equation}
1460 %\subsection*{evensidemargin}
1461 %\subsection*{fbox:1}\label{fbox}
1462
1463 \subsection*{figure:1}\label{figure}
1464
1465 A figure environment: does nothing special, except allows interpretation of
1466 embedded \helpref{caption}{caption} commands as figures rather than (say) tables.
1467
1468 \subsection*{flushleft:1}\label{flushleft}
1469
1470 Flushes the given text to the left margin.
1471
1472 \subsection*{flushright:1}\label{flushright}
1473
1474 Flushes the given text to the right margin.
1475
1476 %\subsection*{footheight}\label{footheight}
1477 \subsection*{footnote:1}\label{footnote}
1478
1479 In linear RTF, a footnote is created. Whether this appears at the end of
1480 the section or the bottom of the page appears to depend on the current
1481 document style, at least for MS Word 6.0 for Windows. The default seems
1482 to be to put the footnotes at the end of the section, which is probably
1483 not the best assumption.
1484
1485 In WinHelp RTF, a bracketed number is generated for the footnote
1486 and the footnote becomes a popup topic. It is probably preferable
1487 to change footnote commands to \commandref{footnotepopup}{footnotepopup},
1488 or \commandref{popref}{popref} references to glossary entries.
1489
1490 This command is not supported for formats other than \LaTeX,
1491 linear RTF and WinHelp RTF.
1492
1493 \subsection*{hline:0}\label{hline}
1494
1495 Within a \commandrefn{tabular}{tabular} environment, draws a horizontal
1496 rule below the current row. Note that this does not work in RTF for the
1497 last row of a table, in which case the command \commandrefn{ruledrow}{ruledrow}\rtfsp
1498 should be used instead.
1499
1500 \subsection*{hrule:0}\label{hrule}
1501
1502 Draws a horizontal line below the current paragraph. For example:
1503
1504 \begin{verbatim}
1505 This paragraph should have a horizontal rule following it.\hrule
1506 \end{verbatim}
1507
1508 gives:
1509
1510 This paragraph should have a horizontal rule following it.\hrule
1511
1512 %\subsection*{hspace*}\label{hspaceX}
1513 %\subsection*{hspace}\label{hspace}
1514 %\subsection*{hskip*}\label{hskipX}
1515 %\subsection*{hskip}\label{hskip}
1516
1517 \subsection*{huge:1}\label{huge1}
1518
1519 Outputs the argument in huge text.
1520
1521 \subsection*{Huge:1}\label{Huge2}
1522
1523 Outputs the argument in huger text than \commandrefn{huge}{huge1}.
1524
1525 \subsection*{HUGE:1}\label{HUGE3}
1526
1527 Outputs the argument in huger text than \commandrefn{Huge}{Huge2}.
1528
1529 \subsection*{include:1}\label{include}
1530
1531 Include the given file. The command must not be preceded by any whitespace,
1532 and spurious whitespace between elements of the command will also
1533 trip up Tex2RTF.
1534
1535 \subsection*{index:1}\label{index}
1536
1537 In WinHelp mode, adds a keyword to the keyword list for the current
1538 topic. This keyword must currently be straight text, with no embedded
1539 commands. The conversion process must be run twice (without quitting
1540 Tex2RTF inbetween) to resolve the keyword references.
1541
1542 \subsection*{input:1}\label{input}
1543
1544 Include the given file. The command must not be preceded by any whitespace,
1545 and spurious whitespace between elements of the command will also
1546 trip up Tex2RTF.
1547
1548 \subsection*{insertatlevel:2}\label{insertatlevel}
1549
1550 Insert some text at a particular level of the document. For example,
1551
1552 \begin{verbatim}
1553 \insertatlevel{2}{Some text}
1554 \end{verbatim}
1555
1556 inserts "Some text" at level 2 (for a report, the current section). This
1557 allows you to insert headings into an automatically-generated section contents,
1558 for example.
1559
1560 \subsection*{it:1}\label{it}
1561
1562 Marks the argument in italic.
1563
1564 \subsection*{itemize:1}\label{itemize}
1565
1566 Indents each \commandrefn{item}{item} of a list and precedes with a bullet.
1567 If the file {\tt bullet.bmp} is found by Tex2RTF, this bitmap will be
1568 used as the bullet (WinHelp RTF); otherwise, a symbol or bold `o' will be used instead,
1569 depending on output format.
1570
1571 Use \commandrefn{itemsep}{itemsep} to specify the separation between
1572 list items. Currently this only works for linear or WinHelp RTF output.
1573 If the value is more than zero, an extra paragraph is inserted.
1574
1575 \subsection*{item:0}\label{item}
1576
1577 Marks an item of a \commandrefn{itemize}{itemize}, \commandrefn{description}{description} or \commandrefn{enumerate}{enumerate}
1578 list. Items within a description environment should have an `optional' argument
1579 in square brackets which will be highlighted.
1580
1581 \subsection*{itemsep:0}\label{itemsep}
1582
1583 Use this command to specify the separation between
1584 list items. Currently this only works for linear or WinHelp RTF output.
1585 If the value is zero, no extra paragraph is inserted; if the value
1586 is more than zero, an extra paragraph is inserted.
1587
1588 \subsection*{itshape:1}\label{itshape}
1589
1590 Marks the argument in italic.
1591
1592 %\subsection*{kill}\label{kill}
1593 \subsection*{label:1}\label{label}
1594
1595 Labels the chapter, section, subsection, subsubsection or figure caption
1596 with the given label. This must be an ASCII string, and duplicate items
1597 with different case letters are not allowed.
1598
1599 The command must follow immediately after the section or caption command,
1600 with no intervening whitespace.
1601
1602 \subsection*{large:1}\label{large1}
1603
1604 Marks the argument in large text.
1605
1606 \subsection*{Large:1}\label{Large2}
1607
1608 Makes the argument display in larger text than \commandrefn{large}{large1}.
1609
1610 \subsection*{LARGE:1}\label{LARGE3}
1611
1612 Makes the argument display in larger text than \commandrefn{Large}{Large2}.
1613
1614 \subsection*{LaTeX:0}\label{LaTeX}
1615
1616 Outputs the annoying \LaTeX\ upper and lower case name.
1617
1618 \subsection*{ldots:0}\label{ldots}
1619
1620 Outputs three dots.
1621
1622 %\subsection*{linebreak}\label{linebreak}
1623 %\subsection*{listoffigures}\label{listoffigures}
1624 %\subsection*{listoftables}\label{listoftables}
1625 %\subsection*{makeglossary}\label{makeglossary}
1626 %\subsection*{makeindex}\label{makeindex}
1627 \subsection*{maketitle:0}\label{maketitle}
1628
1629 Makes the article or report title by outputting the \commandrefn{title}{title},
1630 \rtfsp\commandrefn{author}{author} and optionally \commandrefn{date}{date}.
1631
1632 %\subsection*{markright}\label{markright}
1633 %\subsection*{markboth}\label{markboth}
1634
1635 \subsection*{marginparwidth:1}\label{marginparwidth}
1636
1637 Specifies the width of a margin paragraph.
1638
1639 \subsection*{marginpar:1}\label{marginpar}
1640
1641 Inserts a marginal note. It is best to use the Tex2RTF extensions \rtfsp
1642 \commandrefn{marginparodd}{marginparodd} and \commandrefn{marginpareven}{marginpareven} \rtfsp
1643 for best results.
1644
1645 \subsection*{marginpareven:1}\label{marginpareven}
1646
1647 Inserts a marginal note on even pages. This is required for RTF generation since
1648 it is impossible for Tex2RTF to know in advance which side of paper the marginal note
1649 will fall upon, and the text has to be positioned using absolute dimensions.
1650 If only one sided output is required, use \commandrefn{marginparodd}{marginparodd} \rtfsp
1651 instead.
1652
1653 \subsection*{marginparodd:1}\label{marginparodd}
1654
1655 Inserts a marginal note on odd pages. This is required for RTF generation since
1656 it is impossible for Tex2RTF to know in advance which side of paper the marginal note
1657 will fall upon, and the text has to be positioned using absolute dimensions.
1658
1659 Also, even if one-sided output is required, this command should be used instead
1660 of \verb$\marginpar$ because the \LaTeX\ command allows it to be used
1661 just before a paragraph. Normally, if this were done, the marginal note would
1662 not be aligned with the paragraph succeeding it. For example:
1663
1664 \begin{verbatim}
1665 \marginparodd{{\it Note:} if nothing happens, perhaps you
1666 have not plugged your computer in at the mains.}%
1667 To start using your computer, push the Power button
1668 and wait for text to appear on the screen.
1669 \end{verbatim}
1670
1671 Note the percent sign after the \verb$\marginparodd$ command: without it,
1672 \LaTeX\ refuses to believe that the following text is part of the
1673 same paragraph, and will print the note at the wrong place.
1674
1675 You should use \commandrefn{textwidth}{textwidth} to allow space for marginal
1676 notes, and also \commandrefn{marginparwidth}{marginparwidth} to specify the size of
1677 the marginal note.
1678
1679 In WinHelp, HTML and wxHelp, marginal notes are treated as normal text delineated
1680 with horizontal rules above and below.
1681
1682 %\subsection*{mbox:1}\label{mbox}
1683
1684 \subsection*{mdseries:1}\label{mdseries}
1685
1686 Changes to a medium-weight font. Un-emboldens in RTF mode, no effect in other modes.
1687
1688 \subsection*{multicolumn:3}\label{multicolumn}
1689
1690 Used in \commandrefn{tabular}{tabular} environment to denote a cell that
1691 spans more than one column. Only supplied for compatibility with
1692 existing \LaTeX\ files, since all it does in RTF is output the correct
1693 number of cell commands, with the multicolumn text squashed into one cell.
1694
1695 \subsection*{newcommand:3}\label{newcommand}
1696
1697 Define a new command; arguments are the command, the number of
1698 arguments, and the command body. For example:
1699
1700 \begin{verbatim}
1701 \newcommand{\crazy}[2]{{\bf #1} is crazy but {\bf #2} is not.}
1702 \end{verbatim}
1703
1704 The command must have no whitespace at the start of the line or between
1705 the three arguments.
1706
1707 New commands may also be defined in the {\tt tex2rtf.ini} file using
1708 slightly different syntax (see \helpref{Macro not found error}{macronotfound}).
1709
1710 %\subsection*{newcounter}\label{newcounter}
1711 %\subsection*{newline}\label{newline}
1712 \subsection*{newpage:0}\label{newpage}
1713
1714 Inserts a page break.
1715
1716 \subsection*{nocite:1}\label{nocite}
1717
1718 Specifies that this reference should appear in the bibliography,
1719 but the citation should not appear in the text.
1720
1721 See also \commandrefn{cite}{cite}.
1722
1723 \subsection*{noindent:0}\label{noindent}
1724
1725 Sets paragraph indentation to zero. See also \commandrefn{parindent}{parindent}.
1726
1727 %\subsection*{nolinebreak}\label{nolinebreak}
1728 %\subsection*{nopagebreak}\label{nopagebreak}
1729
1730 \subsection*{normalsize:1}\label{normalsize}
1731
1732 Sets the font size back to normal.
1733
1734 \subsection*{onecolumn:0}\label{onecolumn}
1735
1736 Sets the number of columns to one. \LaTeX\ and linear RTF only.
1737
1738 %\subsection*{oddsidemargin}\label{oddsidemargin}
1739 %\subsection*{pagebreak}\label{pagebreak}
1740 \subsection*{pageref:1}\label{pageref}
1741
1742 In linear RTF, generates a page reference to the given label.
1743
1744 \subsection*{pagestyle:1}\label{pagestyle}
1745
1746 If argument is {\tt fancyplain} or {\tt fancy}, Tex2RTF
1747 separates the header from the rest of the page with a rule.
1748 This command must be defined for headers and footers to
1749 work properly. See also \commandrefn{setheader}{setheader},
1750 \commandrefn{setfooter}{setfooter}.
1751
1752 \LaTeX\ and linear RTF only.
1753
1754 \subsection*{pagenumbering:1}\label{pagenumbering}
1755
1756 The argument may be one of:
1757
1758 \begin{description}
1759 \itemsep=0pt
1760 \item[alph] a, b, ...
1761 \item[Alph] A, B, ...
1762 \item[arabic] 1, 2, ...
1763 \item[roman] i, ii, ...
1764 \item[Roman] I, II, ...
1765 \end{description}
1766
1767 \LaTeX\ and linear RTF only.
1768
1769 \subsection*{paragraph:0}\label{paragraph}
1770
1771 Behaves as for a subsubsection.
1772
1773 \subsection*{paragraph*:0}\label{paragraphX}
1774
1775 Behaves as for a subsubsection.
1776
1777 \subsection*{parindent:1}\label{parindent}
1778
1779 Indents the first line of succeeding paragraphs by the given amount.
1780
1781 \subsection*{parskip:1}\label{parskip}
1782
1783 Changes the spacing between paragraphs. In fact, in RTF this will cause
1784 two \commandrefn{par}{par} commands to be output if parskip is greater
1785 than zero.
1786
1787 %\subsection*{part*}\label{partX}
1788 %\subsection*{part}\label{part}
1789 \subsection*{par:0}\label{par}
1790
1791 Causes the paragraph to end at this point. \LaTeX\ and Tex2RTF also
1792 treat two consecutive newlines as a paragraph break.
1793
1794 %\subsection*{pfunc}\label{pfunc}
1795 %\subsection*{picture}\label{picture}
1796 \subsection*{printindex:0}\label{printindex}
1797
1798 In linear RTF, inserts an index.
1799
1800 \subsection*{quote:1}\label{quote}
1801
1802 Indents a short quotation.
1803
1804 \subsection*{quotation:1}\label{quotation}
1805
1806 Indents a long quotation.
1807
1808 %\subsection*{raggedbottom}\label{raggedbottom}
1809 %\subsection*{raggedleft}\label{raggedleft}
1810 %\subsection*{raggedright}\label{raggedright}
1811
1812 \subsection*{ref:1}\label{ref}
1813
1814 In \LaTeX\ and linear RTF, refers to a \commandrefn{label}{label} and
1815 causes the number of that section or figure to be printed.
1816
1817 \subsection*{rm:1}\label{rm}
1818
1819 Causes the argument to be formatted in a plain, roman font.
1820 In fact, does nothing in RTF, HTML and XLP modes.
1821
1822 \subsection*{rmfamily:1}\label{rmfamily}
1823
1824 Causes the argument to be formatted in a plain, roman font.
1825 In fact, does nothing in RTF, HTML and XLP modes.
1826
1827 %\subsection*{roman}\label{roman1}
1828 %\subsection*{Roman}\label{Roman2}
1829
1830 \subsection*{sc:1}\label{sc}
1831
1832 Prints the output in small capitals.
1833
1834 \subsection*{scshape:1}\label{scshape}
1835
1836 Prints the output in small capitals.
1837
1838 \subsection*{section:1}\label{section}
1839
1840 Section header, with an entry in the contents page.
1841
1842 \subsection*{section*:1}\label{sectionX}
1843
1844 Section header, with no entry in the contents page.
1845
1846 %\subsection*{setcounter}\label{setcounter}
1847 \subsection*{sf:1}\label{sf}
1848
1849 Should format in a sans-serif font. Does nothing in Tex2RTF.
1850
1851 \subsection*{sffamily:1}\label{sffamily}
1852
1853 Should format in a sans-serif font. Does nothing in Tex2RTF.
1854
1855 \subsection*{shortcite:1}\label{shortcite}
1856
1857 The same as \commandrefn{cite}{cite}.
1858
1859 %\subsection*{singlespace}\label{singlespace}
1860 %\subsection*{sloppypar}\label{sloppypar}
1861 %\subsection*{sloppy}\label{sloppy}
1862
1863 \subsection*{sl:1}\label{sl}
1864
1865 In Tex2RTF, the same as \commandrefn{it}{it}. The LaTeX interpretation is `slanted text'.
1866
1867 \subsection*{slshape:1}\label{slshape}
1868
1869 In Tex2RTF, the same as \commandrefn{itshape}{itshape}. The LaTeX interpretation is `slanted text'.
1870
1871 \subsection*{small:1}\label{small}
1872
1873 Prints the argument in a small font.
1874
1875 \subsection*{special:1}\label{special}
1876
1877 Simply copies the argument to the output file without processing
1878 (except \verb$\}$ is translated to \verb$}$, and \verb$\{$ is
1879 translated to \verb${$, to allow for insertion of braces).
1880
1881 \subsection*{ss:0}\label{ss}
1882
1883 Outputs the German sharp S character \ss.
1884
1885 %\subsection*{subitem}\label{subitem}
1886 \subsection*{subparagraph:1}\label{subparagraph}
1887
1888 Behaves as for a subsubsection.
1889
1890 \subsection*{subparagraph*:1}\label{subparagraphX}
1891
1892 Behaves as for a subsubsection.
1893
1894 \subsection*{subsection:1}\label{subsection}
1895
1896 Subsection header, with an entry in the contents page.
1897
1898 \subsection*{subsection*:1}\label{subsectionX}
1899
1900 Subsection header, with no entry in the contents page.
1901
1902 \subsection*{subsubsection:1}\label{subsubsection}
1903
1904 Subsubsection header, with an entry in the contents page.
1905
1906 \subsection*{subsubsection*:1}\label{subsubsectionX}
1907
1908 Subsubsection header, with no entry in the contents page.
1909
1910 \subsection*{tabbing:1}\label{tabbing}
1911
1912 Tabbing environment: doesn't work properly in RTF.
1913
1914 \subsection*{table:1}\label{table}
1915
1916 An environment for tables. The only thing that Tex2RTF does with this
1917 is to interpret an embedded \helpref{caption}{caption} command differently
1918 from figures.
1919
1920 \subsection*{tableofcontents:0}\label{tableofcontents}
1921
1922 Inserts the table of contents at this point. In linear RTF mode, a
1923 proper Word for Windows table of contents will be inserted unless either
1924 of the variables {\it insertTOC} or {\it useWord} is set to {\it false}.
1925
1926 \subsection*{tabular:2}\label{tabular}
1927
1928 Tabular environment: an attempt is made to output something
1929 reasonable in RTF and HTML formats, although currently only simple
1930 tables will work. The first argument specifies the column formatting.
1931 a pipe symbol (\verb$|$) denotes a vertical border, one of {\tt l, r, c}\rtfsp
1932 signifies a normal column of default width, and {\tt p} followed by
1933 a dimension specifies a column of given width. It is recommended that
1934 the {\tt p} is used since Tex2RTF cannot deduce a column width in the
1935 same way that \LaTeX\ can.
1936
1937 Horizontal rules are achieved with \commandrefn{hline}{hline}; two together
1938 signify a double rule. Note that in HTML, all rows and the table itself are bordered
1939 automatically.
1940
1941 Use the Tex2RTF \commandrefn{row}{row} and \commandrefn{ruledrow}{ruledrow} commands
1942 for best effect.
1943
1944 For two-column tables that work in WinHelp files, use \commandrefn{twocollist}{twocollist} instead.
1945
1946 Example:
1947
1948 \begin{verbatim}
1949 \begin{tabular}{|l|p{8.5cm}|}\hline
1950 \row{{\bf A.I.}&{\bf Simulation}}\hline\hline
1951 \row{rules&constraints/methods}
1952 \row{planning&design of experiments}
1953 \row{diagnosis&analysis of results}
1954 \ruledrow{learning&detection of connections}
1955 \end{tabular}
1956 \end{verbatim}
1957
1958 This produces:
1959
1960 \begin{tabular}{|l|p{8.5cm}|}\hline
1961 \row{{\bf A.I.}&{\bf Simulation}}\hline\hline
1962 \row{rules&constraints/methods}
1963 \row{planning&design of experiments}
1964 \row{diagnosis&analysis of results}
1965 \ruledrow{learning&detection of connections}
1966 \end{tabular}
1967
1968 %\subsection*{tab:1}\label{tab}
1969 \subsection*{TeX:0}\label{TeX}
1970
1971 Outputs the annoying \TeX\ upper and lower case name.
1972
1973 \subsection*{textbf:1}\label{textbf}
1974
1975 Same as \commandrefn{bf}{bf}.
1976
1977 \subsection*{textit:1}\label{textit}
1978
1979 Same as \commandrefn{it}{it}.
1980
1981 \subsection*{textrm:1}\label{textrm}
1982
1983 Same as \commandrefn{rm}{rm}.
1984
1985 \subsection*{textsf:1}\label{textsf}
1986
1987 Same as \commandrefn{sf}{sf}.
1988
1989 \subsection*{textsc:1}\label{textsc}
1990
1991 Same as \commandrefn{sc}{sc}.
1992
1993 \subsection*{textsl:1}\label{textsl}
1994
1995 Same as \commandrefn{sl}{sl}.
1996
1997 \subsection*{texttt:1}\label{texttt}
1998
1999 Same as \commandrefn{tt}{tt}.
2000
2001
2002 \subsection*{textwidth:1}\label{textwidth}
2003
2004 Sets the text width (valid for RTF only). This might be used
2005 in conjunction with \commandrefn{marginpar}{marginpar}, for example,
2006 to leave space for marginal notes.
2007
2008 %\subsection*{textheight}\label{textheight}
2009 \subsection*{thebibliography:1}\label{thebibliography}
2010
2011 An environment for specifying the bibliography as a series of\rtfsp
2012 \commandrefn{bibitem}{bibitem} commands; the preferred method is to use
2013 \rtfsp{\tt .bib} files and \commandrefn{bibliography}{bibliographycmd} instead.
2014
2015 %\subsection*{titlepage:0}\label{titlepage}
2016
2017 \subsection*{title:1}\label{title}
2018
2019 Sets the title, to be output when the command \commandrefn{maketitle}{maketitle}\rtfsp
2020 is used.
2021
2022 \subsection*{tiny:1}\label{tiny}
2023
2024 Prints the argument in a very small font.
2025
2026 \subsection*{today:0}\label{today}
2027
2028 Outputs today's date.
2029
2030 %\subsection*{topmargin}\label{topmargin}
2031 %\subsection*{topskip}\label{topskip}
2032 \subsection*{tt:1}\label{tt}
2033
2034 Outputs the argument in teletype font.
2035
2036 \subsection*{ttfamily:1}\label{ttfamily}
2037
2038 Outputs the argument in teletype font.
2039
2040 %\subsection*{typein}\label{typein}
2041 \subsection*{typeout:1}\label{typeout}
2042
2043 Outputs the text on the Tex2RTF text window.
2044
2045 \subsection*{twocolumn:0}\label{twocolumn}
2046
2047 Sets the number of columns to two. \LaTeX\ and linear RTF only.
2048
2049 \subsection*{underline:1}\label{underline}
2050
2051 Underlines the argument.
2052
2053 \subsection*{upshape:1}\label{upshape}
2054
2055 Changes to an upright font. Un-italicizes in RTF mode, no effect in other modes.
2056
2057 \subsection*{verbatiminput:1}\label{verbatiminput}
2058
2059 Include the given file as if it were within a \commandrefn{verbatim}{verbatim}\rtfsp
2060 environment. The command must not be preceded by any whitespace,
2061 and spurious whitespace between elements of the command will also
2062 trip up Tex2RTF.
2063
2064 \subsection*{verbatim:1}\label{verbatim}
2065
2066 Uses a fixed-width font to format the argument without interpreting
2067 any \LaTeX\ commands.
2068
2069 \subsection*{verb}\label{verb}
2070
2071 The \verb$\verb$ command is like the \commandref{verbatim}{verbatim} environment,
2072 but for small amounts of text. The syntax is:
2073
2074 \begin{verbatim}
2075 \verb<char><text><char>
2076 \end{verbatim}
2077
2078 The character {\it char} is used as a delimiter; it may be any character
2079 not ocurring in the following text, except asterisk.
2080
2081 For example, \verb@\verb$\thing%^&$@ produces \verb$\thing%^&$.
2082
2083 %\subsection*{verse}\label{verse}
2084 %\subsection*{vfill}\label{vfill}
2085 %\subsection*{vline}\label{vline}
2086 %\subsection*{void}\label{void}
2087 %\subsection*{vrule}\label{vrule}
2088 %\subsection*{vspace*}\label{vspaceX}
2089 %\subsection*{vskip*}\label{vskipX}
2090 %\subsection*{vspace}\label{vspace}
2091 %\subsection*{vskip}\label{vskip}
2092
2093
2094 \section{Tex2RTF Commands}
2095
2096 \subsection*{backgroundcolour:1}\label{backgroundcolour}
2097
2098 Specifies the page background colour, in HTML only. The argument consists
2099 of three numbers from 0 to 255 separated by semicolons, for red, green and blue values respectively.
2100
2101 \begin{verbatim}
2102 \backgroundcolour{255;255;255}
2103 \backgroundcolour{0;0;255}
2104 \end{verbatim}
2105
2106 The first example sets the background to white, the second sets the background to blue.
2107
2108 Instead of using a LaTeX command, you may find it more convenient to use the equivalent {\tt .ini} file
2109 setting, {\it backgroundColour}.
2110
2111 \subsection*{backgroundimage:1}\label{backgroundimage}
2112
2113 Specifies the page background image, in HTML only. The argument
2114 is a URL for the GIF file to be used as the background.
2115
2116 For example:
2117
2118 \begin{verbatim}
2119 \backgroundimage{tile.gif}
2120 \end{verbatim}
2121
2122 This sets the background to a tile file.
2123
2124 Instead of using a LaTeX command, you may find it more convenient to use the equivalent {\tt .ini} file
2125 setting, {\it backgroundImage}.
2126
2127 \subsection*{backslashraw:0}\label{backslashraw}
2128
2129 Outputs a raw backslash into the output (not LaTeX). Useful when
2130 inserting RTF (for example) that cannot be dealt with by Tex2RTF.
2131 E.g.
2132
2133 \begin{verbatim}
2134 \backslashraw{'e3}
2135 \end{verbatim}
2136
2137 inserts the text \verb$\'e3$ into the RTF file.
2138
2139 \subsection*{bcol:2}\label{bcol}
2140
2141 Sets the background colour for a block of text (RTF only). Has no known effect
2142 in the RTF readers currently tried (Word for Window and Windows Help).
2143
2144 See also \commandrefn{definecolour}{definecolour}, \commandrefn{fcol}{fcol}.
2145
2146 %\subsection*{baselineskip}
2147 %\subsection*{boxit:1}\label{boxit}
2148
2149 \subsection*{brclear:0}\label{brclear}
2150
2151 Stops aligning content following a left or right-aligned image in HTML only.
2152
2153 See also \commandrefn{imagel}{imagel}, \commandrefn{imager}{imager}.
2154
2155 \subsection*{cextract:0}\label{cextract}
2156
2157 Prints a C++ extraction operator (\cextract).
2158
2159 \subsection*{chapterheading:1}\label{chapterheading}
2160
2161 Like \commandrefn{chapter}{chapter}, but does not increment the chapter
2162 number and does not print a chapter number in the printed documentation
2163 contents page, or in the chapter heading. Used to implement \helpref{glossaries}{glossarysection} and
2164 other sections that are not real chapters.
2165
2166 \subsection*{cinsert:0}\label{cinsert}
2167
2168 Prints a C++ insertion operator (\cinsert).
2169
2170 \subsection*{class:1}\label{class}
2171
2172 Outputs the argument, an index entry (\LaTeX\ only) and a keyword entry (WinHelp only).
2173 Used in class reference documentation.
2174
2175 %\subsection*{cleardoublepage}
2176 %\subsection*{clearpage}
2177 %\subsection*{cline}
2178 \subsection*{clipsfunc:3}\label{clipsfunc}
2179
2180 Formats a CLIPS function, given the return value, function name, and
2181 arguments.
2182
2183 %\subsection*{columnsep}
2184 \subsection*{copyright:0}\label{copyright}
2185
2186 Outputs the copyright symbol.
2187
2188 \subsection*{cparam:2}\label{cparam}
2189
2190 Formats a CLIPS type and argument. Used within the third argument of
2191 a \commandrefn{clipsfunc}{clipsfunc} command.
2192
2193 \subsection*{definecolour:4}\label{definecolour}
2194
2195 Defines a new colour that can be used in the document (RTF only). This
2196 command can also be spelt \verb$\definecolor$.
2197
2198 The first argument is the lower-case name of the colour, and the following
2199 three arguments specify the red, green and blue intensities, in the range 0 to 255.
2200
2201 The default colours are equivalent to the following definitions:
2202
2203 \begin{verbatim}
2204 \definecolour{black}{0}{0}{0}
2205 \definecolour{cyan}{0}{255}{255}
2206 \definecolour{green}{0}{255}{0}
2207 \definecolour{magenta}{255}{0}{255}
2208 \definecolour{red}{255}{0}{0}
2209 \definecolour{yellow}{255}{255}{0}
2210 \definecolour{white}{255}{255}{255}
2211 \end{verbatim}
2212
2213 To use colours in a document, use the \commandrefn{fcol}{fcol} and \commandrefn{bcol}{bcol} commands.
2214
2215 Note that a document that defines its own colours should be converted twice within
2216 the same Tex2RTF session.
2217
2218 \subsection*{fcol:2}\label{fcol}
2219
2220 Sets the foreground colour for a block of text (RTF and HTML).
2221
2222 For example:
2223
2224 \begin{verbatim}
2225 This sentence is brightened up by some \fcol{red}{red text}.
2226 \end{verbatim}
2227
2228 gives:
2229
2230 This sentence is brightened up by some \fcol{red}{red text}.
2231
2232 See also \commandrefn{definecolour}{definecolour}, \commandrefn{bcol}{bcol}.
2233
2234 \subsection*{followedlinkcolour:1}\label{followedlinkcolour}
2235
2236 Specifies the followed link colour for the whole page, HTML only. The argument consists
2237 of three numbers from 0 to 255 separated by semicolons, for red, green and blue values respectively.
2238
2239 For example:
2240
2241 \begin{verbatim}
2242 \followedlinkcolour{255;255;255}
2243 \followedlinkcolour{0;0;255}
2244 \end{verbatim}
2245
2246 The first example sets the followed link text to white, and the second sets the followed link text to blue.
2247
2248 See also \commandrefn{backgroundcolour}{backgroundcolour}, \commandrefn{textcolour}{textcolour},
2249 \rtfsp\commandrefn{linkcolour}{linkcolour}.
2250
2251 Instead of using a LaTeX command, you may find it more convenient to use the equivalent {\tt .ini} file
2252 setting, {\it followedLinkColour}.
2253
2254 \subsection*{footnotepopup:2}\label{footnotepopup}
2255
2256 In linear RTF, a footnote is created following the first argument, as with
2257 \commandref{footnote}{footnote}.
2258
2259 In WinHelp RTF, a the first argument is highlighted and becomes
2260 a popup reference to the second argument. See also \commandref{footnote}{footnote}\rtfsp
2261 and \commandref{popref}{popref}.
2262
2263 This command is not supported for formats other than \LaTeX,
2264 linear RTF and WinHelp RTF.
2265
2266 %\subsection*{footskip}\label{footskip}
2267 %\subsection*{framebox:1}\label{framebox}
2268
2269 \subsection*{functionsection:1}\label{functionsection}
2270
2271 Defines a subsection, adding the C++ function name to the \LaTeX\ index or the
2272 WinHelp keyword list.
2273
2274 Should be followed by a \commandrefn{func}{func} command to specify function
2275 details.
2276
2277 \subsection*{func:3}\label{func}
2278
2279 Defines a C++ function, given the return type, function name, and parameter list.
2280
2281 Should occur after a \commandrefn{functionsection}{functionsection} command.
2282
2283 %\subsection*{glossary:}\label{glossary}
2284 \subsection*{gloss:1}\label{gloss}
2285
2286 Marks a glossary entry. In \LaTeX, this is a synonym for an \commandrefn{item}{item}
2287 with an optional argument, within a \commandrefn{description}{description} environment,
2288 and the argument is added to the index.
2289
2290 In Windows Help, this is identical to a \commandrefn{section*}{sectionX} in a report.
2291
2292 If labels are associated with the glossary entries, they can be referenced by
2293 \commandref{helpref}{helpref} or \commandref{popref}{popref} jumps. A glossary entry is
2294 currently the only type of destination that popref may refer to.
2295
2296 This is an example of making a glossary in a report:
2297
2298 \begin{verbatim}
2299 \begin{helpglossary}
2300
2301 \gloss{API}\label{api}
2302
2303 Application Programmer's Interface - a set of calls and
2304 classes defining how a library (in this case, wxWindows)
2305 can be used.
2306
2307 \gloss{Canvas}\label{canvas}
2308
2309 A canvas in XView and wxWindows is a subwindow...
2310
2311 \gloss{DDE}\label{dde}
2312
2313 Dynamic Data Exchange - Microsoft's interprocess
2314 communication protocol. wxWindows provides an abstraction
2315 of DDE under both Windows and UNIX.
2316
2317 \end{helpglossary}
2318 \end{verbatim}
2319
2320 %\subsection*{headheight}\label{headheight}
2321 \subsection*{helpglossary:1}\label{helpglossary}
2322
2323 An environment for making a glossary (not standard \LaTeX). See \commandrefn{gloss}{gloss} for
2324 usage.
2325
2326 \subsection*{helpignore:1}\label{helpignore}
2327
2328 Ignores the argument in Tex2RTF generated files, but not \LaTeX.
2329
2330 \subsection*{helponly:1}\label{helponly}
2331
2332 Only outputs the argument in Tex2RTF generated files.
2333
2334 \subsection*{helpinput:1}\label{helpinput}
2335
2336 Only includes the given file in Tex2RTF generated files.
2337
2338 \subsection*{helpfontfamily:1}\label{helpfontfamily}
2339
2340 Specifies the font family for Tex2RTF generated files. The argument
2341 may be Swiss or Times.
2342
2343 \subsection*{helpfontsize:1}\label{helpfontsize}
2344
2345 Specifies the font size for Tex2RTF generated files.
2346
2347 \subsection*{helpref:2}\label{helpref}
2348
2349 Specifies a jump to a labelled chapter, section, subsection subsubsection
2350 or figure.
2351
2352 The first argument is text to be highlighted (mouseable in help systems)
2353 and the second is the reference label. In linear documents, the section number
2354 is given following the text, unless the \commandrefn{helprefn}{helprefn} command
2355 is used instead, where the section number is suppressed.
2356
2357 Note that when generating HTML, the label {\it contents} is automatically defined,
2358 and may be referenced using \verb$\helpref$.
2359
2360 \subsection*{helprefn:2}\label{helprefn}
2361
2362 Specifies a jump to a labelled chapter, section, subsection subsubsection
2363 or figure.
2364
2365 The first argument is text to be highlighted (mouseable in help systems)
2366 and the second is the reference label. See \commandrefn{helpref}{helpref} for
2367 the form where the section number is printed in linear documents.
2368
2369 %\subsection*{hfill}\label{hfill}
2370 \subsection*{htmlignore:1}\label{htmlignore}
2371
2372 Ignores the argument in HTML.
2373
2374 \subsection*{htmlonly:1}\label{htmlonly}
2375
2376 Only outputs the argument in HTML.
2377
2378 \subsection*{image:2}\label{image}
2379
2380 This is translated to a PSBOX macro package \verb$\psboxto$ command in \LaTeX,
2381 the first argument being a sizing command and the second a filename.
2382
2383 In HTML mode, the second argument is used to generate a PostScript file reference.
2384
2385 In RTF mode, the second argument is tried with first a BMP extension and
2386 then a WMF extension to find a suitable Windows bitmap file, placeable
2387 metafile, or segmented hypergraphics file (.SHG). If a suitable file is
2388 found, in Windows Help mode a {\tt bmc}\rtfsp command is inserted into
2389 the RTF file with a reference to the file. In linear RTF mode, the
2390 bitmap or metafile is converted into hex and inserted into the RTF
2391 document.
2392
2393 Note that only RGB-encoded Windows bitmaps, or placeable metafiles, are
2394 valid for input to Tex2RTF. You can convert a RLE (run length encoded)
2395 bitmap file into a (bigger) RGB file using a program such as Paintshop
2396 Pro. A placeable metafile has a special header with dimension
2397 information. One may be constructed by a wxWindows program by calling
2398 the function wxMakeMetafilePlaceable. The Microsoft Windows SDK has a
2399 sample program that loads and steps through placeable and ordinary
2400 metafiles.
2401
2402 Another wrinkle is that programs differ in the methods they
2403 use to recognise pictures in RTF files. You may need to use the {\it bitmapMethod} setting,
2404 which can be ``hex'' (embed the hex data in the file with a \verb$\dibitmap$ keyword),
2405 ``includepicture'' (use the MS Word 6.0 INCLUDEPICTURE field) or ``import''
2406 (an earlier name for INCLUDEPICTURE).
2407
2408 Here is an example of using the \verb$\image$ command.
2409
2410 \begin{verbatim}
2411 \begin{figure}
2412 $$\image{5cm;0cm}{heart.ps}$$
2413
2414 \caption{My picture}\label{piccy}
2415 \end{figure}
2416 \end{verbatim}
2417
2418 The dollars centre the image in the horizontal plane. The syntax
2419 of the first argument to \verb$\image$ is taken from syntax used by the \verb$\psbox$\rtfsp
2420 package: it allows specification of the horizontal and vertical
2421 dimensions of the image. Scaling will take place for PostScript
2422 and metafile images. A value of zero indicates that the image should
2423 be scaled in proportion to the non-zero dimension. Zeros for both
2424 dimensions will leave the image unscaled in the case of metafiles,
2425 or scaled to fit the page in the case of PostScript.
2426
2427 See also \commandrefn{imagel}{imagel}, \commandrefn{imager}{imager} for aligned images in
2428 HTML.
2429
2430 \subsection*{imagel:2}\label{imagel}
2431
2432 Similar to \commandrefn{image}{image}, but left-aligns the image with respect to the following
2433 content. Use \commandrefn{brclear}{brclear} to stop aligning the content to the right of the image.
2434
2435 See also \commandrefn{imager}{imager}.
2436
2437 \subsection*{imagemap:3}\label{imagemap}
2438
2439 This is translated to an HTML image map reference, or (in LaTeX) a PostScript psbox
2440 command. This allows images in HTML to have hotspots, where the user clicks on a
2441 part of the image and the browser jumps to a particular file.
2442
2443 The first argument is the same as the first argument to the \commandref{image}{image}\rtfsp
2444 command (ignored in HTML). The second argument must be the name of the
2445 image map entry, and the second is the filename to be displayed inline.
2446
2447 \begin{verbatim}
2448 \imagemap{}{tree.gif}{myname}
2449 \end{verbatim}
2450
2451 translates to:
2452
2453 \begin{verbatim}
2454 <a href="/cgi-bin/imagemap/mymap">
2455 <img src="tree.gif" ismap></a><p>
2456 \end{verbatim}
2457
2458 The snag with this is that, apart from the inconvenience of having to
2459 register a map file with the server, the map file will also have
2460 references to particular HTML files. If they exist in the current
2461 document, these names are not known until the file is generated. In which case, the
2462 map entries should probably refer to symbolic links that can be easily
2463 changed later.
2464
2465 \subsection*{imager:2}\label{imager}
2466
2467 Similar to \commandrefn{image}{image}, but right-aligns the image with respect to the following
2468 content. Use \commandrefn{brclear}{brclear} to stop aligning the content to the left of the image.
2469
2470 See also \commandrefn{imagel}{imagel}.
2471
2472 %\subsection*{includeonly}\label{includeonly}
2473 \subsection*{indented:2}\label{indented}
2474
2475 Environment supplied by Tex2RTF to allow (possibly nested) indentation of
2476 \LaTeX\ and RTF text. The first argument is the amount to be indented.
2477
2478 For example:
2479
2480 \begin{verbatim}
2481 \begin{indented}{2cm}
2482 This text should be indented by a couple of centimetres.
2483 This can be useful to highlight paragraphs.
2484 \end{indented}
2485 \end{verbatim}
2486
2487 produces:
2488
2489 \begin{indented}{2cm}
2490 This text should be indented by a couple of centimetres. This can be
2491 useful to highlight paragraphs.
2492 \end{indented}
2493
2494 \subsection*{latexignore:1}\label{latexignore}
2495
2496 Ignores the argument in \LaTeX.
2497
2498 \subsection*{latexonly:1}\label{latexonly}
2499
2500 Only prints the argument in \LaTeX.
2501
2502 %\subsection*{lbox}\label{lbox}
2503
2504 \subsection*{lbraceraw:0}\label{lbraceraw}
2505
2506 Outputs a raw left brace into the output (not LaTeX). Useful when
2507 inserting RTF (for example) that cannot be dealt with by Tex2RTF.
2508
2509 \subsection*{linkcolour:1}\label{linkcolour}
2510
2511 Specifies the link colour for the whole page, HTML only. The argument consists
2512 of three numbers from 0 to 255 separated by semicolons, for red, green and blue values respectively.
2513
2514 For example:
2515
2516 \begin{verbatim}
2517 \linkcolour{255;255;255}
2518 \linkcolour{0;0;255}
2519 \end{verbatim}
2520
2521 The first example sets the link text to white, and the second sets the link text to blue.
2522
2523 See also \commandrefn{backgroundcolour}{backgroundcolour}, \commandrefn{textcolour}{textcolour},
2524 \rtfsp\commandrefn{followedlinkcolour}{followedlinkcolour}.
2525
2526 Instead of using a LaTeX command, you may find it more convenient to use the equivalent {\tt .ini} file
2527 setting, {\it linkColour}.
2528
2529 \subsection*{membersection:1}\label{membersection}
2530
2531 Used when formatting C++ classes to print a subsection for the member name.
2532
2533 \subsection*{member:1}\label{member}
2534
2535 Used to format a C++ member variable name.
2536
2537 \subsection*{normalbox:1}\label{normalbox}
2538
2539 Draws a box around the given paragraph in \LaTeX\ and RTF. In HTML
2540 and XLP formats, horizontal rules are drawn before and after the text.
2541
2542 For example:
2543
2544 \begin{verbatim}
2545 \normalbox{This should be a boxed paragraph for highlighting
2546 important information, such as information for registering
2547 a shareware program.}
2548 \end{verbatim}
2549
2550 gives:
2551
2552 \normalbox{This should be a boxed paragraph for highlighting important
2553 information, such as information for registering a shareware program.}
2554
2555 See also \commandrefn{normalboxd}{normalboxd} for double-bordered text.
2556
2557 \subsection*{normalboxd:1}\label{normalboxd}
2558
2559 Draws a double border around the given paragraph in \LaTeX\ and RTF. In
2560 HTML and XLP formats, horizontal rules are drawn before and after the
2561 text.
2562
2563 For example:
2564
2565 \begin{verbatim}
2566 \normalboxd{This should be a boxed paragraph for
2567 highlighting important information, such as information
2568 for registering a shareware program.}
2569 \end{verbatim}
2570
2571 gives:
2572
2573 \normalboxd{This should be a boxed paragraph for highlighting important
2574 information,such as information for registering a shareware program.}
2575
2576 See also \commandrefn{normalbox}{normalbox} for single-bordered text.
2577
2578 \subsection*{param:1}\label{param}
2579
2580 Formats a C++ type and argument pair. Should be used within the third argument
2581 of a a \commandrefn{func}{func} command.
2582
2583 \subsection*{popref:2}\label{popref}
2584
2585 Similar to \commandrefn{helprefn}{helprefn}, except that in Windows Help,
2586 the destination text is popped up in a small window to be dismissed with
2587 a mouse click, instead of going to a separate section.
2588
2589 Currently this command can only refer to a labelled glossary entry; see
2590 \commandrefn{gloss}{gloss}.
2591
2592 \subsection*{psboxto:2}\label{psboxto}
2593
2594 Identical to \commandrefn{image}{image}.
2595
2596 %\subsection*{psbox}\label{psbox}
2597 \subsection*{rbraceraw:0}\label{rbraceraw}
2598
2599 Outputs a raw right brace into the output (not LaTeX). Useful when
2600 inserting RTF (for example) that cannot be dealt with by Tex2RTF.
2601
2602 \subsection*{registered:0}\label{registered}
2603
2604 Outputs the `registered' symbol in HTML, and (r) in other formats.
2605
2606 \subsection*{row:1}\label{row}
2607
2608 A Tex2RTF command signifying the row of a table within the \commandrefn{tabular}{tabular}\rtfsp
2609 environment. See also \commandrefn{ruledrow}{ruledrow}.
2610
2611 \subsection*{ruledrow:1}\label{ruledrow}
2612
2613 A Tex2RTF command signifying a ruled row of a table within the \commandrefn{tabular}{tabular}\rtfsp
2614 environment. See also \commandrefn{row}{row}.
2615
2616 \subsection*{rtfignore:1}\label{rtfignore}
2617
2618 Ignores the argument in linear RTF.
2619
2620 \subsection*{rtfonly:1}\label{rtfonly}
2621
2622 Only outputs the argument in linear RTF.
2623
2624 \subsection*{rtfsp:0}\label{rtfsp}
2625
2626 Outputs a space in RTF. Tex2RTF tries to insert a space where one is implied
2627 by a newline, but cannot cope where a line starts or ends with a command,
2628 in the middle of a paragraph. Use this command to insert a space explicitly.
2629
2630 \subsection*{sectionheading:1}\label{sectionheading}
2631
2632 Like \commandrefn{section}{section}, but does not increment the section
2633 number and does not print a section number in the printed documentation
2634 contents page, or in the section heading.
2635
2636 \subsection*{setfooter:6}\label{setfooter}
2637
2638 Tex2RTF has a non-standard way of setting headers and footers,
2639 but the default macro definitions in {\tt texhelp.sty} may be altered
2640 to your current method.
2641
2642 The arguments are as follows:
2643
2644 \begin{enumerate}
2645 \itemsep=0pt
2646 \item Left footer, even pages
2647 \item Centre footer, even pages
2648 \item Right footer, even pages
2649 \item Left footer, odd pages
2650 \item Centre footer, odd pages
2651 \item Right footer, odd pages
2652 \end{enumerate}
2653
2654 For many documents, the first three arguments will be left empty.
2655
2656 The behaviour for first pages of a chapter, section or document
2657 is to have a blank header, but print the footer.
2658
2659 For best results, define headers and footers for {\it each chapter or
2660 section}.
2661
2662 Note that this command works only for \LaTeX\ and linear RTF. See also\rtfsp
2663 \commandrefn{setheader}{setheader}.
2664
2665 \subsection*{setheader:6}\label{setheader}
2666
2667 Tex2RTF has a non-standard way of setting headers and footers,
2668 but the default macro definitions in {\tt texhelp.sty} may be altered
2669 to your current method.
2670
2671 The arguments are as follows:
2672
2673 \begin{enumerate}
2674 \itemsep=0pt
2675 \item Left header, even pages
2676 \item Centre header, even pages
2677 \item Right header, even pages
2678 \item Left header, odd pages
2679 \item Centre header, odd pages
2680 \item Right header, odd pages
2681 \end{enumerate}
2682
2683 For many documents, the first three arguments will be left empty.
2684 If \commandrefn{pagestyle}{pagestyle} is not plain or empty, the
2685 header will separated from the rest of the page by a rule.
2686
2687 The behaviour for first pages of a chapter, section or document
2688 is to have a blank header, but print the footer.
2689
2690 For best results, define headers and footers for {\it each chapter or
2691 section}.
2692
2693 Note that this command works only for \LaTeX\ and linear RTF. See also\rtfsp
2694 \commandrefn{setfooter}{setfooter}.
2695
2696 \subsection*{sethotspotcolour:1}\label{sethotspotcolour}
2697
2698 If the argument is yes, on or ok, subsequent WinHelp hotspots will be green.
2699 If any other value, the hotspots will be the normal text colour. Note that this
2700 doesn't apply to section hotspots, only to helpref hotspots.
2701
2702 \subsection*{sethotspotunderline:1}\label{sethotspotunderline}
2703
2704 If the argument is yes, on or ok, subsequent WinHelp hotspots will be
2705 underlined (the default). If any other value, the hotspots will not be
2706 underlined. Note that this doesn't apply to section hotspots, only to
2707 helpref hotspots.
2708
2709 \subsection*{settransparency:1}\label{settransparency}
2710
2711 WinHelp mode only (version 4 of WinHelp). If the argument is yes, on or ok, subsequent bitmaps
2712 will be inserted in transparent mode: areas of white will be made transparent.
2713 If the argument is any other value (such as no, ok or false), the bitmaps will not be transparent.
2714
2715 \subsection*{textcolour:1}\label{textcolour}
2716
2717 Specifies the text foreground colour for the whole page, HTML only. The argument consists
2718 of three numbers from 0 to 255 separated by semicolons, for red, green and blue values respectively.
2719
2720 For example:
2721
2722 \begin{verbatim}
2723 \textcolour{255;255;255}
2724 \textcolour{0;0;255}
2725 \end{verbatim}
2726
2727 The first example sets the text to white, and the second sets the text to blue.
2728
2729 See also \commandrefn{backgroundcolour}{backgroundcolour}, \commandrefn{linkcolour}{linkcolour},
2730 \rtfsp\commandrefn{followedlinkcolour}{followedlinkcolour}.
2731
2732 Instead of using a LaTeX command, you may find it more convenient to use the equivalent {\tt .ini} file
2733 setting, {\it textColour}.
2734
2735 \subsection*{toocomplex:1}\label{toocomplex}
2736
2737 An environment for dealing with complex \LaTeX\ commands that
2738 Tex2RTF cannot handle. In normal \LaTeX, the argument will be output
2739 as normal. In Tex2RTF output, the argument will be output as verbatim text,
2740 for the user to hand-translate into the desired output format.
2741
2742 See also \commandrefn{comment}{comment}.
2743
2744 \subsection*{twocolitem:2}\label{twocolitem}
2745
2746 Used to specify a row for a two column list, a Tex2RTF
2747 extension to optimize two-column lists for different
2748 file formats. See \commandrefn{twocollist}{twocollist},
2749 \rtfsp\commandrefn{twocolitemruled}{twocolitemruled}.
2750
2751 \subsection*{twocolitemruled:2}\label{twocolitemruled}
2752
2753 Used to specify a ruled row for a two column list, a Tex2RTF
2754 extension to optimize two-column lists for different
2755 file formats. See \commandrefn{twocollist}{twocollist},
2756 \rtfsp\commandrefn{twocolitem}{twocolitem}.
2757
2758 \subsection*{twocollist:1}\label{twocollist}
2759
2760 A Tex2RTF environment for specifying a table of two columns, often
2761 used in manuals and help files (for example, for listing commands and
2762 their meanings). The first column should be one line only, and
2763 the second can be an arbitrary number of paragraphs.
2764
2765 The reason that a normal tabular environment cannot be used is that
2766 WinHelp does not allow borders in table cells, so a different method
2767 must be employed if any of the rows are to be ruled. In \LaTeX, a table
2768 is used to implement this environment. In RTF, indentation is used instead.
2769
2770 Use this environment in conjunction with \commandrefn{twocolitem}{twocolitem} and\rtfsp
2771 \commandrefn{twocolitemruled}{twocolitemruled}. To set the widths of the first
2772 and second column, use \commandrefn{twocolwidtha}{twocolwidtha} and\rtfsp
2773 \commandrefn{twocolwidthb}{twocolwidthb}.
2774
2775 Example:
2776
2777 \begin{verbatim}
2778 \htmlignore{\begin{twocollist}}
2779 \twocolitemruled{{\bf Command}}{{\bf Description}}
2780 \twocolitem{File}{The file menu is used to select various
2781 file-related operations, such as saving and loading.}
2782 \twocolitem{Edit}{The Edit menu is used for
2783 selection, copying, pasting, etc.}
2784 \end{twocollist}
2785 \end{verbatim}
2786
2787 This produces:
2788
2789 \begin{twocollist}
2790 \twocolitemruled{{\bf Command}}{{\bf Description}}
2791 \twocolitem{File}{The file menu is used to select various file-related
2792 operations, such as saving and loading.}
2793 \twocolitem{Edit}{The Edit menu is used for selection, copying, pasting, etc.}
2794 \end{twocollist}
2795
2796 \subsection*{twocolwidtha:1}\label{twocolwidtha}
2797
2798 Sets the width of the first column in a two column list to the given
2799 dimension. See also \commandrefn{twocollist}{twocollist} and \commandrefn{twocolwidthb}{twocolwidthb}.
2800
2801 \subsection*{twocolwidthb:1}\label{twocolwidthb}
2802
2803 Sets the width of the second column in a two column list to the given
2804 dimension. See also \commandrefn{twocollist}{twocollist} and \commandrefn{twocolwidtha}{twocolwidtha}.
2805
2806 \subsection*{urlref:2}\label{urlref}
2807
2808 Specifies a jump to a URL (univeral resource location).
2809
2810 The first argument is text to be highlighted (mouseable in HTML browsers)
2811 and the second is the URL. In linear documents, the URL
2812 is given following the text.
2813
2814 Example:
2815
2816 \begin{verbatim}
2817 See also the \urlref{wxWindows manual}
2818 {http://www.aiai.ed.ac.uk/~jacs.html}.
2819 \end{verbatim}
2820
2821 (the line is broken only to keep to this manual's page width).
2822
2823 \subsection*{winhelpignore:1}\label{winhelpignore}
2824
2825 Ignores the argument in WinHelp RTF.
2826
2827 \subsection*{winhelponly:1}\label{winhelponly}
2828
2829 Only outputs the argument in WinHelp RTF.
2830
2831 \subsection*{xlpignore:1}\label{xlpignore}
2832
2833 Ignores the argument in XLP mode (wxHelp files).
2834
2835 \subsection*{xlponly:1}\label{xlponly}
2836
2837 Only outputs the argument in XLP mode (wxHelp files).
2838
2839 \section{Accents}\label{accents}
2840
2841 The following \LaTeX\ accents work for RTF and HTML production:
2842
2843 \begin{itemize}%
2844 \itemsep=0pt
2845 \item \verb$\'{a}$ produces \'{a}. Valid for a, e, i, o, u, A, E, I, O, U
2846 \item \verb$\`{a}$ produces \`{a}. Valid for a, e, i, o, u, y, A, E, I, O, U, Y
2847 \item \verb$\^{a}$ produces \^{a}. Valid for a, e, i, o, u, A, E, I, O, U
2848 \item \verb$\~{a}$ produces \~{a}. Valid for a, n, o, A, N, O
2849 \item \verb$\"{a}$ produces \"{a}. Valid for a, e, i, o, u, y, A, E, I, O, U, Y
2850 \item \verb$\.{a}$ produces \.{a}. Valid for a, A
2851 \end{itemize}
2852
2853 \section{Commands by category}\index{commands}%
2854
2855 Below are categories of \LaTeX\ commands, to help you find the right
2856 command for a particular purpose.
2857
2858 \subsection{Font commands}
2859
2860 \begin{itemize}\itemsep=0pt
2861 \item \commandpageref{bf}{bf}
2862 \item \commandpageref{bffamily}{bffamily}
2863 \item \commandpageref{em}{em}
2864 \item \commandpageref{emph}{emph}
2865 \item \commandpageref{huge}{huge1}
2866 \item \commandpageref{Huge}{Huge2}
2867 \item \commandpageref{HUGE}{HUGE3}
2868 \item \commandpageref{it}{it}
2869 \item \commandpageref{itshape}{itshape}
2870 \item \commandpageref{large}{large1}
2871 \item \commandpageref{Large}{Large2}
2872 \item \commandpageref{LARGE}{LARGE3}
2873 \item \commandpageref{mdseries}{mdseries}
2874 \item \commandpageref{normalsize}{normalsize}
2875 \item \commandpageref{rm}{rm}
2876 \item \commandpageref{rmfamily}{rmfamily}
2877 \item \commandpageref{sc}{sc}
2878 \item \commandpageref{scshape}{scshape}
2879 \item \commandpageref{sf}{sf}
2880 \item \commandpageref{sffamily}{sffamily}
2881 \item \commandpageref{sl}{sl}
2882 \item \commandpageref{slshape}{slshape}
2883 \item \commandpageref{small}{small}
2884 \item \commandpageref{textbf}{textbf}
2885 \item \commandpageref{textit}{textit}
2886 \item \commandpageref{textrm}{textrm}
2887 \item \commandpageref{textsf}{textsf}
2888 \item \commandpageref{textsc}{textsc}
2889 \item \commandpageref{textsl}{textsl}
2890 \item \commandpageref{texttt}{texttt}
2891 \item \commandpageref{tiny}{tiny}
2892 \item \commandpageref{tt}{tt}
2893 \item \commandpageref{ttfamily}{ttfamily}
2894 \item \commandpageref{underline}{underline}
2895 \item \commandpageref{upshape}{upshape}
2896 \end{itemize}
2897
2898 \subsection{Paragraph formatting}
2899
2900 \begin{itemize}\itemsep=0pt
2901 \item \commandpageref{centerline}{centerline}
2902 \item \commandpageref{comment}{comment}
2903 \item \commandpageref{flushleft}{flushleft}
2904 \item \commandpageref{footnote}{footnote}
2905 \item \commandpageref{indented}{indented}
2906 \item \commandpageref{marginparwidth}{marginparwidth}
2907 \item \commandpageref{marginpar}{marginpar}
2908 \item \commandpageref{marginpareven}{marginpareven}
2909 \item \commandpageref{marginparodd}{marginparodd}
2910 \item \commandpageref{multicolumn}{multicolumn}
2911 \item \commandpageref{newpage}{newpage}
2912 \item \commandpageref{noindent}{noindent}
2913 \item \commandpageref{onecolumn}{onecolumn}
2914 \item \commandpageref{parindent}{parindent}
2915 \item \commandpageref{parskip}{parskip}
2916 \item \commandpageref{par}{par}
2917 \item \commandpageref{quote}{quote}
2918 \item \commandpageref{quotation}{quotation}
2919 \item \commandpageref{textwidth}{textwidth}
2920 \item \commandpageref{twocolumn}{twocolumn}
2921 \item \commandpageref{verbatim}{verbatim}
2922 \item \commandpageref{verb}{verb}
2923 \end{itemize}
2924
2925 \subsection{Special effects}
2926
2927 \begin{itemize}\itemsep=0pt
2928 \item \commandpageref{backgroundcolour}{backgroundcolour}
2929 \item \commandpageref{backgroundimage}{backgroundimage}
2930 \item \commandpageref{backslashraw}{backslashraw}
2931 \item \commandpageref{bcol}{bcol}
2932 \item \commandpageref{definecolour}{definecolour}
2933 \item \commandpageref{fcol}{fcol}
2934 \item \commandpageref{followedlinkcolour}{followedlinkcolour}
2935 \item \commandpageref{helpfontfamily}{helpfontfamily}
2936 \item \commandpageref{helpfontsize}{helpfontsize}
2937 \item \commandpageref{hrule}{hrule}
2938 \item \commandpageref{linkcolour}{linkcolour}
2939 \item \commandpageref{normalbox}{normalbox}
2940 \item \commandpageref{normalboxd}{normalboxd}
2941 \item \commandpageref{sethotspotcolour}{sethotspotcolour}
2942 \item \commandpageref{sethotspotunderline}{sethotspotunderline}
2943 \item \commandpageref{settransparency}{settransparency}
2944 \item \commandpageref{textcolour}{textcolour}
2945 \item \commandpageref{typeout}{typeout}
2946 \end{itemize}
2947
2948 \subsection{Lists}
2949
2950 \begin{itemize}\itemsep=0pt
2951 \item \commandpageref{description}{description}
2952 \item \commandpageref{enumerate}{enumerate}
2953 \item \commandpageref{itemize}{itemize}
2954 \item \commandpageref{item}{item}
2955 \item \commandpageref{itemsep}{itemsep}
2956 \item \commandpageref{twocolitem}{twocolitem}
2957 \item \commandpageref{twocolitemruled}{twocolitemruled}
2958 \item \commandpageref{twocollist}{twocollist}
2959 \item \commandpageref{twocolwidtha}{twocolwidtha}
2960 \item \commandpageref{twocolwidthb}{twocolwidthb}
2961 \end{itemize}
2962
2963 \subsection{Sectioning}
2964
2965 \begin{itemize}\itemsep=0pt
2966 \item \commandpageref{chapter}{chapter}
2967 \item \commandpageref{chapter*}{chaptersX}
2968 \item \commandpageref{chapterheading}{chapterheading}
2969 \item \commandpageref{insertatlevel}{insertatlevel}
2970 \item \commandpageref{paragraph}{paragraph}
2971 \item \commandpageref{paragraph*}{paragraphX}
2972 \item \commandpageref{section}{section}
2973 \item \commandpageref{section*}{sectionX}
2974 \item \commandpageref{sectionheading}{sectionheading}
2975 \item \commandpageref{subparagraph}{subparagraph}
2976 \item \commandpageref{subparagraph*}{subparagraphX}
2977 \item \commandpageref{subsection}{subsection}
2978 \item \commandpageref{subsection*}{subsectionX}
2979 \item \commandpageref{subsubsection}{subsubsection}
2980 \item \commandpageref{subsubsection*}{subsubsectionX}
2981 \end{itemize}
2982
2983 \subsection{Pictures}
2984
2985 \begin{itemize}\itemsep=0pt
2986 \item \commandpageref{brclear}{brclear}
2987 \item \commandpageref{image}{image}
2988 \item \commandpageref{imagel}{imagel}
2989 \item \commandpageref{imagemap}{imagemap}
2990 \item \commandpageref{imager}{imager}
2991 \item \commandpageref{psboxto}{psboxto}
2992 \end{itemize}
2993
2994 \subsection{References and jumps}
2995
2996 \begin{itemize}\itemsep=0pt
2997 \item \commandpageref{footnotepopup}{footnotepopup}
2998 \item \commandpageref{helpref}{helpref}
2999 \item \commandpageref{helprefn}{helprefn}
3000 \item \commandpageref{label}{label}
3001 \item \commandpageref{pageref}{pageref}
3002 \item \commandpageref{popref}{popref}
3003 \item \commandpageref{ref}{ref}
3004 \item \commandpageref{urlref}{urlref}
3005 \end{itemize}
3006
3007 \subsection{Tables and figures}
3008
3009 \begin{itemize}\itemsep=0pt
3010 \item \commandpageref{caption}{caption}
3011 \item \commandpageref{figure}{figure}
3012 \item \commandpageref{hline}{hline}
3013 \item \commandpageref{ruledrow}{ruledrow}
3014 \item \commandpageref{tabbing}{tabbing}
3015 \item \commandpageref{tabular}{tabular}
3016 \end{itemize}
3017
3018 \subsection{Table of contents}
3019
3020 \begin{itemize}\itemsep=0pt
3021 \item \commandpageref{addcontentsline}{addcontentsline}
3022 \item \commandpageref{author}{author}
3023 \item \commandpageref{date}{date}
3024 \item \commandpageref{maketitle}{maketitle}
3025 \item \commandpageref{tableofcontents}{tableofcontents}
3026 \item \commandpageref{title}{title}
3027 \end{itemize}
3028
3029 \subsection{Special sections}
3030
3031 \begin{itemize}\itemsep=0pt
3032 \item \commandpageref{bibitem}{bibitem}
3033 \item \commandpageref{bibliographystyle}{bibliographystyle}
3034 \item \commandpageref{bibliography}{bibliographycmd}
3035 \item \commandpageref{cite}{cite}
3036 \item \commandpageref{gloss}{gloss}
3037 \item \commandpageref{helpglossary}{helpglossary}
3038 \item \commandpageref{index}{index}
3039 \item \commandpageref{nocite}{nocite}
3040 \item \commandpageref{printindex}{printindex}
3041 \item \commandpageref{shortcite}{shortcite}
3042 \item \commandpageref{thebibliography}{thebibliography}
3043 \end{itemize}
3044
3045
3046 \subsection{Symbols}
3047
3048 \begin{itemize}\itemsep=0pt
3049 \item \commandpageref{backslash}{backslash}
3050 \item \commandpageref{cdots}{cdots}
3051 \item \commandpageref{cextract}{cextract}
3052 \item \commandpageref{cinsert}{cinsert}
3053 \item \commandpageref{copyright}{copyright}
3054 \item \commandpageref{LaTeX}{LaTeX}
3055 \item \commandpageref{lbraceraw}{lbraceraw}
3056 \item \commandpageref{ldots}{ldots}
3057 \item \commandpageref{rbraceraw}{rbraceraw}
3058 \item \commandpageref{registered}{registered}
3059 \item \commandpageref{rtfsp}{rtfsp}
3060 \item \commandpageref{ss}{ss}
3061 \item \commandpageref{TeX}{TeX}
3062 \item \commandpageref{today}{today}
3063 \end{itemize}
3064
3065 \subsection{Document organisation}
3066
3067 \begin{itemize}\itemsep=0pt
3068 \item \commandpageref{document}{document}
3069 \item \commandpageref{documentstyle}{documentstyle}
3070 \item \commandpageref{helpignore}{helpignore}
3071 \item \commandpageref{helponly}{helponly}
3072 \item \commandpageref{helpinput}{helpinput}
3073 \item \commandpageref{htmlignore}{htmlignore}
3074 \item \commandpageref{htmlonly}{htmlonly}
3075 \item \commandpageref{include}{include}
3076 \item \commandpageref{input}{input}
3077 \item \commandpageref{latexignore}{latexignore}
3078 \item \commandpageref{latexonly}{latexonly}
3079 \item \commandpageref{newcommand}{newcommand}
3080 \item \commandpageref{pagestyle}{pagestyle}
3081 \item \commandpageref{pagenumbering}{pagenumbering}
3082 \item \commandpageref{rtfignore}{rtfignore}
3083 \item \commandpageref{rtfonly}{rtfonly}
3084 \item \commandpageref{setfooter}{setfooter}
3085 \item \commandpageref{setheader}{setheader}
3086 \item \commandpageref{special}{special}
3087 \item \commandpageref{toocomplex}{toocomplex}
3088 \item \commandpageref{verbatiminput}{verbatiminput}
3089 \item \commandpageref{winhelpignore}{winhelpignore}
3090 \item \commandpageref{winhelponly}{winhelponly}
3091 \item \commandpageref{xlpignore}{xlpignore}
3092 \item \commandpageref{xlponly}{xlponly}
3093 \end{itemize}
3094
3095 \chapter{Bugs and troubleshooting}\label{errors}\index{bugs}\index{errors}\index{troubleshooting}%
3096 \setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
3097 \setfooter{\thepage}{}{}{}{}{\thepage}%
3098
3099 \section{Bugs}
3100
3101 \begin{description}
3102 \item[Command parsing.] If a command is used followed by inappropriate
3103 argument syntax, Tex2RTF can crash. This an occur when a command is
3104 used in an asterisk form that is only formed in the non-asterisk
3105 variety. The non-asterisk form is assumed, which makes the following
3106 asterisk trip up the parser.
3107 \item[Setlength.] Using the $\backslash$setlength command doesn't work,
3108 since its first argument looks like a command with the wrong number
3109 of arguments. Use an alternative form instead, e.g. \verb$\parindent 0pt$ instead
3110 of \verb$\setlength{parindent}{0pt}$.
3111 \item[Newcommand bug.] Environments in a command definition confuse
3112 Tex2RTF. Use the command form instead (e.g. $\backslash$flushleft\{...\} instead
3113 of $\backslash$begin\{flushleft\} ... $\backslash$end\{flushleft\}.
3114 \item[Bibliography.] There's no flexibility in the way references
3115 are output: I expect I'll get round to doing something better,
3116 but only if people tell me they need it!
3117 \item[Tables.] Tables can't handle all \LaTeX\ syntax, and require
3118 the Tex2RTF \verb$\row$ commands for decent formatting. Still, it's
3119 better than it was (RTF only).
3120 \item[Indexes and glossaries.] Not completely supported.
3121 \item[Crashes.] Crashes may be due to an input file exceeding the fixed-size
3122 buffer used for converting command arguments, especially for the \verb$\verbatim$\rtfsp
3123 command. Use the {\tt -bufsize} switch to increase the buffer size.
3124 \item[Verbatiminput.] Verbatiminput files which do not end with a blank line
3125 can trip up following commands.
3126 \end{description}
3127
3128 \section{Troubleshooting}
3129
3130 Below are some common problems and possible solutions.
3131
3132 \normalbox{Some of the syntax that is OK for true \LaTeX\ but which trips up
3133 Tex2RTF, may be detected by the TCHECK program included in the tools
3134 directory of the Tex2RTF distribution. Some \LaTeX\ errors may be picked up
3135 by the LACHECK program, also found in the tools directory.}
3136
3137 \subsection{Macro not found}\label{macronotfound}\index{macro not found error}%
3138
3139 This error may indicate that Tex2RTF has not implemented a standard
3140 \rtfsp\LaTeX\ command, or that a local macro package is being used that
3141 Tex2RTF does not know about. It can cause spurious secondary
3142 errors, such as not recognising the end document command.
3143
3144 You can get round this by defining a macro file (default name {\tt tex2rtf.ini})
3145 containing command definitions, such as:
3146
3147 \begin{verbatim}
3148 \crazy [2]{{\bf #2} is crazy but #1 is not}
3149 \something [0]{}
3150 \julian [0]{Julian Smart}
3151 \end{verbatim}
3152
3153 New commands may be defined in \LaTeX\ files, but custom macro files
3154 will have to be defined when local style files are being used. See\rtfsp
3155 \helpref{Initialisation file syntax}{inifile} for further details.
3156
3157 The `Macro not found' error can also be caused by a syntax error such as
3158 an unbalanced brace or passing the wrong number of arguments to a command,
3159 so look in the vicinity of the reported error for the real cause.
3160
3161 Here is one obscure situation that causes this error:
3162
3163 \begin{verbatim}
3164 \begin{center}
3165 {\large{\underline{A}}}
3166 \end{center}
3167 \end{verbatim}
3168
3169 The problem is too many curly brackets. This should be rewritten as:
3170
3171 \begin{verbatim}
3172 \begin{center}
3173 {\large \underline{A}}
3174 \end{center}
3175 \end{verbatim}
3176
3177 Often you get a `Macro not found' error for \verb$\end{document}$. This
3178 is a spurious side-effect of an earlier error, usually an incorrect number
3179 of arguments to a command. The location of the true error is then anywhere
3180 in the document. To home in on the error, try putting a verbatim environment
3181 \rtfsp\verb$\begin{comment}...\end{comment}$ around much of the document,
3182 and then move the \verb$\begin{comment}$ line down until the error
3183 manifests itself.
3184
3185 \subsection{Unresolved reference}\index{references, unresolved}%
3186
3187 References and citations are usually resolved on a second pass of
3188 Tex2RTF. If this doesn't work, then a missing label or bibliographical
3189 entry is to blame.
3190
3191 \subsection{Output crashes the RTF reader}
3192
3193 This could be due to confusing table syntax. Set {\it compatibility} to\rtfsp
3194 {\it TRUE} in {\tt .ini} file; also check for end of row characters backslash characters
3195 on their own on a line, and insert correct number of ampersands for the number of
3196 columns. E.g.
3197
3198 \begin{verbatim}
3199 hello & world\\
3200 \\
3201 \end{verbatim}
3202
3203 becomes
3204
3205 \begin{verbatim}
3206 hello & world\\
3207 &\\
3208 \end{verbatim}
3209
3210 \subsection{Erratic list indentation}
3211
3212 Try increasing the value of the variable {\it listItemIndent} (default 40
3213 points) to give more space between label and following text. A global
3214 replacement of \verb$\item [$ with \verb$\item[$ may also be helpful to remove
3215 unnecessary space before the item label.
3216
3217 \subsection{Missing figure or section reference}
3218
3219 Ensure all labels {\it directly} follow captions or sections (no intervening
3220 white space).
3221
3222 \subsection{Linear RTF looks odd}
3223
3224 For viewing by programs other than MS Word, you should set the variable {\it useWord} to {\it false}. This
3225 will turn off some of the special RTF keywords recognised by Word (and possibly other advanced RTF readers).
3226
3227 \subsection{Paragraphs preceding lists are formatted weirdly.}
3228
3229 If a list has spurious spacing in it, e.g. before a \verb$\item$ command, the preceding
3230 paragraph can take on some of the list's indentation. This may be a WinHelp bug, or an aspect
3231 of RTF I don't fully understand. The solution is to remove unnecessary space.
3232
3233 \subsection{Unresolved references in Word for Windows}\index{Microsoft Word}%
3234
3235 If question marks appear instead of numbers for figures and tables,
3236 select all (e.g. CTRL-A), then press F9 {\it twice} to reformat the
3237 document twice. For the second format, respond with {\it Update Entire
3238 Table} to any prompts.
3239
3240 \subsection{The Windows 95 help file contents hierarchy looks wrong}\index{WinHelp files}%
3241
3242 WinHelp version 4 (or the WIN32 Help Compiler) does not allow a
3243 book in the contents list to be followed by a page at the same level.
3244 A book must be followed by a book, for some strange reason, otherwise
3245 the page will be tacked on to the pages of the book above it, i.e. placed
3246 at the wrong level.
3247
3248 To get around this, Tex2RTF inserts a book in some places, if there
3249 was a book preceding it on the same level. This results in more
3250 navigation than necessary, but is better than a wrong contents page.
3251
3252 \newpage
3253
3254 % Puts books in the bibliography without needing to cite them in the
3255 % text
3256 \nocite{smart93a}%
3257 \nocite{kopka}%
3258 \nocite{pfeiffer}%
3259
3260 \bibliography{refs}
3261 \addcontentsline{toc}{chapter}{Bibliography}
3262 \setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
3263 \setfooter{\thepage}{}{}{}{}{\thepage}%
3264
3265 \begin{helpglossary}
3266 \setheader{{\it GLOSSARY}}{}{}{}{}{{\it GLOSSARY}}%
3267 \setfooter{\thepage}{}{}{}{}{\thepage}%
3268
3269 \gloss{GUI}
3270
3271 Graphical User Interface, such as Windows 3 or X.
3272
3273 \gloss{HTML}\label{html}
3274
3275 Hypertext Markup Language; an SGML document type, used for providing
3276 hypertext information on the World Wide Web, a distributed hypertext
3277 system on the Internet.
3278
3279 \gloss{LaTeX}\label{latexgloss}
3280
3281 A typesetting language implemented as a set of \TeX\ macros. It is
3282 distinguished for allowing specification of the document structure,
3283 whilst taking care of most layout concerns. It represents the opposite
3284 end of the spectrum from WYSIWYG word processors.
3285
3286 \gloss{RTF}\label{rtf}
3287
3288 Rich Text Format: an interchange format for word processor files,
3289 used for importing and exporting formatted documents, and as the
3290 input to the Windows Help compiler.
3291
3292 \gloss{wxHelp}\label{wxhelp}
3293
3294 wxHelp is the hypertext help facility used to provide on-line
3295 documentation for UNIX-based wxWindows applications. Under Windows 3.1,
3296 Windows Help is used instead.
3297
3298 \gloss{wxWindows}\label{wxwindows}
3299
3300 wxWindows is a free C++ toolkit for writing applications that are
3301 portable across several platforms. Currently these are Motif, Open Look,
3302 Windows 3.1 and Windows NT. Tex2RTF is written using wxWindows.
3303
3304 \end{helpglossary}
3305
3306 \addcontentsline{toc}{chapter}{Index}
3307 \setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
3308 \setfooter{\thepage}{}{}{}{}{\thepage}%
3309 \printindex%
3310
3311 \end{document}