452 lines
8.9 KiB
HTML
452 lines
8.9 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>How to generate something worth printing.</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
HREF="t1.htm"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="How to print to a fax machine."
|
|
HREF="x2029.htm"><LINK
|
|
REL="NEXT"
|
|
TITLE="Printing Photographs"
|
|
HREF="x2133.htm"></HEAD
|
|
><BODY
|
|
CLASS="sect1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
></TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x2029.htm"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="x2133.htm"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="authoring"
|
|
></A
|
|
>How to generate something worth printing.</H1
|
|
><P
|
|
>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.</P
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="markup-languages"
|
|
></A
|
|
>Markup languages</H2
|
|
><P
|
|
>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.<P
|
|
></P
|
|
><DIV
|
|
CLASS="variablelist"
|
|
><DL
|
|
><DT
|
|
><B
|
|
CLASS="command"
|
|
>nroff</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>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 <A
|
|
HREF="x2054.htm#roff-example"
|
|
>Figure 12</A
|
|
>), 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 <B
|
|
CLASS="command"
|
|
>man -t foo
|
|
| lpr</B
|
|
>.</P
|
|
><DIV
|
|
CLASS="figure"
|
|
><A
|
|
NAME="roff-example"
|
|
></A
|
|
><P
|
|
><B
|
|
>Figure 12. Example of <B
|
|
CLASS="command"
|
|
>roff</B
|
|
> Input</B
|
|
></P
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> .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.
|
|
</PRE
|
|
></DIV
|
|
></DD
|
|
><DT
|
|
>TeX</DT
|
|
><DD
|
|
><P
|
|
>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 is<SPAN
|
|
CLASS="emphasis"
|
|
><I
|
|
CLASS="emphasis"
|
|
>still</I
|
|
></SPAN
|
|
> one of the few text processing
|
|
systems to support mathematics both completely and well.
|
|
TeX's output format is <TT
|
|
CLASS="filename"
|
|
>dvi</TT
|
|
>, and is
|
|
converted to PostScript or Hewlett Packard's PCL with <B
|
|
CLASS="command"
|
|
>dvips</B
|
|
> or <B
|
|
CLASS="command"
|
|
>dvilj</B
|
|
>. 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.</P
|
|
><DIV
|
|
CLASS="figure"
|
|
><A
|
|
NAME="latex-example"
|
|
></A
|
|
><P
|
|
><B
|
|
>Figure 13. Example of LaTeX Input</B
|
|
></P
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> \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}
|
|
</PRE
|
|
></DIV
|
|
></DD
|
|
><DT
|
|
>SGML</DT
|
|
><DD
|
|
><P
|
|
>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 <A
|
|
HREF="x2054.htm#sgml-example"
|
|
>Figure 14</A
|
|
> for an example.</P
|
|
><DIV
|
|
CLASS="figure"
|
|
><A
|
|
NAME="sgml-example"
|
|
></A
|
|
><P
|
|
><B
|
|
>Figure 14. Example of DocBook SGML</B
|
|
></P
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> <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>
|
|
</PRE
|
|
></DIV
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
></P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="wysiwyg-processors"
|
|
></A
|
|
>WYSIWYG Word Processors</H2
|
|
><P
|
|
>There is no shortage of WYSIWYG word processing software. Several
|
|
complete office suites are available, including one that's free
|
|
for personal use (StarOffice).<P
|
|
></P
|
|
><DIV
|
|
CLASS="variablelist"
|
|
><DL
|
|
><DT
|
|
>StarOffice</DT
|
|
><DD
|
|
><P
|
|
>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.</P
|
|
></DD
|
|
><DT
|
|
>WordPerfect</DT
|
|
><DD
|
|
><P
|
|
>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 <A
|
|
HREF="http://www.rodsbooks.com/wpfonts/"
|
|
TARGET="_top"
|
|
> Linux WordPerfect
|
|
Fonts and Printers</A
|
|
> 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).</P
|
|
></DD
|
|
><DT
|
|
>Applix</DT
|
|
><DD
|
|
><P
|
|
>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.</P
|
|
></DD
|
|
><DT
|
|
>AbiWord</DT
|
|
><DD
|
|
><P
|
|
><A
|
|
HREF="http://www.abisource.com/"
|
|
TARGET="_top"
|
|
>AbiWord</A
|
|
> 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.</P
|
|
><DIV
|
|
CLASS="figure"
|
|
><A
|
|
NAME="AEN2113"
|
|
></A
|
|
><P
|
|
><B
|
|
>Figure 15. AbiWord</B
|
|
></P
|
|
><DIV
|
|
CLASS="mediaobject"
|
|
><P
|
|
><IMG
|
|
SRC="images/snapshot-abiword.png"></P
|
|
></DIV
|
|
></DIV
|
|
></DD
|
|
><DT
|
|
>LyX</DT
|
|
><DD
|
|
><P
|
|
>LyX is a front-end to LaTeX which looks very promising. See
|
|
the <A
|
|
HREF="http://www.lyx.org/"
|
|
TARGET="_top"
|
|
>LyX Homepage</A
|
|
>
|
|
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.</P
|
|
><DIV
|
|
CLASS="figure"
|
|
><A
|
|
NAME="AEN2123"
|
|
></A
|
|
><P
|
|
><B
|
|
>Figure 16. LyX</B
|
|
></P
|
|
><DIV
|
|
CLASS="mediaobject"
|
|
><P
|
|
><IMG
|
|
SRC="images/snapshot-lyx.png"></P
|
|
></DIV
|
|
></DIV
|
|
></DD
|
|
><DT
|
|
>Maxwell</DT
|
|
><DD
|
|
><P
|
|
>Maxwell is a simple MS RTF-format based word processor which
|
|
started as a commercial product but is now distributed under
|
|
the GPL.</P
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
></P
|
|
><P
|
|
>Other vendors should feel free to drop me a line with your offerings.</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x2029.htm"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="t1.htm"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="x2133.htm"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>How to print to a fax machine.</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Printing Photographs</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |