home *** CD-ROM | disk | FTP | other *** search
/ High Voltage Shareware / high1.zip / high1 / DIR16 / DPS10.ZIP / DPS.DPS < prev    next >
Text File  |  1993-10-05  |  68KB  |  1,666 lines

  1. .blcmd ,
  2. ,style plain
  3. ,lmar 6
  4. ,rmar 6
  5. ,fspace 6
  6. ,center
  7. D P S
  8. ,sp 1
  9. Document Processing System
  10. ,sp 3
  11. A Shareware Program
  12. ,sp 4
  13. Phillip H. Sherrod
  14. ,sp 1
  15. and
  16. ,sp 1
  17. Daniel J. Cappannari
  18. ,endcenter
  19. ,sp 6
  20. ,squeeze 5
  21. DPS reads a document source file which includes style, spacing, and formatting
  22. commands, and generates a formatted ASCII output file suitable for printing
  23. on any type of computer printer. DPS is well suited for preparing documentation
  24. for programs or other technical projects. DPS provides
  25. table of contents and index generation and cross references by section
  26. and page numbers. DPS also provides automatic section numbering and a
  27. variety of list types.
  28. ,squeeze 0
  29.  
  30. ,page
  31. ,style standard
  32. ,slmlop 1 10
  33. ,findent 5
  34. ,toc
  35.  
  36. ,chapter Introduction
  37. DPS (Document Processing System) is a program which formats text files
  38. for printing on any type of printer.  DPS can be used to format
  39. letters, articles, books, and documentation. It is particularly well
  40. suited for preparing documentation for programs and other technical projects
  41. because it has cross reference facilities that automatically fill in
  42. section and page numbers for referenced items, and it has built in
  43. facilities for producing an index. This document was prepared using
  44. DPS; the source file is provided for your examination in a file
  45. named DPS.DPS.
  46.  
  47. By design, DPS does not utilize any printer control functions other than
  48. carriage-return, line-feed, and form-feed. This allows the output of
  49. DPS to be printed on a wide variety of printers ranging from inexpensive
  50. dot matrix devices through fancy laser printers.
  51.  
  52. DPS is similar to word processing programs in that it helps you to
  53. produce a formatted document. However, DPS is different from programs
  54. like WordPerfect and Microsoft Word in the way that you specify formatting
  55. commands. With the typical word processing program you use function keys
  56. to specify formatting actions and with most of these programs you see the
  57. result on the screen immediately. With DPS you use
  58. an editor such as DOS EDIT or EDLIN to create a "source" document file
  59. that contains both the text of the document and embedded DPS commands
  60. that describe what formatting is to be done for each part of the
  61. document. You then use DPS to process this source file and produce
  62. a formatted output file.
  63.  
  64. ,hl1 Installing DPS
  65. The installation of DPS is very simple. Create a directory for the
  66. DPS files and use PKUNZIP to unpack the compressed file or copy in
  67. all of the files from your distribution disk. You should add the DPS
  68. directory to your PATH command so that DOS can find the DPS.EXE file
  69. if some other directory is your current directory.
  70.  
  71. The DPS distribution includes the following files:
  72. ,figure
  73. DPS.EXE      -- Executable program.
  74. DPS.DOC      -- Documentation file.
  75. DPS.DPS      -- Source file for DPS.DOC to use as an example.
  76. REGISTER.DOC -- Software registration form.
  77. VENDOR.DOC   -- Information for shareware vendors.
  78. README.DOC   -- Introduction file.
  79. FILE_ID.DIZ  -- Information for bulletin boards.
  80. ,endfigure
  81.  
  82. ,hl1 Using DPS
  83. ,X Input File
  84. ,X File;Input
  85. The first step in using DPS is to create a "source" document file
  86. containing your text and DPS commands. It is best to give this file
  87. the extension ".DPS".
  88.  
  89. The source file should be in "flat ASCII format", meaning
  90. that it simply consists of ASCII characters with carriage-return,
  91. line-feed sequences separating the records.  This is the type of file
  92. produced by various text editors such as the EDIT and EDLIN programs
  93. available with DOS.  You may use a word processor such as WordPerfect
  94. to produce the file, but you should be sure that the output is in
  95. "DOS text" format with no extra data inserted for the benefit of the
  96. word processor.
  97.  
  98. Once you have created a source file you can use DPS to format it.
  99. The form of the DPS command is:
  100. ,figure
  101. DPS source_file [output_file]
  102. ,endfigure
  103. Where "source_file" is the name of your source document file and
  104. "output_file" is the name of the file to which the formatted output is
  105. to be written. The default extension for the source file is ".DPS".
  106. The default extension for the output file is ".DOC".
  107. If no output file is specified DPS creates an output
  108. file with the same name as the source file but with the extension ".DOC".
  109.  
  110. For example, the following command would read a source file named MATHPLOT.DPS
  111. and produce a formatted document file named MATHPLOT.DOC:
  112. ,figure
  113. DPS MATHPLOT
  114. ,endfigure
  115. The following command would read a source file named NONLIN.DPS and produce a
  116. formatted output file named REGRESS.LST:
  117. ,figure
  118. DPS NONLIN REGRESS.LST
  119. ,endfigure
  120.  
  121. ,chapter DPS Operation
  122. ,x Command syntax
  123. ,x Between line commands
  124. In addition to your text, the input file may contain two types of
  125. DPS commands: "between line" and
  126. "within line".  The between line type of commands are the most common.
  127. These commands begin with a period as the first character of the line
  128. and are terminated by the end of the line. For example,
  129. ,figure
  130. .CHAPTER Introduction
  131. ,endfigure
  132. marks the beginning of a new chapter named "Introduction".
  133.  
  134. If you have text lines that begin with a period, or you would just
  135. prefer some introducer character other than period, you can
  136. use the .BLCMD command to specify another introducer character.
  137. The form of this command is:
  138. ,x BLCMD command
  139. ,figure
  140.  .BLCMD character
  141. ,endfigure
  142. where 'character' is the character to be used as the command introducer.
  143. For example, the following command causes comma to be set as the
  144. introducer character:
  145. ,figure
  146.  .BLCMD ,
  147. ,endfigure
  148. After this command you would type comma as the first character of
  149. each between line command.
  150.  
  151. ,x Within line commands
  152. Within line commands can occur in the middle of a line of text. These
  153. commands are denoted with an introducer character which is normally
  154. backslash (\\).  An example of a within line command is "\\PAGEREF{name}"
  155. which might be used in a line of text such as follows:
  156. ,figure
  157. For a description of the process, see page \pageref{mrdesc}.
  158. ,endfigure
  159.  
  160. This command tells DPS to insert the page number for a section labeled
  161. "mrdesc".
  162.  
  163. If you need to use the '\\' character within the text of your document
  164. specify two '\\' characters in a row. For example, you would type the
  165. string "C:\\\\DPS\\\\DPS.EXE" to produce the string "C:\\DPS\\DPS.EXE".
  166.  
  167. To change the within line introducter character from backslash to
  168. something else, use the .WLCMD command whose syntax is
  169. ,x WLCMD command
  170. ,figure
  171. .WLCMD character
  172. ,endfigure
  173.  
  174. DPS commands are case insensitive so you can use either upper or
  175. lower case letters.
  176.  
  177. Chapter \ref{cmdref}, starting on page \pageref{cmdref}, provides a
  178. complete reference for the DPS commands. The remainder of this chapter
  179. discusses the commands from an operational point of view.
  180.  
  181. ,hl1 Text, Figures, and Verbatim
  182. ,X Mode;text
  183. ,X Text mode
  184. The bulk of your source document will consist of the text that DPS
  185. is to format. During its normal operation, DPS reads this text, combines
  186. words into lines and paragraphs, and outputs pages with headers and numbers
  187. if requested. While it is performing this formatting DPS is said
  188. to be in "text mode".
  189.  
  190. Two additional modes are used to temporarily disable formatting of
  191. input text.  These are "figure mode" and "verbatim mode". 
  192.  
  193. ,X Figure mode
  194. ,X Mode;figure
  195. ,X FIGURE command
  196. A figure is a series of records in the input document which should
  197. not be formatted, and which should be kept together (not split
  198. across pages).  While in figure mode DPS does not rearrange words on
  199. lines. It maintains the same spacing as in the source file but may
  200. indent all of the lines a fixed amount which can be controlled by
  201. the .FINDENT command (by default, figures are not indented).
  202. You cannot use within line commands within figures because all characters
  203. are taken "literally". This means it is not necessary to specify "\\\\"
  204. to produce a single "\\" within a figure.
  205. Use figure mode for figures, diagrams, and so forth.
  206. Place a .FIGURE command at the front of a figure and .ENDFIGURE at the end.
  207. The following example demonstrates how to use figure mode:
  208.  
  209. ,figure
  210. .figure
  211. +-------+   +----------+   +--------+
  212. | TRAIN |-->| Conveyor |-->| Sorter |
  213. +-------+   +----------+   +--------+
  214.                              |    |
  215.                              V    V
  216.                     +---------+  +---------+
  217.                     | Cracker |  | Grinder |
  218.                     +---------+  +---------+
  219.                         |              |
  220.                         V              V
  221.                     +---------+  +---------+
  222.                     | Packer  |  | Packer  |
  223.                     +---------+  +---------+
  224.                         |              |
  225.                         V              V
  226.                    +----------+  +-----------+
  227.                    |Whole nuts|  |Ground nuts|
  228.                    +----------+  +-----------+
  229. .endfigure
  230. ,endfigure
  231.  
  232. ,X Verbatim mode
  233. ,X Mode;verbatim
  234. ,X VERBATIM command
  235. Verbatim mode is very similar to figure mode.
  236. Like figure mode, verbatim mode preserves the source format of each
  237. line and does not move words from one line to another or adjust spacing.
  238. However, verbatim mode does not guarantee that all of the lines in the
  239. group will fit on a single page. Use the .VERBATIM command to begin
  240. verbatim mode and the .ENDVERBATIM command to return to normal text mode.
  241. The following example demonstrates the use of verbatim text:
  242.  
  243. ,need 15
  244. ,verbatim
  245. .verbatim
  246. /*-----------------------------------------------------------
  247.  * Function
  248.  *    Convert a year/month/day date into the corrsponding
  249.  *    day of the week.
  250.  */
  251. int dtu_weekday(int year,int month,int date)
  252. {
  253. /*
  254.  * Declarations
  255.  */
  256.       int j10,j14,value,w0to7;
  257. /*
  258.  * Code
  259.  */
  260.       j10 = month + 10;
  261.       j14 = year + (month-14)/12;
  262.       value = (13*(j10-j10/13*12)-1)/5+date+77
  263.                  +5*(j14-j14/100*100)/4
  264.                  +j14/400-j14/100*2;
  265.       w0to7 = value%7;
  266.       return w0to7+1;
  267. }
  268. .endverbatim
  269. ,endverbatim
  270.  
  271. ,hl1 Page Dimensions
  272. ,x Page Layout
  273. To properly format output text, DPS must know certain things about the
  274. capabilities of your printer.  These are the maximum number of lines
  275. which can be printed on the page, the maximum width of each line,
  276. and the margins to leave on the left and right edges of the paper.
  277.  
  278. The default page length is 58 lines, the default page width is 80 characters,
  279. and the default left and right margins are 6 characters. You can use the
  280. following commands to change these values:
  281. ,x LENGTH command
  282. ,X WIDTH command
  283. ,X LMARGIN command
  284. ,X RMARGIN command
  285. ,figure
  286. .LENGTH value    -- Specify number of lines per page.
  287. .WIDTH value     -- Specify number of characters per line.
  288. .LMARGIN value   -- Specify left margin spaces.
  289. .RMARGIN value   -- Specify right margin spaces.
  290. ,endfigure
  291. If you want to adjust these parameters it is best to place these commands
  292. at the front of your source document file before any text.
  293.  
  294. ,hl1 Chapters and Sections
  295. ,label sections
  296. ,x Chapters
  297. ,x Sections
  298. A simple document such as a letter does not need to be divided
  299. into sections.  An article may be divided into a number of sections
  300. such as the introduction, main body, and conclusions.  Longer documents,
  301. such as this one, are divided into chapters and sections.
  302.  
  303. DPS allows you to divide a document in a heirarchical manner, with
  304. chapters, main sections, sub-sections, sub-sub-sections, sub-sub-sub-sections,
  305. and so forth.  This allows you to organize your material using as
  306. much detail as it requires.  Up to nine levels of sections can be
  307. used. DPS automatically numbers the chapters and sections and uses this
  308. information in the table of contents.
  309.  
  310. ,x CHAPTER command
  311. Chapters, when used, are introduced with the .CHAPTER command, as with:
  312. ,figure
  313. .CHAPTER Technical Specification
  314. ,endfigure
  315.  
  316. ,X HLn command
  317. Sections are introduced with .HLn commands, where "n" denotes the
  318. depth of the section level.  .HL1 introduces the highest level section
  319. (within a chapter), HL2 introduces a sub-section, HL3 a sub-sub-section, etc.
  320. Take the following example:
  321. ,figure
  322. .CHAPTER Technical Specification
  323. .HL1 Scope of this document
  324. This document describes the use of the butterfly clamp.
  325. .HL1 Intended audience
  326. .HL2 Doctors
  327. Doctors need to know whether it works.
  328. .HL2 Nurses
  329. Nurses need to know how to use it.
  330. ,endfigure
  331.  
  332. The output would appear as follows:
  333. ,need 30
  334. ,center
  335.  
  336. Chapter 1
  337.  
  338. Technical Specification
  339.  
  340. ,endcenter
  341. 1.1 Scope of this document
  342.  
  343. This document describes the use of the butterfly clamp.
  344.  
  345. 1.2 Intended audience
  346.  
  347. 1.2.1 Doctors
  348.  
  349. Doctors need to know whether it works.
  350.  
  351. 1.2.2 Nurses
  352.  
  353. Nurses need to know how to use it.
  354.  
  355. Each .CHAPTER or .HL directive in the file produces an entry in the
  356. table of contents.  DPS always begins chapters on a new page.
  357. If the .DSIDE (double side printing) command is in effect, blank pages
  358. are inserted if necessary to force chapters to begin on odd pages (which
  359. are printed on the right side).
  360.  
  361. The .NLAHL command is used to set the number of blank lines to be
  362. left above a section header. The .SLMLOP command sets the number of
  363. lines that must remain on a page for DPS to begin a new section on the
  364. current page.
  365.  
  366. ,hl1 Styles
  367. ,label styles
  368. ,x Styles
  369.  
  370. People have individual tastes and needs for the style of formatted
  371. text.  Furthermore, a single document may need some text formatted
  372. in one style and other text in a different style.
  373.  
  374. To deal with this situation DPS comes preloaded with a number of
  375. different styles and allows you to create additional styles as needed.
  376. This section describes styles, documents the preloaded styles,
  377. and shows you how to create and use custom styles.
  378.  
  379. DPS comes preloaded with styles named STANDARD, PLAIN, REPORT, and LETTER.
  380. The STANDARD style is the default that is used unless you select a different
  381. style using the .STYLE command.
  382.  
  383. A new style can be selected or created at any point in the document by
  384. using the .STYLE command, as shown in the following examples:
  385. ,figure
  386. .STYLE STANDARD
  387. This text will be formatted according to the standard style.
  388. .STYLE CUSTOM
  389. This text is formatted according to the style CUSTOM.
  390. ,endfigure
  391.  
  392. If the style you list in a .STYLE command does not exist
  393. it will be created for you.  New styles start out being the same as
  394. style STANDARD.
  395.  
  396. The current style can be customized at any point
  397. by the style commands listed in Section \ref{stylecmds} beginning
  398. on page \pageref{stylecmds}.
  399. Since style commands always
  400. modify the current style, you can use them to modify built in styles
  401. or to create a new style.  For example, simply stating
  402. ,x JUSTIFY command
  403. ,x LMEXTRA command
  404. ,figure
  405. .NOJUSTIFY
  406. .LMEXTRA 5
  407. ,endfigure
  408.  
  409. at the top of your document modifies the standard style, deactivating
  410. text justification and specifying that all lines of a paragraph except
  411. the first should be indented 5 spaces.  Alternatively you could
  412. specify
  413.  
  414. ,figure
  415. .STYLE DESCRIPTION
  416. .NOJUSTIFY
  417. .LMEXTRA 5
  418. ,endfigure
  419.  
  420. to create a new style called DESCRIPTION with these modifications.
  421. The new style would remain in effect until DPS encounters another
  422. style command such as
  423. ,figure
  424. .STYLE STANDARD
  425. ,endfigure
  426.  
  427. to return to the standard style.
  428.  
  429. You can switch between styles as often as you like. If you modify attributes
  430. for a style the modifications remain in effect when you switch back to
  431. the style.
  432.  
  433. ,figure
  434. The following table documents parameters for the four
  435. built-in styles.
  436.  
  437.  Parameter     STANDARD      REPORT      LETTER        PLAIN
  438. -----------  -----------  -----------  -----------  -----------
  439. BLBP               1           1            1            1
  440. MLOP               2           2            2            2
  441. LMFIRST            0           0            0            0
  442. LMEXTRA            0           0            0            0
  443. NLAH               0           0            0            0
  444. NLBH               2           2            2            2
  445. NLAF               2           2            2            2
  446. H1TEXT             0           0            0            0
  447. HXTEXT             2           0            0            0
  448. H1PN               0           0            0            0
  449. HXPN               1           0            0            0
  450. F1TEXT             0           0            0            0
  451. FXTEXT             0           0            0            0
  452. F1PN               2           2            0            0
  453. FXPN               0           2            0            0
  454. FINDENT            0           0            0            0
  455. CHAPHEAD           1           0            0            0
  456. JUSTIFY            1           1            0            1
  457. NLAHL        5,2,1,1,1,   5,2,1,1,1,   5,2,1,1,1,   5,2,1,1,1,
  458.                1,1,1,1      1,1,1,1      1,1,1,1     1,1,1,1 
  459. INDENT       0,0,0,0,0,   0,0,0,0,0,   0,0,0,0,0,   0,0,0,0,0,
  460.                0,0,0,0      0,0,0,0      0,0,0,0     0,0,0,0
  461. LIST_IN1     4,8,12,16,   4,8,12,16,   4,8,12,16,   4,8,12,16,
  462.              20,24,28,32  20,24,28,32  20,24,28,32  20,24,28,32
  463. LIST_INX     4,8,12,16,   4,8,12,16,   4,8,12,16,   4,8,12,16,
  464.              20,24,28,32  20,24,28,32  20,24,28,32  20,24,28,32
  465. LIST_BULCHR     period      period       period       period
  466. LIST_BULPOS  2,6,10,14,   2,6,10,14,   2,6,10,14,   2,6,10,14,
  467.              18,22,26,30  18,22,26,30  18,22,26,30  18,22,26,30
  468. SLMLOP        5,5,5,5,5    5,5,5,5,5    5,5,5,5,5    5,5,5,5,5
  469.                5,5,5,5      5,5,5,5      5,5,5,5      5,5,5,5
  470. ,endfigure
  471. Some style parameters are defined as lists of values instead
  472. of a single value.  Some, such as .NLAHL (Number of Lines Above Header
  473. at each Level) define a separate value for every chapter or section
  474. level.  Others, such as .LIST_IN1 (LIST INdentation for the first
  475. line of a list at each list nesting level) define a separate value
  476. for each depth to which lists can be nested.
  477.  
  478. To modify these parameters you must first specify the name of the
  479. parameter, then the section or nesting level which you are modifying,
  480. then finally the value you wish to specify.
  481.  
  482. ,x NLAHL command
  483. Take .NLAHL as an example. This parameter specifies the number of blank
  484. lines to leave above the header line for a specific section level.
  485. The level 1 value specifies what is used for .HL1, level 2
  486. for .HL2, and so forth.  Hence the style modification command
  487. ,figure
  488. .NLAHL 1 4
  489. ,endfigure
  490. means that you want 4 lines above the heading generated by a .HL1 command.
  491.  
  492. ,x Headers
  493. ,x Footer
  494. ,x H1TEXT command
  495. ,x HXTEXT command
  496. ,x H1PN command
  497. ,x HXPN command
  498. ,x F1TEXT command
  499. ,x FXTEXT command
  500. ,x F1PN command
  501. ,x FXPN command
  502. ,x NLAH command
  503. ,x NLAF command
  504. ,x NLBH command
  505. For the STANDARD style DPS places a page number at the bottom center of
  506. the first page of a chapter and places a page heading with a page number
  507. at the margin of subsequent pages of the chapter. The .H1TEXT and .HXTEXT
  508. style parameters determine the type of header printed. The .H1PN and
  509. .HXPN parameters determine the type of page number for the heading.
  510. The .F1TEXT and .FXTEXT parameters control the footer style and the
  511. .F1PN and .FXPN parameters control the style of page number in the footer.
  512. The .NLAH, .NLAF and .NLBH parameters control the spacing above and
  513. below the header and footer.
  514.  
  515. The following numeric codes are used to define header and footer styles:
  516. Headers are printed at the top of each page; footers are printed at
  517. the bottom.
  518. ,label exlist
  519. ,x Headers;style of
  520. ,x Footers;style of
  521. ,description
  522. ,item 0 -- No text at all in the header or footer.
  523. ,item 1 -- Standard style, showing current chapter and section.  The
  524. contents of the header or footer will vary depending on whether
  525. single or double page mode is being used.  In single page mode (the
  526. default), the current chapter name is always left justified in the
  527. header or footer.  In double page mode, the chapter name goes on the
  528. right end of the even pages and the section name goes on the left
  529. end of the odd pages.  Double sided mode is described in Section
  530. \ref{dside}.
  531. ,item 2 -- Restrict text to name of the current chapter, omitting
  532. the section name.  In single sided mode this places the chapter
  533. name on the left end.  In double sided mode the chapter name is
  534. on the right end of even pages and the left end of odd pages.
  535. ,endlist
  536.  
  537. The following numeric codes are used to define page numbering styles:
  538. ,x Page number;style codes
  539. ,description
  540. ,item 0 -- No page number at all.
  541. ,item 1 -- Decimal value at end of line.  For single side mode this is
  542. always the left end.  For double sided mode it alternates sides.
  543. ,item 2 -- Decimal value in the center of the line.
  544. ,item 3 -- Roman numeric at end of line.  For single side mode this is
  545. always the left end.  For double sided mode it alternates sides.
  546. ,item 4 -- Roman numeral in the center of the line.
  547. ,endlist
  548.  
  549. ,hl1 Centering Text
  550. ,x Centering text
  551. ,x SCENTER command
  552. Often you will want to center a single line of text in the midst of
  553. normally formatted text.  The .SCENTER command is used for this.  DPS
  554. will center the line which follows it, then return to normal processing
  555. of input.  For example, the input text file:
  556. ,figure
  557. He wandered on through the forest, checking his compass
  558. regularly to be sure that he was still heading toward
  559. the general's house.  About an hour after he stopped to
  560. eat his sack lunch, he encountered a tree into which
  561. a message had been carved:
  562. .SCENTER
  563. "The great man retains the childs mind"
  564. He wondered, as he neared the house of the fierce military
  565. leader, if the general had ever been exposed to Taoist
  566. principles.
  567. ,endfigure
  568. produces the output text:
  569.  
  570. ,need 12
  571. ,squeeze 5
  572. He wandered on through the forest, checking his compass
  573. regularly to be sure that he was still heading toward
  574. the general's house.  About an hour after he stopped to
  575. eat his sack lunch, he encountered a tree into which
  576. a message had been carved:
  577. ,scenter
  578. "The great man retains the childs mind"
  579. He wondered, as he neared the house of the fierce military
  580. leader, if the general had ever been exposed to Taoist
  581. principles.
  582. ,squeeze 0
  583.  
  584. ,X CENTER command
  585. ,X ENDCENTER command
  586. Sections of centered text can be begun with a .CENTER command
  587. and finished with a .ENDCENTER command.  Note that DPS does not
  588. fill paragraphs while in center mode.  Each line of the source
  589. file is taken as a single line figure which is centered.  Hence
  590. the input file:
  591. ,figure
  592. .CENTER
  593. He wandered on through the forest, checking his compass
  594. regularly to be sure that he was still heading toward
  595. the general's house.  About an hour after he stopped to
  596. eat his sack lunch, he encountered a tree into which
  597. a message had been carved:
  598. "The great man retains the childs mind"
  599. He wondered, as he neared the house of the fierce military
  600. leader, if the general had ever been exposed to
  601. Taoist principles.
  602. .ENDCENTER
  603. ,endfigure
  604. produces the following output file:
  605. ,need 10
  606. ,center
  607. He wandered on through the forest, checking his compass
  608. regularly to be sure that he was still heading toward
  609. the general's house.  About an hour after he stopped to
  610. eat his sack lunch, he encountered a tree into which
  611. a message had been carved:
  612. "The great man retains the childs mind"
  613. He wondered, as he neared the house of the fierce military
  614. leader, if the general had ever been exposed to
  615. Taoist principles.
  616. ,endcenter
  617.  
  618. ,hl1 Indentation
  619. ,x Page Layout
  620. ,x Margins
  621. The margins imposed by the printer's ability to print on a piece
  622. of paper has already been discussed.  This is covered by the .WIDTH,
  623. .LMARGIN, and .RMARGIN commands.  All text, including formatted text
  624. and figures, is placed within these boundaries. The default width is
  625. 80 characters. The default margins are 6 characters each. Thus the default
  626. area in which text can be printed is 68 columns.
  627.  
  628. The length of the paper can be specified using the .LENGTH command
  629. whose default value is 58 lines.
  630.  
  631. ,X LMFIRST command
  632. ,x LMEXTRA command
  633. ,x LIST_IN1 command
  634. ,x LIST_INX command
  635. Formatted text has left margins imposed by the style.  The
  636. .LMFIRST and .LMEXTRA commands specify the left margin for
  637. the first and each subsequent line of a paragraph.  Lists, which
  638. are described in chapter \ref{lists}, are given separate margins
  639. by the style commands .LIST_IN1 and .LIST_INX.
  640.  
  641. ,x HANG command
  642. The .HANG command can be used to create paragraphs with hanging indentation.
  643. When a non-zero value is specified for the hanging indentation DPS indents
  644. all lines of subsequents paragraphs by this amount but leaves the first
  645. line of each paragraph unindented so it is flush with the left margin.
  646. For example, the command
  647. ,figure
  648. .HANG 5
  649. ,endfigure
  650. causes all lines other than the first line of each subsequent paragraph
  651. to be indented 5 spaces. Specify "HANG 0" to turn off hanging indentation.
  652. See also the .DESCRIPTION command on page \pageref{description} for
  653. a similar facility for formatting lists with hanging indentation.
  654.  
  655. ,x SQUEEZE command
  656. A command which is similar to .HANG is .SQUEEZE.  This causes formatted
  657. text to be "squeezed" by the specified number of columns.  In other words,
  658. the command
  659. ,figure
  660. .SQUEEZE 5
  661. ,endfigure
  662. adds 5 to the left margin and subtracts 5 from the right margin. This is
  663. useful for quotations and other material that should be indented on both
  664. sides. Put the command ".SQUEEZE 0" at the end of the material to terminate
  665. the squeeze condition.
  666.  
  667. ,hl1 Double Sided Printing
  668. ,label dside
  669. ,x Double sided printing
  670. ,x DSIDED command
  671. ,x DOUBLESIDED command
  672. DPS has the ability to print double sided text.  This format
  673. is used when producing output which is to be bound.
  674. Double sided mode has the following effects on the formatted document:
  675. ,list
  676. ,item The left and right margin values (.LMARGIN and .RMARGIN) are
  677.     reversed for even pages which normally appear on the left side
  678.     of a bound document. This means that the left margin value is
  679.     always used on the side of the page nearest to the binding.
  680.     For a bound document you may want to use a larger value for the
  681.     left margin to allow room for the space used by the binding.
  682. ,item Blank pages are inserted as necessary to force chapters to start
  683.     on odd numbered pages.
  684. ,item The standard heading is changed so that the the chapter name goes on the
  685.     right end of the even pages and the section name goes on the left
  686.     end of the odd pages.
  687. ,endlist
  688.  
  689. Double sided printing mode is specified with either of these commands:
  690. ,figure
  691. .DSIDED
  692. .DOUBLESIDED
  693. ,endfigure
  694. If you wish to use double sided mode you should put one of these commands
  695. at the front of your source document.
  696.  
  697. ,hl1 Lists
  698. ,label lists
  699. ,X Lists
  700. ,X LIST command
  701. ,x ENDLIST command
  702. ,x LE command
  703. ,x ITEM command
  704. ,x DESCRIPTION command
  705. ,x ENDDESCRIPTION command
  706. Lists are a special paragraph style used when describing a set of things.
  707. Lists can contain sublists,
  708. and so forth, nested up to 9 levels deep.  The current style determines
  709. the indentation of the first and subsequent line of each list item, and also
  710. provides for a "bullet" character at a given position to visually mark
  711. the start of the next item.
  712.  
  713. There are three types of lists in DPS: regular lists, numbered lists,
  714. and description lists.  When you nest lists you can intermix these
  715. types but each list, regardless of its type, counts against the
  716. nesting limit of 9.
  717.  
  718. ,X Lists;Regular
  719. A regular list begins with the .LIST command and ends with the
  720. .ENDLIST command.
  721. Each new element of the list is denoted with a line that starts out
  722. with a .ITEM (or .LE) command, followed by the text of the item. The text may
  723. be continued to subsequent lines if it does not fit on a single line.
  724. (The .LE command is equivalent to .ITEM).
  725. DPS performs
  726. formatting and justification of the text of each list item.  The following
  727. is an example of a list:
  728. ,figure
  729. .LIST
  730. .ITEM Shareware programs are an excellent value because you can
  731. try a program to see if it suitable for your needs before you
  732. buy it.
  733. .ITEM Many shareware programs work as well as expensive
  734. commercial products but cost much less to register.
  735. .ITEM Shareware is very convenient because you can find
  736. programs of interest on many bulletin boards and
  737. download them without leaving your home.
  738. .ENDLIST
  739. ,endfigure
  740. This produces the following output:
  741. ,need 6
  742. ,LIST
  743. ,item Shareware programs are an excellent value because you can try a
  744. program to see if it suitable for your needs before you buy it.
  745. ,item Many shareware programs work as well as expensive commercial products
  746. but cost much less to register.
  747. ,item Shareware is very convenient because you can find programs of
  748. interest on many bulletin boards and download them without leaving
  749. your home.
  750. ,ENDLIST
  751.  
  752. ,x LIST_BULCHR command
  753. ,x LIST_INX command
  754. ,x LIST_BULPOS command
  755. ,x LIST_IN1 command
  756. ,x Bullet character
  757. ,x Bullet position
  758. Each element of a regular list begins with a line containing the
  759. "bullet" character. The default bullet character is a period but you can
  760. use the .LIST_BULCHR command to set any desired character as the
  761. bullet for any level of list nesting.  Style elements .LIST_IN1,
  762. .LIST_INX, and .LIST_BULPOS control the indentation of the first line,
  763. indentation of subsequent lines, and bullet position at each list
  764. nesting level.
  765.  
  766. ,X Lists;Numbered
  767. ,x NLIST_NUMPOS command
  768. ,x NLIST command
  769. ,x LIST_IN1 command
  770. ,x LIST_INX command
  771. ,X Numbered lists
  772. Numbered lists are like regular lists except that the elements are numbered
  773. instead of being marked with bullet characters.  The same style
  774. parameters, .LIST_IN1 and .LIST_INX control the indentation for NLISTS
  775. but a separate style attribute, .NLIST_NUMPOS, controls the column
  776. used for formatted the numbers.  Numbered lists are begun with the .NLIST
  777. command and ended with .ENDLIST. Each element in the list is
  778. introduced with a .ITEM command. The following is an example of a
  779. numeric list specification:
  780. ,figure
  781. .NLIST
  782. .ITEM Insert the disk in either drive A or B.
  783. .ITEM Type "MD \DPS"
  784. .ITEM Type "CD \DPS"
  785. .ITEM TYPE "COPY *.*"
  786. .ENDLIST
  787. ,endfigure
  788.  
  789. ,label description
  790. ,X Lists;Description
  791. ,x DESC_IN1 command
  792. ,x DESC_INX command
  793. ,x DESCRIPTION command
  794. Description lists are used when you want the indentation, not a bullet
  795. or number, to mark the beginning of the list element. With a
  796. description list the first line of each item is not indented but
  797. subsequent lines are. This causes the first line of each item stand out.
  798. Description lists are begun with the .DESCRIPTION command and ended
  799. with .ENDLIST. The indentation for the first line of a description
  800. list element is controlled by the style attribute .DESC_IN1, which is
  801. specified for each nesting level.  Indentation of subsequent lines is
  802. controlled by .DESC_INX.
  803.  
  804. List items may have multiple paragraphs. Only the first line of each
  805. item is marked or numbered.
  806.  
  807. The following is an example of a description list definiton:
  808. ,figure
  809. .DESCRIPTION
  810. .ITEM TSX-32 -- Multi-user operating system that is very
  811. powerful and runs on 386 and 486 computers. Some TSX
  812. sites support over 150 terminals on a single computer.
  813. .ITEM Mathplot -- Mathematical function plotting program.
  814. Excellent program for visualizing mathematical
  815. functions. Enter a function using normal algebraic
  816. notation and it is immediately graphed.
  817. .ITEM Nonlin -- Linear and nonlinear statistical
  818. regression analysis and curve fitting. Nonlin determines
  819. the values of parameters for a function that cause the
  820. function to best fit a set of data values.
  821. .ENDLIST
  822. ,endfigure
  823. The output produced by these commands is shown below:
  824. ,description
  825. ,item TSX-32 -- Multi-user operating system that is very powerful and
  826. runs on 386 and 486 computers.
  827. Some TSX sites support over 150 terminals on a single computer.
  828. ,item Mathplot -- Mathematical function plotting program. Excellent program
  829. for visualizing mathematical functions. Enter a function using
  830. normal algebraic notation and it is immediately graphed.
  831. ,item Nonlin -- Linear and nonlinear statistical regression analysis and
  832. curve fitting. Nonlin determines the values of parameters for
  833. a function that cause the function to best fit a set of data values.
  834. ,ENDLIST
  835.  
  836. ,hl1 Blank Lines and Page Ejects
  837. ,X Page Layout
  838. ,x Blank lines
  839. ,x Ejecting pages
  840. DPS advances to the next page of the document when the current page
  841. is filled up.  However, there are various circumstances when DPS
  842. checks to see if it should go ahead and start a new page before
  843. the current one is completely full.
  844.  
  845. ,X SLMLOP command
  846. ,x Sections;minimum lines remaining
  847. DPS will always start a new page at the beginning of a new chapter.
  848. The beginning of each section within the chapter forces DPS to consider
  849. whether enough space on the page remains to begin it.  This prevents
  850. a section header appearing by itself at the bottom of the page, or with
  851. very few lines of text.  Styles control the minimum number of 
  852. lines on a page for each nested section level, using the .SLMLOP
  853. command.
  854.  
  855. ,x MLOP command
  856. ,x BLBP command
  857. In addition to checking for a minimum number of available lines before
  858. starting a section, DPS also checks for a minimum number of lines before
  859. starting a new paragraph. The default number of lines that must be
  860. available for starting a new paragraph is 2, but you can change this
  861. value by use of the .MLOP command. The .BLBP style parameter controls
  862. the number of blank lines between paragraphs. The default value is 1.
  863.  
  864. Since figures must all fit on a page, DPS may also prematurely
  865. eject the page to fit the figure on the next page.
  866.  
  867. ,x NEED command
  868. You can force DPS to be sure that a certain number of lines
  869. appear on a page if you don't want certain text to be broken
  870. across pages by using the .NEED command.  For example,
  871. ,figure
  872. .NEED 12
  873. ,endfigure
  874.  
  875. asks DPS to be sure that at least 12 lines remain on the current
  876. output page.  If fewer than 12 lines remain, a new page is started.
  877.  
  878. ,x PAGE command
  879. A more forcible command is .PAGE, which tells DPS to begin a new
  880. page if there is any text at all on the current one.
  881.  
  882. ,X SPACE command
  883. To finish the subject of blank lines and page ejection we have
  884. the commands .SPACE and .FSPACE.  First consider the command:
  885. ,figure
  886. .SPACE 5
  887. ,endfigure
  888. In normal text mode, this command tells DPS to finish the current
  889. paragraph and check to see how close to the end of the page it is.
  890. The next paragraph will begin 5 lines down on the current page if
  891. there is enough room.  If there is not, it will begin at the top
  892. of the next page.
  893.  
  894. ,x FSPACE command
  895. A related command is .FSPACE.  The command
  896. ,figure
  897. .FSPACE 5
  898. ,endfigure
  899.  
  900. means that you want 5 blank lines to preceed the next paragraph,
  901. even if the space must be placed at the top of the next page.  This
  902. could be used to leave space for a figure or clip art.
  903.  
  904. Note that when in figure or centered mode, .SPACE acts like .FSPACE.
  905.  
  906. ,hl1 Page and Section References
  907. ,label xref
  908. ,x REF command
  909. ,x PAGEREF command
  910. ,X LABEL command
  911. ,X Labels
  912. ,X Cross references
  913. It is often necessary, especially in technical documentation, to
  914. refer the reader to other sections of the document for further information
  915. on a particular subject.  We have done this in this manual when
  916. we say things like "Lists are described in Section \ref{lists} on
  917. page \pageref{lists}".
  918. The
  919. author did not count sections and determine that Section \ref{lists}
  920. documents lists.  This would make a document tedious to maintain
  921. because insertion of new material would change all the
  922. numbers.  Instead, the text used the \\REF within line command:
  923. ,figure
  924. Lists are described in Section \ref{lists}.
  925. ,endfigure
  926.  
  927. When DPS encounters a \\REF{name} command it looks up the label name
  928. enclosed in braces and
  929. determines the chapter and section where the label was defined. It then replaces
  930. the \\REF command with the corresponding chapter or section number.
  931.  
  932. A similar command is \\PAGEREF.  This command causes the page number where
  933. a label was defined to be inserted in the text. For example, the
  934. text
  935. ,figure
  936. See page \pageref{lists} for more information about lists.
  937. ,endfigure
  938. produces the output:
  939. See page \pageref{lists} for more information about lists.
  940.  
  941. ,x LABEL command
  942. In order for DPS to be able to locate the page, chapter, or
  943. section to which you are referring,
  944. both \\REF and \\PAGEREF commands take a string argument, enclosed in
  945. braces.  This descriptive name must have a corresponding .LABEL
  946. command located near the text to which you are referring.
  947. .LABEL commands for chapters and sections should usually immediately
  948. follow the .CHAPTER or .HLn commands that start the chapter or section.
  949. However, you can place .LABEL commands deep within sections when you want
  950. to define a label to be used as a page reference. The following is an
  951. example .LABEL command that defines a label named 'intro':
  952. .figure
  953. .LABEL INTRO
  954. .endfigure
  955.  
  956. DPS is a multi-pass processor so you can use \\ref and \\pageref commands
  957. to refer to labels that are defined after the reference point.
  958.  
  959. ,hl1 Table of Contents
  960. ,x Table of contents
  961. ,x TOC command
  962. DPS will automatically produce a table of contents for your document
  963. showing chapter and section numbers and pages. This information is
  964. determined by DPS from the .CHAPTER and .HLn commands.
  965.  
  966. To allow you to have heading pages in front of the table of contents,
  967. you must insert a .TOC command in your source file at the point
  968. where you want the table of contents generated. If you do not use
  969. a .TOC command no table of contents will be generated.
  970.  
  971. ,hl1 Index Entries
  972. ,x Index
  973. ,X X command
  974. An index is a valuable part of any large document.  If you write
  975. technical manuals, try to bear in mind that
  976. your readers will not always read your document from cover to cover, or
  977. even an entire chapter, when they are searching for a particular fact.
  978. Having an index that can be used to rapidly locate topics greatly
  979. enhances the value of a manual.
  980.  
  981. Index entries are generated by the .X command.  You should place
  982. the .X command on a line immediately preceeding the text
  983. you are referring to, as shown in the following example:
  984. ,figure
  985. .X Record length
  986. The maximum record length is 256 characters,
  987. but records are normally...
  988. ,endfigure
  989.  
  990. Index entries can have both a main topic and a subtopic. To do this
  991. separate the main topic entry from the subtopic by a semicolon as
  992. shown by the following example:
  993. ,figure
  994. .X File;Input
  995. .X File;Output
  996. .X File;Opening
  997. ,endfigure
  998.  
  999. ,chapter Command Reference
  1000. ,label cmdref
  1001. This chapter contains an alphabetical list of the DPS commands divided
  1002. into three sections: between line, within line, and style modification.
  1003.  
  1004. ,hl1 Between Line Commands
  1005. ,x Between line commands
  1006. ,description
  1007. ,x BLCMD command
  1008. ,item .BLCMD character -- Specifies a new introducer character for
  1009.     between line commands. The default character is period.
  1010. ,x CENTER command
  1011. ,item .CENTER -- Causes each line of text between this command and the
  1012.     corresponding .ENDCENTER command to be centered on the page.
  1013.     The contents of each line is preserved (i.e., words are not
  1014.     moved between lines).
  1015. ,x CHAPTER command
  1016. ,item .CHAPTER title -- Begins a new chapter.  The title string is
  1017.     printed as the chapter heading and used in the table of contents.
  1018.     DPS starts each chapter on a new page.
  1019.     If double sided printing is in effect (see the .DSIDE command)
  1020.     then a blank page is ejected if needed to start the chapter on
  1021.     an odd page number.
  1022. ,x DESCRIPTION command
  1023. ,item .DESCRIPTION -- Begins a description type list. The first line of
  1024.     each item in the list is not indented but other lines are indented.
  1025.     The list is terminated by a .ENDLIST command.
  1026. ,x DSIDE command
  1027. ,x Double sided printing
  1028. ,item .DSIDE -- Specifies that the document will be printed on both
  1029.     sides of the paper. If this is wanted the .DSIDE command should
  1030.     appear at the front of the document. Double sided mode has the
  1031.     following effects:
  1032. ,list
  1033. ,item The left and right margin values (.LMARGIN and .RMARGIN) are
  1034.     reversed for even pages which normally appear on the left side
  1035.     of a bound document. This means that the left margin value is
  1036.     always used on the side of the page nearest to the binding.
  1037.     For a bound document you may want to use a larger value for the
  1038.     left margin to allow room for the space used by the binding.
  1039. ,item Blank pages are inserted as necessary to force chapters to start
  1040.     on odd numbered pages.
  1041. ,item The standard heading is changed so that the the chapter name goes on the
  1042.     right end of the even pages and the section name goes on the left
  1043.     end of the odd pages.
  1044. ,endlist
  1045. ,x ENDCENTER command
  1046. ,item .ENDCENTER -- Ends centered mode that was started with a .CENTER
  1047.     command.
  1048. ,x ENDFIGURE command
  1049. ,item .ENDFIGURE -- Ends figure mode that was started with a .FIGURE command.
  1050. ,x ENDLIST command
  1051. ,item .ENDLIST -- Ends list mode that was started with a .LIST, .NLIST, or
  1052.     .DESCRIPTION command.
  1053. ,x ENDVERBATIM command
  1054. ,item .ENDVERBATIM -- Ends verbatim mode that was started with a .VERBATIM
  1055.     command.
  1056. ,x FIGURE command
  1057. ,item .FIGURE -- Begins figure mode.  Use the .ENDFIGURE command to terminate
  1058.     figure mode. No formatting takes place in figure mode and within
  1059.     line commands are not recognized. You may use the .FINDENT command
  1060.     to cause figures to be indented.
  1061. ,x FSPACE command
  1062. ,item .FSPACE number -- Forces the specified number of blank lines to be
  1063.     skipped over.
  1064. ,x HANG command
  1065. ,item .HANG number -- Specifies that the following paragraphs are to have
  1066.     hanging indentation. The first line of the paragraph is not indented
  1067.     but all other lines are indented the specified number of spaces.
  1068. ,label hln
  1069. ,x HLn command
  1070. ,item .HLn text -- Specify the heading for a section.  The 'n' character
  1071.     in .HLn should be replaced with a digit. .HL1 specifies the heading
  1072.     for the highest section level (below a chapter), .HL2 specifies the
  1073.     heading for a sub-section, .HL3 for a sub-sub-section, etc.
  1074.     The text string specified following .HLn is used as the heading
  1075.     for the section and also appears in the table of contents.
  1076. ,x ITEM command
  1077. ,item .ITEM text -- Specifies an item of a list. This can be used in the range
  1078.     of .LIST, .NLIST, and .DESCRIPTION. The text that begins on the
  1079.     command line may be continued to subsequent lines.
  1080. ,x LABEL command
  1081. ,item .LABEL name -- Defines a label that may be referenced by the
  1082.     \\ref{name} and \\pageref{name} within line commands.
  1083. ,x LE command
  1084. ,item .LE text -- Equivalent to .ITEM. Specifies an item of a list.
  1085. ,x LENGTH command
  1086. ,item .LENGTH number -- Specifies the number of lines to be printed on
  1087.     each page.
  1088. ,x LIST command
  1089. ,item .LIST -- Begins a list whose items are marked by "bullet" characters.
  1090.     The default bullet character is the period but you may use the
  1091.     .LIST_BULCHR command to specify a different bullet character.
  1092.     The list is terminated by a .ENDLIST command.
  1093. ,x LMARGIN command
  1094. ,item .LMARGIN number -- Specifies the number of spaces to use for the
  1095.     left margin of the page.  The default value is 6.
  1096. ,x NEED command
  1097. ,item .NEED number -- Causes DPS to check to see if there are at least
  1098.     as many lines remaining on the page as the specified value.
  1099.     If there are not, the current page is ejected and the text that follows
  1100.     is printed at the top of the next page.
  1101. ,x NLIST command
  1102. ,item .NLIST -- Begins a numbered list. Each item in the list is numbered.
  1103.     The list is terminated by a .ENDLIST command.
  1104. ,x PAGE command
  1105. ,item .PAGE -- Forces a page eject at the current point.
  1106. ,x RMARGIN command
  1107. ,item .RMARGIN number -- Specifies the number of spaces to use for the
  1108.     right margin of the page. The default value is 6.
  1109. ,x SCENTER command
  1110. ,item .SCENTER -- Causes the next single line to be centered. Normal
  1111.     text formating mode resumes after the following line.
  1112. ,x SPACE command
  1113. ,item .SPACE number -- If at least the specified number of lines remain on
  1114.     the current page they are skipped over and left blank. If fewer
  1115.     than the specified number of lines remain, the current page is
  1116.     ejected and printing resumes at the top of the next page.
  1117.     See also the .FSPACE command.
  1118. ,x SQUEEZE command
  1119. ,item .SQUEEZE number -- Causes the following text to be indented the
  1120.     specified number of spaces on both the left and right sides.
  1121.     Specify ".SQUEEZE 0" to cancel squeeze mode.
  1122. ,x STYLE command
  1123. ,item .STYLE name -- Selects a specified style for the text that follows.
  1124.     If the name matches a style that has already been defined then that
  1125.     style is resumed and any style parameters that were specified for
  1126.     it continue in effect. If the style name has not been previously
  1127.     used then a new style definition is begun. New styles are initialized
  1128.     to the parameters for the STANDARD style.
  1129. ,x TOC command
  1130. ,item .TOC -- Causes the table of contents to be generated at this point
  1131.     in the document.
  1132. ,x VERBATIM command
  1133. ,item .VERBATIM -- Begins verbatim mode. In verbatim mode no formatting is
  1134.     done and words are not moved between lines. Verbatim mode is similar
  1135.     to figure mode but the text is not required to fit on a single
  1136.     page. Verbatim mode is terminated by a .ENDVERBATIM command.
  1137. ,x WIDTH command
  1138. ,item .WIDTH number -- Specifies the page width.  The actual area that the
  1139.     document text is printed in is equal to the page width minus the
  1140.     left and right margins. The default width is 80.
  1141. ,x WLCMD command
  1142. ,item .WLCMD character -- Specifies a new introducer character for
  1143.     within line commands. The default character is '\\'.
  1144. ,x X command
  1145. ,item .X item1[;item2] -- Defines an entry to go in the index. If you
  1146.     want a two level entry specify the primary index phrase followed
  1147.     by a semicolon and the secondary phrase.
  1148. ,endlist
  1149.  
  1150. ,need 10
  1151. ,hl1 Within Line Commands
  1152. ,x Within line commands
  1153. The following commands may appear within the body of your text.
  1154. They are not recognized in figure or verbatim mode.
  1155. You can use the .WLCMD command to change the introducer character.
  1156.  
  1157. ,description
  1158. ,x PAGEREF command
  1159. ,item \\PAGEREF{name} -- When this command is encountered in your document
  1160.     it is replaced by the page number where the specified label name
  1161.     was defined. The "name" must be defined somewhere in your document
  1162.     by use of the .LABEL command (see Section \ref{xref} on
  1163.     page \pageref{xref}).
  1164. ,x REF command
  1165. ,item \\REF{name} -- When this command is encountered it is replaced by
  1166.     the chapter or section number where the label was defined by use
  1167.     of a .LABEL command. If the label was defined after a .CHAPTER
  1168.     command but before any .HLn command then the number will be
  1169.     an integer that corresponds to the chapter number. If the
  1170.     label was defined after a .HLn command then a section number
  1171.     of the form 'n.m.i' will be inserted.
  1172. ,endlist
  1173.  
  1174. ,need 12
  1175. ,hl1 Style Parameter Commands
  1176. ,label stylecmds
  1177. The following commands set parameters for the currently selected style.
  1178. You choose a style by using the .STYLE command. If you change some parameters
  1179. for a style, select another style, and then reselect the first style, the
  1180. changed parameters are remembered. See Section \ref{styles} starting
  1181. on page \pageref{styles} for additional information about styles.
  1182.  
  1183. ,description
  1184. ,x BLBP command
  1185. ,item .BLBP number -- Specifies the number of blank lines that DPS should
  1186.     insert between paragraphs. The default value is 1.
  1187. ,x CHAPHEAD command
  1188. ,item .CHAPHEAD number -- Specifies whether a chapter heading is to be
  1189.     printed on the first page of a chapter.
  1190.     A chapter heading consists of some blank lines, a
  1191.     line such as "Chapter nn", and the chapter title line.
  1192.     Specify 1 to enable chapter headings or 0 to disable them.
  1193.     The STANDARD style has chapter headings enabled, the REPORT,
  1194.     LETTER, and PLAIN styles default chapter headings off.
  1195. ,x DESC_IN1 command
  1196. ,item .DESC_IN1 level amt -- Amount to indent the text on the first line
  1197.     of each paragraph within a description type list.
  1198.     The 'level' number specifies
  1199.     the list nesting level; 0 corresponds to a list that is not
  1200.     within another list. The 'amt' number specifies the number of
  1201.     spaces to indent. By default, an unnested list (level 0)
  1202.     is indented 0 spaces and each deeper level of nesting is indented
  1203.     an additional 4 spaces.
  1204. ,x DESC_INX command
  1205. ,item .DESC_INX level amt -- Amount to indent the text on all lines other
  1206.     than the first line of each paragraph within a description type list.
  1207.     The 'level' number specifies
  1208.     the list nesting level; 0 corresponds to a list that is not
  1209.     within another list. The 'amt' number specifies the number of
  1210.     spaces to indent. By default, an unnested list (level 0)
  1211.     is indented 4 spaces and each deeper level of nesting is indented
  1212.     an additional 4 spaces.
  1213. ,x F1PN command
  1214. ,x Footers;page number
  1215. ,item .F1PN number -- Type of page number to print in the footer line of
  1216.     first page of a chapter.
  1217.     0 = no number, 1 = decimal page number at right end of line or
  1218.     alternating left/right for double sided, 2 = decimal number in
  1219.     center of line, 3 = decimal number at right end of line,
  1220.     4 = roman numberal centered in line. The default value is 2 for
  1221.     STANDARD and REPORT styles and 0 for the other styles.
  1222. ,x F1TEXT command
  1223. ,x Footers;style of
  1224. ,item .F1TEXT number -- Type of footer to be printed on the first page
  1225.     of a chapter. Specify 0 for no footer, 1 for the chapter name,
  1226.     or 2 for the section name. The default is 0.
  1227. ,x FINDENT command
  1228. ,item .FINDENT number -- Specifies the number of characters that
  1229.     figures are to be indented from the left margin.
  1230.     The default value is 0.
  1231. ,x FXPN command
  1232. ,x Footers;page number
  1233. ,x Page number;in footer
  1234. ,item .FXPN number -- Type of page number to print in footer lines of
  1235.     pages after the first page of a chapter.
  1236.     0 = no number, 1 = decimal page number at right end of line or
  1237.     alternating left/right for double sided, 2 = decimal number in
  1238.     center of line, 3 = decimal number at right end of line,
  1239.     4 = roman numberal centered in line. The default value is 2
  1240.     for REPORT style and 0 for all other styles.
  1241. ,x FXTEXT command
  1242. ,x Footers;style of
  1243. ,item .FXTEXT number -- Type of footer to be printed on pages after
  1244.     the first page of a chapter. Specify 0 for no footer, 1 for
  1245.     the chapter name, or 2 for the section name.
  1246.     The default is 0.
  1247. ,x H1PN command
  1248. ,x Page number;in header
  1249. ,x Headers;page number
  1250. ,item .H1PN number -- Type of page number to print in the heading line of
  1251.     the first page of a chapter.
  1252.     0 = no number, 1 = decimal page number at right end of line or
  1253.     alternating left/right for double sided, 2 = decimal number in
  1254.     center of line, 3 = decimal number at right end of line,
  1255.     4 = roman numberal centered in line. The default value is 0.
  1256. ,x H1TEXT command
  1257. ,x Headers;style of
  1258. ,item .H1TEXT number -- Type of header to be printed on the first page
  1259.     of a chapter. Specify 0 for no header, 1 for the chapter name,
  1260.     or 2 for the section name. The default is 0.
  1261. ,x HXPN command
  1262. ,x Page number;in header
  1263. ,x Headers;page number
  1264. ,item .HXPN number -- Type of page number to print in heading line of
  1265.     pages after the first page of a chapter.
  1266.     0 = no number, 1 = decimal page number at right end of line or
  1267.     alternating left/right for double sided, 2 = decimal number in
  1268.     center of line, 3 = decimal number at right end of line,
  1269.     4 = roman numberal centered in line. The default value is 1
  1270.     for STANDARD style and 0 for all other styles.
  1271. ,x HXTEXT command
  1272. ,x Headers;style of
  1273. ,item .HXTEXT number -- Type of header to be printed on pages after
  1274.     the first page of a chapter. Specify 0 for no header, 1 for
  1275.     the chapter name, or 2 for the section name.
  1276.     The default is 2 for STANDARD style and 0 for PLAIN, LETTER,
  1277.     and REPORT styles.
  1278. ,x INDENT command
  1279. ,item .INDENT level amt -- Amount to indent text based on the section
  1280.     level. The 'level' number is in the range 1 to 9 and corresponds
  1281.     to a section level as specified by the .HLn command
  1282.     (see Section \ref{sections} on page \pageref{sections}). All text at
  1283.     the specified section level is indented the number of spaces
  1284.     specified by the 'amt' number. The default value for all
  1285.     section levels is 0.
  1286. ,x JUSTIFY command
  1287. ,x NOJUSTIFY command
  1288. ,x Ragged right margin
  1289. ,x Flush right margin
  1290. ,item .JUSTIFY number -- Specify if DPS is to add spaces to lines to
  1291.     cause the right margin to be justified (flush). Specify 1
  1292.     to enable right margin justification; specify 0 for a ragged
  1293.     right margin. The .NOJUSTIFY command is equivalent to ".JUSTIFY 0".
  1294.     The default value is 0 for LETTER style and 1 for all other styles.
  1295. ,x LIST_BULCHR command
  1296. ,x Bullet character
  1297. ,item .LIST_BULCHR level char -- Specify the character that is to be used
  1298.     as the "bullet" marker character for each item of a list.
  1299.     The 'level' number specifies the list nesting level:
  1300.     0 corresponds to a list that is not within another list.
  1301.     The 'char' item must be a single character.
  1302.     The default bullet character is a period.
  1303. ,x LIST_BULPOS command
  1304. ,x Bullet character
  1305. ,item .LIST_BULPOS level amt -- Number of characters to indent the bullet
  1306.     character for each item of a list.
  1307.     The 'level' number specifies the list nesting level:
  1308.     0 corresponds to a list that is not within another list.
  1309.     The 'amt' number specifies the number of characters to indent
  1310.     the bullet for the specified level.
  1311.     The default value is 2 for an unnested list and 4 additional
  1312.     characters for each level of nesting.
  1313. ,x LIST_IN1 command
  1314. ,item .LIST_IN1 level amt -- Amount to indent the text on the first line
  1315.     of each item within a list. The bullet character, or
  1316.     number in the case of a .NLIST, is indented less so that it hangs
  1317.     out to the left of the text.
  1318.     The 'level' number specifies the list nesting level:
  1319.     0 corresponds to a list that is not within another list.
  1320.     The 'amt' number specifies the number of
  1321.     spaces to indent. By default, an unnested list (level 0)
  1322.     is indented 4 spaces and each deeper level of nesting is indented
  1323.     an additional 4 spaces.
  1324. ,x LIST_INX command
  1325. ,item .LIST_INX level amt -- Amount to indent the text on all lines other
  1326.     than the first line of each item within a list.
  1327.     The 'level' number specifies
  1328.     the list nesting level: 0 corresponds to a list that is not
  1329.     within another list. The 'amt' number specifies the number of
  1330.     spaces to indent. By default, an unnested list (level 0)
  1331.     is indented 4 spaces and each deeper level of nesting is indented
  1332.     an additional 4 spaces.
  1333. ,x LIST_NUMPOS command
  1334. ,item .LIST_NUMPOS level amt -- Number of characters to indent the number
  1335.     for each item of a .NLIST (numbered) type list.
  1336.     The 'level' number specifies the list nesting level:
  1337.     0 corresponds to a list that is not within another list.
  1338.     The 'amt' number specifies the number of characters to indent
  1339.     the number for the specified level.
  1340.     The default value is 0 for an unnested list and 4 additional
  1341.     characters for each level of nesting.
  1342. ,x LMEXTRA command
  1343. ,item .LMEXTRA number -- Specify the number of characters to indent all
  1344.     lines of a paragraph after the first line. See also the description
  1345.     of the .HANG command. If both .LMEXTRA and .HANG are specified, their
  1346.     values are added to determine the indentation amount.
  1347.     The default value for .LMEXTRA is 0.
  1348. ,x LMFIRST command
  1349. ,item .LMFIRST number -- Specify the number of characters to indent the
  1350.     first line of each paragraph. The default value is 0.
  1351. ,x MLOP command
  1352. ,item .MLOP number -- Specify the minimum number of lines that must remain
  1353.     on a page for a new paragraph to be started on the page. If fewer
  1354.     than this many lines remain on the page the page is ejected and
  1355.     the paragraph begins at the top of the next page. This prevents
  1356.     "orphan" lines where you have only the first line of a paragraph
  1357.     at the bottom of a page. The default value is 2.
  1358. ,x NLAF command
  1359. ,x Footers;lines above
  1360. ,item .NLAF number -- Number of blank lines to leave between the last text
  1361.     line on a page and the footer line. The default value is 2.
  1362. ,x NLAH command
  1363. ,x Headers;lines above
  1364. ,item .NLAH number -- Number of blank lines to leave above the header line
  1365.     at the top of each page. The default value is 0.
  1366. ,x NLAHL command
  1367. ,x Sections;blank lines between
  1368. ,item .NLAHL level lines -- Number of blank lines to leave above a section
  1369.     header. These blank lines separate a new section from the previous
  1370.     section. The 'level' number is in the range 0 to 9 and corresponds
  1371.     to the section heading level specified by the .HLn command
  1372.     (see page \pageref{hln}).
  1373.     The special section number 0 can be used to specify the number of
  1374.     blank lines to put before the chapter heading. The 'lines' number
  1375.     is the number of lines to be set for this section level number.
  1376.     The default value is 5 lines for section 0 (chapter header),
  1377.     2 lines for section 1, and 1 line for all other section levels.
  1378. ,x NLBH command
  1379. ,x Headers;lines below
  1380. ,item .NLBH number -- Number of blank lines to leave between the header
  1381.     line at the top of each page and the
  1382.     first line of text on the page. The default value is 2.
  1383. ,x SLMLOP command
  1384. ,x Sections;minimum lines remaining
  1385. ,item .SLMLOP level amt -- Minimum number of lines that must be available
  1386.     on a page for DPS to start the section on the page. If fewer lines
  1387.     are available DPS ejects the current page and starts the section at
  1388.     the top of the next page.
  1389.     The 'level' number is in the range 1 to 9 and corresponds
  1390.     to a section level as specified by the .HLn command
  1391.     (see Section \ref{sections} on page \pageref{sections}). 
  1392.     The 'amt' number is the minimum number of lines that must
  1393.     be available.
  1394. ,endlist
  1395.  
  1396. ,chapter Use And Distribution of DPS
  1397. You are welcome to make copies of this program and pass them on to friends
  1398. or post this program on bulletin boards or distribute it via disk catalog
  1399. services provided the entire DPS distribution is included in its
  1400. original, unmodified form.
  1401. A distribution fee may be charged for the cost of the
  1402. diskette, shipping and handling.
  1403. However, DPS may not be sold, or
  1404. incorporated in another product that is sold, without the permission of
  1405. the authors. However, permission is granted to include DPS as part of
  1406. "shareware collections" that are sold on CD ROM's.
  1407. Vendors are encouraged to contact the
  1408. authors to get the most recent version of DPS.
  1409.  
  1410. ,x Registering DPS
  1411. As a shareware product, you are granted a no-cost, trial period of 30 days
  1412. during which you may evaluate DPS. If you find DPS to be useful,
  1413. educational, and/or entertaining, and continue to use it beyond the 30
  1414. day trial period, you are required to compensate the authors by sending
  1415. the registration form printed at the end of this document (and in REGISTER.DOC)
  1416. with the appropriate registration fee
  1417. to help cover the development and support of DPS.
  1418.  
  1419. In return for registering, you will be authorized to continue using
  1420. DPS beyond the trial period and you will receive a registered version
  1421. of DPS which does not display the shareware message and pause.
  1422. You will also receive a laser-printed, bound manual, and
  1423. three months of support via telephone, mail, or CompuServe.  Your registration
  1424. fee will be refunded if you encounter a serious bug that cannot be corrected.
  1425.  
  1426. ,ne 7
  1427. You are welcome to contact the authors:
  1428. ,sp 1
  1429. ,center
  1430. ,x Sherrod, Phillip H.
  1431. Phillip H. Sherrod
  1432. 4410 Gerald Place
  1433. Nashville, TN  37205-3806  USA
  1434. 615-292-2881 (evenings)
  1435. CompuServe: 76166,2640
  1436. Internet: 76166.2640@compuserve.com
  1437.  
  1438. ,x Cappannari, Dan
  1439. Dan Cappannari
  1440. CCI Computing, Inc.
  1441. P.O. Box 210963
  1442. Nashville TN 37221
  1443. ,endcenter
  1444.  
  1445. ,x Copyright notice
  1446. Both the DPS program and documentation are copyright (c) 1993
  1447. by Phillip H. Sherrod and Daniel J. Cappannari.
  1448. You are not authorized to modify the program or documentation.
  1449.  
  1450. ,x ASP
  1451. This program is produced by a member of the Association of Shareware
  1452. Professionals (ASP). ASP wants to make sure that the
  1453. shareware principle works for you. If you are unable to resolve a
  1454. shareware-related problem with an ASP member by contacting
  1455. the member directly, ASP may be able to help.  The ASP Ombudsman can
  1456. help you resolve a dispute or problem with an ASP member, but does not
  1457. provide technical support for members' products. Please
  1458. write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442 or
  1459. send a CompuServe message via CompuServe Mail to ASP
  1460. Ombudsman 7007,3536.
  1461.  
  1462. ,ne 5
  1463. ,hl1 Disclaimer
  1464. ,x Disclaimer
  1465. ,x Warranty
  1466. DPS is provided "as is" without warranty of any kind,
  1467. either expressed or implied.
  1468. This program may contain "bugs".
  1469. The authors assume no responsibility
  1470. for the use of DPS and will not be responsible for any damage resulting
  1471. from its use.
  1472.  
  1473. ,chapter Other Software
  1474.  
  1475. If you like DPS, you should check out the following programs.
  1476.  
  1477. ,hl1 Mathplot -- Mathematical Function Plotting Program
  1478. ,label mathplot
  1479. ,x Mathplot
  1480.  
  1481. Mathplot allows you to specify complicated mathematical functions using
  1482. ordinary algebraic expressions and immediately plot them.
  1483. Four types of functions may be specified: cartesian (Y=f(X));
  1484. parametric cartesian (Y=f(T) and X=f(T)); polar (Radius=f(Angle));
  1485. and parametric polar (Radius=f(T) and Angle=f(T)). Up to four
  1486. functions may be plotted simultaneously. Scaling is automatic.
  1487. Options are available to control axis display and labeling as well
  1488. as grid lines. Hard copy output may be generated as well as screen display.
  1489. Mathplot is an ideal tool for engineers, scientists,
  1490. math and science teachers, and anyone else who needs to quickly
  1491. visualize mathematical functions.
  1492.  
  1493. ,ne 10
  1494. ,hl1 Nonlin -- Linear & Nonlinear Statistical Regression
  1495. ,label nonlin
  1496. ,x Nonlin
  1497. ,x Regression analysis
  1498. ,x Nonlinear regression
  1499. ,x Curve fitting
  1500. Nonlin performs linear and nonlinear statistical regression analysis.
  1501. What is regression analysis?  Regression analysis is a mathematical
  1502. technique for determining the best values of parameters to fit an
  1503. equation to a set of data points.  For example, you might want to
  1504. develop an equation of the form
  1505. ,figure
  1506. price = p0 + p1*age + p2*miles
  1507. ,endfigure
  1508. to predict the price of a used car based on its age and the number of
  1509. miles driven.  With Nonlin you can collect data from car ads and then
  1510. perform the analysis using the following set of commands:
  1511. ,figure
  1512. VARIABLES PRICE,AGE,MILES
  1513. PARAMETERS P0,P1,P2
  1514. FUNCTION  PRICE = P0 + P1*AGE + P2*MILES
  1515. DATA
  1516. ,endfigure
  1517. Nonlin will analyze the data and determine the best values of the
  1518. parameters P0, P1, and P2 to fit the data values.
  1519.  
  1520. Ordinary linear regression programs can only determine parameter values
  1521. for linear (straight line) equations.  Nonlin, on the other hand, can
  1522. handle multivariate, linear, polynomial, and general nonlinear equations.
  1523. For example, using Nonlin you can easily determine the best values
  1524. for the parameters Offset, Amplitude, and Frequency for an equation
  1525. of the form:
  1526. ,figure
  1527. Y = Offset + Amplitude * sin(Frequency * X)
  1528. ,endfigure
  1529. Nonlin uses the same expression evaluator as Mathplot so you can model
  1530. complicated equations using the full set of operators and library
  1531. functions available in Mathplot.
  1532.  
  1533. Nonlin comes with a 48 page manual that explains regression analysis
  1534. and gives many examples.  Nonlin is in use at many universities and
  1535. research labs around the world.
  1536.  
  1537. ,ne 15
  1538. ,hl1 TSX-32 -- Multi-User Operating System
  1539. ,label tsx32
  1540. ,x TSX-32
  1541. ,x Multi-user operating system
  1542.  
  1543. If you have a need for a multi-user, multi-tasking operating system,
  1544. you should look into TSX-32.  TSX-32 is a full-featured, high performance,
  1545. multi-user operating system for the 386 and 486 that provides both 32-bit
  1546. and 16-bit program support.  With facilities such as multitasking and
  1547. multisessions, networking, virtual memory, X-Windows, background batch queues,
  1548. data caching, file access control, real-time, and dial-in support,
  1549. TSX-32 provides a solid environment for a wide range of applications.
  1550.  
  1551. ,x TSX-Lite
  1552. A two user, shareware version of TSX-32 called TSX-Lite is also available.
  1553.  
  1554. TSX-32 is not a limited, 16-bit, multi-DOS add-on. Rather, it is a complete
  1555. 32-bit operating system which makes full use of the hardware's potential,
  1556. including protected mode execution, virtual memory, and demand paging.
  1557. TSX-32 sites range from small systems with 2-3 terminals to large
  1558. installations with more than 100 terminals on a single 486.
  1559.  
  1560. ,x DPMI support
  1561. In addition to supporting most popular 16-bit DOS programs, TSX-32 also
  1562. provides a 32-bit "flat" address space with both Phar Lap and DPMI
  1563. compatible modes of execution.
  1564.  
  1565. Since the DOS file structure is standard for TSX-32, you can directly
  1566. read and write DOS disks. And, you can run DOS part of the time and TSX-32
  1567. the rest of the time on the same computer.
  1568.  
  1569. TSX-32 allows each user to control up to 10 sessions.
  1570. Programs can also "fork" subtasks for multi-threaded
  1571. applications. The patented Adaptive Scheduling Algorithm provides consistently
  1572. good response time under varying conditions.
  1573.  
  1574. ,x Networking
  1575. ,x TCP/IP
  1576. The TSX-32 network option provides industry standard TCP/IP networking
  1577. through Ethernet and serial lines. Programs can access
  1578. files on remote machines as easily as on their own machine. 
  1579. The SET HOST command allows a user on one machine to log onto another computer
  1580. in the network. FTP, Telnet, and NFS are available for interoperability with
  1581. other systems.
  1582.  
  1583. System requirements: 386 or 486 system, 4MB memory, 12MB of free disk
  1584. space (Stacker and DoubleSpace are not supported).
  1585.  
  1586. TSX-32 is, quite simply, the best and most powerful operating system
  1587. available for the 386 and 486.  For additional information contact:
  1588. ,x S&H Computer Systems, Inc.
  1589. ,x CompuServe
  1590. ,x Internet
  1591. ,center
  1592. S&H Computer Systems, Inc.
  1593. 1027 17th Avenue South
  1594. Nashville, TN 37212 USA
  1595. 615-327-3670 (voice)
  1596. 615-321-5929 (fax)
  1597. CompuServe: 71333,27
  1598. Internet: 71333.27@compuserve.com
  1599. ,endcenter
  1600. ,page
  1601. ,style plain
  1602. ,chapter Software Order Form
  1603. ,label regform
  1604. ,x Order form
  1605. ,x Registration form
  1606. ,center
  1607. ===============================================================
  1608. Software Order Form
  1609. ===============================================================
  1610. ,endcenter
  1611. ,figure
  1612. Name ______________________________________________________
  1613.  
  1614. Address ___________________________________________________
  1615.  
  1616. City _______________________  State _______ Zip ___________
  1617.  
  1618. Country ____________________  Telephone ___________________
  1619.  
  1620. CompuServe account (optional) _____________________________
  1621.  
  1622. DPS version _______________________________________________
  1623.  
  1624. Bulletin board where you found DPS ________________________
  1625.  
  1626. Comments __________________________________________________
  1627.  
  1628. Check the boxes which indicate your order type:
  1629.  
  1630.     ___ I wish to register DPS ($25).
  1631.  
  1632.     ___ I wish to order Mathplot ($20).
  1633.  
  1634.     ___ I wish to order Nonlin ($25)
  1635. ,endfigure
  1636. Add $5 to the total amount of the order if the software is being shipped
  1637. out of the United States.  I cannot accept checks from
  1638. non-US banks.  Visa, MasterCard and American Express credit card
  1639. charges are accepted but a check, money order, or cash is preferred.
  1640. If you wish to use a credit card specify the billing name, address,
  1641. card number, and expiration date.
  1642.  
  1643. In return for registering, you will receive the most recent version of
  1644. the program, a laser-printed, bound copy of the manual, and three
  1645. months of telephone or CompuServe support.  Your registration fee will
  1646. be refunded if you find a serious bug that cannot be corrected.
  1647.  
  1648. Distribution disk choice (check one):
  1649. ,figure
  1650.       3.50" HD (1.4 MB)  ______
  1651.       5.25" HD (1.2 MB)  ______
  1652.       5.25" DD (360 KB)  ______
  1653. ,endfigure
  1654. Send this form with the amount indicated to the author:
  1655.  
  1656. ,center
  1657. Phillip H. Sherrod
  1658. 4410 Gerald Place
  1659. Nashville, TN  37205-3806 USA
  1660.  
  1661. 615-292-2881 (evenings)
  1662. CompuServe: 76166,2640
  1663. Internet: 76166.2640@compuserve.com
  1664. ,endcenter
  1665.  
  1666.