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.
For Linux itself, choices are mostly limited to those available for
Unix in general:
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, 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.
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.
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 notable DocBook
HTML
Someone suggested that for simple projects, it may suffice
to write it in HTML and print it out using Netscape. I disagree, but
YMMV.
There is no longer any 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, and you can't beat the price. There's a
mini-HOWTO out there which describes how to obtain and install it.
It generates PostScript or PCL, so should work with most any printer
that works otherwise on Linux. Apparently it's an Office clone and
is rather bloated; these are probably two equivalent facts!
WordPerfect
Corel distributes a basic version of Word Perfect 8
free for Linux, and has suggested that they will distribute Corel Draw
and Quattro Pro as well, once they are ported. This is probably the
best option if you have an ARM machine; Corel makes the ARM-based
Netwinder Linux computers and is almost certian to offer ARM Linux
versions of everything. You can also buy the full-blown version and
support, together or separately. 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
WP8 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.
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 and capable of Word file import.
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.
Maxwell
Maxwell is a simple MS RTF-format based word processor
which started as a commercial product but is now distributed under
the GPL.
The Andrew User Interface System
AUIS includes ez, a
WYSIWYG-style editor with most basic word processor features, HTML
capabilities, and full MIME email and newsgroup support.
Unfortunately, AUIS is no longer maintained.
Koffice
The KDE project is working toward a whole office suite.
I don't think it's ready for prime time yet. The word processor
will apparently be a descendant of LyX.
GNOME
The GNOME project also is working toward various
GNU-licensed officey tools. None are available yet, though.
Other vendors should feel free to drop me a line with your offerings.
There are many details to getting decent photo output from common
printers.
Ghostscript and Photos
Ghostscript has some difficulties rendering color photographs through
most drivers. The problems are several:
Many drivers have poorly tuned color support. Often the colors
don't match the Windows driver output or the screen. OTOH, all
drivers, and Ghostscript as a whole, have readily adjustable
color support; the "Gamma" settings are one thing to play with,
and there are others documented in Ghostscript's Use.htm
documentation file.
I'm only aware of one Ghostscript driver with support for 6 and
7 color printing; it's in beta at the moment and supports a few
Epson Stylus Photo models. It is rumoured to produce better
color than the Windows driver (!).
Ghostscript often ends up dithering coarsely, or generating
printouts with artifacts like banding. The dithering can
usually be corrected; see the color in ghostscript section
above, and read the documentation for your driver.
You should be able to correct some of these problems by tuning
Ghostscript; see the Ghostscript section above for more information on
how to do this. Fiddling with Ghostscript options is much easier if
you declare them as options in a PDQ driver declaration.
That said, the obvious solution is to use non-Ghostscript software for
printing photos, and indeed, such things do exist. The main contender
is the print plugin in the Gimp, which supports pixel-for-pixel
printing on Epson Styluses and Postscript printers (with basic PPD
support). That driver will shortly be available for Ghostcript, as
well. Also possible to use for this purpose are the assorted
external pnm-to-foo programs used to print on printers like the cheap
Lexmarks; these print pixmaps pixel-for-pixel. A print-via-filter
option shouldn't be too hard to add to the Gimp.
The best solution, of course, is to buy a Postscript printer; such
printers can usually be completely controlled from available free
software, and will print to the full capability of the printer.
Paper
Color inkjets are extremely dependant on the paper for good output.
The expensive glossy coated inkjet papers will allow you to produce
near-photographic output, while plain uncoated paper will often
produce muddy colors and fuzzy details. Nonglossy coated inkjet
papers will produce results in between, and are probably best for
final prints of text, as well. Stiffer glossy coated "photo" papers
will produce similar output to lighter-weight glossy papers, but will
feel like a regular photo.
Printer Settings
For photo output on most color inkjets, you should use the most highly
interlaced (and slowest) print mode; otherwise solid regions may have
banding or weak colors. Generally with Ghostscript this is what will
happen when you pick the highest resolution. With Postscript
printers, you may need to add a snippet to the prologue based on the
settings available in the PPD file. The Gimp's PPD support doesn't
include the print quality setting, but I added it in an ugly way for
my own use; contact me if you'd like that. If you use PDQ, you can
easily add all the printer settings you need in the driver declaration
file; for PJL printers this is particularly easy, and for Postscript
printers my ppdtopdq utility can help.
Print Durability
Color inkjet printouts usually fade after a few years, especially if
exposed to lots of light and air; this is a function of the ink.
Printers with ink-only consumables like the Epsons and Canons can buy
archival inks, which are less prone to this problem.
Shareware and Commercial Software
There's a program called
xwtools which
supports photo printing with all the bells and whistles on an
assortment of Epson, HP, and Canon pritners. Unfortunately, it was
written under NDA, so comes without source. Unless you use it for the
Epson Stylus Color 300 on Linux x86, it costs 15 euros for personal
use; commercial pricing is unknown.
The ESP Print Pro package from Easy Software supports many printers
which might otherwise be unsupported. Unfortunately, since it is
based on Ghostscript 4.03, I don't expect wonderful results with this
software for photos. But someone should try.