home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpminfo
/
cpm-cc07.art
< prev
next >
Wrap
Text File
|
1994-07-13
|
12KB
|
224 lines
==============================================================================
[ THE KAY*FOG RBBS | CPM-CC07.ART | posted 01/18/86 | 218 lines 12k ]
The CP/M Connection Originally published in
by Computer Currents
Ted Silveira 2550 9th Street
(copyright and all rights reserved) Berkeley, CA 94710
June 18, 1985
MORE UTILITIES FOR WRITERS
I can still hear my high school English teacher saying "An essay must
have an organizing idea." I tried, but I just couldn't do it this time.
What I have here is public domain hash: some miscellaneous writer's
utilities, including one that got left out of the WordStar utilities I
covered a few issues back.
[Spelling Checkers]
Bundled software has become so common in the CP/M world that most
people already have a spelling checker. If you don't, you're missing one
of the real joys of writing by computer.
A spelling checker can't really spell, of course; it can only check
the words in your text against the words in its "dictionary" and mark the
ones it finds no match for. These words aren't necessarily misspelled,
just unrecognized; you still must check each one yourself and decide
whether to correct it, leave it alone, or add it to your dictionary. Also,
a spelling checker won't catch mistakes like "there" for "their" or
"camped" for "cramped." But it will do much of the brute work of
proofreading, and it's as accurate at the end of a long piece as at the
beginning, unlike human proofreaders.
There are two spelling checkers in the CP/M public domain--SPELLM20
and SPELL-11. SPELLM20, sometimes called SPELL20, works with any word
processor but works especially well with WordStar. It comes with a 56K
dictionary (in a special condensed form that saves space and speeds up
searches) and allows you to build supplementary dictionaries of your own.
SPELLM20 doesn't do any correcting itself; it just marks the
unrecognized words in your text. You then have to find and check the
marked words using your word processor, a tedious process. If you're using
WordStar, however, you can check your text file with WordStar's built-in
^QL command, which automatically takes you from one marked word to the
next, letting you correct the word, leave it as is, or add it to a
supplementary dictionary (so that SPELLM20 will recognize it from then on).
Even though SPELLM20 comes with a dictionary, you'll be madly adding
words to your supplementary dictionary for the first few weeks. I used
SPELLM20 to check a 30K text file containing 1438 different words (over
3500 words total), and it failed to recognize 835 of them, all correctly
spelled, including elementary words like "they." (What did they put in
that dictionary?)
SPELL-11, which also works with any word processor, has three parts:
SPELL-11.COM, SPELL-ED.COM, and CMPRLEX.COM. SPELL-11.COM reads your text
file and lists all the words it didn't recognize, sending them to the
screen, to the printer, or to a disk file. SPELL-ED.COM then takes each
word listed by SPELL-11 and asks whether you want to mark it (for later
correction), leave it alone, or add it to a supplementary dictionary. Once
SPELL-ED has finished, you still must call up the text file with your word
processor, locate the marked words, and correct them. CMPRLEX.COM lets you
compile any dictionaries you build into a space-saving condensed form.
SPELL-11 comes with no dictionary at all; you have to build one by
running text files through the checker, verifying words in a good printed
dictionary, and then adding the correctly-spelled ones to SPELL-11's
dictionary. You'll find this process boring and time-consuming, but once
you reach 7500-10,000 words, you should have most of your working
vocabulary covered. (No, you can't use SPELLM20's already-compiled
dictionary with SPELL-11.)
Both SPELLM20 and SPELL-11 are slow and a bit primitive. SPELLM20 is
slightly easier to use if you have WordStar, while SPELL-11 is better if
you don't, though both will require a lot of dictionary-building at first.
Neither program is any threat to The Word Plus, the reigning champion of
CP/M spelling checkers, but either one is better than no spelling checker
at all.
[Word Counters]
Professional writers, of course, are often obsessive about counting
words, but even normal people find it mildly interesting to know how many
words they've written. To count the words in a text file, you can use any
one of several public domain programs--WRDCOUNT, WCOUNT, WC, and others
with similar names. All do a fairly good job, though WC seems to me to be
the fastest, but no word counting program, even the commercial one that
comes with The Word Plus, is totally accurate. They all get thrown off by
things like word processor format commands, numerals, and extra carriage
returns, so they give only an approximate word count. Still, that's
usually all you need.
MUCHTEXT counts lines and characters, but not words, in a text file.
I rarely need that information, but some people do. Some typesetters, for
example, may prefer a character count to a word count.
TXTSTAT counts lines, words, and characters, but the last time I tried
to use my copy, it gave such a wildly inaccurate count that I erased it.
Maybe my copy was damaged--it's hard to believe that anyone released a
program that far out of whack--but I haven't yet found another copy so that
I can check it.
[BISHOW31]
Suppose you're looking for some information and want to scan several
text files without editing them. You can use CP/M's built-in TYPE command,
which is fast--but it only allows you to scroll forward through a file, so
you can't back up to look at something you've already passed. Or you can
use your word processor, which will allow you to scroll both forward and
back--but word processors are usually slow to load (my modified WordStar
takes 12-15 seconds, and that's faster than normal). If neither
alternative appeals to you, try BISHOW31.
BISHOW31 is a small program (4K) that lets you view text files on your
screen. It loads very quickly (3-4 seconds) and lets you scroll forward
and backward through a file, either by screen or by line. It can also
scroll horizontally, if the text lines are wider than your screen, and can
be set for screen widths other than 80 columns.
Better yet, BISHOW31 lets you scan squeezed text files as well as
normal ones, something that CP/M's TYPE and your word processor can't do.
You can even scan squeezed files contained in a library file (several files
grouped together so that CP/M sees them as one large file with the filetype
LBR). Because of these features, I can now squeeze all my "archive"
files--program documentation, master copies of articles, and so forth--to
save space and still browse through them whenever I need to.
If you handle a lot of text files, BISHOW31 is very useful. If you
squeeze your text files, it's almost essential. (And for your own sake,
rename it to something less clumsy, like SHOW.)
[DF]
If you've ever wasted your time trying to trace minor differences
between two text files, you'll want DF. It compares two text files and
displays their differences on the screen, line by line.
DF has three features that set it apart from other file comparison
programs and make it ideal for text files. First, when it finds a
difference between two files, it displays the appropriate sections from
both files on the screen, one above the other, so that you can easily
compare them yourself. Second, at the same time, it displays the line
numbers of the differing sections so that you know approximately where in
your files the differences are.
Third, and most important, DF can "resynchronize" itself after finding
a difference in the two files. Some file comparison programs can only work
character by character--that is, the first character of one file must match
the first character of the other, the second must match the second, the
twelfth must match the twelfth, and so on. If you have even one extra
character in one of the files being compared, these simple programs will
think the two files are completely different from that point on. DF,
however, is smarter than that. After finding a difference, it
resynchronizes the two files, juggling them until it finds a new pair of
matching lines, and then continues its comparison.
I don't use DF very often, but it comes in handy at times.
[GRAB]
With a little work and imagination, you can use GRAB as a sort of text
database. GRAB will search through a series of files, locate the
occurrences of keywords you specify, and copy the block of text it finds
the keyword in to a separate file.
GRAB thinks a block of text is any string of characters ending with a
normal carriage return (what WordStar users know as a "hard" carriage
return), so you'd expect it to find only the individual line of text that a
keyword occurs in. But GRAB ignores the "soft" carriage returns that
WordStar uses at the end of every line so it treats a WordStar document-
mode paragraph as a single block of text (a very long "line").
Consequently, GRAB will show you the entire WordStar paragraph a keyword
occurs in--much more useful than just one line. And it will work the same
way with any other word processor, like Perfect Writer, that doesn't insert
a hard carriage return at the end of every line.
In practice, you can use GRAB to search a batch of text files (your
old love letters, for example), extract every paragraph containing a
reference to "eyes," "smile," or "ducks on a pond," and save them all in a
separate file for future reference. (No sense overworking your
imagination.)
GRAB will search more than one file at a time if you use wildcards in
the file name (*.LTR or CHAPTER?.???), and it will search squeezed text
files as well as normal ones. You can also specify more than one search at
a time so that GRAB will scour the same group of files first for one set of
keywords, then another, and so on.
GRAB has some limitations. Most important, though it will accept a
list of keywords to search for, it will pull out every paragraph that
contains any keyword in the list (a logical OR search). You can't direct
GRAB to locate only those paragraphs that contain a combination of keywords
("eyes" and "limpid pools," say)--a pity, since that's a more useful kind
of search (called a logical AND). You can get around this problem by first
searching for one keyword and then searching the resulting file of
references for the second keyword. It's awkward but possible.
Also, you must put your list of keywords in a text file; you can't
just specify them on the command line when you run the program. I find
this a real bother, especially when I just want to do a quick search for
one keyword.
------------------------------------------------------------------------------
Ted Silveira is a freelance writer and contributing editor to several
computer-oriented publications. He appreciates suggestions or feedback
and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
(72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.
------------------------- End of CPM-CC07.ART Text -------------------------