Bravo ManualTable of ContentsPreface321. Introduction332. Basic features342.1 Moving around in a document342.2 Changing the text352.3 Filing a document372.4 Hardcopy382.5 Miscellaneous393. Formatting403.1 Making pretty characters40Looks during typing3.2 Paragraphs41Hints3.3 Formatting style44EmphasisSection headingsLeadingIndentingOffsets up and down3.4 Forms463.5 White space and tabs473.6 Page formatting48Page numbersMarginsMultiple-column printingLine numbersHeadings4. Other things524.1 Some useful features524.2 Windows534.3 If Bravo breaks544.4 Arithmetic554.5 Other useful features56BuffersPartial SubstitutionControl and special characters4.6 The user profile and fonts584.7 Startup and quit macros594.8 Press and Diablo hardcopy60Samples of standard fonts61Summary62c Xerox Corporation 1979 ^p #UXqi SrA s PrA s MrA s KA  IA  GA  E A  DA  Ar A s ?A =t ;s A :t 8sA 7ct6&432o 0sA  .A  ,A +ht *+(' &t #rA s !A   A  A   A  A tK DsA  VA  hA  _rA s VrA s 7V",OpqX ",a Section 2: Basic features32PrefaceThis manual describes the Bravo system for creating, reading and changing text documents on theAlto. It is supposed to be readable by people who do not have previous experience with computers.You should read the first four sections of the Non-Programmers Guide to the Alto before startingto read this manual.You will find that things are a lot clearer (I hope) if you try to learn by doing. Try out the thingsdescribed here as you read.Material in small type, like this, deals with fine points and may be skipped on first, or even second, reading.This manual is written on the assumption that you have the user profile, fonts and other Bravo-related material from the BASIC NON-PROGRAMMER'S DISK. If this is not the case, some of thethings which depend on that stuff will not work the same way.There is a one-page summary of Bravo at the end of this manual. It is intended as a memory-jogger, not as a complete specification of how all the commands work.Bravo was designed by Butler Lampson and Charles Simonyi, and implemented mainly by TomMalloy, with substantial contributions from Carol Hankins, Greg Kusnick, Kate Rosenbloom andBob Shur.#fsrX s ^q [s@ Z$> XP W SCu s  Rc OZt^ LRs? Jtststs' IH= FF DE AkI ?X >a >>)BRAVO MANUAL331. IntroductionBravo is the standard Alto system for creating, editing and printing documents containing text. Itcan handle formatted text, but it doesn't know how to handle pictures or drawings; for these youshould use Draw, Markup or Sil.When you start up Bravo (do it now, by saying Bravo/eCR to the Executive), you will see twowindows on the screen, separated by a heavy horizontal bar. The top one contains three lines withsome useful introductory information; it is called the system window. The bottom one contains acopy of the material you are reading, which was put there because of the "/e" you typed to theExecutive. If you had omitted the "/e", as you do when using Bravo normally, the bottom windowwould be empty, except for a single triangular endmark which indicates the end of a document. Inthe bar separating the two windows is the name of the document in the lower window.As you do things in Bravo, the first two lines of the system window will give you various usefulpieces of information which may help you to understand what is going on and to decide what youshould do next. Usually, the top line tells you what you can do next, and the second line tells youwhat you just did, and whether anything went wrong in doing it. Make a habit of looking at thesetwo lines while you are learning Bravo, and whenever you are unsure of what is happening.No matter what is going on in Bravo, you can stop it and get back to a neutral state by hitting theDEL key. You can leave Bravo and get back to the Executive by typingQuitCRThe characters which you type (Q and CR) are underlined in this example; the characters which arenot underlined are typed by Bravo. This convention is used throughout the manual. Notice thatyou only type the first character of the Quit command; this is true for all the Bravo commands.Each Bravo window (except the top one) contains a document which you can read and change.Usually you read the document from a file when you start Bravo, and write it back onto a file afteryou have finished changing it. Later, you will find out how to do this (section 2.3). It is possible tohave several windows, each containing a document; this too is explained later on (section 4.2).Bravo is controlled partly from the keyboard and partly from the mouse, the small white object withthree black buttons which sits to the right of the keyboard. As you push the mouse around on yourworking surface, a cursor moves around on the screen. Pushing the mouse to the left moves thecursor to the left, pushing the mouse up (away from you) moves the cursor up; and so forth. Youshould practice moving the mouse around so that the cursor moves to various parts of the screen.The three buttons on the mouse are called RED (the top or left-most one, depending on what kindof mouse you have), YELLOW (the middle one) and BLUE (the bottom or right-most one). Theyhave different functions depending on where the cursor is on the screen and what shape it has.Don't push any buttons yet.Mouse lore:You will find that the mouse works better if you hold it so that it bears some of the weightof your hand.If the cursor doesn't move smoothly when the mouse is moving, try turning the mouseupside down and spinning the ball in the middle with your finger until the cursor does movesmoothly as the ball moves. If this doesn't help, your mouse is broken; get it fixed.You can pick the mouse up and move it over on your work surface if you find that it isn'tpositioned conveniently. For instance, if you find the mouse running into the keyboardwhen you try to move the cursor to the left edge of the screen, just pick the mouse up andset it down further to the right.#fstsXtF%s ^q [s_ Z V X Um.*UUm.UUmts SusP Rc7u s  PM OY_ Mrs+ LOS I#` G6( F` DAu C+-s ?W >^tsB;\W Section 2: Basic features342. Basic featuresThis section describes the minimum set of things you have to know in order to do any useful workwith Bravo. When you have finished this section, you can read the other parts of the manual asyou need the information.2.1 Moving around in a documentMove the cursor to the left edge of the screen and a little bit below the heavy black bar. Noticethat it appears as a double-headed arrow. It will keep this shape as long as you stay near the leftedge, in a region called the scroll bar. If you move it too far right, the shape will change. Keepthe cursor in the scroll bar for the moment.Now push down the RED (top or left) button and hold it down. Notice that the cursor changes to aheavy upward arrow. This indicates that when you let the button go, the line opposite the cursorwill be moved to the top of the window. Try it. This is called scrolling the document up.Next push down the BLUE (bottom or right) button and hold it down. Now the arrow points down,indicating that when you let the button go, the top line on the screen will be moved down to wherethe cursor is. Try it. This operation takes a few seconds, so don't get impatient. Practice scrollingthe document up and down until you feel comfortable with it. It is useful to know that if you don'tmove the mouse, scrolling with RED and BLUE are symmetrical operations: one reverses the effect ofthe other.You may have noticed that the text on the screen doesn't fill up the window, but that more textappears when you scroll up. The reason for this is that in addition to space on the screen, Bravoneeds space inside itself (in the Alto's memory) to display lines of text on the screen. When a linehas only a few characters, it doesn't take up much internal space, but when it runs all the wayacross the page, like the lines in this document, it takes a lot of internal space. When Bravo runsout of internal space, it stops displaying text and leaves the rest of the window blank. You can tellthat there is more text in the document (i.e., that you aren't seeing the end), because when Bravogets to the end it displays a triangular endmark as the very last thing to mark the end. If you don'tsee the endmark at the bottom of the displayed text, you can be sure that there is more text in thedocument which isn't being displayed.If you keep the cursor in the scroll bar, near the left edge, and hold down YELLOW (the middlemouse button), you will see the cursor change into a striped right-pointing arrowhead. Think of itas a thumb, and the entire left edge of the window as the pages of a closed book, corresponding toyour whole document (not just to what is displayed). If you stick the thumbnail into the book andflip it open, you will find yourself someplace in the book. If the thumb is near the middle, you willbe about in the middle. If it is all the way at the top, you will be at the beginning; if all the way atthe bottom, you will be at the end.The tip of the arrowhead acts like the thumbnail, and letting go of YELLOW is like flipping open thebook. You will also see another striped arrow, enclosed in a box. This one is called the bookmark;it points to your current location in the document. After you let up YELLOW, if you hold it downagain without moving the mouse, the thumbnail and the bookmark should coincide exactly, makinga solid arrowhead; this happens because the thumbing operation moved the document exactly to theplace indicated by the thumbnail. To move forward a little, push the thumbnail down a little belowthe bookmark and thumb again; to move back, push the thumbnail up a little above the bookmark.To get to the beginning, push the thumbnail up until the arrowhead overlaps slightly the horizontalbar at the top of the window. Try thumbing your way through the document until you feelcomfortable with it. Also try thumbing and then scrolling up and down.#fsrX s ^q [sJ ZQ X TSu Q'sb OV N u s= L, Ilts. G@! FbAus  C6tsG Ab @,'A >^ ="tsts7 ; 8q)6 6T 5gX 3[ 2]S 0G /SH -)rs6 ,IrsT *% 'A ts &-6 $S # us. !;+ i z# N'ts  Qus DFts  Q :\ 4/ 0+3 c &I GP Z>ZeBRAVO MANUAL352.2 Changing the textIn order to make a change in the text of your document, you have to:say where you want the change made, by making a selection;say what you want done, by giving a command.You always make the selection first, then give the command. If you change your mind about whereyou want the change made, you can always make another selection. Making a selection is just likepointing with a pencil: it doesn't have any effect on the document. Only commands can change thedocument. You never have to worry about getting rid of a selection, since it never does any harm.If you make a selection, and then give a command that doesn't require any selection, that isperfectly all right; the needless selection will be ignored.You make selections by pointing with the mouse and pushing one of the buttons. To try this out,move the cursor into the region of the screen where the text of the document is displayed. Noticethat the cursor is displayed as an arrow which points up and slightly to the left. Point the arrow ata character (any character) in the document, and click RED. The character you pointed at should beunderlined; if it is, you have just selected it. If it isn't, look nearby and see if some other character isunderlined. If you find one, then that is the one Bravo thought you were pointing at. Experiment until you feelconfident that you can point easily at characters.You should note that each selection erases the previous one; there is only one selection at a time,and it is the most recent one. Also, you can make a selection at any time, except when you are inthe middle of a command. Once you have started a command, you must either finish it normally,or abort it by striking DEL, before you can make another selection.Something useful to know: if you hold RED down, you can move the cursor around and theselection will follow it. The selection won't freeze until you release RED (or move the cursor out ofthe text area). Try this too.Now try a selection using YELLOW instead of RED. Notice that instead of underlining a character,Bravo now underlines a whole word. A word is defined as consecutive letters and digits, orconsecutive punctuation characters. For convenience, apostrophe is counted as a letter. Also, a number containinga decimal point is a single word.There is one more thing to learn about selecting text: how to select more than one character or oneword. To do this, first select a character with RED. Then point to another character and clickBLUE; Bravo will underline all the characters between the one you selected with RED and the oneyou pointed at with BLUE. This is called extending the selection. Try holding down BLUE andmoving the cursor around. The selection will change continuously so that it includes the charactersbetween the one you originally selected with RED and the one you are pointing at now. As before,when you let up the button, the selection will freeze. You can change the extension as many timesas you want by using BLUE over and over; Bravo will remember the original selection you madewith RED until you make another one.Finally, try selecting a word with YELLOW and then using BLUE to extend the selection. Notice thatthe end of the selection will be a word also. To select the entire document, issue the Everythingcommand.Space, TAB and carriage return (CR) characters in the document simply appear as white space on thescreen, just as they do on paper. You can, however, select them like any other characters. Try it.You will notice that not all the white space on the screen can be selected; in fact, the space on aline after a CR, and the space to the left of the left margin, cannot be selected. Bravo's handling ofwhite space is discussed in detail in section 3.5.#fstsXtF%s _u [sDZe0u Xs$us W[M UA TQV R(: QGT O< LN K&< IE! H7ts F1t; DVs Cx2 @LJ > U =B"< ;ts( 8ts- 7 .ts 5 2[ts ts2 0%6 /Q$t4 -! *s&= )c(ts, 'ts6ts &Ytsus"ts $-7 #O-ts % !W EtsC ts tsts& ;A   ^tsts$ I TX  ts"6 J2 >Y Section 2: Basic features36Now that you know how to say where you want a change made, it's time to make a change. Selectsomething (for instance, a word). Now type D (for Delete). The word you selected is deleted fromthe document, and the selection moves over to the character after the original selection. The rest ofthe text is adjusted to make up for the deleted material; if necessary some words may be broughtup from the next line to fill up the one which contained the deleted material.You can undo the deletion by typing U (for undo). Try it; you will see the stuff you deletedreappear, and it will be selected again, just as it was before you deleted it. Do several deletions,followed by undos, until you are sure you know what will happen. Try deleting larger pieces oftext by extending your selections. Be sure not to move the selection between doing the Delete andthe Undo.Delete and Undo are commands. Like all Bravo commands, they are given by typing just the firstletter of the command name. You can type the letter in either upper or lower case.To add new text, select something in front of which you want the new text to go (if you want it togo at the very end of the document, you can select the endmark). Then type I (for Insert). Youwill see that a blinking caret appears just before the selection. This marks the place where the newtext will go. Anything you type will appear where the caret is, and as you type each character, thecaret will move over to make room for it. Try typing a few characters, and notice that the rest ofthe text is automatically rearranged to make room for the new stuff.If you strike the wrong key while typing, you can erase the mistake by striking the BS key (on theright side of the keyboard). You can erase as many typed characters as you like using BS. You canalso use Ac (hold down the CTRL key and type A) to erase a character; it works just like BS, and may be moreconvenient to type with your left hand, if your right hand is on the mouse. To erase typing on a larger scale,you can use Wc (hold down the CTRL key and type W) to erase a word and its following spaces orpunctuation characters. When you have typed as much as you care to, hit ESC to finish the insert.Notice that the caret disappears, and that the inserted material is selected. You can undo theinsertion with Undo. Then you can undo the undo and get the insertion back. Try it.Sometimes it is more convenient to insert after a selection, rather than before. You can do this withthe Append command (remember that you just type the A). Except for where the new materialgoes, Append is exactly like Insert.If you want to change one word into another, or correct a typo, you have to delete some text andinsert other text in its place. This can be done by a Delete followed by an Insert, but it is moreconvenient to use the Replace command, which combines these two functions into one. Replacecan also be undone.Whenever Bravo first displays the blinking caret, you can insert a copy of some existing text ratherthan typing in new text. You do this by making another selection, called a copy selection, instead oftyping. The copy selection is made exactly like an ordinary selection, and you can even use thescroll bar to move around in the document in order to find the text you want to copy. You candistinguish a copy selection from an ordinary one by its dotted underline, which contrasts with thesolid underline of an ordinary selection.You can change your copy selection as many times as you like. When you are satisfied with it, typeESC, and a copy of the copy selection will be inserted in place of the blinking caret. You can't doanything else while you are making a copy selection, except to scroll the document.A copy selection can be used to move text from one place to another: first copy the text, and thendelete the original.#fsrX s _V ],(c]:])us \ c ZX YN Uus%.UU TQR R@ QG"@ O Lus= KS G$> F`"rs =F F` D6/ CVM A.5 @LD = Tts ; Mtst 9 :]9M 8o:s% 6 71t6sts2 52ts 37( 212< .*usus -dU- -d%0 +$ (,4 '.12 %%R%E $$ 9 us s/u s  T i> c _) 37, tsC )S K x0 1>YBRAVO MANUAL37There is one more useful thing to know about insertion. If you just type an ESC for an insertion,without making a copy selection or typing anything else, a copy of the last thing you inserted ordeleted will be inserted. This is called repeating or defaulting an insertion; it is very convenient forinserting the same thing in several places, e.g., a dollar sign in front of several numbers. It alsogives you another way to move text: first delete it, and then insert it in its new place by selectingthe new place and typing Insert followed by ESC.You now know all three ways of doing an insertion: typing the text, selecting some existing text tobe copied, or defaulting the previous insertion by simply typing ESC. These three ways of insertingtext can be used whenever a Bravo command needs some text. You will see many references to"inserting text" as you read on.Before going on to learn anything more about Bravo, you should practice the Delete, Insert,Append and Replace commands, and copy selections, until they are quite familiar.2.3 Filing a documentWhether you use Bravo simply to read or browse through a document, or to create or change it,you will need to fetch the document from a file before starting, and to file it away again afterwardsif you have changed it. This section tells you how to do these things.To fetch a document from a file, give the Get command. You will see the blinking insertion caretappear in the heavy black bar above the window. Insert the text of the file name, usually by typingit in, and ending it with an ESC just as for any other insertion. The document will appear in thedocument window, and there will be a note in the system window telling you how long it is. A Getwill erase the old contents of the window, if any.To file a document away, give the Put command, and type the file name as you did for Get. If thename you want is already in the black bar, you can just type ESC to default the name. It is alsopossible to edit the file name in the black bar, exactly like an ordinary document. Put always filesaway the entire document, regardless of what the selection is; when it is done, you will see a notewhich tells you how long it is. Bravo turns most of the screen black while executing a Put; this makes the Putrun faster. Do not be alarmed at this.Warning: If you make some changes to your document and then attempt to Quit from Bravowithout having done a Put, Bravo will warn you that the document has not been filed and will askyou whether you still wish to Quit. If you want to save the document, strike DEL to cancel the Quitcommand, then file the document using Put. If you want to quit without saving the document, typeYes. If you do this, you will lose any changes you have made to the document. If this does happen toyou, read section 4.3 on replaying to see if you can still be saved.If you Get a document from a file and Put it back on the same file, Bravo will save the original ona backup file. Normally the backup file's name will be the name of the original file followed by a"$". The backup file is sometimes useful if you discover that some of the changes you made arenot to your liking after all. If you have enabled version numbers at Install time (not recommended), the backupfile will be the old version of the file from which you did the Get, and Bravo will make a new version for the Put (seesection 8.7 of the Alto Non-programmer's Guide for a discussion of file versions).You can do an "unformatted Get" with the Zc command (type Zc instead of Get); this treats the formatting informationat the end of each paragraph as ordinary text. The main use of Zc is for patching up a file which has been damaged byhardware failure or cosmic rays. In particular, if Bravo refuses to Get the file because "End of file not in Bravoformat", you can usually correct the problem by doing an unformatted Get of the file, deleting the last line or two, andPutting it back. Then Quit, restart Bravo and try again to Get the file.#fstsXtF%s _,!ts ] S \ 7u s ZB# Y#C W}W&W})W&"W}ts TQ 'us us R u s)ts QG; O LC KP Fu CsE BU @G =i%$=)=i6 ;K :_ts, 8Z 7U2 4)34)> 2=ts 1S />% .t&+ ,' )us2 ('.2 &3ts %K #A#Ot "7D /sc usN %F tS ?D3 R  *+{ 2+ vAv1 9c o I =Xn Section 2: Basic features382.4 HardcopyPrinted copies of a document may be obtained using the Hardcopy command. Before usingHardcopy for the first time, you must tell Bravo the name of the printer you intend to use regularly.To do this, Get the file User.cm. In that document, you will find an entry that looks like this:[HARDCOPY]PREFERREDFORMAT: PRESSPRESS: Name-of-your-Press-printerReplace the words "Name-of-your-Press-printer" with the name of the printer you intend to use(every printer has a registered name such as Clover, Menlo, or Daisy). Then Put the document,Quit, and type Bravo/iCR to the Alto Executive.To print one copy of the document you are editing, simply give the Hardcopy command followedby CR. This will print the entire document, regardless of what the selection is. While doing thehardcopy, Bravo displays in the cursor a count (modulo 10) of the number of pages it hasprocessed; hardcopy takes about 8 seconds per full page, like this one. After sending the documentto the printer, Bravo will report success. If there is a problem, Bravo will leave a note in the systemwindow. If the printer is not responding, Bravo will leave a note to that effect, and keep trying.You can abort the Hardcopy by typing DEL, as always.The hardcopy may fail for several reasons. If there is an EFTP error, trying again will usually work. If the problem isthat there is a character in your document which is in a font for which there is no printable representation, Bravo leavesone of the offending characters selected, and puts it at the top of the screen. You can try again after modifying thelooks of the selected character. If you have a page with so many different fonts that it exceeds the capacity of theprinter, Bravo leaves the first character of the page selected and at the top of the window. There is no remedy for thisproblem except to simplify the offending page. See section 4.6 for more information about fonts.You may want more than one copy of a document. The Hardcopy command has an option calledCopies, which allows you to specify the number of copies you want; you type in the number, and itwill appear in the leftmost buffer in the system window, much like a file name. You must give theCopies option right after the Hardcopy command, every time you want more than one copy.If you compare the hardcopy of your document with Bravo's display, you will see that although thetext is identical, the hardcopy has more words on each line, so that the two versions look quitedifferent. In order to see a nearly exact facsimile of the hardcopy on the screen, you can give thecommandLook hardcopy (note the lower-case h)You are now in hardcopy mode on the screen. Until further instructed, Bravo will represent theprinted version of your document as faithfully as it can, by positioning each character on the screenwithin one-half screen dot (about .007 inches) of its position in the final hardcopy. The screenrepresentation is 10% larger than the printed one. To turn off the hardcopy simulation, typeLook Hardcopy (note the upper-case H)You can edit normally in hardcopy mode. In fact, if your document contains tables whoseappearance is critical to you, it is advisable to stay in this mode, because in the normal mode textwill take up much more space on the screen than it will in the final hardcopy (if you have such tables,you should also read section 3.5 on white space and tabs). In hardcopy mode it is also possible to see exactlywhere lines will be broken, so that you can insert hyphens by hand if necessary.Bravo provides a number of facilities for controlling page formatting, which you can read about insection 3.6.The Hardcopy command has options for printing on the Diablo printer, and for producing a Press file which can becombined with drawings into a larger printable document, or sent to a file server for public distribution. These aredescribed in section 4.8.#fsrX s _u [s2$ Zeus5 XEVtsUItSs QO P-,2 NbN NbN Nbts K627JK6 Its2+ H,T FJ E"a CT B%ts ?t m =z <T" ;Xu :Z 8a 5s"7 34Q T 2b 01GB . S ,N +I )'#'z'#'z %hu s0 #41 "^A Cpp (0 D >t  9s P [b  tX @5 SX 0>\BRAVO MANUAL392.5 MiscellaneousAs you edit, Bravo keeps track of the changes you make to the document. In doing this, Bravoconsumes space in the Alto memory. During a long editing session, it is possible to consume all theavailable space, in which case Bravo will leave a warning note ("Core storage getting low") in thesystem window, and will refuse to execute any more editing commands. If this happens, you shouldPut your document onto a file immediately, and then Quit, restart Bravo, and Get the documentback from the file. Now you can continue with another editing session.When you have finished editing one document and have filed it away, you can Get another file,and continue working. It you are making extensive changes, however, it is better to Quit and restartBravo when you start to work on a new document. If you do this, you are less likely to provoke abug in Bravo, and you will be able to recover from a crash with the replay feature (section 4.3)much more quickly.The maximum size of a Bravo document is 65,536 characters. Whenever Bravo Gets or Puts adocument, it leaves a note telling you how long the document was. When your document hasreached 65,536 characters, you won't be able to add any more text, and peculiar things may occur ifyou do try to add more text. It is a good idea to split the document into two parts well before thishappens. To encourage you to do this, Bravo will flash the screen and display a warning message after everycommand if the length of the document exceeds 60,000 characters.If you type a character which has no printable representation, Bravo will display it as a blackrectangle. The best thing to do with such a character is to delete it.Depending on exactly what Bravo is doing, the amount of text it can display on the screen will vary.You can always get the maximum amount of text displayed by doing a scrolling operation; if youscroll up with the cursor at the top of the scroll bar, the text won't move, and Bravo will justdisplay as much more as it can. If you then give a command, some of the text may disappear fromthe screen, but you can always get it to reappear by doing another scrolling operation.Bravo keeps copies within itself of information in your user profile (file User.cm; see section 4.6)and in various files on your disk: font files (named *.al and Fonts.Widths), and the files containingthe Bravo system and its temporary storage (named Bravo.*). It refreshes these copies wheneveryou start it up with>Bravo/iCRThis is called initializing Bravo. It is necessary to initialize whenever you get a new version ofBravo or the Alto Operating System and when you change your user profile or any font file.Initializing is just like starting Bravo up normally, except that it takes about a minute. If you are inany doubt about whether something has changed since the last time you initialized Bravo, or if yourBravo is crashing with messages which refer to disk or file errors, you should initialize Bravo bystarting it with Bravo/i.You now know enough to edit unformatted documents. Take a rest.#fstsXtF%s _u [s Q ZeS XU W[a UG TQG Q%K O23 NH L%; K GW F`/* D,7 CVT At$@ @p@ =hsW ;G 8^ 72W 5[ 4('9 2W /wK -T ,mI *(B((((t &su s/ %?Z #Du "5s L Dus + @ >LR+ Section 3: Formatting403. FormattingThis section describes the Bravo facilities for creating formatted text and pages. It you are notinterested in formatting, you don't have to read it. If you are interested, be sure to read sections3.3 and 3.4, where you will find a lot of good advice.Bravo normally describes character sizes and distances on the page in points. A point is a unit ofdistance used in the printing industry; there are 72 points per inch. Thus 36 points is 1/2 inch, and18 points is 1/4 inch. In many cases, you can also specify distances in inches or centimeters, asdescribed in section 3.2.3.1 Making pretty charactersBravo allows you to say how you want your text printed: in italics or bold face, underlined, invarious sizes and type styles, superscripted or subscripted, etc. You can change the way existingtext is printed, or you can say how you want the characters to appear as you are typing them in.We will begin by describing how to change the looks of existing text.First, select the text you want to mess with. Then give the Look command. This command has alarge number of options, each specified by a single character, which is sometimes followed by someadditional information:boldSHIFT B to un-bolditalicSHIFT I to un-italicize to underlineSHIFT  to remove the underline_ to subscript (text down 4 pts)Down 0 ESC to remove subscript orSHIFT _ or ^ to superscript (up 4 pts)superscript0 to 9 to set the typefacevisible to display spaces, tabs, and CRsSHIFT V to stop this.Down followed by a distance (see below) toUp followed by a distance to move themove the text down that distance, relative totext up. Superscript is Up 4.the baseline. Subscript is Down 4.CLR (the blank key to the right of BS on an Alto-I, or the key labelled BW on an Alto-II) torestore the standard looks: font 0; not bold, italic, underlined, visible, graphic, up, or down.The typeface is usually called the font. For Bravo, each different size of the same style is adifferent font, but bold and italic are considered to be in the same font. The choice of fonts isspecified by your user profile in a way which is described later (in section 4.6), but the standardchoice provided on the basic non-programmer's disk is:0Times Roman, 10 pt. This is the standard font.1Times Roman, 8 pt.2XEROX logo (only the capital letters E O R and X)3Math, 10 pt. A large set of mathematical symbols. No bold or italics on hardcopy.4Greek, 10 pt. No bold or italics on hardcopy.5Times Roman, 12 pt.6Helvetica, 10 pt.7Helvetica, 8 pt.8Gacha, 10 pt. This is a fixed-pitch font.$fpqX p ^r [pZ Z\ X6 UmFsp S;tp Rc tp8 P L s HpC GZJ EA DPE A$=1@A$  ?E >;k;/:;k`;t2;k;p 9c9j/:9`9jt299jp6`7 /:6`7t26`7p4c4/:4c434c454c"4tp2`35tB235p 235/: 0000...Ptp/:..`.t2...p +,-&P/:+,-#*-/:)##&tV&tp tp#tp%FA "#sp& Y s pE 6Z/ZZ1Z<Z-ZZZuZ*  .>XBRAVO MANUAL419Helvetica, 18 pt. The bold-face version of this font is especially good for making view-graphs.You will find tables at the end of this manual which give the correspondence between ordinarycharacters and the Math and Greek fonts, and some samples of the various fonts.There is another Look option which is very convenient. It is Look Same, followed by a copyselection. In this case, what is copied is the looks, rather than the characters. This is the way toget one piece of text to print in the same style as another piece.Like most commands, Look can be repeated with ESC. This is useful if you want to change thelooks of several pieces of text in the same way. You can also undo a Look with Undo.You can find out what the looks of a character are by selecting it and giving the Look ? command.Bravo will tell you (in the system window) all the looks of the selected character. You may have toscroll the system window up in order to see all the looks.LOOKS DURING TYPINGWhen you start typing, the looks which will be attached to the characters you type are set to thelooks of the first character of the selection if the command is Insert or Replace;the last character of the selection if the command is Append;the standard looks otherwise.To change the looks while you are typing text, use the CTRL key instead of the Look command:hold down CTRL and type the look you want. The only things described above which you can't dothis way are Look Up and Down; you can get the standard superscript and substript offsets with ^and _, though. To restore the standard looks, you can just strike the CLR key; it is not necessary touse CTRL in this case.3.2 ParagraphsIn addition to changing the looks of the characters, you can also change the shape of the text: themargins, space between lines, justification, centering, etc. The Bravo facilities for doing this arebased on the idea of a paragraph.A paragraph in Bravo is all the text between two CTRL-CR characters. You can tell when you haveone by selecting it. To do this, move the cursor into the line bar, which is between the scroll baron the far left, and the text area. You can tell that you are in the line bar, because the cursor willappear as a rightward-pointing arrow. Once you are in the line bar, use the YELLOW button toselect a paragraph. Note that the cursor changes to a paragraph symbol; it keeps this shape as longas the selection is a paragraph.The CTRL-CR that ends a paragraph carries the paragraph looks described below. It can also carry character looks, andif you are setting up a standard paragraph, it is a good idea to attach to its CTRL-CR the character looks which youwant as the standard ones for the paragraph. Thus, for example, the CTRL-CR for a standard heading like the one atthe start of this section would carry the italic look. Of course, this is just a convenience, and not essential; you canalways set the character looks during typein as described above, e.g. by typing ic for italics.If the text at the end of a paragraph is in a font smaller than the standard one, as this one is, the CTRL-CR ending theparagraph should carry the same font looks. Otherwise, the inter-line spacing of the paragraph may appear uneven.$ fptpXtF%p _&8!&] Ze9$ XO U=3U]U6U]U T/d RB O~(tp+ M&/ JRXc Section 3: Formatting42The YELLOW button selects exactly one paragraph, so by looking at what is underlined you can tellwhere the paragraph starts and ends. Note that the second CTRL-CR (the one that ends theparagraph) is counted as part of the paragraph; the first CTRL-CR is part of the previous paragraph.You can use BLUE to extend the selection to several paragraphs.To merge two paragraphs into one, just delete the CTRL-CR that separates them. You will probablywant to replace it with a couple of spaces, or maybe with an ordinary CR. To break one paragraphinto two, insert a CTRL-CR; it is just like any other character, except that you can't backspace over it.If you select a paragraph and then give an Append, Insert or Replace command, a blank paragraphwith the same looks as the selected one will be created for you to type into.To change the looks of a paragraph, you can use some more sub-cases of the Look command.Select the paragraph (or any text in it) first, and then say Look, followed by:center; turns off justificationSHIFT C to stop centeringjustify (even right margin); turns off centeringSHIFT J to stop justifyingnested to indent the whole paragraph (36 pts, SHIFT N to un-indentor 1/2 inch, more)open up more white space in front of theSHIFT O to close up the white spaceparagraph (12 pts, or 1/6 inch, more)q to open up half as much more white space inSHIFT Q to close up the white spacefront of the paragraph as Open does (6 pts more)All of these can be invoked during type-in; hold down the CTRL key and strike the appropriate key,just as you do for character looks.In the following Look cases, d is a distance on the page, which can be specified in several differentways, as described below. Distances are measured from the left edge of the paper (except for Upand Down, which measure from the baseline of the line of text). These looks cannot be usedduring type-in.Left d to set the left margin. The default is 85 points, or about 1.2 inches from the left edgeof the paper.First d to set the left margin of the first line. Use this to control indenting or un-indentingof the first line. A Look Left cancels a Look First, since it sets the left margin for all the lines of theparagraph.Paragraph d to set the left margin of all the lines except the first. A Look Left cancels a LookParagraph, since it sets the left margin for all the lines of the paragraph.Right d to set the right margin. The default is 527 points. Since an 8.5" x 11" page is 612points wide, this results in 85 points, or 1.18", of white space on the right. Thus, the defaultmargins center the text on the page.X n to set the space or leading between lines. The leading should be at least 1 point (as it isin this document) to avoid a squashed effect. If you want a less dense appearance, try largerleadings. The default is 6pt, which gives double spaced text.Y n to set the leading in front of the paragraph. The default is 12pt, which gives a blankline between paragraphs. Look open increases the paragraph leading by 12 pts, and Look qincreases it by half that, or 6 pts. On hardcopy, both line and paragraph leading aresuppressed for the first line of a page or column. Leading must be less than 64 points.Here are the ways to specify the distance. Try them out until you are quite comfortable with them.$fpqX p _tpsp< ]*tp \ :tp Z tp/ W[!tp( UFtp TQtp< Q%"= OM Lt9 J=5JJH@H/H@`Ht3:H@HpEcF?P/E`F?t3:EF?pCC-/C`Ct3:C"Cp Bbtp ?@ #P/?`@ t3:?@ p>tp ;<-,/;`<-t3:;<-p:0 7|:tp$ 5# 2spsp 1FY /[ .<++sp+/*_ '(sp/*&t'1%! ""psp=sp9;J '1 c >[xBRAVO MANUAL43By typing a number in one of the following forms:123 or 123pta distance in points. A point is a printer's unit equal to1/72 of an inch. A number without a decimal point andwith no explicit units is assumed to be in points.1.71, 1.71in or 1.71"a distance in inches. A number with a decimal point andno explicit units is assumed to be in inches.4.34cma distance in centimeters.a sequence of blanksa distance equal to the width of that many blanks.By typing a number n, as above, preceded by + or . The distance specified by n is addedto, or subtracted from, the current value of the look being changed. Thus, to indent aparagraph by an additional one-half inch, type Look Left +.5 ESC.By using BLUE to point to a place on the screen. The horizontal position of the place youpoint at is displayed in the system window. If you hold down BLUE and move around, thedisplayed position is updated continuously.By using RED to select a character. The horizontal position of the left edge of the characteris displayed in the system window.By typing \ (back-slash, not /), which displays a default value for the look being changed inthe system window.By just typing ESC, which uses the value already in the leftmost buffer of the system window.You can select, point or default as many times as you want, just as with an ordinary copy selection.Then you can type a number, if you like. When the leftmost buffer in the system window has thevalue you want, type ESC to complete the command. Of course, if you get disgusted you can alwaystype DEL to cancel the whole thing. Note that pointing is a convenient way to measure horizontalpositions on the page.Look All, followed by a copy selection, will copy all the paragraph looks of the paragraph in whichthe copy selection is made, to the paragraph containing the current selection. Note that Look All copiesparagraph looks whereas Look Same copies character looks.If a paragraph is selected (using YELLOW in the line bar; the cursor will be a paragraph symbolwhen a paragraph is selected), the Look ? command will display the paragraph looks in the systemwindow; if the selection is not a paragraph, the command displays character looks, as described inthe previous section. You may have to scroll the system window to see all the information. Notethat it appears in a buffer (see section 4.5) which is made current, and you can insert it into a document with a defaultinsertion.If you have a paragraph whose left margin is less than the default (normally 85 pts), any characters in the paragraph tothe left of the default margin will fall off the left edge of the window and will not be displayed. Try setting a leftmargin to some values less than 85, and see how this works. You can change the setting of the left edge of the window,so as to make these characters visible on the screen, with the commandWindow Edge dd is a distance, which must be typed in and cannot be obtained by pointing.The distance d is the distance from the left edge of the page at which the left edge of the window should be set. Itshould be smaller than any paragraph left margin if you want to see all the characters on the left. For instance, if d is0, the window edge will be at the paper edge; if the text has the usual 85 pt margin, this will result in 1.2" of whitespace in the window (in addition, of course, to the white space in the line and scroll bars). The default value for d isthe default left margin.$ fptpXtF%p _1T] "& sp "[, "Y2TW"&#"Vc-TTQ"&TR?"&1 Osp'sp MQ L /,KL 0KL 4QKgL 7K"L t HptpM GX3 tp E+ BtpR A"" =E W Section 3: Formatting44HINTSYou can select several paragraphs (using BLUE to extend your selection) and apply the same Lookcommand to all of them. You can change the looks of every paragraph in the document by doingan Everything to select the whole document before the Look. A Look command involving adistance of the form +n or n adds or subtracts n from the look value for each selectedparagraph. Thus, Look Left +5 ESC will indent each selected paragraph by five more points.If you use several different formats (e.g., for section headings or for indented material) you cancopy the formatting from an existing example of a particular style to a newly created one with LookAll. Often it is convenient to put a set of sample paragraphs at the head of your document, eachcontaining one line which explains what it is a sample of. Then you can split the window (asdescribed in section 4.2) and have the samples readily available to copy from with Look All. Thisis highly preferable to entering all the new looks manually every time you switch to a new format.An alternative technique for creating a new paragraph in a specific style is to select the paragraphbefore or after the point at which the new paragraph is to appear, then Append or Insert and makea copy selection of the desired sample paragraph. Now select the text of the newly-createdparagraph, not including the CTRL-CR at the end, and Replace it with new text that you type in.This method copies both character looks and paragraph looks from the sample paragraph.When you are setting up the format for a document, you should put a few blank paragraphs (justCTRL-CRs) at the end, and set the formatting on all of them to your standard format (it isconvenient to do this by copying the formatting from a paragraph which already has your standardformat). This might include indenting the first line of a paragraph, setting the leading, leavingspace between paragraphs, justification, and even the font. Now when you add material to thedocument by inserting into one of these blank paragraphs, you will automatically pick up all of theformatting you have preset. As you type along, each time you use a CTRL-CR to start a newparagraph, it will acquire the same formatting as the old one.3.3 Formatting styleThis section is intended to provide you with some guidance in using all the different ways Bravogives you for controlling the appearance of your document. Many of the rules are based on thecustoms of the printing industry. There are two advantages to following these customs:they are the result of many years of experimentation, during which many people have triedto find out what looks good on the page;readers are accustomed to seeing text presented in this style.You will notice that some of the rules are contrary to the usual practice for preparing documents ona typewriter. There are good reasons for this: when you are printing with variable-pitch fonts,italics, boldface, justification, and precisely controlled leading, some of the things which work wellfor fixed-pitch, single-font documents are no longer appropriate.EMPHASISUse italics for emphasis in text. You can also use boldface, but this is usually less desirable, and itis better to reserve boldface for words which play some special role, e.g., begin and end in computerprograms. You should also use italics for the names of variables, e.g., "Suppose there are n items."Don't use underlining for emphasis; it is not compatible with the use of italics and boldface. Useunderlining only when you want a different kind of emphasis, e.g., to distinguish the characters auser types from the ones the machine types, as is done in this document.$fpqX p _t [p)tp# Ze] XW W[spsp sp& UUUUUUU"U"Utp4 R@" Q%K O%< N"; L] K$> GH F`H DM CV sus p AV >M = tpL ;P :Y 8M 7 _ 51tp 4> //s ,pU *~A (W' F%(#> lM =$ bC# A t pspP F!+qpqp Bsp spN *sp3 Hl D>[zBRAVO MANUAL45Don't capitalize a whole word for emphasis. In fact, try not to capitalize a whole word at all; itusually looks terrible in a variable-pitch font because the capital letters are so much wider than thesmall ones. If you have words which you think should be set in capitals for some reason, trySMALL CAPITALS. In this example, the S and C were 10 point (font 0), the rest of the letters 8point (font 1). Compare this with the appearance of FULLY CAPITALIZED words and you willsee the point.SECTION HEADINGSIn general, use left-justified rather than centered headings, and don't use all capitals, for the reasonsjust discussed. Here is a satisfactory list of styles for the headings of successively larger portions ofyour document:smallestItalic18 pt paragraph leading (Look Y 18, or Look q ifyour standard leading is 12 pts).nextBold24 pt paragraph leading (Look Y 24, or Look o ifyour standard leading is 12 pts).largest12 pt bold36 pt paragraph leading (Look Y 36, or Look otwice if your standard leading is 12 pts).Note that you can switch from the standard leading to the 1.5, 2 or 3 times standard leadings forheadings during typein, using oc and qc. For the largest units, you can center the heading and/oruse all caps instead of, or as well as, switching to a 12 pt font. It is best not to have more thanthree levels of heading, but you can extend to four or five levels using these tricks. Helvetica 18bold (font 9 bold) is sometimes nice for chapter or document titles.Use Look Keep 80 (see section 3.6) on headings to make sure that the heading doesn't end up allby itself at the bottom of a page.LEADINGThe standard printing fonts are designed in such a way that they need some extra space betweenthe lines to avoid a cramped appearance. You put this space in with Look X, and you should use 1pt for ordinary single-spaced text. If you want a less dense appearance, experiment with moreleading. For double-spacing of the text, try Look X 6 (the default).Use double spacing (Look o) between paragraphs. When you have indented material which is fairlyshort, try 6 pt leading (Look q), as in the example two paragraphs back. Don't use extra carriagereturns to get blank space between paragraphs. However, the maximum leading you can specify is63 points; if you need more (e.g., to leave space for a figure) you will have to put in blankparagraphs.Note that both line and paragraph leading are suppressed for the first line of a page or column. The height of a line oftext (in points) is equal to the point size of the largest font used in the line, provided there are no characters which havebeen superscripted, subscripted or offset with Look Up or Look Down. If any character in the line is offset Up, theminimum line height, including leading, is given by the font size of the character, plus its offset; i.e., characters offset Upare allowed to eat into the leading. If a character is offset Down, the largest such offset must be added to obtain theline height; i.e., characters offset Down are not allowed to eat into the leading.$ fptpXtF%p _spF ]] \ N Ztptp8 Y4% W} S}tpt QkpK OW Na oL s#kp3"KL 6KL 8vK`L P>O> >O{>tp!>O>">O{>tp" =!I ;N :D 8L 6" 2t 0npP .6+ -dO +E (G '.-sp %\ $$B " t8A YQ, a ut#> >: e.ut! B=N Section 3: Formatting46INDENTINGUse Look nested to indent material, and Look Nested to cancel the indentation. Note that this alsoworks when you are typing in. For example, if you typeCRcnc Here are three points: CRcncFirst ..CRcSecond ..CRcThird ..CRcNcNow we continue ...the document will look like this:Here are three points:First ..Second ..Third ..Now we continue ..Use Look First if you want to indent the first line of a paragraph, rather than tabs. When you havea list of items, it is often nice to unindent the first line by about 15 pts, especially if the items arenumbered. For example:1.This paragraph was formatted with Look Left 120, Look First 15, in order to make thenumber hang out to the left.2.To get the first word of the first line to line up with the left margin on subsequent lines,set a tab stop at that point (see section 3.5).3.The easiest way to specify the position of the tab stop is to select the first character ofthe second line, using RED. In this case, of course, the stop is at 120.4.Indended paragraphs sometimes look better balanced if the right margin is indented aswell. Unfortunately, Look nested doesn't do this for you; you have to change the rightmargin yourself using Look Right d.OFFSETS UP AND DOWNUse the smallest offset you can get away with for subscripts and superscripts, since large offsetsresult in wide ugly spaces between the lines. The offset used by Look ^ (superscript) and Look _(subscript) are defined in your user profile (see section 4.6); the standard profile sets it to 4 pts.3.4 FormsAlthough Bravo will let you begin with a completely empty window and start typing into it, this is abad practice and should be avoided. Instead, you should start out by Getting a template or formwhich will guide you in constructing the document you want.An obvious example is a memo form, and you will find one on the file Form.Memo. Start Bravo,and Get Form.Memo into the window. You will see that it has spaces for the sender, receiver, dateand subject, and that these are filled in with words which indicate what should go there. To fill inthe form, select each of these words, and Replace it with the proper text. Then do the same withthe MEMOBODY. When you are done, you have a completed memo which you can file under asuitable name using Put. Be careful not to Put the document back onto the file from which theform came. The best way to avoid doing this is to edit the file name in the black bar above thedocument immediately after Getting the form.Your disk comes equipped with a few forms; you can see their names by typing form. TAB to theExecutive. You should construct your own forms for other kinds of documents which you findyourself creating frequently. As you have seen in the description of Bravo's formatting featuresabove, a form can contain a great deal of information in addition to standard text and spaces to befilled in. You will find that your life is easier and your work is more uniform and of higher qualityif you use forms consistently, and take the trouble to carefully design a new one when necessary.$fpqX p _t ]pc [7YtZYpZtYptZYpZtYptZYptZYptZYpZtYp W!UmSRcPOY L-J JspB I#oFzI EFoBz2*Ai/o?zN =tp0o;4zR9F8*!sp 4*t 2pb 09( /L *;s 'p&> %Psps $p; "; TG P J%< tp/ @^ ;% 6,  #*?l8 tC>E p )2 /2 { V 24 qQ  *=\~BRAVO MANUAL473.5 White space and tabsWhen you type on a typewriter, you can get white space to appear between characters by typingspaces or TABs. You can get blank lines by typing carriage returns. In Bravo, you can do exactlythe same things, with exactly the same results. Space, TAB and CR are characters which are in yourdocument exactly like "a", "b" or "c". You can get Bravo to display them as special, visiblecharacters by selecting the text in which you want to see them, and typingLook visible(this must be a lower-case v).To turn off the display and just see the usual white space, typeLook Visible(this must be an upper-case V).Normally you don't have to type any CRs; Bravo will automatically end a line when there is noroom for the next word. You can force a line to end by putting in a CR; this is appropriate whenyou want to control the layout of the text precisely, as in a table. Otherwise, don't put in CRs. Youshould use CTRL-CR to end a paragraph, as described in section 3.2.Bravo allows you to set up to 14 tab stops, which are named by the digits 1-9 and the letters abcde.The tab stops are paragraph looks, just like the margins; hence they can be different for eachparagraph. You can set a tab stop with the commandLook TAB t dwhere t is a digit or one of the letters abcde, and d is a distance (see section 3.2).When you strike the TAB key during typein, the caret moves to the next tab stop, just as it does ona typewriter, and a TAB character is added to the document. This TAB character is called a plain-tab, because it moves the caret to the next tab stop, not to a specific named tab stop.For example, suppose you have a line like this:Column 1Column 2Column 3Tab stops 1, 2, and 3 are at 180, 265 and 400 points, and there is a plain-tab between each digit andthe following C. If you now append some x's to the digit 1 to get past tab stop 1, the result willlook like this:Column 1xxxxxxxColumn 2Column 3That is, the point to which a plain-tab jumps depends on the width of the preceding text. This canvary both when you change the text and when you switch to hardcopy mode; thus, the appearanceof hardcopy may not match the screen if you are using plain-tabs.You can turn a plain-tab into a named-tab by selecting it and issuing the command Look , t (Lookcomma t), where t is the name of a tab stop. A named TAB character will always make thefollowing character print at the correspondingly named tab stop. If printing has already passed thattab stop, Bravo will start a new line, and display a heavy black rectangle at the end of the previousline, to warn you that something is wrong.To continue the above example, suppose you name the first TAB 1 and the second 2. Now theresult will look like this:Column 1xxxxxxx;Column 2Column 3When you switch from normal display mode to hardcopy mode, there will usually be more whitespace occupied by the TAB (perhaps enough to permit printing all the text on one line), buteverything will continue to be positioned horizontally in exactly the same way.$ fptpXtF%p _s [p&7 Ze tp: X8tptp W[L UJoSmSSmS# Q@oOIOOIO# Lt$tp0 J0tp Ij^tp G tp1 D>& C49% A3o?F??FE?tps =psp-sp! :_tp/ 8tp+tps 7UpT 4)/o2#k 0-8 .#qp9 ,o*q#kp6 (S 'R^ %A "sp(="J"A"JX"sp !spsp%tp Y &? * a*tp oqvFp#k 4M tpB *O >Y' Section 3: Formatting48You can find out the name of a tab stop by selecting it and giving the Look ? command.Caution: the Look comma command should be applied only to TAB characters. If applied to a character other thanTAB, it will invoke some unsupported features for color printing.For compatibility with old versions of Bravo, and with the programmer-oriented tab conventions ofthe Alto and Maxc, you can set unnamed or plain tab stops spaced at equal intervals with thecommandLook TAB = dwhere the distance d specifies the interval. If you don't set any tab stops, you get plain tab stopsspaced at 36 pts (this parameter comes from the user profile, and can be changed; see section 4.6).One final word about white space: Bravo has formatting features, described in the section onparagraphs above, which allow you to indent the first line of a paragraph, and to put blank spaceabove a paragraph, without using spaces, TABs or extra CRs. It is good practice to use these features,since you can control the spacing much more precisely and don't have to worry about having extracharacters cluttering up your document.3.6 Page formattingThere are a number of features to help you in controlling the layout of your document on printedpages. Unlike the horizontal layout, the location of page breaks and the headings, page numbersetc. for the most part cannot be displayed on the screen. There is, however, a page boundarycommand which allows you to see on the screen where the page boundaries will appear in thehardcopy. The command is invoked by the LF key. It assumes that the first character of thecurrent selection is the first character on a hardcopy page, and it moves the selection to the first lineof the next page. By applying the page boundary command repeatedly, you can move through thedocument, page by page (or column by column, if your document profile specifies multiplecolumns; see below). Alternatively, if you know where one page break is (perhaps because of acontrol-L in the previous line; see below), you can start there. If you want to start at the beginningof the document, you can use the Everything command to make the first character of the documentbe the first character of the selection.As a convenience, the page boundary command leaves the original selection at the top of onesubwindow, and the first line of the next page as the third line of the next subwindow (which itcreates if necessary). Among other things, this makes it easy to do some editing near the end of thepage, and then reselect the beginning of the page and repeat the command. Try it.Normally, Bravo will start a new page when it runs out of room on the current page, i.e., when thenext line to be printed would intrude on the bottom margin, or at the beginning of a paragraph ifthe amount of space left before the botom margin is less than the paragraph's keep value. You canforce a page break by including a Lc (control-L) in the text; the line containing the Lc will stay onthe same page, but the next line will start a new page. This character is displayed as a lower-case Lwith an over-bar. You can't type it in simply by holding down CTRL and typing L, but instead youcan type an L followed by Sc. You do this during an insertion, not as a command. The Lc istreated just like any other character during editing.You can also force a paragraph to start a new page by giving it a keep property of 11". If you wantto position the paragraph precisely on the new page, give it a vertical tab property as well.You can exercise some control over where page breaks occur with the commandLook Keep dd is a distanceThis sets the paragraph property called keep, which has the following meaning. During hardcopy,$fpqX p _; \ ut] ZA Wp:' VCsp- TRURRUERtpRU`Rs PpspQ OS KR Jd$= H)tp tp% GZK E' As =pD $ (9 .)9 c tcp3tcp +; Y>tp  tpsptp  5 sp= X<! ,K  <   s%sp sp4 =]IBRAVO MANUAL49when printing of the paragraph is begun, the amount of space left on the page before the bottommargin must be at least the keep distance, or a new page will be started. For instance, by settingthe keep of a heading to the total height of the heading (including its leading) plus the height ofthe first two lines of the next paragraph, plus the paragraph leading, you can ensure that theheading will never end up alone at the bottom of a page. Good values to use, with standard fontsand leading as in this document, are 40 pts on ordinary paragraphs and 80 pts on headings.You can set the vertical position of a paragraph precisely on a page using the vertical tab property,which is set by the commandLook Z dd is a distance.When a paragraph with a vertical tab is printed, its upper edge (including leading, if any) will bepositioned at the vertical tab value, measured from the bottom of the page (i.e., use 10.5" to put it.5" from the top). Unlike a horizontal tab, which may start a new line, a vertical tab never starts anew page; instead, it may cause overprinting. Vertical tabs are useful for positioning headings andfootnotes, and for precisely aligning text to meet some physical constraint, such as a pre-printedform or a window envelope. The first line of a paragraph with a vertical tab will be printed on thecurrent page, even if it runs into the bottom margin (but not if the paragraph also has a keepproperty which forces it off the page).Vertical tab and keep properties are not visible on the screen, but you can always use Look ? tofind out whether a paragraph has them, and what their values are.Note that both line and paragraph leading are suppressed for the first line of a page of column. Ifyou want white space in front of such a line l, you can use vertical tabs, or introduce a blank line infront of line l, and adjust the leading of l to compensate for the height of the blank line.The remaining aspects of page formatting can be controlled by an optional document profile whichyou can put at the very beginning of the document. The document profile is a sequence ofparagraphs, each of which must have the profile property. This property is set and cleared by aLook command:Look ; sets the profile propertyLook SHIFT ; clears itA document profile has the following form (this one is the profile for this part of this manual):Page Numbers: Yes X: 527 Y: .5" First Page: 40 Not-on-first-pagePrivate Data Stamp: No X: 3.5" Y: .6"Columns: 1 Edge Margin: .6" Between Columns: .4"Margins: Top: 1.3" Bottom: 1" Binding: 5Line Numbers: No Modulus: 5 Page-relative First Line: 1Odd Heading: Not-on-first-pageBRAVO MANUALEven Heading:Section 3: FormattingAny of the lines may be omitted, and in general any of the fields on a line may be omitted. Fieldson a line are separated by one or more spaces. Distances, shown in inches in the example, may begiven in points or centimeters, as described in section 3.2. X coordinates are from the left edge ofthe paper, Y coordinates from the bottom; negative coordinates are measured from the right edgeor top of an 8.5" x 11" page. Bravo's measurements on the page are exact to less than .01". Actual printers,however, can make errors in positioning the text on the page of as much as .25" in any direction. These errors do notaffect the relative positions of characters (e.g., the length of a line cannot be affected) but they can cause the text to shiftaround on the page as a whole.We now proceed to explain the various options.$ fptpXtF%p _X ]N \ V Z^ YB W}7# TQV RpPcPPcPoPcPs#isp N$? M#8sp$ K Z JW HP G9+ EA D' @3- ?TA <(a :%sp9 9 spsp 5Jsp 4m N 2'sp1 1c p./Q.y/Q*./Q..`/Qt2>.y/Qp -?Ko*XIo(*o' 4o%/o#<o"z# tptopp "q pL :!@ O 0 S t> Jb  utH%  p. =Z Section 3: Formatting50PAGE NUMBERSThe coordinates of the page number are the coordinates of the upper right corner of the number.You can add Roman to the line if you want Roman numerals for your page numbers, andUppercase if you want the Roman numerals in upper case. If Not-on-first-page is present, the pagenumber is not printed on the first page of the document. If First Page is not specified, it isassumed to be 1, and Not-on-first-page is also assumed for both page numbers and heading; i.e.,there will be no page number or heading on page 1 in the default case.Each page number's looks are copied from the first character of the heading printed on the same page, if there is one,or from the first character of the document otherwise.The coordinates of the private data stamp are for its upper right corner. Do not use a private data stamp withoutproper authorization. You will need to supply a password on each hardcopy to get the private data stamp applied; seeyour laboratory manager to learn the password if you have a legitimate need.MARGINSThe top margin specifies the amount of white space at the top of the page. The bottom marginspecifies the minimum amount of white space at the bottom of the page; a line will start a newpage if any part of it intrudes into the bottom margin. Exception: if a paragraph has a vertical tab,its first line will be printed without regard to the bottom margin, and it may be positioned withoutany regard to the top margin.If Binding appears, it is assumed that the pages are eventually to be printed on both sides of thepaper, with odd-numbered pages on the right side of the resulting double spreads. Page numbersof even pages will be reflected left-to-right; in the example, even page numbers will have theirupper left corner at X: .5" Y: .5". The binding distance is the amount of extra margin to besupplied on the inner side of the page, which abuts the binding. This amount is added to all the Xcoordinates on odd pages and subtracted from all the X coordinates on even pages. For example, ifyou want 98 pt (1.36") outside margins and 72 pt (1") inside margins, use a left margin (Look Left)of 85 pt (the default), and a right margin (Look Right) of 612 (8.5")85=527 (also the default) tocenter the text on the page. Then use a Binding of 7285=13. In general, the rule is:Let d = (desired outside margin + desired inside margin)/2Look LeftdLook Right612 (8.5")  dBinding:desired inside margin  d.This rule will lead to a negative binding if the inside margin is less than the outside margin; that isperfectly all right.MULTIPLE-COLUMN PRINTINGThe columns line is relevant only for multiple-column pages. It says that the hardcopy should havethe specified number of columns, with the nominal edge margin (at both edges) specified (.6" in theexample), and the amount of space between columns specified (.4" in the example). If the numberof columns in the example is changed to 2, the nominal horizontal layout of an odd page will be:.6" edge margin; 3.45" text, column 1; .4" between columns; 3.45" text, column 2; .6" edge marginfor a total of 8.5". The text is centered on the page; if a Binding is specified, the text will bedisplaced in opposite directions on odd and even pages, just as for single-column text. The widthof the text in the columns (3.45 in this example) is determined by subtracting all the other spacefrom the 8.5" page width. If there are nc columns, the column width iscol width = (8.5"  2*(edge margin)  (nc1)*(between cols))/nc$fpqX p _tpt [pP ZeL X;' W[C UL TQF QHte P 6 M&W Kb JL G:pt Dp,1 B<" A$B ?Q = :?# 9I%: 7.2 6?sp9 4I 35P 1K 0+R .>,sp5+ bs)p b s(p bsp % Y $n ntpt BpM =& 8U  S~tFe JpO W @(: (sp 'sps b>ZZBRAVO MANUAL51The text width and position specified above is only nominal: the actual width and position isdetermined by the specified left and right margins in the following way. The first column is printedexactly as its left and right margins specify. The second column is moved right by (col width +between cols) from what its left margin specifies (i.e., that amount is added to all its X coordinates).This means, for example, that you can get a double-column page with some text at the top whichruns all the way across by setting the right margin of the full-width text appropriately, and using avertical tab to position the first paragraph of the second column below the full-width text. Theappearance of the resulting page will beFull-width text ...................................first-col text second-col textNote that to do this you must manually find the end of the first column (easily done using the pageboundary command), and put a suitable vertical tab property on the first paragraph of the secondcolumn.A consequence of this laissez-faire approach to column formatting is that you must supply theproper left and right margins yourself. To keep the text within the nominal boundaries definedabove, the left margin should be greater than or equal to the edge margin specified in the documentprofile, and the right margin should be less than or equal to the edge margin plus the columnwidth.The edge margin specified in the example, which would be much too small for single-column pages,is good for double-column. It is also desirable to reduce the top and bottom margins when you areprinting double-column, e.g., to .8" and .4" respectively.When you are printing more than one column, a Lc in the document starts a new column ratherthan a new page. To start a new page, use two consecutive Lc characters.LINE NUMBERSIf there is a line which saysLine Numbers: Yes Modulus: n Page-relative First Line: fevery nth line will be numbered, slightly to the left of the standard left margin. Thus, if n is 5, thenumbers will be 5, 10, 15 .... If Page-relative appears, numbering starts over on each page;otherwise it continues throughout the document. If First Line appears, the first line is numbered f,and numbering continues from there; otherwise the first line is numbered 1.HEADINGSIf a Heading line appears, it must be followed by a paragraph, also with the profile property, whichis used as the heading on each page. This paragraph should have a vertical tab which positions itcorrectly (for example, 10.5" for the heading on this page) and appropriate margins, centering orwhatever to produce the desired effects. It may have more than one line. It is also possible to haveseparate Odd Heading and Even Heading paragraphs. If Not-on-first-page is present, the headingwill not be printed on the first page.$ fptpXtF%p _M ]I \ X Z [ YX W}:+ U/2 Ts(RX3xP' MjK KY J` G4#: ED D*I BR A  =X $ :: 7-8Kt7psp 5<6t5p 1tpt .pp,sps *psp1%sp )] 'bsp &K "t p"B cI !@ YI S O&  >Q! Section 4: Other features524. Other thingsIn this section you can learn about a wide variety of other useful things Bravo can do. They aredescribed more-or-less in order of cost-effectiveness: the earlier ones will probably give you morepayoff per unit of effort to learn them.4.1 Some useful features This section describes a number of features which are easy to learn and helpful to use. As always,it is a good idea to try them out as you read about them.You can select entire lines of the document by moving the cursor into the line bar, which is to theleft of the text area and to the right of the scroll bar. You can tell that you are in the line barbecause the cursor will appear as a right-pointing arrow when it is in the line bar. To select theentire line pointed to by the cursor, use the RED mouse button. To extend the selection, use theBLUE button. Both of these work very much like selecting a character and extending. The YELLOWbutton selects a paragraph; you can read about paragraphs in section 3.2.To put the current selection at the top of the screen, say Normalize.To insert the current date and time in front of the current selection, say Time. Notice that it leavesjust the time selected, so if you follow it immediately with a Delete, you will be left with just thedate. To replace some text with the current date, select it and say Delete Time Delete; be sure youunderstand why this works.You can search the document for the next occurrence of some text with the Jump command. Afteryou say Jump, you have to specify the text you want to search for, and you do this exactly the wayyou make an insertion: by typing it in (ending with ESC), by making a copy selection, or by typingESC to default to the same text which was used for the last Jump (not the last insertion or deletion).Notice that if you type in text, it appears between the right-most set of curly brackets in the systemwindow; this is called the search key buffer, and it normally contains the last text you searched for.However, the contents of this buffer are destroyed by the Look ? command and some of the Calculator commands.The search starts with the second line displayed in the window. If it succeeds, it brings the firstoccurrence of the text to the top of the window; if it fails, a note in the system window informsyou. Jump does not affect the current selection. The search ignores the looks of the characters.You can substitute one text for another using the Substitute command. It will ask you (in the topwindow) for the information it needs. In looking for substitutions it will examine only the text inthe current selection, so if you want to substitute throughout the document, do an Everything first;this will make the entire document the current selection. For reasons you don't want to knowabout, it is not a good idea to do a Substitute in which the old text contains a CR.Most Bravo commands can be repeated by simply typing ESC in command mode. When you dothis, Bravo uses the current selection, not the one which the previous command used. For example,you can append a carriage return after each of several words by selecting the first one andAppending after it, and then selecting successive words and simply typing ESC. Or, you can searchthrough the document looking for occurrences of a word by Jumping to it once and then just typingESC.The Undo command will undo the action of most Bravo commands which change the document,provided you haven't moved the selection. You can only Undo the most recent command; it willstill work if you have scrolled, however.#fpqX p ^r [pX ZU X( Ss PpW O9 K5sp JdT HU GZtp0 EtpVt DPpsp/ A$;5o@"A$ =s p9 == YBRAVO MANUAL53The ( command will put parentheses around the current selection. You can put other kinds ofbrackets around the current selection with the commands [, {, <, ' and ".The ) command expands the current selection as little as possible to make it balanced with respectto parentheses. This is useful primarily while editing algebraic expressions or programs. Forexample, if the current selection is the underlined character inXn+1 = ((aXn) mod (m+1) + c) mod mthen one application of the ) command will extend the selection thus:Xn+1 = ((aXn) mod (m+1) + c) mod mand another application will do this:Xn+1 = ((aXn) mod (m+1) + c) mod mAgain, the ], }, and > commands do similar things.4.2 WindowsSo far you have worked with a single document in a single window. Bravo will let you work onseveral documents at the same time, each in its own window. This is convenient if you want tocompare two documents, or copy something from one into another, say from an address list into aletter. You can also have several subwindows looking into the same document, which is nice whenyou want to copy something from one part of the document to another, or to check something onanother page without losing your place.At the top of each window, separating it from the one above, is a heavy black bar. Inside this baris the name of the file for the document in the window; this name is set by Get and used by Put.It can be edited like any other text. Subwindows, created only by the split operation describedbelow, are separated by horizontal black lines. All the subwindows of a window are looking at thesame document, although usually at different parts. If part of the document happens to bedisplayed in several subwindows, any changes to it will appear in all of them, and so will theselection underline or the insertion caret. Two different windows, on the other hand, are alwayslooking at different documents, and no change to one window can affect the other. You can copytext freely from one document to another with a copy selection.Some commands, like Jump, Everything, Get, Put and Hardcopy, work on the current window,which is the window containing the current selection.There are two commands for windows, one for creating and re-arranging windows, and the other fordestroying them. Each has three options, selected by the three mouse buttons.To create a new window, type Window, move the cursor so that it marks the point where you wantthe new window boundary to be, and hold down BLUE. The new window will appear. As long asyou keep BLUE down, you can move the cursor around and the top boundary of the new windowwill follow it. When you let go of the button, the boundary will freeze. Try it. The new windowwill be empty, but you can insert or Get into it.To split a window and create a new subwindow, type Window, put the cursor where you want thesplit, and hold down YELLOW. The new boundary will appear, and it will follow the cursor untilyou release YELLOW. It is important to understand that after a split you have the same document ineach subwindow. Scroll one of the subwindows so that some of the same text appears in bothsubwindows, and select some of the common text. Notice that the selection appears in bothsubwindows. If you make changes to the document, you will see them in both subwindows. This isvery different from creating a new window and Getting the same file into it; that is equivalent totaking another copy out of a file cabinet.$ fptpXtF%p _ ^y_W ]81]:c]3i]:]5q]:]7y]:X]<]:] Ze ZyZeU XM W[@UITtUIpTtUIpT)UI S[SyS[(QIPtQIpPtQIpP+QI O[%MILtMIp@LMILMIt}L MIp K[ TKcK[KK[HKK[ Fs C\pN AF @RS >` =H;" ;' 8 V 7/1 5&: 4F 2; 0// /yJ -4+ ,o? )C*sp '5 $#= # N sp`' \&tp* tpE RS 1 sp+,J`  tp>  tp,sp S Z @ Q * >\S Section 4: Other features54To move a window or subwindow boundary, type Window, put the cursor over the boundary youwant to move, and hold down RED. The boundary will follow the cursor until you let go of RED.You can get rid of a window or subwindow by typing Kill, putting the cursor in the doomedwindow, and holding down RED or BLUE for about a second. RED will give the space of thewindow to the window above; BLUE will give it to the window below. Kill YELLOW will clear thewindow; it is equivalent to Everything Delete (except that you can't Undo it).If you attempt to Kill the only window showing a document that you have changed and haven't filed with Put, Bravowill pause with the message "Type CR to confirm". If you really want to lose the changes you have made to thedocument, type CR; otherwise, type DEL and then file the document using Put.In summary:WindowKillREDmove boundarygive space to window aboveYELLOWsplit; new subwindowclearBLUEnew windowgive space to window belowYou can remove the system window from view by striking the unmarked key to the right ofRETURN. This provides more space on the screen and in Alto memory for your document, and alsomakes subsequent commands execute slightly faster. You can restore the system window by strikingthe same key again. The system window is restored automatically when you make an error, and atcertain other times when Bravo wants you to see what is in the window.4.3 If Bravo breaksWhen Bravo breaks or crashes, what usually happens is that Swat gets called; the manifestation is acouple of seconds of whirring from the disk, followed by a mostly blank display on the screen, withthe words Swat version xx at the top. If this happens, look at the bottom of the screen, wherethere will be a more or less intelligible message. In some cases this message may describe acondition you can do something about, e.g., that your disk is full. Or it may inform you of a parityerror; if this happens repeatedly, you should file an Alto trouble report to get your Alto repaired(see section 5.1 of the Alto Non-programmer's Guide). A third possibility is some fairlymeaningless message describing an internal Bravo malfunction. In any case, after looking at themessage you should type Kc (if that doesn't work, boot the Alto). Then, if you want to recoveryour work, you can proceed as described below.Bravo makes a record of everything you do during a session; the record is called the transcript. It isuseful for three reasons:If Bravo crashes because it has a bug, the transcript can be used to report the problem to thepeople responsible for fixing bugs.If Bravo crashes because of a hardware failure of your Alto, a power failure, you accidentallypushing the boot button, or whatever, you can recover your work by replaying the transcript.In this case, the last few characters you typed may be lost.If you make a mistake, like deleting half of the document you have been editing for severalhours, you can replay the transcript up to the error and then save the document.#fpqX p _sp&,5^`_' ]tp,tp Ze (0Z Ze% Xtptptp W[tp$9QW W[tp  UN Rta Qb PSM MKp Ko`K1Ko KHtp 1Gtp1Etp 1 Bds p7 @tpS ?ZX =_ BravoBugCRwill start replaying your transcript. As the replay proceeds, Bravo will report each command, just asit does when you type a command in the usual way. When it is finished, Bravo will say Ready, andyou can go on editing. It is a good idea to save your work with a Put and start Bravo again.Warning: you can only do a replay if you haven't started Bravo up again. Once you restart Bravonormally, your chance to replay is lost.To report a bug in Bravo and then do a replay, type>BravoBug/RCRThis will deliver to the Bravo maintainers copies of all the files involved in the bug, including thetranscript, and then start Bravo to do the replay.You can control the replay, step by step, as described in this paragraph. To stop a replay which isgoing on, type a space. As soon as the command currently being replayed is finished, Bravo willstop and tell you the number of the next command. At this point you can typeQuick to make typed-in text go in all at once during the replay, rather than one character ata time. This is faster, but you don't get to see what is going on. Quick is the normal mode.Slow to make typed-in text go in one character at a time.space to replay one more command. Note: only commands which change the text orwindows are recorded in the transcript, not scrolling operations.Proceed to continue replaying at full speed. You can stop the replay again at any point bytyping a space.Break before command n to make the next Proceed stop before command n (of course, itwill still stop right away if you type a space). This is useful if you know that the first 50commands are good, but want to proceed more cautiously after that. Note that after a Bravocrash, the Swat display usually tells you the number of the command during which the crashoccurred.Terminate CR to terminate the replay. After terminating, you can proceed to give ordinaryBravo commands. Don't do this unless you are sure that you want to stop replaying, sincethere is then no way to resume it.You should try replaying a Bravo session and using these commands, so that you feel comfortablewith them. You will then feel much more in control when you have a problem with Bravo or yourAlto, or make a serious blunder while editing.4.4 ArithmeticBravo incorporates a simple calculator, modeled after the Hewlett-Packard 35. The calculator has astack with room for four numbers; while you are using it the top of the stack is displayed in thesearch key buffer, in the lower right corner of the system window.To enter a number in your document onto the stack, select it and type \ (enter). To add a numberin your document to the top of the stack, select it and type + (or =, which is the lower-casecharacter on the same key). Similarly, you can subtract with , multiply with * (or _), and dividewith /. The % command is just like *, except that it divides the result by 100. After any of theseoperations, the top of stack is the current buffer, which means that you can insert its contents in adocument by defaulting the text of the insertion with ESC.$ fptpXtF%p _B]\]i\]t ZpI Ym,5 WF Tsp)0 S7( P sp*MMM !MMt Kp*; Jb2 G6J EP D,sp1 A}A P @OW ==8 ;H.;- :A 7k7D 6= 33sp.sp 2`A 0B /VT - +"+yf+"+ytp4 )G (o" %CS #J "9. fs :pH spU 0B +6> =1(`6r(` '0P`;<> u uu: I k6tp F $=[ Section 4: Other features56If you want to type in a number instead of selecting it, just type the number, and end it with one ofthe calculator commands. The number will appear in the middle buffer while it is being typed.You can operate on the top two stack elements, rather than on the current selection and the stack,by prefixing the operation with the Calculator command. Thus, to compute (a + b) * (c + d), youselect a\ (enter)Stack: a---select b+Stack: a+b---select c\Stack: ca+b--select d+Stack: c+da+b--C *Stack: (a+b)*(c+d)---This also works for enter: Calculator \ duplicates the top of the stack; if the stack was a b c d, itbecomes a a b c.There are a few more calculator commands which are occasionally useful:~ exchanges the top two elements of the stack: a b c d becomes b a c d.^ rotates the stack, bringing the second element to the top and the top to the bottom: a b c dbecomes b c d a. Four repetitions of ^ leave the stack where it was.Calculator n sets the number of digits after the decimal point to n. It is initialized to 2. Allcalculator arithmetic is rounded.Calculator Fixed sets the display to fixed point (the normal mode).Calculator Scientific sets the display to scientific notation.Calculator Engineering sets the display to engineering notation.Calculator Radix n sets the radix. n can be a digit, or Binary, Octal, Decimal orHexadecimal.4.5 Other useful featuresBUFFERSThe system window contains three pieces of text enclosed in curly brackets. These are calledbuffers, and they are used for a variety of purposes, some of which you have already encountered.The three buffers are numbered, as follows:1 {last deletion}2 {last insertion}3 {search key}One of the buffers is always marked with a "*"; that one is the current buffer, and its contents areusually what is inserted when you default a text insertion by simply typing ESC.Commands which insert into buffers, like Jump and Substitute, default to the old contents of thebuffer being loaded. Get and Put default to the file name already in the window.The text in the buffers is always in visible mode, i.e., with spaces, TABs and CRs shown explicitly.Furthermore, TABs and CRs don't have their usual effect of leaving white space, because there is noroom in the system window for these effects. Finally, if there is too much text to fit in the spaceallowed for the buffer on the screen, the middle of the text is replaced by an ellipsis (...).You can force buffer n to be the current buffer with the command Buffer n ESC. You can set thecontents of buffer n with the command Buffer n followed by typing or a copy selection.#fpqX p _*; ]W ZeW X$"XX&spspspsp[VsZVwVp%Ztu0t5:[UIpsZT`UIp%Ztutu0t5:[SpsZSmSp%Ztu0utu5t:[R?psZQ`R?p%Ztutu0utu5t:[PcPpPcP%Ztutututut05: MpfM7M $M7M( sp L sp HGF/spspE;sC|psp6A7A A7Asp, sp@ !=> =>7;<- ;<-29:? 9:?478Q 78Q78Qspsp678Q;78Q@u78Q6u6 1s -pt *p= )H(9 '+%H$6 #6/sp !Ltp -3 Q 8 tptp O tptp0 G EH  sp+6spW:BRAVO MANUAL57PARTIAL SUBSTITUTIONIf you want to substitute "that" for "this" you can use the Substitute command described in section4.5. If you want to change some of the occurrences of "this" to "that", however, it is useful toknow about the Find and Yes commands.Find is exactly like Jump, except thatthe search starts from the end of the current selection, not from the top of the display;the occurrence of the key which is found becomes the current selection (Jump leaves theselection unchanged).Yes is equivalent to Replace ESC Find ESC. So, to change some "this"es to "that"s, proceed asfollows:select something before the first place you want to start looking;Find this ESC;ESC to repeat the Find until you get the one you want to change;Replace that ESC;Find ESC;Now at each point type ESC (i.e., repeat the Find) to make no change and go on to the next"this", or Yes to make the same change you made last time and then go on.CONTROL AND SPECIAL CHARACTERSBravo normally displays a control character as the corresponding lower-case letter (or whatever) withan overbar. If you turn on Look graphic it will try to display the control character from the font (ifthere is something in the font for it; otherwise it will display a black rectangle). This is a characterLook, just like Look Visible.You can't type a control character in directly, but you can type the corresponding regular character,followed by a Sc, which converts the preceding regular character into a control character.Certain font families (notably TimesRoman and Helvetica) contain extra characters, such as accents,ligatures, and several sizes of dashes and spaces, which are useful in creating very high-qualitydocuments. These may be entered as control characters in graphic mode (use Look graphic). Thecorrespondence between control characters and their printed representations is as follows.Accents. Each of these has a width of zero so should be typed in immediately before thecharacter above which it is to appear.d scexample:oe sco k sc op scoLigatures:f screplaces:f fq scf f ir scf f lt scf iu scf l$ fptpXtF%p _tpt [pX Zesp( X% U]U% S8! Q< PS LM'LM'AL"M'tp LM'#L"M'tp5 K IB GoGGoGGoGt E"Ep= CChCGCC"Ctp AAA"Atp @?"@tp@ > >2>= :t ptpt 7]pe 555855E 4S"G 2 /32 -sp.dt-pI *-6 )& S 'K;*'J'>'J' &Z "spFsp !k&Xt'p0Ht0Hp} t0}p?t0p s .pt'.p0ct0cp%t0pZt0p  t0 p6 =[O Section 4: Other features58Quotation marks:g scopen single quote''close single quote (standard apostrophe)Note that you can make open and close double quotes'' by using pairs of thecorresponding single quotes'.Spaces and dashes:| |space barletter space; here are 10 of them: | |||y scfigure space: ||||o scem space: ||--hyphen: ----------v scen dash: x scminus sign: s scem dash: Miscellaneous:b scc sch scAt the time this manual was prepared, the special characters had not yet been incorporated into the *.al display fonts.Until this has been done, these characters will all appear as black rectangles on the screen. To find out which controlcharacter one of these black rectangles corresponds to, turn off its graphic look.4.6 The user profile and fontsThe file User.cm is your user profile, which contains information for various systems about how youwant them to be set up for your use. The information for each system starts with the name of thesystem in brackets, e.g. [BRAVO]. Then follow a series of lines of the formlabel: informationBravo currently accepts three kinds of information in the user profile: initial and quit macros,described in the next section, and font definitions and default parameter settings, which arediscussed here. Look at your User.cm file now, to see how this works.Each line of font definition tellsthe number of the font (0 to 9)the name and size (in points) of the hardcopy fontthe name and size of one or two screen fonts which can be used to represent that hardcopyfont on the screen. Bravo will use the first one normally but the second one (if present) inhardcopy mode.For example, the lineFONT:0 TIMESROMAN 10 TIMESROMAN 12 TIMESROMAN 10says that font 0 is to print as 10 pt Times Roman when you generate hardcopy.The rest of the line says that font 0 can be represented on the screen by the screen fonts stored onfiles TimesRoman12.al and TimesRoman10.al, which must be present on your disk. Bravo will usethe 12 pt version in normal display mode and the 10 pt version in hardcopy mode. The extension"al" is used for screen fonts. There are no files for the bold or italic versions of screen fonts,#fpqX p_s*\p:X]Kt):\p*Z:):(*Xx.*VSs*QopX:):0*O:P1t):Op*M:Nft):Mp*K:):*J :Jt):J p*HU:Ht):HUp*F:Gt):FpC^s *Ap:At*?;p:?t*=pp:=t :gw 9*] 7R 3>s 0ps p( .R -tp-* (Gsp '_S %F "" spspsp!>_V tpt pt pt p M ^T U T_ ): >]JBRAVO MANUAL59because Bravo can construct them from the regular version.In addition to all the *.al files, you must also have a file called Fonts.widths, which containsinformation about the widths of all the characters in the hardcopy fonts.Warning: A Bravo document file does not contain the association between the font numbers and names used to createthat document. If you modify the font definitions in your user profile, you may encounter problems when you attemptto share Bravo documents with other people.The user profile also contains settings fordefault left and right margins;tab interval;Look nested parameters;default line leading (used by Look X) and paragraph leading (used by Look Open, Look Qand the default for Look Y);standard offsets (used by Look ^, Look _, and the default for Look Up and Look Down).You can change all these settings by editing User.cm in a way which should be obvious; after doingthis, be sure to initialize Bravo. Except for the default margins, all these settings affect only theprocess of editing the document, and not the document itself. In other words, once a Look nested,superscript or whatever has been done, the margins, offset, etc., have been set in the document andcannot be affected by subsequent changes in the user profile.There is also a [HARDCOPY] section in the user profile that is used both by Bravo and by othersubsystems that generate hardcopy. This contains entries forpreferred printing format (Press is the only reasonable choice at present);name of your Press printer;the name to be inserted in the "Printed by" field on the break page of the printout (anoccurrence of "$" is replaced by the name by which you are known to the Alto Executive).4.7 Startup and Quit macrosThis section is only for programmers, and is not recommended even for them.You can put into your user profile sequences of Bravo commands, called macros, to be executedautomatically when you start up or quit from Bravo. Each macro is named by a letter. Startupmacro x will be executed if you start Bravo with>Bravo/x . . . CRQuit macro x will be executed if you type an "x" instead of CR after typing Quit.You can see the format of a macro definition by looking at your user profile. The commandsequences are just like those which Bravo writes into the transcript (the file Bravo.ts), and can beconstructed by actually executing the desired sequence of commands, and then copying Bravo.ts toanother file and copying the sequence out of that file. There are two exceptions:* in place of a selection (which looks like {6,2,123,648}) means the current selection;@n in place of typed-in text (which looks like 'text{) means the nth parameter. For startupmacros the parameters are strings on the command line separated by blanks; the first oneafter Bravo/x is numbered 1. For quit macros, parameters 1, 2 and 3 are the three buffers, 4is the file name for the first window, 5 the file name for the second window, etc.$ fptpXtF%p _: [Q ZeI W\utj VH, T+ Qp+ O M L J"9 H F7 DWb B.8 AMB ? U >C= ;tp2 :f= 8xK 6 4F 3G .Ds +K 'p/. &g'7 $sp)"C"y"#"y"t p sp0tp N  I  R R  J S#spsp 5# I&7 &, }=X- Section 4: Other features604.8 Press and Diablo hardcopyTo make a Press file on your disk instead of sending your hardcopy directly to a printer, use theFile option of the Hardcopy command. It will ask you for the name of the file; the recommendedname is the name of your document, with the extension replaced by "Press". Once you have madethis file, you may print it using the EmPress subsystem, store it on a file server to make it availableto other people (see sections 6 and 7.4 of the Alto Non-programmer's Guide), or give it to PressEditto combine it with other files into a large document (see section 7.6 of the Guide). Warning: thePress file is typically 50% larger than the document file; be sure you have enough room on yourdisk.To send hardcopy to some printer other than your regular one (specified in User.cm), use theHardcopy option@ name ESCwhere name identifies the printer you wish to use.For both Press and Diablo printing, you can start printing at a specified page number with theHardcopy optionStart at page nThis is mainly useful for Diablo printing. There will usually be a substantial delay while Bravofigures out where page n starts.To print on the Diablo printer, you can use the Diablo option to the Hardcopy command. Beforedoing this, be sure a printer is plugged into your Alto; when you plug or unplug it, turn the Altopower off first. This option has an array of sub-options, which you can invoke when it pausesbefore printing each page. At the pause, the system window says "Ready to print page n", and thebeginning of the text for page n is displayed in the document window (if there is room in Bravo'smemory). You can then say:Repeat last page to prepare to reprint the previous page, instead of the page which was goingto be printed next.Continuous print, to suppress the pause after each page; this is useful if you have continuousforms in your printer. You can still stop the printing by typing space during printing, asdescribed below.space to start printing the page which Bravo says it is ready to print.During printing, you can abort printing of the current page at any time by typing a space. You canthen use the options just described to restart the current page (with space) or reprint the previouspage (with Repeat). If you want to start at another page, use DEL to leave the Hardcopy command,give another Hardcopy command, and use the Start at page n option.There is a command Look Magnify Diablo that displays the document as closely as possible to theway it will appear when printed on the Diablo printer. Look Hardcopy terminates this mode.#fpqX p _s [pN ZZe$: X+3 W[>) U*: TQH sp R+4 QG N&6 LJ-`JspDJ-"Jt Hrpsp( EF1- CAXA s ?pa >sp :*::- 9gUs 7pM 6]Bsp 4spA 3S00R /v,-&7+ N*'e.'B $*9 # K !+tp 9sp ~~U#6~ P P ,  =MTopen - add 12 pts space before paragraphnested (indent)justifiedcenteredgraphicvisibleitalicboldTimes Roman 8Diablo output, with sub-options:>>>Calculator, with options:new pageKeep on current page; default 0; 11" forcesLookSpace will stop the replay and show you the number of the next command. You can then type:Z - vertical tab; default noneP - left margin of other linesF - left margin of first lineScientificFixed0-9 to set digits after decimal ptoperator to operate on x and y~ exchanges x and yYou can also type a number, followed by an operator. The stack is just like the one in a Hewlett-Packard calculator.Operators are += - *_ % / \(enter). An operator as a command combines the selection with the top of stack.Terminate CR to stop replayingBreak n to stop before command nProceed to continue replay full speedSpace to replay one more commandQuick to speed it upSlow to slow down typeinARITHMETICREPLAYSEARCHESWINDOWSPAGEAlso note Look Keep and Look Z (vertical tab)Use two ctrl-Ls for page break with multiple colsctrl-L causes page (or col) break after current lined is a distance: use - to measure from top or rightHeading or Odd/Even Heading: Not-on-first-page followed by a heading paragraph, also with profile propertyLine Numbers: Yes/No Modulus:n Page-relative First Line:nPrivate Data Stamp: Yes/No X:d Y:dColumns:n Edge Margin:d Between Columns:dMargins: Top:d Bottom:d Binding:dMostly, SHIFT means NOT. Thus, Look b turns on bold, Look B turns it off.Basic looks.What you did lastLookAs a number:As an increment to current value: + or - followed by a number as above? displays looks of selected text or paragraph in buffer 3.LookLookDefaulted to a standard value: type \.As the left edge of a character: select with REDAs a position on the screen: point with BLUEin cm - 4.5 cmin inches - 4.5 or 4.5" or 4.5 inin points (72/inch) - 123 or 123 pt.Distances (measured from left or bottom page edge):X - space between lines; default 6 ptY - space between paragraphs; default 12 ptText:Time inserts current date and time.Quit CR exits from BravoDEL cancels what you are doing.LF takes current selection as top of page, and moves selection to top of next page.) ] } > extend current selection to closest matching brackets.( [ { < ' " put indicated brackets around current selection.Everything selects whole document.ESC repeats most recent command, using current selection.Undo works on most recent command.File name goes into bar above window. ESC gets you one already there. Can edit file name like any other text.Put to write out a filectrl-Z for unformatted textGet to read in a fileLOOKSANEOUSMISCELL-FILINGTEXTCHANGING>Bravobug will start a replay.>Bravobug/R will report a bug to the Bravo maintainers first, then replay.to split (make new subwindow)BLUEBLUEWhat you can do nextText areaLine barScroll barREDYELLOWto erase contents, leave the windowto move boundaryto make new windowto merge with window aboveto merge with window belowstarts search at second line, doesn't move selectionstarts search after current selection, moves selection to the string foundREDYELLOWYELLOWREDStandard FontsBLUEThere are samples0-9 fontCLR to reset; document profileLook has more cases, which take a distance as parameter. These cannot be used during type-in.Paragraphs:Text: Up raises text; default 4 pts.Down lowers text; default 4 pts.Paragraphs:Left margin; default 85 ptLookHardcopy clears it.LookMagnifyDiabloBackspace character with BS or ctrl-ABackspace word with ctrl-WSeparate paragraphs with ctrl-CRDuring type in:Delete selection1{delete} 2{insert} 3{search key}file nameSCROLLBARSYSTEMWINDOWDOCUMENTWINDOWLINEBARTEXTAREAScroll upThumbScroll downSelect lineSelect characterSelect wordExtendExtendSelect paragraphWHAT MOUSE BUTTONS DOCOMMANDSThe following can be in the document profile; it must be the first paragraph, and have the profile property (Look;):in blank widths - type that many blanksPage Numbers: Yes/No X:d Y:d First Page:n Roman Uppercase Not-on-first-pageRight margin: default 527 ptTHE SCREENTHE MOUSEHardcopy to print. Options:CR to do itSpace to start or abortContinuous printingReprint last pageWindowKillAlso:0123456789Times Roman 10Math 10Hippo 10Times Roman 12Helvetica 10Helvetica 8Gacha 10Helvetica 18in the manualDuring type-in, use ctrl-b for bold, etc. In command mode, give the Look command, then the letter alone (no ESC).Yes is equivalent to Replace ESC Find ESC; use Yes when you want to confirm substitutions.Normalize moves current selection to top of window.TAB = d sets even tab stops, default 36 pt_/^ sub/superscriptThe CLR key is the blank key to the right of BS on Alto-Ior the key labelled BW on Alto-II.The blank key to the right of RETURN removes or restoresthe system window.^ rotates the stackq - add 6 ptsEngineeringRadix n to set the radix (n = H for hex)iInserttextbefore selectionAppendtextReplace selection bytextEnter ctrl-charascharctrl-StextLogo 24Sameselectionsets all text looks of current selection to be the same as those ofselectionAllselectionsets all paragraph looks of current selection to be the same as those ofselectionJumptextFindtextSubstitutetexttext- works on current selection. Usually you want to do Everything first.Buffer 123textWindow Edgedistancesets the left edge of the window at the specified point on the page; default is 85 pt.after selectionforTAB n d sets tab stop n (n=1-9, a-e); default not setsets buffer and makes it current.ESC instead oftextjust makes it current.(Sets cursor to )matches Diablo hardcopy@ printer-name(These make a newparagraph if a paragraphis selected.)FORMATTINGBrsum.sil 5-Nov-79BRAVO VERSION 7.4 SUMMARY- underline (highlight if color)hardcopy makes screen match hard-copy., nnames a tab (n= 1-9, a-e).csets color (c= Black, Cyan, Green, Magenta, Red, Violet, Yellow)Black (ignore color)Filename.press (no printing)CopiesnStart on pagenmay be typed or selected. ESC gets the current buffer. BuffernESC makes bufferncurrent.s[f([fx![f5t:4(.95;P .;P79:4;P4 5J .|X!.Z.]GVC$!VtN7,P5-l+ % [5.5254-2 -N52"5NN ku k9Vf$55 %  PN$ yN$N$!zN$GN$>N$ M_C$xp U Gd`$GeC$GVf$0WZs$0Wc s$5t-515453kl=%+$=J = cQ "O/ *Fr#l; #l $'O&)1(l-,-!/$ 03350%5/+ ;P5D4#5EP5Fm ?S @> A< D4" EP9 Fm" Ho I J KPM_K$xp:Bf9DJOQf t  J5@dnW$ #W$ DXc 9c0c c 9$s[f$sa$[f$s[f$[f$!3[f$a$[f$![f$#l[f$!a$![f$a`9$ :^$"s[ $(a(_':W#3:W3:W4J35536(\_G(97 .7 6P^(;P 53534 -53 553!"O$"O-"O0W"O4;"O5S4%5R5P -S4 S4b5!a _^]\[ZnXWVVcVb5V\VZn9Vf$ U_U^U]U\UZnUYQUX5rVf$ \Zna$0WZ$y0a 0^Q0[ 9a DXaDX^Q DX[9[9^QMZ$yP5peTN$"sUJ t tW_9$+'R51da Ga Ga< G` G`GPpe Ve tK5K DXJDXIDXH 3-3 N534210/.-l,P+35310/. -l +,P+3 ' uOAtO uN4t2r%u% t%C3u% rt$u$ t$H4u$ tu tu tk 9ukktkG5C ;tuCPN$ t VutWPrk5+35>;C!7A=uA?tA9]5P@N$7"O'sI:R:P:O xp Etthpht;P r"O&2u2t2 u2t2 1u1t1 u1t131sI'sJ)uJ,stJ'sK*uK,stK 3uK tN4?)uN4*tN43uN44;tN4j@Nh TIMESROMAN HELVETICA TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMANMATH  HELVETICA  HELVETICA HELVETICA GATES MATH  TIMESROMAN z   z& a0 V: gD MU ^ g Gp z ' a _ o  ~  D 8"i^: #: B":PP*J"PP*J":PPB"*iA":B: ;Z: ;Z"9X*J"9R"i]L"=#B " 9B: ;Z: #: B:Z"PP*J:Z":PB"*:C:Z:Z" **J"9kB"B":J: ;Z":j/ Kbravomanual.press Swinehart14-Dec-79 11:44:36 PST