---
name: "xdvi-ja.small"
section: "1"
platform: "linux"
package: "xdvik-ja"
version: "22.15-j1.04-4"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/xdvi-ja"
---

# xdvi-ja.small(1)

DVI Previewer for the X Window System

Part of [xdvi-ja(1)](/xdvi-ja/1.md).

## NAME

xdvi-ja - DVI Previewer for the X Window System

## SYNOPSIS

**xdvi-ja** \[**+**\[*page*\]\] \[**-s** *shrink*\] \[**-S** *density*\] \[**-nogrey**\] \[**-gamma** *g*\] \[**-install**\] \[**-noinstall**\] \[**-fontconf** *vfontcap*\] \[**-vfontmap** *vfontmap*\] \[**-printer** *printer*\] \[**-xdviprint** *print\_command*\] \[**-p** *pixels*\] \[**-margins** *dimen*\] \[**-sidemargin** *dimen*\] \[**-topmargin** *dimen*\] \[**-offsets** *dimen*\] \[**-xoffset** *dimen*\] \[**-yoffset** *dimen*\] \[**-paper** *papertype*\] \[**-altfont** *font*\] \[**-nomakepk**\] **-mfmode** *mode-def\[**:**dpi\]* \[**-l**\] \[**-rv**\] \[**-expert**\] \[**-mgs**\[*n*\] *size*\] \[**-warnspecials**\] \[**-hush**\] \[**-hushchars**\] \[**-hushchecksums**\] \[**-hushspecials**\] \[**-safer**\] \[**-fg** *color*\] \[**-bg** *color*\] \[**-hl** *color*\] \[**-bd** *color*\] \[**-cr** *color*\] \[**-bw** *width*\] \[**-grid1** *color*\]  \[**-grid2** *color*\]  \[**-grid3** *color*\] \[**-bw** *width*\] \[**-display** *host:display*\] \[**-geometry** *geometry*\] \[**-icongeometry** *geometry*\] \[**-iconic**\] \[**-font** *font*\] \[**-keep**\] \[**-copy**\] \[**-thorough**\] \[**-nopostscript**\] \[**-noscan**\] \[**-allowshell**\] \[**-noghostscript**\] \[**-nogssafer**\] \[**-gsalpha**\] \[**-interpreter** *path*\] \[**-gspalette** *palette*\] \[**-underlink**\] \[**-browser** *WWWbrowser*\] \[**-base** *base URL*\] \[**-debug** *bitmask*\] \[**-usecolor**\] \[**-version**\] \[*dvi\_file*\]

## DESCRIPTION

**xdvi-ja** is a program which runs under the X window system. It is used to preview *dvi* files, such as are produced by [**tex**(1)](/tex/1.md).

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 **xdvi-ja** will reinitialize itself for the new *dvi* file.  For this reason, exposing parts of the **xdvi-ja** window while TeX is running should be avoided.  This feature allows you to preview many versions of the same file while running **xdvi-ja** only once.

In addition to using keystrokes to move within the file, **xdvi-ja** provides buttons on the right side of the window, which are synonymous with various sequences of keystrokes.

**xdvi-ja** can show PostScript\<tm\> specials by any of three methods. It will try first to use Display PostScript\<tm\>, then NeWS, then it will try to use Ghostscript to render the images.  All of these options depend on additional software to work properly; moreover, some of them may not be compiled into this copy of **xdvi-ja**.

For performance reasons, **xdvi-ja** does not render PostScript specials in the magnifying glass.

If *dvi\_file* is not specified, a file-selection widget is popped up for you to choose the *dvi* file.

## OPTIONS

In addition to specifying the *dvi* file (with or without the **.dvi** extension), **xdvi-ja** supports the following command line options.  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.

- **+***page*

  Specifies the first page to show.  If **+** is given without a number, the last page is assumed; the first page is the default.

- **-allowshell**

  (**.allowShell**) This option enables the shell escape in PostScript specials. (For security reasons, shell escapes are disabled by default.) This option should be rarely used; in particular it should not be used just to uncompress files: that function is done automatically if the file name ends in **.Z**, **.gz**, or **.bz2** Shell escapes are always turned off if the **-safer** option is used.

- **-altfont** *font*

  (**.altFont**) Declares a default font to use when the font in the *dvi* file cannot be found.  This is useful, for example, with PostScript \<tm\> fonts.

- **-background** *color*

  (**.background**) Determines the color of the background.  Same as **-bg**.

- **-base** *base URL*

  (**.urlBase**) Sets the base URL value that external links given in the *dvi* file are assumed relative to - normally this should be the URL of the document itself (?).

- **-bd** *color*

  (**.borderColor**) Determines the color of the window border.

- **-bg** *color*

  (**.background**) Determines the color of the background.

- **-bordercolor** *color*

  Same as **-bd**.

- **-borderwidth** *width*

  (**.borderWidth**) Specifies the width of the border of the window.  Same as **-bw**.

- **-browser** *WWWbrowser*

  (**.wwwBrowser**) Defines the World Wide Web browser to be used to handle external URL's, for example mosaic.  If neither the command-line option nor the X resource are set, uses the environment variable WWWBROWSER.

- **-bw** *width*

  (**.borderWidth**) Specifies the width of the border of the window.

- **-copy**

  (**.copy**) Always use the *copy* operation when writing characters to the display. This option may be necessary for correct operation on a color display, but overstrike characters will be incorrect. If greyscale anti-aliasing is in use, the **-copy** operation will disable the use of colorplanes and make overstrikes come out incorrectly. See also **-thorough**.

- **-cr** *color*

  (**.cursorColor**) Determines the color of the cursor.  The default is the color of the page border.

- **-debug** *bitmask*

  (**.debugLevel**) If nonzero, prints additional information on standard output.  The number is taken as a set of independent bits.  The meaning of each bit follows. 1=bitmaps; 2=dvi translation; 4=pk reading; 8=batch operation; 16=events; 32=file opening; 64=PostScript communication; 128=Kpathsea [stat(2)](/stat/2.md) calls; 256=Kpathsea hash table lookups; 512=Kpathsea path definitions; 1024=Kpathsea path expansion; 2048=Kpathsea searches. To trace everything having to do with file searching and opening, use 4000. Some of these debugging options are actually provided by Kpathsea. See the Debugging section in the Kpathsea manual.

- **-density** *density*

  (**.densityPercent**) Determines the density used when shrinking bitmaps for fonts. A higher value produces a lighter font.  The default value is 40. If greyscaling is in use this argument does not apply; use **-gamma** instead. See also the \`**S**'. keystroke. Same as **-S**

- **-display** *host***:***display*

  Specifies the host and screen to be used for displaying the *dvi* file.  By default this is obtained from the environment variable **DISPLAY.**

- **-expert**

  (**.expert**) Prevent the buttons from appearing.  See also the \`**x**' keystroke.

- **-fg** *color*

  (**.foreground**) Determines the color of the text (foreground).

- **-fontconf** *vfontcap*

  (**FontConf**) Alter the **vfontcap** of VFlib.

- **-foreground** *color*

  Same as **-fg**.

- **-font** *font*

  (**\*font**) Sets the font for use in the buttons.

- **-gamma** *gamma*

  (**.gamma**) Controls the interpolation of colors in the greyscale anti-aliasing color palette.  Default value is 1.0.  For 0 \< *gamma* \< 1, the fonts will be lighter (more like the background), and for *gamma* \> 1, the fonts will be darker (more like the foreground).  Negative values behave the same way, but use a slightly different algorithm. For color and greyscale displays; for monochrome, see **-density**. See also the \`**S**' keystroke

- **-geometry** *geometry*

  (**\*geometry**) Specifies the initial geometry of the window.

- **-grid1** *color*

  (**.grid1Color**) Determines the color of level 1 grid (default as foreground)

- **-grid2** *color*

  (**.grid2Color**) Determines the color of level 2 grid (default as foreground)

- **-grid3** *color*

  (**.grid3Color**) Determines the color of level 3 grid (default as foreground)

- **-gspalette** *palette*

  (**.palette**) Specifies the palette to be used when using Ghostscript for rendering PostScript specials.  Possible values are **Color**, **Greyscale**, and **Monochrome**. The default is **Color**.

- **-gsalpha**

  (**.gsAlpha**) Causes **Ghostscript** to be called with the **x11alpha** driver instead of the **x11** driver.  The **x11alpha** driver enables anti-aliasing in PostScript figures, for a nicer appearance. It is available on newer versions of **Ghostscript**. This option can also be toggled with the \`**V**' keystroke.

- **-hl** *color*

  (**.highlight**) Determines the color of the page border.  The default is the foreground color.

- **-hush**

  (**.Hush**) Causes **xdvi-ja** to suppress all suppressible warnings.

- **-hushchars**

  (**.hushLostChars**) Causes **xdvi-ja** to suppress warnings about references to characters which are not defined in the font.

- **-hushchecksums**

  (**.hushChecksums**) Causes **xdvi-ja** to suppress warnings about checksum mismatches between the *dvi* file and the font file.

- **-hushspecials**

  (**.hushSpecials**) Causes **xdvi-ja** to suppress warnings about **\\special** strings that it cannot process.

- **-icongeometry** *geometry*

  (**.iconGeometry**) Specifies the initial position for the icon.

- **-iconic**

  (**.iconic**) Causes the **xdvi-ja** window to start in the iconic state.  The default is to start with the window open.

- **-install**

  (**.install**) If **xdvi-ja** is running under a **PseudoColor** visual, then (by default) it will check for **TrueColor** visuals with more bits per pixel, and switch to such a visual if one exists. If no such visual exists, it will use the current visual and colormap.  If **-install** is selected, however, it will still use a **TrueColor** visual with a greater depth, if one is available; otherwise, it will install its own colormap on the current visual.  If the current visual is not **PseudoColor**, then **xdvi-ja** will not switch the visual or colormap, regardless of its options. The default value of the **install** resource is the special value, **maybe**. There is no **+install** option.  See also **-noinstall**, and the GREYSCALING AND COLORMAPS section.

- **-interpreter** *filename*

  (**.interpreter**) Use *filename* as the Ghostscript interpreter.  By default it uses **gs**.

- **-keep**

  (**.keepPosition**) Sets a flag to indicate that **xdvi-ja** should not move to the home position when moving to a new page.  See also the \`**k**' keystroke.

- **-l**

  (**.listFonts**) Causes the names of the fonts used to be listed.

- **-margins** *dimen*

  (**.Margin**) Specifies the size of both the top margin and side margin. This determines 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 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. The dimension should be a decimal number optionally followed by any of the two-letter abbreviations for units accepted by TeX (**pt**, **pc**, **in**, **bp**, **cm**, **mm**, **dd**, **cc**, or **sp**). By default, the unit will be **cm** (centimeters)**.** See also **-sidemargin**, **-topmargin**, and the keystroke \`**M**.'

- **-mfmode** *mode-def*

  (**.mfMode**) Specifies a *mode-def* string, which can be used in searching for fonts (see ENVIRONMENT, below). Generally, when changing the *mode-def*, it is also necessary to change the font size to the appropriate value for that mode.  This is done by adding a colon and the value in dots per inch; for example, **-mfmode ljfour:600**. This method overrides any value given by the **pixelsPerInch** resource or the **-p** command-line argument. The metafont mode is also passed to **metafont** during automatic creation of fonts. By default, it is **unspecified**.

- **-mgs** *size*

  Same as **-mgs1**.

- **-mgs\[*n*\]** *size*

  (**.magnifierSize\[*n*\]**) Specifies the size of the window to be used for the \`\`magnifying glass'' for Button *n*. The size may be given as an integer (indicating that the magnifying glass is to be square), or it may be given in the form *width*x*height*. See the MOUSE ACTIONS section.  Defaults are 200x150, 400x250, 700x500, 1000x800, and 1200x1200.

- **-noghostscript**

  (**.ghostscript**) Inhibits the use of Ghostscript for displaying PostScript\<tm\> specials. (For this option, the logic of the corresponding resource is reversed: **-noghostscript** corresponds to **ghostscript:off**; **+noghostscript** to **ghostscript:on**.)

- **-nogrey**

  (**.grey**) Turns off the use of greyscale anti-aliasing when printing shrunken bitmaps. (For this option, the logic of the corresponding resource is reversed: **-nogrey** corresponds to **grey:off**; **+nogrey** to **grey:on**.) See also the \`**G**' keystroke.

- **-nogssafer**

  (**.gsSafer**) Normally, if Ghostscript is used to render PostScript specials, the Ghostscript interpreter is run with the option **-dSAFER**. The **-nogssafer** option runs Ghostscript without **-dSAFER**. The **-dSAFER** option in Ghostscript disables PostScript operators such as **deletefile**, to prevent possibly malicious PostScript programs from having any effect. If the **-safer** option is specified, then this option has no effect; in that case Ghostscript is always run with **-dSAFER**. (For the **-nogssafer** option, the logic of the corresponding resource is reversed: **-nogssafer** corresponds to **gsSafer:off**; **+nogssafer** to **gsSafer:on**.)

- **-noinstall**

  (**.install**) Inhibit the default behavior of switching to a **TrueColor** visual if one is available with more bits per pixel than the current visual. This option corresponds to a resource of **install:off**. There is no **+noinstall** option.  See also **-install**, and the GREYSCALING AND COLORMAPS section.

- **-nomakepk**

  (**.makePk**) Turns off automatic generation of font files that cannot be found by other means. (For this option, the logic of the corresponding resource is reversed: **-nomakepk** corresponds to **makePk:off**; **+nomakepk** to **makePK:on**.)

- **-nopostscript**

  (**.postscript**) Turns off rendering of PostScript\<tm\> specials.  Bounding boxes, if known, will be displayed instead.  This option can also be toggled with the \`**v**' keystroke. (For this option, the logic of the corresponding resource is reversed: **-nopostscript** corresponds to **postscript:off**; **+postscript** to **postscript:on**.)

- **-noscan**

  (**.prescan**) Normally, when PostScript\<tm\> is turned on, **xdvi-ja** will do a preliminary scan of the *dvi* file, in order to send any necessary header files before sending the PostScript code that requires them.  This option turns off such prescanning. (It will be automatically be turned back on if **xdvi-ja** detects any specials that require headers.)  (For the **-noscan** option, the logic of the corresponding resource is reversed: **-noscan** corresponds to **prescan:off**; **+noscan** to **prescan:on**.)

- **-offsets** *dimen*

  (**.Offset**) Specifies the size of both the horizontal and vertical offsets of the output on the page.  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. The argument *dimen* should be a decimal number optionally followed by any of the two-letter abbreviations for units accepted by TeX (**pt**, **pc**, **in**, **bp**, **cm**, **mm**, **dd**, **cc**, or **sp**). By default, the unit will be **cm** (centimeters)**.** See also **-xoffset** and **-yoffset**.

- **-p** *pixels*

  (**.pixelsPerInch**) Defines the size of the fonts to use, in pixels per inch.  The default value is 600.  This option is provided only for backwards compatibility; the preferred way of setting the font size is by setting the Metafont mode at the same time; see the **-mfmode** option.

- **-paper** *papertype*

  (**.paper**) Specifies the size of the printed page.  This may be of the form *width***x***height* optionally followed by a unit, where *width* and *height* are decimal numbers giving the width and height of the paper, respectively, and the unit is any of the two-letter abbreviations for units accepted by TeX (**pt**, **pc**, **in**, **bp**, **cm**, **mm**, **dd**, **cc**, or **sp**). By default, the unit will be **cm** (centimeters)**.** There are also synonyms which may be used: **us** (8.5x11in), **usr** (11x8.5in), **legal** (8.5x14in), **foolscap** (13.5x17in), as well as the ISO sizes **a1**-**a7**, **b1**-**b7**, **c1**-**c7**, **a1r**-**a7r** (**a1**-**a7** rotated), etc.  The default size is 21 x 29.7 cm (A4 size).

- **-printer** *printer*

  (.printer) Specifies the printer name to which xdvi-ja will print-out the dvi file. This is normally obtained from the environment variable \`\`PRINTER.'' When it is not defined, \`\`lp'' is used as the default.

- **-rv**

  (**.reverseVideo**) Causes the page to be displayed with white characters on a black background, instead of vice versa.

- **-s** *shrink*

  (**.shrinkFactor**) Defines the initial shrink factor.  The default value is 12.  If *shrink* is given as 0, then the initial shrink factor is computed so that the page fits within the window (as if the \`s' keystroke were given without a number).

- **-S** *density*

  (**.densityPercent**) Same as **-density**, *q.v.*

- **-safer**

  (**.safer**) This option turns on all available security options; it is designed for use when **xdvi-ja** is called by a browser that obtains a *dvi* or TeX file from another site. In the present case, this option selects **+nogssafer** and **+allowshell**.

- **-sidemargin** *dimen*

  (**.sideMargin**) Specifies the side margin (see **-margins**).

- **-thorough**

  (**.thorough**) **xdvi-ja** 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 *and* or *or*. 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 **xdvi-ja** will instead use the *copy* operation, which does not handle overstriking correctly.  The **-thorough** option chooses the slower but more correct choice.  See also **-copy**.

- **-topmargin** *dimen*

  (**.topMargin**) Specifies the top and bottom margins (see **-margins**).

- **-underlink**

  (**.underLink**) Underline links.  Default is true.

- **-usecolor**

  (**.colorSpecial**) Enables **xdvi-ja** to handle color specials and corresponds to **colorSpecial:on**.

- **-version**

  Print information on the version of **xdvi-ja**.

- **-vfontmap** *vfontmap*

  (**vfontmap**) Alter the **vfontmap** for VFlib. Same as setting environment variable **VFONTMAP**, but prior to it.

- **-warnspecials**

  (**.warnSpecials**) Causes **xdvi-ja** to issue warnings about **\\special** strings that it cannot process.

- **-xdviprint** *print\_command*

  (.xdviPrint) Specifies external print-out command. This is also obtained from the environment variable \`\`XDVIPRINTCMD.'' See the section \`\`PRINT-OUT.''

- **-xoffset** *dimen*

  (**.xOffset**) Specifies the size of the horizontal offset of the output on the page.  See **-offsets**.

- **-yoffset** *dimen*

  (**.yOffset**) Specifies the size of the vertical offset of the output on the page.  See **-offsets**.

## KEYSTROKES

**xdvi-ja** 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 \`\`Help'', \`\`Home'', \`\`Prior'', \`\`Next'', and arrow cursor keys are synonyms for \`**?**', \`**^**', \`**b**', \`**f**', \`**l**', \`**r**', \`**u**', and \`**d**' keys, respectively.

- **q**

  Quits the program.  Control-C and control-D will do this, too.

- **Q**

  Quits the program with exit status 2.

- **n**

  Moves to the next page (or to the *n*th next page if a number is given).  Synonyms are \`**f**', Space, Return, and Line Feed.

- **p**

  Moves to the previous page (or back *n* pages).  Synonyms are \`**b**', control-H, and Delete.

- **g**

  Moves to the page with the given number. If no page number is given, then it goes to the last page. This keystroke refers to actual page numbers.

- **P**

  Moves to the page with the given number. If no page number is given, then it goes to the last page. This keystroke refers to absolute page numbers.

- Control-L

  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 **-margins** option, above.

- **u**

  Moves up two thirds of a window-full.

- **d**

  Moves down two thirds of a window-full.

- **l**

  Moves left two thirds of a window-full.

- **r**

  Moves right two thirds of a window-full.

- **c**

  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.

- **M**

  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 **-margins** option.

- **s**

  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.)

- **S**

  Sets the density factor to be used when shrinking bitmaps.  This should be a number between 0 and 100; higher numbers produce lighter characters. If greyscaling mode is in effect, this changes the value of gamma instead. The new value of gamma is the given number divided by 100; negative values are allowed.

- **T**

  Toggles to the next unit in a sorted list of TeX dimension units for the popup magnifier ruler.

- **R**

  Forces the *dvi* file to be reread.  This allows you to preview many versions of the same file while running **xdvi-ja** only once.

- **k**

  Normally when **xdvi-ja** 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 **-keep** option.

- **x**

  Toggles expert mode (in which the buttons do not appear).  Also \`**0x**' and \`**1x**' clear and reset this mode, respectively.  See also the **-expert** option.

- **G**

  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 **-nogrey** option.

If given a numeric argument that is not 0 or 1, greyscale anti-aliasing is turned on, and the gamma resource is set to the value divided by 100. E.g., \`**150G**' turns on greyscale and sets gamma to 1.5.

- **D**

  This key toggles the use of grid over the document. If no number is given, the grid mode toggles.  By prepending number, 3 grid levels can be set. The grid in each level is drawn in the colour specified. See also the **-grid1, -grid2,** and **-grid3** options.

- **v**

  This key toggles the rendering of PostScript\<tm\> specials.  If rendering is turned off, then bounding boxes are displayed when available. In addition the key sequences \`**0v**' and \`**1v**' clear and set this flag, respectively.  See also the **-nopostscript** option.

- **V**

  This key toggles tha anti-aliasing of PostScript\<tm\> specials when **Ghostscript** is used as renderer.  In addition the key sequences \`**0V**' and \`**1V**' clear and set this flag, See also the +.B -gsalpha option.

- **Control-F**

  Read a new  *dvi* file. A file-selection widget is popped up for you to choose the dvi file from.

- **m**

  Marks the page with the given number. If no page number is given, then it marks the current page. Page marking behavior is like the Mark Ring of GNU Emacs (as Control-SPC), but the detail is different from it; when the marks of a page are duplicated, they are simplified to one mark, like the LRU-stack. Also pushing Button 2 in TOC makes the page marked.

- **U**

  Deletes mark of the page with the given number. If no page number is given, then it deletes mark of the current page. Also pushing Button 3 in TOC makes the page not marked.

- **a**

  Marks all pages.

- **A**

  Deletes marks of all pages.

- **\<**

  Marks the current page, and moves to the first page (like Meta-\< of GNU Emacs). It is same as 'm' and '1g'.

- **\>**

  Marks the current page, and moves to the last page (like Meta-\> of GNU Emacs). It is same as 'm' and 'g'.

- **'**

  Moves to the last marked page.

- **"**

  Exchanges the current page and the last marked page, that is, the current page is marked and moves to the last marked page, then the last mark is deleted (like Control-x Control-x of GNU Emacs). Exceptionally, if the current page was already marked, the last mark would not be deleted. It marks the current page (this causes the current page is last marked), and moves to the ex-last marked page.

- **\`**

  Traces the page mark ring in the marked order, that is, it moves to the last marked page, then the last marked page is changed to the previous mark of it (like Control-u Control-SPC of GNU Emacs). When it reaches the oldest marked page, it loops back. Because the page mark ring is cyclic.

- **o**

  Popup the print-out menu. The menu consists of \`\`All pages'', \`\`Current page'' , \`\`Last marked page'', \`\`Region'', \`\`All marked pages'' ; \`\`All pages'' means that all pages in the DVI file are printed. \`\`Current page'' means that the current page is only printed. \`\`Last marked page'' means that the last marked page is only printed. \`\`Region'' means that pages in the region between the current page and the last marked page are printed. \`\`All marked pages'' means that the all marked page are printed.

- **t**

  Popup the set paper-type menu.

- **Z**

  Changes the shrink factor smaller. So, the display size becomes larger.

- **z**

  Changes the shrink factor bigger. So, the display size becomes smaller.

## MOUSE ACTIONS

If the shrink factor is set to any number other than one, then clicking mouse button 3  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 different sized windows, as indicated by the **-mgs** option.  Moving the cursor while holding the button down will move the magnifying glass.

If the cursor is on a hypertext link (underlined by default), then that link overrides the magnifying glass for Buttons 1 and 2. If Button 1 is clicked over a link, then **xdvi-ja** jumps to the target in the current window.  If Button 2 is clicked over a link, then **xdvi-ja** opens a new window on the target.

More precisely, for internal links, Button 1 jumps in the same window to the link, while Button 2 starts up a new **xdvi-ja** on the link.  For external links to *dvi* files, Button 1 changes the current **xdvi-ja** to be reading that file, while Button 2 starts a new **xdvi-ja** on that file.  For other file types, **mime.types** and **mailcap** are parsed to determine the viewer; finally, if no suitable **mailcap** entry was found, if the **WWWBROWSER**  environment variable is set, or **-browser** was specified on the command line, it is started up on the file.

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.

## SIGNALS

When **xdvi-ja** receives a **SIGUSR1**  signal, it rereads the *dvi* file.

## GREYSCALING AND COLORMAPS

The greyscale anti-aliasing feature in **xdvi-ja** will not work at its best if the display does not have enough colors available. This can happen if other applications are using most of the colormap (even if they are iconified).  If this occurs, then **xdvi-ja** will print an error message and turn on the **-copy** option.  This will result in overstrike characters appearing wrong; it may also result in poor display quality if the number of available colors is very small.

Typically this problem occurs on displays that allocate eight bits of video memory per pixel.  To see how many bits per pixel your display uses, type **xwininfo** in an **xterm** window, and then click the mouse on the root window when asked.  The \`\`Depth:'' entry will tell you how many bits are allocated per pixel.

Displays using at least 15 bits per pixel are typically **TrueColor** visuals, which do not have this problem, since their colormap is permanently allocated and available to all applications.  (The visual class is also displayed by **xwininfo**.) For more information on visual classes see the documentation for the X Window System.

To alleviate this problem, therefore, one may (a) run with more bits per pixel (this may require adding more video memory or replacing the video card), (b) shut down other applications that may be using much of the colormap and then restart **xdvi-ja**, or (c) run **xdvi-ja** with the **-install** option.

One application which is often the cause of this problem is **Netscape**. In this case there are two more alternatives to remedying the situation. One can run \`\`**netscape -install**'' to cause **Netscape** to install a private colormap.  This can cause colors to change in bizarre ways when the mouse is moved to a different window. Or, one can run \`\`**netscape -ncols 220**'' to limit **Netscape** to a smaller number of colors.  A smaller number will ensure that other applications have more colors available, but will degrade the color quality in the **Netscape** window.

## TABLE OF CONTENTS

The page number list is shown as TOC (table of contents). The current page is marked with a '\<' in the right margin of TOC. The marked pages are marked with a '\*' in the left margin of TOC. In particular, the lastly marked page is marked with '\>' in the left margin of TOC. Pushing Button 1 on a page number moves the current page to the page and is marked with '\<'. Pushing Button 2 on a page number makes the page marked. Pushing Button 3 on a page number makes the page not marked. Button 2 and 3 can be drugged, then makes all drugged pages marked/not marked.

## PRINT-OUT

Xdvi-ja has no functions to print-out pages inside itself. Therefore, xdvi-ja requires external commands at the print-out work, for example, dvi2ps, dvips, and so on. So these commands should be installed before xdvi-ja is installed.

Xdvi-ja selects necessary pages for print-out from print-out menu and send dvi file of selected pages to the external command through pipe. This external command should read dvi file from pipe (stdin) and send it printer. The default command is \`\`/usr/bin/xdviprint'', that is normally a script which invokes dvi2ps, dvips, and so on.

## HANDLING OF POSTSCRIPT FIGURES

**xdvi-ja** can display PostScript files included in the *dvi* file.  Such files are first searched for in the directory where the *dvi* file is, and then using normal **Kpathsea** rules.  There is an exception to this, however:  if the file name begins with a backtick (**\`**), then the remaining characters in the file name give a shell command (often **zcat**) which is executed; its standard output is then sent to be interpreted as PostScript.  Note that there is some potential for security problems here; see the **-allowshell** command-line option.  It is better to use compressed files directly (see below).

If a file name is given (as opposed to a shell command), if that file name ends in \`\`**.Z**'', \`\`**.gz**'', or \`\`**.bz2**'' and if the first two bytes of the file indicate that it was compressed with [**compress**(1)](/compress/1.md), [**gzip**(1)](/gzip/1.md), or [**bzip2**(1)](/bzip2/1.md) respectively, then the file is first uncompressed with **uncompress -c**, **gunzip -c**, or **bunzip2 -c**, respectively.  This is preferred over using a backtick to call the command directly, since you do not have to specify **-allowshell** and since it allows for path searching.

## ENVIRONMENT

**xdvik** uses the same environment variables and algorithms for finding font files as TeX and friends.  See the documentation for the **Kpathsea** library for details (repeating it here is too cumbersome).  In addition, **xdvik** accepts the following variables:

- **DISPLAY**

  Specifies which graphics display terminal to use.

- **KPATHSEA\_DEBUG**

  Trace **Kpathsea** lookups; set it to **-1** for complete tracing.

- **MIMELIBDIR**

  Directory containing the **mime.types** file, if **~/.mime-types** does not exist.

- **MAILCAPDIR**

  Directory containing the **.mailcap** file, if **~/.mailcap** does not exist.

- **WWWBROWSER**

  The browser used to open URL's, if neither the **-browser** option nor the **.wwwBrowser** resource are set.  For more information on hyper-TeX support, see the \`Hypertext' node in the **dvipsk** manual.

- **VFONTMAP**

  If you alter the **vfontmap** file, set this.

- **TMPDIR**

  The directory to use for storing temporary files created when uncompressing PostScript files.

## LIMITATIONS

**xdvi-ja** accepts many but not all types of PostScript specials accepted by **dvips**. For example, it accepts most specials generated by **epsf** and **psfig**, It does not, however, support **bop-hook** or **eop-hook**, nor does it allow PostScript commands to affect the rendering of things that are not PostScript (for example, the \`\`NEAT'' and rotated \`\`A'' examples in the **dvips** manual).  These restrictions are due to the design of **xdvi-ja**; in all likelihood they will always remain.

LaTeX2e color and rotation specials are not currently supported.

## FILES

Please see the kpathsea documentation. In addition, **xdvik** refers the following files:

- **/etc/texmf/vfontmap**

  Data base file mapping a fontname in DVI onto VFlib fontname.

- **/usr/bin/xdviprint**

  External print-out command. See the section \`\`PRINT-OUT.''

## COPYRIGHTS

**xdvi-ja** itself is Copyrighted by Paul Vojta and distributed under the X-Consortium license. **xdvi-ja** uses the  **libwww** library of the World Wide Web Consortium, which includes computer software creaded and made available by CERN.  It also uses the **kpathsea** library which is distributed under the GNU LIBRARY General Public License.

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL PAUL VOJTA OR ANY OTHERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

## SEE ALSO

**X**(1), [**dvips**(1)](/dvips/1.md), **Kpathsea**documentation

## AUTHORS

Eric Cooper, CMU, did a version for direct output to a 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.  The current maintainer of the original **xdvi-ja** is Paul Vojta, U.C. Berkeley; the maintainer of the **xdvik** variant is Nicolai Langfeldt, Dept. of Math, UiO, Norway, with the help of many others.
