# kdvi - TeX DVI viewer

kdvi is a DVI viewer based on xdvik version 18f by many authors (see file AUTHORS). My additions to the earlier work are distributed under the GPL (see file COPYING).

This is an alpha release of kdvi. See file README.kdvi for release notes.

## Contents

- USAGE
- Using keyboard
- Moving around
- Changing magnification
- Marking pages
- Printing
- Q & A
- BUGS
- To do

## USAGE:

The dvi viewer may be started using a file name to display a file, e.g:

- kdvi somepath/paper.dvi

or without a file name as

- kdvi

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

## Using keyboard

Most keyboard commands are displayed in the menus as accelerator keys. The defaults follow KDE standard when applicable. You can define your prefered key bindings using the KDE standard key configuration dialog available from the menu Options/Keys.

Note also that you can reach most menu commands with a couple of key presses, e.g. to show the Help/About is done by Alt-h a. You can also use cursor keys to move around in menus. Here is a list of invisible bindings (these are not configurable):

- SPACE moves down then to top of next page similar to Advance button.
- Cursor keys scroll in obvious way. With Control-modifier they use a very small step size for accurate control.
- Home scrolls to top of page.
- End scrolls to bottom of page.

## Moving around

You can scroll the page with various ways: Using keyboard, using the scrollbars, using the scroller widget located above the page list or by dragging the display with left mouse button.

The Page menu provides commands for changing the displayed page. A primitive dialog is available to enter a page number. The scroller widget allows you to move to the next or the previous page by clicking the right or middle mouse button. The page list can be clicked with the left mouse button to select a page.

The button bar provides buttons to change pages: First, Previous, Advance, Next and Last. In the middle of these is the Advance button which can be used to easily read through many partly displayed pages: it scrolls down until at the bottom of page and then to the top of the next page.

## Changing magnification

The View menu offers entries to step through available magnifications: Zoom in and Zoom out. The available magnifications corresponds to the base resolution of the used pk-font and its reductions by integer factors.

The button bar presents these same commands plus two fixed magnifications for quick selection. You can use these to switch between a readable text size and a magnified view (there is no separate magnifier window) or between a readable size and a full page view. You can configure these fixed sizes with preferences dialog.

One non-obvious feature is the selection of scaling center. You can select with left mouse button the point on the page that does not move (if possible) when changing the magnification. Use this by clicking with left mouse button at the detail you want to see magnified and then push the magnified view button.

## Marking pages

You can mark pages for printing. The marks are visible in the page list.

The current page can be marked by selecting the entry 'Mark page' from the RMB popup menu of the viewing area. The page list gives more options for marking: you can mark all, even, odd or current page and unmark current or all pages and toggle marks using the RMB popup menu of page list. Clicking or dragging the middle mouse button also toggles the marks.

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

## BUGS

Known bugs:

- Changes in paper size only get applied correctly after restart.
- When showing PS the gs process seems to hang sometimes. Killing gs helps.
- When showing PS the rendered image is not always updated. Scrolling the view helps.
- You need to have xdvi installed and accessible via the program search path. You can replace the actual file with an empty executable though.

Unknown bugs:

- Probably many

## TO DO:

- Document info dialog
- More paper types, currently only those from xdvi are available
- Better online help
- Internal printing using QPrinter
- Redirect error messages to a window (partly done)
- Better Postscript handling (currently not very robust)
  - anti-aliasing
- More background processing to keep the UI responsive
- Magnifier window
- Two page view
- Support for more TeX specials
- Network URL support

Anything else? Feel free to make suggestions and report any problems you have.

Markku Hihnala
mah@ee.oulu.fi