H1: Output Formats

H2: What output formats does SDF directly support?

HTML, plain text, POD, MIF (Maker Interchange Format), SGML,
MIMS F6 help and MIMS HTX.

When generating HTML, either a single document or a set of
topics can be created.

When generating MIF, either a single document or a FrameMaker
book and set of chapters can be created.


H2: What output formats does SDF indirectly support?

By using the pod2* programs provided with Perl 5, SDF
can generate man pages, LaTeX files, PostScript and a few other
formats.

By using FrameMaker, SDF can indirectly generate PostScript,
FrameViewer, RTF and other formats which FrameMaker can export.
On Unix, most of these can be generated using FrameMaker's
batch utility (fmbatch). On other platforms, it is necessary to
generate a MIF file, open it in FrameMaker and print, save or
export to the required format.

By using {{SGML-Tools}} 1.02 or later, SDF can indirectly
generate LaTeX, RTF, GNU Info and LyX formats. If LaTeX is
also installed, SDF can indirectly generate PostScript and DVI.


H2: Why should I use SDF when my word processor can generate HTML?

Unlike WYSIWYG tools, SDF encourages authors to specify documents in
a {{logical}} manner. As a result, SDF has the {{semantics}} it needs
to generate high quality paper-based and online documents.

SDF also includes a number of features which greatly simplify the effort
required to produce online documents. These include:

* centralised hypertext management
* rule-based hypertext generation.

It could be a long time before word processors provide these features.
As a result, it takes a lot less effort (and cost) to create and
maintain a large online documentation system in SDF when compared to
existing WYSIWYG tools (that I know about, at least).


H2: Can SDF generate Word documents?

Not directly. However, SDF can generate RTF (Rich Text Format) files
which can be opened in Word and many other word processors.
The commands to convert a file called F<mydoc.sdf> to RTF are:

E:   sdf -2rtf_mif  mydoc.sdf
E:   sdf -2rtf_fm   mydoc.sdf
E:   sdf -2rtf_sgml mydoc.sdf
E:   sdf -2rtf      mydoc.sdf

The first of these works by generating a MIF (Maker Interchange Format)
file and then converting it to RTF via a Perl script supplied with
SDF called {{mif2rtf}}. The main problems with mif2rtf are:

^ it is slow
+ the output is not as great as one would hope for
+ it occasionally crashes. :-(

The second command works by generating a MIF file and then converting
it to RTF via FrameMaker's RTF export filter. This approach is more
reliable than using mif2rtf, although it has it own set of problems
and limitations.

The third command works by generating a SGML file and then uses
{{SGML-Tools}} to generate RTF. I haven't tested {{SGML-Tools}}'s
RTF generation, so I have no idea how well this will work.

The forth command is an alias for one of the commands above.
See the {{FormatMapping}} section of the F<sdf.ini> file to
view and/or edit the mapping.

Oneday, SDF will support RTF directly.


H2: Can SDF generate Windows help?

SDF can generate RTF files and HPJ files which are the
inputs to a Windows 3.x help compiler (e.g. hcp.exe).

I haven't tried building help for Windows 95 or NT,
so I'm not sure how well that works or otherwise.
In any case, Microsoft is moving to HTML for online
help, so I'm not overly motivated to improve the
existing support for Windows help.


H2: Is FrameMaker needed for generating PostScript?

No. [[SDF]] can generate PostScript via the freely available
{{pod2ps}} program or the freely available {{SGML-Tools}}/{{LaTeX}}
packages.

However, if you have [[FrameMaker]], using it currently
has the following advantages:

* the [[PostScript]] it generates looks better than that generated by
  most other packages (at the moment)

* SDF currently supports [[FrameMaker]] better than other packages
  in some areas (e.g. indexes)

* SDF has been tested with [[FrameMaker]] much more than other packages.

Alternatively, SDF can be used to generate RTF which can then be imported
into most word processors.
