Par 1.52

Par 1.52 is a package containing documentation and ANSI C source code for the filter par.

Contents

Description
The Package Itself
Building It
Apologies

Descripton

par is a paragraph reformatter, vaguely similar to fmt, but better.

For example, the command “par 44gqr”, given the input:

        John Q. Public writes:
        > Jane Doe writes:
        > >
        > > May I remind people that this newsgroup
        > > is for posting binaries only.  Please keep
        > > all discussion in .d where it belongs.
        > Who appointed you net.god?
        > I'll discuss things here if I feel like it.
        Could you two please take this to e-mail?

        **********************************************
        ** Main's Law: For every action there is an **
        ** equal and opposite government program.   **
        **********************************************

Would produce the output:

        John Q. Public writes:

        > Jane Doe writes:
        >
        > > May I remind people that this
        > > newsgroup is for posting
        > > binaries only.  Please keep
        > > all discussion in .d where it
        > > belongs.
        >
        > Who appointed you net.god?  I'll
        > discuss things here if I feel like
        > it.

        Could you two please take this to
        e-mail?

        ************************************
        ** Main's Law: For every action   **
        ** there is an equal and opposite **
        ** government program.            **
        ************************************

See also:

The Package Itself

Par152.tar.gz
The latest version of Par, released on 2001-Apr-29, tar'd and gzip'd. The only real change is better support for 8-bit character sets (as opposed to just 7-bit ASCII), but see also the release notes.

Par152.zip
Same package as above, but zip'd.

par152wc.zip, par152ex.zip
A Win32 Console application and a DOS executable, respectively (take your pick), both zip'd, for DOS/Windows users who don't have C compilers. The former was provided by Rajas Sambhare, the latter by Stanislav Sitar. (I can't maintain these myself because I have no DOS/Windows capabilities.)

par_1.52-i18n.3.diff.gz
A patch by Jérôme Pouiller that adds support for multibyte charsets (like UTF-8), plus Debian packaging. Copied from http://sysmic.org/par/debian/. See also his original announcement.

Par151.tar.gz
The previous version of Par, released on 2000-Feb-24, tar'd and gzip'd.

Par151.zip
Same package as above, but zip'd.

Building It

On most UNIX-like systems, "make -f protoMakefile" will work, but you might want to read the comments in protoMakefile, or use the autoconf add-on for Par 1.52 contributed by Nelson H. F. Beebe, or take a look at some hints for building par on various platforms.

Apologies

Par began in July 1993 as a small program designed to do one narrow task: reformat a single paragraph that might have a border on either side. It was pretty clean back then. Over the next three months, it very rapidly expanded to handle multiple paragraphs, offer more options, and take better guesses, at the cost of becoming extremely complex, and very unclean. It is nowhere near the optimal design for the larger task it now tries to address. Its only redeeming features are that it is extremely useful (I find it indispensable), extremely portable, and very stable (no incorrect behavior has been reported since the release of version 1.41 on 1993-Oct-31).

Back in 1993 I had very little experience at writing documentation for users, so the documentation for Par became rather nightmarish. There is no separation between how-it-works (which is painfully complex) and how-to-use-it (which is fairly simple, if you can ever figure it out).

Someday I ought to reexamine the problem, and redesign a new, clean solution from scratch. I don't know when I might get enough free time to start on such a project. Text files may be obsolete by then.


[AMC]  Prepared by Adam M. Costello
 Last modified: 2006-Oct-04-Wed 01:05:40 GMT
[Any Browser]