Here we get into a real rat's-nest of software. Basically, Linux
can run many types of binaries with varying degrees of success:
Linux/x86, Linux/Alpha, Linux/Sparc, Linux/foo, iBCS, Win16/Win32s
(with dosemu and, someday, with Wine), Mac/68k (with Executor), and
Java. I'll just discuss native Linux and common Unix software.
Most markup languages are more suitable for large or repetitive
projects, where you want the computer to control the layout of the
text to make things uniform.
nroff
This was one of the first Unix markup languages. Man pages
are the most common examples of things formatted in *roff
macros; many people swear by them, but nroff has, to me at
least, a more arcane syntax than needed (see Figure 9), and probably makes a poor choice for
new works. It is worth knowing, though, that you can typeset
a man page directly into postscript with groff. Most man
commands will do this for you with man -t foo
| lpr.
Figure 9. Example of roff Input
.B man
is the system's manual pager. Each
.I page
argument given to
.B man
is normally the name of a program, utility or function.
The
.I manual page
associated with each of these arguments is then found and
displayed. A
.IR section ,
if provided, will direct
.B man
to look
only in that
.I section
of the manual.
TeX
TeX, and the macro package LaTeX, are one of the most widely
used markup languages on Unix. Technical works are frequently
written in LaTeX because it greatly simplifies the layout
issues and is still one of the few text
processing systems to support mathematics both completely and
well. TeX's output format is dvi, and is
converted to PostScript or Hewlett Packard's PCL with
dvips or dvilj. If you
wish to install TeX or LaTeX, install the whole teTeX group of
packages; it contains everything. Recent TeX installations
include pdfTeX and pdfLaTeX, which produce Adobe PDF files
directly. Commands are available do create hyperlinks and
navigation features in the PDF file.
Figure 10. Example of LaTeX Input
\subsubsection{NAT}
Each real server is assigned a different IP address, and the NA
implements address translation for all inbound and outbound
packets.
\begin{description}
\item[Advantage] Implementation simplicity, especially if we
already implement other NAT capabilities.
\item[Disadvantage] Return traffic from the server goes through
address translation, which may incur a speed penalty. This
probably isn't too bad if we design for it from the
beginning.
\item[Disadvantage] NAT breaks the end-to-end semantics of normal
internet traffic. Protocols like ftp, H.323, etc would
require special support involving snooping and in-stream
rewriting, or complete protocol proxying; neither is likely
to be practical.
\end{description}
SGML
There is at least one free SGML parser available for Unix and
Linux; it forms the basis of Linuxdoc-SGML's homegrown
document system. It can support other DTD's, as well, most
notably DocBook. This document is written in DocBook-DTD
SGML; see Figure 11 for an example.
Figure 11. Example of DocBook SGML
<VarListEntry>
<Term>SGML</Term>
<ListItem>
<Para>
There is at least one free SGML parser available for Unix
and Linux; it forms the basis of Linuxdoc-SGML's homegrown
document system. It can support other DTD's, as well, most
notably DocBook. This document is written in DocBook-DTD
SGML.
</Para>
</ListItem>
</VarListEntry>
There is no shortage of WYSIWYG word processing software. Several
complete office suites are available, including one that's free
for personal use (StarOffice).
StarOffice
Sun Microsystems is distributing StarOffice on the net free
for Linux. This full-blown office suite has all the features
you'd expect, including both import and export of Microsoft
Office file formats (including Word documents). There's a
mini-HOWTO out there which describes how to obtain and install
it. It generates PostScript, so should work with most any
printer that works otherwise on Linux.
WordPerfect
Corel distributes a basic version of WordPerfect 8 free for
Linux, and sells various packages of Word Perfect Office 2000
(which includes WordPerfect, Corel Draw and Quattro Pro
Versions 9). The Linux WordPerfect
Fonts and Printers page has information about
configuring WordPerfect for use with either Ghostscript or its
built-in printer drivers (which are apparently identical the
DOS WordPerfect drivers, if your printer's driver isn't
included in the distribution).
Applix
Applix is a cross-platform (ie, various Unices, Windows, and
others) office suite sold by the Applix company. Red Hat and
SuSE sold it themselves when it was the only game in town;
now sales have reverted to Applix. This is the only native
Unix-style application suite; it probably fits in better with
the Unix way of doign things.
AbiWord
AbiWord is one
of several GPL WYSIWYG word processor projects; this one has
produced a very nice word processor based on an XML format.
It is capable of Word file import. AbiWord is still a work in
progress, although it is useful for small things now.
Figure 12. AbiWord
LyX
LyX is a front-end to LaTeX which looks very promising. See
the LyX Homepage
for more information. There is a KDE-styled version of LyX,
called Klyx; the author of LyX and the instigator of KDE are
the same person.
Figure 13. LyX
Maxwell
Maxwell is a simple MS RTF-format based word processor which
started as a commercial product but is now distributed under
the GPL.
Other vendors should feel free to drop me a line with your offerings.