# The &kdvi; Manual

Markku
Hihnala

    mah@ee.oulu.fi

Stefan
Kebekus

    kebekus@kde.org

30/06/2000
0.09.02

This Handbook describes KDVI Version 0.9

KDE
DVI
TeX
LaTeX
device-independent
viewer
dvi viewer
kdvi
xdvi

## Usage

kdvi is a plugin for the kviewshell program which allows kviewshell to display dvi-files which are produced by the TeX typesetting system. More information about TeX and DVI can be found on the homepage of the TeX user group. kdvi 0.9 supports the inclusion of PostScript graphics and it supports hyperlinks. More details and the technical specifications can be found in a separate document. For up-to-date information, consult kdvi's home page.

kdvi 0.9 is based on based on the stand-alone-program kdvi 0.4.3 by Markku Hihnala. That program is in turn based on xdvik version 18f which has many authors.

For convenience there exists a command kdvi which calls kviewshell with the kdvi-plugin preloaded. The viewer may thus be started using the command

    kdvi somepath/paper.dvi

or without a file name as kviewshell will then allow a file to be opened from a dialog or a menu of recently used files. This menu can also be popped up by clicking the File button with the right mouse button.

The usual parameters handled by Qt and KDE applications also work:

    kdvi -style windows -display :0 -geometry 400x400+0+0 -caption "DVI"

For integration with TeX the opened DVI file is automatically reloaded when changed.

## The option dialog

### Font Options

The following picture shows the options dialog of kdvi.

Resolution/Metafont mode

  These options specify the fonts which kdvi will use for rendering. By carefully optimizing the settings here it is possible to improve on the display. However, unless you are an expert in MetaFont and know what you are doing, it is absolutely no good idea to change these options. Save values are "600" and "ljfour" for good quality or "300" and "cx" for medium quality and faster display.

Generate fonts

  Check this if you want kdvi to call the MetaFont program in the likely case that kdvi wants to display documents which use fonts which are not yet readily made. You most certainly want to set this option.

PK font path

  If this is not empty, it points to a list of directories to be searched for pk-fonts, e.g.

      /var/lib/texmf/fonts/pk/ljfour/:/some/other/place

  You can make kdvi search recursively by adding an extra / at the end of directory name:

      /var/lib/texmf/fonts//

  This works like xdvi's XDVIFONTS environment variable. There is also good (gnu info) documentation available for the kpathsea library that kdvi uses for font searching. This makes kdvi usable when you have some other tex system than tetex and don't have the texmf.cnf file. Again this option is strikly for the experts only.

### Rendering Options

The following picture shows the second options dialog of kdvi.

PostScript

  If this options is checked, kdvi will display PostScript graphics which are embedded into the dvi file. If an external PostScript file could not be found, kdvi will draw a red warning box in its place. Unfortunately, rendering PostScript graphics is very slow in the current version of kdvi. We will improve on the speed in later versions. If this option is off, kdvi will either draw a grey box as a placeholder for the graphics, or it will leave the space blank.

  Note: there is no standard way to embed PostScript graphics into a dvi file. It may therefore happen that kdvi cannot properly display a graphic which works fine with other programs. Older versions of xdvi and dvips support the execution of external commands. This is a hight security risk and therefore deliberately not implemented in kdvi. Technical information about supported ways to include PostScript can be found in an external document.

Hyperlinks

  Check this if you want kdvi to display hyperlinks. The appropriate parts of the text will be underlined in blue.

## Printing

This version has a print setup dialog (available from the print dialog) that lets you configure the printing method, n-up program, printer names and spooler command. Printing method selects the external program to use for printing. Available choices are dvips and dvilj4. If you use dvips, you can also have an n-up program called to make 2 or 4 pages per sheet. Select psnup (preferred) or mpage (may work) if you have that installed in your system.

You may add printer names that will be available in the print dialog.

And last you can change the spooler command (defaults to lpr) that is supposed to read standard input. Option -P is appended when printing to nondefault printer.

Having setup printing you can use the print dialog where you can select the pages to be printed, which printer or file to use for output and more.

## Q & A

Q: Why is kdvi not displaying anything but a busy cursor? A: It is possible, that kdvi is searching for the pk-fonts from wrong places, and this can be very time consuming if these include network mounted filesystems. You can check for this with strace and see below for a cure.

Q: What can I do when kdvi does not find my PK-fonts? A: You must have correct settings for resolution and Metafont mode. If this does not help, you may set the field 'PK Font Path' in Preferences/Fonts to point to the list of directories to be searched for pk-fonts: /var/lib/texmf/fonts/pk/ljfour/:/some/other/place You can make kdvi search recursively by adding an extra / at the end of directory name: /var/lib/texmf/fonts// (This works like xdvi's XDVIFONTS environment variable. There is also good (gnu info) documentation available for the kpathsea library that kdvi uses for font searching.) This makes kdvi usable when you have some other tex system than tetex and don't have the texmf.cnf file.

Q: How do I get the font generation to work? A: If you like to enable automatic font generation using MakeTeXPK, you must also supply correct Metafont mode in preferences dialog. When automatic pk-font generation is disabled (menu option) the missing fonts will be logged to file missfont.log in the current directory. It is a good idea to check that the font generation commands in missfont.log are correct before enabling font generation.