home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / educ / classify.zip / OUTLINE.DOC < prev    next >
Text File  |  1986-11-17  |  52KB  |  1,129 lines

  1.                DESCRIPTION OF CLASSICAL CLASSIFIER
  2.  
  3.                       AN OUTLINE PROCESSOR
  4.  
  5.  
  6.                        by David E. Toliver 
  7.                          1 November 1986
  8.  
  9.                        OUTLINE.DOC
  10.  
  11.  
  12.                    1. Overview of the Package
  13.  
  14. 1.1. What is an Outline Processor?
  15.  
  16.      An  outline processor is a computer program that  simplifies 
  17. the  development  of outlines and  other  structured  notes.   It 
  18. shares many features with word processors,  but both genres  have 
  19. their distinctive capabilities.   While word processors are tools 
  20. for  the  entry  and  development of  complete  formatted  texts, 
  21. outline  processors are tools for evolving a  well-organized  and 
  22. comprehensive structure for a document.
  23.  
  24.      This  document describes CLASSIFIER,  an outline  processing
  25. program  developed  by  David E.  Toliver for  his  own  personal 
  26. enjoyment  and  that  of his friends.  All  rights  are  reserved 
  27. worldwide.
  28.  
  29.  
  30. 1.2. The Programs and Files
  31.  
  32.      CLASSIFIER is delivered with five files,  three of which are 
  33. programs. These files are:
  34.  
  35.           OUTLINE.COM -- the outline processor program
  36.       OUTLINE.000 -- the overlay routines of OUTLINE.COM
  37.       OUTINST.COM -- the installation / customizaton program
  38.           OUTLINE.DAT -- user-defined command values and data 
  39.       OUTLINE.HLP -- context-sensitive on-screen prompts
  40.  
  41.      The OUTLINE.COM program is used to develop outlines.   It is 
  42. called by entering "OUTLINE" at the command prompt.   Most of the 
  43. remainder   of   this   document  describes  the   features   and 
  44. capabilities  of  this program.  OUTLINE.000 contains  separately 
  45. loaded routines (overlays) of the OUTLINE.COM program.
  46.  
  47.      The  OUTINST.COM program allows the user to define  all  the
  48. command keystrokes, default values, and help messages used in the 
  49. OUTLINE.COM  program.   You can use command keystrokes  you  have 
  50. used with other packages or take advantage of convenient function 
  51. keys that may be found on your microcomputer.
  52.  
  53.      The  OUTLINE.DAT data file stores the command keystrokes and 
  54. default vales defined by OUTINST.COM.   This data file is read by 
  55. OUTLINE.COM as part of its start-up activity.   OUTLINE.COM  will 
  56. then recognize and act upon the defined values.
  57.  
  58.      The  OUTLINE.HLP  data file contains user-defined  on-screen 
  59. helps.  These  helps appear when lead-in keystrokes  of  commands 
  60. have been completed.  The prompts will guide you in the selection 
  61. and construction of the various command sequences.
  62.  
  63. 1.3. Operating Environments
  64.  
  65.      The CLASSIFIER package was written in TurboPascal.  The code 
  66. was  developed  and  tested  on a Kaypro  II  under  the  CP/M-80 
  67. operating system and is available in this version.   The code has 
  68. also  been successfully moved to and used on an IBM-PC,  a  Tandy 
  69. 1200,  a DEC Rainbow, and a Wang PC, all running under the MS-DOS 
  70. operating  system.    CLASSIFIER  is  thus  available  for  these
  71. machines.
  72.  
  73.  
  74. -----------------------------------------------------------------
  75.  
  76.                    2. What can it be used for?
  77.  
  78.      What can an outline processor, and CLASSIFIER in particular, 
  79. do  for  you?   The  following is a  short  outline  of  possible 
  80. applications.
  81.  
  82.           2.1. Idea Manager
  83.            2.1.1. Scratch Pad
  84.            2.1.2. Design Tool
  85.       2.2. Activity Planner
  86.            2.2.1. Appointments Schedule
  87.            2.2.2. Things-to-do lists
  88.       2.3. Document Planner
  89.            2.3.1. Table of Contents
  90.            2.3.2. Thought Organizer
  91.       2.4. Classification Tool
  92.            2.4.1. Cataloging
  93.            2.4.2. Inventory
  94.       2.5. Program development Tool
  95.            2.5.1. Structured Languages
  96.            2.5.2. System Documentation
  97.            2.5.3. Pascal
  98.            2.5.4. "C"
  99.  
  100.      In  general,  CLASSIFIER  can  be useful  whenever  you  are 
  101. organizing ideas or concepts into a formal structure.  CLASSIFIER 
  102. lends itself uniquely to classification tasks,  with its built-in 
  103. decimal  and  classical  labelling  notation  that  automatically 
  104. adjusts to changes in the structure.  It also is an ideal source-
  105. code  development  tool for structured languages,  including  the 
  106. popular  Pascal and "C" programming languages,  since the  labels 
  107. can be turned of completely.
  108.  
  109.  
  110.  
  111.  
  112.  
  113. -----------------------------------------------------------------
  114.  
  115.                 3. General Features of CLASSIFIER
  116.  
  117.  
  118. 3.1. General Outline Processing Features
  119.  
  120.      CLASSIFIER shares a number of features in common with  other 
  121. outline processsors.  These include the following:
  122.  
  123.      3.1.1. Hiding details. Detailed information in the structure 
  124. can be hidden or revealed as required, under command control.  At 
  125. any  given  time,  a maximum level (known as the "depth")  is  in 
  126. effect.   Only  entries at this level and above are shown on  the 
  127. screen,  when  they scroll into view.
  128.  
  129.      3.1.2. Levels and labels. In a CLASSIFIER outline, level can 
  130. be counted as the number of periods (.) in the decimal label. For 
  131. instance,  the entry numbered 7.4.1 is at a level 3.  A classical 
  132. label  also indicates level by its form.  For example,  an  entry 
  133. labelled with a lower-case Roman letter is at level 4.
  134.  
  135.      3.1.3. ASCII text output files.  The outlines themselves are 
  136. stored  on  disk  as  standard  ASCII  text  files.    These  can 
  137. subsequently  be printed,  used with other word processors,  sent 
  138. through a modem, or otherwise handled as you would any other text 
  139. file.
  140.  
  141.      3.1.4. Shifting structures and blocks.  Entire substructures 
  142. and  blocks of contiguous structures can be moved freely  through 
  143. your  workspace  and on the screen as you develop  your  outline. 
  144. Lines,  structures,  and blocks can be shifted up and down levels 
  145. of your outline as your conceptual needs require.
  146.  
  147. 3.2. Unique Features of CLASSIFIER
  148.  
  149.      3.2.1.  Decimalized  and  classical  labels.  A  decimal  or 
  150. classical  label  reflecting the structure of the  outline  being 
  151. developed adjusts itself automatically to all changes.  The label
  152. reflects  the  level  of each entry  in  the  outline.   Labelled 
  153. outline  document development can be selected at the beginning of 
  154. the program or at any time by a command while editing a file.
  155.  
  156.      3.2.2.  Structured  text without labels.  A whole outline or 
  157. parts of an outline can have their labels suppressed.  If this is 
  158. to  apply  consistently  to the whole outline,  it  is  called  a 
  159. structured text file.   A structured text file may be selected at 
  160. the  beginning of the program or by a command during the  editing 
  161. of an outline.
  162.  
  163.      Within  an outline,  individual lines may have  their  label 
  164. suppressed.  Such  lines are called continuation lines.  They are 
  165. often used with outline entries that require more characters than 
  166. the  number  of  characters across  the  screen.  Any  number  of 
  167. continuation lines,  formed into any number of paragraphs, can be 
  168. part of a labelled outline.
  169.  
  170.      3.2.3.   Half-screen  showing  path  from  root.  The  whole 
  171. document  context  can be continually kept in view  by  selecting 
  172. this  option under command control.   The top half of the  screen 
  173. presents  the  first  line  of  every  entry  that  is  a  direct 
  174. antecedent of the top line of the working outline.  The latter is 
  175. found  in  the bottom half of the screen.  This  feature  can  be 
  176. turned on and off as needed, by a command.
  177.  
  178.  
  179. 3.3. General Text-Editing Features
  180.  
  181.      3.3.1.  Full  screen  and file  navigation.   Most  standard 
  182. cursor- and  page-control capabilities are found  in  CLASSIFIER. 
  183. These  allow the use of the cursor keys and other control keys to 
  184. move  about the screen and to bring in other parts of the working 
  185. document.
  186.  
  187.      3.3.2.  Search and Replace.  Strings can be located anywhere 
  188. in the document.   These can be optionally replaced with  another 
  189. string.   The  last  search or replace can be done again  with  a 
  190. single keystroke.
  191.  
  192.      3.3.3.  Delete. Characters, words, lines, and blocks can all 
  193. be deleted under command control.  The last deleted structure can 
  194. always be recovered by an "undelete" command.
  195.  
  196.      3.3.4.  Reforming paragraphs.  Outline entries longer than a 
  197. single line can be reformed so that they fit nicely on the screen 
  198. and  in the file as a paragraph.   This starts with the  line  on 
  199. which  the  cursor is found and includes any  continuation  lines 
  200. that follow it, up to the first blank line.
  201.  
  202.      3.3.5.  Defining  margins.   The margin of the  continuation 
  203. line  can be defined to be either directly below the text of  the 
  204. initial line of the paragraph or flush left on the screen and  in 
  205. the file. The bottom row and the rightmost column of the document 
  206. can  also be defined,  allowing the process to fit nicely into  a 
  207. window of any dimensions.
  208.  
  209.      3.3.6.  Blocking  functions.   Lines  can be marked  off  as 
  210. blocks, which then can be moved, copied, or deleted.  Because the 
  211. file  is structured,  blocks must begin and end with siblings.
  212.  
  213.      3.3.7. Print options. Both text and outline documents can be 
  214. printed from within the program.  There are options to define the 
  215. number of lines per page;  the left,  top, and bottom margin; the 
  216. number of copies; and the number of lines to skip for draft copy.
  217.  
  218.      3.3.8.  Filing  options.  The  document can be abandoned  or 
  219. saved,  with  control returning to either the edit  session,  the 
  220. outline  processor,  or  to the operating system.  A block  or  a 
  221. structure may be written from within an edit session. An external 
  222. file may be read into another file being edited.
  223.  
  224.  
  225. -----------------------------------------------------------------
  226.  
  227.                    4. Specialized Terminology
  228.  
  229. 4.1. Root
  230.  
  231.      The  first  line  of  the file represents the  root  of  the
  232. document structure.   The root and its continuation lines make up 
  233. level 0 in the hierarchy.  The last level 0 line is the parent of 
  234. all  level-1  lines,  the first ones  labelled.   In  a  labelled 
  235. outline,  no  label is assigned to the root;  the letter 'T' (for 
  236. Title) is always posted in the first column of the root line.
  237.  
  238. 4.2. Node / Line / Entry
  239.  
  240.      Each  line  of the document,  whether on file or  in  memory 
  241. during  processing,  is a node of the outline's  hierarchy.  Each
  242. line  is  related  in various ways to other  lines  near  it  and 
  243. throughout the file.  A node is the basic entry from the point of 
  244. view of the structured hierarchy;  a line is the same basic entry 
  245. from  the  point  of view of the screen  presentation.  The  term 
  246. "entry"  is applied to this basic object when  both  perspectives 
  247. are being discussed.
  248.  
  249. 4.3. Level / Depth
  250.  
  251.      Each  entry is at some level between 0 and 9.   The root and 
  252. its continuation lines are the only lines at level 0.   The level 
  253. of a line is reflected by the label at the beginning of the line. 
  254. The  depth  of an outline is the last level displayed before  the
  255. entries are hidden from view.
  256.  
  257. 4.4. Parents / Sons 
  258.  
  259.      Each line relates to other lines in the document.   The line 
  260. conceptually  above  a line (one level up) in  the  hierarchy  is 
  261. known  as  its parent.   All lines directly below a line  in  the 
  262. hierarchy are known as its sons.
  263.  
  264. 4.5. Siblings / Antecedents / Descendents
  265.  
  266.      All  lines at the same level in the hierarchy and that  have 
  267. the  same  parent  are known as the line's siblings.   All  lines
  268. conceptually above a line, from its parent to the root, are known 
  269. as  its  antecedents.   All sons,  their sons,  etc.,  are  known 
  270. together as the line's descendents.
  271.  
  272. 4.6. Structure
  273.  
  274.      A  line,  together with all its descendents,  is known as  a 
  275. structure. In CLASSIFIER, certain operations can be applied to an 
  276. entire structure.  These include shifting it up or down a  level, 
  277. deleting it, recalling it, writing it out, etc.
  278.  
  279.  
  280.  
  281. 4.7. Block
  282.  
  283.      A  stucture or group of contiguous sibling structures can be 
  284. marked  as a block.   All descendents are within the block.   The 
  285. block can be copied, moved, shifted, deleted or written out under 
  286. command  control.   A block is said to be well-formed if the line 
  287. marked  as  the beginning precedes a sibling line marked  as  the 
  288. end.  A  single  line may be both the beginning and  end  of  the 
  289. block.
  290.  
  291.      The  block is indicated in the left margin of the screen  by 
  292. the  letter 'B' for the beginning of the block,  a set of  colons 
  293. for internal lines of the block,  and the letter 'E' for the  end 
  294. of the block.   If available, a well-formed block is highlighted. 
  295. If  the block is not well-formed,  only the beginning and  ending 
  296. lines are marked by lower-case 'b' and 'e.'
  297.  
  298. 4.8. Continuation Line
  299.  
  300.      Nodes  in  a labelled outline need not  be  numbered.   Such
  301. nodes can be created in one of three ways:  (1) by typing so many 
  302. characters  on  a line that it wraps to the next line,  (2) by  a 
  303. command that explicitly turns the label off, and (3) by a command 
  304. that  introduces  a  blank  continuation line at  the  end  of  a 
  305. continuation group.
  306.  
  307.      The  introduction  of a blank line following a node has  two 
  308. effects.   First,  it  improves  the visual presentation  of  the 
  309. outline by allowing the user to easily distinguish major  groups. 
  310. Second,  it  allows  intervening  lines  to be  entered  as  a  a 
  311. continuation  group,  even with carriage returns terminating  the 
  312. lines.   Without a continuation line following, a carriage return 
  313. will cause a new labelled line to appear in an outline document.
  314.  
  315. 4.9. Continuation Group
  316.  
  317.      A node and all continuation lines immediately following  the 
  318. node are known as a continuation group.   This can also be viewed 
  319. as a paragraph within the outline, since lines without labels are 
  320. naturally  viewed  as a continuation of the last  line  that  was 
  321. labelled.
  322.  
  323.  
  324.  
  325.  
  326. -----------------------------------------------------------------
  327.  
  328.                    5. Operation of the Package
  329.  
  330. 5.1. Initial Screen Options
  331.  
  332.      CLASSIFIER  is  called from the system prompt of the  micro-
  333. computer's operating system by simply entering "OUTLINE" followed 
  334. by  a  Carriage  Return.   The first screen allows  the  user  to 
  335. specify  if an Outline file or a structured Text file is going to 
  336. be worked on or if either type of file is to be printed.
  337.  
  338.      To edit a labelled outline file, enter a file name.  To edit 
  339. a text file,  enter a space (or Control-T) and then a file  name. 
  340. If you enter a name that is not the name of any file on the disk, 
  341. a  file by that name will be created.  If you enter the name of a 
  342. file  that  is on disk,  it will be loaded as the  type  of  file 
  343. indicated.  To print a file,  enter two spaces (or Control-P) and 
  344. then a file name.
  345.  
  346.      The  top line of the edit screen is the status line.   It is
  347. normally present with the following information:   Current depth, 
  348. file name,  type of file,  mode, and remaining memory.  All lines 
  349. down  to  and including the current depth will be  shown  on  the 
  350. screen.   The  file name is the name of the specified document of 
  351. either the text or outline type.
  352.  
  353.      Mode is either Insert or Change.  In Insert mode, characters 
  354. are  inserted  into the text and existing characters are  shifted 
  355. and retained;  in Change mode,  characters typed at the  keyboard 
  356. replace  those under the cursor.  All editing is done is a memory 
  357. buffer.  Remaining  memory is reported in bytes for CP/M  systems 
  358. and  in  paragraphs  (16-byte  units)  for  MS-DOS  systems.  The 
  359. percentage of total memory remaining is also given.
  360.  
  361.      The  first two columns of the screen are reserved to present 
  362. information to the user.  The second column will contain a '+' if 
  363. there  are  entries below the current line that are  hidden  from 
  364. view,  i.e.,  if the current line is at the current depth, and it 
  365. has  descendents  not being displayed.  The  second  column  will 
  366. contain a 'c' if continuation lines are hidden from view.
  367.  
  368.      A  'T'  in the first column indicates that the line  is  the 
  369. Title  or Root.   A 'B' indicates the beginning of a  well-formed
  370. block.   A 'b' indicates the block-begin line, although the block 
  371. itself is not well-formed.   An 'E' indicates the end of a  well-
  372. formed block.   An 'e' indicates the block-end line, although the 
  373. block itself is not well-formed.   A colon,  ':', indicates lines 
  374. contained within the block.   A 'V' indicates that the lines  are 
  375. part of the Root-to-Node path display.
  376.  
  377. 5.2. Line labels
  378.  
  379.      Line  labels  are  found  only  in  Outline  files,  not  in 
  380. structured Text files.   The type of file can be specified in the 
  381. initial screen and can be changed to the other at any time during 
  382. an editing session by a toggle command.  The line labels indicate 
  383. the  level of the node.  The decimal form also gives the  ordinal 
  384. position   among  siblings  of  the  current  line  and  all  its 
  385. antecedents.
  386.  
  387.      When editing a Text file,  the symbol '>' appears wherever a 
  388. label would appear in the same document,  if it were changed into 
  389. an  Outline  file.   The  symbols  makes  it  easy  to   identify 
  390. continuation  lines  in Text files;  no continuation line  begins 
  391. with '>'.   The symbol is only for display purposes and is  never 
  392. written into the text file on disk.
  393.  
  394. 5.3. Depth / Level
  395.  
  396.      At  the beginning of any edit session,  the default depth of 
  397. displayed  lines may have been set to any value between 1 and  9. 
  398. This  value can be changed during the edit session.  It  is  also 
  399. possible  to  increment  and decrement the depth one level  at  a 
  400. time.
  401.  
  402.      The  depth  is  automatically  adjusted  in  at  least   two 
  403. instances.   First,  when a view is requested in which either the 
  404. current  line or its parent is placed on the top edit  line,  the 
  405. depth  is  changed  to  that of the sons of  the  new  top  line. 
  406. Second,  if there is a command to shift a line or structure  down 
  407. one  level  and this new level is deeper than the current  depth, 
  408. the  current depth is incremented so that the  shifted  structure 
  409. can still be seen on the screen.
  410.  
  411.      If  continuation  lines are hidden,  they can be  explicitly 
  412. restored  with a toggle command.   A selection of other  commands 
  413. have the effect of automatically restoring continuation lines  to 
  414. view. These are the commands which create continuation lines, for 
  415. example, Reformat.
  416.  
  417. 5.4. Modes
  418.  
  419.      Mode is either Insert or Change.  In Insert mode, characters 
  420. are  inserted into the text and existing characters are moved  to 
  421. the right and retained.  In Change mode,  characters typed at the 
  422. keyboard replace those under the cursor.  No command are affected 
  423. by mode.
  424.  
  425. -----------------------------------------------------------------
  426.  
  427.               6. Detailed Description of Functions
  428.  
  429.      There are 68 distinct commands (as of 12/6/85).   The actual 
  430. keystrokes that make up each of these commands may be defined  by 
  431. you  as  you  see fit.   These commands are specified  under  the 
  432. installation utility,  OUTINST, described in Section 7.
  433.  
  434.      There are two reasons for allowing commands to be completely 
  435. user-defined.  First, you may want to define CLASSIFIER functions 
  436. to  be the same as similar functions in other packages with which 
  437. you are familiar.  Second, you may want to take advantage of pre-
  438. defined  function keys on your microcomputer.   In the  following
  439. sections,  the functions are designated only by name.  To define, 
  440. review, or print the actual keystrokes that make up the function, 
  441. run the OUTINST utility.
  442.  
  443.      Any  of  these  commands may be used at  any  time  you  are 
  444. editing  text.    Depending  on  mode,  ordinary  characters  are 
  445. inserted  into  or change the characters on the screen or in  the 
  446. file.  The commands, on the other hand, take actions on the text. 
  447. The command may consist of one or more keystrokes. 
  448.  
  449.      If you begin a sequence of command keystrokes and decide not 
  450. to  complete it,  you can cancel the command with the Space  Bar. 
  451. Any invalid keystoke during a sequence will have the same  effect 
  452. of canceling the command.
  453.  
  454.  
  455. 6.1. Control Cursor Options
  456.  
  457.      These  commands  are very much like  their  counterparts  in 
  458. conventional  word processors.   They are responsible for  moving 
  459. the cursor.
  460.  
  461.      6.1.1.  Cursor  left.   This  command moves the  cursor  one
  462. position  to  the left.   It will move from the beginning of  one 
  463. line to the end of the previous.  The screen will scroll down, if 
  464. ncessary.   The  cursor will not move beyond the beginning of the 
  465. file, the root line.
  466.  
  467.      6.1.2.  Cursor  right.  This  command moves the  cursor  one 
  468. position to the right.   It will move from the end of one line to 
  469. the  beginning  of  the next.   The screen  will  scroll  up,  if 
  470. necessary.  The cursor will not move beyond the end of the file.
  471.  
  472.      6.1.3.  Cursor down.  This command moves the cursor down one 
  473. line.  If the line to which it moves is shorter than the position 
  474. the cursor occupied in its previous line, the cursor moves to the 
  475. end  of  the  new  line.   The screen will  be  scrolled  up,  if 
  476. necessary.  The cursor will not move beyond the end of the file.
  477.  
  478.      6.1.4. Cursor up. This command moves the cursor up one line. 
  479. If  the line to which it moves is shorter than the  position  the 
  480. cursor occuped in its previous line,  the cursor moves to the end 
  481. of the new line.  The screen will be scrolled down, if necessary. 
  482. The  cursor will not move beyond the beginning of the  file,  the 
  483. root line.
  484.  
  485.      6.1.5.  Skip  Word right.  This command moves the cursor one 
  486. word to the right.   It will move from the end of one line to the 
  487. beginning of the next.   The screen will scroll up, if necessary. 
  488. The cursor will not move beyond the end of the file.
  489.  
  490.      6.1.6.  Skip Word left.   This command moves the cursor  one 
  491. word to the left.  It will move from the beginning of one line to 
  492. the  end of the previous line.   The screen will scroll down,  if 
  493. necessary.   The cursor will not move beyond the beginning of the 
  494. file.
  495.  
  496.      6.1.7.  Left side of line.  This command moves the cursor to 
  497. the  extreme  left side of the textual part of the current  line. 
  498. This  will be one space to the right of the label (outline files) 
  499. or  next to the '>' mark (text files).  If the current line is  a 
  500. continuation line,  the command moves the cursor to the left-most 
  501. position currently in effect.
  502.  
  503.      6.1.8. Right side of line.  This command moves the cursor to 
  504. the  extreme right side of the textual part of the current  line. 
  505. This is either the end of the line, if the whole line fits on the 
  506. screen,  or the last edit column, if the line is too long for the 
  507. screen.
  508.  
  509.      6.1.9. Top of page.  The command moves the cursor to the top 
  510. left-hand  corner  of the textual part of the first line  of  the 
  511. current screen.
  512.  
  513.      6.1.10.  Bottom  of page.   This command moves the cursor to 
  514. the bottom line of the current display screen.   If possible,  it 
  515. will retain its current column position.
  516.  
  517.  
  518. 6.2. Control Screen Options
  519.  
  520.      These  commands  are very much like  their  word  processing 
  521. counterparts.  They  shift the document's position on the  screen 
  522. either up or down.
  523.  
  524.      6.2.1.  Scroll page up.  This command moves the document  up 
  525. one  line  on  the screen.  The cursor  remains  in  its  current 
  526. position,  except  when  the cursor is on the first line and  the 
  527. command is invoked.   In this case,  the cursor will relocate  to 
  528. the new first line.
  529.  
  530.      6.2.2.  Scroll  page down.  This command moves the  document
  531. down one line on the screen.   The cursor remains in its  current 
  532. position,  except  when  the cursor in on the last line  and  the 
  533. command  is invoked.   In this case,  the cursor will relocate to 
  534. the new last line.
  535.  
  536.      6.2.3.  Previous page.   This command calls in the previous 
  537. page of text.  If there is none, no action is performed.
  538.  
  539.      6.2.4.  Next page.   This command calls in the next page of 
  540. text.  If there is none, no action is performed.
  541.  
  542.      6.2.5.  Top of file.   This command calls in the very first 
  543. page of text.  The top line of the edit screen will be the root.
  544.  
  545.      6.2.6. Bottom of file.  This command calls in the very last 
  546. page of text.
  547.  
  548. 6.3. Make Entries Options
  549.  
  550.      These  commands  include  the basic  mechanisms  for  adding 
  551. entries  to  a  document.  For labelled  outlines,  this  set  of 
  552. commands  provides for the definition of sibling  and  descendent 
  553. structures.
  554.  
  555.      6.3.1.  Add new line below current line.  If you are working 
  556. on  a labelled outline,  this command adds a new  labelled  entry 
  557. below the current entry, except when a continuation line follows. 
  558. If the current entry already has descendents,  the new entry will 
  559. become  the  first son.   Otherwise,  the new entry is  the  next 
  560. sibling.
  561.  
  562.      6.3.2.  Add  new  line at current line.  The  entry  on  the 
  563. current  line is moved down one line.  A new entry is created  on 
  564. the current line.  If you are working on a labelled outline, this 
  565. command adds a new labelled entry on the current line. Otherwise, 
  566. a blank line is created on the current line.
  567.  
  568.      6.3.3.  Split line at cursor.   The data on the current line 
  569. will be split at the cursor into two lines.  Normally, a Carriage 
  570. Return  is used to perform this function,  although any keystroke 
  571. can be selected when commands are installed.  If the current line 
  572. has descendents, the entry consisting of text to the right of the 
  573. cursor becomes the new first son.   Otherwise,  the text  becomes 
  574. the next sibling.   The new line will be a continuation line if a 
  575. continuation line follows.
  576.  
  577.      6.3.4.  Add blank line after current group.   A single blank
  578. continuation  line  can  be  added  to the  end  of  a  group  of
  579. continuation  lines,  using  this command.   This is  useful  for
  580. improving  the  appearance of the outline.   It also serves as  a
  581. marker  that  allows multiple continuation groups to  be  entered
  582. without any intervening numbered lines.  The reform function will
  583. not go beyond a blank line.
  584.  
  585.      6.3.5.  Shift structure down a level.   The whole  structure
  586. descending  from the current line will be shifted down one level,
  587. if this is logically possible.  This is not possible for any line
  588. that  relates  to its father as a first  son,  since  this  would
  589. introduce a gap between the generations.
  590.  
  591.      6.3.6.  Shift  line  down  a level.  Only the entry  on  the
  592. current line will be shifted down one level, if this is logically
  593. possible.   Again, this is not possible for any line that relates
  594. to  its  father as a first son.  Continuation lines  may  not  be
  595. shifted.
  596.  
  597.      6.3.7.  Shift  structure  up a level.  The  whole  structure
  598. descending from the current line will be shifted up one level, if
  599. this  is logically possible.   If the current line is at level  0
  600. or at level 1 with siblings preceding it, this is not possible.
  601.  
  602.      6.3.8.  Shift line up a level. Only the entry on the current
  603. line will be shifted up one level, if this is logically possible.
  604. Again,  if  the  current  line is at level 0 or at level  1  with
  605. siblings preceding it,  this is not possible.  Continuation lines
  606. may not be shifted.
  607.  
  608. 6.4. Toggle Condition Options
  609.  
  610.      6.4.1.  Toggle outline / text.   A labelled outline file can 
  611. be converted into a structured text file and vice versa, by using 
  612. this  command.   All line labels are removed when an  outline  is 
  613. changed into a text file.   Line labels are introduced on all but 
  614. continuation  lines and the root,  when a text file is  converted 
  615. into an outline file.
  616.  
  617.      6.4.2.  Toggle  continuation  margin.   The left  margin  of 
  618. continuation  lines can be shifted from the leftmost column to  a 
  619. position indented below the label,  and vice versa, by using this 
  620. command.
  621.  
  622.      6.4.3.  Toggle  labelled / continuation line.   The  current 
  623. line  can be switched between labelled and continuation by  using 
  624. this  command.  The  label is added and stripped off  alternately 
  625. with  this  command.  The first son cannot be  converted  into  a 
  626. continuation line as long as the entry remains the first son.
  627.  
  628.      6.4.4.  Toggle help prompts. This command allows you to turn 
  629. the  context-sensitive  help lines on or off.  By  turning  these 
  630. lines off, you gain three more lines for editing.
  631.  
  632.      6.4.5.  Toggle  insert  / change mode.   Editing  begins  by 
  633. default in insert mode.   That is, every character typed is added 
  634. to the document;  the character under the cursor is pushed to the 
  635. right.  In change mode, characters typed replace characters under 
  636. the  cursor.   This  command  allows you to switch  at  any  time 
  637. between the two modes.
  638.  
  639.      6.4.6.  Toggle classical / decimal labels.  The labels on an 
  640. outline  document  are  changed  from a  decimalized  form  to  a 
  641. classical  form or vice versa.   This command has no effect on an 
  642. unlabelled  text  document.  Classical labels,  from  highest  to 
  643. lowest level are (with examples): 
  644.  
  645. I. upper-case Roman numerals
  646.    A. upper-case Roman letters 
  647.       1. Arabic nunerals 
  648.          a. lower-case Roman letters 
  649.             i. lower-case Roman numerals 
  650.                (A) parenthesized upper-case Roman letters 
  651.                    (1) parenthesized Arabic numerals
  652.                    (a) parenthesized lower-case Roman letters
  653.                            (i) paren'd lower-case Roman numerals
  654.  
  655. 6.5 Format Screen Options
  656.  
  657.      Various  factors can be specified during an edit session  to 
  658. determine the size and shape of your screen, and the introduction 
  659. of  spaces into your text.  The default values for all  of  these 
  660. options is set before editing by using OUTINST. 
  661.  
  662.      6.5.1.  Specify  rightmost edit column.  This command allows 
  663. you to define the last column in which data that can be edited is 
  664. displayed.  It  must  be  at least one less  than  the  currently 
  665. defined  rightmost  screen  column.  This command  allow  you  to 
  666. "shape" your edit window on the right side.
  667.  
  668.      6.5.2.  Specify rightmost screen column. This command allows 
  669. you  to  define the column in which the '+' mark is  posted  when 
  670. the  line has undisplayed data to the right.  The value specified 
  671. must  be at least one more than the currently  defined  rightmost 
  672. edit column.
  673.  
  674.      6.5.3.  Specify  last edit row.  This command allows you  to 
  675. define  the last row for the display of data that can be  edited. 
  676. The maximum number of lines is 25.  It allows you to "shape" your
  677. edit window at the bottom. Also, you can use it to retain in view 
  678. one  part  of a document while you edit another part of the  same 
  679. document  elsewhere.  Use  this  command very  carefully  as  the 
  680. results  are undefined if the value exceeds the actual number  of 
  681. rows on the screen.  Such use may cause peculiar behavior or even 
  682. program failure.
  683.  
  684.      6.5.4.  Specify  TAB  position factor.  The TAB key  can  be 
  685. defined to move the cursor to every consecutive multiple of  some 
  686. small  number.   A value of 5 or 8 is often  used,  although  any 
  687. value in the range of 1 to 15 may be defined for this purpose.
  688.  
  689.      6.5.5.  Specify  spaces to indent per level.   You  will  be 
  690. prompted  to  enter the number of spaces of indentation for  each 
  691. level  of  an entry.   The change will be reflected both  on  the 
  692. screen and in the written file.
  693. 6.6 Hide Information Options
  694.  
  695.      6.6.1.  Show node's parent at screen top.  The parent of the 
  696. current entry is presented at the top of the screen,  followed by 
  697. its  immediate descendents (sons).   The depth for editing is set 
  698. to the level of the current node.
  699.  
  700.      6.6.2.  Show  node at top of screen.   The current  node  is 
  701. presented  at the top of the screen,  followed by  its  immediate 
  702. descendents.  The  depth  for editing is set to the level of  the 
  703. current node plus 1.
  704.  
  705.      6.6.3. Increment depth displayed.  One level is added to the 
  706. current depth of display, up to the maximum depth of 9.
  707.  
  708.      6.6.4. Decrement depth displayed.  One level is deleted from 
  709. the current depth of display, down to the minimum depth of 1.
  710.  
  711.      6.6.5.  Specify depth displayed.   You will be prompted  for 
  712. the depth of display, a value between 1 and 9.  Enter a number in 
  713. this range.   Only entries down to the level specified will apear 
  714. on the edit screen.
  715.  
  716.      6.6.6. Hide / show continuation line. Continuation lines can 
  717. be removed from and restored to view during an edit session. This 
  718. can  give  a more compact view of the  document.   Certain  other 
  719. operations will automatically restore continuation lines if  they 
  720. had been switched off.  These operations include word-wrapping in 
  721. "Add text" and "Reformat.",  since these operations must generate 
  722. continuation lines.
  723.  
  724. 6.7. Miscellaneous Options
  725.  
  726.      6.7.1.  Find text phrase.   After entering this command, you 
  727. will  be prompted for the phrase.   A search will be done of  the 
  728. entire  document for the phrase,  down to all lines at the  depth 
  729. currently in effect.  If it is not found, the computer will beep. 
  730. A  Carriage Return will escape from the prompt for a phrase  back 
  731. to the edit session.
  732.  
  733.      6.7.2.   Find  and  replace  phrase.   After  entering  this 
  734. command,  you will be promted for two phrases in turn.   A search 
  735. will be done of the entire document for the first phrase.   If it 
  736. is found, the second phrase will be substituted for it.  If it is 
  737. not found, the computer will beep.  A Carriage Return will escape 
  738. from  the  first prompt for a phrase and return you to  the  edit 
  739. session.
  740.  
  741.      6.7.3.  Find  or replace next.  This command allows  you  to 
  742. repeat the last find or replace operation.   The operation may be 
  743. repeated  by the user until no more search phrases are located in 
  744. the document.
  745.  
  746.      6.7.4.  Show  path  from root to  node.   With  this  toggle 
  747. command,  the edit screen is split in half.   (If the edit screen 
  748. is  already  a half screen,  this command will restore  the  full 
  749. screen  to editing.) All editing is now done in the bottom  half. 
  750. In  the top half is presented all the antecedents of the top line 
  751. of the edit screen.
  752.  
  753.      6.7.5.  Reform entry.   All data in a group of  continuation 
  754. lines  are  reorganized so that each line is made up of  as  many 
  755. complete words as will fit on a line.  The group in this  context 
  756. is  considered  to end with the first labelled line or the  first 
  757. completely blank continuation line.  Lines are broken at either a 
  758. space or a hyphen.  All multiple contiguous spaces are reduced to 
  759. a single space.    The cursor is placed at the end of the group.
  760.  
  761.  
  762. 6.8 Delete function options
  763.  
  764.      6.8.1.  Delete character at cursor.  The character under the 
  765. cursor will be deleted. If you are at the right end of a line and 
  766. there are no characters further to the right,  the next line will 
  767. be appended to the current line.
  768.  
  769.      6.8.2.  Delete  character to the left.  The character to the 
  770. left of the cursor will be deleted. If you are at the left end of 
  771. a  line,  the  current line will be appended to the  end  of  the 
  772. previous line.
  773.  
  774.      6.8.3.  Delete word to the right.   The word to the right of 
  775. the cursor will be deleted. If you are at the right end of a line 
  776. and  there are no characters further to the right,  the next line 
  777. will be appended to the current line.
  778.  
  779.      6.8.4.  Delete text on current line.  The entire text of the 
  780. current  line  will be deleted.   The line will remain  with  any 
  781. label that may be currently attached to it.
  782.  
  783.      6.8.5.  Delete current structure.   The structure  beginning 
  784. with the current line will be deleted.  Since even a line with no 
  785. descendents  is  a structure,  this is a good way of deleting  an 
  786. entire line,  including its label.   This command should be  used 
  787. carefully, since all descendents are also deleted.
  788.  
  789.      6.8.6.  Recall last deleted structure.  If you  accidentally 
  790. delete a line,  structure,  or block, it can be restored with the 
  791. use of this function. Only the last deleted structure is buffered
  792. in  this  way.   You can also use this capability to propagate  a 
  793. structure  throughout the file by deleting it and then  recalling 
  794. it repeatedly.
  795.  
  796. 6.9. Blocking Function Options
  797.  
  798.      6.9.1. Mark beginning of block. Use this command to mark the 
  799. beginning  of a block,  that is,  a group of adjacent  structures 
  800. that all begin at the same level.  If the block is well-formed, a 
  801. 'B'  appears in the leftmost column against the entry so  marked, 
  802. and the remainder of the structures in the block are indicated by 
  803. a ':' in the leftmost column.  If the block is not well-formed, a 
  804. 'b' appears against the entry.
  805.  
  806.      6.9.2.  Mark end of block.  Use this command to mark the end 
  807. of a block.   If the block is well-formed,  an 'E' appears in the 
  808. leftmost  column  against  the entry,  and the remainder  of  the 
  809. structures  in the block are indicated by a ':' in  the  leftmost 
  810. column.   If the block is not well-formed, an 'e' appears against 
  811. the entry.
  812.  
  813.      6.9.3.  Copy block.  This command works only if the block is 
  814. well-formed.  If the block is well-formed, a copy of the block is
  815. transferred  to the location indicated by the cursor.   The block 
  816. marks move with the transferred copy.
  817.  
  818.      6.9.4.  Move block.  This command works only if the block is 
  819. well-formed.    If  the  block  is  well-formed,   the  block  is 
  820. transferred from its previous location to the location  indicated 
  821. by  the  cursor.   The block is effectively deleted from the  old 
  822. location.  The block marks move with the transferred block.
  823.  
  824.      6.9.5.  Delete block.   This command works only if the block 
  825. is  well-formed.   If  the block is  well-formed,  the  block  is 
  826. deleted  from the workspace.  If accidentally deleted,  it can be 
  827. immediately  recalled  with  the recall  last  deleted  structure 
  828. command.
  829.  
  830.      6.9.6.  Shift block down a level.  This command causes every 
  831. structure  in a well-formed block to be moved down a level in the 
  832. hierarchy of the outline, if this is possible.
  833.  
  834.      6.9.7.  Shift  block up a level.  This command causes  every 
  835. structure  in a well-formed block to be moved up a level  in  the 
  836. hierarchy of the outline, if this is possible.
  837.  
  838.  
  839.  
  840.  
  841. 6.10. Filing Function Options
  842.  
  843.      These  options  allow you to save or to  discard  your  edit 
  844. session,  save a structure or block to another file,  and read an 
  845. external file into the edit session.
  846.  
  847.      6.10.1. Save file / return to CLASSIFIER. With this command, 
  848. the  edit  session is saved to a textfile on  disk.  It  will  be 
  849. formatted  exactly as you saw it last in the  workspace.  Control 
  850. returns  to the main window of CLASSIFIER,  where you can  select 
  851. another document to be edited or printed.
  852.  
  853.      6.10.2.  Save file / return to DOS.  With this command,  the 
  854. edit  session  is  saved  to a textfile  on  disk.   It  will  be 
  855. formatted exactly as you saw it last in the  workspace.   Control 
  856. returns to the operating system.
  857.  
  858.      6.10.3.  Save file / remain in edit.  With this command, the 
  859. edit  session  is  saved  to a textfile  on  disk.   It  will  be 
  860. formatted  exactly as you saw it last in the workspace.   Control
  861. returns  to the workspace and the cursor to its last location  in 
  862. the edit session.
  863.  
  864.      6.10.4.  Quit / Abandon all changes.  With this command, the 
  865. workspace can be abandoned; it will NOT be saved to a textfile on 
  866. disk.    Since  this could be disastrous,  you are asked "Are you 
  867. sure?  (Y/N)  ".   If  you answer "Y",  control  returns  to  the 
  868. main  menu of CLASSIFIER without updating the file you were  just 
  869. editing.
  870.  
  871.      6.10.5.  Save  current block to file.  If there is  a  well-
  872. formed block in the edit buffer,  it can be saved to a file.  The 
  873. name of the current file being edited may not be used. If you are 
  874. editing  a  labelled outline,  the current type of label will  be 
  875. used, with the labels adjusted to start with the number 1.
  876.  
  877.      6.10.6.  Save  current structure to file.  The structure  on 
  878. which the cursor sits can be saved to a file. If the cursor is on 
  879. the root line,  the whole edit buffer is saved to file.  The name 
  880. of  the  current file being edited may not be used.  If  you  are 
  881. editing  a  labelled outline,  the current type of label will  be 
  882. used,  with the labels adjusted to start with the number 1.  This 
  883. is the only way to save a classical outline to file.  Such a file
  884. cannot  be subsequently processed as an  outline.  A  decimalized 
  885. outline file can, however.
  886.  
  887.      6.10.7.  Read  a  file  into the edit buffer.  You  will  be 
  888. prompted  to  enter the name of a file to be read into  the  edit 
  889. buffer.  If you are editing an outline,  the new material will be 
  890. incorporated  into the outline.  If you are editing a text  file, 
  891. the new material will be incorporated as part of the text.
  892.  
  893.  
  894.  
  895.  
  896.  
  897. 6.11 The Print Options
  898.  
  899.      6.11.1.  Print  current  block.  If a well-formed  block  is 
  900. defined in the edit buffer, the block will be printed. If you are 
  901. editing  a labelled outline,  the current type of label  will  be 
  902. used, with the labels adjusted to start with the number 1.
  903.  
  904.      6.11.2.  Print current structure. The structure on which the 
  905. cursor  sits can be printed.  If the cursor is on the root  line, 
  906. the  whole edit buffer is printed.  If you are editing a labelled
  907. outline,  the current type of label will be used, with the labels 
  908. adjusted to start with the number 1.
  909.  
  910.  
  911.      6.11.3. From the main CLASSIFIER screen, the option to print 
  912. a  file  may  be  chosen by entering zero or more  spaces  or  by 
  913. entering  Control-P.  You will then be asked for the name of  the 
  914. file to be printed. 
  915.  
  916.      6.11.4. Whether printing is selected from the main screen or 
  917. during an edit session,  you will be given the value of six print 
  918. options and asked if you want to change each one in  turn.  These 
  919. options are:
  920.  
  921.           -- number of copies to be printed
  922.       -- number of spaces in the left margin
  923.       -- number of lines on a page
  924.       -- number of lines in the top margin
  925.       -- number of lines in the bottom margin
  926.       -- number of lines to skip between printed lines
  927.  
  928.      The  initial  values  of  these options are  set  under  the 
  929. default parameter section of the OUTINST program.  The values may
  930. be accepted by entering Return for each in turn,  or by  entering 
  931. Escape  to accept them all.  You may escape from the print option 
  932. parameters by entering a Control-U.
  933.  
  934.  
  935. -----------------------------------------------------------------
  936.  
  937.                  7. Installation of the Package
  938.  
  939.  
  940.      The  program  OUTINST  will let you define  all  68  command 
  941. sequences  (including  as  many synonyms as  you  like for each), 
  942. context-sensitive help messages, and 16 default parameter values. 
  943. Invoke the program from the command prompt by entering:  OUTINST. 
  944. You will get a menu of five options:
  945.  
  946.         [C]ommand installation
  947.         [H]elp line installation
  948.         [D]efaults installation
  949.         [K]eep changes
  950.         [A]bandon session
  951.  
  952.  
  953.      If  you  enter the letter "C" you will be given  a  menu  of 
  954. eleven  command groups.  The menu includes a [P]rint and a [Q]uit 
  955. option. The [P] and [Q] options are found on many of the menus of 
  956. OUTINST. They allow you to print the current menu or to leave it. 
  957. In  this  screen,  [P]  allows you to print  the  entire  set  of 
  958. commands.
  959.  
  960.      Choose  the  number of any one of  the  command  groups.   A 
  961. numbered  list  of the individual commands in the group will  now 
  962. appear on the screen, followed by the [P] and [Q] options. Choose 
  963. a  command  by number.  If it is not yet  defined,  you  will  be 
  964. prompted to do so. 
  965.  
  966.      For  each  function,  you should enter the  keystrokes  that 
  967. trigger the function.   Enter the key sequences for each function 
  968. in  turn.   Several keys have special predefined meanings in  the 
  969. session.
  970.  
  971.      The  backslash,  '\',  will cancel the last  keystroke.  The 
  972. Carriage   Return  is  used  to  end  the  defining  sequence  of 
  973. characters. A Carriage Return as the first response to the prompt 
  974. will cause the previous value for the function to be retained.  A 
  975. command  sequence may not begin with the TAB key  (Control-I)  as
  976. this serves its standard function in an edit session.
  977.  
  978.      If you want to define a Carriage Return,  or  CONTROL-M,  as 
  979. part  of  the  sequence,  you  may enter  the  letter  "M".   All 
  980. keystrokes  beyond the first are converted into  Control  values, 
  981. except for DEL and characters beyond ASCII 127.   Also, a command 
  982. sequence  may  not be a complete left-subset of another  command. 
  983. This prevents ambiguous definitions.
  984.  
  985.      If  the  command  chosen  from the  menu  has  already  been 
  986. defined at least once, you will be  given the following options:
  987.  
  988.         [A]dd definition
  989.         [C]hanged definition
  990.         [D]elete definition
  991.         [Q]uit
  992.  
  993.      If  you  choose  [A]dd,  you will be prompted  to  enter  an 
  994. alternate command sequence. You may enter as many unique synonyms 
  995. as you wish. If the sequence already defines another command, the 
  996. program  will ask you to choose which command you really want the 
  997. sequence to defined.  The other command may be redefined at  this 
  998. time. If the sequence matches the lead-in sequence of one or more
  999. other  commands,  you  will have to re-enter a sequence  for  the 
  1000. current command.
  1001.  
  1002.      If  you  choose [C]hange and only one command  sequence  has 
  1003. been  defined  for the current command,  you will be  immediately 
  1004. prompted  to enter the replacement sequence.   If more  than  one 
  1005. sequence defines the command,  you will be asked to choose from a 
  1006. menu  the  sequence  to  be  changed.  The  rules  for  resolving 
  1007. conflicting  definitions  under  the [A]dd option  apply  to  the 
  1008. [C]hange option as well.
  1009.  
  1010.          If you choose [D]elete and only one command sequence has 
  1011. been  defined  for the current command,  that definition will  be 
  1012. immediately  deleted.   If  more than one  sequence  defines  the 
  1013. command,  you will be asked to choose the sequence from a menu to 
  1014. be deleted.
  1015.  
  1016.       Returning to the main menu of the program,  choose "H"  for 
  1017. help line installation. You will see one of two possible screens. 
  1018. If  help has not been defined before,  you will be asked to enter 
  1019. the three initial help lines.  These are the lines that appear at 
  1020. the top of the outline screen before any command has begun.
  1021.      On  the  other hand,  if one or more help  lines  have  been
  1022. defined, you will be given the following choices:
  1023.  
  1024.         [A]dd help
  1025.         [C]hange help
  1026.         [R]eview help
  1027.         [D]elete help
  1028.         [P]rint helps
  1029.         [Q]uit
  1030.  
  1031.      If  you  choose  [A]dd,  you will be  prompted  to  enter  a 
  1032. sequence.   This  must  be  the lead-in sequence of  a  group  of 
  1033. commands. (Help lines will appear at the top of the screen of the 
  1034. OUTLINE  program  when those keystrokes of the command have  been 
  1035. entered.) You will then be prompted for the three help lines that 
  1036. are to appear on the screen in that context.
  1037.  
  1038.      If  you  choose  [C]hange,  you  will see  a  table  of  all 
  1039. sequences.  Choose  the sequence to be changed and  redefine  the 
  1040. sequence and the help lines.  You will be able to keep or  change 
  1041. any of the lines.
  1042.  
  1043.      If you choose [R]eview, you will see the table of sequences. 
  1044. Choose   the   sequence  of  interest  by  number  to   see   the
  1045. corresponding help lines.
  1046.  
  1047.      If  you  choose [D]elete,  you will again see the  table  of 
  1048. sequences. Choose by number the sequence to be deleted.
  1049.  
  1050.      If you choose [P]rint,  all sequences and help lines will be 
  1051. sent to the printer.
  1052.  
  1053.      Note that the help lines are stored in the file OUTLINE.HLP, 
  1054. a  text  file that can be directly edited with any  text  editor, 
  1055. even  OUTLINE  itself!   Remember  that all help  lines  come  in 
  1056. triples.  New  triples  of lines can be defined and  subsequently 
  1057. associated with a lead-in sequence under the "Help option."
  1058.  
  1059.       Returning  again to the main menu of the  program,  if  you 
  1060. choose "D" for defaults, you will see a menu with the three major 
  1061. default groups. These groups are: (1) Toggle defaults; (2) Screen 
  1062. format defaults;  and (3) Miscellaneous defaults.  The first  two 
  1063. groups  correspond directly to the toggle condition commands  and 
  1064. the format screen commands.  The last group corresponds to  other 
  1065. miscellaneous commands.
  1066.  
  1067.      By choosing any group,  you will see the particular defaults
  1068. that can be set for every edit session.  All of these can also be 
  1069. changed  under command control during an edit session.  Note that 
  1070. defaults are values, not commands themselves, so that the idea of 
  1071. deletion of a default or a synonym for a default does not apply.
  1072.  
  1073.      The   program  OUTINST  will  create  or  modify  the  files 
  1074. OUTLINE.DAT and OUTLINE.HLP.  These must eventually be placed  on 
  1075. the same disk or directory as OUTLINE.COM and OUTLINE.000.
  1076. -----------------------------------------------------------------
  1077.  
  1078.                       8. Systems Background
  1079.  
  1080.      Development   of   CLASSIFIER  was  done  in   Pascal.    In 
  1081. particular,   the   TurboPascal  implementation   from   Borland, 
  1082. International  was used.   The application builds an in-memory b-
  1083. tree  representation  of  the document.   It  employs  a  dynamic 
  1084. standard Pascal heap for its edit buffer.
  1085.  
  1086.      When  invoked,  the  entire  file is loaded  into  the  edit 
  1087. buffer.   At  this  time,  CLASSIFIER cannot process  files  that 
  1088. exceed  the size of memory available for the  edit  buffer.   The 
  1089. exact  maximum  size of file that can be handled depends  on  the 
  1090. amount of memory in your microcomputer.  The edit buffer will use
  1091. all memory remaining after loading the operating system,  any co-
  1092. resident programs, and the CLASSIFIER code.
  1093.  
  1094.      CLASSIFIER  provides  compatibility  with  many  other  word 
  1095. processors  and text processors.   The documents it  creates  and 
  1096. revises  are standard ASCII text files,  with no extended  codes. 
  1097. It  does  use these standard codes in some  unconventional  ways, 
  1098. however,  making  it  somewhat easier to  port  files  originally 
  1099. created  under CLASSIFIER to other word processors than it is  to 
  1100. port files from other word processors to  CLASSIFIER.
  1101.  
  1102.      For instance, all continuation lines are marked by one space 
  1103. at the end of the line.   If there is not a space at the end, the 
  1104. line  is  assumed  to be labelled.  If no label is found  at  the 
  1105. beginning of the line, this treated as a continuation line.
  1106.  
  1107.      The  first  line of every labelled outline file is known  as 
  1108. the  control line.   This line consists of spaces  and  tabs.  It 
  1109. serves to associate two format parameters with each file: (1) the 
  1110. number  of  spaces of indentation per level and (2)  the  initial 
  1111. placement  of the left margin of continuation lines.   The number 
  1112. of  spaces on this line is equal to the number of lead-in  spaces 
  1113. per level. If one tab follows, continuation lines are flush left;
  1114. if  two tabs,  they are indented below the  entry.  These  values 
  1115. over-ride the defaults; if they are missing the defaults apply.
  1116.  
  1117.      Numbers  in decimalized labels are not validated;  only  the 
  1118. presence of digits and periods is validated.  Thus, a number like 
  1119. '0.0.0.' will convert to the appropriate level 3 entry.
  1120.  
  1121. -----------------------------------------------------------------
  1122.  
  1123. 9. Copyright Acknowledgements
  1124.  
  1125.      9.1. Borland Int'l       9.5. IBM-PC
  1126.      9.2. CP/M                9.6. Tandy 1200
  1127.      9.3. MS-DOS              9.7. DEC Rainbow
  1128.      9.4. KayPro              9.8. Wang PC
  1129.