XDVI(1) XDVI(1) NNAAMMEE xdvi - DVI Previewer for the X Window System SSYYNNOOPPSSIISS xxddvvii [+[_p_a_g_e]] [-s _s_h_r_i_n_k] [-S _d_e_n_s_i_t_y] [-p _p_i_x_e_l_s] [-l] [-paper _p_a_p_e_r_t_y_p_e] [-mgs[_n] _s_i_z_e] [-hushspecials] [-hushchars] [-hush] [-altfont _f_o_n_t] [-margins _d_i_m_e_n] [-sidemargin _d_i_m_e_n] [-topmargin _d_i_m_e_n] [-offsets _d_i_m_e_n] [-xoffset _d_i_m_e_n] [-yoffset _d_i_m_e_n] [-keep] [-rv] [-fg _c_o_l_o_r] [-bg _c_o_l_o_r] [-hl _c_o_l_o_r] [-bd _c_o_l_o_r] [-cr _c_o_l_o_r] [-bw _w_i_d_t_h] [-geometry _g_e_o_m_e_t_r_y] [-icongeometry _g_e_o_m_e_t_r_y] [-iconic] [-display _d_i_s_p_l_a_y] [-copy] [-thorough] [-expert] [-version] dvi_file DDEESSCCRRIIPPTTIIOONN _X_d_v_i is a program which runs under the X window system. It is used to preview DVI files, such as are produced by TeX. This program has the capability of showing the file shrunken by various (integer) factors, and also has a ``magnifying glass'' which allows one to see a small part of the unshrunk image momentarily. Before displaying any page or part thereof, it checks to see if the dvi file has changed since the last time it was displayed. If this is the case, then _x_d_v_i will reinitial- ize itself for the new dvi file. For this reason, expos- ing parts of the _x_d_v_i window while _T_e_X is running should be avoided. This feature allows you to preview many ver- sions of the same file while running _x_d_v_i only once. In addition to using keystrokes to move within the file, _x_d_v_i provides buttons on the right side of the window, which are synonymous with various sequences of keystrokes. OOPPTTIIOONNSS In addition to specifying the .ddvvii file (with or without the .ddvvii), _X_d_v_i supports the following command line op- tions. If the option begins with a `++' instead of a `--', the option is restored to its default value. By default, these options can be set via the resource names given in parentheses in the description of each option. _+ppaaggee Specifies the first page to show. If _+ is given without a number, the last page is assumed; the first page is the default. --ss _s_h_r_i_n_k (.shrinkFactor) Defines the initial shrink factor. The default value is 3. --SS _d_e_n_s_i_t_y (.densityPercent) Determines the density used when shrinking bitmaps for fonts. A higher value pro- X Version 11 27 March 1990 1 XDVI(1) XDVI(1) duces a lighter font. The default value is 40. --ddeennssiittyy _d_e_n_s_i_t_y Same as --SS. --pp _p_i_x_e_l_s (.pixelsPerInch) Defines the size of the fonts to use, in pixels per inch. The default value is 300. --aallttffoonntt _f_o_n_t (.altFont) Declares a default font to use when the font in the dvi file cannot be found. This is use- ful, for example, with PostScript fonts. --ll (.listFonts) Causes the names of the fonts used to be listed. --hhuusshhssppeecciiaallss (.hushSpecials) Causes _x_d_v_i to suppress warnings about \special strings which it cannot process. --hhuusshhcchhaarrss (.hushLostChars) Causes _x_d_v_i to suppress warnings about references to characters which are not de- fined in the font. --hhuusshh (.Hush) Causes _x_d_v_i to suppress all suppressable warnings. --rrvv (.reverseVideo) Causes the page to be displayed with white characters on a black background, in- stead of vice versa. --bbww _w_i_d_t_h (.borderWidth) Specifies the width of the border of the window. --bboorrddeerrwwiiddtthh _w_i_d_t_h Same as --bbww. --ffgg _c_o_l_o_r (.foreground) Determines the color of the text (foreground). --ffoorreeggrroouunndd _c_o_l_o_r Same as --ffgg. --bbgg _c_o_l_o_r (.background) Determines the color of the back- ground. --bbaacckkggrroouunndd _c_o_l_o_r Same as --bbgg. X Version 11 27 March 1990 2 XDVI(1) XDVI(1) --hhll _c_o_l_o_r (.highlight) Determines the color of the page bor- der. The default is the foreground color. --bbdd _c_o_l_o_r (.borderColor) Determines the color of the window border. --bboorrddeerrccoolloorr _c_o_l_o_r Same as --bbdd. --ccrr _c_o_l_o_r (.cursorColor) Determines the color of the cursor. The default is the color of the page border. --tthhoorroouugghh (.thorough) _X_d_v_i will usually try to ensure that overstrike characters (_e_._g_. \notin) are printed correctly. On monochrome displays, this is always possible with one logical operation, either _a_n_d or _o_r. On color displays, however, this may take two operations, one to set the appropriate bits and one to clear other bits. If this is the case, then by default _x_d_v_i will instead use the _c_o_p_y operation, which does not handle overstriking correctly. The ``thorough'' option chooses the slower but more correct choice. See also _-_c_o_p_y, below. --ccooppyy (.copy) Always use the _c_o_p_y operation when writing characters to the display. This option may be nec- essary for correct operation on a color display, but overstrike characters will be incorrect. --kkeeeepp (.keepPosition) Sets a flag to indicate that _x_d_v_i should not move to the home position when moving to a new page. See also the `k' keystroke. --eexxppeerrtt (.expert) Prevent the buttons from appearing. See also the `x' keystroke. --vveerrssiioonn Print information on the version of _x_d_v_i. --mmaarrggiinnss _d_i_m_e_n (.Margin) Specifies the size of both the top margin and side margin. This should be a decimal number optionally followed by "cm", e.g., 1.5 or 3cm, giv- ing a measurement in inches or centimeters. It de- termines the ``home'' position of the page within the window as follows. If the entire page fits in the window, then the margin settings are ignored. If, even after removing the margins from the left, right, top, and bottom, the page still cannot fit X Version 11 27 March 1990 3 XDVI(1) XDVI(1) in the window, then the page is put in the window such that the top and left margins are hidden, and presumably the upper left-hand corner of the text on the page will be in the upper left-hand corner of the window. Otherwise, the text is centered in the window. See also `MM' under the KEYSTROKES sec- tion. --ssiiddeemmaarrggiinn _d_i_m_e_n (.sideMargin) Specifies the side margin (see above). --ttooppmmaarrggiinn _d_i_m_e_n (.topMargin) Specifies the top and bottom margins (see above). --ooffffsseettss _d_i_m_e_n (.Offset) Specifies the size of both the horizontal and vertical offsets of the output on the page. This should be a decimal number optionally followed by "cm", e.g., 1.5 or 3cm, giving a measurement in inches or centimeters. By decree of the Stanford TeX Project, the default TeX page origin is always 1 inch over and down from the top-left page corner, even when non-American paper sizes are used. Therefore, the default offsets are 1.0 inch. --xxooffffsseett _d_i_m_e_n (.xOffset) Specifies the size of the horizontal offset of the output on the page (see above). --yyooffffsseett _d_i_m_e_n (.yOffset) Specifies the size of the vertical off- set of the output on the page (see above). --ppaappeerr _p_a_p_e_r_t_y_p_e (.paper) Specifies the size of the printed page. This may be of the form _wx_h (or _wx_hcm), where _w is the width in inches (or cm) and _h is the height in inches (or cm), respectively. There are also syn- onyms which may be used: us (8.5x11), usr (11x8.5), legal (8.5x14), foolscap (13.5x17), as well as the ISO sizes a1-a7, b1-b7, c1-c7, a1r-a7r (a1-a7 rotated), etc. The default size is 8.5 x 11 inches. --nnooggrreeyy (.grey) Turns off the use of greyscale anti- aliasing when printing shrunken bitmaps. (In this case, the logic of the corresponding resource is the reverse: -nogrey corresponds to grey:off; +no- grey to grey:on.) See also the `G' keystroke. X Version 11 27 March 1990 4 XDVI(1) XDVI(1) --mmggss[[nn]] _s_i_z_e (.magnifierSize[n]) Specifies the size of the win- dow to be used for the ``magnifying glass'' for Button _n. See the MOUSE ACTIONS section. Defaults are 200, 350, 600, 900, and 1200. --mmggss _s_i_z_e Same as --mmggss11. --ggeeoommeettrryy _g_e_o_m_e_t_r_y (*geometry) Specifies the initial geometry of the window. --iiccoonnggeeoommeettrryy _g_e_o_m_e_t_r_y (.iconGeometry) Specifies the initial position for the icon. --iiccoonniicc (.iconic) Causes the XDVI window to start in the iconic state. The default is to start with the window open. --ddiissppllaayy _h_o_s_t_:_d_i_s_p_l_a_y Specifies the host and screen to be used for dis- playing the dvi file. This is normally obtained from the environment variable ``DISPLAY.'' KKEEYYSSTTRROOKKEESS XXddvvii recognizes the following keystrokes when typed in its window. Each may optionally be preceded by a (positive or negative) number, whose interpretation will depend on the particular keystroke. Also, the "Home", "Prior", "Next", and arrow cursor keys are synonyms for `^', `b', `f', `l', `r', `u', and `d' keys, respectively. qq Quits the program. Control-C and control-D will do this, too. nn Moves to the next page (or to the nnth next page if a number is given). Synonyms are `ff', Space, Re- turn, and Line Feed. pp Moves to the previous page (or back nn pages). Syn- onyms are `bb', control-H, and Delete. gg Moves to the page with the given number. Initial- ly, the first page is assumed to be page number 1, but this can be changed with the `PP' keystroke, be- low. If no page number is given, then it goes to the last page. PP ``This is page number nn.'' This can be used to make the `gg' keystroke refer to actual page numbers instead of absolute page numbers. X Version 11 27 March 1990 5 XDVI(1) XDVI(1) CCoonnttrrooll--LL Redisplays the current page. ^^ Move to the ``home'' position of the page. This is normally the upper left-hand corner of the page, depending on the margins as described in the -mmaarr-- ggiinnss option, above. uu Moves up two thirds of a window-full. dd Moves down two thirds of a window-full. ll Moves left two thirds of a window-full. rr Moves right two thirds of a window-full. cc Moves the page so that the point currently beneath the cursor is moved to the middle of the window. It also (gasp!) warps the cursor to the same place. MM Sets the margins so that the point currently under the cursor is the upper left-hand corner of the text in the page. Note that this command itself does not move the image at all. For details on how the margins are used, see the -mmaarrggiinnss option. ss Changes the shrink factor to the given number. If no number is given, the smallest factor that makes the entire page fit in the window will be used. (Margins are ignored in this computation.) SS Sets the density factor to be used when shrinking bitmaps. This should be a number between 0 and 100; higher numbers produce lighter characters. RR Forces the dvi file to be reread. This allows you to preview many versions of the same file while running _x_d_v_i only once. kk Normally when _x_d_v_i switches pages, it moves to the home position as well. The `k' keystroke toggles a `keep-position' flag which, when set, will keep the same position when moving between pages. Also `0k' and `1k' clear and set this flag, respectively. See also the --kkeeeepp option. xx Toggles expert mode (in which the buttons do not appear). Also `0x' and `1x' clear and reset this mode, respectively. See also the --eexxppeerrtt option. GG This key toggles the use of greyscale anti-aliasing for displaying shrunken bitmaps. In addition, the key sequences `0G' and `1G' clear and set this flag, respectively. See also the --nnooggrreeyy option. X Version 11 27 March 1990 6 XDVI(1) XDVI(1) MMOOUUSSEE AACCTTIIOONNSS If the shrink factor is set to any number other than one, then clicking any mouse button will pop up a ``magnifying glass'' which shows the unshrunk image in the vicinity of the mouse click. This subwindow disappears when the mouse button is released. Different mouse buttons produce dif- ferent sized windows, as indicated by the --mmggss option. Moving the cursor while holding the button down will move the magnifying glass. Also, the scrollbars (if present) behave in the standard way: pushing Button 2 in a scrollbar moves the top or left edge of the scrollbar to that point and optionally drags it; pushing Button 1 moves the image up or right by an amount equal to the distance from the button press to the upper left-hand corner of the window; pushing Button 3 moves the image down or left by the same amount. EENNVVIIRROONNMMEENNTT Uses the environment variable ``DISPLAY'' to specify which bit map display terminal to use. The environment variable ``XDVIFONTS'' determines the path(s) searched for fonts in the following manner. The string consists of one or more strings separated by colons. In each such string, the substring ``%f'' is changed to the font name; ``%d'' is changed to the magni- fication; and ``%p'' is changed to the font family (``gf'', or ``pk''). If no ``%f'' appears in the string, then the string ``/%f.%d%p'' is added on the end. For example, if the string is ``/usr/TeX/tex/fonts'' and the font is cmr10 at 300dpi, then it searches for /usr/TeX/tex/fonts/cmr10.300gf, and /usr/TeX/tex/fonts/cmr10.300pk, in that order. An extra colon anywhere in the ``XDVIFONTS'' variable causes the system default paths to be tried at that point. If the font is not found in the desired size, then _x_d_v_i will invoke Metafont to create the font in the correct size. Failing that, it will try to find the nearest size. If the font cannot be found at all, then _x_d_v_i will try to vary the point size of the font (within a certain range), and if this fails, then it will use the font specified as the alternate font (cf. --aallttffoonntt). For compatibility with TeX, you may also use ``TEXFONTS'' in place of ``XDVIFONTS'', although in that case the vari- able should not include any ``%'' specifiers. The reason for recognizing TEXFONTS is that certain versions of TeX also support the convention regarding an extra colon in the font path; therefore, users who create their own fonts can put both their .tfm and raster files in the same di- rectory and do ``setenv TEXFONTS :MFdir'' or ``setenv TEX- FONTS MFdir:'' in order to get both TeX and _x_d_v_i to search X Version 11 27 March 1990 7 XDVI(1) XDVI(1) their directory in addition to the system standard direc- tories. The XDVIFONTS variable overrides the TEXFONTS variable, so that on those sites where TEXFONTS must be set explicitly, and therefore this feature is not useful, the XDVIFONTS may be set to an empty string (_i_._e_._, ``setenv XDVIFONTS'') to cause _x_d_v_i to ignore TEXFONTS. _x_d_v_i also recognizes the PKFONTS variable, which is checked after XDVIFONTS but before TEXFONTS. You can also enable recursive searching in the font path by using the ``*'' and ``**'' specifiers. At this point in the path, _x_d_v_i will recursively search subdirectories of the given directory in order to find font files. A single asterisk limits the search to one level; a double asterisk will search through an arbitrary number of lev- els. Also, the variable TEXFONTS_SUBDIR can be used to give a colon-separated list of directories to recursively search. This is equivalent to including the specifiers with a ``*'' after each; the usual conventions regarding extra colons applies here, too, relative to a default sub- directory path. Asterisks may not be preceded by a ``%'' specifier in any path component. The ``XDVISIZES'' variable must be set to indicate which sizes of fonts are available. It should consist of a list of numbers separated by colons. If the list begins with a colon, the system default sizes are used, as well. Sizes are expressed in dots per inch; decimals may be used for ``pxl'' files: for example, a 300 dots per inch file mag- nified by half a step comes out to 1643 dots per five inches, which should be encoded as 328.6. The current de- fault set of sizes is 300 : 328.6 : 360 : 432 : 518.4 : 622 : 746.4. _x_d_v_i will also try the actual size of the font before trying any of the given sizes. Virtual fonts are also supported, although _x_d_v_i does not have any built-in fonts to which they can refer. The search path for .vf files can be specified with the ``XD- VIVFS'' environment variable in a similar manner to that for the ``XDVIFONTS'' variable. _x_d_v_i will also check the VFFONTS variable if the XDVIFONTS variable is not set. Virtual fonts are searched for immediately after looking for the font as a normal font in the exact size specified. FFIILLEESS /usr/TeX/lib/tex/fonts Font pixel files. SSEEEE AALLSSOO X(1). AAUUTTHHOORRSS Eric Cooper, CMU, did a version for direct output to a X Version 11 27 March 1990 8 XDVI(1) XDVI(1) QVSS. Modified for X by Bob Scheifler, MIT Laboratory for Computer Science. Modified for X11 by Mark Eichin, MIT SIPB. Additional enhancements by many others. X Version 11 27 March 1990 9