Prev |  | Next

# How to generate something worth printing.

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 GNU/Linux and common Un*x software.

## Markup languages

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 markup languages on the original version of Unix. 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 12), 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 12. 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 Un*x systems, although TeX did not originate on Unix and is available to run on a wide variety of systems. Technical works are frequently written in LaTeX because it greatly simplifies the layout issues and isstill 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 13. 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 Un*x systems; 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 14 for an example.

  Figure 14. Example of DocBook SGML

      <varlistentry>
      <term>SGML</term>
      <listitem>
      <para>
      There is at least one free SGML parser available for Un*x
      systems; 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>

## WYSIWYG Word Processors

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

  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 GNU/Linux.

WordPerfect

  Corel distributes a basic version of WordPerfect 8 free for GNU/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 (eg, 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 doing 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 15. 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 16. 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.

Prev | Home | Next
How to print to a fax machine. |  | Printing Photographs