1 \documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle
]{report}% 
   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}}% 
  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
}% 
  15 \winhelponly{\title{Manual for Tex2RTF 
2.0}% 
  16 \author{by Julian Smart\\$$
\image{1cm;
0cm
}{tex2rtf.wmf
}$$
}% 
  21 \pagestyle{fancyplain
}% 
  22 \bibliographystyle{plain
}% 
  23 \pagenumbering{roman
}% 
  24 \setheader{{\it CONTENTS
}}{}{}{}{}{{\it CONTENTS
}}% 
  25 \setfooter{\thepage}{}{}{}{}{\thepage}% 
  28 \chapter*
{Copyright notice
}% 
  29 \setheader{{\it COPYRIGHT
}}{}{}{}{}{{\it COPYRIGHT
}}% 
  30 \setfooter{\thepage}{}{}{}{}{\thepage}% 
  32 Copyright (c) 
1997 Julian Smart.
 
  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.
 
  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.
 
  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.
 
  51 \chapter{Introduction
}% 
  52 \pagenumbering{arabic
}% 
  53 \setheader{{\it CHAPTER 
\thechapter}}{}{}{}{}{{\it CHAPTER 
\thechapter}}% 
  54 \setfooter{\thepage}{}{}{}{}{\thepage}% 
  56 This 
document describes a utility for converting 
\popref{\LaTeX}{latexgloss
}\ files into
 
  57 several other formats.
 
  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.
 
  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.
 
  72 The latest version of Tex2RTF, plus source code, can be accessedfrom:
 
  75 http://web.ukonline.co.uk/julian.smart/tex2rtf
 
  76 ftp://www.remstar.com/pub/wxwin/tex2rtf
 
  79 It is available in Sun Open Look, Motif, Windows 
3.1, Windows 
95/NT, and
 
  80 non-GUI UNIX versions.
 
  82 Tex2RTF was developed using the free Open Look, Motif and Windows 
3.1 
  83 C++ class library 
\popref{wxWidgets
}{wxwidgets
}.
 
  85 \section{Status of Tex2RTF
}\index{status of Tex2RTF
}% 
  87 Windows HTML help, and wxWidgets 
2 wxHTML help, are now catered for using
 
  88 the htmlWorkshopFiles setting.
 
  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.
 
  95 \section{Acknowledgements
}\index{acknowledgements
}% 
  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.
 
 101 \section{Change log
}\index{change log
}% 
 103 Version 
2.0, August 
24th 
1999 
 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.
 
 110 Version 
1.64, October 
20th 
1998 
 112 \begin{itemize
}\itemsep=
0pt
 
 113 \item Added 
\verb$
\insertatlevel$ command.
 
 116 Version 
1.63, October 
21st 
1997 
 118 \begin{itemize
}\itemsep=
0pt
 
 119 \item Debugged problem with Word bookmarks not being inserted for unnumbered
 
 123 Version 
1.62, August 
18th 
1997 
 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.
 
 134 Version 
1.61, June 
11th 
1997 
 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.
 
 145 Version 
1.60, February 
18th 
1997 
 147 \begin{itemize
}\itemsep=
0pt
 
 148 \item The index command now allows complex LaTeX instead of inserting the
 
 149 first argument verbatim.
 
 152 Version 
1.59, February 
14th 
1997 
 154 \begin{itemize
}\itemsep=
0pt
 
 155 \item Added special processing for a chapter called Popups.
 
 158 Version 
1.58, August 
1st 
1996 
 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).
 
 170 Version 
1.57, July 
27th 
1996 
 172 \begin{itemize
}\itemsep=
0pt
 
 173 \item Added upperCaseNames setting; now all links in HTML files are in lower
 
 174 case unless specified otherwise.
 
 177 Version 
1.56, May 
25th 
1996 
 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.
 
 185 Version 
1.55, May 
6th 
1996 
 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.
 
 193 Version 
1.54, Feburary 
28th 
1996 
 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.
 
 204 Version 
1.53, January 
1995 
 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
 
 213 Version 
1.52, December 
1995 
 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
 
 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
 
 227 Version 
1.51: Windows 
95 enhancements.
 
 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.
 
 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
 
 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.
 
 258 \begin{itemize
}\itemsep=
0pt
 
 259 \item Cured some bugs (char used for fgetc instead of int) so now compiles for
 
 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.
 
 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.
 
 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).
 
 295 \item Added 
{\it generateHPJ
} option for generating the .HPJ WinHelp project file
 
 296 \item Added support for DDE via a small command set
 
 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
 
 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
 
 316 \item Added missing '.' in subsubsection reference
 
 317 \item Added primitive internationalisation support with contentsName, tablesName etc.
 
 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.
 
 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.
 
 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.
 
 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.
 
 385 \item \verb$
\footnote$ command now supported in WinHelp RTF, and 
\verb$
\footnotepopup$
\rtfsp 
 393 \item \verb$
\footnote$ command now supported, in linear RTF only.
 
 394 \item Added 
{\tt -bufsize
} option, for converting large documents.
 
 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.
 
 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.
 
 419 \chapter{Running Tex2RTF
}\index{running Tex2RTF
}% 
 420 \setheader{{\it CHAPTER 
\thechapter}}{}{}{}{}{{\it CHAPTER 
\thechapter}}% 
 421 \setfooter{\thepage}{}{}{}{}{\thepage}% 
 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.
 
 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
 
 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).
 
 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
 
 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.
} 
 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.
 
 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
 
 459 \section{Tex2RTF Interface
} 
 461 This is the Tex2RTF interface under Windows. Click on an area of the
 
 462 picture for more information.
 
 464 $$
\imagemap{1cm;
0cm
}{screen
}{mapref
}$$
 
 466 \subsection{Menu bar
}\label{menubar
} 
 468 Use the menubar for interactive operations.
 
 470 \subsection{Message area
}\label{messagearea
} 
 472 Tex2RTF writes warning and error messages on this window.
 
 474 \subsection{Status line
}\label{statusline
} 
 476 Displays help on menu items as the user drags the cursor over the menus.
 
 478 \subsection{Mode indicator
}\label{modeindicator
} 
 480 Displays the output mode Tex2RTF is currently in.
 
 483 \section{Command line arguments
}\index{command line arguments
}% 
 485 These are the optional arguments you may give Tex2RTF on the command line.
 
 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.
} 
 509 \section{Initialisation file syntax
}\label{inifile
}\index{initialisation file
}% 
 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.
 
 517 The file may comprise macro
\index{macros
} (command) definitions or option settings.
 
 519 The syntax for a macro definition is:
 
 522     \name [number of args
] {...LaTeX code...
} 
 528     \crazy      [2]{{\bf #2} is crazy but 
#1 is not
} 
 530     \julian     [0]{Julian Smart
} 
 533 The syntax for an option setting is:
 
 556 Options expecting boolean values accept 
{\it 1, 
0, true, false, yes, no
} in any combination of upper or
 
 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.
 
 563 \subsection{Tex2RTF options
}\index{options in initialisation file
}\index{tex2rtf.ini
}\index{initialisation file
}\index{macros
}% 
 565 These are the allowable options in an initialisation file.
 
 567 \subsubsection{General options
}\label{generaloptions
} 
 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 \twocolitem{\inioption{ignoreBadRefs
}}{If true (or yes), ignores bad helpref references
 
 581 and simply writes the text in the first argument. Useful when a program such as HelpGen
 
 582 generates references to classes documented in another manual.
} 
 585 \subsubsection{Presentation options
}\index{options, presentation
}% 
 588 \htmlignore{\twocolitemruled{Option
}{Description
}} 
 589 \twocolitem{\inioption{authorFontSize
}}{Specifies the point size for the author and date (RTF only).
} 
 590 \twocolitem{\inioption{chapterFontSize
}}{Specifies the point size for chapter headings (RTF only).
} 
 591 \twocolitem{\inioption{documentFontSize
}}{One of 
10, 
11 and 
12, to specify the main font size
 
 592 independently of the 
\LaTeX\ 
document style command.
} 
 593 \twocolitem{\inioption{sectionFontSize
}}{Specifies the point size for section headings (RTF only).
} 
 594 \twocolitem{\inioption{subsectionFontSize
}}{Specifies the point size for subsection headings (RTF only).
} 
 595 \twocolitem{\inioption{titleFontSize
}}{Specifies the point size for the title (RTF only).
} 
 596 \twocolitem{\inioption{chapterName
}}{The string used when referencing chapters. The default is ``chapter".
} 
 597 \twocolitem{\inioption{sectionName
}}{The string used when referencing sections. The default is ``section".
} 
 598 \twocolitem{\inioption{subsectionName
}}{The string used when referencing subsections. The default is ``subsection".
} 
 599 \twocolitem{\inioption{subsubsectionName
}}{The string used when referencing subsubsections. The default is ``subsubsection".
} 
 600 \twocolitem{\inioption{indexName
}}{The string used for printing the index heading. The default is ``Index".
} 
 601 \twocolitem{\inioption{contentsName
}}{The string used for printing the contents heading. The default is ``Contents".
} 
 602 \twocolitem{\inioption{abstractName
}}{The string used for printing the abstract heading. The default is ``Abstract".
} 
 603 \twocolitem{\inioption{tablesName
}}{The string used for printing the list of tables heading. The default is ``List of Tables".
} 
 604 \twocolitem{\inioption{tableName
}}{The string used when referencing a table. The default is ``table".
} 
 605 \twocolitem{\inioption{figuresName
}}{The string used for printing the list of figures heading. The default is ``List of Figures".
} 
 606 \twocolitem{\inioption{figureName
}}{The string used when referencing a figure. The default is ``figure".
} 
 607 \twocolitem{\inioption{glossaryName
}}{The string used for printing the glossary heading. The default is ``Glossary".
} 
 608 \twocolitem{\inioption{referencesName
}}{The string used for printing the references heading. The default is ``References".
} 
 611 \subsubsection{RTF and WinHelp options
}\label{rtfwinhelpoptions
}\index{options, RTF
}\index{RTF
}% 
 614 \htmlignore{\twocolitemruled{Option
}{Description
}} 
 615 \twocolitem{\inioption{bitmapMethod
}}{Can be ``hex'' (embed the hex data in the file with a $
\backslash$dibitmap keyword),
 
 616 ``includepicture'' (use the MS Word 
6.0 INCLUDEPICTURE field) or ``import'' (an earlier name
 
 617 for INCLUDEPICTURE). ``hex'' may be used for importing into MS Works, but this doesn't work
 
 618 for Word 
6.0. The default is ``includepicture''.
} 
 619 \twocolitem{\inioption{contentsDepth
}}{The depth of headings that is displayed in the table of contents. The default
 
 620 is 
4 but you may wish to reduce this, for example for manuals that 
document C++ and have a large number of
 
 621 headings for member functions.
} 
 622 \twocolitem{\inioption{defaultColumnWidth
}}{The width in points for columns in tables
 
 623 where the width of the column is not set by using 
{\it p
} in the tabular
 
 624 argument. The default is 
100.
} 
 625 \twocolitem{\inioption{footerRule
}}{If true, draws a rule above footers (linear RTF only).
} 
 626 \twocolitem{\inioption{generateHPJ
}}{If true, generates a .HPJ project file (WinHelp mode only).
} 
 627 \twocolitem{\inioption{headerRule
}}{If true, draws a rule below headers (linear RTF only).
} 
 628 \twocolitem{\inioption{listLabelIndent
}}{Specifies the size of list item label indentation, in points.
 
 630 \twocolitem{\inioption{listItemIndent
}}{Specifies the size of list item indentation, in points. The default
 
 632 \twocolitem{\inioption{indexSubsections
}}{If true (the default), subsection and subsubsection
 
 633 titles are indexed in RTF mode.
} 
 634 \twocolitem{\inioption{mirrorMargins
}}{If true, margins are mirrored in twosided documents (linear RTF only).
} 
 635 \twocolitem{\inioption{useWord
}}{If true (the default), Word for Windows RTF
 
 636 formatting is used where possibly, e.g. for the table of contents, list of
 
 637 tables, and list of figures.
} 
 638 \twocolitem{\inioption{useHeadingStyles
}}{If true (the default), sections are marked with
 
 639 appropriate heading styles for generating the table of contents in RTF.
} 
 640 \twocolitem{\inioption{useUpButton
}}{If true (the default), WinHelp files will be generated with an 
{\bf Up
}\rtfsp 
 641 button to make browsing easier. Note that you need to put an extra line in the CONFIG section
 
 644 {\tt CreateButton("Up", "\&Up", "JumpId(`name.hlp', `Contents')")
} 
 646 where 
{\tt name.hlp
} is the name of your help file.
} 
 647 %%% NEED TO BREAK THE LIST AT THE PAGE BREAK BECAUSE LATEX IS STUPID 
 648 %%% UNFORTUNATELY, Tex2RTF IS STUPIDER SO NEED TO COMMENT OUT THIS 
 649 %%% LINE WHEN MAKING HTML, RTF, XLP 
 650 %\latexonly{\end{twocollist}\newpage\begin{twocollist}} 
 651 \twocolitem{\inioption{winHelpContents
}}{If yes, ok or true, a WinHelp 
{\tt .cnt
} file will be generated (used in Windows 
95 for either old WinHelp
 
 652 files or new WinHelp 
4 files).
} 
 653 \twocolitem{\inioption{winHelpVersion
}}{The version of WinHelp being targetted. This affects the generated 
{\tt .hpj
} file and features
 
 654 such as transparent bitmaps which are new to version 
4 or later. The default is 
3.
} 
 655 \twocolitem{\inioption{winHelpTitle
}}{Windows Help file title, inserted into the project file if 
{\it generateHPJ
} is true.
} 
 658 \subsubsection{HTML options
}\label{htmloptions
}\index{options, HTML
}\index{HTML
}% 
 661 \htmlignore{\twocolitemruled{Option
}{Description
}} 
 662 \twocolitem{\inioption{htmlBrowseButtons
}}{Allows generation of Contents, Up, browse back and browse forward
 
 663 buttons on each HTML page except title page. Specify none, text or bitmap. If you specify
 
 664 bitmap, make sure that the files 
{\tt contents.gif
}, 
{\tt up.gif
}, 
{\tt back.gif
} and 
{\tt forward.gif
} are in the
 
 665 directory where the HTML files will reside: samples are given in the docs directory.
} 
 666 \twocolitem{\inioption{truncateFilenames
}}{If true, uses 
{\tt .htm
} suffix instead of 
{\tt .html
},
 
 667 and truncates filenames within HTML documents.
} 
 668 \twocolitem{\inioption{htmlIndex
}}{If true, specifies generation of an 
{\tt .htx
} index file for an HTML 
document.
 
 669 This file can be used in wxHelp version 
2 or other programs. The file consists of a number of lines,
 
 670 each line with three fields separated by bar characters: the indexed phrase, the file, and a label in the file.
} 
 672 \twocolitem{\inioption{htmlWorkshopFiles
}}{If true, specifies generation of 
{\tt .hpp, .hhc
} and 
{\tt .hhk
} files
 
 673 which can be used to create both MS HTML Help and wxHTML Help files. wxHTML Help
 
 674 is the HTML help facility that can be used by wxWidgets 
2 applications (see the wxWidgets manual
 
 675 and the wxWidgets HTML sample).
} 
 676 \twocolitem{\inioption{upperCaseNames
}}{If true, filenames in links are in upper case. By default
 
 677 filenames are in lower case.
} 
 678 \twocolitem{\inioption{backgroundColour
}}{Specifies the RGB background colour for the 
document, e.g. 
{\tt 255;
255;
255} for white.
 
 679 The default is white.
} 
 680 \twocolitem{\inioption{backgroundImage
}}{Specifies the RGB background image for the 
document, e.g. 
{\tt tile.gif
}.
} 
 681 \twocolitem{\inioption{textColour
}}{Specifies the RGB text colour for the 
document, e.g. 
{\tt 0;
0;
0} for black.
} 
 682 \twocolitem{\inioption{linkColour
}}{Specifies the RGB link colour for the 
document, e.g. 
{\tt 0;
0;
255} for blue.
} 
 683 \twocolitem{\inioption{followedLinkColour
}}{Specifies the RGB followed link colour for the 
document, e.g. 
{\tt 0;
0;
255} for blue.
} 
 684 \twocolitem{\inioption{combineSubSections
}}{If true (or yes), switches off
 
 685 the generation of separate HTML files below section level. This can reduce the
 
 686 number of HTML files substantially. A subsection contents list is inserted before
 
 687 the first subsection.
} 
 688 \twocolitem{\inioption{htmlFaceName
}}{A string specifying the overall font face, such as ``"Arial, Lucida, Helvetica".
} 
 691 \section{DDE commands
}\index{DDE
}% 
 693 A Windows program can hold a conversation with Tex2RTF using DDE. The Tex2RTF server name is
 
 694 ``TEX2RTF'', and the topic name to use is also ``TEX2RTF''.
 
 696 Tex2RTF functionality is accessed using the DDE 
{\it Execute
} message.
 
 697 The 
{\it Execute
} data should consist of a command name and possibly one
 
 701     INPUT c:
\docs\mine.tex
 
 704 If the command is not recognised, a standard TEX2RTF.INI option is assumed.
 
 706 The 
{\it Request
} DDE message can be used to query the return status of an 
{\it Execute
} 
 707 command, and will be one of 
{\it OK
} (no error), 
{\it CONVERSION ERROR
}, or a more
 
 708 specific error string.
 
 710 The following DDE commands may be used:
 
 713 \htmlignore{\twocolitemruled{Command
}{Description
}} 
 714 \twocolitem{\inioption{EXIT
}}{Takes no argument, and exits Tex2RTF.
} 
 715 \twocolitem{\inioption{GO
}}{Takes no argument, and initiates the conversion.
} 
 716 \twocolitem{\inioption{INPUT
}}{Takes a file name as the argument, and sets the input file to be this name.
} 
 717 \twocolitem{\inioption{MINIMIZE
}}{Takes no argument, and minimizes Tex2RTF.
} 
 718 \twocolitem{\inioption{OUTPUT
}}{Takes a file name as the argument, and sets the input file to be this name.
} 
 719 \twocolitem{\inioption{RESTORE
}}{The same as SHOW.
} 
 720 \twocolitem{\inioption{SHOW
}}{Takes no argument, and unminimizes Tex2RTF.
} 
 723 \section{Performance issues
}\index{performance
}% 
 725 Since Tex2RTF reads the whole file into memory, a lot of memory is needed.
 
 726 For very large documents, 
16MB of RAM is adviseable.
 
 728 I tested conversion of the wxWidgets 
1.63 manual on both VC++ 
1.5 and
 
 729 Watcom WIN32s versions of Tex2RTF, both running under Windows 
3.11 on a
 
 730 Gateway P60 with 
16MB of RAM and a 
2MB disk cache. Two passes were
 
 731 made, with 
1.5MB of WinHelp RTF being generated. The unoptimized 
16-bit
 
 732 version took 
169 seconds. The optimized WIN32s version took 
126 seconds,
 
 733 a significant improvement. Systems with faster disk subsystems should see
 
 734 an even better relative performance of the 
32-bit version.
 
 736 \chapter{Writing documents with Tex2RTF
}\index{LaTeX
}% 
 737 \setheader{{\it CHAPTER 
\thechapter}}{}{}{}{}{{\it CHAPTER 
\thechapter}}% 
 738 \setfooter{\thepage}{}{}{}{}{\thepage}% 
 740 \section{Why use 
\LaTeX?
} 
 742 \LaTeX\ happens to be a very convenient format if you need to produce
 
 743 documents (such as manuals, help facilities, up-to-date information) in
 
 744 both printed and on-line media. Being a language rather than a WYSIWYG system,
 
 745 it allows explicit specification of layout and 
document structure, lending
 
 746 itself well to hypertext applications and automatic 
document generation.
 
 747 Many people also prefer to use 
\LaTeX\ for ordinary use since it encourages
 
 748 a logical 
document structure and the user is not distracted by having to perfect
 
 749 the appearance; many layout decisions are taken by 
\LaTeX\ automatically.
 
 751 Although 
\LaTeX\ is not as fancy as modern word processors and desk-top
 
 752 publishing packages, it is for many purposes quite adequate, and sometimes
 
 753 more flexible than its modern counterparts.
 
 755 The conversion utility gives 
\LaTeX\ a new lease of life by allowing
 
 756 virtually all other wordprocessor formats to be generated from documents
 
 757 containing a reasonable subset of 
\LaTeX\ syntax. From the same 
\LaTeX\ 
 
 758 sources, we can now generate printed manuals, Windows Help files, 
\popref{wxHelp
}{wxhelp
}\rtfsp 
 759 files, RTF-compatible word processor formats such as MS Word, and 
\popref{HTML
}{html
}\rtfsp 
 760 files for use in the World Wide Web. Since the conversion tool is
 
 761 free, as are 
\LaTeX, HTML viewers, wxHelp and (effectively) Windows
 
 762 Help, there are no financial or time penalties for providing
 
 763 documentation in a wide range of printed and hypertext formats.
 
 765 \section{Help versus the printed page
}\index{on-line help
}% 
 767 The purist may argue, quite rightly, that on-line help systems and
 
 768 printed manuals have different characteristics; help windows tend to be
 
 769 much smaller than pages, help topics should be more stand-alone than
 
 770 pages in a manual, navigation methods are very different, etc. Therefore,
 
 771 help systems should be 
{\it based
} on printed documentation but
 
 772 separately hand-crafted into hypertext help, preferably by an
 
 773 independent person or team.
 
 775 This might be the ideal, but many organisations or individuals simply
 
 776 do not have the time: on-line help wouldn't get done if the
 
 777 documentation effort had to be doubled. However, Tex2RTF does provide
 
 778 some commands to allow tailoring the documentation to printed or
 
 779 on-line form, such as 
\verb$
\helponly$ and 
\verb$
\helpignore$. An awareness
 
 780 of the design issues should go a long way to making the compromise
 
 781 a good one, so a book such as 
{\it Developing On-line Help for Windows
} \cite{helpbook
} is highly recommended.
 
 783 \section{Output Formats
}\index{output formats
}% 
 785 At present the following output formats are supported:
 
 789 \item RTF (Rich Text Format)
\index{RTF
}. This is the most well developed
 
 790 converter. RTF is commonly used as a 
document exchange format amongst
 
 791 Windows-based applications, and is the input for the Windows Help
 
 792 Compiler. Tex2RTF supports both linear documents and Windows Help
 
 794 \item HTML (Hypertext Markup Language)
\index{HTML
}. This an SGML-based format
 
 795 commonly used by documents in the World Wide Web distributed hypertext
 
 796 system, and formats text dynamically rather like Windows Help.
 
 797 \item wxHelp
\index{wxHelp
}. This is the platform-independent help system for
 
 798 the class library wxWidgets (see the wxWidgets User Manual 
\cite{smart93a
}).
 
 799 It can display ASCII files with embedded codes
 
 800 for changing font styles, but no formatting is done by wxHelp.
 
 803 \section{What compromises must I make?
}\index{compromises
}\index{LaTeX
}% 
 805 As a 
\LaTeX\ user, you need to be aware that some commands or facilities
 
 806 don't transfer to other formats, either because they are not supported
 
 807 by the target format or because the converter does not support them. 
 
 808 Maths formatting is a good example of an unsupported feature.
 
 810 Sometimes 
\LaTeX\ facilities must be accessed in a slightly different
 
 811 way to support the variety of formats, particularly hypertext formats
 
 812 where 
\LaTeX\ references are often replaced by hypertext jumps (but must
 
 813 still look right in printed documentation). Tables don't transfer well
 
 814 to RTF and HTML (and not at all to wxHelp) but an attempt is made
 
 815 to approximate tables so long as special row commands are used, instead
 
 816 of the usual end of row delimiter.
 
 818 Bibliographies are handled quite well since the utilities can read in
\rtfsp 
 819 {\tt .bib
} files and resolve citations. Numbers are used in citations;
 
 820 the references are not yet sorted alphabetically.
 
 822 Pictures
\index{pictures
} are handled in a limited way: if the PSBOX
\index{PSBOX
} macro package is
 
 823 used, an 
\verb$
\image$ command can be used to place Encapsulated PostScript
 
 824 files in 
\LaTeX, and Windows RGB-encoded bitmap files or placeable
 
 825 metafiles when converting to RTF.
 
 827 Nested file inclusion
\index{file inclusion
} is handled with 
\verb$
\input$, 
\verb$
\include$ and 
\verb$
\verbatiminput$,
 
 828 and the comment environment is supported. However, using 
\verb$
\input$
\rtfsp 
 829 to include macro packages is not advisable. If you do this,
 
 830 make sure you add a line in the Tex2RTF initialisation file to ignore
 
 831 this file, unless it's a simple 
\LaTeX\ file that conforms to Tex2RTF
 
 832 restrictions. The file 
{\tt psbox.tex
} is the only file ignored
 
 833 by Tex2RTF by default.
 
 835 Because of the way 
\LaTeX\ is parsed, some syntax
\index{syntax restrictions
} has to conform to a
 
 836 few simple rules. Commands such as 
\verb$
\bf$ and 
\verb$
\it$ need to occur
 
 837 immediately after a left brace, and have a block of their own, since
 
 838 the text within their scope is regarded as its argument. This syntax
 
 839 means the same thing as using 
\verb$
\begin ... 
\end$, which is usually
 
 840 a one argument command (the argument is the text between the 
\verb$
\begin$
\rtfsp 
 841 and 
\verb$
\end$). See 
\helpref{Space
}{space
}.
 
 843 As a Windows hypertext help writer
\index{on-line help
}, you don't have access to all RTF
 
 844 commands but you'll be able to get most of what you want. In particular,
 
 845 any 
\LaTeX\ 
document you write will automatically be a hypertext
 
 846 document, because the converter takes advantage of the hierarchy of
 
 847 sections. Further jumps can be placed using the commands
 
 848 \rtfsp\commandrefn{label
}{label
}, 
\commandrefn{helpref
}{helpref
},
 
 849 \rtfsp\commandrefn{helprefn
}{helprefn
}, and 
\commandrefn{popref
}{popref
}.
 
 850 Tex2RTF outputs help files that may be read linearly using the
 
 851 \rtfsp$<<$ and $>>$ buttons, with an additional Up button for
 
 854 When writing HTML, multiple files are generated from one 
\LaTeX\ file
 
 855 since browsing HTML works best with many small files rather than a few
 
 858 wxHelp files are least well supported since there is no formatting
 
 859 support, only font style, sizes and colours. Still, some hypertext help
 
 860 support on UNIX/X platforms is better than none. wxHelp is now being rewritten (March 
1996)
 
 863 Sometimes you will use a local macro package that is unrecognised by
 
 864 the converters. In this case, you may define a custom macro file
 
 865 where macros are defined in terms of supported 
\LaTeX\ commands
 
 866 and text. Even if the result is not the same as in 
\LaTeX, you
 
 867 can probably end up with something adequate, and at least avoid
 
 868 undefined macro errors. See 
\helpref{Initialisation file syntax
}{inifile
} for
 
 871 \section{Changes to LaTeX syntax
} 
 873 Here are the conventions you need to observe to satisfy the Tex2RTF
 
 876 \subsection{Space
}\label{space
}\index{space
}% 
 878 Tex2RTF attempts to insert spaces where 
\LaTeX\ assumes whitespace.
 
 879 However, for the benefit of RTF conversion, you need to use the 
\commandrefn{rtfsp
}{rtfsp
} command
 
 880 where a command or brace within a paragraph begins or ends with a macro. For example:
 
 883     Within a paragraph, you need to be careful about commands
 
 884     \rtfsp{\it that begin at the start of a line.
} 
 887 As normal with 
\LaTeX, two newlines represents a paragraph break,
 
 888 although 
\commandrefn{par
}{par
} can also be used at the end of a paragraph.
 
 890 You need to have a blank line between section and some environment
 
 891 commands and the first paragraph or your 
document will look rather
 
 892 weird, e.g. headings running into paragraphs.
 
 894 wxHelp is more fussy than 
\LaTeX\ or RTF: you need to use percent
 
 895 characters at line ends liberally to eliminate newlines after commands
 
 898 \subsection{Command arguments
}\index{LaTeX commands
}% 
 900 Commands that have one or more arguments can be used in the following
 
 913 The first method is a normal 
\LaTeX\ command.
 
 915 The second method is called an 
{\it environment
}; 
\LaTeX\ has specific
 
 916 environments that do not always correspond to normal commands, but
 
 917 Tex2RTF recognizes environments and normal commands interchangeably, so
 
 918 long as the command has no more than two arguments.
 
 920 With the third method, it is important that the command has its own
 
 921 pair of braces, and that the command immediately follows the first brace.
 
 922 Otherwise, the parser cannot parse the argument(s) properly.
 
 923 With multiple arguments, each should be enclosed in braces.
 
 925 Optional arguments are specified using square brackets or parentheses.
 
 927 The braces that start command arguments must not be separated from
 
 928 the other arguments by whitespace. For example, the following produces
 
 936 and should be replaced by 
 
 939     \image{5cm;
0cm
}{picture.eps
} 
 942 \subsection{Avoid the setlength command
} 
 944 Using the $
\backslash$setlength command doesn't work, since its first
 
 945 argument looks like a command with the wrong number of arguments. Use an
 
 946 alternative form instead, e.g.
 
 955     \setlength{\parindent}{0pt
} 
 958 \subsection{Units
}\index{units
}% 
 960 Only a subset of 
\LaTeX\ units may be used for specifying dimensions.
 
 961 Valid units are 
{\tt pt, mm, cm
} and 
{\tt in
}. Units should usually
 
 962 be specified for dimensions or the results may be unexpected.
 
 964 \subsection{Labels
}\index{labels
}% 
 966 The 
\verb$
\label$ command may be used for sections and figure captions,
 
 967 but must come immediately after the section or caption commands with no
 
 968 intervening whitespace.
 
 970 \subsection{Tables
}\label{tables
}\index{tables
}% 
 972 For best layout, table rows should be enclosed in a 
\verb$
\row$
\rtfsp 
 973 or 
\verb$
\ruledrow$ command, since Tex2RTF can't cope with parsing
 
 974 the 
\LaTeX\ tabular syntax unaided. However, if you really don't want
 
 975 to go through 
\LaTeX\ files inserting new syntax, set the 
{\it compatibility
}\rtfsp 
 976 flag to TRUE in your 
{\tt tex2rtf.ini
} file. In this mode, Tex2RTF tries to make
 
 977 the best of a bad job, but the results won't be optimal (e.g., no table
 
 978 borders). Without this flag set, normal 
\LaTeX\ tables can crash RTF readers
 
 979 such as Word for Windows.
 
 981 \section{Tex2RTF for non-LaTeX users
}\index{LaTeX
}% 
 983 You don't need to have 
\LaTeX\ installed to use Tex2RTF. You
 
 984 can still output RTF files to be imported into your favourite
 
 985 word processor, and hypertext files for on-line help.
 
 987 This chapter gives a very brief introduction to 
\LaTeX. For further
 
 988 information, Kopka and Daly's 
{\it A Guide to 
\LaTeX} \cite{kopka
} is
 
 991 \subsection{What is 
\LaTeX?
} 
 993 \LaTeX\ is a macro package built on top of the typesetting package,
 
 994 \TeX. 
\TeX\ was written by Donald Knuth in the 
1970s, and Leslie
 
 995 Lamport wrote 
\LaTeX\ as a higher-level, easier way to write 
\TeX.
 
 997 \TeX\ was quite advanced for its day, and is still used (particularly by
 
 998 academics) because of its free availability and its flexibility in
 
 999 typesetting maths and other symbols. It's more like a programming
 
1000 language than a word processor, with embedded commands prefixed by a
 
1001 backslash and block structure. Like programs, 
\TeX\ documents are
 
1002 processed by a `compiler', outputting a .dvi file, which is a device
 
1003 independent file which can be read by many converters for output
 
1004 onto physical devices, such as screens and printers.
 
1006 A reason for its longevity is the ability to add facilities to
 
1007 \TeX, using macro packages that define new commands.
 
1009 \LaTeX\ is the most popular way to write 
\TeX. Although WYSIWYG
 
1010 word processors and DTP packages are outstripping 
\LaTeX, the increasing
 
1011 interest in hypertext and mark-up languages makes 
\LaTeX\ relevant as
 
1012 a similar language to SGML documents (such as World Wide Web HTML files).
 
1014 Also, languages such as 
\LaTeX\ (and Rich Text Format, which it resembles
 
1015 in many ways) are 
{\it complementary
} to WYSIWYG packages. These languages
 
1016 allow automatic production and translation of documents, where manual
 
1017 mark-up is impractical or undesirable.
 
1019 Since the source code of 
\TeX\ and 
\LaTeX\ is in the public domain,
 
1020 there are many free and commercial implementations of 
\LaTeX\ for almost
 
1021 every computer in existance. Of PC implementations, EmTeX is arguably
 
1022 the best and most complete. You can download it from various FTP sites.
 
1024 If you don't want to use 
\LaTeX\ itself, you may wish to use a program
 
1025 called lacheck to check your documents before using Tex2RTF, since it
 
1026 catches some mistakes that Tex2RTF doesn't.
 
1028 \subsection{Document structure
} 
1030 Here is a sample of a typical 
\LaTeX\ 
document:
 
1033     \documentstyle[a4,texhelp
]{report} 
1035     \author{Julian Smart
} 
1040     \chapter{Introduction
} 
1051 The first line is always a 
\verb$
\documentstyle$ command. The square brackets
 
1052 enclose optional 
{\it style
} files (suffix 
{\tt .sty
}) that alter the appearance
 
1053 of the 
document or provide new commands, and the curly brackets enclose
 
1054 the mandatory style, in this case `
report'.
 
1056 Before the 
document begins properly with 
\verb$
\begin{document}$,
 
1057 you can write various commands that have an effect on the appearance of the
 
1058 document or define title page information. The 
\verb$
\maketitle$ command
 
1059 writes the title page using information defined previously (title, author,
 
1062 A 
report has chapters, which are divided into sections, and can be further
 
1063 divided into subsections and subsubsections. To start a new section, you
 
1064 write the appropriate section command with the section heading; there is
 
1065 no specific end section command, since a new section heading or the end
 
1066 of the 
document will indicate the end of the previous section.
 
1068 An article is divided into sections, subsections and subsubsections, but
 
1069 has no chapters. This is so an article can be included in a 
report as a chapter.
 
1071 Tex2RTF is written to deal with reports best, so stick with the 
report 
1074 \subsection{Command syntax
} 
1076 There are several kinds of commands in 
\LaTeX. Most involve a keyword
 
1077 prefixed with a backslash. Here are some examples:
 
1082     \centerline{This is a centred line
} 
1089     {\bf This is bold font
} 
1092 The first example has no arguments. The second has one argument. The third
 
1093 example is an 
{\it environment
} which uses the begin and end keywords instead
 
1094 of a pair of braces to enclose an argument (usually one). The fourth is an example
 
1095 of using a command within a pair of braces: the command applies to the scope within
 
1096 the braces. Tex2RTF treats this form as if it were a command with one argument,
 
1097 with the right brace delimiting the argument. In this case, the command must
 
1098 immediately follow a left brace as shown.
 
1100 Commands may be nested, but not overlapped.
 
1102 \subsection{Space
}\index{space
}% 
1104 In 
\LaTeX, white space is mostly ignored, line breaks make no difference.
 
1105 However, 
\LaTeX\ interprets two successive newlines (a blank line) as
 
1106 denoting a paragraph break. You may also use the 
\verb$
\par$ command to end
 
1109 \section{Hypertext features
}\index{hypertext
}% 
1111 \LaTeX\ is inherently suitable for specifying hypertext documents since
 
1112 it encourages description of the logical structure of a 
document using
 
1113 section commands. Therefore, a 
\LaTeX\ 
document is automatically
 
1114 a hypertext 
document, without any further editing.
 
1116 For Windows Help, a single RTF file is generated with topics
 
1117 corresponding to sections. A top level contents page shows each chapter
 
1118 or top-level section, and each chapter or section ends with a list of
 
1119 further sections or subsections. Tex2RTF outputs help files that may be
 
1120 read linearly using the 
\rtfsp$<<$ and $>>$ buttons.
 
1122 Similarly, a single wxHelp XLP file is generated.
 
1124 For HTML, a different file is generated for each section, since the
 
1125 XMOSAIC browser works best with a large number of small files. The files
 
1126 are named automatically based on the name of the output file, with the
 
1127 contents page filename being formed from the output filename with 
{\tt 
1128 \_contents} appended to the name. If the truncateFilenames option is
 
1129 begin used, then the contents page is just the root name, with a .htm
 
1130 suffix. The conversion may result in the generation of several hundred
 
1131 files for a large 
\LaTeX\  input file. 
 
1133 To specify explicit jumps around a hypertext file, the 
\commandrefn{helpref
}{helpref
} command is
 
1134 used. The first argument is the text to be displayed at the point of reference,
 
1135 which will be highlighted in a hypertext file to allow jumping to a reference.
 
1136 The second argument is the reference label (there should be a corresponding
 
1137 \rtfsp\commandrefn{label
}{label
} command in the file, following a section or figure).
 
1139 To use extra Tex2RTF features in proper 
\LaTeX, such as 
\verb$
\helpref$
\rtfsp 
1140 and the C++ and CLIPS class reference documentation features, include
 
1141 the style file 
{\tt texhelp.sty
}.
 
1143 \section{Special sections
}\index{special sections
}% 
1145 The treatment of bibliography, glossary and index are worth special mention.
 
1147 \subsection{Bibliography
}\label{bibsection
}\index{bibliography
}% 
1149 Tex2RTF recognises standard 
\LaTeX\ bibliography files (usually with 
{\tt .bib
} extension)
 
1150 and resolves citations. The 
\commandrefn{bibliography
}{bibliographycmd
}\rtfsp 
1151 command reads the given 
{\tt .bib
} file and includes a list of
 
1152 references at that point in the input. Only numbered, unsorted
 
1153 references are catered for at the moment, with no variation in
 
1154 bibliography style. A 
{\bf References
} heading is placed in the contents
 
1155 section. Note that Tex2RTF must be run twice to ensure the citations are
 
1158 Tex2RTF can also cope with the 
\verb$
\thebibliography$ environment, with 
\rtfsp  
1159 \verb$
\bibitem$ commands, so long as the text following the first 
\verb$
\bibitem$
\rtfsp  
1160 argument is enclosed in braces as if it were a second argument.
 
1162 \subsection{Glossary
}\label{glossarysection
}\index{glossary
}% 
1164 Glossaries are formatted according to the following scheme.
 
1165 The 
\commandrefn{helpglossary
}{helpglossary
} environment is used together with
 
1166 the 
\commandrefn{gloss
}{gloss
} command for glossary entries. In 
\LaTeX\ this
 
1167 is interpreted as a description list, and each glossary entry is an item.
 
1168 In on-line help, each glossary entry is a section.
 
1170 A labelled glossary entry command may be referenced by 
\commandrefn{popref
}{popref
}\rtfsp  
1171 to provide a quick popup explanation of a term.
 
1173 \subsection{Index
}\index{index
}% 
1175 The explicit index is assumed to be redundant in on-line help, since
 
1176 search facilities are provided. Therefore the 
\verb$
\printindex$ command
 
1177 does nothing in on-line versions. In linear RTF an index field is
 
1178 added, and 
\commandrefn{index
}{index
} marks words for inserting in the index.
 
1180 In Windows Help, all section headings and C++ function names are treated
 
1181 as keywords. A keyword may be ambiguous, that is, refer to more than one
 
1182 section in the help file.  This automatic indexing may not always be
 
1183 adequate, so the 
\LaTeX\ 
\commandrefn{index
}{index
} command may be used
 
1186 In wxHelp, all section headings are indexed.
 
1188 \section{Authoring HTML documents
} 
1190 When an HTML 
document is generated, the suffix `
\_contents' is appended
 
1191 to the input file root. This will be the contents page for the 
document.
 
1192 A number of further HTML files will be generated, possibly a large number
 
1193 for a 
document with a large number of sections. If you are running
 
1194 a 
16-bit Windows version of Tex2RTF, you may wish to use
 
1195 the 
{\it truncateFilenames
} option to generate DOS filenames with
 
1196 appropriately truncated references inside the HTML files.
 
1198 \normalbox{Tip: to reduce the number of sections generated and make
 
1199 the 
document more linear, you could define new chapter and section
 
1200 commands. Alias them to the normal commands in real LaTeX (edit 
{\tt texhelp.sty
}), and
 
1201 to appropriate bold/large headings (but not section commands) in
 
1202 the Tex2RTF initialisation file.
} 
1204 Each HTML section file (except for the contents page) is given browse
 
1205 buttons, similar to a Windows Help file: Contents, Up, Down, Back, Forward.
 
1206 You can set 
{\it htmlBrowseButtons
} to specify whether bitmaps or text should
 
1207 be used for these buttons. On a text-only browser, the buttons will show
 
1208 as text even if images have been specified.
 
1210 As well as the usual jumps within a 
document, you can use the 
\commandref{urlref
}{urlref
} command to jump
 
1211 to other documents. `Advanced features' which are implemented for HTML include:
 
1213 \begin{itemize
}\itemsep=
0pt
 
1214 \item Simple tables: 
\commandref{tabular
}{tabular
} command
 
1215 \item Background colour/bitmap: 
\commandref{backgroundcolour
}{backgroundcolour
} and
 
1216 \rtfsp\commandref{backgroundimage
}{backgroundimage
} 
1217 \item Text colour: 
\commandref{textcolour
}{textcolour
} command
 
1220 See 
\helpref{HTML options
}{htmloptions
} for relevant initialisation file
 
1223 \section{Authoring Windows Help documents
}\index{WinHelp files
}% 
1225 To produce a Windows Help file, you need to generate a WinHelp RTF file
 
1226 with Tex2RTF and then invoke a Windows Help compiler (such as hc505.exe)
 
1227 to translate this to a .hlp file.
 
1229 WinHelp support has split into two streams, Windows 
3.1 help format
 
1230 and Windows 
95 (WinHelp 
4) format. You control this with the 
{\it winHelpVersion
} option,
 
1231 setting it to 
3 for Windows 
3.1, and 
4 for Windows 
95. In the latter case,
 
1232 you also need the Help Compiler for Windows (hcw.exe and associated components)
 
1233 which are available in the WIN32 SDK and with Windows 
95 compilers.
 
1235 Tex2RTF can produce a Windows 
95 {\tt .cnt
} file if 
{\it winHelpContents
}\index{CNT file
} is switched
 
1236 on. This file is used to generate the new-style contents page, allowing
 
1237 hierarchical browsing of the topic contents. In fact this file can be used
 
1238 with ordinary Windows 
3.1 files on Windows 
95: so to hedge your bets,
 
1239 generate a Windows 
3.1 help file along with 
{\tt .cnt
} file.
 
1241 Tex2RTF also generates (optionally) a 
{\tt .hpj
} (Help Project) file
\index{HPJ file
} which is
 
1242 fed to the help compiler and specifies the RTF file being used amongst
 
1243 other things. In WinHelp 
4 mode, Tex2RTF adds entries to the project
 
1244 to enhance the appearance of the help file. In particular, the
 
1245 non-scrolling (topic title) region is coloured grey, and the rest
 
1246 is coloured a light yellow in keeping with other Windows 
95 help
 
1249 \normalbox{Tip: you can maintain two versions of a help file
 
1250 by specifying an alternative 
{\tt .ini
} file on the command
 
1251 line when invoking Tex2RTF, and compiling to a different directory.
 
1252 Tex2RTF instructs the help compiler to use the input file directory
 
1253 to find bitmaps and metafiles, so using a different output directory
 
1256 There is a slight wrinkle with generation of the 
{\tt .cnt
} file:
 
1257 to work around a `feature' in the Windows 
95 help compiler, Tex2RTF may insert
 
1258 extra book icons in the contents page. So your contents page
 
1259 may not exactly match the structure in your LaTeX file.
 
1261 `Advanced features' which are implemented for WinHelp include:
 
1263 \begin{itemize
}\itemsep=
0pt
 
1264 \item Transparency: 
\commandref{settransparency
}{settransparency
} command
 
1265 \item Colour: 
\commandref{definecolour
}{definecolour
}, 
\commandref{fcol
}{fcol
}, 
\commandref{bcol
}{bcol
} commands
 
1266 \item Hot spot appearance: 
\commandref{sethotspotcolour
}{sethotspotcolour
}, 
\commandref{sethotspotunderline
}{sethotspotunderline
} commands
 
1269 Tex2RTF automatically generates browse buttons for jumping to the
 
1270 above, previous and next topics. 
 
1272 See 
\helpref{RTF/WinHelp options
}{rtfwinhelpoptions
} for
 
1273 relevant initialisation file switches.
 
1275 \section{Authoring linear RTF documents
}\index{RTF
}% 
1277 Linear RTF documents come in two main flavours. It can produce simple
 
1278 RTF that can be read by a wide variety of readers, such as
 
1279 Windows 
95 WordPad, the Windows 
95 viewer, and most word processors.
 
1280 Tex2RTF can also output MS Word compatible RTF which has special
 
1281 fields for contents page and index formatting, headings, and
 
1284 Use the 
{\it useWord
} initialisation file flag to switch Word mode
 
1286 Hypertext links (using 
\verb$
\helpref$ and other commands) will be formatted as
 
1287 bold `anchor' text plus a section or figure number in parentheses.
 
1289 In Word mode, using an index section generates a proper Word index.
 
1290 Similarly, a Word table of contents, list of figures, list of tables
 
1291 and page reference may be generated.
 
1293 See 
\helpref{RTF/WinHelp options
}{rtfwinhelpoptions
} for
 
1294 relevant initialisation file switches.
 
1296 \section{Authoring wxHelp documents
}\index{wxHelp
}% 
1298 The wxHelp (.xlp) file is the most basic kind of file that Tex2RTF
 
1299 can handle. Since spacing is passed through to the output, you need to
 
1300 format your input 
document appropriately, with lines of reasonable length.
 
1302 The generated xlp file is an ASCII file that can be read directly by
 
1303 wxHelp, the generic wxWidgets help viewer.
 
1305 \chapter{Command reference
}\index{command reference
}% 
1306 \setheader{{\it CHAPTER 
\thechapter}}{}{}{}{}{{\it CHAPTER 
\thechapter}}% 
1307 \setfooter{\thepage}{}{}{}{}{\thepage}% 
1309 The following lists commands which are recognised by the converters. The reader
 
1310 can assume that commands not mentioned here are unrecognised or ignored.
 
1312 Each command is listed with its name, the number of arguments it takes
 
1313 (excluding optional arguments), and a description. Note that if the
 
1314 command is used as an environment (using 
\verb$
\begin$ and 
\verb$
\end$) then
 
1315 the number of arguments must be either one or two. For example, the
\rtfsp 
1316 \verb$
\tabular$ environment takes two arguments: a first argument for
 
1317 specifying the formatting, and the second argument for the body of the
 
1321     \begin{tabular
}{|l|l|
} 
1327 \section{\LaTeX\ Commands
} 
1329 \subsection*
{abstract:
1}\label{abstract
} 
1331 This standard 
\LaTeX\ environment prepares an abstract page, and is
 
1332 treated as an ordinary chapter or section in on-line help.
 
1334 \subsection*
{addcontentsline:
3}\label{addcontentsline
} 
1336 Adds a chapter title to the contents page. Linear RTF. Rarely required.
 
1338 %\subsection*{appendix} 
1339 %\subsection*{arabic} 
1340 %\subsection*{array} 
1341 \subsection*
{author:
1}\label{author
} 
1343 Defines the author, for output when 
\verb$
\maketitle$ is used.
 
1345 \subsection*
{backslash:
0}\label{backslash
} 
1347 Outputs a backslash in math mode (should be enclosed by two dollar symbols).
 
1349 \subsection*
{bf:
1}\label{bf
} 
1351 Specifies bold font.
 
1353 \subsection*
{bffamily:
1}\label{bffamily
} 
1355 Specifies bold font.
 
1357 \subsection*
{bibitem:
2}\label{bibitem
} 
1359 For parsing convenience, 
\verb$
\bibitem$ requires two arguments: a cite key and item.
 
1360 \rtfsp\LaTeX\ syntax permits writing this as if it were two arguments,
 
1361 even though it is in fact only one. This command is used within
 
1362 a 
\commandrefn{thebibliography
}{thebibliography
} environment. The preferred
 
1363 method is to store references in 
{\tt .bib
} files and use the 
\commandrefn{bibliography
}{bibliographycmd
}\rtfsp 
1364 command to generate a bibliography section automatically.
 
1366 \subsection*
{bibliographystyle:
1}\label{bibliographystyle
} 
1368 Currently doesn't affect the style of bibliography, but probably will
 
1371 \subsection*
{bibliography:
0}\label{bibliographycmd
} 
1373 Includes the bibliography at this point in the 
document. See the section
 
1374 on 
\helpref{bibliographies
}{bibsection
}.
 
1376 %\subsection*{caption*} 
1377 \subsection*
{caption:
1}\label{caption
} 
1379 Specifies a caption (within a 
\commandrefn{figure
}{figure
} or 
\commandrefn{table
}{table
} environment). This may
 
1380 be followed immediately by a 
\commandrefn{label
}{label
} command.
 
1382 \subsection*
{cdots:
0}\label{cdots
} 
1386 \subsection*
{centerline:
1}\label{centerline
} 
1388 Centres (or centers!) a line of text.
 
1390 %\subsection*{centering} 
1391 \subsection*
{center:
1}\label{center
} 
1393 Centres a block of text.
 
1395 \subsection*
{chapter:
1}\label{chapter
} 
1397 Outputs a chapter heading. If the chapter's name is Popups
\index{popups
}, the chapter title will not be
 
1398 put in the contents, to allow popups to be placed in a 
document without the popup
 
1399 sections being directly accessible.
 
1401 \subsection*
{chapter*:
1}\label{chaptersX
} 
1403 Outputs a chapter heading with no contents entry.
 
1405 \subsection*
{cite:
1}\label{cite
} 
1407 Cite a reference. The argument is a reference key as defined in a 
\LaTeX\ 
{\tt .bib
}\rtfsp 
1410 \subsection*
{comment:
1}\label{comment
} 
1412 An environment that allows large comments in 
\LaTeX\ files: the argument
 
1413 is ignored in all formats. Useful for commenting out parts of files that
 
1414 cannot be handled by 
\LaTeX, such as the picture environment. See also
\rtfsp 
1415 \commandrefn{toocomplex
}{toocomplex
}.
 
1417 \subsection*
{date:
1}\label{date
} 
1419 Specifies the date of a 
document; only output by 
\commandrefn{maketitle
}{maketitle
}.
 
1421 \subsection*
{description:
1}\label{description
} 
1423 A list environment, where each 
\commandrefn{item
}{item
} command must be
 
1424 followed by optional square-bracketed text which will be highlighted.
 
1426 %\subsection*{destruct:1}\label{destruct} 
1428 \subsection*
{document:
1}\label{document} 
1430 This environment should enclose the body of a 
document.
 
1432 \subsection*
{documentstyle:
1}\label{documentstyle
} 
1434 Specifies the main style (
report, article etc.) and, optionally, style files
 
1435 such as 
{\tt texhelp.sty
}. A 
report has 
\commandrefn{chapters
}{chapter
}, while an article's top-level
 
1436 sections are specified using 
\commandrefn{section
}{section
}.
 
1438 %\subsection*{doublespace}\label{doublespace} 
1439 \subsection*
{em:
1}\label{em
} 
1441 Emphasizes text (italic in RTF).
 
1443 \subsection*
{emph:
1}\label{emph
} 
1445 Same as 
\commandrefn{em
}{em
}.
 
1447 \subsection*
{enumerate:
1}\label{enumerate
} 
1449 Enumerate list environment: numbers the 
\commandrefn{items
}{item
}.
 
1451 %\subsection*{equation}\label{equation} 
1452 %\subsection*{evensidemargin} 
1453 %\subsection*{fbox:1}\label{fbox} 
1455 \subsection*
{figure:
1}\label{figure
} 
1457 A figure environment: does nothing special, except allows interpretation of
 
1458 embedded 
\helpref{caption
}{caption
} commands as figures rather than (say) tables.
 
1460 \subsection*
{flushleft:
1}\label{flushleft
} 
1462 Flushes the given text to the left margin.
 
1464 \subsection*
{flushright:
1}\label{flushright
} 
1466 Flushes the given text to the right margin.
 
1468 %\subsection*{footheight}\label{footheight} 
1469 \subsection*
{footnote:
1}\label{footnote
} 
1471 In linear RTF, a footnote is created. Whether this appears at the end of
 
1472 the section or the bottom of the page appears to depend on the current
 
1473 document style, at least for MS Word 
6.0 for Windows. The default seems
 
1474 to be to put the footnotes at the end of the section, which is probably
 
1475 not the best assumption.
 
1477 In WinHelp RTF, a bracketed number is generated for the footnote
 
1478 and the footnote becomes a popup topic. It is probably preferable
 
1479 to change footnote commands to 
\commandref{footnotepopup
}{footnotepopup
},
 
1480 or 
\commandref{popref
}{popref
} references to glossary entries.
 
1482 This command is not supported for formats other than 
\LaTeX,
 
1483 linear RTF and WinHelp RTF.
 
1485 \subsection*
{hline:
0}\label{hline
} 
1487 Within a 
\commandrefn{tabular
}{tabular
} environment, draws a horizontal
 
1488 rule below the current row. Note that this does not work in RTF for the
 
1489 last row of a table, in which case the command 
\commandrefn{ruledrow
}{ruledrow
}\rtfsp 
1490 should be used instead.
 
1492 \subsection*
{hrule:
0}\label{hrule
} 
1494 Draws a horizontal line below the current paragraph. For example:
 
1497     This paragraph should have a horizontal rule following it.
\hrule 
1502 This paragraph should have a horizontal rule following it.
\hrule 
1504 %\subsection*{hspace*}\label{hspaceX} 
1505 %\subsection*{hspace}\label{hspace} 
1506 %\subsection*{hskip*}\label{hskipX} 
1507 %\subsection*{hskip}\label{hskip} 
1509 \subsection*
{huge:
1}\label{huge1
} 
1511 Outputs the argument in huge text.
 
1513 \subsection*
{Huge:
1}\label{Huge2
} 
1515 Outputs the argument in huger text than 
\commandrefn{huge
}{huge1
}.
 
1517 \subsection*
{HUGE:
1}\label{HUGE3
} 
1519 Outputs the argument in huger text than 
\commandrefn{Huge
}{Huge2
}.
 
1521 \subsection*
{include:
1}\label{include
} 
1523 Include the given file. The command must not be preceded by any whitespace,
 
1524 and spurious whitespace between elements of the command will also
 
1527 \subsection*
{index:
1}\label{index
} 
1529 In WinHelp mode, adds a keyword to the keyword list for the current
 
1530 topic. This keyword must currently be straight text, with no embedded
 
1531 commands. The conversion process must be run twice (without quitting
 
1532 Tex2RTF inbetween) to resolve the keyword references.
 
1534 \subsection*
{input:
1}\label{input
} 
1536 Include the given file. The command must not be preceded by any whitespace,
 
1537 and spurious whitespace between elements of the command will also
 
1540 \subsection*
{insertatlevel:
2}\label{insertatlevel
} 
1542 Insert some text at a particular level of the 
document. For example,
 
1545   \insertatlevel{2}{Some text
} 
1548 inserts "Some text" at level 
2 (for a 
report, the current section). This
 
1549 allows you to insert headings into an automatically-generated section contents,
 
1552 \subsection*
{it:
1}\label{it
} 
1554 Marks the argument in italic.
 
1556 \subsection*
{itemize:
1}\label{itemize
} 
1558 Indents each 
\commandrefn{item
}{item
} of a list and precedes with a bullet.
 
1559 If the file 
{\tt bullet.bmp
} is found by Tex2RTF, this bitmap will be
 
1560 used as the bullet (WinHelp RTF); otherwise, a symbol or bold `o' will be used instead,
 
1561 depending on output format.
 
1563 Use 
\commandrefn{itemsep
}{itemsep
} to specify the separation between
 
1564 list items. Currently this only works for linear or WinHelp RTF output.
 
1565 If the value is more than zero, an extra paragraph is inserted.
 
1567 \subsection*
{item:
0}\label{item
} 
1569 Marks an item of a 
\commandrefn{itemize
}{itemize
}, 
\commandrefn{description
}{description
} or 
\commandrefn{enumerate
}{enumerate
} 
1570 list. Items within a description environment should have an `optional' argument
 
1571 in square brackets which will be highlighted.
 
1573 \subsection*
{itemsep:
0}\label{itemsep
} 
1575 Use this command to specify the separation between
 
1576 list items. Currently this only works for linear or WinHelp RTF output.
 
1577 If the value is zero, no extra paragraph is inserted; if the value
 
1578 is more than zero, an extra paragraph is inserted.
 
1580 \subsection*
{itshape:
1}\label{itshape
} 
1582 Marks the argument in italic.
 
1584 %\subsection*{kill}\label{kill} 
1585 \subsection*
{label:
1}\label{label
} 
1587 Labels the chapter, section, subsection, subsubsection or figure caption
 
1588 with the given label. This must be an ASCII string, and duplicate items
 
1589 with different case letters are not allowed.
 
1591 The command must follow immediately after the section or caption command,
 
1592 with no intervening whitespace.
 
1594 \subsection*
{large:
1}\label{large1
} 
1596 Marks the argument in large text.
 
1598 \subsection*
{Large:
1}\label{Large2
} 
1600 Makes the argument display in larger text than 
\commandrefn{large
}{large1
}.
 
1602 \subsection*
{LARGE:
1}\label{LARGE3
} 
1604 Makes the argument display in larger text than 
\commandrefn{Large
}{Large2
}.
 
1606 \subsection*
{LaTeX:
0}\label{LaTeX
} 
1608 Outputs the annoying 
\LaTeX\ upper and lower case name.
 
1610 \subsection*
{ldots:
0}\label{ldots
} 
1614 %\subsection*{linebreak}\label{linebreak} 
1615 %\subsection*{listoffigures}\label{listoffigures} 
1616 %\subsection*{listoftables}\label{listoftables} 
1617 %\subsection*{makeglossary}\label{makeglossary} 
1618 %\subsection*{makeindex}\label{makeindex} 
1619 \subsection*
{maketitle:
0}\label{maketitle
} 
1621 Makes the article or 
report title by outputting the 
\commandrefn{title
}{title
},
 
1622 \rtfsp\commandrefn{author
}{author
} and optionally 
\commandrefn{date
}{date
}.
 
1624 %\subsection*{markright}\label{markright} 
1625 %\subsection*{markboth}\label{markboth} 
1627 \subsection*
{marginparwidth:
1}\label{marginparwidth
} 
1629 Specifies the width of a margin paragraph.
 
1631 \subsection*
{marginpar:
1}\label{marginpar
} 
1633 Inserts a marginal note. It is best to use the Tex2RTF extensions 
\rtfsp 
1634 \commandrefn{marginparodd
}{marginparodd
} and 
\commandrefn{marginpareven
}{marginpareven
} \rtfsp 
1637 \subsection*
{marginpareven:
1}\label{marginpareven
} 
1639 Inserts a marginal note on even pages. This is required for RTF generation since
 
1640 it is impossible for Tex2RTF to know in advance which side of paper the marginal note
 
1641 will fall upon, and the text has to be positioned using absolute dimensions.
 
1642 If only one sided output is required, use 
\commandrefn{marginparodd
}{marginparodd
} \rtfsp 
1645 \subsection*
{marginparodd:
1}\label{marginparodd
} 
1647 Inserts a marginal note on odd pages. This is required for RTF generation since
 
1648 it is impossible for Tex2RTF to know in advance which side of paper the marginal note
 
1649 will fall upon, and the text has to be positioned using absolute dimensions.
 
1651 Also, even if one-sided output is required, this command should be used instead
 
1652 of 
\verb$
\marginpar$ because the 
\LaTeX\ command allows it to be used
 
1653 just before a paragraph. Normally, if this were done, the marginal note would
 
1654 not be aligned with the paragraph succeeding it. For example:
 
1657     \marginparodd{{\it Note:
} if nothing happens, perhaps you
 
1658     have not plugged your computer in at the mains.
}% 
1659     To start using your computer, push the Power button
 
1660     and wait for text to appear on the screen.
 
1663 Note the percent sign after the 
\verb$
\marginparodd$ command: without it,
 
1664 \LaTeX\ refuses to believe that the following text is part of the
 
1665 same paragraph, and will print the note at the wrong place.
 
1667 You should use 
\commandrefn{textwidth
}{textwidth
} to allow space for marginal
 
1668 notes, and also 
\commandrefn{marginparwidth
}{marginparwidth
} to specify the size of
 
1671 In WinHelp, HTML and wxHelp, marginal notes are treated as normal text delineated
 
1672 with horizontal rules above and below.
 
1674 %\subsection*{mbox:1}\label{mbox} 
1676 \subsection*
{mdseries:
1}\label{mdseries
} 
1678 Changes to a medium-weight font. Un-emboldens in RTF mode, no effect in other modes.
 
1680 \subsection*
{multicolumn:
3}\label{multicolumn
} 
1682 Used in 
\commandrefn{tabular
}{tabular
} environment to denote a cell that
 
1683 spans more than one column. Only supplied for compatibility with
 
1684 existing 
\LaTeX\ files, since all it does in RTF is output the correct
 
1685 number of cell commands, with the multicolumn text squashed into one cell.
 
1687 \subsection*
{newcommand:
3}\label{newcommand
} 
1689 Define a new command; arguments are the command, the number of
 
1690 arguments, and the command body. For example:
 
1693     \newcommand{\crazy}[2]{{\bf #1} is crazy but 
{\bf #2} is not.
} 
1696 The command must have no whitespace at the start of the line or between
 
1697 the three arguments.
 
1699 New commands may also be defined in the 
{\tt tex2rtf.ini
} file using
 
1700 slightly different syntax (see 
\helpref{Macro not found error
}{macronotfound
}).
 
1702 %\subsection*{newcounter}\label{newcounter} 
1703 %\subsection*{newline}\label{newline} 
1704 \subsection*
{newpage:
0}\label{newpage
} 
1706 Inserts a page break.
 
1708 \subsection*
{nocite:
1}\label{nocite
} 
1710 Specifies that this reference should appear in the bibliography,
 
1711 but the citation should not appear in the text.
 
1713 See also 
\commandrefn{cite
}{cite
}.
 
1715 \subsection*
{noindent:
0}\label{noindent
} 
1717 Sets paragraph indentation to zero. See also 
\commandrefn{parindent
}{parindent
}.
 
1719 %\subsection*{nolinebreak}\label{nolinebreak} 
1720 %\subsection*{nopagebreak}\label{nopagebreak} 
1722 \subsection*
{normalsize:
1}\label{normalsize
} 
1724 Sets the font size back to normal.
 
1726 \subsection*
{onecolumn:
0}\label{onecolumn
} 
1728 Sets the number of columns to one. 
\LaTeX\ and linear RTF only.
 
1730 %\subsection*{oddsidemargin}\label{oddsidemargin} 
1731 %\subsection*{pagebreak}\label{pagebreak} 
1732 \subsection*
{pageref:
1}\label{pageref
} 
1734 In linear RTF, generates a page reference to the given label.
 
1736 \subsection*
{pagestyle:
1}\label{pagestyle
} 
1738 If argument is 
{\tt fancyplain
} or 
{\tt fancy
}, Tex2RTF
 
1739 separates the header from the rest of the page with a rule.
 
1740 This command must be defined for headers and footers to
 
1741 work properly. See also 
\commandrefn{setheader
}{setheader
},
 
1742 \commandrefn{setfooter
}{setfooter
}.
 
1744 \LaTeX\ and linear RTF only.
 
1746 \subsection*
{pagenumbering:
1}\label{pagenumbering
} 
1748 The argument may be one of:
 
1752 \item[alph
] a, b, ...
 
1753 \item[Alph
] A, B, ...
 
1754 \item[arabic
] 1, 
2, ...
 
1755 \item[roman
] i, ii, ...
 
1756 \item[Roman
] I, II, ...
 
1759 \LaTeX\ and linear RTF only.
 
1761 \subsection*
{paragraph:
0}\label{paragraph
} 
1763 Behaves as for a subsubsection.
 
1765 \subsection*
{paragraph*:
0}\label{paragraphX
} 
1767 Behaves as for a subsubsection.
 
1769 \subsection*
{parindent:
1}\label{parindent
} 
1771 Indents the first line of succeeding paragraphs by the given amount.
 
1773 \subsection*
{parskip:
1}\label{parskip
} 
1775 Changes the spacing between paragraphs. In fact, in RTF this will cause
 
1776 two 
\commandrefn{par
}{par
} commands to be output if parskip is greater
 
1779 %\subsection*{part*}\label{partX} 
1780 %\subsection*{part}\label{part} 
1781 \subsection*
{par:
0}\label{par
} 
1783 Causes the paragraph to end at this point. 
\LaTeX\ and Tex2RTF also
 
1784 treat two consecutive newlines as a paragraph break.
 
1786 %\subsection*{pfunc}\label{pfunc} 
1787 %\subsection*{picture}\label{picture} 
1788 \subsection*
{printindex:
0}\label{printindex
} 
1790 In linear RTF, inserts an index.
 
1792 \subsection*
{quote:
1}\label{quote
} 
1794 Indents a short quotation.
 
1796 \subsection*
{quotation:
1}\label{quotation
} 
1798 Indents a long quotation.
 
1800 %\subsection*{raggedbottom}\label{raggedbottom} 
1801 %\subsection*{raggedleft}\label{raggedleft} 
1802 %\subsection*{raggedright}\label{raggedright} 
1804 \subsection*
{ref:
1}\label{ref
} 
1806 In 
\LaTeX\ and linear RTF, refers to a 
\commandrefn{label
}{label
} and
 
1807 causes the number of that section or figure to be printed.
 
1809 \subsection*
{rm:
1}\label{rm
} 
1811 Causes the argument to be formatted in a plain, roman font.
 
1812 In fact, does nothing in RTF, HTML and XLP modes.
 
1814 \subsection*
{rmfamily:
1}\label{rmfamily
} 
1816 Causes the argument to be formatted in a plain, roman font.
 
1817 In fact, does nothing in RTF, HTML and XLP modes.
 
1819 %\subsection*{roman}\label{roman1} 
1820 %\subsection*{Roman}\label{Roman2} 
1822 \subsection*
{sc:
1}\label{sc
} 
1824 Prints the output in small capitals.
 
1826 \subsection*
{scshape:
1}\label{scshape
} 
1828 Prints the output in small capitals.
 
1830 \subsection*
{section:
1}\label{section
} 
1832 Section header, with an entry in the contents page.
 
1834 \subsection*
{section*:
1}\label{sectionX
} 
1836 Section header, with no entry in the contents page.
 
1838 %\subsection*{setcounter}\label{setcounter} 
1839 \subsection*
{sf:
1}\label{sf
} 
1841 Should format in a sans-serif font. Does nothing in Tex2RTF.
 
1843 \subsection*
{sffamily:
1}\label{sffamily
} 
1845 Should format in a sans-serif font. Does nothing in Tex2RTF.
 
1847 \subsection*
{shortcite:
1}\label{shortcite
} 
1849 The same as 
\commandrefn{cite
}{cite
}.
 
1851 %\subsection*{singlespace}\label{singlespace} 
1852 %\subsection*{sloppypar}\label{sloppypar} 
1853 %\subsection*{sloppy}\label{sloppy} 
1855 \subsection*
{sl:
1}\label{sl
} 
1857 In Tex2RTF, the same as 
\commandrefn{it
}{it
}. The LaTeX interpretation is `slanted text'.
 
1859 \subsection*
{slshape:
1}\label{slshape
} 
1861 In Tex2RTF, the same as 
\commandrefn{itshape
}{itshape
}. The LaTeX interpretation is `slanted text'.
 
1863 \subsection*
{small:
1}\label{small
} 
1865 Prints the argument in a small font.
 
1867 \subsection*
{special:
1}\label{special
} 
1869 Simply copies the argument to the output file without processing
 
1870 (except 
\verb$\
}$ is translated to 
\verb$
}$, and 
\verb$\
{$ is
 
1871 translated to 
\verb$
{$, to allow for insertion of braces).
 
1873 \subsection*
{ss:
0}\label{ss
} 
1875 Outputs the German sharp S character 
\ss.
 
1877 %\subsection*{subitem}\label{subitem} 
1878 \subsection*
{subparagraph:
1}\label{subparagraph
} 
1880 Behaves as for a subsubsection.
 
1882 \subsection*
{subparagraph*:
1}\label{subparagraphX
} 
1884 Behaves as for a subsubsection.
 
1886 \subsection*
{subsection:
1}\label{subsection
} 
1888 Subsection header, with an entry in the contents page. 
 
1890 \subsection*
{subsection*:
1}\label{subsectionX
} 
1892 Subsection header, with no entry in the contents page. 
 
1894 \subsection*
{subsubsection:
1}\label{subsubsection
} 
1896 Subsubsection header, with an entry in the contents page. 
 
1898 \subsection*
{subsubsection*:
1}\label{subsubsectionX
} 
1900 Subsubsection header, with no entry in the contents page. 
 
1902 \subsection*
{tabbing:
1}\label{tabbing} 
1904 Tabbing environment: doesn't work properly in RTF.
 
1906 \subsection*
{table:
1}\label{table
} 
1908 An environment for tables. The only thing that Tex2RTF does with this
 
1909 is to interpret an embedded 
\helpref{caption
}{caption
} command differently
 
1912 \subsection*
{tableofcontents:
0}\label{tableofcontents
} 
1914 Inserts the table of contents at this point. In linear RTF mode, a
 
1915 proper Word for Windows table of contents will be inserted unless either
 
1916 of the variables 
{\it insertTOC
} or 
{\it useWord
} is set to 
{\it false
}.
 
1918 \subsection*
{tabular:
2}\label{tabular
} 
1920 Tabular environment: an attempt is made to output something
 
1921 reasonable in RTF and HTML formats, although currently only simple
 
1922 tables will work. The first argument specifies the column formatting.
 
1923 a pipe symbol (
\verb$|$) denotes a vertical border, one of 
{\tt l, r, c
}\rtfsp 
1924 signifies a normal column of default width, and 
{\tt p
} followed by
 
1925 a dimension specifies a column of given width. It is recommended that
 
1926 the 
{\tt p
} is used since Tex2RTF cannot deduce a column width in the
 
1927 same way that 
\LaTeX\ can.
 
1929 Horizontal rules are achieved with 
\commandrefn{hline
}{hline
}; two together
 
1930 signify a double rule. Note that in HTML, all rows and the table itself are bordered
 
1933 Use the Tex2RTF 
\commandrefn{row
}{row
} and 
\commandrefn{ruledrow
}{ruledrow
} commands
 
1936 For two-column tables that work in WinHelp files, use 
\commandrefn{twocollist
}{twocollist
} instead.
 
1941     \begin{tabular
}{|l|p
{8.5cm
}|
}\hline 
1942     \row{{\bf A.I.
}&
{\bf Simulation
}}\hline\hline 
1943     \row{rules&constraints/methods
} 
1944     \row{planning&design of experiments
} 
1945     \row{diagnosis&analysis of results
} 
1946     \ruledrow{learning&detection of connections
} 
1952 \begin{tabular
}{|l|p
{8.5cm
}|
}\hline 
1953 \row{{\bf A.I.
}&
{\bf Simulation
}}\hline\hline 
1954 \row{rules&constraints/methods
} 
1955 \row{planning&design of experiments
} 
1956 \row{diagnosis&analysis of results
} 
1957 \ruledrow{learning&detection of connections
} 
1960 %\subsection*{tab:1}\label{tab} 
1961 \subsection*
{TeX:
0}\label{TeX
} 
1963 Outputs the annoying 
\TeX\ upper and lower case name.
 
1965 \subsection*
{textbf:
1}\label{textbf
} 
1967 Same as 
\commandrefn{bf
}{bf
}.
 
1969 \subsection*
{textit:
1}\label{textit
} 
1971 Same as 
\commandrefn{it
}{it
}.
 
1973 \subsection*
{textrm:
1}\label{textrm
} 
1975 Same as 
\commandrefn{rm
}{rm
}.
 
1977 \subsection*
{textsf:
1}\label{textsf
} 
1979 Same as 
\commandrefn{sf
}{sf
}.
 
1981 \subsection*
{textsc:
1}\label{textsc
} 
1983 Same as 
\commandrefn{sc
}{sc
}.
 
1985 \subsection*
{textsl:
1}\label{textsl
} 
1987 Same as 
\commandrefn{sl
}{sl
}.
 
1989 \subsection*
{texttt:
1}\label{texttt
} 
1991 Same as 
\commandrefn{tt
}{tt
}.
 
1994 \subsection*
{textwidth:
1}\label{textwidth
} 
1996 Sets the text width (valid for RTF only). This might be used
 
1997 in conjunction with 
\commandrefn{marginpar
}{marginpar
}, for example,
 
1998 to leave space for marginal notes.
 
2000 %\subsection*{textheight}\label{textheight} 
2001 \subsection*
{thebibliography:
1}\label{thebibliography
} 
2003 An environment for specifying the bibliography as a series of
\rtfsp 
2004 \commandrefn{bibitem
}{bibitem
} commands; the preferred method is to use
 
2005 \rtfsp{\tt .bib
} files and 
\commandrefn{bibliography
}{bibliographycmd
} instead.
 
2007 %\subsection*{titlepage:0}\label{titlepage} 
2009 \subsection*
{title:
1}\label{title
} 
2011 Sets the title, to be output when the command 
\commandrefn{maketitle
}{maketitle
}\rtfsp 
2014 \subsection*
{tiny:
1}\label{tiny
} 
2016 Prints the argument in a very small font.
 
2018 \subsection*
{today:
0}\label{today
} 
2020 Outputs today's date.
 
2022 %\subsection*{topmargin}\label{topmargin} 
2023 %\subsection*{topskip}\label{topskip} 
2024 \subsection*
{tt:
1}\label{tt
} 
2026 Outputs the argument in teletype font.
 
2028 \subsection*
{ttfamily:
1}\label{ttfamily
} 
2030 Outputs the argument in teletype font.
 
2032 %\subsection*{typein}\label{typein} 
2033 \subsection*
{typeout:
1}\label{typeout
} 
2035 Outputs the text on the Tex2RTF text window.
 
2037 \subsection*
{twocolumn:
0}\label{twocolumn
} 
2039 Sets the number of columns to two. 
\LaTeX\ and linear RTF only.
 
2041 \subsection*
{underline:
1}\label{underline
} 
2043 Underlines the argument.
 
2045 \subsection*
{upshape:
1}\label{upshape
} 
2047 Changes to an upright font. Un-italicizes in RTF mode, no effect in other modes.
 
2049 \subsection*
{verbatiminput:
1}\label{verbatiminput
} 
2051 Include the given file as if it were within a 
\commandrefn{verbatim
}{verbatim
}\rtfsp 
2052 environment. The command must not be preceded by any whitespace,
 
2053 and spurious whitespace between elements of the command will also
 
2056 \subsection*
{verbatim:
1}\label{verbatim
} 
2058 Uses a fixed-width font to format the argument without interpreting
 
2059 any 
\LaTeX\ commands.
 
2061 \subsection*
{verb
}\label{verb
} 
2063 The 
\verb$
\verb$ command is like the 
\commandref{verbatim
}{verbatim
} environment,
 
2064 but for small amounts of text. The syntax is:
 
2067     \verb<char><text><char>
 
2070 The character 
{\it char
} is used as a delimiter; it may be any character
 
2071 not ocurring in the following text, except asterisk.
 
2073 For example, 
\verb@
\verb$
\thing%^&$@ produces \verb$\thing%^&$. 
2075 %\subsection*{verse}\label{verse} 
2076 %\subsection*{vfill}\label{vfill} 
2077 %\subsection*{vline}\label{vline} 
2078 %\subsection*{void}\label{void} 
2079 %\subsection*{vrule}\label{vrule} 
2080 %\subsection*{vspace*}\label{vspaceX} 
2081 %\subsection*{vskip*}\label{vskipX} 
2082 %\subsection*{vspace}\label{vspace} 
2083 %\subsection*{vskip}\label{vskip} 
2086 \section{Tex2RTF Commands
} 
2088 \subsection*
{backgroundcolour:
1}\label{backgroundcolour
} 
2090 Specifies the page background colour, in HTML only. The argument consists
 
2091 of three numbers from 
0 to 
255 separated by semicolons, for red, green and blue values respectively.
 
2094     \backgroundcolour{255;
255;
255} 
2095     \backgroundcolour{0;
0;
255} 
2098 The first example sets the background to white, the second sets the background to blue.
 
2100 Instead of using a LaTeX command, you may find it more convenient to use the equivalent 
{\tt .ini
} file
 
2101 setting, 
{\it backgroundColour
}.
 
2103 \subsection*
{backgroundimage:
1}\label{backgroundimage
} 
2105 Specifies the page background image, in HTML only. The argument
 
2106 is a URL for the GIF file to be used as the background.
 
2111     \backgroundimage{tile.gif
} 
2114 This sets the background to a tile file.
 
2116 Instead of using a LaTeX command, you may find it more convenient to use the equivalent 
{\tt .ini
} file
 
2117 setting, 
{\it backgroundImage
}.
 
2119 \subsection*
{backslashraw:
0}\label{backslashraw
} 
2121 Outputs a raw backslash into the output (not LaTeX). Useful when
 
2122 inserting RTF (for example) that cannot be dealt with by Tex2RTF.
 
2129 inserts the text 
\verb$\'e3$ into the RTF file.
 
2131 \subsection*
{bcol:
2}\label{bcol
} 
2133 Sets the background colour for a block of text (RTF only). Has no known effect
 
2134 in the RTF readers currently tried (Word for Window and Windows Help).
 
2136 See also 
\commandrefn{definecolour
}{definecolour
}, 
\commandrefn{fcol
}{fcol
}.
 
2138 %\subsection*{baselineskip} 
2139 %\subsection*{boxit:1}\label{boxit} 
2141 \subsection*
{brclear:
0}\label{brclear
} 
2143 Stops aligning content following a left or right-aligned image in HTML only.
 
2145 See also 
\commandrefn{imagel
}{imagel
}, 
\commandrefn{imager
}{imager
}.
 
2147 \subsection*
{cextract:
0}\label{cextract
} 
2149 Prints a C++ extraction operator (
\cextract).
 
2151 \subsection*
{chapterheading:
1}\label{chapterheading
} 
2153 Like 
\commandrefn{chapter
}{chapter
}, but does not increment the chapter
 
2154 number and does not print a chapter number in the printed documentation
 
2155 contents page, or in the chapter heading. Used to implement 
\helpref{glossaries
}{glossarysection
} and
 
2156 other sections that are not real chapters.
 
2158 \subsection*
{cinsert:
0}\label{cinsert
} 
2160 Prints a C++ insertion operator (
\cinsert).
 
2162 \subsection*
{class:
1}\label{class
} 
2164 Outputs the argument, an index entry (
\LaTeX\ only) and a keyword entry (WinHelp only).
 
2165 Used in class reference documentation.
 
2167 %\subsection*{cleardoublepage} 
2168 %\subsection*{clearpage} 
2169 %\subsection*{cline} 
2170 \subsection*
{clipsfunc:
3}\label{clipsfunc
} 
2172 Formats a CLIPS function, given the return value, function name, and
 
2175 %\subsection*{columnsep} 
2176 \subsection*
{copyright:
0}\label{copyright
} 
2178 Outputs the copyright symbol.
 
2180 \subsection*
{cparam:
2}\label{cparam
} 
2182 Formats a CLIPS type and argument. Used within the third argument of
 
2183 a 
\commandrefn{clipsfunc
}{clipsfunc
} command.
 
2185 \subsection*
{definecolour:
4}\label{definecolour
} 
2187 Defines a new colour that can be used in the 
document (RTF only). This
 
2188 command can also be spelt 
\verb$
\definecolor$.
 
2190 The first argument is the lower-case name of the colour, and the following
 
2191 three arguments specify the red, green and blue intensities, in the range 
0 to 
255.
 
2193 The default colours are equivalent to the following definitions:
 
2196     \definecolour{black
}{0}{0}{0} 
2197     \definecolour{cyan
}{0}{255}{255} 
2198     \definecolour{green
}{0}{255}{0} 
2199     \definecolour{magenta
}{255}{0}{255} 
2200     \definecolour{red
}{255}{0}{0} 
2201     \definecolour{yellow
}{255}{255}{0} 
2202     \definecolour{white
}{255}{255}{255} 
2205 To use colours in a 
document, use the 
\commandrefn{fcol
}{fcol
} and 
\commandrefn{bcol
}{bcol
} commands.
 
2207 Note that a 
document that defines its own colours should be converted twice within
 
2208 the same Tex2RTF session.
 
2210 \subsection*
{fcol:
2}\label{fcol
} 
2212 Sets the foreground colour for a block of text (RTF and HTML).
 
2217     This sentence is brightened up by some 
\fcol{red
}{red text
}.
 
2222 This sentence is brightened up by some 
\fcol{red
}{red text
}.
 
2224 See also 
\commandrefn{definecolour
}{definecolour
}, 
\commandrefn{bcol
}{bcol
}.
 
2226 \subsection*
{followedlinkcolour:
1}\label{followedlinkcolour
} 
2228 Specifies the followed link colour for the whole page, HTML only. The argument consists
 
2229 of three numbers from 
0 to 
255 separated by semicolons, for red, green and blue values respectively.
 
2234     \followedlinkcolour{255;
255;
255} 
2235     \followedlinkcolour{0;
0;
255} 
2238 The first example sets the followed link text to white, and the second sets the followed link text to blue.
 
2240 See also 
\commandrefn{backgroundcolour
}{backgroundcolour
}, 
\commandrefn{textcolour
}{textcolour
},
 
2241 \rtfsp\commandrefn{linkcolour
}{linkcolour
}.
 
2243 Instead of using a LaTeX command, you may find it more convenient to use the equivalent 
{\tt .ini
} file
 
2244 setting, 
{\it followedLinkColour
}.
 
2246 \subsection*
{footnotepopup:
2}\label{footnotepopup
} 
2248 In linear RTF, a footnote is created following the first argument, as with
 
2249 \commandref{footnote
}{footnote
}.
 
2251 In WinHelp RTF, a the first argument is highlighted and becomes
 
2252 a popup reference to the second argument. See also 
\commandref{footnote
}{footnote
}\rtfsp 
2253 and 
\commandref{popref
}{popref
}.
 
2255 This command is not supported for formats other than 
\LaTeX,
 
2256 linear RTF and WinHelp RTF.
 
2258 %\subsection*{footskip}\label{footskip} 
2259 %\subsection*{framebox:1}\label{framebox} 
2261 \subsection*
{functionsection:
1}\label{functionsection
} 
2263 Defines a subsection, adding the C++ function name to the 
\LaTeX\ index or the
 
2264 WinHelp keyword list.
 
2266 Should be followed by a 
\commandrefn{func
}{func
} command to specify function
 
2269 \subsection*
{func:
3}\label{func
} 
2271 Defines a C++ function, given the return type, function name, and parameter list.
 
2273 Should occur after a 
\commandrefn{functionsection
}{functionsection
} command.
 
2275 %\subsection*{glossary:}\label{glossary} 
2276 \subsection*
{gloss:
1}\label{gloss
} 
2278 Marks a glossary entry. In 
\LaTeX, this is a synonym for an 
\commandrefn{item
}{item
} 
2279 with an optional argument, within a 
\commandrefn{description
}{description
} environment,
 
2280 and the argument is added to the index.
 
2282 In Windows Help, this is identical to a 
\commandrefn{section*
}{sectionX
} in a 
report.
 
2284 If labels are associated with the glossary entries, they can be referenced by
 
2285 \commandref{helpref
}{helpref
} or 
\commandref{popref
}{popref
} jumps. A glossary entry is
 
2286 currently the only type of destination that popref may refer to.
 
2288 This is an example of making a glossary in a 
report:
 
2291     \begin{helpglossary
} 
2293     \gloss{API
}\label{api
} 
2295     Application Programmer's Interface - a set of calls and
 
2296     classes defining how a library (in this case, wxWidgets)
 
2299     \gloss{Canvas
}\label{canvas
} 
2301     A canvas in XView and wxWidgets is a subwindow...
 
2303     \gloss{DDE
}\label{dde
} 
2305     Dynamic Data Exchange - Microsoft's interprocess
 
2306     communication protocol. wxWidgets provides an abstraction
 
2307     of DDE under both Windows and UNIX.
 
2312 %\subsection*{headheight}\label{headheight} 
2313 \subsection*
{helpglossary:
1}\label{helpglossary
} 
2315 An environment for making a glossary (not standard 
\LaTeX). See 
\commandrefn{gloss
}{gloss
} for
 
2318 \subsection*
{helpignore:
1}\label{helpignore
} 
2320 Ignores the argument in Tex2RTF generated files, but not 
\LaTeX.
 
2322 \subsection*
{helponly:
1}\label{helponly
} 
2324 Only outputs the argument in Tex2RTF generated files.
 
2326 \subsection*
{helpinput:
1}\label{helpinput
} 
2328 Only includes the given file in Tex2RTF generated files.
 
2330 \subsection*
{helpfontfamily:
1}\label{helpfontfamily
} 
2332 Specifies the font family for Tex2RTF generated files. The argument
 
2333 may be Swiss or Times.
 
2335 \subsection*
{helpfontsize:
1}\label{helpfontsize
} 
2337 Specifies the font size for Tex2RTF generated files.
 
2339 \subsection*
{helpref:
2}\label{helpref
} 
2341 Specifies a jump to a labelled chapter, section, subsection subsubsection
 
2344 The first argument is text to be highlighted (mouseable in help systems)
 
2345 and the second is the reference label. In linear documents, the section number
 
2346 is given following the text, unless the 
\commandrefn{helprefn
}{helprefn
} command
 
2347 is used instead, where the section number is suppressed.
 
2349 Note that when generating HTML, the label 
{\it contents
} is automatically defined,
 
2350 and may be referenced using 
\verb$
\helpref$.
 
2352 \subsection*
{helprefn:
2}\label{helprefn
} 
2354 Specifies a jump to a labelled chapter, section, subsection subsubsection
 
2357 The first argument is text to be highlighted (mouseable in help systems)
 
2358 and the second is the reference label.  See 
\commandrefn{helpref
}{helpref
} for
 
2359 the form where the section number is printed in linear documents.
 
2361 %\subsection*{hfill}\label{hfill} 
2362 \subsection*
{htmlignore:
1}\label{htmlignore
} 
2364 Ignores the argument in HTML.
 
2366 \subsection*
{htmlonly:
1}\label{htmlonly
} 
2368 Only outputs the argument in HTML.
 
2370 \subsection*
{image:
2}\label{image
} 
2372 This is translated to a PSBOX macro package 
\verb$
\psboxto$ command in 
\LaTeX,
 
2373 the first argument being a sizing command and the second a filename.
 
2375 In HTML mode, the second argument is used to generate a PostScript file reference.
 
2377 In RTF mode, the second argument is tried with first a BMP extension and
 
2378 then a WMF extension to find a suitable Windows bitmap file, placeable
 
2379 metafile, or segmented hypergraphics file (.SHG). If a suitable file is
 
2380 found, in Windows Help mode a 
{\tt bmc
}\rtfsp command is inserted into
 
2381 the RTF file with a reference to the file. In linear RTF mode, the
 
2382 bitmap or metafile is converted into hex and inserted into the RTF
 
2385 Note that only RGB-encoded Windows bitmaps, or placeable metafiles, are
 
2386 valid for input to Tex2RTF. You can convert a RLE (run length encoded)
 
2387 bitmap file into a (bigger) RGB file using a program such as Paintshop
 
2388 Pro. A placeable metafile has a special header with dimension
 
2389 information. One may be constructed by a wxWidgets program by calling
 
2390 the function wxMakeMetafilePlaceable. The Microsoft Windows SDK has a
 
2391 sample program that loads and steps through placeable and ordinary
 
2394 Another wrinkle is that programs differ in the methods they
 
2395 use to recognise pictures in RTF files. You may need to use the 
{\it bitmapMethod
} setting,
 
2396 which can be ``hex'' (embed the hex data in the file with a 
\verb$
\dibitmap$ keyword),
 
2397 ``includepicture'' (use the MS Word 
6.0 INCLUDEPICTURE field) or ``import''
 
2398 (an earlier name for INCLUDEPICTURE).
 
2400 Here is an example of using the 
\verb$
\image$ command.
 
2404     $$
\image{5cm;
0cm
}{heart.ps
}$$
 
2406     \caption{My picture
}\label{piccy
} 
2410 The dollars centre the image in the horizontal plane. The syntax
 
2411 of the first argument to 
\verb$
\image$ is taken from syntax used by the 
\verb$
\psbox$
\rtfsp 
2412 package: it allows specification of the horizontal and vertical
 
2413 dimensions of the image. Scaling will take place for PostScript
 
2414 and metafile images. A value of zero indicates that the image should
 
2415 be scaled in proportion to the non-zero dimension. Zeros for both
 
2416 dimensions will leave the image unscaled in the case of metafiles,
 
2417 or scaled to fit the page in the case of PostScript.
 
2419 See also 
\commandrefn{imagel
}{imagel
}, 
\commandrefn{imager
}{imager
} for aligned images in
 
2422 \subsection*
{imagel:
2}\label{imagel
} 
2424 Similar to 
\commandrefn{image
}{image
}, but left-aligns the image with respect to the following
 
2425 content. Use 
\commandrefn{brclear
}{brclear
} to stop aligning the content to the right of the image.
 
2427 See also 
\commandrefn{imager
}{imager
}.
 
2429 \subsection*
{imagemap:
3}\label{imagemap
} 
2431 This is translated to an HTML image map reference, or (in LaTeX) a PostScript psbox
 
2432 command. This allows images in HTML to have hotspots, where the user clicks on a
 
2433 part of the image and the browser jumps to a particular file.
 
2435 The first argument is the same as the first argument to the 
\commandref{image
}{image
}\rtfsp 
2436 command (ignored in HTML). The second argument must be the name of the
 
2437 image map entry, and the second is the filename to be displayed inline.
 
2440     \imagemap{}{tree.gif
}{myname
} 
2446     <a href="/cgi-bin/imagemap/mymap">
 
2447       <img src="tree.gif" ismap></a><p>
 
2450 The snag with this is that, apart from the inconvenience of having to
 
2451 register a map file with the server, the map file will also have
 
2452 references to particular HTML files. If they exist in the current
 
2453 document, these names are not known until the file is generated. In which case, the
 
2454 map entries should probably refer to symbolic links that can be easily
 
2457 \subsection*
{imager:
2}\label{imager
} 
2459 Similar to 
\commandrefn{image
}{image
}, but right-aligns the image with respect to the following
 
2460 content. Use 
\commandrefn{brclear
}{brclear
} to stop aligning the content to the left of the image.
 
2462 See also 
\commandrefn{imagel
}{imagel
}.
 
2464 %\subsection*{includeonly}\label{includeonly} 
2465 \subsection*
{indented:
2}\label{indented
} 
2467 Environment supplied by Tex2RTF to allow (possibly nested) indentation of
 
2468 \LaTeX\ and RTF text. The first argument is the amount to be indented.
 
2473     \begin{indented
}{2cm
} 
2474     This text should be indented by a couple of centimetres.
 
2475     This can be useful to highlight paragraphs.
 
2481 \begin{indented
}{2cm
} 
2482 This text should be indented by a couple of centimetres. This can be
 
2483 useful to highlight paragraphs.
 
2486 \subsection*
{latexignore:
1}\label{latexignore
} 
2488 Ignores the argument in 
\LaTeX.
 
2490 \subsection*
{latexonly:
1}\label{latexonly
} 
2492 Only prints the argument in 
\LaTeX.
 
2494 %\subsection*{lbox}\label{lbox} 
2496 \subsection*
{lbraceraw:
0}\label{lbraceraw
} 
2498 Outputs a raw left brace into the output (not LaTeX). Useful when
 
2499 inserting RTF (for example) that cannot be dealt with by Tex2RTF.
 
2501 \subsection*
{linkcolour:
1}\label{linkcolour
} 
2503 Specifies the link colour for the whole page, HTML only. The argument consists
 
2504 of three numbers from 
0 to 
255 separated by semicolons, for red, green and blue values respectively.
 
2509     \linkcolour{255;
255;
255} 
2510     \linkcolour{0;
0;
255} 
2513 The first example sets the link text to white, and the second sets the link text to blue.
 
2515 See also 
\commandrefn{backgroundcolour
}{backgroundcolour
}, 
\commandrefn{textcolour
}{textcolour
},
 
2516 \rtfsp\commandrefn{followedlinkcolour
}{followedlinkcolour
}.
 
2518 Instead of using a LaTeX command, you may find it more convenient to use the equivalent 
{\tt .ini
} file
 
2519 setting, 
{\it linkColour
}.
 
2521 \subsection*
{membersection:
1}\label{membersection
} 
2523 Used when formatting C++ classes to print a subsection for the member name.
 
2525 \subsection*
{member:
1}\label{member
} 
2527 Used to format a C++ member variable name.
 
2529 \subsection*
{normalbox:
1}\label{normalbox
} 
2531 Draws a box around the given paragraph in 
\LaTeX\ and RTF. In HTML
 
2532 and XLP formats, horizontal rules are drawn before and after the text.
 
2537     \normalbox{This should be a boxed paragraph for highlighting
 
2538     important information, such as information for registering
 
2539     a shareware program.
} 
2544 \normalbox{This should be a boxed paragraph for highlighting important
 
2545 information, such as information for registering a shareware program.
} 
2547 See also 
\commandrefn{normalboxd
}{normalboxd
} for double-bordered text.
 
2549 \subsection*
{normalboxd:
1}\label{normalboxd
} 
2551 Draws a double border around the given paragraph in 
\LaTeX\ and RTF. In
 
2552 HTML and XLP formats, horizontal rules are drawn before and after the
 
2558     \normalboxd{This should be a boxed paragraph for
 
2559     highlighting important information, such as information
 
2560     for registering a shareware program.
} 
2565 \normalboxd{This should be a boxed paragraph for highlighting important
 
2566 information,such as information for registering a shareware program.
} 
2568 See also 
\commandrefn{normalbox
}{normalbox
} for single-bordered text.
 
2570 \subsection*
{param:
1}\label{param
} 
2572 Formats a C++ type and argument pair. Should be used within the third argument
 
2573 of a a 
\commandrefn{func
}{func
} command.
 
2575 \subsection*
{popref:
2}\label{popref
} 
2577 Similar to 
\commandrefn{helprefn
}{helprefn
}, except that in Windows Help,
 
2578 the destination text is popped up in a small window to be dismissed with
 
2579 a mouse click, instead of going to a separate section.
 
2581 Currently this command can only refer to a labelled glossary entry; see
 
2582 \commandrefn{gloss
}{gloss
}.
 
2584 \subsection*
{psboxto:
2}\label{psboxto
} 
2586 Identical to 
\commandrefn{image
}{image
}.
 
2588 %\subsection*{psbox}\label{psbox} 
2589 \subsection*
{rbraceraw:
0}\label{rbraceraw
} 
2591 Outputs a raw right brace into the output (not LaTeX). Useful when
 
2592 inserting RTF (for example) that cannot be dealt with by Tex2RTF.
 
2594 \subsection*
{registered:
0}\label{registered
} 
2596 Outputs the `registered' symbol in HTML, and (r) in other formats.
 
2598 \subsection*
{row:
1}\label{row
} 
2600 A Tex2RTF command signifying the row of a table within the 
\commandrefn{tabular
}{tabular
}\rtfsp 
2601 environment. See also 
\commandrefn{ruledrow
}{ruledrow
}.
 
2603 \subsection*
{ruledrow:
1}\label{ruledrow
} 
2605 A Tex2RTF command signifying a ruled row of a table within the 
\commandrefn{tabular
}{tabular
}\rtfsp 
2606 environment. See also 
\commandrefn{row
}{row
}.
 
2608 \subsection*
{rtfignore:
1}\label{rtfignore
} 
2610 Ignores the argument in linear RTF.
 
2612 \subsection*
{rtfonly:
1}\label{rtfonly
} 
2614 Only outputs the argument in linear RTF.
 
2616 \subsection*
{rtfsp:
0}\label{rtfsp
} 
2618 Outputs a space in RTF. Tex2RTF tries to insert a space where one is implied
 
2619 by a newline, but cannot cope where a line starts or ends with a command,
 
2620 in the middle of a paragraph. Use this command to insert a space explicitly.
 
2622 \subsection*
{sectionheading:
1}\label{sectionheading
} 
2624 Like 
\commandrefn{section
}{section
}, but does not increment the section
 
2625 number and does not print a section number in the printed documentation
 
2626 contents page, or in the section heading.
 
2628 \subsection*
{setfooter:
6}\label{setfooter
} 
2630 Tex2RTF has a non-standard way of setting headers and footers,
 
2631 but the default macro definitions in 
{\tt texhelp.sty
} may be altered
 
2632 to your current method.
 
2634 The arguments are as follows:
 
2638 \item Left footer, even pages
 
2639 \item Centre footer, even pages
 
2640 \item Right footer, even pages
 
2641 \item Left footer, odd pages
 
2642 \item Centre footer, odd pages
 
2643 \item Right footer, odd pages
 
2646 For many documents, the first three arguments will be left empty.
 
2648 The behaviour for first pages of a chapter, section or 
document 
2649 is to have a blank header, but print the footer.
 
2651 For best results, define headers and footers for 
{\it each chapter or
 
2654 Note that this command works only for 
\LaTeX\ and linear RTF. See also
\rtfsp 
2655 \commandrefn{setheader
}{setheader
}.
 
2657 \subsection*
{setheader:
6}\label{setheader
} 
2659 Tex2RTF has a non-standard way of setting headers and footers,
 
2660 but the default macro definitions in 
{\tt texhelp.sty
} may be altered
 
2661 to your current method.
 
2663 The arguments are as follows:
 
2667 \item Left header, even pages
 
2668 \item Centre header, even pages
 
2669 \item Right header, even pages
 
2670 \item Left header, odd pages
 
2671 \item Centre header, odd pages
 
2672 \item Right header, odd pages
 
2675 For many documents, the first three arguments will be left empty.
 
2676 If 
\commandrefn{pagestyle
}{pagestyle
} is not plain or empty, the
 
2677 header will separated from the rest of the page by a rule.
 
2679 The behaviour for first pages of a chapter, section or 
document 
2680 is to have a blank header, but print the footer.
 
2682 For best results, define headers and footers for 
{\it each chapter or
 
2685 Note that this command works only for 
\LaTeX\ and linear RTF. See also
\rtfsp 
2686 \commandrefn{setfooter
}{setfooter
}.
 
2688 \subsection*
{sethotspotcolour:
1}\label{sethotspotcolour
} 
2690 If the argument is yes, on or ok, subsequent WinHelp hotspots will be green.
 
2691 If any other value, the hotspots will be the normal text colour. Note that this
 
2692 doesn't apply to section hotspots, only to helpref hotspots.
 
2694 \subsection*
{sethotspotunderline:
1}\label{sethotspotunderline
} 
2696 If the argument is yes, on or ok, subsequent WinHelp hotspots will be
 
2697 underlined (the default). If any other value, the hotspots will not be
 
2698 underlined. Note that this doesn't apply to section hotspots, only to
 
2701 \subsection*
{settransparency:
1}\label{settransparency
} 
2703 WinHelp mode only (version 
4 of WinHelp). If the argument is yes, on or ok, subsequent bitmaps
 
2704 will be inserted in transparent mode: areas of white will be made transparent.
 
2705 If the argument is any other value (such as no, ok or false), the bitmaps will not be transparent.
 
2707 \subsection*
{textcolour:
1}\label{textcolour
} 
2709 Specifies the text foreground colour for the whole page, HTML only. The argument consists
 
2710 of three numbers from 
0 to 
255 separated by semicolons, for red, green and blue values respectively.
 
2715     \textcolour{255;
255;
255} 
2716     \textcolour{0;
0;
255} 
2719 The first example sets the text to white, and the second sets the text to blue.
 
2721 See also 
\commandrefn{backgroundcolour
}{backgroundcolour
}, 
\commandrefn{linkcolour
}{linkcolour
},
 
2722 \rtfsp\commandrefn{followedlinkcolour
}{followedlinkcolour
}.
 
2724 Instead of using a LaTeX command, you may find it more convenient to use the equivalent 
{\tt .ini
} file
 
2725 setting, 
{\it textColour
}.
 
2727 \subsection*
{toocomplex:
1}\label{toocomplex
} 
2729 An environment for dealing with complex 
\LaTeX\ commands that
 
2730 Tex2RTF cannot handle. In normal 
\LaTeX, the argument will be output
 
2731 as normal. In Tex2RTF output, the argument will be output as verbatim text,
 
2732 for the user to hand-translate into the desired output format.
 
2734 See also 
\commandrefn{comment
}{comment
}.
 
2736 \subsection*
{twocolitem:
2}\label{twocolitem
} 
2738 Used to specify a row for a two column list, a Tex2RTF
 
2739 extension to optimize two-column lists for different
 
2740 file formats.  See 
\commandrefn{twocollist
}{twocollist
},
 
2741 \rtfsp\commandrefn{twocolitemruled
}{twocolitemruled
}.
 
2743 \subsection*
{twocolitemruled:
2}\label{twocolitemruled
} 
2745 Used to specify a ruled row for a two column list, a Tex2RTF
 
2746 extension to optimize two-column lists for different
 
2747 file formats.  See 
\commandrefn{twocollist
}{twocollist
},
 
2748 \rtfsp\commandrefn{twocolitem
}{twocolitem
}.
 
2750 \subsection*
{twocollist:
1}\label{twocollist
} 
2752 A Tex2RTF environment for specifying a table of two columns, often
 
2753 used in manuals and help files (for example, for listing commands and
 
2754 their meanings). The first column should be one line only, and
 
2755 the second can be an arbitrary number of paragraphs.
 
2757 The reason that a normal tabular environment cannot be used is that
 
2758 WinHelp does not allow borders in table cells, so a different method
 
2759 must be employed if any of the rows are to be ruled. In 
\LaTeX, a table
 
2760 is used to implement this environment. In RTF, indentation is used instead.
 
2762 Use this environment in conjunction with 
\commandrefn{twocolitem
}{twocolitem
} and
\rtfsp 
2763 \commandrefn{twocolitemruled
}{twocolitemruled
}. To set the widths of the first
 
2764 and second column, use 
\commandrefn{twocolwidtha
}{twocolwidtha
} and
\rtfsp 
2765 \commandrefn{twocolwidthb
}{twocolwidthb
}.
 
2770     \htmlignore{\begin{twocollist
}} 
2771     \twocolitemruled{{\bf Command
}}{{\bf Description
}} 
2772     \twocolitem{File
}{The file menu is used to select various
 
2773     file-related operations, such as saving and loading.
} 
2774     \twocolitem{Edit
}{The Edit menu is used for
 
2775     selection, copying, pasting, etc.
} 
2782 \twocolitemruled{{\bf Command
}}{{\bf Description
}} 
2783 \twocolitem{File
}{The file menu is used to select various file-related
 
2784 operations, such as saving and loading.
} 
2785 \twocolitem{Edit
}{The Edit menu is used for selection, copying, pasting, etc.
} 
2788 \subsection*
{twocolwidtha:
1}\label{twocolwidtha
} 
2790 Sets the width of the first column in a two column list to the given
 
2791 dimension. See also 
\commandrefn{twocollist
}{twocollist
} and 
\commandrefn{twocolwidthb
}{twocolwidthb
}.
 
2793 \subsection*
{twocolwidthb:
1}\label{twocolwidthb
} 
2795 Sets the width of the second column in a two column list to the given
 
2796 dimension. See also 
\commandrefn{twocollist
}{twocollist
} and 
\commandrefn{twocolwidtha
}{twocolwidtha
}.
 
2798 \subsection*
{urlref:
2}\label{urlref
} 
2800 Specifies a jump to a URL (univeral resource location).
 
2802 The first argument is text to be highlighted (mouseable in HTML browsers)
 
2803 and the second is the URL. In linear documents, the URL
 
2804 is given following the text.
 
2809     See also the 
\urlref{wxWidgets manual
} 
2810       {http://www.aiai.ed.ac.uk/~jacs.html
}.
 
2813 (the line is broken only to keep to this manual's page width).
 
2815 \subsection*
{winhelpignore:
1}\label{winhelpignore
} 
2817 Ignores the argument in WinHelp RTF.
 
2819 \subsection*
{winhelponly:
1}\label{winhelponly
} 
2821 Only outputs the argument in WinHelp RTF.
 
2823 \subsection*
{xlpignore:
1}\label{xlpignore
} 
2825 Ignores the argument in XLP mode (wxHelp files).
 
2827 \subsection*
{xlponly:
1}\label{xlponly
} 
2829 Only outputs the argument in XLP mode (wxHelp files).
 
2831 \section{Accents
}\label{accents
} 
2833 The following 
\LaTeX\ accents work for RTF and HTML production:
 
2837 \item \verb$\'
{a
}$ produces \'
{a
}. Valid for a, e, i, o, u, A, E, I, O, U
 
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, e, i, o, u, A, E, I, O, U
 
2840 \item \verb$\~
{a
}$ produces \~
{a
}. Valid for a, n, o, A, N, O
 
2841 \item \verb$\"
{a
}$ produces \"
{a
}. Valid for a, e, i, o, u, y, A, E, I, O, U, Y
 
2842 \item \verb$\.
{a
}$ produces \.
{a
}. Valid for a, A
 
2845 \section{Commands by category
}\index{commands
}% 
2847 Below are categories of 
\LaTeX\ commands, to help you find the right
 
2848 command for a particular purpose.
 
2850 \subsection{Font commands
} 
2852 \begin{itemize
}\itemsep=
0pt
 
2853 \item \commandpageref{bf
}{bf
} 
2854 \item \commandpageref{bffamily
}{bffamily
} 
2855 \item \commandpageref{em
}{em
} 
2856 \item \commandpageref{emph
}{emph
} 
2857 \item \commandpageref{huge
}{huge1
} 
2858 \item \commandpageref{Huge
}{Huge2
} 
2859 \item \commandpageref{HUGE
}{HUGE3
} 
2860 \item \commandpageref{it
}{it
} 
2861 \item \commandpageref{itshape
}{itshape
} 
2862 \item \commandpageref{large
}{large1
} 
2863 \item \commandpageref{Large
}{Large2
} 
2864 \item \commandpageref{LARGE
}{LARGE3
} 
2865 \item \commandpageref{mdseries
}{mdseries
} 
2866 \item \commandpageref{normalsize
}{normalsize
} 
2867 \item \commandpageref{rm
}{rm
} 
2868 \item \commandpageref{rmfamily
}{rmfamily
} 
2869 \item \commandpageref{sc
}{sc
} 
2870 \item \commandpageref{scshape
}{scshape
} 
2871 \item \commandpageref{sf
}{sf
} 
2872 \item \commandpageref{sffamily
}{sffamily
} 
2873 \item \commandpageref{sl
}{sl
} 
2874 \item \commandpageref{slshape
}{slshape
} 
2875 \item \commandpageref{small
}{small
} 
2876 \item \commandpageref{textbf
}{textbf
} 
2877 \item \commandpageref{textit
}{textit
} 
2878 \item \commandpageref{textrm
}{textrm
} 
2879 \item \commandpageref{textsf
}{textsf
} 
2880 \item \commandpageref{textsc
}{textsc
} 
2881 \item \commandpageref{textsl
}{textsl
} 
2882 \item \commandpageref{texttt
}{texttt
} 
2883 \item \commandpageref{tiny
}{tiny
} 
2884 \item \commandpageref{tt
}{tt
} 
2885 \item \commandpageref{ttfamily
}{ttfamily
} 
2886 \item \commandpageref{underline
}{underline
} 
2887 \item \commandpageref{upshape
}{upshape
} 
2890 \subsection{Paragraph formatting
} 
2892 \begin{itemize
}\itemsep=
0pt
 
2893 \item \commandpageref{centerline
}{centerline
} 
2894 \item \commandpageref{comment
}{comment
} 
2895 \item \commandpageref{flushleft
}{flushleft
} 
2896 \item \commandpageref{footnote
}{footnote
} 
2897 \item \commandpageref{indented
}{indented
} 
2898 \item \commandpageref{marginparwidth
}{marginparwidth
} 
2899 \item \commandpageref{marginpar
}{marginpar
} 
2900 \item \commandpageref{marginpareven
}{marginpareven
} 
2901 \item \commandpageref{marginparodd
}{marginparodd
} 
2902 \item \commandpageref{multicolumn
}{multicolumn
} 
2903 \item \commandpageref{newpage
}{newpage
} 
2904 \item \commandpageref{noindent
}{noindent
} 
2905 \item \commandpageref{onecolumn
}{onecolumn
} 
2906 \item \commandpageref{parindent
}{parindent
} 
2907 \item \commandpageref{parskip
}{parskip
} 
2908 \item \commandpageref{par
}{par
} 
2909 \item \commandpageref{quote
}{quote
} 
2910 \item \commandpageref{quotation
}{quotation
} 
2911 \item \commandpageref{textwidth
}{textwidth
} 
2912 \item \commandpageref{twocolumn
}{twocolumn
} 
2913 \item \commandpageref{verbatim
}{verbatim
} 
2914 \item \commandpageref{verb
}{verb
} 
2917 \subsection{Special effects
} 
2919 \begin{itemize
}\itemsep=
0pt
 
2920 \item \commandpageref{backgroundcolour
}{backgroundcolour
} 
2921 \item \commandpageref{backgroundimage
}{backgroundimage
} 
2922 \item \commandpageref{backslashraw
}{backslashraw
} 
2923 \item \commandpageref{bcol
}{bcol
} 
2924 \item \commandpageref{definecolour
}{definecolour
} 
2925 \item \commandpageref{fcol
}{fcol
} 
2926 \item \commandpageref{followedlinkcolour
}{followedlinkcolour
} 
2927 \item \commandpageref{helpfontfamily
}{helpfontfamily
} 
2928 \item \commandpageref{helpfontsize
}{helpfontsize
} 
2929 \item \commandpageref{hrule
}{hrule
} 
2930 \item \commandpageref{linkcolour
}{linkcolour
} 
2931 \item \commandpageref{normalbox
}{normalbox
} 
2932 \item \commandpageref{normalboxd
}{normalboxd
} 
2933 \item \commandpageref{sethotspotcolour
}{sethotspotcolour
} 
2934 \item \commandpageref{sethotspotunderline
}{sethotspotunderline
} 
2935 \item \commandpageref{settransparency
}{settransparency
} 
2936 \item \commandpageref{textcolour
}{textcolour
} 
2937 \item \commandpageref{typeout
}{typeout
} 
2942 \begin{itemize
}\itemsep=
0pt
 
2943 \item \commandpageref{description
}{description
} 
2944 \item \commandpageref{enumerate
}{enumerate
} 
2945 \item \commandpageref{itemize
}{itemize
} 
2946 \item \commandpageref{item
}{item
} 
2947 \item \commandpageref{itemsep
}{itemsep
} 
2948 \item \commandpageref{twocolitem
}{twocolitem
} 
2949 \item \commandpageref{twocolitemruled
}{twocolitemruled
} 
2950 \item \commandpageref{twocollist
}{twocollist
} 
2951 \item \commandpageref{twocolwidtha
}{twocolwidtha
} 
2952 \item \commandpageref{twocolwidthb
}{twocolwidthb
} 
2955 \subsection{Sectioning
} 
2957 \begin{itemize
}\itemsep=
0pt
 
2958 \item \commandpageref{chapter
}{chapter
} 
2959 \item \commandpageref{chapter*
}{chaptersX
} 
2960 \item \commandpageref{chapterheading
}{chapterheading
} 
2961 \item \commandpageref{insertatlevel
}{insertatlevel
} 
2962 \item \commandpageref{paragraph
}{paragraph
} 
2963 \item \commandpageref{paragraph*
}{paragraphX
} 
2964 \item \commandpageref{section
}{section
} 
2965 \item \commandpageref{section*
}{sectionX
} 
2966 \item \commandpageref{sectionheading
}{sectionheading
} 
2967 \item \commandpageref{subparagraph
}{subparagraph
} 
2968 \item \commandpageref{subparagraph*
}{subparagraphX
} 
2969 \item \commandpageref{subsection
}{subsection
} 
2970 \item \commandpageref{subsection*
}{subsectionX
} 
2971 \item \commandpageref{subsubsection
}{subsubsection
} 
2972 \item \commandpageref{subsubsection*
}{subsubsectionX
} 
2975 \subsection{Pictures
} 
2977 \begin{itemize
}\itemsep=
0pt
 
2978 \item \commandpageref{brclear
}{brclear
} 
2979 \item \commandpageref{image
}{image
} 
2980 \item \commandpageref{imagel
}{imagel
} 
2981 \item \commandpageref{imagemap
}{imagemap
} 
2982 \item \commandpageref{imager
}{imager
} 
2983 \item \commandpageref{psboxto
}{psboxto
} 
2986 \subsection{References and jumps
} 
2988 \begin{itemize
}\itemsep=
0pt
 
2989 \item \commandpageref{footnotepopup
}{footnotepopup
} 
2990 \item \commandpageref{helpref
}{helpref
} 
2991 \item \commandpageref{helprefn
}{helprefn
} 
2992 \item \commandpageref{label
}{label
} 
2993 \item \commandpageref{pageref
}{pageref
} 
2994 \item \commandpageref{popref
}{popref
} 
2995 \item \commandpageref{ref
}{ref
} 
2996 \item \commandpageref{urlref
}{urlref
} 
2999 \subsection{Tables and figures
} 
3001 \begin{itemize
}\itemsep=
0pt
 
3002 \item \commandpageref{caption
}{caption
} 
3003 \item \commandpageref{figure
}{figure
} 
3004 \item \commandpageref{hline
}{hline
} 
3005 \item \commandpageref{ruledrow
}{ruledrow
} 
3006 \item \commandpageref{tabbing}{tabbing} 
3007 \item \commandpageref{tabular
}{tabular
} 
3010 \subsection{Table of contents
} 
3012 \begin{itemize
}\itemsep=
0pt
 
3013 \item \commandpageref{addcontentsline
}{addcontentsline
} 
3014 \item \commandpageref{author
}{author
} 
3015 \item \commandpageref{date
}{date
} 
3016 \item \commandpageref{maketitle
}{maketitle
} 
3017 \item \commandpageref{tableofcontents
}{tableofcontents
} 
3018 \item \commandpageref{title
}{title
} 
3021 \subsection{Special sections
} 
3023 \begin{itemize
}\itemsep=
0pt
 
3024 \item \commandpageref{bibitem
}{bibitem
} 
3025 \item \commandpageref{bibliographystyle
}{bibliographystyle
} 
3026 \item \commandpageref{bibliography
}{bibliographycmd
} 
3027 \item \commandpageref{cite
}{cite
} 
3028 \item \commandpageref{gloss
}{gloss
} 
3029 \item \commandpageref{helpglossary
}{helpglossary
} 
3030 \item \commandpageref{index
}{index
} 
3031 \item \commandpageref{nocite
}{nocite
} 
3032 \item \commandpageref{printindex
}{printindex
} 
3033 \item \commandpageref{shortcite
}{shortcite
} 
3034 \item \commandpageref{thebibliography
}{thebibliography
} 
3038 \subsection{Symbols
} 
3040 \begin{itemize
}\itemsep=
0pt
 
3041 \item \commandpageref{backslash
}{backslash
} 
3042 \item \commandpageref{cdots
}{cdots
} 
3043 \item \commandpageref{cextract
}{cextract
} 
3044 \item \commandpageref{cinsert
}{cinsert
} 
3045 \item \commandpageref{copyright
}{copyright
} 
3046 \item \commandpageref{LaTeX
}{LaTeX
} 
3047 \item \commandpageref{lbraceraw
}{lbraceraw
} 
3048 \item \commandpageref{ldots
}{ldots
} 
3049 \item \commandpageref{rbraceraw
}{rbraceraw
} 
3050 \item \commandpageref{registered
}{registered
} 
3051 \item \commandpageref{rtfsp
}{rtfsp
} 
3052 \item \commandpageref{ss
}{ss
} 
3053 \item \commandpageref{TeX
}{TeX
} 
3054 \item \commandpageref{today
}{today
} 
3057 \subsection{Document organisation
} 
3059 \begin{itemize
}\itemsep=
0pt
 
3060 \item \commandpageref{document}{document} 
3061 \item \commandpageref{documentstyle
}{documentstyle
} 
3062 \item \commandpageref{helpignore
}{helpignore
} 
3063 \item \commandpageref{helponly
}{helponly
} 
3064 \item \commandpageref{helpinput
}{helpinput
} 
3065 \item \commandpageref{htmlignore
}{htmlignore
} 
3066 \item \commandpageref{htmlonly
}{htmlonly
} 
3067 \item \commandpageref{include
}{include
} 
3068 \item \commandpageref{input
}{input
} 
3069 \item \commandpageref{latexignore
}{latexignore
} 
3070 \item \commandpageref{latexonly
}{latexonly
} 
3071 \item \commandpageref{newcommand
}{newcommand
} 
3072 \item \commandpageref{pagestyle
}{pagestyle
} 
3073 \item \commandpageref{pagenumbering
}{pagenumbering
} 
3074 \item \commandpageref{rtfignore
}{rtfignore
} 
3075 \item \commandpageref{rtfonly
}{rtfonly
} 
3076 \item \commandpageref{setfooter
}{setfooter
} 
3077 \item \commandpageref{setheader
}{setheader
} 
3078 \item \commandpageref{special
}{special
} 
3079 \item \commandpageref{toocomplex
}{toocomplex
} 
3080 \item \commandpageref{verbatiminput
}{verbatiminput
} 
3081 \item \commandpageref{winhelpignore
}{winhelpignore
} 
3082 \item \commandpageref{winhelponly
}{winhelponly
} 
3083 \item \commandpageref{xlpignore
}{xlpignore
} 
3084 \item \commandpageref{xlponly
}{xlponly
} 
3087 \chapter{Bugs and troubleshooting
}\label{errors
}\index{bugs
}\index{errors
}\index{troubleshooting
}% 
3088 \setheader{{\it CHAPTER 
\thechapter}}{}{}{}{}{{\it CHAPTER 
\thechapter}}% 
3089 \setfooter{\thepage}{}{}{}{}{\thepage}% 
3094 \item[Command parsing.
] If a command is used followed by inappropriate
 
3095 argument syntax, Tex2RTF can crash. This an occur when a command is
 
3096 used in an asterisk form that is only formed in the non-asterisk
 
3097 variety. The non-asterisk form is assumed, which makes the following
 
3098 asterisk trip up the parser.
 
3099 \item[Setlength.
] Using the $
\backslash$setlength command doesn't work,
 
3100 since its first argument looks like a command with the wrong number
 
3101 of arguments. Use an alternative form instead, e.g. 
\verb$
\parindent 0pt$ instead
 
3102 of 
\verb$
\setlength{parindent
}{0pt
}$.
 
3103 \item[Newcommand bug.
] Environments in a command definition confuse
 
3104 Tex2RTF. Use the command form instead (e.g. $
\backslash$flushleft\
{...\
} instead
 
3105 of $
\backslash$begin\
{flushleft\
} ... $
\backslash$end\
{flushleft\
}.
 
3106 \item[Bibliography.
] There's no flexibility in the way references
 
3107 are output: I expect I'll get round to doing something better,
 
3108 but only if people tell me they need it!
 
3109 \item[Tables.
] Tables can't handle all 
\LaTeX\ syntax, and require
 
3110 the Tex2RTF 
\verb$
\row$ commands for decent formatting. Still, it's
 
3111 better than it was (RTF only).
 
3112 \item[Indexes and glossaries.
] Not completely supported.
 
3113 \item[Crashes.
] Crashes may be due to an input file exceeding the fixed-size
 
3114 buffer used for converting command arguments, especially for the 
\verb$
\verbatim$
\rtfsp 
3115 command. Use the 
{\tt -bufsize
} switch to increase the buffer size.
 
3116 \item[Verbatiminput.
] Verbatiminput files which do not end with a blank line
 
3117 can trip up following commands.
 
3120 \section{Troubleshooting
} 
3122 Below are some common problems and possible solutions.
 
3124 \normalbox{Some of the syntax that is OK for true 
\LaTeX\ but which trips up
 
3125 Tex2RTF, may be detected by the TCHECK program included in the tools
 
3126 directory of the Tex2RTF distribution. Some 
\LaTeX\ errors may be picked up
 
3127 by the LACHECK program, also found in the tools directory.
} 
3129 \subsection{Macro not found
}\label{macronotfound
}\index{macro not found error
}% 
3131 This error may indicate that Tex2RTF has not implemented a standard
 
3132 \rtfsp\LaTeX\ command, or that a local macro package is being used that
 
3133 Tex2RTF does not know about. It can cause spurious secondary
 
3134 errors, such as not recognising the end 
document command.
 
3136 You can get round this by defining a macro file (default name 
{\tt tex2rtf.ini
})
 
3137 containing command definitions, such as:
 
3140     \crazy      [2]{{\bf #2} is crazy but 
#1 is not
} 
3142     \julian     [0]{Julian Smart
} 
3145 New commands may be defined in 
\LaTeX\ files, but custom macro files
 
3146 will have to be defined when local style files are being used. See
\rtfsp 
3147 \helpref{Initialisation file syntax
}{inifile
} for further details.
 
3149 The `Macro not found' error can also be caused by a syntax error such as
 
3150 an unbalanced brace or passing the wrong number of arguments to a command,
 
3151 so look in the vicinity of the reported error for the real cause.
 
3153 Here is one obscure situation that causes this error:
 
3157     {\large{\underline{A
}}} 
3161 The problem is too many curly brackets. This should be rewritten as:
 
3165     {\large \underline{A
}} 
3169 Often you get a `Macro not found' error for 
\verb$
\end{document}$. This
 
3170 is a spurious side-effect of an earlier error, usually an incorrect number
 
3171 of arguments to a command. The location of the true error is then anywhere
 
3172 in the 
document. To home in on the error, try putting a verbatim environment
 
3173 \rtfsp\verb$
\begin{comment
}...
\end{comment
}$ around much of the 
document,
 
3174 and then move the 
\verb$
\begin{comment
}$ line down until the error
 
3177 \subsection{Unresolved reference
}\index{references, unresolved
}% 
3179 References and citations are usually resolved on a second pass of
 
3180 Tex2RTF. If this doesn't work, then a missing label or bibliographical
 
3183 \subsection{Output crashes the RTF reader
} 
3185 This could be due to confusing table syntax. Set 
{\it compatibility
} to
\rtfsp 
3186 {\it TRUE
} in 
{\tt .ini
} file; also check for end of row characters backslash characters
 
3187 on their own on a line, and insert correct number of ampersands for the number of
 
3202 \subsection{Erratic list indentation
} 
3204 Try increasing the value of the variable 
{\it listItemIndent
} (default 
40 
3205 points) to give more space between label and following text. A global
 
3206 replacement of 
\verb$
\item [$ with 
\verb$
\item[$ may also be helpful to remove
 
3207 unnecessary space before the item label.
 
3209 \subsection{Missing figure or section reference
} 
3211 Ensure all labels 
{\it directly
} follow captions or sections (no intervening
 
3214 \subsection{Linear RTF looks odd
} 
3216 For viewing by programs other than MS Word, you should set the variable 
{\it useWord
} to 
{\it false
}. This
 
3217 will turn off some of the special RTF keywords recognised by Word (and possibly other advanced RTF readers).
 
3219 \subsection{Paragraphs preceding lists are formatted weirdly.
} 
3221 If a list has spurious spacing in it, e.g. before a 
\verb$
\item$ command, the preceding
 
3222 paragraph can take on some of the list's indentation. This may be a WinHelp bug, or an aspect
 
3223 of RTF I don't fully understand. The solution is to remove unnecessary space.
 
3225 \subsection{Unresolved references in Word for Windows
}\index{Microsoft Word
}% 
3227 If question marks appear instead of numbers for figures and tables,
 
3228 select all (e.g. CTRL-A), then press F9 
{\it twice
} to reformat the
 
3229 document twice. For the second format, respond with 
{\it Update Entire
 
3230 Table
} to any prompts.
 
3232 \subsection{The Windows 
95 help file contents hierarchy looks wrong
}\index{WinHelp files
}% 
3234 WinHelp version 
4 (or the WIN32 Help Compiler) does not allow a
 
3235 book in the contents list to be followed by a page at the same level.
 
3236 A book must be followed by a book, for some strange reason, otherwise
 
3237 the page will be tacked on to the pages of the book above it, i.e. placed
 
3240 To get around this, Tex2RTF inserts a book in some places, if there
 
3241 was a book preceding it on the same level. This results in more
 
3242 navigation than necessary, but is better than a wrong contents page.
 
3246 % Puts books in the bibliography without needing to cite them in the 
3253 \addcontentsline{toc
}{chapter
}{Bibliography
} 
3254 \setheader{{\it REFERENCES
}}{}{}{}{}{{\it REFERENCES
}}% 
3255 \setfooter{\thepage}{}{}{}{}{\thepage}% 
3257 \begin{helpglossary
} 
3258 \setheader{{\it GLOSSARY
}}{}{}{}{}{{\it GLOSSARY
}}% 
3259 \setfooter{\thepage}{}{}{}{}{\thepage}% 
3263 Graphical User Interface, such as Windows 
3 or X.
 
3265 \gloss{HTML
}\label{html
} 
3267 Hypertext Markup Language; an SGML 
document type, used for providing
 
3268 hypertext information on the World Wide Web, a distributed hypertext
 
3269 system on the Internet.
 
3271 \gloss{LaTeX
}\label{latexgloss
} 
3273 A typesetting language implemented as a set of 
\TeX\ macros. It is
 
3274 distinguished for allowing specification of the 
document structure,
 
3275 while taking care of most layout concerns. It represents the opposite
 
3276 end of the spectrum from WYSIWYG word processors.
 
3278 \gloss{RTF
}\label{rtf
} 
3280 Rich Text Format: an interchange format for word processor files,
 
3281 used for importing and exporting formatted documents, and as the
 
3282 input to the Windows Help compiler.
 
3284 \gloss{wxHelp
}\label{wxhelp
} 
3286 wxHelp is the hypertext help facility used to provide on-line
 
3287 documentation for UNIX-based wxWidgets applications. Under Windows 
3.1,
 
3288 Windows Help is used instead.
 
3290 \gloss{wxWidgets
}\label{wxwidgets
} 
3292 wxWidgets is a free C++ toolkit for writing applications that are
 
3293 portable across several platforms. Currently these are Motif, Open Look,
 
3294 Windows 
3.1 and Windows NT. Tex2RTF is written using wxWidgets.
 
3298 \addcontentsline{toc
}{chapter
}{Index
} 
3299 \setheader{{\it INDEX
}}{}{}{}{}{{\it INDEX
}}% 
3300 \setfooter{\thepage}{}{}{}{}{\thepage}%