@c readme.texi
@c
@c Part of the dvipng distribution

@ifclear man
@include macros.texi
@ifset rawfile
@chapter dvipng

@end ifset
@end ifclear
@c -----------------------

This program makes PNG and/or GIF graphics from DVI files as obtained
from @TeX{} and its relatives. 

If GIF support is enabled, GIF output is chosen by using the
@samp{dvigif} binary or with the @samp{--gif} option.

@ifclear man

It is intended to produce anti-aliased screen-resolution images as fast
as is possible. The target audience is people who need to generate and
regenerate many images again and again. The primary target is the
@previewlatex{} (X)Emacs package, a package to preview formulas from
within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs
buffer, see @url{http://preview-latex.sf.net}. 

Another example is WeBWorK, an internet-based method for delivering
homework problems to students over the internet, giving students
instant feedback as to whether or not their answers are correct, see
@url{http://webwork.math.rochester.edu}.

Other applications may also benefit, like web applications as latex2html
and WYSIWYG editors like LyX.

@ifset rawfile
@section Benefits of dvipng
@end ifset
@end ifclear
@ifclear rawfile
@end ifclear

The benefits of @samp{dvipng}/@samp{dvigif} include

@itemize @bullet
@item 
Speed. It is a very fast bitmap-rendering code for DVI files. On a
fairly low-end laptop, it takes less than a second to generate 150
one-formula images. This makes dvipng suitable for generating large
amounts of images on-the-fly, as needed in @previewlatex{}, WeBWorK and
others.

@item 
It does not read the postamble, so it can be started before @TeX{}
finishes. There is a --follow switch that makes dvipng wait at EOF for
further output, unless it finds the POST marker that indicates the end
of the DVI.

@item 
Interactive query of options. dvipng can read options interactively
through stdin, and all options are usable. It is even possible to change
the input file through this interface.

@item 
Supports PK, VF, PostScript Type1, and TrueType fonts, color specials
and simple PostScript inclusion specials.

@item 
and more...

@end itemize

@ifset rawfile
@section Installation

Read @file{INSTALL}, included in the distribution.

@section Usage

To use dvipng at its simplest, simply type

@example
dvipng foo
@end example

@noindent
where @file{foo.dvi} is the output of @TeX{} that you want to convert to
PNG format. If there are four pages in @file{foo.dvi}, those pages will
be output as @file{foo1.png}, @file{foo2.png}, @file{foo3.png}, and
@file{foo4.png}, respectively.

Many options are available (see the info manual).  For a brief summary
of available options, just type

@example
dvipng --help
@end example

@section Availability

The dvipng package is available at SourceForge, at
@url{http://sourceforge.net/projects/dvipng}. This is the project
page of dvipng. Anonymous CVS is available from
@url{http://sourceforge.net/projects/preview-latex}, but this will
change in the future.

@section Contacts

Bug reports should be sent to
@email{dvipng-devel@@lists.sourceforge.net}. 

Questions, suggestions for new features, pleas for help, and/or praise
should go to @email{dvipng-devel@@lists.sourceforge.net} (the dvipng
devel team). For more information on this mailing list, send a message
with just the word `help' as subject or body to
@email{dvipng-devel-request@@lists.sourceforge.net} or look at
@url{http://lists.sourceforge.net/lists/listinfo/dvipng-devel}.

Offers to support further development will be appreciated. For developer
access, ask on @email{dvipng-devel@@lists.sourceforge.net}.

@section Copying

This program is released under the GNU General Public License, see the
COPYING file in the dvipng distribution or
@url{http://www.gnu.org/licenses/gpl.html}.

Copyright @copyright{} 2002-2005 Jan-@AA{}ke Larsson

@section Todo

@itemize @bullet
@item 
Test the FreeType interface so that TrueType fonts work properly.

@item
Remove kpathsea dependence, use dvips' environment variables (this is
maybe less of an issue now with working MiKTeX support).

@item 
Further speed improvements.

@item 
Other output specials and source specials.
@end itemize


@end ifset
