XDVI(1)XDVI(1)NAMExdvi - DVI Previewer for the X Window System
SYNOPSISxdvi [+[page]] [-s shrink] [-S density] [-nogrey] [-gamma
g] [-install] [-noinstall] [-p pixels] [-margins dimen]
[-sidemargin dimen] [-topmargin dimen] [-offsets dimen]
[-xoffset dimen] [-yoffset dimen] [-paper papertype]
[-altfont font] [-nomakepk] -mfmode mode-def[:dpi]
[-editor command] [-sourceposition line[:col][ ]filename]
[-l] [-rv] [-statusline] [-expert] [-shrinkbuttonn shrink]
[-mgs[n] size] [-warnspecials] [-hush] [-hushchars]
[-hushchecksums] [-hushspecials] [-hushstdout] [-safer]
[-fg color] [-bg color] [-hl color] [-bd color] [-cr
color] [-bw width] [-rulecolor color] [-bw width]
[-display host:display] [-geometry geometry]
[-icongeometry geometry] [-iconic] [-font font] [-keep]
[-copy] [-thorough] [-wheelunit pixels] [-nopostscript]
[-noscan] [-allowshell] [-noghostscript] [-nogssafer]
[-gsalpha] [-interpreter path] [-gspalette palette]
[-not1lib] [-underlink] [-browser WWWbrowser] [-base base
URL] [-debug bitmask] [-version] [dvi_file]
DESCRIPTIONxdvi is a program which runs under the X window system. It
is used to preview dvi files, such as are produced by
tex(1).
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. It has also support for
hyperlinks in DVI files (see section HYPERLINKS below),
direct rendering of Postscript<tm> Type1 fonts (see sec-
tion T1LIB below), and source specials in the .dvi file
(see section SOURCE SPECIALS below).
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 will reinitial-
ize itself for the new dvi file. For this reason, expos-
ing parts of the xdvi window while TeX is running should
be avoided. This feature allows you to preview many ver-
sions of the same file while running xdvi only once.
In addition to using keystrokes to move within the file,
xdvi provides buttons on the right side of the window,
which are synonymous with various sequences of keystrokes.
xdvi 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.
For performance reasons, xdvi 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 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 op-
tion 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 use-
ful, for example, with PostScript <tm> fonts.
-background color
(.background) Determines the color of the back-
ground. 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 back-
ground.
-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 mosa-
ic. 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 nec-
essary for correct operation on a color display,
but overstrike characters will be incorrect. If
greyscale anti-aliasing is in use, the -copy opera-
tion will disable the use of colorplanes and make
overstrikes come out incorrectly. See also -thor-
ough.
-cr color
(.cursorColor) Determines the color of the mouse
cursor. The default is the color of the page bor-
der.
-debug bitmask
(.debugLevel) If nonzero, prints additional infor-
mation on standard output. The bitmask is speci-
fied as a decimal number. Multiple values can be
specified by adding the respective numbers; e.g. to
debug all all file searching and opening commands,
use 4000 (= 2048 + 1024 + 512 + 256 + 128 + 32).
Use -1 to turn on debugging of everything (this
will produce huge output). The individual
bits/numbers have the following meanings:
1 Bitmaps
2 DVI translation
4 PK fonts
8 Batch mode: Exit after reading the DVI file
16 Events
32 File opening
64 Interaction with the PostScript interpreter
128 Kpathsea stat(2) calls
256 Kpathsea hash table lookups
512 Kpathsea path definitions
1024 Kpathsea path expansion
2048 Kpathsea searches
4096 Hyperref specials
8192 Hyperref anchor info
16384 Source specials
32768 Client mode for forward search
65536 T1 lib
131072 More verbose T1 lib messages
Some of the Kpathsea debugging options are actually
provided by Kpathsea; see the Debugging section in
the Kpathsea manual for more information on these.
-density density
(.densityPercent) Determines the density used when
shrinking bitmaps for fonts. A higher value pro-
duces a lighter font. The default value is 40. If
greyscaling is in use, this argument does not ap-
ply; use -gamma instead. See also the `S'
keystroke. Same as -S.
-display host:display
Specifies the host and screen to be used for dis-
playing the dvi file. By default this is obtained
from the environment variable DISPLAY.
-editor editor
(.editor) Specifies the editor that will be invoked
when the source-special() action is triggered (by
default via CTRL-Mouse 1). The argument to this
option is a format string in which occurrences of
``%f'' are replaced by the file name, occurrences
of ``%l'' are replaced by the line number within
the file, and optional occurrences of ``%c'' are
replaced by the column number within the line. If
no ``%f'' or ``%l'' occurs in the string, a warning
is given and the missing designators are appended.
If neither the option nor the X resource .editor is
specified, the following environment variables are
checked to determine the editor command: XEDITOR,
VISUAL, and EDITOR (in this sequence). If the
string is found as the value of the VISUAL or EDI-
TOR environment variables, then ``xterm -e '' is
prepended to the string; if the editor is specified
by other means, then it must be in the form of a
shell command to pop up an X window with an editor
in it. If none of these variables is set, the com-
mand ``xterm -e vi %s +%d'' is used and a warning
message is given.
A new instance of the editor is started each time
this command is used; therefore it is preferrable
to use an editor that can be invoked in `client'
mode to load new files into the same instance. Ex-
ample settings are:
emacsclient --no-wait +%l %f (older Emacsen),
gnuclient -q +%l %f (XEmacs and newer Emacsen)
nc +%l %f (nedit)
Note that those strings need to be enclosed into
quotes when using them on the command-line to pro-
tect them from the shell; when using them as argu-
ment for the .editor resource in an X resource
file, no quotes should be used.
NOTE ON SECURITY: The argument of this option isn't
executed as a shell command, but via exec() to pre-
vent evil tricks with the contents of source spe-
cials. Execution of the -editor command is dis-
abled when the -safer option is used.
-expert
(.expert) Prevent the buttons from appearing. See
also the `x' keystroke.
-fg color
(.foreground) Determines the color of the text
(foreground).
-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 fore-
ground). Negative values behave the same way, but
use a slightly different algorithm. For color and
grayscale displays; for monochrome, see -density.
See also the `S' keystroke.
-rulecolor color
(.ruleColor) Determines the color of the rules used
for the the magnifier and the `grid' (default:
foreground color).
-geometry geometry
(*geometry) Specifies the initial geometry of the
window.
-gspalette palette
(.palette) Specifies the palette to be used when
using Ghostscript for rendering PostScript spe-
cials. 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
specials, for a nicer appearance. It is available
on newer versions of Ghostscript. This option can
also be toggled with the `V' keystroke.
-sourceposition line[:col][ ]filename
This option makes xdvi start in `client mode' to
perform a `forward search'. The main dvi file
dvi_file is specified on the command line as usual.
`Forward search' means that xdvi will try to open
the page in dvi_file corresponding to the line (op-
tionally also the column) and filename of the .tex
source, and highlight the place found by drawing a
rectangle in highlight colour (see the -hl option)
around the corresponding text. (This only works
when the dvi_file has been prepared with source
special information; see the section SOURCE SPE-
CIALS for more information on this.)
`Client mode' means that if there is already anoth-
er instance of xdvi running on this X display and
displaying the same dvi_file, a new instance start-
ed with the -sourceposition option will only notify
that running instance to perform the forward
search, and exit after that. This way, other pro-
grams such such as text editors may invoke xdvi in
`client mode' to jump to a specific place in the
.dvi file corresponding to the current mouse cursor
position in the .tex file.
The argument for filename should be a string with
the same extension as the file name used for the
source specials in the dvi file. The space before
filename is only needed if the filename starts with
a digit. When the space is used, the argument
needs to be encosed in quotes to prevent the shell
from misinterpreting the space as argument separa-
tor.
-hl color
(.highlight) Determines the color of the page bor-
der. The default is the foreground color.
-hush (.Hush) Causes xdvi to suppress all suppressible
warnings.
-hushchars
(.hushLostChars) Causes xdvi to suppress warnings
about references to characters which are not de-
fined in the font.
-hushchecksums
(.hushChecksums) Causes xdvi to suppress warnings
about checksum mismatches between the dvi file and
the font file.
-hushspecials
(.hushSpecials) Causes xdvi to suppress warnings
about \special strings that it cannot process.
-hushstdout
(.hushStdout) Causes xdvi to suppress all status
informations it would normally print to stdout if
the statusline is disabled.
-icongeometry geometry
(.iconGeometry) Specifies the initial position for
the icon.
-iconic
(.iconic) Causes the xdvi window to start in the
iconic state. The default is to start with the
window open.
-install
(.install) If xdvi is running under a PseudoColor
visual, then (by default) it will check for True-
Color 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 col-
ormap. 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 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 in-
terpreter. By default it uses gs.
-keep (.keepPosition) Sets a flag to indicate that xdvi
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'' po-
sition 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 remov-
ing the margins from the left, right, top, and bot-
tom, 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. Other-
wise, the text is centered in the window. The di-
mension should be a decimal number optionally fol-
lowed 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 (cen-
timeters). 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, be-
low). Generally, when changing the mode-def, it is
also necessary to change the font size to the ap-
propriate 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 win-
dow to be used for the ``magnifying glass'' for
Button n. The size may be given as an integer (in-
dicating that the magnifying glass is to be
square), or it may be given in the form widthx-
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 op-
tion, 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-alias-
ing when printing shrunken bitmaps. (For this op-
tion, 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 ren-
der PostScript specials, the Ghostscript inter-
preter 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 switch-
ing 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 re-
source 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 dis-
played instead. This option can also be toggled
with the `v' keystroke. (For this option, the log-
ic of the corresponding resource is reversed: -no-
postscript corresponds to postscript:off;
+postscript to postscript:on.)
-noscan
(.prescan) Normally, when PostScript<tm> is turned
on, xdvi 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 de-
tects any specials that require headers.) (For the
-noscan option, the logic of the corresponding re-
source is reversed: -noscan corresponds to pres-
can: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 compati-
bility; 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 widthxheight optionally
followed by a unit, where width and height are dec-
imal numbers giving the width and height of the pa-
per, 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), legal
(8.5x14in), foolscap (13.5x17in), as well as the
ISO sizes a1-a7, b1-b7, c1-c7. For each of these
there also exists a landscape or `rotated' variant:
usr (11x8.5in), a1r-a7r, etc. The default size is
21 x 29.7 cm (A4 size).
-rv (.reverseVideo) Causes the page to be displayed
with white characters on a black background, in-
stead of vice versa.
-s shrink
(.shrinkFactor) Defines the initial shrink factor.
The default value is 8. 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 securi-
ty options; it is designed for use when xdvi is
called by a browser that obtains a dvi or TeX file
from another site. This option turns off evaluta-
tion of source specials (see SOURCE SPECIALS for
details). Furthermore, it selects +nogssafer and
+allowshell.
-shrinkbuttonn shrink
(.shrinkButtonn) Specifies that the nth button
changing shrink factors shall change to shrink fac-
tor factor. This is useful, e.g., when using 600
dpi fonts, since in that case shrinking by a factor
of 4 is still not enough. Here n may be a number
from 1 to 3 (in the default button layout, the
``Full Size'' button is unaffected by these op-
tions). If the buttons are customized, higher val-
ues of n (up to 9) may be used.
-sidemargin dimen
(.sideMargin) Specifies the side margin (see -mar-
gins).
-statusline
(.statusline) Display the statusline at the bottom
of the window. The statusline can be suppressed by
+statusline. This can also be toggled with the
`1x' keystroke. If displaying the statusline is
disabled, the messages that would normally be
printed to the statusline will be printed to std-
out. To suppress printing all messages, use the
-hushstdout option.
-thorough
(.thorough) xdvi 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 will instead use the copy operation,
which does not handle overstriking correctly. The
-thorough option chooses the slower but more cor-
rect choice. See also -copy.
-topmargin dimen
(.topMargin) Specifies the top and bottom margins
(see -margins).
-not1lib
(.not1lib) This will disable the use of T1Lib to
display PostScript<tm> fonts. Use this option as a
workaround when you encounter problems with the
display of T1Lib (but please don't forget to send a
bug report in this case, to the URL mentioned in
the section AUTHORS below).
-underlink
(.underLink) Underline links. Default is true.
-version
Print information on the version of xdvi.
-warnspecials
(.warnSpecials) Causes xdvi to issue warnings about
\special strings that it cannot process.
-wheelunit pixels
(.wheelUnit) Sets the number of pixels that a mo-
tion of a wheel mouse will move the image up or
down. If set to zero, the wheel mouse functionali-
ty is disabled. The default value is 80.
-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 off-
set of the output on the page. See -offsets.
KEYSTROKESxdvi 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. The number can be discarded by
pressing the ``Escape'' key. Also, the ``Help'',
``Home'', ``Prior'' and ``Next'' keys are synonyms for
`?', `^', `b', and `f' keys, respectively.
The key assignments given here are those that xdvi assigns
by default. They can be changed--see CUSTOMIZATION, be-
low. The names appearing in brackets at the beginning of
each of the following keystroke definitions is the name
assigned to the action associated with that key, for use
when customizing. Users who do not customize their
keystrokes may ignore these labels.
q [quit()] Quits the program. Control-C and control-
D will do this, too.
n [forward-page()] Moves to the next page (or to the
nth next page if a number is given). Synonyms are
`f', Return, and Line Feed.
Space [down-or-next()] Moves down two-thirds of a window-
full, or to the next page if already at the bottom
of the page.
p [back-page()] Moves to the previous page (or back n
pages). Synonyms are `b' and control-H.
Delete [up-or-previous()] Moves up two-thirds of a window-
full, or to the bottom of the previous page if al-
ready at the top of the page. The BackSpace key
will also do this.
g [goto-page()] Moves to the page with the given num-
ber. Initially, the first page is assumed to be
page number 1, but this can be changed with the `P'
keystroke, below. If no page number is given, then
it goes to the last page.
P [declare-page-number()] ``This is page number n.''
This can be used to make the `g' keystroke refer to
actual page numbers instead of absolute page num-
bers.
Control-L
[forward-page(0)] Redisplays the current page.
^ [home()] 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.
Up arrow
[up(0.015)] Scrolls page up.
Down arrow
[down(0.015)] Scrolls page down.
u [up()] Moves page up two thirds of a window-full.
With a float argument to ``up'', moves up the cor-
responding fraction of a window-full.
d [down()] Moves page down two thirds of a window-
full. With a float argument to ``down, moves down
the corresponding fraction of a window-full.
Left arrow
[left(0.015)] Scrolls page left.
Right arrow
[right(0.015)] Scrolls page right.
l [left()] Moves page left two thirds of a window-
full.
r [right()] Moves page right two thirds of a window-
full.
c [center()] Moves the page so that the point cur-
rently beneath the mouse cursor is moved to the
middle of the window, and warps the mouse cursor to
the same place.
M [set-margins()] Sets the margins so that the point
currently under the mouse cursor defines the upper
left-hand corner of the text in the page. Note
that the command does not move the image, but only
determines the margins for the page switching com-
mands. For details on how the margins are used, see
the -margins option.
s [set-shrink-factor()] 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 [set-density()] 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; nega-
tive values are allowed.
R [reread-dvi-file()] Forces the dvi file to be
reread. This allows you to preview many versions
of the same file while running xdvi only once.
k [set-keep-flag()] Normally when xdvi 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 op-
tion.
ESC [discard-number()] The escape key discards the nu-
merical prefix for all actions (useful when you
mistyped a number).
x [set-expert-mode()] Toggles expert mode (in which
the buttons do not appear). Typing `1x' toggles the
display of the statusline at the bottom of the
window. See also the options -expert and -sta-
tusline.
Control-v
[show-source-specials()] Show bounding boxes for
every source special on the current page, and print
the strings contained in these specials to stderr.
With prefix 1, show every bounding box on the page.
This is for debugging purposes mainly.
Control-x
[source-what-special()] Display information about
the source special next to the mouse cursor in the
statusline. This is the same special that would be
found by source-special() , but without invoking
the editor. For debugging purposes.
G [set-greyscaling()] 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.
B [htex-back()] This key jumps back to the previous
hyperlink anchor. See the section HYPERLINKS for
more information on navigating the links.
D [toggle-grid-mode()] 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. See also the -rulecolor option.
v [set-ps()] This key toggles the rendering of
PostScript<tm> specials. If rendering is turned
off, then bounding boxes are displayed when avail-
able. In addition the key sequences `0v' and `1v'
clear and set this flag, respectively. See also
the -nopostscript option.
Control-F
[select-dvi-file()] Read a new dvi file. A file-se-
lection widget is popped up for you to choose the
dvi file from.
V [set-gs-alpha()] This key toggles the 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, respectively.
See also the -gsalpha option.
? [help()] Pops up a help window with a short expla-
nation of the most important key bindings and con-
cepts. The help texts and menu entries are fully
configurable via the following X resources (the de-
faults strings are given in parentheses, or as
<Text> if they contain a longer text):
helpTopicsButtonLabel (Topic)
helpQuitButtonLabel (Close)
helpIntro <text>
helpGeneralMenulabel (General)
helpGeneral <text>
helpHypertexMenulabel (HyperTeX commands)
helpHypertex <text>
helpOthercommandsMenulabel (Other Commands)
helpOthercommands <text>
helpPagemotionMenulabel (Page Motion)
helpPagemotion <text>
helpSourcespecialsMenulabel (Source Specials)
helpSourcespecials <text>.
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 dif-
ferent sized windows, as indicated by the -mgs option.
Moving the mouse cursor while holding the button down will
move the magnifying glass. To access this feature via cus-
tomization, use the magnifier action. Its argument is ei-
ther a string of the form widthxheight, as in the -mgsn
command-line option, or one of the strings *1 through *5,
referring to the value specified by the corresponding
-mgsn option.
Holding down the CTRL key and clicking on mouse button 1
starts a ``reverse search'' (action source-special(); see
the section on SOURCE SPECIALS for details).
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.
The image can also be dragged around, by holding down the
shift key and a mouse button. Shift-button 1 allows drag-
ging in all directions, Shift-button 2 allows vertical
dragging only, and Shift-button 3 horizontal dragging on-
ly. To access these actions via customization, use the
drag action. This action should have one parameter, the
character ``|'', ``-'', or ``+'', indicating vertical
dragging, horizontal dragging, or dragging in both direc-
tions.
Wheel mice are supported: motion of the wheel on such a
mouse moves the image up or down by the number of pixels
indicated by the -wheelunit option. To access this option
via customization, use the wheel action. This action
takes one parameter, giving the distance to scroll the im-
age. If the parameter contains a decimal point, the dis-
tance is given in wheel units; otherwise, pixels.
HYPERLINKS
Usually, if a binding specifies more then one action, all
actions are executed in a sequence. The hyperlink bindings
do-href() and do-href-newwindow() are special in that they
are used as an alternative to other actions that might
follow them if the mouse is currently located on a hyper-
link. In this case, none of the other actions will be ex-
ecuted. Otherwise, only the other actions are executed.
The action do-href() jumps to the link target in the cur-
rent xdvi window (possibly changing the page), and do-
href-newwindow() opens a new instance of xdvi with the
link target. In both cases, the location of the target is
indicated by a small arrow drawn in highlight color in the
left corner of the window.
As an example, consider the following settings, which are
the default settings for buttons 1 and 2:
xdvi.mainTranslations: #override \
<Btn1Down>: do-href()magnifier(*1)\n\
<Btn2Down>: do-href-newwindow()magnifier(*2)\n\
<Btn3Down>: magnifier(*3)\n
The fact that the mouse is located over a hyperlink is in-
dicated by (a) changing the pointer to a hand shape, and
(b) displaying the link target in the statusline at the
bottom of the window.
If a link points to a file which is not a DVI file (e.g.
HTML, or PostScript), the files mime.types and mailcap are
parsed to determine a suitable viewer; if no suitable
mailcap entry was found, if the WWWBROWSER environment
variable is set, or -browser was specified on the command
line, the browser is launched to load the file.
UNBOUND ACTIONS
The following actions have not been assigned any
keystroke, but are available if customization is used.
shrink-to-dpi()
This action takes one (required) argument. It sets
the shrink factor to an integer so as to approxi-
mate the use of fonts with the corresponding number
of dots per inch. If xdvi is using fonts scaled
for p dots per inch, and the argument to shrink-to-
dpi is n, then the corresponding shrink factor is
the ratio p/n, rounded to the nearest integer.
CUSTOMIZATION
Key and mouse button assignments can be changed by setting
the mainTranslations resource to a string of translations
as defined in the documentation for the X toolkit. The
actions should take the form of action names as given in
the KEYSTROKES and MOUSE ACTIONS sections.
Key actions will usually be without arguments, or they may
give an argument to replace an optional number typed imme-
diately prior to the action. The keys 0-9 and hyphen can-
not be reassigned, since they are used for inputting num-
bers.
Some key actions may take special arguments, as follows.
The argument of goto-page may be the letter `e', indicat-
ing the action of going to the end of the document. The
argument of set-shrink-factor may be the letter `a', indi-
cating that the shrink factor should be set to the small-
est value such that the page will fit in the window. Fi-
nally, actions that would perform a toggle, such as set-
keep-flag, may be the letter `t', indicating that the ac-
tion should toggle regardless of what number may have been
typed recently.
Mouse actions should refer only to ButtonPress events
(e.g., <Btn1Down>:magnifier(*1)). The corresponding mo-
tion and release events will then be handled internally.
A key action may be bound to a mouse event, but not vice
versa.
Usually the string of translations should begin with
``#override'', indicating that the default key and mouse
button assignments should not be discarded.
When keys or mouse buttons involving modifiers (such as
Ctrl or Shift) are customized together with their non-mod-
ified equivalents, the modified keys should come first,
for example:
xdvi.mainTranslations: #override \
Ctrl<Btn1Down>: magnifier(*3)\n\
Shift<Btn1Down>: magnifier(*2)\n\
<Btn1Down>: magnifier(*1)\n
Because xdvi needs to capture pointer motion events, and
because the X Toolkit translations mechanism cannot accom-
modate both motion events and double-click events at the
same time, it is not possible to specify double-click ac-
tions in xdvi customizations. For information on this and
other aspects of translations, see the X Toolkit Intrin-
sics documentation.
There is no command-line option to set the mainTransla-
tions resource, since changing this resource on the com-
mand line would be cumbersome. To set the resource for
testing purposes, use the -xrm command-line option provid-
ed by the X toolkit. For example, xdvi-xrm 'XDvi.main-
Translations: #override "z":quit()' ... or xdvi-xrm 'XD-
vi.mainTranslations: #override <Key>z:quit()' ... will
cause the key `z' to quit xdvi.
Support of wheel mice is controlled by the wheelTransla-
tions resource. Generally the only action routine called
by this resource should be wheel. The default value is
``<Btn4Down>:wheel(-1.)\n<Btn5Down>:wheel(1.)''. Because
this resource is implemented differently from the others,
it should not begin with ``#override''; when specifying a
value for this resource, all wheel actions should be in-
cluded.
The button labels and actions may also be customized, in a
similar manner. In this case the resource buttonTransla-
tions should consist of a string describing the button la-
bels and the associated actions. The string consists of
substrings, separated by the newline character (`\n'),
each describing one button. Each substring consists of a
string (to be used as the button's label), a colon, and a
sequence of actions to be performed when the button is
pushed. Unlike the situation with key actions, an action
associated to a button should provide an argument (if ap-
plicable).
The default setting is as follows:
xdvi.buttonTranslations: \
Quit:quit() \n\
Open:select-dvi-file()\n\
Reread:reread-dvi-file()\n\
Help:help()\n\n\
First:goto-page(1)\n\
Page-10:back-page(10)\n\
Page-5:back-page(5)\n\
Prev:back-page(1)\n\n\
Next:forward-page(1)\n\
Page+5:forward-page(5)\n\
Page+10:forward-page(10)\n\
Last:goto-page()\n\n\
Full size:set-shrink-factor(1)\n\
$%%:shrink-to-dpi(150)\n\
$%%:shrink-to-dpi(100)\n\
$%%:shrink-to-dpi(50)\n\n\
View PS:set-ps(toggle)\n\
Back:htex-back()\n
The label string may contain a colon if it is escaped by a
backslash (`\'). It also may contain some special se-
quences tied to the -shrinkbuttonn command-line options.
If the characters `$#' occur, then they are replaced by
the argument of the corresponding -shrinkbutton command-
line option (if present). If no corresponding -shrinkbut-
ton option was given, then the value is taken from the
list of actions, which is expected to contain at least one
set-shrink-factor or shrink-to-dpi action. Likewise, the
character sequence `$%' will be replaced by the percentage
corresponding to the shrink factor, determined as above.
In order for the -shrinkbutton option to affect a given
button, the label string must contain one of the character
sequences `$#', `$%', or '$_'. This last string flags a
button to be affected by a -shrinkbutton option, without
making any numbers appear in the label text (the `$_' will
not appear in the label text).
Some resources are provided to allow customization of the
geometry of the command buttons. Again, they are not
changeable via command-line options, other than via the
-xrm option. All of these resources take integer values.
buttonSideSpacing
The number of pixels to be placed on either side of
the buttons. The default value is 6.
buttonTopSpacing
The number of pixels between the top button and the
top of the window. The default value is 50.
buttonBetweenSpacing
The number of pixels between most buttons. The de-
fault value is 20.
buttonBetweenExtra
The number of pixels of additional space to be in-
serted if the buttonTranslations resource string
contains an extra newline character. The default
value is 50.
buttonBorderWidth
The border width of the button windows. The de-
fault value is 1.
SIGNALS
When xdvi receives a SIGUSR1 signal, it rereads the dvi
file.
GREYSCALING AND COLORMAPS
The greyscale anti-aliasing feature in xdvi will not work
at its best if the display does not have enough colors
available. This can happen if other applications are us-
ing most of the colormap (even if they are iconified). If
this occurs, then xdvi 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, or (c) run xdvi with the -install op-
tion.
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 -in-
stall'' 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.
ENVIRONMENT
Please see the kpathsea documentation.
HANDLING OF POSTSCRIPT FIGURESxdvi can display Encapsulated PostScript (EPS) files in-
cluded 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'' or ``.gz'', and if the
first two bytes of the file indicate that it was com-
pressed with compress(1) or gzip(1), respectively, then
the file is first uncompressed with uncompress -c or gun-
zip -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.
T1LIB
T1Lib is a library written by Rainer Menzner (see
ftp://sunsite.unc.edu/pub/Linux/libs/graphics/); using it,
xdvi can now render Postscript<tm> Type1 fonts directly,
without the route via TeX pixel (pk) fonts. The advantage
of this is that only one size of each font needs to be
kept on disk. Unless the -not1lib option is used, xdvi
will try to render every font using T1Lib. Only as a fall-
back, it will invoke an external program (like mktexpk,
which in turn might invoke utilities like ps2pk or gs-
ftopk) to generate a pixel font from the Type1 source. The
direct rendering of the Computer Modern fonts should work
out-of-the box, whereas other Type1 fonts such as the 35
`standard' Postscript<tm> fonts resident in printers might
need to be made accessible for use with T1Lib/xdvi, unless
your system administrator has already done so. The xdvik
distribution comes with a utility called t1mapper to make
these fonts visible for T1Lib/xdvi. See the manual page
for t1mapper(1) for details on how to use this utility.
SOURCE SPECIALS
Some TeX implementations or macro packages provide the fa-
cility to automatically include so-called `source spe-
cials' into a .dvi file. These contain the line number,
eventually a column number, and the filename of the .tex
source. This makes it possible to jump from a .dvi file to
the corresponding place in the .tex source and back (also
called `reverse search' and `forward search').
To be usable with xdvi, source specials in the dvi file
must have one of the following formats:
src:line[ ]filename
src:line:col[ ]filename
src:line
src:line:col
src::col
If filename or line are omitted, the most recent values
are used. The first source special on each page must be
in one of the first two forms, since defaults are not in-
herited across pages.
You will need a TeX implementation or a macro package
(such as srcltx.sty or srctex.sty , available from CTAN)
to insert such source specials into the dvi file.
For reverse search, you can use the combination CTRL-Mouse
1 to make xdvi open an editor (the value of the -editor
command line option) with the file and the line number of
the .tex source. (See the description of the -editor op-
tion for more information and examples.)
For forward search, xdvi has a -sourceposition option that
makes xdvi jump jump to the page in the .dvi file corre-
sponding to the line number and the file name and high-
light the line found. See the description of the -source-
position for more details.
The evaluation of source specials is disabled when the
-safer option is used.
ENVIRONMENT
xdvik uses the same environment variables and algorithms
for finding font files as TeX and friends. See the docu-
mentation 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 ~/.mail-
cap 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.
TMPDIR The directory to use for storing temporary files
created when uncompressing PostScript files.
XEDITOR
Determines the editor command used for source spe-
cial `reverse search', if neither the -editor com-
mand-line option nor the .editor resource are
specified. See the description of the -editor
command line option for details on the format.
VISUAL Determines an editor to be opened in an xterm win-
dow if neither of -editor, .editor, or XEDITOR is
specified.
EDITOR Determines an editor to be opened in an xterm win-
dow if neither of -editor, .editor, XEDITOR or VI-
SUAL is specified.
LIMITATIONSxdvi 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, sup-
port 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; in all likelihood they will always
remain.
LaTeX2e color and rotation specials are not currently sup-
ported.
MetaPost files containing included text are not supported.
FILES
xdvi.cfg needs to be supplied in the directory named by
the XDVIINPUTS kpathsea variable. Please see the file
README.t1fonts in the source distribution if xdvi.cfg is
missing. xdvik also relies on the whole kpathsea infras-
tructure. Please see the kpathsea documentation for fur-
ther information.
SEE ALSOX(1), dvips(1), mktexpk(1), ps2pk(1), gsftopk(1), t1map-
per(1), Kpathsea documentation, Xdvik home page http://xd-
vi.sourceforge.net
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 is Paul Vojta, U.C. Berke-
ley. The xdvik variant is currently hosted on SourceForge:
http://sourceforge.net/projects/xdvi/
Please use the link bugs on that project page to report
any bugs you might find in this program.
X Version 11 8 January 2002 XDVI(1)