SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

TKDVI, A DVI PREVIEWER BASED ON TCL/TK

This is TkDVI, a DVI previewer built with the Tcl/Tk toolkit. The previewer is built around a Tk extension, `dvi', which implements an `image type' for displaying pages from DVI files (or DVI code in general).

This README file corresponds to TkDVI 0.4, an alpha release.

Features

Here are the basic features of the `dvi' Tk extension:

  • Implements re-usable Tk `image type'. DVI material can occur wherever Tk allows images, e.g., on a canvas (which is the most sensible place), but also in labels, buttons etc.
  • Supports multiple windows displaying multiple pages from multiple DVI files simultaneously.
  • All DVI files share the same fonts (if resolution etc. allows).
  • Supports fonts in PK format. (Virtual font support is forthcoming; in the meantime dvicopy can be used to de-reference virtual fonts in DVI files.) The standard Kpathsea library is used to locate (and make) fonts.
  • Supports arbitrary (integer-factor) image shrinking as in xdvi.
  • Supports anti-aliasing as in xdvi.
  • Supports simple uses of colour.
  • Comes with an (incomplete) self-test suite.

Here are the basic features of the TkDVI previewer:

  • Multiple DVI files.
  • Multiple DVI file windows.
  • Each DVI file window supports various display modes:
    • `Single Page' as in xdvi
    • `Two-page spread': Two facing pages, like a book.
    • `16-page overview': Sixteen reduced pages at the same time, great for looking at page breaks and floats.
    • Full-screen mode for presentations.
  • `Magnification glass' as in xdvi.
  • `gv'-style page selector.
  • PDF-style document info (experimental).
  • PDF-style bookmarks when used with `hyperref' LaTeX extension (experimental).
  • `Source specials' that will link the position in the DVI file to that in the contributing TeX source file (experimental).
  • `Layering' of DVI material for presentations, fill-in-the-blanks etc. (experimental).
  • Automatic reload of changed DVI files on Expose events as in xdvi. This updates all windows that the DVI file is displayed in (regardless of whether they are currently being exposed or not).
  • Can be easily adapted, reconfigured or extended in Tcl.

The most notable omissions to date are:

  • No support for EPS graphics inclusions.

As of now there is little or no documentation for most of the experimental features. Most of the \special commands supported by TkDVI are explained in doc/README.specials, which also explains how TkDVI's \special support is structured and how to implement support for your own favourite \special commands. See the testdvi/ subdirectory for some examples of TeX input and output.

Use and Distribution

TkDVI is copyrighted © 2001 by Anselm Lingnau <lingnau@users.sf.net>.

TkDVI is NOT in the public domain but released as `free software' under the same license as Tcl/Tk, meaning that you can use it for whatever you want and also give away (possibly modified) copies to all your relations, friends, and enemies (depending on how you like the program). See the file COPYING for details.

If you do make modifications or extensions of general interest, I would appreciate hearing about this. I'd be happy to include your contributions in the general distribution as long as their licensing doesn't interfere with the rest of the distribution (e.g., I can't integrate GPL patches into the main code base because that would `infect' the rest of TkDVI with the GPL -- I'd be happy to include such patches in a `DIY' corner of the distribution, though.).

TkDVI uses the Kpathsea library by Karl Berry, which is licensed unter the LGPL. Due to its size, Kpathsea is not distributed with TkDVI but can be obtained separately.

Documentation and Other Resources

There is some documentation in the `doc' subdirectory of the distribution. As usual, this could be vastly improved.

TkDVI is available from

http://tkdvi.sourceforge.net/

which also includes two papers that I have published on TkDVI, at EuroTeX'99 and the first European Tcl/Tk User Meeting in 2000.

There are two mailing lists about TkDVI:

tkdvi-announce@lists.sf.net

This low-volume mailing list carries announcements of general interest to TkDVI users, such as announcements of new releases or significant patches. (This list is moderated by me.)

tkdvi-users@lists.sf.net

This is a mailing list for general discussion about TkDVI, its use, its advantages and disadvantages, bugs, features etc. Everybody can post to this list. Traffic from tkdvi-announce also appears here.

Bugs can also be reported to

tkdvi-bugs@tm.informatik.uni-frankfurt.de

Users of Debian GNU/Linux may feel free to use the Debian bug tracking system.

Supported Platforms

TkDVI has been tested on the following platforms:

      Debian GNU/Linux 2.2 (Tcl/Tk 8.2.3, gcc 2.9)
             - Should run on other comparable Linuxes as well

TkDVI is supposed to work with Tcl/Tk 8.0 and later. I recommend Tcl/Tk 8.3.3. It works with Tcl/Tk 8.4a3. Compatibility with Tcl/Tk 8.0 will not necessarily be upheld in future releases, which will rely to a greater extent on features only available in Tcl/Tk 8.2 and later.

Success stories, failure reports, patches etc. for other environments are most welcome.

Installation

Installation is described in the file INSTALL in the same directory.

History

I have been working on this program off and on since early 1994, even to the extent of giving talks on the software at DANTE conferences (in Münster 1994 and Oldenburg 1998). The 1994 version was based on Tk 3.6 and implemented a full-blown DVI widget. Some code was released for this, but it was too incomplete and buggy to be generally useful. After Tk 4.0 came out, featuring the new image subsystem, I decided to re-implement my DVI stuff as an image type instead of a widget, in order to be able to use Tk canvas features in conjunction with DVI material rather than having to reimplement the canvas from scratch for the purposes of the DVI widget. Due to other distractions, I didn't have much time for this but finished a working version in time for the DANTE conference in February 1998. Since then, the code has matured somewhat, and the current code base seems solid enough to release as an alpha version.

$Id: README,v 1.5 2001/08/10 18:24:32 anselm Exp $


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.