home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / PRINTING / DVIJEP.ZIP / DVIMAN < prev   
Text File  |  1989-05-31  |  39KB  |  973 lines

  1. DVIxxx --- TeX DVI to device xxx translator family
  2.  
  3. 
  4. File: dviman  Node: synopsis, Prev: name, Up: top, Next: description
  5.  
  6. SYNOPSIS
  7. ========
  8.  
  9.  
  10. dvixxx [-a] [-b] [-c#] [-d#] [-eVAR=value] [-ffontsubfile]
  11.        [-l] [-m#] [-o#] [-o#:#] [-o#:#:#] [-p] [-q] [-r#] [-s#] [-v]
  12.        [-x#units] [-y#units] [-z] dvifile1 [ dvifile2] ...
  13.  
  14.  
  15. xxx = output device identifier suffix (see below)
  16.  
  17. 
  18. File: dviman  Node: description, Prev: synopsis, Up: top, Next: devices-supported
  19.  
  20. DESCRIPTION
  21. ===========
  22.  
  23. Several TeX DVI translators are available.  They all expect the
  24. name of the DVI file on the command line, and the extension
  25. `.dvi' can always be omitted.  As illustrated below, they issue a
  26. one-line identifier message and, if no command line arguments are
  27. given, type a Unix-style usage message.  Some of them may have
  28. additional help files.  On case-sensitive file systems, file
  29. names may be expected to be entirely in lower case, so you should
  30. type `dvialw' instead of `DVIALW'.
  31.  
  32. For all except DVIBIT (which is intended for interactive
  33. display), the output file will be given the name of the
  34. `.dvi' file, but extension `.dvi-xxx', where `xxx'
  35. is the three-character mnemonic for the translator program.  If
  36. long extensions are not supported, then `.xxx' is used.  For
  37. DVIBIT, output is on `stdout' which defaults to the
  38. terminal; it may be redirected in the usual Unix fashion by
  39. `>filename' on the command line (e.g. `dvibit foo
  40. >foo.out').
  41.  
  42. As each `.dvi' file is processed, a list of errors is printed on
  43. the standard error unit `stderr'; this list is also saved in a
  44. file with extension `.dvi-err', or if long extensions are not
  45. supported by the host, then extension `.err' is used.  This file
  46. is not created if there are no errors.  As each page is printed,
  47. the physical page number and the TeX page number(s) are printed
  48. without a following carriage return; after the last page, the
  49. string `[OK]' is printed, followed by a carriage return.  This
  50. gives a convenient progress report to the terminal.  If it is not
  51. wanted, then the error output can be redirected into a file
  52. (possibly the null device) (e.g.  `dvixxx foo &foo.err'), or the
  53. -q option can be given to suppress it.
  54.  
  55. These drivers are written in C, and with C preprocessor
  56. conditional compilation features, are all derived from one
  57. master set of files, so that there is substantial code
  58. sharing among them.  Host machine and output device
  59. dependencies are parametrized to allow easy movement to new
  60. hosts and new output devices.  Implementations now exist on
  61. Gould UNIX, Hewlett-Packard UNIX, PC DOS, TOPS-20, VAX UNIX,
  62. and VAX VMS, with others in progress.
  63.  
  64. 
  65. File: dviman  Node: devices-supported, Prev: description, Up: top, Next: options
  66.  
  67. DEVICES SUPPORTED
  68. =================
  69.  
  70. The available translators are as follows:
  71.  
  72. DVIALW     
  73.      PostScript (Apple LaserWriter)
  74. DVIBIT     
  75.      Version 3.10 BBN BitGraph terminal
  76. DVICAN     
  77.      Canon LBP-8 A2 laser printer
  78. DVIGD     
  79.      Golden Dawn Golden Laser 100 printer
  80. DVIIMP     
  81.      Imagen imPRESS-language laser printer family
  82. DVIJEP     
  83.      Hewlett-Packard Laser Jet Plus
  84. DVIJET     
  85.      Hewlett-Packard Laser Jet
  86. DVIL3P     
  87.      DEC LN03 Plus laser printer
  88. DVIL75     
  89.      DEC LA75 144 dpi printer
  90. DVIM72     
  91.      Apple Imagewriter 72 dpi printer
  92. DVIMAC     
  93.      Apple Imagewriter 144 dpi printer
  94. DVIMPI     
  95.      MPI Sprinter 72 dpi printer
  96. DVIO72     
  97.      OKIDATA Pacemark 2410 72 dpi printer
  98. DVIOKI     
  99.      OKIDATA Pacemark 2410 144 dpi printer
  100. DVIPRX     
  101.      Printronix 60h  x  72v dpi printer
  102. DVITOS     
  103.      Toshiba P-1351 180 dpi printer
  104. DVITYP or DVITYPE     
  105.      DVI Translator for human-readable output
  106.  
  107. 
  108. File: dviman  Node: options, Prev: devices-supported, Up: top, Next: sample-execution
  109.  
  110. OPTIONS
  111. =======
  112.  
  113. The order of command options and DVI file names is not
  114. significant; all switch values apply to all DVI files.  DVI files
  115. are processed in order from left to right.
  116.  
  117. Letter case is ignored in option switches: -A and -a are
  118. equivalent.
  119.  
  120. -a     
  121.      Implement virtual font caching, if possible.  When a font
  122.      file is opened, a buffer is allocated to contain the entire
  123.      file, and the file is then read with one system call.  This
  124.      is important primarily on networked file systems, where the
  125.      many random-access calls in the font file for small amounts
  126.      of data entail substantial network overhead.  With the
  127.      entire file cached in local memory, this overhead is
  128.      removed.  The additional memory required for the font file
  129.      buffers amounts to 100K to 200K bytes (assuming the compact
  130.      .PK font file format), which is not excessive.  If memory
  131.      cannot be allocated for a font file, then normal buffering
  132.      of small blocks is used.  A trace option (-d64) is provided
  133.      to monitor the font caching; see below.
  134.      
  135. -b     
  136.      Backwards order printing from the default.  For example,
  137.      laser printers using the Canon engine print normally receive
  138.      pages in reverse order because they stack printed side up.
  139.      Some have page handling mechanisms that stack them face
  140.      down, and in such a case -b will ensure that they come out
  141.      in order 1, 2, ... instead of n, n-1, n-2, ...
  142.      
  143. -c#     
  144.      Print # copies of each output page.  Page copies are printed
  145.      consecutively; this does not give multiple collated copies
  146.      of the entire job.
  147.      
  148. -d#     
  149.      Produce debugging output on `stderr' if a non-zero value is
  150.      given.  Multiple -d switches may be specified, and one may
  151.      also add values of the following possible options to obtain
  152.      the switch value:
  153.      
  154.      1     
  155.           (DVIJET only) print page bitmap in hexadecimal;
  156.      2     
  157.           display page coordinates and metrics of each output
  158.           character, and print each character bitmap in
  159.           hexadecimal;
  160.      4     
  161.           (DVIJEP only) display updated page coordinate of each
  162.           character after each call to `fixpos()';
  163.      8     
  164.           print filename and open mode of each successful file
  165.           opening;
  166.      16     
  167.           print filename and open mode of each unsuccessful
  168.           file opening;
  169.      32     
  170.           show discarded off-page text;
  171.      64     
  172.           trace virtual font caching;
  173.      128     
  174.           trace character setting (lots of output).
  175.      
  176.      For example, either -d8 -d16 or -d24 will trace all
  177.      attempted file openings.
  178.      
  179. -eVAR=value     
  180.      Define an environment variable on the command line (see the
  181.      later section Environment Variables).  The acceptable values
  182.      for `VAR' are `DVIHELP', `FONTLIST', `TEXFONTS', and
  183.      `TEXINPUTS'.  Under normal use of the translators, these can
  184.      be set by TOPS-20 and VAX VMS `define VAR: value' commands,
  185.      or by Unix `csh' `setenv VAR value' or `sh' `VAR=value'
  186.      commands.  When the translator is invoked by another
  187.      program, such as a print spooler, on some systems it may not
  188.      be possible to set a particular value of an environment
  189.      variable for the subprocess, so this option gets around this
  190.      limitation.  On most Unix systems, it should be possible to
  191.      use the call `system("VAR=value; dvixxx filename")'.
  192.      
  193. -ffontsubfile     
  194.      Define an alternate font substitution file which is to be
  195.      used instead of the default ones (see below).
  196.      
  197. -l     
  198.      Inhibit logging.
  199.      
  200. -m#     
  201.      Reset magnification to #.  The default for low resolution
  202.      printers is -m603, corresponding to 1/1.2**5 magnification
  203.      of 300-dot/inch fonts.  By TeX conventions, magnification
  204.      1000 corresponds to a 200-dot/inch output device.  The
  205.      default magnification is always adjusted according to the
  206.      output device resolution in order to give a normal page
  207.      size, so this parameter should rarely be required.  Legal
  208.      values are int((1000 or 1440 or 1500) x 1.2**{k/2}) (k =
  209.      -16...16); other values will be set to the nearest in this
  210.      family.  Not all fonts will be available in this wide range,
  211.      and most installations will probably have only a half dozen
  212.      or so magnifications.
  213.      
  214.      Magnification values less than 25 are taken to be a TeX
  215.      magstep parameter which is applied to the standard
  216.      magnification for that device.  For example, -m-0.5 selects
  217.      a smaller size, and -m2 selects a size 1.44 times larger
  218.      than normal.
  219.      
  220. -o# or -o#:# or -o#:#:#     
  221.      Specify a page number, or range of page numbers, to be
  222.      selected for output.  In the third form, the last number is
  223.      the page number step size; it is normally 1.  This option
  224.      may be specified any number of times.  If it is not
  225.      specified, then all pages will be printed.  Pages are
  226.      numbered in order 1, 2, 3, ... in the file, but any page
  227.      number recorded by TeX on the printed page will in general
  228.      be different.  Negative page numbers count backward; -1 is
  229.      the last page in the document, -2 the second last page, and
  230.      so on.
  231.      
  232.      As pages are selected for printing, `[#{#}' will be printed
  233.      on `stderr', where the first `#' is the page number in the
  234.      file, and the second `#' is a string of values of the TeX
  235.      counters, `\count0' through `\count9', separated by dots,
  236.      with trailing zero counters dropped.  `\count0' usually
  237.      records the printed page number.  When the page is
  238.      completely output, a closing ] will be printed on `stderr'.
  239.      Any error messages from processing of that page will
  240.      therefore occur between the square brackets.  For example,
  241.      -o1:3 -o12 -o17:23 -o-3:-1 would select pages 1, 2, 3, 12,
  242.      17, 18, 19, 20, 21, 22, and 23, plus the last three pages.
  243.      
  244.      Pages are processed in the order found in the DVI file;
  245.      there is intentionally no attempt made to sort them
  246.      according the `\count0' values, since different macro
  247.      packages may use this counter for different purposes, and in
  248.      the case of floating tables and figures, the pages may not
  249.      be in order anyway.  Pages will always be printed in an
  250.      order appropriate for the device so that the first document
  251.      page occurs first face up in the document stack; the -b
  252.      option can be used to reverse this order.  For example, some
  253.      Hewlett-Packard Laser Jet Plus printers are equipped with a
  254.      page flipper which stacks output face down; for these, the
  255.      -b option will ensure that the pages come out in the
  256.      expected order.
  257.      
  258.      Specification of a page number step size is useful for
  259.      producing duplex (two-sided) printing.  For example, with
  260.      laser printers using the Canon LBP-CX engine, the first run
  261.      could specify -o1:9999:2, which would stack output face up,
  262.      beginning with the last page, and ending with page 1 on top.
  263.      The printed pages can then be reinserted in the input tray
  264.      face up, page 1 on the top, exactly as they were found in
  265.      the output tray, with the top of the page in the tray
  266.      closest to the end which is inserted first into the printer.
  267.      A second run with -b -o2:9999:2 would then print pages 2, 4,
  268.      ..., on the backs of pages 1, 3, ...; note the -b option to
  269.      get backwards order on the second run.
  270.      
  271.      There is a bug in Microsoft C's sscanf() on the IBM PC; it
  272.      does not correctly parse input on the format "%d:%d:%d" in
  273.      option() for the page number switch.  It correctly returns
  274.      the numbers, but instead of returning the number of such
  275.      items parsed, it returns -1, which should only happen if
  276.      none are parsed.  A work around seems to be to supply a
  277.      trailing colon on the switch, so that you write -o17:
  278.      instead of -o17.
  279.      
  280. -p     
  281.      Inhibit font preloading.  This may produce output a few
  282.      seconds earlier when all pages are output, but should have
  283.      negligible effect on the execution time, and consequently,
  284.      should normally not be specified.  When individual pages are
  285.      being printed with the -o# option, preloading is necessary
  286.      (and will be forced) to ensure that all fonts are defined
  287.      before they are referenced.
  288.      
  289. -q     
  290.      Quiet mode.  Status displays to `stderr' are suppressed,
  291.      unless warning or error messages are issued.  For
  292.      interactive devices (DVIBIT), warning messages are
  293.      suppressed.
  294.      
  295. -r#     
  296.      (Device = HP Laser Jet only).  Specify the Laser Jet output
  297.      resolution in dots per inch.  # must be one of 75, 100, 150,
  298.      or 300.  The actual plot file is identical in each case;
  299.      only the size on the output page is changed, because the
  300.      resolution change is effected by printing 1 x 1, 2 x 2, 3 x
  301.      3, or 4 x 4 pixel blocks.
  302.      
  303. -r     
  304.      (Device = Golden Laser 100 only).  Select run-length
  305.      encoding of the output file.  This reduces disk space
  306.      typically by 10% to 40%, but increases host CPU time for the
  307.      preparation of the output file.
  308.      
  309. -r     
  310.      (Device = Apple ImageWriter only).  Select run-length
  311.      encoding of the output file.
  312.      
  313. -r     
  314.      (Device = Toshiba P-1351 only).  Select run-length encoding
  315.      of the output file.  This reduces disk space typically by
  316.      10% to 40%, but increases host CPU time for the preparation
  317.      of the output file, and because of poor logic in the
  318.      printer, may double the print time!  The print quality is
  319.      also substantially worse, so this option is generally not
  320.      recommended.
  321.      
  322. -s#     
  323.      (Device = Apple LaserWriter only).  Force characters larger
  324.      than # pixels wide or high to be reloaded each time they are
  325.      required.  The Version 23.0 PostScript interpreter has a bug
  326.      which manifests itself in fatal `VM error' messages when
  327.      large characters are sent.  A reasonable default value has
  328.      been set for this which should normally avoid the problem.
  329.      Specifying -s0 will cause reloading of every character each
  330.      time it is used.
  331.      
  332. -v     
  333.      (Device = Apple LaserWriter only).  Force reloading of all
  334.      required fonts at start of each page.
  335.      
  336. -x#units     
  337.      The -x options specify the left margin of the TeX page on
  338.      the output page in any of the indicated units.  Letter case
  339.      is not significant in the units field, which must not be
  340.      separated from the number by any space.  # may be
  341.      fractional.  For example, -x1.0in, -x2.54cm, -x72.27pt, and
  342.      -x6.0225pc all specify a one-inch left margin.  Negative
  343.      values are permissible, and may be used to shift the output
  344.      page left (possibly truncating it on the left) in order to
  345.      display a wide TeX page.
  346.      
  347.      The units field is mandatory, and may be one of
  348.      
  349.      bp     
  350.           big point (1in = 72bp)
  351.      cc     
  352.           cicero (1cc = 12dd)
  353.      cm     
  354.           centimeter (1in = 2.54cm)
  355.      dd     
  356.           didot point (1157dd = 1238pt)
  357.      in     
  358.           inch
  359.      mm     
  360.           millimeter (10mm = 1cm)
  361.      pc     
  362.           pica (1pc = 12pt)
  363.      pt     
  364.           point (72.27pt = 1in)
  365.      sp     
  366.           scaled point (65536sp = 1pt)
  367.      
  368. -y#units     
  369.      The -y options specify the top margin of the TeX page on the
  370.      output page in any of the indicated units.  Letter case is
  371.      not significant in the unit field, which must not be
  372.      separated from the number by any space.  # may be
  373.      fractional.  For example, -y1.0in, -y2.54cm, -y72.27pt, and
  374.      -y6.0225pc all specify a one-inch top margin.  Negative
  375.      values are permissible, and may be used to shift the output
  376.      page up (possibly truncating it on the top) in order to
  377.      display a long TeX page.
  378.      
  379.      
  380.      By decree of the Stanford TeX Project, the default TeX page
  381.      origin is always 1 inch over and down from the top-left page
  382.      corner, even when non-American paper sizes are used.  This
  383.      corresponds to the switch settings -x1in -y1in; these values
  384.      are assumed unless overridden.
  385.      
  386. -z     
  387.      (TOPS-20 or 4.xBSD Unix only).  For each DVI file processed,
  388.      type in an EXEC command `DVISPOOL: dvifilename' (on Unix,
  389.      `DVISPOOL dvifilename') followed by a newline; the user may
  390.      then define `DVISPOOL:' (or `DVISPOOL') to be a program
  391.      which sends the translation of the DVI file to the
  392.      appropriate output spooler.
  393.  
  394. 
  395. File: dviman  Node: sample-execution, Prev: options, Up: top, Next: font-substitution
  396.  
  397. SAMPLE EXECUTION
  398. ================
  399.  
  400. Here is a sample execution of LaTeX and DVIALW extracted from
  401. a TOPS-20 PHOTO log:
  402.  
  403.      LaTeX biblio.ltx
  404.      This is TeX, Tops-20 Version 1.1 (preloaded format=lplain 84.9.29)
  405.      (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.LTX.28
  406.      LaTeX Version 2.06a - Release 7 July 84
  407.      (APS:<TEX.LATEX>REPORT.STY.2
  408.      Document Style 'report'. Version 0.91 - released 25 June 1984
  409.      (APS:<TEX.LATEX>REP11.STY.2))
  410.      (APS:<BEEBE.PLOT79.DOCUMENTATION>MYBIBLIO.STY.1 Mybibliography
  411.      environment style - Version 0.0 - 15-May-86)
  412.      (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.AUX.12) [0]
  413.      (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO1.LTX.3 [1] [2] [3] [4]
  414.      [5]) [6]
  415.      (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.AUX.13)
  416.      (see the transcript file for additional information)
  417.      Output written on APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.DVI.1
  418.      (7 pages, 13960 bytes).
  419.      Transcript written on APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.LST.1.
  420.      
  421.      @dvialw -x0.3in -y0.2in biblio bt:example
  422.      [TeX82 DVI Translator Version 2.0 for PostScript [Apple LaserWriter
  423.      laser printer]]
  424.      [Input from DVI file biblio.dvi]
  425.      [Output on file biblio.dvi-alw]
  426.      [7 pages]
  427.      [1500 magnification]
  428.      [7{6}] [6{5}] [5{4}] [4{3}] [3{2}] [2{1}] [1{0}]  [OK]
  429.      [Input from DVI file bt:example.dvi]
  430.      [Output on file bt:example.dvi-alw]
  431.      [1 pages]
  432.      [1500 magnification]
  433.      [1{1}]  [OK]
  434.  
  435. When the TOPS-20 version of TeX finishes execution, it
  436. normally simulates terminal input of a line of the form
  437.  
  438.      TeXspool: dvifile
  439.  
  440. without supplying a final carriage return.  The default value of
  441. the logical name `TeXspool:' points to a dummy program which
  442. does nothing, so if you just type a carriage return yourself, the
  443. line is effectively ignored.  This is reasonable in that it
  444. usually takes several trips through TeX before you have a
  445. `.dvi' file worth printing.  If you like, you can redefine
  446. `TeXspool:' to point to your favorite DVI translator, for
  447. example,
  448.  
  449.      define TeXspool: sys:dvialw.exe
  450.  
  451. Then when you type a carriage return when TeX finishes, it
  452. will run the translator immediately, saving you a line of typing.
  453. If you do not want the translator to run, just cancel the line by
  454. typing  or .
  455.  
  456. A sample invocation of DVITYPE is as follows:
  457.  
  458.      @dvitype
  459.      DVIFILE    : story.dvi
  460.      OUTPUT     : tty:
  461.      This is DVItype, Tops-20 Version 2.8
  462.      Output level (default=3, ? for help):
  463.      Starting page (default=*):
  464.      Maximum number of pages (default=1000000):
  465.      Assumed device resolution in pixels per inch (default=300/1):
  466.      New magnification (default=0 to keep the old one):
  467.      Options selected:
  468.        Starting page = *
  469.        Maximum number of pages = 1000000
  470.        Output level = 3 (the works)
  471.        Resolution =  300.00000000 pixels per inch
  472.      numerator/denominator=25400000/473628672
  473.      magnification=1000;       0.00006334 pixels per DVI unit
  474.      ' TeX output 1986.06.20:1039'
  475.      Postamble starts at byte 569.
  476.      maxv=43725786, maxh=30785863, maxstackdepth=3, totalpages=1
  477.      Font 33: amsl10---loaded at size 655360 DVI units
  478.      Font 23: ambx10---loaded at size 655360 DVI units
  479.      ...and so on...
  480.  
  481. 
  482. File: dviman  Node: font-substitution, Prev: sample-execution, Up: top, Next: screen-control
  483.  
  484. FONT SUBSTITUTION
  485. =================
  486.  
  487.  
  488. If no -ffontsubfile option is given, and font substitution is
  489. required, if the current DVI file is `foo.dvi', then the files
  490. `foo.sub', `texfonts.sub', and `texinputs:texfonts.sub' will be
  491. tried in order.  The first two will be found on the current
  492. directory, and the last is the system default.  This gives the
  493. option of document-specific, user-specific, and system-specific
  494. substitutions, and the -f option allows all of these to be
  495. overridden.
  496.  
  497. Font substitution lines have the form:
  498.  
  499.      % comment
  500.      oldname.oldmag  ->      subname.submag  % comment
  501.      oldname oldmag  ->      subname submag  % comment
  502.      oldname         ->      subname         % comment
  503.  
  504. Examples are:
  505.  
  506.      % These provide replacements for some LaTeX invisible fonts:
  507.      iamr10 1500     ->      amr10 1500      % comment
  508.      iamr10.1500     ->      amr10.1500      % comment
  509.      iamssb8         ->      amssb8          % comment
  510.  
  511. The first two forms request substitution of a particular font and
  512. magnification.  The third form substitutes an entire font family;
  513. the closest available magnification to the required one will be
  514. used.  Any dots in the non-comment portion will be converted to
  515. spaces, and therefore, cannot be part of a name field.
  516.  
  517. The first matching substitution will be selected, so
  518. magnification-specific substitutions should be given first,
  519. before family substitutions.
  520.  
  521. Comments are introduced by percent and continue to end-of-line,
  522. just as for TeX.  One whitespace character is equivalent to
  523. any amount of whitespace.  Whitespace and comments are optional.
  524.  
  525. 
  526. File: dviman  Node: screen-control, Prev: font-substitution, Up: top, Next: specials
  527.  
  528. SCREEN CONTROL
  529. ==============
  530.  
  531.  
  532. At present, DVIBIT is the only family member which supports
  533. interactive viewing of the TeX output.  The following
  534. description therefore applies only to it, but the functionality
  535. should be adhered to in any new interactive device drivers.
  536.  
  537. All switches, including the page selection (`-o') and page
  538. origin (-x and -y) switches, work normally.  In order to
  539. avoid unnecessary waste of screen space, you probably will want
  540. to specify -x0in and -y0in to remove the default one-inch
  541. left and top margins.  The -q option is probably also
  542. advisable to avoid warning messages, such as from font
  543. substitutions.
  544.  
  545. At beginning of page, a command and status menu is displayed at
  546. the top of the screen.  When the end-of-page command is reached
  547. in the DVI file, or as soon as keyboard input is available, the
  548. driver will enter the end-of-page routine.  Any keyboard input
  549. command is then read and acted upon; unrecognized input is
  550. discarded with a warning beep.  The advantage of checking for
  551. keyboard input during the main DVI reading loop is that unwanted
  552. display can be avoided.  This is valuable if you are
  553. repositioning the page, or skimming a document.  The EMACS text
  554. editor uses much the same display algorithm---do nothing more to
  555. the screen if a user command will probably invalidate it anyway.
  556.  
  557. The input can select
  558.  
  559.    * redisplay of the current page, possibly shifting it up,
  560.      down, left, or right, to see more of it, or to restore a
  561.      display trashed by an unexpected system message or
  562.      transmission line error;
  563.    * continuation to the next page in the page list selected
  564.      by default or by the -o option;
  565.    * backing up to the previous page (useful if you overshoot);
  566.    * display of an arbitrary page by typing its sequence number;
  567.    * termination of execution.
  568.  
  569. Although the menu on the top line displays only a subset of the
  570. possible commands, a number of synonyms are provided for user
  571. convenience.  In particular, arrow keys in VT52 and VT100 modes
  572. are recognized, as are EMACS control-character commands to move
  573. the cursor or page display.  Commands are provided for both
  574. coarse and fine adjustment of page position.
  575.  
  576. Here is the current command list.  Input is immediate; no
  577. terminating carriage return is necessary.  Consequently, typing
  578. error correction is supported only for the digit string command;
  579. it ends at the first non-digit typed.
  580.  
  581. D     
  582.      Move the display down by 1/8 of screen size.
  583.      
  584. U     
  585.      Move the display up by 1/8 of screen size.
  586.      
  587. L     
  588.      Move the display left by 1/8 of screen size.
  589.      
  590. R     
  591.      Move the display right by 1/8 of screen size.
  592.      
  593. d or Ctl-N or down-arrow     
  594.      Move the display down by 1/64 of screen size.
  595.      
  596. u or Ctl-P or up-arrow     
  597.      Move the display up by 1/64 of screen size.
  598.      
  599. l or Ctl-B or left-arrow     
  600.      Move the display left by 1/64 of screen size.
  601.      
  602. r or Ctl-F or right-arrow     
  603.      Move the display right by 1/64 of screen size.
  604.      
  605. . or Ctl-L     
  606.      Redisplay current page.
  607.      
  608. @     
  609.      Redisplay current page with startup page positioning.
  610.      
  611. CARET or BACKSPACE     
  612.      Redisplay previous page.
  613.      
  614. nnn     
  615.      nnn is a digit string; DELETE/RUBOUT and BACKSPACE keys
  616.      correct typing errors in it.  Move to nnn-th page, where
  617.      document pages are numbered 1, 2, ....  The TeX page numbers
  618.      are displayed in the status window. This is a recursive
  619.      display; if you respond at end-of-page with a next-page
  620.      command, display will revert to the page sequence you were
  621.      viewing when you first issued the nnn command.
  622.      
  623. SPACE or RETURN or Ctl-V     
  624.      Display next page.
  625.      
  626. Q or q or X or x     
  627.      Quit or exit.  The screen will be cleared and the terminal
  628.      restored to its normal font and emulation mode.
  629.      
  630. Z     
  631.      Zoom up one magstep (1.2 times larger) from current size.
  632.      
  633. z     
  634.      Zoom down one magstep (1.2 times smaller) from current size.
  635.      
  636.      It is likely that some font magnifications will be
  637.      unavailable for zooming, so do not be alarmed if some
  638.      characters are displayed as blanks when you do this.  You
  639.      can use the font substitution mechanism (-f option above) to
  640.      work around this, or you can ask your font administrator to
  641.      generate the required magnifications.  When font
  642.      substitution happens because of an unavailable
  643.      magnification, characters of an incorrect size are used with
  644.      the spacing required for the font which TeX used, so output
  645.      is likely to look peculiar.
  646.      
  647.      To avoid exhausting the terminal's font memory, larger
  648.      characters as sent as raster bitmaps each time they are
  649.      used, rather than as downloaded fonts, making the screen
  650.      display much slower.  The size limit is large enough that
  651.      this should not be necessary except at large magnifications.
  652.  
  653. 
  654. File: dviman  Node: specials, Prev: screen-control, Up: top, Next: environment-variables
  655.  
  656. SPECIALS
  657. ========
  658.  
  659.  
  660. The TeX `\special{}' command is intended to allow the
  661. specification in a `.tex' file of a request to the DVI
  662. driver, usually for the insertion of graphical material at that
  663. point in the document.  It is currently implemented only for
  664. DVIALW; other drivers will simply issue a warning message.
  665.  
  666. The TeX `\special{}' command is expected to look like one
  667. of the following:
  668.  
  669.      \special{overlay filename}          % absolute positioning
  670.      \special{include filename}          % relative positioning
  671.      \special{insert filename}           % relative positioning
  672.  
  673. In the first case, the PostScript file to be included will be
  674. mapped onto the page at precisely the coordinates it specifies.
  675. In the other two cases, the upper-left corner of the bounding box
  676. will be placed at the current point.  The PostScript file must
  677. then contain (usually near the start) a comment of the form
  678.  
  679.      %%BoundingBox: llx lly urx ury
  680.  
  681. specifying the bounding  box lower-left and upper-right
  682. coordinates in standard PostScript units (1/72 inch).
  683. Alternatively, if the comment
  684.  
  685.      %%BoundingBox: (atend)
  686.  
  687. is found in the file,   the last 1000 characters of the file will
  688. be searched to find a comment of the form:
  689.  
  690.      %%BoundingBox: llx lly urx ury
  691.  
  692. If the PostScript file cannot be opened, or the `\special{}'
  693. command string cannot be recognized, or for relative positioning,
  694. the bounding box cannot be determined, a warning message is
  695. issued and the `\special{}' command is ignored.
  696.  
  697. Otherwise, the section of the PostScript file between the
  698. comment lines
  699.  
  700.      %begin(plot)
  701.      %end(plot)
  702.  
  703. is copied to the output file surrounded by
  704.  
  705.      save
  706.      300 72 div 300 72 div scale % revert to standard 1/72 inch units
  707.      % if relative positioning, then
  708.      (xcp(in 1/72in)-llx) (ycp(in 1/72in)-ury) translate
  709.      ...PostScript file contents...
  710.      restore
  711.  
  712. Plot files produced by PLOT79 have all the expected commands in
  713. them to allow their use in TeX `\special{}' commands.
  714. The two PLOT79 parameters which influence the size of the plot
  715. are
  716.  
  717.    * the device size specified in the call to SETSZ(); it
  718.      defaults to 11in if SETSZ is not called.
  719.    * the device space specified in the call to SETDS2() or
  720.      SETDS3(); it defaults in the CORE system to the unit square,
  721.      but if the PLOT79 framing routines are called, they will
  722.      reset the device space to a horizontal or vertical frame in
  723.      proportions of the local standard paper size (1 : 8.5/11 in
  724.      the USA).
  725.  
  726. For example, if a device size of 5in is specified for a standard
  727. horizontal frame, the bounding box will be declared to be 5in
  728. wide and (8.5/11) * 5in = 3.8636in high, so a TeX manuscript
  729. requiring the plot could have the following commands at the start
  730. of a new paragraph:
  731.  
  732.      \special{include plotfilename}
  733.      \vspace*{3.9in}
  734.  
  735. 
  736. File: dviman  Node: environment-variables, Prev: specials, Up: top, Next: IBM-PC-Caveats
  737.  
  738. ENVIRONMENT VARIABLES
  739. =====================
  740.  
  741.  
  742. The behavior of the DVI translators can be influenced by
  743. definition of logical names on TOPS-20 and VAX VMS, or
  744. environment variables in Unix and PC-DOS.  Compiled-in internal
  745. defaults will be provided for any of these which are not defined.
  746. They must be entirely in upper-case, since that is conventional
  747. on Unix systems.  The names currently recognized are as follows:
  748.  
  749. DVIHELP     
  750.      This variable defines an alternate help string which is
  751.      typed when the user makes an input error.  It should direct
  752.      the user to additional documentation.  For example, on
  753.      TOPS-20, it might be `try HELP DVI or XINFO DVI'.
  754.      
  755. FONTLIST     
  756.      Normally, the drivers are prepared to search first for
  757.      `.pk', then `.gf', then `.pxl' font files.  This variable
  758.      can be used to change this search order, or remove one or
  759.      more of the possibilities.  It is expected to contain at
  760.      least one of the strings `PK', `GF', or `PXL', possibly
  761.      separated by arbitrary punctuation and other text.  This
  762.      flexibility is necessary because some operating systems
  763.      expect environment variables to conform to some syntax, such
  764.      as that of a file name.  Letter case is not significant.
  765.      Some acceptable strings are `PXL-then-PK-then-GF', `pk.gf',
  766.      `use-only-PXL-fonts', and `PXL/GF/PK'.
  767.      
  768. TERM     
  769.      This variable is used only for DVIBIT; if it does not
  770.      evaluate to either bitgraph or bg, DVIBIT will refuse to
  771.      run.  On Unix, this is the conventional way of defining
  772.      terminal types with the TERMCAP or TERMINFO systems.  This
  773.      variable is ignored on VAX VMS, since the VMS C library sets
  774.      it to a value which can never be bitgraph or bg.
  775.      
  776. TEXFONTS     
  777.      This defines the directory path for finding font files.  Its
  778.      value is prepended to the name of a TeX font to get a full
  779.      file specification.  A typical value in Unix for `TEXFONTS'
  780.      would be `/usr/local/lib/tex/fonts/'.  On TOPS-20, font
  781.      cmr10 on a 300-dot/inch device might correspond to the files
  782.      `texfonts:cmr10.300gf', `texfonts:cmr10.300pk', or
  783.      `texfonts:cmr10.1500pxl'.
  784.      
  785. TEXINPUTS     
  786.      This defines the directory path for finding files which are
  787.      not in the current working directory.  It is prepended to
  788.      file names.  A typical value in Unix would be
  789.      /usr/local/lib/tex/macros/.
  790.  
  791. 
  792. File: dviman  Node: IBM-PC-Caveats, Prev: environment-variables, Up: top, Next: files
  793.  
  794. IBM PC Caveats
  795. ==============
  796.  
  797. The latest version of the drivers has been compiled with
  798. Microsoft C Version 4.0.  With Version 3.0, some `.dvi'
  799. files experienced a fatal "floating-point stack overflow"
  800. error both with and without a floating-point coprocessor; this
  801. can only be due to code generation errors, and it disappeared
  802. with Version 4.0.
  803.  
  804. PC-DOS by default has only a small number of available open
  805. files, and this number is not adequate for the drivers with the
  806. value of five for MAXOPEN set in `machdefs.h'.  You
  807. need to increase the limits by entering the lines
  808.  
  809.      FILES=10
  810.      BUFFERS=10
  811.  
  812. in the `config.sys' file in the boot directory, then reboot
  813. the system to have the new values take effect.  Larger values are
  814. of course possible, though FILES=20 is the limit with current
  815. versions of PC-DOS.   Run-time performance can be quite
  816. sensitive to these settings, so you may wish to experiment.
  817.  
  818. If there is no `config.sys' file, or the settings of
  819. FILES and BUFFERS are too small, you will find the disk
  820. whirring madly while the driver attempts to open font files with
  821. neighboring magnifications, and then it will finally die with a
  822. message "unable to open .err file".  Use of the -d24
  823. option may be useful in tracking how many files can successfully
  824. be opened.
  825.  
  826. The drivers have been loaded with the default Microsoft
  827. floating-point library; the compiler generates calls to library
  828. routines which test a flag initialized at startup time which
  829. indicates the presence or absence of the floating-point
  830. coprocessor chip.  If it is available, the library routines will
  831. automatically use it.  You can force the chip to be ignored by
  832. defining an arbitrary non-empty string value for the environment
  833. variable `NO87', for example
  834.  
  835.      set NO87=no-8087-available
  836.  
  837. When the DVI translator runs, the value of this variable should
  838. be typed on the screen as the first output line.  On a Leading
  839. Edge PC, this typeout does not appear, for unknown reasons.  On
  840. a 4.77MHz PC XT, the translators run twice (!) as slowly when
  841. `NO87' is defined.
  842.  
  843. The reason that you might need to know this is that the method
  844. employed by the library routines for detecting the presence or
  845. absence of an 8087 (or 80287) chip is not infallible, thanks to
  846. design flaws of some PC's and possibly also the Intel chips.  It
  847. is conceivable that the library might think a coprocessor chip is
  848. present, when in fact it is not, and the first floating-point
  849. instruction executed would hang the machine.
  850.  
  851. 
  852. File: dviman  Node: files, Prev: IBM-PC-Caveats, Up: top, Next: see-also
  853.  
  854. FILES
  855. =====
  856.  
  857. The values of `texinputs:' and `texfonts:' below are
  858. system-dependent.  On Unix systems, typical values are
  859. `/usr/local/lib/tex/macros/' and
  860. `/usr/local/lib/tex/fonts/'.
  861.  
  862. `*.dvi'     
  863.      TeX DeVice Independent output file
  864. `*.dvi-err'     
  865.      TeX DVIxxx translator error log
  866. `*.err'     
  867.      TeX DVIxxx translator error log when long extensions are not
  868.      available
  869. `*.dvi-xxx'     
  870.      TeX DVIxxx translator output file
  871. `*.xxx'     
  872.      TeX DVIxxx translator output file when long extensions are
  873.      not available
  874. `*.sub'     
  875.      DVI file-specific font substitution file
  876. `DVISPOOL'     
  877.      Environment variable (4.xBSD Unix only) defining program or
  878.      shell script which sends translation of DVI file to the
  879.      appropriate output spooler
  880. `DVISPOOL:'     
  881.      Logical name (TOPS-20 only) defining program which sends
  882.      translation of DVI file to the appropriate output spooler
  883. `texfonts.sub'     
  884.      Job-wide font substitution file
  885. `texfonts:*.*pxl'     
  886.      TeX default font rasters
  887. `texfonts:*.*gf'     
  888.      TeX default font rasters
  889. `texfonts:*.*pk'     
  890.      TeX default font rasters
  891. `texinputs:dvialw.ps'     
  892.      PostScript header file containing standard macro definitions
  893.      prefixed to PostScript output from DVIALW
  894. `texinputs:texfonts.sub'     
  895.      System-wide font substitution file
  896.  
  897. 
  898. File: dviman  Node: see-also, Prev: files, Up: top, Next: bugs
  899.  
  900. SEE ALSO
  901. ========
  902.  
  903.  
  904. dvitype(1), latex(1), tex(1), tr2tex(1), Local LaTeX
  905. Guide, A TeX DVI Driver Family
  906.  
  907. 
  908. File: dviman  Node: bugs, Prev: see-also, Up: top, Next: authors
  909.  
  910. BUGS
  911. ====
  912.  
  913.  
  914. Bugs in either the software or its documentation
  915. should be reported by electronic or postal mail to
  916.  
  917.      Nelson H.F. Beebe
  918.      Center for Scientific Computation
  919.      220 South Physics Building
  920.      University of Utah
  921.      Salt Lake City, UT 84112
  922.      USA
  923.      
  924.      Tel: (801) 581-5254
  925.      EMAIL: Beebe@Science.Utah.Edu (Internet)
  926.  
  927. An active electronic mailing list for news about the DVI driver
  928. family development is maintained by the author at the above net
  929. address.  Send requests there if you wish to be on it.
  930.  
  931. 
  932. File: dviman  Node: authors, Prev: bugs, Up: top, Next: name
  933.  
  934. AUTHORS
  935. =======
  936.  
  937.  
  938. David Fuchs at Stanford University wrote DVITYPE in `web' and
  939. defined the DVI file format.
  940.  
  941. Mark Senn at Purdue University wrote a preliminary version of the
  942. BBN BitGraph driver in C, using DVITYPE as a model.
  943.  
  944. Stephan v. Bechtolsheim and Bob Brown at Purdue, Robert Wells
  945. at BBN, and Jim Schaad and Richard Furuta at the University of
  946. Washington, improved it.
  947.  
  948. Contributions for PostScript devices came from Neal Holtz at
  949. Carleton University.  Simon Barnes of Schlumberger Cambridge
  950. Research Ltd., and Robin Rohlicek at BBN provided useful
  951. additions to the BBN BitGraph driver which have been generalized
  952. and incorporated in Version 2.07.
  953.  
  954. The transformation to about a dozen other device drivers, the
  955. massive code rearrangement for many new features as well as easy
  956. identification of host- and device-dependent sections, plus
  957. support for `.pk' and `.gf' compact font files, was carried out
  958. at the University of Utah by Nelson H.F.  Beebe.  He also wrote
  959. the documents A TeX DVI Driver Family and Using LaTeX at the
  960. University of Utah College of Science DEC-20.  The first
  961. describes all of these drivers in detail, and the second is the
  962. Local LaTeX Guide.
  963.  
  964. Lon Willett at Utah adapted DVIJEP to make DVIIMP for the Imagen
  965. laser printer family.
  966.  
  967. John Sauter adapted one of the low-resolution printer drivers to
  968. produce DVIL75 for the DEC LA75 printer, and DVIL3P for the DEC
  969. LN03 Plus laser printer.
  970.  
  971. Norman Naugle and colleagues at Texas A&M implemented the
  972. family on several new systems.
  973.