reflow - Perl script for reflowing text files using Knuth's paragraphing algorithm.
reflow < input > output
reflow file1 file2 ... > output
Uses Knuth's paragraphing algorithm (as used in TeX) to "reflow" text files by picking "good" places to break the line.
It takes an ascii text file (with paragraphs separated by blank lines) and reflows the paragraphs. If two or more lines in a row are "indented" then they are assumed to be a quoted poem and are passed through unchanged. (The -skipindented causes ALL indented lines to be passed unchanged)
The algorithm tries to keep the lines the same length but also tries to break at punctuation, and avoid breaking within a proper name or after certain "connectives" ("a", "the", etc.).
Cause ALL indented lines to be passed unchanged. Normally a single indented line is included in the paragraph, while two or more indented lines are considered to be a quotation or poem and are passed through unchanged.
Sets the optimum line width to 65 characters. This is the default.
Tries line widths of 60, 65 and 70 characters and picks the best one.
Tries all line widths between 60 and 70 characters inclusive, and picks the best one. With the -slow and -veryslow options the line widths within a paragraph will vary less, but the line widths may vary from one paragraph to the next.
- -skipto pattern
Skip to the first line starting with the given pattern before starting to reflow. This is useful for skipping Project Gutenberg headers or contents tables.
See Text::Reflow(3) for more options: all the keyword options defined in Text::Reflow are also available via the reflow script.
reflow perl script written by Michael Larsen, firstname.lastname@example.org.
Modified, enhanced and converted to a perl module with XSUB by Martin Ward, email@example.com
See "TeX the Program" by Donald Knuth for a description of the algorithm used.