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