From: Tom London Date: Thu, 25 Jan 1979 12:39:46 +0000 (-0500) Subject: Bell 32V development X-Git-Tag: Bell-32V~262 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/266cbc2bf520b632ea3389f006e999ce02c09a41 Bell 32V development Work on file usr/lib/learn/editor/L72.2a Work on file usr/lib/learn/editor/L72.1a Work on file usr/lib/learn/editor/L71.1a Work on file usr/lib/learn/editor/L73.1a Work on file usr/lib/learn/editor/L72.2b Work on file usr/lib/learn/editor/L74.1a Work on file usr/lib/learn/editor/L8.1a Work on file usr/lib/learn/editor/L72.2d Work on file usr/lib/learn/editor/L72.2c Work on file usr/lib/learn/editor/L9.2a Work on file usr/lib/learn/editor/L8.2b Work on file usr/lib/learn/editor/L8.1b Work on file usr/lib/learn/editor/L8.2a Work on file usr/lib/learn/editor/L9.2b Work on file usr/lib/learn/editor/L9.2d Work on file usr/lib/learn/editor/L8.2c Work on file usr/lib/learn/editor/L9.1a Work on file usr/lib/learn/editor/L9.3c Work on file usr/lib/learn/editor/L9.2e Work on file usr/lib/learn/morefiles/L0.1b Work on file usr/lib/learn/morefiles/L0.1d Work on file usr/lib/learn/morefiles/L0.1f Work on file usr/lib/learn/morefiles/L0.1c Work on file usr/lib/learn/morefiles/L0.1g Work on file usr/lib/learn/morefiles/L0.1a Work on file usr/lib/learn/morefiles/L0.1e Work on file usr/lib/learn/morefiles/L0 Work on file usr/lib/learn/morefiles/L1.1a Work on file usr/lib/learn/morefiles/L1.1d Work on file usr/lib/learn/morefiles/L1.1c Work on file usr/lib/learn/morefiles/L2.1c Work on file usr/lib/learn/morefiles/L2.1b Work on file usr/lib/learn/morefiles/L2.1a Work on file usr/lib/learn/morefiles/L1.1b Work on file usr/lib/learn/morefiles/L2.1f Work on file usr/lib/learn/morefiles/L3.1b Work on file usr/lib/learn/morefiles/L2.1d Work on file usr/lib/learn/morefiles/L3.1a Work on file usr/lib/learn/morefiles/L2.1e Work on file usr/lib/learn/morefiles/L3.1c Work on file usr/lib/learn/morefiles/L3.2a Work on file usr/lib/learn/morefiles/L3.1f Work on file usr/lib/learn/morefiles/L3.1d Work on file usr/lib/learn/morefiles/L3.1e Work on file usr/lib/learn/morefiles/L4.1a Work on file usr/lib/learn/morefiles/L4.1c Work on file usr/lib/learn/morefiles/L4.1b Work on file usr/lib/learn/morefiles/L4.1g Work on file usr/lib/learn/morefiles/L4.1e Work on file usr/lib/learn/morefiles/L4.2a Work on file usr/lib/learn/morefiles/L4.1f Work on file usr/lib/learn/morefiles/L4.1d Work on file usr/lib/learn/morefiles/L5.1a Work on file usr/lib/learn/morefiles/L5.1c Work on file usr/lib/learn/morefiles/L5.1d Work on file usr/lib/learn/morefiles/L6.1a Work on file usr/lib/learn/morefiles/L5.1b Work on file usr/lib/learn/morefiles/L5.1e Work on file usr/lib/learn/morefiles/L6.2e Work on file usr/lib/learn/morefiles/L6.1e Work on file usr/lib/learn/morefiles/L6.1b Work on file usr/lib/learn/morefiles/L6.1d Work on file usr/lib/learn/morefiles/L6.1c Work on file usr/lib/learn/morefiles/L7.1a Work on file usr/lib/learn/macros/L0 Work on file usr/lib/learn/macros/L10.1a Work on file usr/lib/learn/macros/L12.1a Work on file usr/lib/learn/macros/L1.1a Work on file usr/lib/learn/macros/L11.1a Work on file usr/lib/learn/macros/L13.1a Work on file usr/lib/learn/macros/L14.1a Work on file usr/lib/learn/macros/L4.1a Work on file usr/lib/learn/macros/L15.1a Work on file usr/lib/learn/macros/L3.1a Work on file usr/lib/learn/macros/L2.1a Work on file usr/lib/learn/macros/L6.1a Work on file usr/lib/learn/macros/L5.1a Work on file usr/lib/learn/macros/L7.1a Work on file usr/lib/learn/macros/L9.1a Work on file usr/lib/learn/macros/L8.1a Work on file usr/lib/learn/eqn/L1.1f Work on file usr/lib/learn/eqn/L1.1c Work on file usr/lib/learn/eqn/L1.1a Work on file usr/lib/learn/eqn/L1.1b Work on file usr/lib/learn/eqn/L0.1a Work on file usr/lib/learn/eqn/L1.1d Work on file usr/lib/learn/eqn/L10.1a Work on file usr/lib/learn/eqn/L0 Work on file usr/lib/learn/eqn/Init Work on file usr/lib/learn/eqn/L1.1e Work on file usr/lib/learn/eqn/L10.2c Work on file usr/lib/learn/eqn/L11.1a Work on file usr/lib/learn/eqn/L11.1d Work on file usr/lib/learn/eqn/L10.1c Work on file usr/lib/learn/eqn/L10.1b Work on file usr/lib/learn/eqn/L11.1b Work on file usr/lib/learn/eqn/L11.1c Co-Authored-By: John Reiser Synthesized-from: 32v --- diff --git a/usr/lib/learn/editor/L71.1a b/usr/lib/learn/editor/L71.1a new file mode 100644 index 0000000000..1f665f31a0 --- /dev/null +++ b/usr/lib/learn/editor/L71.1a @@ -0,0 +1,108 @@ +#print +After the global command has selected the lines +to which the second command is to be applied, it sets '.' (the +current line) to each of these lines in turn as it executes +the controlled command. Thus you can reference the line +before or after the selected line. For example, + g/xx/.-1s/ab/cd/ +changes 'ab' to 'cd' on the line BEFORE each line with xx. +And + g/xx/$t.+1 +inserts a copy of the last line in the file two lines +after each line with 'xx' on it. +In this directory, the file 'memo' has paragraphs indicated +by lines beginning ".PP". Add two blanks to the beginning of +the line after each ".PP", and then delete the ".PP" lines. +This should take only two commands. Rewrite the file and then +type "ready". +#create Ref +The Ascent of the Riffelberg +by Mark Twain + + I sat silent some time, then turned to Harris and said: +``My mind is made up.'' +Something in my tone struck him; and when he glanced +at my eye and read what was written there, his face paled +perceptibly. He hesitated a moment, then said: +``Speak.'' + I answered, with perfect calmness: +``I WILL ASCEND THE RIFFELBERG.'' + If I had shot my poor friend he could not have fallen from +his chair more suddenly. If I had been his father he +could not have pleaded harder to get me to give up my +purpose. But I turned a deaf ear to all he said. When he +perceived at last that nothing could alter my determination, +he ceased to urge, and for a while the deep silence was broken only +by his sobs. I sat in marble resolution, with my +eyes fixed upon vacancy, for in spirit I was already +wrestling with the perils of the mountains, and my friend sat +gazing at me in adoring admiration through his tears. At +last he threw himself upon me in a loving embrace and +exclaimed in broken tones: +``Your Harris will never desert you. We will die together!'' + I cheered the noble fellow with praises, and soon his fears +were forgotten and he was eager for the adventure. He +wanted to summon the guides at once and leave at two in +the morning, as he supposed the custom was; but I explained that nobody +was looking at that hour; and that the start in the dark +was not usually made from the village but +from the first night's resting-place on the mountainside. I +said we would leave the village at 3 or 4 p.m. on the morrow; +meantime he could notify the guides, and also let the public +know of the attempt which we proposed to make. + I went to bed, but not to sleep. No man can sleep when +he is about to undertake one of these Alpine exploits. I +tossed feverishly all night long, and was glad enough when +I heard the clock strike half past eleven and knew it was +time to get up for dinner. +#create memo +The Ascent of the Riffelberg +by Mark Twain + +.PP +I sat silent some time, then turned to Harris and said: +``My mind is made up.'' +Something in my tone struck him; and when he glanced +at my eye and read what was written there, his face paled +perceptibly. He hesitated a moment, then said: +``Speak.'' +.PP +I answered, with perfect calmness: +``I WILL ASCEND THE RIFFELBERG.'' +.PP +If I had shot my poor friend he could not have fallen from +his chair more suddenly. If I had been his father he +could not have pleaded harder to get me to give up my +purpose. But I turned a deaf ear to all he said. When he +perceived at last that nothing could alter my determination, +he ceased to urge, and for a while the deep silence was broken only +by his sobs. I sat in marble resolution, with my +eyes fixed upon vacancy, for in spirit I was already +wrestling with the perils of the mountains, and my friend sat +gazing at me in adoring admiration through his tears. At +last he threw himself upon me in a loving embrace and +exclaimed in broken tones: +``Your Harris will never desert you. We will die together!'' +.PP +I cheered the noble fellow with praises, and soon his fears +were forgotten and he was eager for the adventure. He +wanted to summon the guides at once and leave at two in +the morning, as he supposed the custom was; but I explained that nobody +was looking at that hour; and that the start in the dark +was not usually made from the village but +from the first night's resting-place on the mountainside. I +said we would leave the village at 3 or 4 p.m. on the morrow; +meantime he could notify the guides, and also let the public +know of the attempt which we proposed to make. +.PP +I went to bed, but not to sleep. No man can sleep when +he is about to undertake one of these Alpine exploits. I +tossed feverishly all night long, and was glad enough when +I heard the clock strike half past eleven and knew it was +time to get up for dinner. +#user +#cmp memo Ref +#log +#next +72.1a 10 +72.2a 5 diff --git a/usr/lib/learn/editor/L72.1a b/usr/lib/learn/editor/L72.1a new file mode 100644 index 0000000000..c1fb039216 --- /dev/null +++ b/usr/lib/learn/editor/L72.1a @@ -0,0 +1,48 @@ +#print +A command related to the global command is the 'v' command. +It also selects lines on which a second command is executed; the +difference between 'g' and 'v' is that the selected lines +for the 'v' command are all those on which the expression +is NOT found. Thus + v/abc/s/x/y/g +changes 'x' to 'y' on all lines NOT containing an 'abc'. +There is a file 'price' in this directory. Find all lines +that do NOT begin with blank and prefix three asterisks +to them. Then rewrite the file and type "ready". +#create Ref +***beef + shoulder 1.39/lb + flank 1.59/lb + sirloin 2.19/lb + round 1.89/lb +***fish + sword 3.99/lb + cod 1.99/lb + blues 2.49/lb + stripers 3.49/lb + flounder 2.99/lb +***pork + shoulder .89/lb + loin 1.59/lb + bacon 1.19/lb +#create price +beef + shoulder 1.39/lb + flank 1.59/lb + sirloin 2.19/lb + round 1.89/lb +fish + sword 3.99/lb + cod 1.99/lb + blues 2.49/lb + stripers 3.49/lb + flounder 2.99/lb +pork + shoulder .89/lb + loin 1.59/lb + bacon 1.19/lb +#user +#cmp price Ref +#log +#next +73.1a 10 diff --git a/usr/lib/learn/editor/L72.2a b/usr/lib/learn/editor/L72.2a new file mode 100644 index 0000000000..d286e316d7 --- /dev/null +++ b/usr/lib/learn/editor/L72.2a @@ -0,0 +1,33 @@ +#print +A command related to the 'g' command is the 'v' command. The +'v' command also selects lines on which another command is to +be executed; the difference between 'g' and 'v' is that +the 'v' command selects all lines on which the specified +expression is NOT found. Thus + v/ly$/p +prints all lines which do NOT end in "ly". +Or + v/e/p +prints all lines WITHOUT an 'e'in them. +Are there any lines in file "story" +without an 'i'? Find out using the editor; then +leave the editor and type "yes" or "no". +#create story + Credit "rationing," already being imposed by major banks in +big cities, may soon spread to banks large and small in every corner +of the United States. Result: Speculative loans may become hard +to get anywhere. + Working in near-secrecy, a committee of the powerful American +Bankers Association is drafting an unprecedented policy statement +aimed at getting bankers across the country to be far choosier in +making business loans. The ABA it is believed, is being driven to +this move partly by a nagging fear that the Federal Government will +impose lending guidelines if banks fail to tighten up voluntarily. + The ABA's task is delicate. +#copyin +#user +#uncopyin +#match yes +#log +#next +72.2b 10 diff --git a/usr/lib/learn/editor/L72.2b b/usr/lib/learn/editor/L72.2b new file mode 100644 index 0000000000..b6a9d192b5 --- /dev/null +++ b/usr/lib/learn/editor/L72.2b @@ -0,0 +1,54 @@ +#print +Edit the file "cities" to remove all lines NOT +containing "NJ". Then rewrite the file +and type "ready". +#create Ref +Camden NJ 08101 +Elizabeth NJ 07207 +Jersey City NJ 07303 +Newark NJ 07101 +Paterson NJ 07510 +Trenton NJ 08608 +#create cities +Albany NY 12201 +Atlanta GA 30301 +Baltimore MD 21233 +Boston MA 02109 +Bridgeport CN 06601 +Buffalo NY 14240 +Camden NJ 08101 +Chicago IL 60607 +Dallas TX 75221 +Denver CO 80201 +Detroit MI 48226 +Elizabeth NJ 07207 +Hartford CN 06101 +Houston TX 77052 +Indianapolis IN 46204 +Jersey City NJ 07303 +Los Angeles CA 90053 +Miami FL 33101 +Milwaukee WI 53201 +Minneapolis MN 55401 +New York NY 10001 +Newark NJ 07101 +Paterson NJ 07510 +Philadelphia PA 19104 +Phoenix AR 85026 +Pittsburgh PA 15230 +Providence RI 02904 +Rochester NY 14603 +San Diego CA 92101 +San Francisco CA 94101 +Seattle WA 98101 +St. Louis MO 63166 +Syracuse NY 13201 +Trenton NJ 08608 +Utica NY 13503 +Washington DC 20013 +Yonkers NY 10598 +#user +#cmp cities Ref +#log +#next +72.2c 10 diff --git a/usr/lib/learn/editor/L72.2c b/usr/lib/learn/editor/L72.2c new file mode 100644 index 0000000000..4218185bc7 --- /dev/null +++ b/usr/lib/learn/editor/L72.2c @@ -0,0 +1,42 @@ +#print +There is a file "price" in this directory. Find all +lines which don't begin with blank and put three asterisks +at the beginning of each such line. Then rewrite +the file and type "ready". +#create Ref +***beef + shoulder 1.39/lb + flank 1.59/lb + sirloin 2.19/lb + round 1.89/lb +***fish + sword 3.99/lb + cod 1.99/lb + blues 2.49/lb + stripers 3.49/lb + flounder 2.99/lb +***pork + shoulder .89/lb + loin 1.59/lb + bacon 1.19/lb +#create price +beef + shoulder 1.39/lb + flank 1.59/lb + sirloin 2.19/lb + round 1.89/lb +fish + sword 3.99/lb + cod 1.99/lb + blues 2.49/lb + stripers 3.49/lb + flounder 2.99/lb +pork + shoulder .89/lb + loin 1.59/lb + bacon 1.19/lb +#user +#cmp price Ref +#log +#next +72.2d 10 diff --git a/usr/lib/learn/editor/L72.2d b/usr/lib/learn/editor/L72.2d new file mode 100644 index 0000000000..6f6fd89be1 --- /dev/null +++ b/usr/lib/learn/editor/L72.2d @@ -0,0 +1,27 @@ +#print +There is a file "song" in this directory. Find all lines +which don't end in "." and put a comma at the end of +these lines. Then rewrite the file and type "ready". +#create Ref +It seems that Early English art, + Alone retains its zest. +To charm and please its devotees, + We've done our level best. +We're not quite sure that all we do, + Has the Early English ring, +But as far as we can tell, + It's something lIke this sort of thing. +#create song +It seems that Early English art + Alone retains its zest. +To charm and please its devotees + We've done our level best. +We're not quite sure that all we do + Has the Early English ring +But as far as we can tell + It's something lIke this sort of thing. +#user +#cmp song Ref +#log +#next +73.1a 10 diff --git a/usr/lib/learn/editor/L73.1a b/usr/lib/learn/editor/L73.1a new file mode 100644 index 0000000000..158d0d987b --- /dev/null +++ b/usr/lib/learn/editor/L73.1a @@ -0,0 +1,34 @@ +#print +Back early in this sequence we made clear that +the shell (the normal command interpreter) and the +editor were distinct and they didn't pay any attention +to each other's commands. +Sometimes you are in the editor and you really want +to execute a shell command. You can do that +by prefixing it with !. For example, + !ls +will list your directory. +Remember that "date" is the shell command +to find out what time it is. +Try editing the file 'bridge'; print it out, +then, without leaving the editor, ask for the +time and then leave the editor and say "ready". +#create bridge +brooklyn +manhattan +williamsburg +queensborough +george washington +triborough +bronx whitestone +throgs neck +#create X2 +!date +#copyin +#user +#uncopyin +grep date .copy | tail -1 >X1 +#cmp X1 X2 +#log +#next +74.1a 10 diff --git a/usr/lib/learn/editor/L74.1a b/usr/lib/learn/editor/L74.1a new file mode 100644 index 0000000000..08be154718 --- /dev/null +++ b/usr/lib/learn/editor/L74.1a @@ -0,0 +1,80 @@ +#print +Here's a last review exercise. In the file "cities" is a list +of cities with populations and Zip codes. The following cities +were omitted: add them in alphabetical order + St. Louis 622,236 MO 63166 + Columbus 539,677 OH 43216 +Then, edit the file so that + (a) the blanks, if any, at the beginnings of lines and +ends of lines are removed. + (b) each interior string of blanks is replaced by a single tab, +except for the blanks within "Los Angeles", "New Orleans", +"New York", "San Antonio", "San Diego", "San Francisco", +and "St. Louis". + (c) Spell "Washington" and "Indianapolis" correctly. +Then rewrite the file and type "ready". +#create Ref +Atlanta 496,973 GA 30301 +Baltimore 905,759 MD 21233 +Boston 641,071 MA 02109 +Bridgeport 156,542 CN 06601 +Buffalo 462,768 NY 14240 +Chicago 3,366,957 IL 60607 +Cleveland 750,903 OH 44101 +Columbus 539,677 OH 43216 +Dallas 844,401 TX 75221 +Denver 514,678 CO 80201 +Detroit 1,511,482 MI 48226 +Hartford 158,017 CN 06101 +Houston 1,232,802 TX 77052 +Indianapolis 774,624 IN 46201 +Los Angeles 2,809,596 CA 92101 +Miami 334,859 FL 33101 +Milwaukee 717,099 WI 53201 +Minneapolis 434,400 MN 55401 +New Orleans 593,471 LA 70140 +New York 7,894,862 NY 10001 +Newark 382,417 NJ 07901 +Omaha 347,328 NE 68108 +Philadephia 1,948,609 PA 19104 +Phoenix 581,562 AR 85026 +Pittsburgh 520,117 PA 15230 +San Antonio 654,153 TX 78205 +San Diego 696,769 CA 92101 +San Francisco 715,674 CA 94101 +Seattle 530,831 WA 98101 +St. Louis 622,236 MO 63166 +Washington 756,510 DC 20013 +#create cities + Atlanta 496,973 GA 30301 + Baltimore 905,759 MD 21233 +Boston 641,071 MA 02109 +Bridgeport 156,542 CN 06601 + Buffalo 462,768 NY 14240 + Chicago 3,366,957 IL 60607 +Cleveland 750,903 OH 44101 +Dallas 844,401 TX 75221 +Denver 514,678 CO 80201 +Detroit 1,511,482 MI 48226 +Hartford 158,017 CN 06101 +Houston 1,232,802 TX 77052 +Indianpolis 774,624 IN 46201 +Los Angeles 2,809,596 CA 92101 +Miami 334,859 FL 33101 + Milwaukee 717,099 WI 53201 +Minneapolis 434,400 MN 55401 +New Orleans 593,471 LA 70140 +New York 7,894,862 NY 10001 +Newark 382,417 NJ 07901 + Omaha 347,328 NE 68108 + Philadephia 1,948,609 PA 19104 +Phoenix 581,562 AR 85026 +Pittsburgh 520,117 PA 15230 + San Antonio 654,153 TX 78205 + San Diego 696,769 CA 92101 + San Francisco 715,674 CA 94101 + Seattle 530,831 WA 98101 +Washinggton 756,510 DC 20013 +#user +#cmp cities Ref +#log diff --git a/usr/lib/learn/editor/L8.1a b/usr/lib/learn/editor/L8.1a new file mode 100644 index 0000000000..ee421a4477 --- /dev/null +++ b/usr/lib/learn/editor/L8.1a @@ -0,0 +1,38 @@ +#print +To move around, you can use simple arithmetic +when specifying what to print. For example, + 3+1p +is the same as + 4p +as an editor command. Now that's not very interesting; +but if the '.' current line pointer is line 3, +then using + .+1p +instead of 4p is helpful. +For example, print the 3rd and 4th +lines of the familiar file using first "3p" to +get to line 3 and then ".+1p" to print the next line. +End as usual with w, q, and ready. +#create Ref +thomas jefferson +james madison +91 +#create file +george washington +john adams +thomas jefferson +james madison +james monroe +john quincy adams +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -3 .ocopy >X1 +#cmp Ref X1 +#log +#next +9.1a 10 +8.1b 7 diff --git a/usr/lib/learn/editor/L8.1b b/usr/lib/learn/editor/L8.1b new file mode 100644 index 0000000000..852bc4f95b --- /dev/null +++ b/usr/lib/learn/editor/L8.1b @@ -0,0 +1,18 @@ +#print +You can also use "-" in addresses. For example, +the line before the current line is line ".-1" +and can be printed with ".-1p" or even just ".-1". +How would you print the line two lines before the current +line? Type "answer COMMAND" where COMMAND is +the command you would type to print that line. +#copyin +#user +#uncopyin +#match .-2p +#match .-2 +#match -2 +#match -- +#log +#next +9.1a 10 +9.2a 5 diff --git a/usr/lib/learn/editor/L8.2a b/usr/lib/learn/editor/L8.2a new file mode 100644 index 0000000000..631b6f66d5 --- /dev/null +++ b/usr/lib/learn/editor/L8.2a @@ -0,0 +1,44 @@ +#print +You can give addresses involving simple arithmetic +to move around in the file. For example, + 3+1p +is the same as + 4p +in the editor. Now that's not interesting, but +if the current line (".") is line 3, then + .+1p +is also 4p; it prints the next line. For example, +you can print the 3rd and 4th lines of this file +using + 3p + .+1p + w + q +where "3p" prints the third line, as usual, +and then ".+1p" prints the next or fourth line. +Try that. Type "ready" when done. +#create Ref +caslon +century schoolbook +86 +#create file +baskerville +bodoni +caslon +century schoolbook +futura +helvetica +news gothic +times roman +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -3 .ocopy >X1 +#cmp Ref X1 +#log +#next +8.2b 5 +9.1a 10 diff --git a/usr/lib/learn/editor/L8.2b b/usr/lib/learn/editor/L8.2b new file mode 100644 index 0000000000..f7aeef5a7e --- /dev/null +++ b/usr/lib/learn/editor/L8.2b @@ -0,0 +1,26 @@ +#print +Using the same scheme, print lines 2 and 3 of this file. +Then rewrite it and leave and type "ready". +#create Ref +john adams +thomas jefferson +91 +#create file +george washington +john adams +thomas jefferson +james madison +james monroe +john quincy adams +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -3 .ocopy >X1 +#cmp Ref X1 +#log +#next +8.2c 3 +8.1b 8 diff --git a/usr/lib/learn/editor/L8.2c b/usr/lib/learn/editor/L8.2c new file mode 100644 index 0000000000..bd33aac34d --- /dev/null +++ b/usr/lib/learn/editor/L8.2c @@ -0,0 +1,36 @@ +#print +You can also use "-" in addresses. +For example, you can print the +line before the current line with + .-1p +as a command. Again, I'll put +you in the editor; print the fifth +line and then the fourth, using this +command to print lines in reverse +order. Then leave with w, q, and ready. +#create Ref +carrots +squash +83 +#create file +broccoli +mushrooms +cauliflower +squash +carrots +lettuce +string beans +peas +lima beans +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -3 .ocopy >X1 +#cmp Ref X1 +#log +#next +9.1a 10 +9.2a 5 diff --git a/usr/lib/learn/editor/L9.1a b/usr/lib/learn/editor/L9.1a new file mode 100644 index 0000000000..7d5a1e7d06 --- /dev/null +++ b/usr/lib/learn/editor/L9.1a @@ -0,0 +1,34 @@ +#print +Printing only one line at a time gets pretty +slow. You can print several lines with +commands like + 1,3p +which prints lines 1, 2 and 3. +Again, I'll put you into the editor +with the familiar file. Print lines +2 through 5 of it; then type w, q and ready. +#create Ref +john adams +thomas jefferson +james madison +james monroe +91 +#create file +george washington +john adams +thomas jefferson +james madison +james monroe +john quincy adams +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -5 .ocopy >X1 +#cmp X1 Ref +#log +#next +10.1a 10 +9.2e 5 diff --git a/usr/lib/learn/editor/L9.2a b/usr/lib/learn/editor/L9.2a new file mode 100644 index 0000000000..2ccb8daa37 --- /dev/null +++ b/usr/lib/learn/editor/L9.2a @@ -0,0 +1,36 @@ +#print +You can print several lines at once by +using commands like + 1,3p +which prints lines 1, 2 and 3. Again, +I'll put you into the editor. Print +lines 1 to 3 of the file; then type +w, q and ready. +Your commands should look like + 1,3p + w + q + ready +#create Ref +george washington +john adams +thomas jefferson +91 +#create file +george washington +john adams +thomas jefferson +james madison +james monroe +john quincy adams +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -4 .ocopy >X1 +#cmp X1 Ref +#log +#next +9.2b 5 diff --git a/usr/lib/learn/editor/L9.2b b/usr/lib/learn/editor/L9.2b new file mode 100644 index 0000000000..3f9aca81d5 --- /dev/null +++ b/usr/lib/learn/editor/L9.2b @@ -0,0 +1,34 @@ +#print +You can of course use any kind of line +numbers for the addresses in the +"p" command. Just as you did before, +print lines 2 through 5 of this file, +and then type w, q, and ready. +#create Ref +mushrooms +cauliflower +squash +carrots +83 +#create file +broccoli +mushrooms +cauliflower +squash +carrots +lettuce +string beans +peas +lima beans +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +tail -5 .ocopy >X1 +#cmp X1 Ref +#log +#next +9.3c 3 +9.2d 7 diff --git a/usr/lib/learn/editor/L9.2d b/usr/lib/learn/editor/L9.2d new file mode 100644 index 0000000000..ed4e408132 --- /dev/null +++ b/usr/lib/learn/editor/L9.2d @@ -0,0 +1,36 @@ +#print +The "." operator can be used with multiple +addresses to refer to the current line +in either the first or second position (or both). +For example, you could print from the current line +to the 6th line with + .,6p +and similarly for any other line. I'll put +you in the editor again, with the current line +set in the middle of a short file; print from +the current line position to the fifth line, and +then type w, q and ready. +#create Ref + 2. UNIX + 3. hardware + 4. software + 5. manuals +97 +#create file + 2. UNIX + 3. hardware + 4. software + 5. manuals +you shouldn't have printed this line. +#copyout +#pipe +ed file +1t1 +#user +#unpipe +#uncopyout +tail -5 .ocopy >X1 +#cmp X1 Ref +#log +#next +9.2e 5 diff --git a/usr/lib/learn/editor/L9.2e b/usr/lib/learn/editor/L9.2e new file mode 100644 index 0000000000..15ac77a345 --- /dev/null +++ b/usr/lib/learn/editor/L9.2e @@ -0,0 +1,21 @@ +#print +You can also employ addresses using arithmetic with +this kind of command. For example, what "p" command +would you type to print from line 2 to the line +before the current line of the file? Remember what +the line before the current line is: + .-1 +right? +Type "answer COMMAND" where COMMAND is the specified +"p" command. +#copyin +#user +#uncopyin +#match 2,.-1p +#match 2,-p +#match 2,.-p +#log +#next +10.1a 10 +10.2a 5 +10.3a 2 diff --git a/usr/lib/learn/editor/L9.3c b/usr/lib/learn/editor/L9.3c new file mode 100644 index 0000000000..859ccb0ecf --- /dev/null +++ b/usr/lib/learn/editor/L9.3c @@ -0,0 +1,44 @@ +#print +You can make up addresses for the 'p' command +using '.' for the current line when there are +two addresses, also. For example, you could +print from the first line up to the present +line with + 1,.p +and I suggest you try that now. After +that command, type the usual + w + q + ready +#create Ref +83 +broccoli +mushrooms +cauliflower +squash +carrots +lettuce +string beans +peas +lima beans +83 +#create file +broccoli +mushrooms +cauliflower +squash +carrots +lettuce +string beans +peas +lima beans +#copyout +#pipe +ed file +#user +#unpipe +#uncopyout +#cmp .ocopy Ref +#log +#next +9.2d 5 diff --git a/usr/lib/learn/eqn/Init b/usr/lib/learn/eqn/Init new file mode 100755 index 0000000000..6d29206ba4 --- /dev/null +++ b/usr/lib/learn/eqn/Init @@ -0,0 +1,14 @@ +if test x$term != x +then + true + exit +fi +echo 'I need to know what kind of terminal you are using. +I will put you out of learn. Type these commands + +term=xxx (where xxx is one of 300, 300S, 450, etc.) + (with no spaces!) +export term + +Then type "learn eqn" again.' +false diff --git a/usr/lib/learn/eqn/L0 b/usr/lib/learn/eqn/L0 new file mode 100644 index 0000000000..4da0083320 --- /dev/null +++ b/usr/lib/learn/eqn/L0 @@ -0,0 +1,2 @@ +#next +0.1a diff --git a/usr/lib/learn/eqn/L0.1a b/usr/lib/learn/eqn/L0.1a new file mode 100644 index 0000000000..357826f78c --- /dev/null +++ b/usr/lib/learn/eqn/L0.1a @@ -0,0 +1,49 @@ +#once #create message +.EQ +delim $$ +.EN +.pl 1 +.ll 55 +This script is designed to teach you the "eqn" language +for typing mathematics. +There are two versions of the program. "eqn" is for +use on the phototypesetter; "neqn" is for use on a +terminal like a DASI or GSI, or a Model 37 teletype. +The lessons are mostly written under the assumption +that you will be using neqn on a DASI or GSI or teletype; +a few things that are specific to eqn on the typesetter are +left to the end. + +The terminal MUST be a DASI or GSI or teletype, +or you will get some rather startling results +from this script. + +To verify that everything is working, this message +should come out with subscripts, superscripts, Greek +letters and so on. If it doesn't, we're in +trouble. +.sp +Summation sign: $ sum $ +.sp +Letter pi: $ pi $ +.sp +Subscript and superscript: $ x sub i ~=~ y sup j $ +.sp +If this looks ok, type yes. Otherwise, type no. +.pl 1 +# +#once neqn message | nroff -T$term +#copyin +#user +#uncopyin +#match yes +#fail +Do you have the right kind of terminal? +If you are using a DASI or GSI, make +sure the switch labeled "PLOT" inside the cover +is set to ON. +If these fail, call for help; +otherwise type yes the next time. +#log +#next +1.1a diff --git a/usr/lib/learn/eqn/L1.1a b/usr/lib/learn/eqn/L1.1a new file mode 100644 index 0000000000..fbcee8d0f5 --- /dev/null +++ b/usr/lib/learn/eqn/L1.1a @@ -0,0 +1,35 @@ +#print +To properly print a file containing an equation, +you have to type a longer-than-usual command line. +If you are using a DASI or GSI, to print a file +"math" that contains mathematics, you must say + + neqn math | nroff -Txxx + +where "-Txxx" describes the terminal you are using. +This is usually one of + -T300 + -T300S + -T450 +It is very important that you get this line right. +If you don't, you'll not be happy with your output. + +In this directory is a file called "Example"; print +it properly, using whichever command line is +appropriate to your terminal. +Then type "ready". +#once #create Example +This is a little file that contains an +example of a subscript and superscript: +.ce +.EQ +a sub i + b sub i ~=~ c sub i sup 2 +.EN +.pl 1 +#copyin +#user +#uncopyin +grep 'neqn Example *| *nroff -T' <.copy >/dev/null +#log +#next +1.1b 10 diff --git a/usr/lib/learn/eqn/L1.1b b/usr/lib/learn/eqn/L1.1b new file mode 100644 index 0000000000..60c00a68fd --- /dev/null +++ b/usr/lib/learn/eqn/L1.1b @@ -0,0 +1,51 @@ +#print +Most technical papers and memos consist of normal text +interspersed with occasional (or frequent) mathematical +expressions, such as the ones in the last lesson. +To tell neqn that something is mathematics, not normal +text, you must surround it by two "commands": + + A line that begins with + .EQ + marks the start of an expression. + + A line that begins with + .EN + marks the end of the expression. + +Thus, the lines +.EQ +x=y+1 +.EN +represent the equation + +x=y+1 + +The file "Example" in this directory has a line that contains ++ and - signs. Make that line into an equation +by adding .EQ and .EN before and after. +Print "Example" with neqn and nroff (and the appropriate -Txxx), +then type "ready". +#once #create Ref +This is a tiny little text +that includes one equation +or at least it will when you find this line: +.ce +.EQ +a = b + c - d +.EN +and convert it into an equation. +.pl 1 +#once #create Example +This is a tiny little text +that includes one equation +or at least it will when you find this line: +.ce +a = b + c - d +and convert it into an equation. +.pl 1 +#user +#cmp Ref Example +#log +#next +1.1c 10 diff --git a/usr/lib/learn/eqn/L1.1c b/usr/lib/learn/eqn/L1.1c new file mode 100644 index 0000000000..77edb1f839 --- /dev/null +++ b/usr/lib/learn/eqn/L1.1c @@ -0,0 +1,39 @@ +#print +It is usually wise to do your formatting with +the "-ms" macro package developed by Mike Lesk, since +it does a lot of dirty work for you without any effort +on your part. +One of the things "-ms" does is to arrange that equations +are "displayed" - that is, that they are neatly centered +and set off from the surrounding text. +Most of the "-ms" package is described in another script +called "macros", which you may have already learned. +For now, we need only know this much: to use "-ms" +with neqn, add "-ms" to your command line, right after +the word "nroff", like this + + neqn files... | nroff -ms -Txxx + +Notice where the "-ms" goes. + +In this directory is a file called "Example". +To prove that you can type the "-ms" in the right place, +print "Example" with "-ms", then type "ready". +#once #create Example +.PP +This is a tiny little text +that includes one equation +or at least it will when you find this line: +.EQ +x sub i = y sub i +.EN +and convert it into an equation. +(Naturally I changed it.) +.pl 1 +#copyin +#user +#uncopyin +grep 'neqn Example *| *nroff -ms' <.copy >/dev/null +#log +#next +1.1d 10 diff --git a/usr/lib/learn/eqn/L1.1d b/usr/lib/learn/eqn/L1.1d new file mode 100644 index 0000000000..949d4fac05 --- /dev/null +++ b/usr/lib/learn/eqn/L1.1d @@ -0,0 +1,34 @@ +#print +The "-ms" package lets you do some other nice things as +well. For example, you can arrange for a number to be +placed on an equation, in the right margin: + + a = b + c - d (1.23) + +by placing the number after the .EQ on the same line, +like this: + +.EQ (1.23) + +You must leave a space between .EQ and the number. + +In the file "Example", number the equation "17.1a" +and print it properly with neqn and nroff -ms. +(Don't forget -Txxx for your terminal.) +Then type "ready". +#once #create Example +.PP +This is a tiny little text +that includes one equation +or at least it will when you find this line: +.EQ +x sub i = y sub i + z sub i +.EN +and convert it into an equation. +(Naturally I changed it again.) +.pl 1 +#user +grep '\.EQ *17\.1a$' /dev/null +#log +#next +1.1e 10 diff --git a/usr/lib/learn/eqn/L1.1e b/usr/lib/learn/eqn/L1.1e new file mode 100644 index 0000000000..bec107f566 --- /dev/null +++ b/usr/lib/learn/eqn/L1.1e @@ -0,0 +1,30 @@ +#print +So far all the equations have been centered, which is what +"-ms" does unless you tell it differently. +You can also arrange for equations to be left-adjusted - +that is, right up against the left margin - by saying + .EQ L +If there is a number, place it _____after the L, separated by a +space, like this: + .EQ L (3a) + +Make the equation in "Example" left-justified with +the number (3.1a) in the right margin and print it +to make sure everything works. Then type "ready". +#once #create Example +.PP +This is a tiny little text +(which you're undoubtedly sick of by now) +that includes one equation +or at least it will when you find this line: +.EQ +x sup i = y sup i +.EN +and convert it into an equation. +(Naturally I changed it.) +.pl 1 +#user +grep '\.EQ *L *(3.1a)$' /dev/null +#log +#next +1.1f 10 diff --git a/usr/lib/learn/eqn/L1.1f b/usr/lib/learn/eqn/L1.1f new file mode 100644 index 0000000000..72d7e53dd3 --- /dev/null +++ b/usr/lib/learn/eqn/L1.1f @@ -0,0 +1,87 @@ +#print +You can also make equations that are ________indented a fixed amount from +the left margin, with the command + .EQ I +Again, if there is an equation number, it follows the I. + +Convert all the equations in "Example" to indented ones. +(Naturally I've changed it.) +You can do this with a single editor command. + +Print "Example" with neqn and nroff -ms, +then type "ready". +#once #create Ref +.LP + EQUIVALENCES OF ONE SORT AND ANOTHER +.LP +.EQ I (2.01) +bold x sup { n alpha } (t) ~->~ bold x sup alpha ( bold X ,t). +.EN +.sp +.EQ I (2.02) +sum from n F( bold x sup { n alpha } (t)) +~->~ 1 over OMEGA INT F( bold x sup alpha ( bold X ,t))d bold \|X +.EN +.EQ I (2.03) +bold x ( bold X ,t) ~==~ +sum from { alpha =1} to N +rho sup alpha over rho sup 0 bold x sup alpha ( bold X ,t) +.EN +.EQ I (2.08) +sum from {alpha =1} to N +U sup { mu alpha } V sup { mu alpha } ~=~ delta sup { mu nu } +.EN +.EQ I (2.06) +bold y sup { T mu } ( bold X ,t) +~==~ sum from {alpha =1} to N +U sup { mu alpha } +bold x sup alpha +( bold X ,t) +.EN +.EQ I +~ partial over {partial d} + ( epsilon sub 0 bold E sup T times bold B ) sub i +- m sub ij,\|j ~=~ +-q sup D E sub i sup T +-( bold ~j sup D times bold B ) sub i +.EN +#once #create Example +.LP + EQUIVALENCES OF ONE SORT AND ANOTHER +.LP +.EQ (2.01) +bold x sup { n alpha } (t) ~->~ bold x sup alpha ( bold X ,t). +.EN +.sp +.EQ (2.02) +sum from n F( bold x sup { n alpha } (t)) +~->~ 1 over OMEGA INT F( bold x sup alpha ( bold X ,t))d bold \|X +.EN +.EQ (2.03) +bold x ( bold X ,t) ~==~ +sum from { alpha =1} to N +rho sup alpha over rho sup 0 bold x sup alpha ( bold X ,t) +.EN +.EQ (2.08) +sum from {alpha =1} to N +U sup { mu alpha } V sup { mu alpha } ~=~ delta sup { mu nu } +.EN +.EQ (2.06) +bold y sup { T mu } ( bold X ,t) +~==~ sum from {alpha =1} to N +U sup { mu alpha } +bold x sup alpha +( bold X ,t) +.EN +.EQ +~ partial over {partial d} + ( epsilon sub 0 bold E sup T times bold B ) sub i +- m sub ij,\|j ~=~ +-q sup D E sub i sup T +-( bold ~j sup D times bold B ) sub i +.EN +#user +#cmp Ref Example +#log +#next +2.1a 10 diff --git a/usr/lib/learn/eqn/L10.1a b/usr/lib/learn/eqn/L10.1a new file mode 100644 index 0000000000..71423a98ce --- /dev/null +++ b/usr/lib/learn/eqn/L10.1a @@ -0,0 +1,77 @@ +#once #create message +.ND +.tr %$ +.EQ +delim $$ +.EN +.LP +The next topic goes back to the problem of formatting +equations on the page. Sometimes it is desirable to +line up one part of an equation with some part +of a previous equation - for example, equals signs +are often lined up like this: +.EQ I +x mark = y sub i +.EN +.EQ I +lineup = z sub i +.EN +.EQ I +x sub i + y sub i lineup = z sub i +.EN + +To achieve this, you have to do several things. +(1) tell neqn to remember the place where things are +to be lined up, which is done by saying +"mark" just before the thing you want remembered: + .EQ I + x mark = y sub i + .EN +.br +(2) Then, in successive equations, telling neqn +to line up something on the previous mark, with +"lineup": + .EQ I + lineup = z sub i + .EN +.br +(3) You ____have __to use either ".EQ I" or ".EQ L"; +you can't line things up in a centered equation. + +For practice, modify "Example" so the +equations are lined up on the equals signs, then +type "ready". +.pl 1 +#once #create Ref +.LP +A test of mark and lineup: +.EQ I +x sub i ~ mark =~ 1 +.EN +.EQ I +x sub i + y sub i ~ lineup = ~2 +.EN +.pl 1 +#once #create Example +.LP +A test of mark and lineup: +.EQ I +x sub i ~ =~ 1 +.EN +.EQ I +x sub i + y sub i ~ =~ 2 +.EN +.pl 1 +# +#once neqn Ref | nroff >X1 & +#once neqn message Ref | nroff -T$term %s/tinyms - +#user +neqn Example | nroff >X2 +#cmp X1 X2 +#fail +Don't forget that tilde is a real character; +put the mark and lineup after it. +Remember .EQ I. +#log +#next +10.1b 10 diff --git a/usr/lib/learn/eqn/L10.1b b/usr/lib/learn/eqn/L10.1b new file mode 100644 index 0000000000..5b5c3896a9 --- /dev/null +++ b/usr/lib/learn/eqn/L10.1b @@ -0,0 +1,42 @@ +#print +More practice with mark and lineup. +Modify "Example" so the + signs are lined up in +all of the equations, then type "ready". +#once #create Ref +.LP +.EQ I +x ~==~ a sub i ~ mark + ~ b sub i ~-~ c sub i +.EN +.EQ I +lineup + ~ d sub i - e sub i +.EN +.EQ I +lineup + ~ f sub i - g sub i +.EN +.EQ I +lineup + ~ ... +.EN +.pl 1 +#once #create Example +.LP +.EQ I +x ~==~ a sub i ~ + ~ b sub i ~-~ c sub i +.EN +.EQ I ++ ~ d sub i - e sub i +.EN +.EQ I ++ ~ f sub i - g sub i +.EN +.EQ I ++ ~ ... +.EN +.pl 1 +# +#once neqn Ref | nroff >X1 & +#user +neqn Example | nroff >X2 +#cmp X1 X2 +#log +#next +10.1c 10 diff --git a/usr/lib/learn/eqn/L10.1c b/usr/lib/learn/eqn/L10.1c new file mode 100644 index 0000000000..88e2c2419f --- /dev/null +++ b/usr/lib/learn/eqn/L10.1c @@ -0,0 +1,25 @@ +#print +There are several warnings in order about mark and lineup. +First, remember that you must use ".EQ I" or ".EQ L". +Second, there can only be one mark or one lineup in any given +equation. +Finally, what you are doing must make sense, or +your results may be not what you wanted. + +Does this sequence produce output with the equals signs +lined up? + .EQ L + x mark = y + .EN + .EQ L + x+y mark = z + .EN +Answer yes or no. +#copyin +#user +#uncopyin +#match no +#log +#next +11.1a 10 +10.2c 5 diff --git a/usr/lib/learn/eqn/L10.2c b/usr/lib/learn/eqn/L10.2c new file mode 100644 index 0000000000..53e1397550 --- /dev/null +++ b/usr/lib/learn/eqn/L10.2c @@ -0,0 +1,17 @@ +#print +Does this sequence produce output with the equals signs +lined up? + .EQ I + x mark = y + .EN + .EQ I + x+y mark = z + .EN +Answer yes or no. +#copyin +#user +#uncopyin +#match yes +#log +#next +11.1a 10 diff --git a/usr/lib/learn/eqn/L11.1a b/usr/lib/learn/eqn/L11.1a new file mode 100644 index 0000000000..a03f703dab --- /dev/null +++ b/usr/lib/learn/eqn/L11.1a @@ -0,0 +1,46 @@ +#once #create message +.ND +.tr %$ +.EQ +delim $$ +.EN +.LP +We have introduced a fair number of "magic" words like +sub and sup and over and pi and sum. What happens if +you need to print an equation that contains one of these +words __as ____text, like this: +.EQ +e sub "pi" +.EN + +The way to turn off special meanings of magic words is +to enclose them in the double quotes "...". The $e sub "pi"$ +was printed with + .EQ + e sub "pi" + .EN + +Using this knowledge, modify file "Example" so it produces output +that looks like the following, then type "ready". +.pl 1 +#once #create Ref +.LP +.EQ +lim "sup" f( "pi" ) = p cdot i +.EN +.pl 1 +#once #create Example +.LP +.EQ +lim sup f( pi ) = p cdot i +.EN +.pl 1 +# +#once neqn Ref | nroff >X1 & +#once neqn message Ref | nroff -T$term %s/tinyms - +#user +neqn Example | nroff >X2 +#cmp X1 X2 +#log +#next +11.1b 10 diff --git a/usr/lib/learn/eqn/L11.1b b/usr/lib/learn/eqn/L11.1b new file mode 100644 index 0000000000..06fa225634 --- /dev/null +++ b/usr/lib/learn/eqn/L11.1b @@ -0,0 +1,34 @@ +#once #create message +.ND +.tr %$ +.EQ +delim $$ +.EN +.LP +The quoting mechanism can also be used to turn off the special meaning +of things like the dollar sign and braces. +Modify "Example" so it prints the following output, then +type "ready". +.pl 1 +# +#once #create Ref +.EQ +delim $$ +.EN +.LP +The cost of processing is proportional to +$characters over "$"$. +.pl 1 +#once #create Example +.LP +The cost of processing is proportional to +.pl 1 +# +#once neqn Ref | nroff >X1 & +#once neqn message Ref | nroff -T$term %s/tinyms - +#user +neqn Example | nroff >X2 +#cmp X1 X2 +#log +#next +11.1c 10 diff --git a/usr/lib/learn/eqn/L11.1c b/usr/lib/learn/eqn/L11.1c new file mode 100644 index 0000000000..3b669c8a0a --- /dev/null +++ b/usr/lib/learn/eqn/L11.1c @@ -0,0 +1,31 @@ +#once #create message +.ND +.tr %$ +.EQ +delim $$ +.EN +.LP +Modify "Example" so it prints the following output, then +type "ready". +.pl 1 +#once #create Ref +.EQ +delim $$ +.EN +.LP +The cost of processing is proportional to +${ "{" characters "}" } over "$"$. +.pl 1 +#once #create Example +.LP +The cost of processing is proportional to +.pl 1 +# +#once neqn Ref | nroff >X1 & +#once neqn message Ref | nroff -T$term %s/tinyms - +#user +neqn Example | nroff >X2 +#cmp X1 X2 +#log +#next +11.1d 10 diff --git a/usr/lib/learn/eqn/L11.1d b/usr/lib/learn/eqn/L11.1d new file mode 100644 index 0000000000..8b75cebc5e --- /dev/null +++ b/usr/lib/learn/eqn/L11.1d @@ -0,0 +1,18 @@ +#print +One thing to keep in mind, although it generally +isn't going to affect you, is that the quote " +is a delimiter just like blank or tilde - +it turns off subscripts and superscripts, and so +on. +Experiment a bit, and decide if + e sup "{t}" +is the same as + e sup "{"t"}" +Type yes if they are the same, no if they are different. +#copyin +#user +#uncopyin +#match no +#log +#next +11.1e 10 diff --git a/usr/lib/learn/macros/L0 b/usr/lib/learn/macros/L0 new file mode 100644 index 0000000000..40bb3a2c56 --- /dev/null +++ b/usr/lib/learn/macros/L0 @@ -0,0 +1,2 @@ +#next +1.1a 5 diff --git a/usr/lib/learn/macros/L1.1a b/usr/lib/learn/macros/L1.1a new file mode 100644 index 0000000000..905c08caac --- /dev/null +++ b/usr/lib/learn/macros/L1.1a @@ -0,0 +1,23 @@ +#print +This script deals with the use of the "-ms" macro +package to produce Bell Laboratories style documents. +Before trying it, you should be familiar with the +editor. To test that, please enter the file +typed below, _______exactly __as __is, into file "decl". Then +type "ready". + +#create Ref +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +#print Ref +#user +#cmp decl Ref +#log +#next +2.1a 10 diff --git a/usr/lib/learn/macros/L10.1a b/usr/lib/learn/macros/L10.1a new file mode 100644 index 0000000000..be79049249 --- /dev/null +++ b/usr/lib/learn/macros/L10.1a @@ -0,0 +1,52 @@ +#print +What if you don't want the cover sheet? Nroff has +an option to print only special pages. In particular, + nroff -ms -o1- files ... +will begin printing at page 1, and skip page 0, the cover sheet. +If you only want the cover sheet, you need the command + nroff -ms -o0 files ... +which prints only page zero. Try printing +only the cover sheet of the file "decl". +Then type "ready" as usual. +#once nroff -ms -o0 decl >X1 & +#create decl +.RP +.TL +Declaration of Independence +.AU +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#copyout +#user +#uncopyout +tail -66 .ocopy >X2 +#cmp X1 X2 +#log +#next +11.1a 10 diff --git a/usr/lib/learn/macros/L11.1a b/usr/lib/learn/macros/L11.1a new file mode 100644 index 0000000000..a58f7d4743 --- /dev/null +++ b/usr/lib/learn/macros/L11.1a @@ -0,0 +1,96 @@ +#print +The most complex format is the TM (technical memorandum) +format. If you use that, instead of the IM format, +you get the usual "MEMORANDUM FOR FILE" message. In addition, +you usually want to specify the TM number, case numbers, and +so forth. The command line for TM format (which should also +be the first line given) should read: + + .TM memo-no. case-no. filing-no. + +so that, for example, the command line + + .TM 75-1274-1 39199 39199-11 + +indicates a TM number of 75-1274-1, a charging case number +of 39199, and a filing case number of 39199-11. Suppose the +number for this memo is + 75-1776-1 +and the charging and filing cases are both + 12345 +Edit the file "decl" for TM format and run it off. +#create Ref +.TM 75-1776-1 12345 12345 +.TL +Declaration of Independence +.AU +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#once nroff -ms Ref >X1 & +#create decl +.IM +.TL +Declaration of Independence +.AU +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#copyout +#user +#uncopyout +tail -66 .ocopy >X2 +#cmp X1 X2 +#log +#next +12.1a 10 diff --git a/usr/lib/learn/macros/L12.1a b/usr/lib/learn/macros/L12.1a new file mode 100644 index 0000000000..a9b1c875de --- /dev/null +++ b/usr/lib/learn/macros/L12.1a @@ -0,0 +1,100 @@ +#print +With a TM you want a cover sheet. The cover sheet doesn't look too +nice when printed on a computer terminal, but you should +know how to set it up so that you can put it on the typesetter, +which does an attractive job of imitating the official printed +form. Basically you must make two changes to get a cover sheet +with normal formatting. First, you should add to each .AU line +the author's room number and extension. For example, + .AU "MH 2C-569" "6377" + M. E. Lesk +indicates that Lesk's room is MH 2C-569 and his extension is 6377. +The room number is enclosed in quotes to indicate that it is one +unit, even though it contains a blank. The quotes around +the extension are harmless but unnecessary. Also, you +must add the command + .CS 1 2 3 4 5 6 +after the ".AE" line. The six numbers are (from left to right) +the number of pages of text, number of pages of "other", +the total number of pages, the number of references, the number +of figures and the number of tables. Try editing +the usual file "decl" to indicate that Mr. Jefferson's +room number is MH 2A-111 and his extension is 1776. +Request a cover sheet with the above meaningless numbers, +just to see where they go. Then run off the document again. +#create Ref +.TM 75-1776-1 12345 12345 +.TL +Declaration of Independence +.AU "MH 2A-111" 1776 +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.CS 1 2 3 4 5 6 +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#once nroff -ms Ref >X1 & +#create decl +.TM 75-1776-1 12345 12345 +.TL +Declaration of Independence +.AU +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#copyout +#user +#uncopyout +tail -132 .ocopy >X2 +#cmp X1 X2 +#log +#next +13.1a 10 diff --git a/usr/lib/learn/macros/L13.1a b/usr/lib/learn/macros/L13.1a new file mode 100644 index 0000000000..1375887a38 --- /dev/null +++ b/usr/lib/learn/macros/L13.1a @@ -0,0 +1,104 @@ +#print +A couple of details about TM formats. +(1) The computer has this habit of putting the real date on things. +Typically BTL authors wish to lie about the date. There is a command +for this: + .DA July 4, 1776 +will replace the current date everywhere by the specified date. +(2) Also about the date: most people don't like it on each page. +The normal date command is thus: + .ND July 4, 1776 +which says "no date on each page; in the TM heading area where +the date is needed, use July 4, 1776". +Either date command should be placed just after the .TM line. +(3) There may be other keywords. These are indicated by +the sequence + .OK + word 1 + word 2 +inserted before the .AB line. +All right. Change "decl" to show a date of July 4, 1776, +using the ".ND" date command; and add as "other keywords" +"Democracy" and "Tyranny". Then run off ONLY the cover +sheet (remember nroff -ms -o0 file ...?). End with "ready". +#create Ref +.TM 75-1776-1 12345 12345 +.ND July 4, 1776 +.TL +Declaration of Independence +.AU "MH 2A-111" 1776 +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.OK +Democracy +Tyranny +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.CS 1 2 3 4 5 6 +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#once nroff -ms -o0 Ref >X1 & +#create decl +.TM 75-1776-1 12345 12345 +.TL +Declaration of Independence +.AU "MH 2A-111" 1776 +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.CS 1 2 3 4 5 6 +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#copyout +#user +#uncopyout +tail -66 .ocopy >X2 +#cmp X1 X2 +#log +#next +14.1a 10 diff --git a/usr/lib/learn/macros/L14.1a b/usr/lib/learn/macros/L14.1a new file mode 100644 index 0000000000..fd8ef9b86b --- /dev/null +++ b/usr/lib/learn/macros/L14.1a @@ -0,0 +1,104 @@ +#print +What if there are several authors? Well, you use several .AU +commands. Suppose we promote Richard Henry Lee to co-author +of our file "decl". Then we could have + .TM memo and case numbers + .ND fake date + .TL + Declaration of Independence + .AU room and phone for Jefferson + Thomas Jefferson + .AU room and phone for Lee + Richard Henry Lee + .AI + as before ... +as the top of the file. Rearrange "decl" this way +and run it off. Then type "ready". +Make Lee's room number MH 2B-222 and his extension 1824. +#create Ref +.TM 75-1776-1 12345 12345 +.ND July 4, 1776 +.TL +Declaration of Independence +.AU "MH 2A-111" 1776 +Thomas Jefferson +.AU "MH 2B-222" 1824 +Richard Henry Lee +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.OK +tyranny +democracy +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.CS 1 2 3 4 5 6 +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#once nroff -ms Ref >X1 & +#create decl +.TM 75-1776-1 12345 12345 +.ND July 4, 1776 +.TL +Declaration of Independence +.AU "MH 2A-111" 1776 +Thomas Jefferson +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.OK +tyranny +democracy +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.CS 1 2 3 4 5 6 +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#copyout +#user +#uncopyout +tail -132 .ocopy >X2 +#cmp X1 X2 +#log +#next +15.1a 10 diff --git a/usr/lib/learn/macros/L15.1a b/usr/lib/learn/macros/L15.1a new file mode 100644 index 0000000000..1418c23209 --- /dev/null +++ b/usr/lib/learn/macros/L15.1a @@ -0,0 +1,306 @@ +#print +Here's a new document. In the file "Ascent" is a supposed memo. +It begins immediately with the text, but the paragraphs are +marked with ".PP" commands. Add the initial material +as follows and run it of as a TM: + Title: Ascending the Riffelberg + Author: Mark Twain + Author's address: Hannibal, Mo. + TM number: 75-1868-1 + Case number 39199 + File number: 39425-2 + Author's room number: MH 2C-520 + Author's extension: 9876 + Abstract: + Why climb Everest? + Because it is there, said Mallory. + Other keywords: Mountaineering + Cover sheet numbers: just use 1 2 3 4 5 6 +OK? You can still look at "decl" to see the format. +#create Ref +.TM 75-1868-1 39199 39425-2 +.TL +Ascending the Riffelberg +.AU "MH 2C-520" 9876 +Mark Twain +.AI +Hannibal, Mo. +.OK +Mountaineering +.AB +Why climb Everest? +Because it is there, said Mallory. +.AE +.CS 1 2 3 4 5 6 +.PP +I sat silent some time, then turned to Harris and said: +``My mind is made up.'' +Something in my tone struck him; and when he glanced +at my eye and read what was written there, his face paled +perceptibly. He hesitated a moment, then said: +``Speak.'' +I answered, with perfect calmness: +``I WILL ASCEND THE RIFFELBERG.'' +If I had shot my poor friend he could not have fallen from +his chair more suddenly. If I had been his father he +could not have pleaded harder to get me to give up my +purpose. But I turned a deaf ear to all he said. When he +perceived at last that nothing could alter my determination, +he ceased to urge, and for a while the deep silence was broken only +by his sobs. I sat in marble resolution, with my +eyes fixed upon vacancy, for in spirit I was already +wrestling with the perils of the mountains, and my friend sat +gazing at me in adoring admiration through his tears. At +last he threw himself upon me in a loving embrace and +exclaimed in broken tones: +``Your Harris will never desert you. We will die together!'' +I cheered the noble fellow with praises, and soon his fears +were forgotten and he was eager for the adventure. He +wanted to summon the guides at once and leave at two in +the morning, as he supposed the custom was; but I explained that nobody +was looking at that hour; and that the start in the dark +was not usually made from the village but +from the first night's resting-place on the mountainside. I +said we would leave the village at 3 or 4 p.m. on the morrow; +meantime he could notify the guides, and also let the public +know of the attempt which we proposed to make. +.PP +I went to bed, but not to sleep. No man can sleep when +he is about to undertake one of these Alpine exploits. I +tossed feverishly all night long, and was glad enough when +I heard the clock strike half past eleven and knew it was +time to get up for dinner. I rose, jaded and rusty, and went +to the noon meal, where I found myself the center of interest and +curiosity; for the news was already abroad. It is not +easy to eat calmly when you are a lion, but it is very +pleasant, nevertheless. +.PP +As usual, at Zermatt, when a great ascent is about to be +undertaken, everybody, native and foreign, laid aside his +own projects and took up a good position to observe the +start. The expedition consisted of 198 persons, including +the mules; or 205, including the cows. +.PP +It was full four o'clock in the afternoon before my cavalcade +was entirely ready. At that hour it began to move. In +point of numbers and spectacular effect, it was the most +imposing expedition that had ever marched from Zermatt. +.PP +I commanded the chief guide to arrange the men and +animals in single file, twelve feet apart, and lash them all +together on a strong rope. He objected that the first two +miles was a dead level, with plenty of room, and that the +rope was never used except in very dangerous places. But I +would not listen to that. My reading had taught me that +many serious accidents had happened in the Alps simply +from not having the people tied up soon enough; I was not +going to add one to the list. The guide then obeyed my +order. +.PP +When the procession stood at ease, roped together, and +ready to move, I never saw a finer sight. It was 3,122 feet +long - over half a mile; every man but Harris and me was +on foot, and had on his green veil and his blue goggles, and +his white rag around his hat, and his coil of rope over one +shoulder and under the other, and his ice-ax in his belt, +and carried his Alpenstock in his left hand, his umbrella +(closed) in his right, and his crutches slung at his back. +.PP +The burdens of the pack-mules and the horns of the cows +were decked with the Edelweiss and the Alpine rose. +.PP +I and my agent were the only persons mounted. We +were in the post of danger in the extreme rear, and tied +securely to five guides apiece. Our armor-bearers carried our +ice-axes, Alpenstocks, and other implements for us. We +were mounted upon very small donkeys, as a measure of +safety; in time of peril we could straighten our legs and +stand up, and let the donkey walk from under. Still, I cannot +recommend this sort of animal - at least for excursions +of mere pleasure - because his ears interrupt the view. I +and my agent possessed the regulation mountaineering costumes, +but concluded to leave them behind. Out of respect +for the great numbers of tourists of both sexes who would +be assembled in front of the hotels to see us pass, and also +out of respect for the many tourists whom we expected to +encounter on our expedition, we decided to make the +ascent in evening dress. +.PP +At fifteen minutes past four I gave the command to +move, and my subordinates passed it along the line. The +great crowd in front of the Monte Rosa hotel parted in +twain, with a cheer, as the procession approached; and as +the head of it was filing by I gave the order - unlimber - +make ready - hoist - and with one impulse up went my +half-mile of umbrellas. It was a beautiful sight, and a total +surprise to the spectators. Nothing like that had ever been +seen in the Alps before. The applause it brought forth was +deeply gratifying to me, and I rode by with my plug hat in +my hand to testify my appreciation of it. It was the only +testimony I could offer, for I was too full to speak. +#once #create Ascent +.PP +I sat silent some time, then turned to Harris and said: +``My mind is made up.'' +Something in my tone struck him; and when he glanced +at my eye and read what was written there, his face paled +perceptibly. He hesitated a moment, then said: +``Speak.'' +I answered, with perfect calmness: +``I WILL ASCEND THE RIFFELBERG.'' +If I had shot my poor friend he could not have fallen from +his chair more suddenly. If I had been his father he +could not have pleaded harder to get me to give up my +purpose. But I turned a deaf ear to all he said. When he +perceived at last that nothing could alter my determination, +he ceased to urge, and for a while the deep silence was broken only +by his sobs. I sat in marble resolution, with my +eyes fixed upon vacancy, for in spirit I was already +wrestling with the perils of the mountains, and my friend sat +gazing at me in adoring admiration through his tears. At +last he threw himself upon me in a loving embrace and +exclaimed in broken tones: +``Your Harris will never desert you. We will die together!'' +I cheered the noble fellow with praises, and soon his fears +were forgotten and he was eager for the adventure. He +wanted to summon the guides at once and leave at two in +the morning, as he supposed the custom was; but I explained that nobody +was looking at that hour; and that the start in the dark +was not usually made from the village but +from the first night's resting-place on the mountainside. I +said we would leave the village at 3 or 4 p.m. on the morrow; +meantime he could notify the guides, and also let the public +know of the attempt which we proposed to make. +.PP +I went to bed, but not to sleep. No man can sleep when +he is about to undertake one of these Alpine exploits. I +tossed feverishly all night long, and was glad enough when +I heard the clock strike half past eleven and knew it was +time to get up for dinner. I rose, jaded and rusty, and went +to the noon meal, where I found myself the center of interest and +curiosity; for the news was already abroad. It is not +easy to eat calmly when you are a lion, but it is very +pleasant, nevertheless. +.PP +As usual, at Zermatt, when a great ascent is about to be +undertaken, everybody, native and foreign, laid aside his +own projects and took up a good position to observe the +start. The expedition consisted of 198 persons, including +the mules; or 205, including the cows. +.PP +It was full four o'clock in the afternoon before my cavalcade +was entirely ready. At that hour it began to move. In +point of numbers and spectacular effect, it was the most +imposing expedition that had ever marched from Zermatt. +.PP +I commanded the chief guide to arrange the men and +animals in single file, twelve feet apart, and lash them all +together on a strong rope. He objected that the first two +miles was a dead level, with plenty of room, and that the +rope was never used except in very dangerous places. But I +would not listen to that. My reading had taught me that +many serious accidents had happened in the Alps simply +from not having the people tied up soon enough; I was not +going to add one to the list. The guide then obeyed my +order. +.PP +When the procession stood at ease, roped together, and +ready to move, I never saw a finer sight. It was 3,122 feet +long - over half a mile; every man but Harris and me was +on foot, and had on his green veil and his blue goggles, and +his white rag around his hat, and his coil of rope over one +shoulder and under the other, and his ice-ax in his belt, +and carried his Alpenstock in his left hand, his umbrella +(closed) in his right, and his crutches slung at his back. +.PP +The burdens of the pack-mules and the horns of the cows +were decked with the Edelweiss and the Alpine rose. +.PP +I and my agent were the only persons mounted. We +were in the post of danger in the extreme rear, and tied +securely to five guides apiece. Our armor-bearers carried our +ice-axes, Alpenstocks, and other implements for us. We +were mounted upon very small donkeys, as a measure of +safety; in time of peril we could straighten our legs and +stand up, and let the donkey walk from under. Still, I cannot +recommend this sort of animal - at least for excursions +of mere pleasure - because his ears interrupt the view. I +and my agent possessed the regulation mountaineering costumes, +but concluded to leave them behind. Out of respect +for the great numbers of tourists of both sexes who would +be assembled in front of the hotels to see us pass, and also +out of respect for the many tourists whom we expected to +encounter on our expedition, we decided to make the +ascent in evening dress. +.PP +At fifteen minutes past four I gave the command to +move, and my subordinates passed it along the line. The +great crowd in front of the Monte Rosa hotel parted in +twain, with a cheer, as the procession approached; and as +the head of it was filing by I gave the order - unlimber - +make ready - hoist - and with one impulse up went my +half-mile of umbrellas. It was a beautiful sight, and a total +surprise to the spectators. Nothing like that had ever been +seen in the Alps before. The applause it brought forth was +deeply gratifying to me, and I rode by with my plug hat in +my hand to testify my appreciation of it. It was the only +testimony I could offer, for I was too full to speak. +#once nroff -ms Ref >X1 & +#create decl +.TM 75-1776-1 12345 12345 +.ND July 4, 1776 +.TL +Declaration of Independence +.AU "MH 2A-111" 1776 +Thomas Jefferson +.AU "MH 2B-222" 1824 +James Madison +.AI +The Continental Congress +Philadelphia, Pa. 19104 +.OK +tyranny +democracy +.AB +This paper describes advances in scattering theory +of colonies from mother countries. +.AE +.PP +When in the course of human events, it becomes +necessary for one people to dissolve the political bands which have +connected them with another, and to assume among the +powers of the earth the separate and equal station to which +the laws of Nature and of Nature's God entitle them, a decent +respect to the opinions of mankind requires that they should +declare the causes which impel them to the separation. +.PP +We hold these truths to be self-evident, that all men +are created equal, that they are endowed by their creator +with certain unalienable rights, that among these are life, liberty, +and the pursuit of happiness. That to secure these rights, +governments are instituted among men, deriving their just +powers from the consent of the governed. That whenever +any form of government becomes destructive of these ends, +it is the right of the people to alter or to abolish it, and +to institute new government, laying its foundation on such +principles and organizing its powers in such form, as to them +shall seem most likely to effect their safety and happiness. +#create script +1,$-264d +w +q +#copyout +#user +#uncopyout +e - .ocopy