Table of Contents
xdvi - DVI Previewer for the X Window System
xdvi
[+[page]] [-s shrink] [-S density] [-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]
[-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] [-keep] [-copy] [-thorough]
[-underlink] [-browser WWWbrowser] [-base base URL] [-srcMode] [-srcVisibility]
[-srcTickShape n] [-srcTickSize geometry] [-srcCursor n] [-srcJumpButton button]
[-srcEditorCommand command string] [-srcSpecialFormat n] [-debug bitmask]
[-version] [dvi_file] dvi_file
xdvi 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.
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 reinitialize itself for the new dvi file. For this reason,
exposing parts of the xdvi window while is running should be avoided.
This feature allows you to preview many versions of the same file while
running xdvi only once.
If dvi_file is not specified, a file-selection widget
is popped up for you to choose the dvi file.
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.
- -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. 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)
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. 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.
- -fg color
- (.foreground) Determines the color of the text (foreground).
- -foreground
color
- Same as -fg.
- -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)
- -geometry geometry
- (*geometry) Specifies the initial geometry of the window.
- -hl color
- (.highlight)
Determines the color of the page border. 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 defined 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.
- -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.
- -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'' 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 (pt, pc, in,
bp, cm, mm, dd, cc, or sp). By default, the unit will be in (inches). 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 widthxheight. See the MOUSE ACTIONS section.
Defaults are 200x150, 400x250, 700x500, 1000x800, and 1200x1200.
- -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.)
- -offsets dimen
- (.Offset) Specifies the size of both the horizontal and vertical
offsets of the output on the page. By decree of the Stanford Project,
the default 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 (pt, pc, in, bp, cm, mm, dd, cc, or sp). By default, the unit will be
in (inches). 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 widthxheight 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 (pt, pc, in, bp, cm, mm, dd, cc, or
sp). By default, the unit will be in (inches). 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 8.5 x 11 inches.
- -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 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 security options; it
is designed for use when xdvi is called by a browser that obtains a dvi
or file from another site. In the present case, this option is accepted
but has no effect, since xdvi has been compiled without support for PostScript
specials.
- -sidemargin dimen
- (.sideMargin) Specifies the side margin (see -margins).
- -srcMode
- (.srcMode) Starts xdvi in src special mode (see the section SRC
SPECIAL MODE below for details). The mode can be toggled with `Ctrl-s'; when
the mode is on, the cursor has a different shape (see the -srcCursor option
below). For security reasons, evaluation of src specials is off by default,
and it might be a good idea to enable it only for selected .dvi files on
the command line.
- -srcVisibility
- (.srcVisibility) Makes the source specials
visible by drawing small tick marks for each special. This can be toggled
with the `V' key (see the section SRC SPECIAL MODE for more details).
- -srcTickShape
n
- (.srcTickShape) Specifies the shape of the src tick marks, where n can
be one of 0, 1, 2 or 3: 0 is a rectangle, 1 is a triangle, 2 is an upward
angle and 3 is a downward angle. See the section SRC SPECIAL MODE for more
details.
- -srcTickSize geometry
- (.srcTickSize) Specifies the size of the src
tick marks in pixels width x height, with respect to magnification factor
1. Default is 40x70, which is a reasonable value for 600dpi fonts. For higher
resolutions, you might want to increase the size. The two attributes width
and height only have a natural meaning for the rectangle shape; for the
triangle, width is ignored; for the angle shapes, width is half the width
of the lines, and height is the length of the lines. See the section SRC
SPECIAL MODE for more details.
- -srcCursor n
- (.srcCursor) The shape of the
cursor in SRC SPECIAL MODE. For possible values, see e. g. `cursorfont.h'.
- -srcJumpButton
button
- (.srcJumpButton) The mouse button used in SRC SPECIAL MODE to jump
to the next special near point. See the section SRC SPECIAL MODE for more
details.
- -srcEditorCommand command string
- (.srcEditorCommand) Specifies the
editor command that will be called when the user wants to jump to a src
special. This should be a C format string containing 2 placeholders (aka
`conversion specifications'): %s (for the filename) and %u (for the line
number) pointed to by that special. You should always enclose both of these
conversion specifications into a pair of quotes like this: '%u'; this will
ensure that the shell won't interpret the resulting format string directly.
This way it will do no harm when some evil user puts commands like `ls -lR
/` into the src specials of a .dvi file, instead of the ordinary filename.
The default for this command string is:
emacsclient --no-wait '+%u' '%s'
which
will work together with Emacs. For Xemacs you would have to use something
like:
gnuclient -q +'%u' '%s'
Note that when the command-line option, you'll have
to enclose the string into another pair of quotes; don't enclose the string
in quotes when specifying it as an X resource.
- -srcSpecialFormat n
- (.srcSpecialFormat)
The format of the \special strings in the dvi file. The formats currently
supported are:
0 \special{src:filename:linenumber}
1 \special{src:linenumber<space>filename}
2 \special{src:linenumber<space>*filename}
In the first format, the
colon separating the linenumber from the filename is the last colon in
the entire string.
The second format requires exactly one space between
the line number and the file name.
In the third format, there can be any
number of spaces (including 0 -- but then of course the file name shouldn't
start with a digit, so using no space at all is usually not a good idea).
Xdvi will warn you about specials that don't conform to the format currently
selected.
- -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 correct choice.
See also -copy.
- -topmargin dimen
- (.topMargin) Specifies the top and bottom
margins (see -margins).
- -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.
- -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.
xdvi
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 nth 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. 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
- ``This is page number n.'' This can be used to make the `g' keystroke refer
to actual page numbers instead of 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.
- t
- Toggles to the next unit in a sorted list
of 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 only once.
- k
- 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
option.
- 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.
- F
- Read a new dvi file. A file-selection
widget is popped up for you to choose the dvi file from.
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 jumps
to the target in the current window. If Button 2 is clicked over a link,
then xdvi 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 on the link. For external links to dvi files, Button 1 changes
the current xdvi to be reading that file, while Button 2 starts a new xdvi
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.
When
xdvi receives a SIGUSR1
signal, it rereads the dvi file.
Please
see the kpathsea documentation.
ADD SOMETHING HERE, including:
- general description (concept of separate mode; maybe something more about
security issues)
- description of keys/buttons available in src special
mode (V toggles visibility of tick marks, X highlights next special without
jumping to it, T changes the shapes of the marks, Mouse button 2 jumps
to next special unless user has specified another button with -srcJumpButton)
- meaning of the tick marks (reference points: the reference point is the
upper-left corner for the rectangle shape, the top of the triangle for the
triangular shape, the inner angle point for the upangle and the outer angle
point for the downangle shape).
- searching of `next' special on page (xdvi
will search `linewise', i.e. it will jump to the next special on the current
line (to the right of the mouse click) if there is one, and to the first
special on the next line else).
xdvik uses the same environment
variables and algorithms for finding font files as 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- support, see
the `Hypertext' node in the dvipsk manual.
xdvi 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; in all likelihood they will always remain.
La2e color
and rotation specials are not currently supported.
Please see the kpathsea
documentation.
xdvi itself is Copyrighted by Paul Vojta and distributed
under the X-Consortium license. xdvi 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.
X(1)
,
dvips(1)
, Kpathseadocumentation
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. Berkeley; the maintainer of the xdvik variant is Nicolai
Langfeldt, Dept. of Math, UiO, Norway, with the help of many others.
Table of Contents