Section 6: Formatting Inkprint Documents

BEX's formatter controls what your output looks like. When you enter the appropriate commands into your text, the formatter follows these instructions to break text into lines, paragraphs, and pages, and to complete all other formatting tasks.

There are some terms and concepts you need to know, before beginning. BEX provides some default values for new lines, paragraphs and margins. You can always change them if you want to, or accept them by not specifying any others. A hard <CR> is one that you type into your text--a hard <CR> always causes a new line in your output. Don't type a <CR> after every line as you enter text in the Editor; enter <CR> only when there must be a new line in your output. The formatter automatically places soft <CR>s in the text as it prints. A soft <CR> is one that the formatter creates when it runs out of room on the current line, and must begin a new one. It is not always easy to change a hard <CR>; but BEX's soft <CR>s can easily change, depending on the carriage width of your printer or brailler.

Part 1: Format Indicators: Lines and Paragraphs

Format indicators and format commands: the difference

BEX uses format indicators and format commands in different ways, even though you use both sets of commands to format your text. Indicators and commands are different in two fundamental aspects: First, format indicators serve as navigational units in BEX's Editor, while format commands do not. For example, you can enter control-A control-P to advance to the next paragraph indicator. Or, you can enter control-Z control-L to go to the beginning of the previous new-line indicator or hard <CR>.

Second, format indicators and format commands look different. You enter format indicators into your text with exactly four keystrokes. Format commands may be more or less than four keystrokes. Format commands frequently have a number value associated with them, as we show with , the number sign; indicators never use number values.

The New-Line Indicator

The new-line indicator is four keystrokes: space, dollar sign, lowercase l, space ( $l ). (Note that it is lowercase ell, not the digit one. Whenever there is a possibility of confusing the two, we try to make the distinction clear.) Remember, the parentheses are used to emphasize the initial and final spaces; do not type these parentheses in your text. The ( $l ) functions exactly the same as a <CR>, causing the formatter to start a new-line of text. The Echo pronounces it as "dollar sign ell" no matter what punctuation mode is set. It's also readable on a "linear electronic braille device," such as a VersaBraille.

The Carriage Return

The carriage return <CR> also forces a new line. On the Editor screen, the <CR> can appear in two ways. In any HI-RES screen mode, <CR> looks like tiny uppercase C and R jammed together. In 80 column or 40 column non-HI-RES screen mode, <CR> shows as a small checkerboard. With voice output, BEX makes a low boop as it goes over a <CR> character in your text. When you arrow over letters, the voice pronounces a <CR> as "return."

The Paragraph Indicator

The paragraph indicator is four keystrokes: space, dollar sign, lowercase people, space ( $p ). This symbol is executed differently depending on whether it's sent to a printer or brailler. You can also control how the ( $p ) symbol is executed with several format commands.

Use ( $p ) at the beginnings of paragraphs, and before any other text you wish to set off, such as headings and items in a list. We advise you to use it instead of typing two hard <CR>s and five spaces. It is more flexible and can be changed easily using a few format commands. BEX changes its parameters automatically and appropriately depending on how you configure. BEX uses it as an indicator for editor commands, and its voice output is unambiguous.

Case and space rules

() Caution! Format indicators must be typed precisely as discussed here. Case is important for format indicators: ( $p ) signals a new paragraph. $P just prints dollar sign uppercase P in your text. Always enter the format indicators with four keystrokes; the initial and final spaces are integral parts of the ( $p ) and ( $l ) indicators.

Part 2: Overview of Format Commands

All BEX's format commands start with two dollar signs. BEX only recognizes the $$ format commands when they are typed in a particular way.

All format command letters must be lowercase. As an example, $$np starts page numbering. $$NP just prints two dollar signs uppercase NP in your text. We've tried to make the letters remind you of the command's function. More format commands contain numbers; numbers must follow the letter, with no space in between. As we introduce the commands, we'll use # (the number sign) in place of a particular numerical value.

Every $$ command must be immediately preceded by one of five choices:

The formatter recognizes that a space immediately following a $$ command is not a real space. The formatter throws this space away. When you have a string of format commands, you can jam the commands together:
$$p-1 $$s2 $$l2 $$i5 $p
or you can type spaces between them:
$$p-1 $$s2 $$l2 $$i5 $p
Both have the same effect. However, for isolated format commands, we advise you to put spaces before and after them. We find that adding the spaces makes the commands easier to work with, because each command becomes a BEX "word." Following each $$ command with a space ensures that the Grade 2 translator correctly translates the word following a format command.

How Format Commands Work

When the formatter encounters the commands in their proper form, it doesn't print the characters. The formatter wakes up and says "Wow! Time to execute this command." The formatter knows that print and braille devices need to have some commands executed differently, such as paragraphs. The formatter prevents any underlining commands from being executed when printing to a brailler. Section 9 details how the Grade 2 translator uses the underlining commands to place the italics symbols in braille.

When Format Commands Take Effect

You must place a format command before the text you wish to affect. For example, you must place the centering command immediately before the text you want centered. Some format commands take immediate effect, like tabs and centering. Others, like margin commands, influence the start of the next new line. Some, like page numbering, keep on working, affecting the placement of information on every page.

The current line

The formatter, when preparing to print text, assembles each line before it is actually put onto paper. We call the line being assembled the current line. The current line contains all the text from one soft <CR> to the next soft <CR>. Because the formatter operates this way, it is important to place commands that create new lines, such as the new-line ( $l ) and paragraph ( $p ) indicators before format commands that take effect on a new line; commands that take effect after a new line has begun must be placed after a command that begins the new line. When we introduce commands, we explain when they take effect. For example, the $$c centering command must be placed after a new-line or paragraph indicator. If a command does not work properly, check to see when it takes effect, and alter your sequence of commands accordingly.

Part 3: Format Commands in Detail

BEX has many, many format commands. We introduce some fundamental ones at the Learner Level; you'll learn about others at the User and Master Levels. All the commands introduced here are also listed on the BEX Quick Reference Card.

Centering

Place $$c before the text you want to center. BEX continues to center the text until it encounters a hard <CR>, or a new-line ( $l ) or paragraph ( $p ) indicator. If your text doesn't fit in one line, it centers on two or more lines.

Place a ( $p ) or ( $l ) indicator before $$c to ensure that only the text you want is centered. If you do not, BEX's formatter would also center the line of text immediately before your $$c, as well as the text that comes after.

Center and Underline Combine to Make a Heading

Place $$h before the text you wish to center and underline. BEX continues to center and underline the text until it encounters a paragraph ( $p ) indicator.

If you do not want to use a ( $p ) indicator to end your heading, you must turn off underlining with, and the centering with ( $l ). For example, you want the next line after your heading to be a full line, and not indented, so you type:
$$p-1 $$h Heading $l The next line begins here.
to get: CBC emphasis indicators show underlining in following sample
$$c Heading
The next line begins here.

() Caution! $$h does not initiate placement of braille italics signs. Use the underline commands (explained below) instead.

Make your headings into paragraphs

Always precede the centered or centered-and-underlined text with the ( $p ) indicator. Using the default inkprint format, this creates a blank line between the previous paragraph and the text of the heading, and insures that only the text you want is centered and/or underlined. For example, if you do not have a ( $p ) indicator before your centered text you will get something like this:
$$ve end of the line. Centering starts here
Place a ( $p ) before the $$c to solve this problem:
the end of the line.

cannotentering starts here

Underlining

The underlining commands must appear in pairs:signals underline begin, and signals underline finish. To prevent an inkprint printer from going crazy underlining, underlining is also turned off by a ( $p ) indicator. Always enter five characters: space, two dollar signs, lowercase us, lowercase b or from. When you use the underlining commands in this way, the Grade 2 translator can automatically insert italics signs in the braille text where appropriate.

Line Spacing

$$l# changes how far apart lines are on the page; it changes the number of soft <CR>s between ( $l ) indicators and hard and soft <CR>s. The default value for both inkprint and braille is single spacing, or $$l1 (two dollar signs lowercase like, digit one). $$l2 sets double linespacing, or one blank line between every line of text.

Paragraph Spacing

$$s# sets the number of soft <CR>s the formatter issues when it executes the paragraph ( $p ) indicator. $$s2 sets two <CR>s at each paragraph to create one blank line between paragraphs. $$s1 sets one soft <CR>, or no blank lines between paragraphs. When printing to an inkprint printer (or the screen) the default value is $$s2 -- two <CR>s at each paragraph. For a brailler, the default value is $$s1 -- one <CR> at each paragraph.

Paragraph Indent

$$i# sets the paragraph indent. The value # can be a positive or negative number: it always moves relative to the left margin, discussed below. When the number is positive, the first line of your paragraphs are shorter than the rest of the lines. When the number is negative, the first line of your paragraphs are longer than the rest of the lines. We call this outdenting. Outdenting is discussed briefly below, and more thoroughly in Section 9, Part 4.

When printing to an inkprint printer (or the screen) the default value is $$i5 -- indent five spaces at the start of each paragraph. For a brailler, the default value is $$i2 -- indent two spaces at the start of each paragraph.

Left Margin

$$ml# (lowercase m lowercase like) sets the left margin. The value of # ranges from zero to your carriage width. $$ml# sets the margin at a definite position on the line. $$ml2 means establish a left margin at position 2. The default for $$ml# is position zero.

$$ml# and $$i# work as a team. The left margin defines where every line of text starts, except for the first line of a paragraph. The first character of a new paragraph is placed using the combined values of $$ml# and $$i#. The default for both commands are $$ml0 $$i5. Indent always moves relative to left margin. If you set $$ml5 and do not set a value, $$i# automatically moves five positions left to position 10. $$ml5 $$i5 means that the first line of a paragraph starts at position 10 and all subsequent lines start at position 5. Entering $$ml5 alone in your text, and entering $$ml5 $$i5 does the same thing. (Remember that $$i# is always measured from the current left margin.) $$ml0 $$i0 creates block-style paragraphs, with the first line and subsequent lines even at the left margin.

Left margin and carriage width

The left margin uses up space from your carriage width (horizontal line length). When you define a printer with carriage width 72, and then establish a left margins with $$ml5, characters can appear from position 5 to position 71. If the place the printhead returns to on your printer is too far to the left for your taste, you can always use a margin command to move text further right.

Suppose your printer has 12 characters per inch. We advise a carriage width of 72 characters to yield six-inch lines of text, with a three-quarter inch margin on either side. Unfortunately, when you just turn the printer on, the printhead is positioned 1/4 inch from the left hand edge of the paper. You want to move the place the printhead returns to one-half inch to the right. Twelve times one-half is six, so setting a margin with $$ml6 will do the trick. Seventy-two plus six equals 78, so define a carriage width of 78 in your configuration to get approximately equal white space to the left and the right of your text. Part 4 shows how the ever-resourceful Macalaster J Prude handles a similarly repetitive format requirement.

Top Margin

$$mt# sets the top margin of your paper. The value # is equal to the number of soft <CR>s added after a form feed. The default value is zero. This command does not change the number of lines of text printed per page. When you define a form length of 56, you get 56 lines of text whether you use $$mt# or not. What changes is where the text starts on the page. You can't use a negative number with this command.

This command makes it much easier to get things lined up correctly on your printer. Using $$mt#, you can set top-of-form so that the printhead is immediately below the top edge of the sheet. If you know how many lines per inch your printer gets, you can easily calculate the size of margin you want. For example, if you get six lines of text per inch, then $$mt3 will give you a top margin of a half inch. Type in $$mt3 and BEX will send out three <CR>s before it starts printing the text of line one.

Section 5, Part 3 discusses the horizontal and vertical grid chapters, which assist you in establishing left, right, and top margins, and carriage width for your printer.

Simple Page Numbering

To number pages, use $$np. Where the page number appears depends on whether you are printing to a "printer" or a "brailler." The print format is the word "Page" followed by the appropriate number, centered on the bottom line of each printed page; the line above the page number does not contain text. The braille format places the page number, preceded by at least three spaces, on the right-hand margin of line 1.

Tabs

BEX's tabs operate differently than tabs on a typewriter. There are many situations in BEX where the right command for the job is the left margin command, not the tab commands you might use on a typewriter. You have to establish values for tabs; none are set when you start out. There are many ways to specify where a tab should be. You can't clear just one tab; you have to clear all of them at once. And you can't use the key marked Tab on the Apple IIe, IIc or IIgs keyboard to move to tabs (see Section 4, Part 9 for uses of the Tab key.)

Setting Tab Stops

Use $$t# where # is the number of the position where you want the tab stop established. The value # can be any number from zero to one less than your carriage width. For example, entering $$t10 means set a tab stop at position 10 on the line.

Clearing tab stops

Use $$tc to clear every tab you've set.

Advance to next tab

To set text to begin at the next tab stop on the line, you enter four keystrokes: <space>, dollar sign, dollar sign, <space>. Since the leading and following spaces are integral parts of this command, we show this command as (#[_$]#$$#[_$]#).

Using BEX tabs

The tabs stops are completely independent of the margins. When you want to advance to the next tab, enter (#[_$]#$$#[_$]#). To advance two tab stops, enter two of these commands: (#[_$]#$$#[_$]#$$#[_$]#). Notice that the final space of the first advance-to-the-next-tab command can also serve as the initial space of the second advance-to-the-next-tab command. When (#[_$]#$$#[_$]#) appears after the tab, then BEX separates your text with just one space. For example, you set a tab at position 10. You type this text:
#[_$]#$l#[_$]#Year to date earnings: $$ 5,000.00
The first four words occupy positions 0 to 21. There isn't a tab stop for BEX to place the $5,000.00 at, so there's one space between the colon and the dollar sign:
Year to date earnings: $5,000.00

Reset to Default

Use $$d to reestablish the print or braille defaults: no page numbering, no margins, no tabs, line spacing at single space, paragraph format as appropriate for print or braille.

The importance of $$d

Each time you press P to print chapters, the formatter resets to default. However, when you print two chapters with different format without going back to the Main Menu, as when you scan for chapters, you may run into format problems. If you do not have $$d at the beginning of the second chapter, that chapter would be printed in the format of the chapter printed before it. For example, suppose you set $$l2 for double spacing in the first chapter, but use the default single-spacing in the second. If you do not have $$d or $$l, in the second chapter and you print the two chapters in a row, the second chapter would also be double-spaced.

Therefore, we recommend you place a $$d command at the start of every document, which may be one chapter or several. That way, you ensure your chapters will be printed correctly no matter if you print them one immediately after the other, or by returning to the Main Menu and pressing P for each one.

Part 4: Putting Format Commands to Work

There are two chapters called LETTERHEAD and JOAN on your BEXtras disk. Together, they form a sample letter that shows how to put some of these format commands to work. The format commands and text in the LETTERHEAD chapter can be used over and over again. Because the boundary between two BEX pages need not define any boundary in your output, you can make one letter out of two chapters. Insert your BEXtras disk in your data drive, and use the Editor to examine these chapters.

Inside the LETTERHEAD Chapter

Notice that the LETTERHEAD chapter starts with $$d. This ensures that the formatter is set to default parameters, so that the following format commands are executed correctly.

The next command is $$t40, which sets a tab stop at position 40. Mr. Prude uses this tab stop for positioning the date and the complimentary close.

Next comes $$l2 (dollar sign, dollar sign lowercase l digit two), which sets double spacing. The default value for the paragraph ( $p ) indicator is also double spacing, and Mr. Prude wants the first three lines of his letterhead to be equally spaced.

Mr. Prude wanted a spiffy-loooking letterhead, so he decided to center and underline his name, and center his address. This type of format is a pain to do on a typewriter, but quite straightforward with a word processor. The fourth command is $$h1 which immediately precedes Mr. Prude's name. His name will appear centered and underlined on the first line of his letter. His name finishes with a ( $p ), required to turn off the underlining started by the $$h command. The next two lines are his address: because both lines start with $$c, this information is centered. Because he set line spacing to double space with $$l2, his street address appears on line 3 of his page, and his city, state, zip appears on line 5. That's all that the LETTERHEAD chapter contains, so Mr. P can use this same chapter to start off all his letters.

Inside the JOAN Chapter

The first seven characters are a paragraph indicator and an advance-to-next-tab format command. Notice that while both of these commands require leading and trailing spaces, the trailing space in the ( $p ) and the leading space in the (#[_$]#$$#[_$]#) are actually the same space. Remember that whenever a command requires a leading or trailing space, that space can be shared with other commands. Mr. Prude didn't have to reestablish a tab stop, because the tab at position 40 from the LETTERHEAD chapter is still in the formatter's memory. Because of the ( $p ), the date appears on line 7.

After the date, Mr. Prude uses a new-line ( $l ) indicator. (A <CR> would have the same effect.) If he used a ( $p ) indicator, Joan Hackney's name would be indented 5 spaces, which he doesn't want. Her name appears on line 9. After the last line of Joan Hackney's address, there's the $$l1 (dollar sign, dollar sign, lowercase l digit one) command, which resets the line spacing to single-space. This line finishes with a ( $p ), so his salutation is nicely indented 5 spaces. It's been double-spaced up to this point, so the Dear Joan appears on line 15. The ( $p ) after the salutation moves the start of the first paragraph of text to line 17, and the start of the subsequent line is line 18. Mr. Prude hasn't changed the line spacing at paragraphs, so ( $p ) is executed with two <CR>s, and the soft <CR>s the formatter puts in the rest of the letter are executed with one <CR>.

Using Underlining

The second sentence in the first paragraph contains some underlining. Notice that the underline begin command,andthe underline finish command, stand alone as words surrounding the text they underline. The formatter automatically throws away the space betweenandthe word was, as well as the space between the and the word surprised. The printed output is correctly underlined: there's just one space between the words and and was as well as the words surprised and at. After the third paragraph, Mr. Prude uses the tab at position 40 again. Notice that it doesn't matter whether a line begins with a ( $p ) or a ( $l ) as far as the tab goes. Mr. P uses two ( $p ) indicators in a row to make four blank lines where he can sign his name. There are several other ways he could create the same four blank lines: either four ( $l ) indicators or four <CR>s would do the same thing.

Using the Screen and Echo to Proofread

Now that you've taken an in-depth look at these two chapters, try proofreading them. At the Main Menu, press P. When BEX prompts for drive number or chapter name, enter the drive number where the BEXtras disk is. Choose LETTERHEAD and JOAN by number. When BEX prompts Chapter number: for the third time, press <CR> alone. When BEX prompts Which printer: enter S+V <CR> and the text of these chapters is printed to both the screen and the Echo.

You'll notice that words are not broken between lines. How many characters fit in one line depends on the screen mode you've defined in your configuration. The Echo pauses slightly at the end of each line. If you want to hear all the spaces, set the Echo to All punctuation mode with the Echo command control-E A

Whenever you add Echo output to a printer with +V you hear every line as it is sent to the printer. If you print to 80 or 40 column screen, you can also use the Echo line review feature (discussed in Section 10, Part 7) to examine each line on the screen.

() Large Print Screen: When you request 20-column or larger screen display and print LETTERHEAD and JOAN to the screen, you run into a problem with the default margins set for the screen mode and the tab stops set in these chapters. Because the tabs are set to stops greater than the screen SL margins, BEX has trouble coping. After BEX is finished printing the two chapters, it pulls in random text from memory to print to the screen. The result is much more text printed to the screen than are in the LETTERHEAD and JOAN chapters. This does not harm your data or your BEX disk. After you see the sentence Give all my love to the kids and dog simply press <ESC> to cancel printing.

Using a Review Class Printer to Proofread

Use option P - Print at the Main Menu. When BEX prompts for drive number or chapter name, enter the drive number where the BEXtras disk is, and choose LETTERHEAD and JOAN by number. Press <CR> when BEX asks for drive or chapter the third time. When BEX prompts Which printer: enter the printer number for your Review class printer. Enter ? <CR> when you are not sure of the printer number. Remember that any Review class printer must be configured in slot 3. Enter the printer number, and not the slot number to get the printer to work correctly.

You hear clicks as the review printer prints each line to the screen. When the clicks stop, the first 24 lines of text are on the screen. Enter Control-L to begin line review. Press a letter between A and X to read lines one through 24. The Echo will read first the two digit line number, then the text on that line. You can use the left and right arrow keys to examine the text word by word, and the up and down arrow keys to move line by line. Any keystroke but <space> shuts up the Echo.

When you are ready to examine the next set of lines, press <ESC> to exit (the Echo will say "exit") and press the down arrow key. More clicks tell you that the lines are printing to the screen. When the clicks stop, you can enter line review again. A summary of Echo line review appears in Section 10, Part 7. More details are on the Echo/Cricket Lessons Disk.

Inside the QUANDARY Chapter

This chapter is also on your BEXtras disk--it's the same one you used in the Exploratory Trip in Section 2. It's four pages long. When you Edit page 1, you see that the first two "words" are format commands. First off is our friend $$d to reset the formatter to default. Next comes $$np which establishes page numbering. Then there's a <CR>. The format commands at the very start of the chapter do not "use up" room on the page when printing. However, there are two reasons why placing a <CR> right there is a good idea:

First, you must place format commands before the text you wish to format. Many format commands influence behavior at the beginning of a line. Placing <CR> or a ( $p ) indicator after a group of format commands and before the start of the text insures that the commands take affect. Second, the <CR> means that line 1 on the page will not contain text, which makes the title stand out in inkprint.

The article's title is all uppercase, centered and underlined with $$h. The author's names and all subsequent sub-headings are centered with $$c command, and each is preceded and followed by a ( $p ) indicator. Again, this makes one extra blank line before and after the heading, which is more legible in inkprint.

Examine the chapter carefully for further ideas about how format commands and indicators work with your text. Experiment with the new format commands you have learned. Try several different number values with $$ml#, $$i#, $$s# and $$l# to change the shape of the paragraphs and line spacing. Some ideas: create block-style paragraphs, with single- then double-spacing between paragraphs; create outdented paragraphs with no spaces between both lines and paragraphs.

Part 5: Troubleshooting Format Problems

Section 7: Translating from Print to Braille

Manually transcribing inkprint to braille is a complex task. Fortunately, BEX automates almost all of it. For most reading material, you change inkprint to braille by following the rules for what's called literary, contracted, or, most commonly, Grade II braille. This Section provides a very basic, step-by-step understanding of how to do braille translation with BEX. Section 8 explains how you send your translated text to an embosser, and Section 9 deals with some basic format issues.

Because most voice synthesizers pronounce the Roman numeral II as "aye," BEX's prompts refer to the Grade 2 translator; we use that nomenclature from here on in.

Part 1: Distinguishing Between Braille and Print Chapters

We suggest that you always name your translated braille chapters by adding the digit 2 to the name of the print original. BEX doesn't demand that you name your braille chapters this way, but it is crucial that you develop some system that clearly distinguishes braille from print chapters. (At the User Level, we explain how you can select chapters based on the last character of a chapter's name.)

Here's why it's so important: BEX has no way of knowing if a print chapter is sent to a braille device. It's your responsibility to make sure that the text matches the type of printer. If you send a braille chapter to an inkprint device, the screen braille result doesn't make a lot of sense--in fact, it looks like garbage. If you send a print chapter directly to a braille device, the result is not grade 2 braille.

Instead, this untranslated braille uses one braille cell for every print character. Untranslated braille requires more space than grade 2 braille. That's because grade 2 translation involves many contractions, where common letter combinations and whole words are represented by one or two braille cells. For example, the word the is just one cell in Grade 2. Another reason untranslated braille is inconvenient concerns capitalization. Untranslated braille shows the upper- and lowercase versions of a letter with the same braille cell, leaving the braille reader in doubt about how the original is capitalized.

() Hint! The relationship between inkprint characters and braille cells is standardized. The nitty-gritty details are discussed in Appendix 1. We use the term screen braille to describe viewing grade 2 braille through an inkprint medium, such as a computer screen. Accept it on faith for now that the crazy-looking screen braille that you encounter when you edit a braille chapter indeed make wonderful braille when you send the text to a braille device.

Part 2: Using the Grade 2 Translator

You find option G - Grade 2 Translator on the Main Menu. You provide BEX with the names of one or more inkprint source chapters. You tell BEX how to name the grade 2 target chapter or chapters. The grade 2 target chapter is a modified copy of the inkprint source chapter. If you use the same name for your inkprint source chapter and your braille target chapter, you would lose your print original.

() Large Print Screen: The software that BEX uses in braille translation occupies the same memory space as the software that draws the large letters on the screen. When you use the Grade 2 translator, you temporarily lose large print screen display. This is normal. As soon as the translation is finished, the letters on the screen return to the size you defined in your configuration.

Once you supply the names of the chapters, you sit back and wait for BEX to do the work. The following sample shows the step-by-step dialogue for translating the QUANDARY chapter from your BEXtras disk in drive 2 to a to a different data disk in drive 1. You need to have an initialized data disk. Start out with the BEX program in drive 1 and the BEXtras disk in drive 2.
Main Menu
Enter Option: G
Grade 2 translator
Drive number or chapter name:
At this point, BEX has loaded the Grade 2 translator software into the Apple's memory. You are now free to remove your BEX disk from the program drive. Insert the data disk in drive 1. Now you provide BEX with the name of the inkprint source chapter:
Drive number or chapter name: QUANDARY <CR>
Target chapter name:
Following the suggestion above, we name the grade 2 braille version by adding the digit 2 to the inkprint chapter name. The BEXtras disk is quite full, so there wouldn't be room to write the translated chapter on the BEXtras disk. Tell BEX to write the translated chapter on drive 1 by preceding the target chapter name with the digit 1.
Target chapter name: 1QUANDARY2 <CR>
Starting to translate.
That's all there is to it! Now you sit back and wait. How long translation takes depends on how many characters are in each page and the total number of pages in the chapter. BEX reads each page of the print original into the page buffer, performs a large number of computerized tricks on it, and then writes the translated text into the corresponding page of the target QUANDARY2 chapter. The QUANDARY chapter takes a little under three minutes to translate from print to grade 2 braille--around 70 characters per second. When BEX is finished translating, it announces Chapter QUANDARY done and presents the Main Menu prompt.

How format commands are translated

When the translator encounters a word that begins with two dollar signs, it recognizes a BEX format command. The translator does not try to translate these commands. In Section 4, Part 4, we defined a BEX word as any group of characters that begins and ends with either a space or <CR>.

When you enter BEX $$ commands correctly, they are BEX words. If you did not end a format command with a space or <CR>, you would confuse the translator. For example, suppose you have a centered heading like this:
$$p-1 $$c Computer Literacy
There's one space between the centering command and the first word, so it's correctly translated to:
$$p-1 $$c ,-put] ,lit]acy
As promised, screen braille (looking at grade 2 text through a print medium) can be a little strange at first. The comma at the beginning of both words is a cap sign, showing that the initial C and L are uppercase. The hyphen stands for the three letters com, and the right bracket stands for the two letters er.

But when you don't include a space between the centering command and the first word, and your inkprint looks like this:
$$p-1 $$c Computer Literacy
the translator leaves the entire first word untranslated. The inaccurate result is:
$$p-1 $$c Computer ,lit]acy
The moral is, make sure you put spaces after your BEX $$ format commands.

Scanning a disk for chapters to translate

In the QUANDARY sample, you only translated one chapter. You can also translate many chapters at once. Instead of typing a chapter name at the Drive number or chapter name: prompt, you can ask BEX to scan the disk. You enter a drive number followed by <CR>, and BEX presents a numbered list of chapters. BEX then prompts Use entire list? N and gives you the opportunity to translate every chapter on disk.

When you want to translate every chapter, type Y <CR> to change the default answer from no to yes. When you only want to translate some of the chapters on the list, press <CR> to accept the N default. BEX then prompts you to choose chapters by entering their numbers.

You can instruct BEX to scan the disk for every menu option. Extensive samples are shown in Section 11.

Grade 2 and Grade 1 Braille

Grade 2 braille is the standard for braille production because it saves space. In some rare situations, you may wish to create uncontracted or grade 1 braille. Grade 1 braille does not use grade 2's word and letter-combination contractions. Grade 1 does use special symbols for capitalization, underlining, and numbers. Sending inkprint chapters to a braille device does not create grade 1 braille, except if your braille embosser has software in it that translates from inkprint to grade 1. User Level Section 9 discusses changing between grade 2, grade 1, and untranslated braille within a document.

Section 8: Embossing Braille Documents

Once you have translated material from inkprint to grade 2, the grade 2 chapter is ready to be embossed. However, before you do this with BEX, you must define a configuration that includes a braille embosser.

Part 1: Configuring an Embosser

BEX sends formatted information to many different devices, and not all of them are literally "printers." How you tell BEX which chapters to print is the same, no matter what the output device is. You use Print chapters to send formatted information to an inkprint printer, a braille embosser, a serial voice device, the Echo, or an electronic braille device. Exactly what BEX sends to the device depends on how you define it in your configuration.

BEX can communicate with every computer-driven embosser made. However, some embossers require that BEX send data in a particular fashion. We did not include a braille embosser in our supplied configurations because we can't know which kind of embosser you have.

The Interface Guide contains detailed information about how to set switches and other embosser-specific items. Section 3 in the Learner Level gives step-by-step examples of establishing a new configuration. In the configuration process, you have an opportunity to define up to four different printers. For each printer, BEX asks you what class the printer belongs to. All embossers are class B - Braillers. Once you tell BEX that a particular printer is a brailler, then BEX asks you to enter a numerical brailler code. You can press <CR> to see the entire list of codes. Numbers 1 and 2 are braille previewers, discussed in detail in User Level Section 6. The rest of the list are actual braille embossers.

If your embosser is not on the list, try configuring it as number 5 - Thiel. If this does not work, call the RDC Technical Hotline 608-257-8833 for assistance.

Part 2: Using Option P - Print Chapters to Emboss Braille

In Section 5, we explained how to use option P - Print chapters on the Main Menu. The general procedure is the same whether you are sending inkprint text to a printer or sending grade 2 braille text to a braille embosser. Here is an example of printing the QUANDARY2 chapter you translated in Section 7. Your BEX disk is in drive 1; the data disk with QUANDARY2 is in drive 2.
Main Menu
Enter Option: P
Print chapters
Drive number or chapter name: 2 <CR>
There are 1 chapters:
1 QUANDARY2
Use entire list? N Y <CR>
This sample demonstrates how you tell BEX to scan a disk by entering the drive number at the Drive number or chapter name: prompt. BEX presents a numbered list of chapters and allows you to select chapters by entering their numbers instead of their names. We're assuming that the QUANDARY2 chapter is the only chapter on the disk in drive 2; the numbered list has only one chapter.

You may have created other chapters on this disk. If so, then your screen display is different: the numbered list contains more than one chapter. You just want to print the QUANDARY2 chapter, so you would press <CR> to accept the N - default at the Use entire list? N - prompt. BEX then prompts you to enter chapter numbers. You select the QUANDARY2 chapter by typing its number followed by <CR>. BEX responds by parroting the name of the chapter you selected, then prompts again for a chapter number. Entering <CR> alone at this prompt signals BEX that you are finished choosing chapters.

Once you have supplied BEX with the chapters you want to print, The last prompt is this:
Which printer:
BEX wants you to supply a printer destination. When you are embossing braille, you must supply the printer number that corresponds to your embosser. Enter ? <CR> to get a list of choices. Which printer number is the right choice depends on the configuration you have established. Here's what appears for the sample configuration shown in Section 3:
Which printer: ? <CR>
1 - Brailler in slot 4 (41 by 25)
2 - Printer in slot 1 (53 by 37)
3 - Printer in slot 1 (72 by 58)
4 - Printer in slot 3 (72 by 58)
S - Screen output - Add +V for Echo output

At the risk of sounding like a broken record, this is just an example. In this case, the appropriate printer destination is printer number 1, the brailler in slot 4. The printer number does not refer to the slot for the embosser's interface card. The printer number refers to the order you defined the printers in your configuration. Which printer number is the appropriate destination depends on which number you configured as a class B - Brailler.

When you press the printer number followed by <CR>, BEX starts sending text to the embosser. You can always cancel printing by pressing <ESC>.

() Caution! As mentioned earlier, some embossers require that BEX tailor output in a particular way. This special handling is called a "printer driver" in computer jargon. One common embosser, the Cranmer Brailler, requires a printer driver. When you print chapters to the Cranmer, BEX needs to load the printer driver from the program disk. If you don't have your BEX disk in drive 1, then BEX briefly reads the disk in drive 1, then "hangs." Press control-Reset, then type RUN <CR> to get back to the Main Menu. Insert your BEX Main side in drive 1 and try printing again.

Section 9: Controlling Braille Format

The $$ format commands introduced in Section 6 are also used to format braille output. For more details about any of the commands discussed here, see Section 6. As we mentioned there, BEX's formatter uses different default values for print and braille output. The grade 2 Translator recognizes that a group of characters that begins with two dollar signs and ends with a space or <CR> is a format command; it doesn't try to translate it.

Part 1: General Braille Format Principles

The main rule in formatting braille is to conserve space wherever possible. Blank lines are only used to signal major divisions in the text. The braille line is a lot shorter than the print line; the maximum carriage width for an embosser is around 41 cells. Standard braille paragraphs do not skip a line; the indent is just two blank cells. BEX takes care of this automatically.

Underlining in the way inkprint documents are underlined is not possible in braille. The braille cell is always three dots high; you can't add extra dots beneath the cell to show that something's underlined.

When you create print with a typewriter or computer printer, underlining shows emphasis. It's also used for the titles of books. When you typeset print, you don't use underlining, you use italics. Braille also has a way to indicate italics. The Grade 2 translator uses the presence of BEX's underline beginand underline finish command to place braille italics signs as it translates.

Since the Grade 2 translator ignores most format commands, you can format your text in print before you translate it. This is easier for people who are not braille readers.

When you create print documents with a typewriter, you usually space twice at the end of a sentence. In both braille and typeset print, there is only one space at the end of a sentence. At the User Level, we explain how to use Replace characters to delete two spaces at the end of a sentence for better braille format.

Part 2: BEX's Automatic Braille Format

BEX's formatter tailors the execution of some format indicators and format commands differently for print and braille. The formatter does not analyze the text within the chapter; it's relying on you to send braille text to a braille device. The only way that the formatter knows that text is "braille" is when you specify a printer that you have configured as a class B - Brailler.

To ensure appropriately formatted grade 2 braille output with BEX, you must do three things:

In Part 3, we explore how each of the basic $$ commands are executed for a braille device. When you send text to either a printer or brailler, BEX uses default values for paragraphs, underlining, and page numbering. You can easily override these default values by entering $$ commands in your chapters. When the $$ commands you enter create values that are inappropriate for braille, make sure they are removed from the braille chapter before you emboss it.

You can either delete the commands in the print chapter before translating it, or you can delete the commands in the braille chapter once it's translated. Since the Grade 2 translator doesn't change the $$ format commands at all, they look the same in both print and braille chapters. When you are creating print and braille versions of the same text, it's faster to delete the $$ commands in the braille chapters. At the User Level, you learn how option R - Replace characters on the Main Menu can automate this process.

Part 3: Basic Format Commands for Braille

As mentioned in Section 6, it's important that you precede and follow yr $$ commands with a space or <CR>. When you do, the translator translates your text but leaves the format commands untranslated.

Underlining

When you print a braille chapter like QUANDARY2 to a device configured as a brailler, the formatter does not execute the underlining for any $$ub or $$h commands.

When $$ub and $$uf commands are present in your inkprint source chapter, the Grade 2 translator places italics signs where appropriate in your grade 2 target chapter. There are two forms for the braille italics sign: single and double. The single italics sign is dots 4-6, shown in screen braille by the period. The double italics sign is two dots 4-6, or two periods in screen braille. When an italicized passage is three or fewer words, each word is preceded with the single italics sign. When the italicized passage is more than three words long, the initial word is preceded by the double italics sign, and the last word is preceded with the single italics sign.

Here's a silly inkprint sentence showing how italics signs work:
Yesterday he purchasedThe Cat in the Hat for his daughter, and she $$ub loved it. $$uf
When the chapter is translated, the result in screen braille looks like:
,ye/]"d he pur*ased $$ub ..,! ,cat 9 ! .,hat = 8 dau<t]1 & %e $$ub .lov$ .x4 $$uf

As mentioned in Section 7, viewing screen braille can be a little disconcerting at first. In this sample, when the brailler gets the exclamation point, it embosses dots 2-3-4-6, the grade 2 contraction for the word the. The exclamation point is preceded by two periods; this double italics sign shows there are more than three italicized words. The comma after the two periods and before the exclamation point is the caps sign, showing that the initial T of the word the is uppercase. The word hat is preceded by a single italics sign that signals the end of the italicized passage, plus a single caps sign to show the uppercase H.

Both of the last two words are preceded by a single italics sign. The dollar sign in .lov$ is the grade 2 contraction for the letters ed. The single letter x is the grade 2 contraction for the word it and the final digit 4 is the grade 2 period.

Centering

Place $$c before the text you want to center. A typical carriage width for inkprint is 72 characters; for braille it's 40 or 41 cells. The centering effect of $$c continues until a ( $l ), ( $p ), or hard <CR>. A heading that centered on one line in print may require two or more lines to center in braille; BEX takes care of this automatically.

Center and underline

As mentioned, BEX suppresses underlining when sending text to a brailler. When printing to a brailler, BEX executes the $$h command exactly the same as a $$c command. The $$h command does not signal the start of braille italics; the translator only usesand to place braille italics.

Line spacing

Braille text is always single spaced, BEX's default value for both inkprint and braille. If at some point in your inkprint chapter you have increased the line spacing with a $$l# command, remember to remove the $$l# command before embossing the grade 2 version.

Paragraph spacing

BEX's default value for braille paragraphs is one <CR> at each ( $p ). If you have increased the paragraph line spacing witha $$s# command, remove the $$s# command before embossing.

Paragraph indent

BEX's default value for braille indenting at paragraphs is 2 spaces. The $$i# command allows you to change where the first line of a paragraph starts. The value # can be either negative or plain: it determines where the first line of a paragraph appears relative to the existing left margin. BEX defaults to no margins, either right or left. When you want to change how paragraph ( $p ) indicators are executed, you must place the $$i# command before the first paragraph indicator you want to affect. All subsequent ( $p ) indicators use the new value until you change it with another $$i# or reset to default with $$d. In Part 4, we show how you combine a negative indent with a positive left margin to create outdenting.

Left margin

You set the left margin with the $$ml# command, lowercase more, lowercase like, followed by a number. The default for $$ml# is position zero. $$ml2 means establish a left margin at position 2; $$ml10 means establish a left margin at position 10.

The left margin defines where every line of text starts, except for the first line of a paragraph. The first character of a new paragraph is placed using the combined values of $$ml# and $$i#: Indent always moves relative to left margin. The default value for braille is $$ml0 $$i2, so the first line of a paragraph starts at position 2 and all subsequent lines start at position zero. means that the first line of a paragraph starts at position zero and all subsequent lines start at position 2. This is discussed further under "Outdenting," in Part 4.

() Hint! When transcribers talk about braille format, they use the terms indent and runover. BEX's default values for braille are: a transcriber would call this "indent to cell three, runover to cell one." Keep in mind that the numbers for braille cells are one higher than BEX's position numbers. That's because BEX calls the first character on the line position zero, while transcribers refer to the same spot as cell one.

Simple page numbering

Enter $$np in your chapters to number pages in either print or braille. When BEX outputs to a brailler, the page number is placed at the right margin of line one, with at least three preceding blank cells.

Tabs

You use tabs identically with print and braille material. It is important to keep in mind the different carriage widths of the two formats. The grade 2 version of a word is usually shorter than the inkprint version. When representing columnar material in braille, you usually have just two blank cells between columns. RDC'S TranscriBEX software, an add-on module to BEX, includes extensive systems for transcribing columns and tables.

To establish a tab stop, you use $$t#. The value for # corresponds to that position on the line. $$t10 sets a tab at position 10, and $$t28 sets a tab at position 28.

Establishing a tab stop does not clear any other tab stop. You can only clear all the tab stops at once with $$tc. Generally, you should enter $$tc immediately before you establish new tabs.

Move to the next tab stop with (#[_$]#$$#[_$]#). The leading and following spaces are integral parts of this command.

Reset to default

To reestablish braille default values, use $$d. This clears all margins, page numbering, or tabs, sets line spacing to single space, and paragraphs to single spaces with an indent of two.

Part 4: Braille Format for QUANDARY

In Section 7, we use the QUANDARY chapter to show how you translate inkprint to grade 2 braille. The QUANDARY chapter doesn't contain any $$l#, $$s#, or $$i# commands, so BEX uses the appropriate default values for braille line spacing, paragraph spacing, and paragraph indent. There are two places where minor changes can improve the format of the braille version. You can make these format command changes in the inkprint version, before it's translated, or in the final grade 2 version. If you want to make changes in the inkprint version, you should make a copy of the QUANDARY chapter first--we use the original version in several other samples.

Delete the <CR>

The QUANDARY chapter begins with
$l $$d $$np <CR> $$h
The <CR> makes line one on the page blank, which sets off the title in print. For braille, the blank line here is inappropriate; delete it.

Establish outdenting

We use the word outdenting to describe a situation where the first line of a paragraph is further to the left than the start of all subsequent lines in that paragraph. Another term for this format in print is a hanging indent. Outdenting is frequently used in braille for lists of things. Braille transcribers would use the phrase indent to cell one, runover to cell three to describe the format we establish here.

There is one place in the QUANDARY article where outdenting would be good: the list of four things for training centers to ponder that appears at the end of BEX page 2.

To establish outdenting, combine a negative value for # in the paragraph indent command $$i# with a left margin greater than or equal to . In braille, the standard paragraph indent is 2. That's also the value for a paragraph outdent. When you combine a left margin of 2 with a paragraph indent of minus 2, the first line of the paragraph begins at position zero, with all subsequent lines beginning at position 2. That's because the value in $$i# always moves relative to the current left margin.

You always place format commands before the text you wish to format. The margin command influences how the formatter handles the start of the next line. The indent command influences how the formatter handles the start of the next paragraph. To start outdenting, place immediately before the first ( $p ) indicator where outdenting commences. To restore normal braille paragraphs, place before the first ( $p ) indicator where standard braille paragraphs recommences.

Edit page 2 of the QUANDARY chapter. The paragraphs under discussion all begin with a dash, shown by two hyphens. Press control-L to begin locating, then type <space>$p<space>-- to specify the start of the outdented paragraph, then press control-A to move your cursor ahead to the first of these paragraphs. Press control-I to start inserting. Type to establish a 2-character outdent. Press control-N to finish the insert.

More sophisticated braille formats

When you are doing a lot of braille transcribing, you will encounter a number of code books that dictate more sophisticated braille page formats and subtle braille translation issues. The TranscriBEX module is an enhancement of BEX that provides you with the tools to create perfectly formatted and translated braille in accordance with English Braille--American Edition, the Code of Braille Textbook Formats and Techniques, and the Code for Computer Braille Notation. Contact RDC for more information about TranscriBEX.

Section 10: Making the Most of the Echo

At the Learner Level, BEX supports two integral voice devices: the Echo family, and the SlotBuster II. This Section focuses on the Echo. Most of the strategies discussed here are equally appropriate for SlotBuster users; the actual commands differ. Since the SlotBuster is a multi-function circuit card, it requires more sophistication to operate. You have to know when you want to send text to the SlotBuster for talking, and when you send text for printing. A concise summary of SlotBuster commands is provided in Appendix 2. RC Systems also distributes a talking SlotBuster manual on disk.

Part 1: Why the Echo?

Street Electronics has manufactured four different devices: the Echo II, Echo Plus, the Echo IIb, and the Cricket. We refer to them all as Echo because BEX treats them identically. When the Echo speaks, it's a cooperative effort between a circuit card, BEX, and the TEXTALKER software. TEXTALKER is on the BEX Boot disk and the Echo/Cricket Training Set. This combination of hardware and software integrates the Echo into the Apple's operations.

() Apple II Plus: Your computer uses a different version of TEXTALKER, numbered 1.3. This version lacks many of the features described here. More details appear in Appendix 4.

We've chosen to standardize on the Echo family because it has many wonderful features. The Echo's speech output is flexible: you can enter commands to control the pitch, how fast it speaks, which punctuation is announced, and the delay between words. You can change these parameters at any time within BEX.

The TEXTALKER software enables the Echo to speak any possible combination of letters and words. TEXTALKER also allows you to review the contents of the Apple screen. It does require some practice to understand the Echo speech. Because the Echo is designed for a mass market, it is relatively inexpensive, unlike some special purpose sensory aids. Almost every program for blind Apple users supports the Echo, and it is sometimes possible to make general-market Apple software work with it, too. Finally, the Echo's manufacturer, Street Electronics, has maintained a commitment to carefully supporting the particular needs of blind computer users since 1982.

Included in your BEX package are two flippies called the Echo/Cricket Training Set. One side is the Echo/Cricket Lessons Disk. These lessons are aimed at the novice computer user: we strongly recommend these lessons to familiarize yourself with all the Echo's features.

Part 2: BEX and the Echo

As you boot BEX, it scans your Apple system looking for an Echo II, Echo Plus, Echo IIb, or Cricket. BEX can only recognize the Cricket when it's turned on before you boot BEX. When BEX locates the Echo, it automatically loads the TEXTALKER software into the Apple's memory.

When BEX recognizes an Echo in your system, then BEX speaks the first Enter configuration: prompt. At this point, you enter a configuration name. When your configuration includes Echo voice, then the Echo continues to speak throughout the program. When your configuration does not include Echo voice, the Echo is silent. However, you can get BEX to speak even when you don't have Echo speech in your configuration.

Part 3: Turn the Voice Off and On Automatically

Two chapters on the Main side of your BEX disk can turn the Echo voice off and on automatically. These chapters are examples of automatic procedure chapters, which you learn how to create at the Master Level. An automatic procedure chapter contains instructions for BEX to do a series of actions without you having to type them. You can use automatic procedure chapters at all levels.

You don't need to use an automatic procedure chapter when you just want to silence the Echo temporarily: Part 6 explores the various ways you can suppress Echo speech. Turning the voice off and on is handy when sighted and blind computer users are sharing a system. Use this feature when you have configured without Echo speech and want it, or configured with Echo speech, and don't want it. Here's how:

Sit back and watch the fireworks! BEX is reading keystrokes from the chapter you specified. When the automatic procedure is finished, you are back at the Main Menu prompt.

Part 4: Voice-Oriented BEX Features

When you know what Echo features BEX provides, you can better understand how to use the Echo without BEX. We've designed BEX to make word processing with voice output efficient. Program prompts are concise to speed access time. You can press <CR> for the list of options at a menu, or scan a drive for all the chapters on the disk. But when you know exactly what you want, you save time by just typing it in. The software makes various signal tones with the Apple's speaker to distinguish program parts. A low beep signals menu announcements; a high beep signals errors.

Editor Features

Many Editor commands are designed for voice output. These were mentioned in Section 4, but are repeated here for ready reference.

Printer features

You can add Echo output when BEX prints to any printer. Add the two characters +V to the printer destination number or letter. The Review class printer is designed to work in combination with the Echo's line review mode, which we discuss further in Part 7 of this Section. Examples of using the Review class printer appear in Section 2, Part 11 and Section 5, Part 5.

Part 5: Echo Commands

You can set and change many parameters for the Echo family of synthesizers. The best way to discover how these changes work is to play around with them. The Quick Reference Card contains a summary of all Echo commands. Two commands are disabled in BEX's Editor; several commands are not useful with BEX.

All Echo commands begin with the Echo's command character, control-E. Some commands have a numerical value; we show a number sign where you enter a number. You can issue an Echo command whenever the Apple is waiting for input, even in the middle of typing a chapter name. All Echo commands change TEXTALKER in memory, so they only last until the next time you boot BEX.

() Apple II Plus: Your commands are different; see Appendix 4.

Controlling what characters the Echo speaks

The Echo has three different punctuation modes. When you're reading a document for content, you may not want to hear every apostrophe and period. But when you're carefully proofreading your sentence structure, you probably do. TEXTALKER names some punctuation marks differently than your English teacher; you hear this version when you move the cursor by words or sentences. BEX has a special vocabulary for pronouncing punctuation when you arrow left and right in the Editor. Most of the names there are what your English teacher prefers; we shortened the name of the $ character to dollar because you use many dollar signs for formatting your text.

The Echo parrots most of the letters you press at a menu, depending on punctuation mode. For example, when you are in Some punctuation, the Echo does not speak when you press question mark. We don't recommend using All punctuation mode unless you really need it. If you used this mode in BEX's Editor, you would hear a <CR> between each word. Those Returns are not in your text. BEX sends a <CR> after each word so the Echo speaks it immediately.

Most of the time, you want the Echo to speak words. When you are reviewing grade 2 braille text in the Editor, however, word mode is very difficult to understand. Two commands control this function:

The repeat filter

When you create text that contains more than two punctuation characters in a row, you probably will encounter TEXTALKER'S repeat filter. For example, you might want to create a letterhead that centers 12 asterisk characters under your name. When you control-G over this word, you only hear "star star."

TEXTALKER has a repeat filter that suppresses pronunciation of punctuation and control characters when the same character appears more than two times in a row. In BEX, the repeat filter is active when you're printing to the Echo with +V or when you issue a talking Editor command; the repeat filter does not work in line review. The repeat filter only filters punctuation and control characters. When a line contains 80 8s or Ms, you hear every one. The repeat filter command is:

BEX's screen display doesn't contain any ornamental characters. We've pared it down to show only the information you need to hear. Software mainly designed for sighted people is quite different: frequently the screen is decorated with all manners of punctuation. The Echo's repeat filter makes using software like this bearable.

Controlling speed

When you first use the Echo, it can be hard to understand. Use these commands to slow down the Echo:

Controlling pitch and volume

Echo Commands in BEX's Editor

You use the same commands in BEX's Editor and at menus. However two Echo commands are disabled in the Editor: control-X (to temporarily turn off the Echo voice) and control-L to enter Echo line review mode (detailed in Part 7). However, BEX provides you with workable alternatives: many commands let you review text, and you can use <space> to stop Echo speech.

General Echo Commands outside of BEX

All of the above commands, using the same syntax, are available plus three more. You don't need the following three commands inside BEX, because BEX takes care of all input and output itself.

Part 6: Making the Echo Stop Talking

One of the most important features for any voice device is shutting it up. There are several different ways to do this. In the Editor, you press <space> to silence the Echo for control-T and Control-O. There's also an explicit Echo command that only shuts up the Echo: control-X. The drawback to control-X is you must wait for the Echo to finish speaking "silently" to itself.

TEXTALKER also shuts up whenever you press any key except <space> while the Echo is talking. This is a wonderful feature once you know your way around BEX. For example, while printing a chapter, you want to be reminded of which printer number corresponds to your inkprint printer. You specify the list of chapters to print. Then, when BEX prompts Which printer: you enter ? <CR> for the list of printer numbers. Printer number 2 is the one you want; as soon as you hear that information, you can enter 2 <CR> and BEX starts printing. As soon as you press 2 that keystroke shuts up the Echo.

Here's an example in the Editor. You want to locate the third $$c centering command in a page. Enter control-L $$c control-A and the Echo announces the character position of the first $$c command. You don't have to listen to the entire number; when you enter control-L control-A to locate the next occurrence, the Echo shuts up. However, the Echo's instant silence response can be a little confusing in the Editor.

Keeping track in the Editor

When you issue an Editor command while the Echo is talking, that command may shut up the Echo. But in some situations, it may not. The problem boils down to a "battle of the buffers." TEXTALKER has a buffer that can store approximately 128 characters. This buffer is crucial to TEXTALKER'S ability to inflect sentences. TEXTALKER accumulates a bunch of characters in its buffer, analyzes the punctuation, and tries its best to give a natural conversational tone to its output.

But that's not all! BEX's Editor also has a buffer: the keyboard buffer, which holds up to 256 keystrokes. BEX regulates how fast keystrokes are passed from the buffer to the Apple. BEX knows that TEXTALKER'S buffer can hold only 128 characters, so BEX makes sure that TEXTALKER'S buffer doesn't get overloaded. If you hold down control-G for a count of three seconds and then let go, you have an opportunity to hear the battle of the buffers at its most confusing. As long as you're holding down the control-G command, each control-G starts the Echo talking a word, and then interrupts that word and starts it talking the next word. But once you lift your fingers from the keys, BEX starts storing the control-G commands in the keyboard buffer. BEX slows down the stream of control-G commands to the point where TEXTALKER has time to fully pronounce each word.

Part 7: Echo Line Review

The Echo's line review feature allows you to randomly read any material on the 40-column and 80-column Apple screen. (Some people call this feature "screen review.") You cannot use line review in combination with BEX's large print screen display at menus. BEX large print is a graphics display; TEXTALKER can never review graphics. By the way, you don't need to plug in a computer monitor to use line review. TEXTALKER uses the information in the Apple's screen memory to show you what's on the screen. The Apple doesn't know or care if there's a monitor plugged in.

Echo line review is not available in the Editor; you can use Echo line review in combination with a Review class printer to proofread your work. When something interrupts you as you're working at a BEX menu, Echo line review is a handy way to see what's on the screen and what you last did.

Line review mode creates a separate audio cursor. The position of the audio cursor determines what the Echo speaks. You move the audio cursor around the screen with the line review commands. Once you have entered line review, every character you type is either interpreted as a line review command, or ignored (you hear a medium-tone boop.) The Quick Reference Card contains the complete list of Echo line review commands.

Control-L enters line review mode; the Echo says Review. You can press control-L when the Apple is waiting for input, or you can enter line review while the Apple is outputting characters. In the second case, control-L freezes the Apple temporarily. When you exit line review, the Apple resumes whatever it was doing (before it was so politely interrupted).

Choosing lines to read

The 24 lines on the Apple screen are labelled with the letters A through It: line 1 is A, line 2 is But, up to line 24 which is X. The first step after entering line review is choosing a line to read. When you press a letter between A and X, the Echo immediately begins speaking that line. When you press Z the audio cursor moves to the same line as your true cursor. After you press Z, press <CR> to read that line.

Once you have specified the first line to read, you have a wealth of choices. Press <space> and the Echo announces the position of the audio cursor. Press <CR> to reread your current line; your audio cursor ends up at the start of the line. Use right and left arrows to read word by word. You can change to letter-by-letter mode by pressing L; when you do then right and left arrow read letter-by-letter.

After you have specified the first line, you don't use A through X to position the audio cursor. Instead, press the up and down arrows to move your cursor to a new line and start talking it.

Instead of reading one line at a time, you can read several. The comma key is the through key used to separate the first and last line to read. When you first enter line review mode and press A,G then the Echo reads the first through seventh line on the screen. After you have selected the first line to read, then comma, letter selects the current line through the letter you enter.

You leave line review by pressing <ESC>; the Echo says "Exit." Moving the audio cursor does not affect the position of the true cursor, so you are at the same place you were when you pressed control-L. Alternatively, you can press X to exit line review and move your screen cursor to your audio cursor position. This can be very useful when programming and issuing DOS commands.

Changing Echo parameters in line review

You can also issue many Echo commands in line review mode, but the syntax is a little different. You don't use the Echo command character control-E. When you are in line review mode, the Echo is already paying attention to all your keystrokes. The changes you make to the Echo's parameters in line review do not affect the Echo's parameters at menus and in the Editor.

Column review

In addition to reading the entire screen line, you can divide the Apple screen horizontally into up to nine columns. Each time you load TEXTALKER into memory, you start out with nine default columns, labelled, logically enough, 1 through 9. Each column is 5 characters wide: column 1 contains the characters in position 01 through 05; column 2 is 06 through 10, and so forth up to column 9 at 41 through 45.

The first time you enter line review, you default to the entire screen: 00 through 40 or 80, depending on which screen you configure with. The entire screen is also known as column 0. Once you've chosen a line to read, you choose a column by pressing a digit between 1 and 9. The Echo responds by reading the text on the chosen line within the column boundaries. You can up and down arrow lines within a column, or move to a different one by pressing another digit.

You can hear the entire line by choosing column 0; but if you don't want to leave your column, you can press the letter R. This reads the entire line without escaping from your chosen column. As always, <CR> repeats the chosen text, whether it's a full line or a columnar portion of it. When you exit line review, TEXTALKER remembers your last column. The next time you enter line review, you'll be in the same column.

Changing column boundaries

While the nine default columns may suit your needs, it's always nice to be able to customize your operating environment. Each column is an independent entity; column boundaries may overlap. If you wish, you could define column 1 as positions 02 through 39, column 2 as 04 through 09; column 3 as 00 through 31. We explain changing column boundaries in a minute.

Whichever column you're in, you get a low boop when you attempt to move past its edge. (It's the same low boop you get when you reach the edge of the screen on a full line.) Press <space> to find out your current cursor. (It may be easier to interpret portions of words when you change to Letter mode at this point.) Moving the column boundaries is similar to setting margins on a typewriter.

The combination of open-Apple and left arrow keys is like the left margin release on a typewriter. When you decrease the left column boundary (move it to the left) you use the open-Apple and left arrow combination. Similarly, the open-Apple combined with the right arrow is like the right margin release. To increase the right column boundary (move it to the right) you use the open-Apple and right arrow combination.

The hyphen key is the left margin set and the equals sign is the right margin set. When you want to increase the left column boundary to the right, you use the hyphen to establish the new column edge; when you decrease the right column boundary to the left, you use the equals sign.

Suppose you want to change column 2's default values; its left edge is position 06 and its right edge is position 10. You want to make column 2 encompass positions 00 through 09. Here's how you proceed.

Enter line review, then press A to choose a line. Press 2 to shut up the Echo and enter column 2. The Echo reads the five characters from 06 to 10; your audio cursor ends up at A, 06. Press <space> to confirm this. Press the left arrow and the boop signals the left edge of column 2. Hold down the open-Apple key while pressing the left arrow, and you're moving the left edge of the column as you go. Each left-arrow press is acknowledged with a boop; six presses gets you to position 00. Press 2 now and you hear the text between 00 and 10. The open-Apple right arrow combination can not move the right edge of the column to the left. In this example, move your audio cursor right with the right arrow key until the Echo announces A, 09, when you press <space>. Now press the equals key to set the right column edge.

Using Line Review in BEX

The 20, 10 and 5 column screen display draw letters on the Apple's screen, and TEXTALKER can't read graphics. You can review the 80 and 40 column screens. When you are interrupted while working with the Apple and want to know where you left off, use line review to find out. Enter control-L Z R. Control-L enters line review mode; Z places your audio cursor on the same screen line as your true cursor; and R reads that line. You hear what BEX is prompting for. You can then use the up and down arrows to see what else is on the screen.

You can also use line review to examine text you print to the 80 or 40 column screen, or to a Review class printer.

Part 8: Troubleshooting Echo/Cricket Problems