@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://www.gnu.org/software/auctex/preview-latex.html}. 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}. A more recent addition to the dvipng-using applications out there is MediaWiki, the software behind Wikipedia and many other wikis out there. Dvipng is used to render mathematical formulae from version 1.8.0 of MediaWiki, see @url{http://www.mediawiki.org}. 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 The benefits of @samp{dvipng}/@samp{dvigif} include @itemize @bullet @item Speed. It is a very fast bitmap-rendering code for DVI files, which makes it 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 @samp{--follow} switch that makes dvipng wait at end-of-file 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, subfonts (i.e., as used in CJK-@LaTeX{}), color specials, and inclusion of PostScript, PNG, JPEG or GIF images. @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 Savannah, the GNU project site. Since dvipng is not part of the GNU project, although released under the GNU GPL, the web address is @url{http://savannah.nongnu.org/projects/dvipng}. Instructions for anonymous CVS access can be found at @url{http://savannah.nongnu.org/cvs/?group=dvipng}. @section Contacts Bug reports should be sent to @email{dvipng@@nongnu.org}. Questions, suggestions for new features, pleas for help, and/or praise should go to @email{dvipng@@nongnu.org}. For more information on this mailing list, send a message with just the word `help' as subject or body to @email{dvipng-request@@nongnu.org} or look at @url{http://lists.nongnu.org/mailman/listinfo/dvipng}. Offers to support further development will be appreciated. For developer access, ask on @email{dvipng@@nongnu.org}. @section Copying This program is released under the GNU Lesser General Public License version 3, see the COPYING file in the dvipng distribution or @url{http://www.gnu.org/licenses/}. Copyright @copyright{} 2002-2008 Jan-@AA{}ke Larsson @section Todo @itemize @bullet @item Use gs interpreter library for speed and possibly for functionality. @item Fix T1lib and PK rendering so it is on par with Freetype. @item Enable a named pipe as DVI @item Further speed improvements. @item Other output specials and source specials. @item Clean internal structures. Overhaul file handling. @item Fix the SELFAUTO stuff at runtime rather than at build time @end itemize @end ifset