diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-03 00:00:18 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-03 00:00:18 +0000 |
commit | a540e256be85df29c60ac323d4460c6cde1d9350 (patch) | |
tree | d83a3a57112a9ec6966691569ecc2dfe78d82b81 /Master/texmf/doc/dvipng | |
parent | 84a45ba83a3095eb4908d4325981b11fc1b31b05 (diff) |
trunk/Master/texmf/doc
git-svn-id: svn://tug.org/texlive/trunk@42 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf/doc/dvipng')
-rw-r--r-- | Master/texmf/doc/dvipng/dvipng.html | 1063 |
1 files changed, 1063 insertions, 0 deletions
diff --git a/Master/texmf/doc/dvipng/dvipng.html b/Master/texmf/doc/dvipng/dvipng.html new file mode 100644 index 00000000000..47f94e695be --- /dev/null +++ b/Master/texmf/doc/dvipng/dvipng.html @@ -0,0 +1,1063 @@ +<html lang="en"> +<head> +<title>A DVI-to-PNG translator</title> +<meta http-equiv="Content-Type" content="text/html"> +<meta name="description" content="A DVI-to-PNG translator"> +<meta name="generator" content="makeinfo 4.8"> +<link title="Top" rel="top" href="#Top"> +<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> +<meta http-equiv="Content-Style-Type" content="text/css"> +<style type="text/css"><!-- + pre.display { font-family:inherit } + pre.format { font-family:inherit } + pre.smalldisplay { font-family:inherit; font-size:smaller } + pre.smallformat { font-family:inherit; font-size:smaller } + pre.smallexample { font-size:smaller } + pre.smalllisp { font-size:smaller } + span.sc { font-variant:small-caps } + span.roman { font-family:serif; font-weight:normal; } + span.sansserif { font-family:sans-serif; font-weight:normal; } +--></style> +</head> +<body> +<h1 class="settitle">A DVI-to-PNG translator</h1> +<div class="contents"> +<h2>Table of Contents</h2> +<ul> +<li><a name="toc_Top" href="#Top">dvipng</a> +<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a> +<li><a name="toc_Installation" href="#Installation">2 Installation</a> +<ul> +<li><a href="#Prerequisites">2.1 Prerequisites</a> +<li><a href="#Configure">2.2 Configure</a> +<li><a href="#Build_002finstall">2.3 Build/install</a> +<li><a href="#Installation-outside-the-texmf-tree">2.4 Installation outside the texmf tree</a> +<li><a href="#Advice-for-non_002dprivileged-users">2.5 Installation for non-privileged users</a> +</li></ul> +<li><a name="toc_Basic-usage" href="#Basic-usage">3 Basic usage of dvipng</a> +<li><a name="toc_Command_002dline-options" href="#Command_002dline-options">4 Command-line options</a> +<ul> +<li><a href="#Option-summary">4.1 Option summary</a> +<li><a href="#Option-details">4.2 Option details</a> +</li></ul> +<li><a name="toc_Diagnosing-problems" href="#Diagnosing-problems">5 Diagnosing problems</a> +<ul> +<li><a href="#Debug-options">5.1 Debug options</a> +<li><a href="#Included-graphics-problems">5.2 Included graphics problems</a> +</li></ul> +<li><a name="toc_Color" href="#Color">6 Color</a> +<ul> +<li><a href="#Color-specifications">6.1 Color specifications</a> +<li><a href="#Color-specials">6.2 Color specials</a> +</li></ul> +<li><a name="toc_Credits" href="#Credits">7 Credits</a> +<li><a name="toc_Copying" href="#Copying">8 Copying</a> +<li><a name="toc_Index" href="#Index">Index</a> +</li></ul> +</div> + + + +<div class="node"> +<p><hr> +<a name="Top"></a> +Next: <a rel="next" accesskey="n" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> + +</div> + +<h2 class="unnumbered">dvipng</h2> + +<p>This manual documents dvipng, a program to translate a DVI (DeVice +Independent) file into PNG (Portable Network Graphics). + + <p>This file documents dvipng version 1.6 + + <p>Corrections or perhaps rewrites of sections are <em>very welcome</em>. + + <p>Jan-Åke Larsson + +<ul class="menu"> +<li><a accesskey="1" href="#Introduction">Introduction</a>: Introduction +<li><a accesskey="2" href="#Installation">Installation</a>: How to compile and install dvipng +<li><a accesskey="3" href="#Basic-usage">Basic usage</a>: First things first +<li><a accesskey="4" href="#Command_002dline-options">Command-line options</a>: Advanced usage +<li><a accesskey="5" href="#Diagnosing-problems">Diagnosing problems</a>: Problems? +<li><a accesskey="6" href="#Color">Color</a>: Using color with dvipng +<li><a accesskey="7" href="#Copying">Copying</a>: GNU General Public License +<li><a accesskey="8" href="#Credits">Credits</a>: People who have contributed +<li><a accesskey="9" href="#Index">Index</a>: General index +</ul> + +<div class="node"> +<p><hr> +<a name="Introduction"></a> +Next: <a rel="next" accesskey="n" href="#Installation">Installation</a>, +Previous: <a rel="previous" accesskey="p" href="#Top">Top</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">1 Introduction</h2> + +<!-- man begin DESCRIPTION --> +<!-- readme.texi --> +<!-- Part of the dvipng distribution --> +<!-- --> +<p>This program makes PNG and/or GIF graphics from DVI files as obtained +from TeX and its relatives. + + <p>If GIF support is enabled, GIF output is chosen by using the +`<samp><span class="samp">dvigif</span></samp>' binary or with the `<samp><span class="samp">--gif</span></samp>' option. + + <p>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 +preview-latex (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 <a href="http://preview-latex.sf.net">http://preview-latex.sf.net</a>. + + <p>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 +<a href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>. + + <p>Other applications may also benefit, like web applications as latex2html +and WYSIWYG editors like LyX. + + <p>The benefits of `<samp><span class="samp">dvipng</span></samp>'/`<samp><span class="samp">dvigif</span></samp>' include + + <ul> +<li>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 preview-latex, WeBWorK and +others. + + <li>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. + + <li>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. + + <li>Supports PK, VF, PostScript Type1, and TrueType fonts, color specials +and simple PostScript inclusion specials. + + <li>and more... + + </ul> + +<!-- man end --> +<div class="node"> +<p><hr> +<a name="Installation"></a> +Next: <a rel="next" accesskey="n" href="#Basic-usage">Basic usage</a>, +Previous: <a rel="previous" accesskey="p" href="#Introduction">Introduction</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">2 Installation</h2> + +<p><a name="index-configuration_002c-of-dvipng-1"></a><a name="index-compilation-2"></a><a name="index-installation_002c-of-dvipng-3"></a> + +<!-- install.texi --> +<!-- Part of the dvipng distribution --> +<!-- --> +<p>Installing dvipng should be simple: merely <code>./configure</code>, +<code>make</code>, and <code>make install</code>. + +<ul class="menu"> +<li><a accesskey="1" href="#Prerequisites">Prerequisites</a> +<li><a accesskey="2" href="#Configure">Configure</a> +<li><a accesskey="3" href="#Build_002finstall">Build/install</a> +<li><a accesskey="4" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a> +<li><a accesskey="5" href="#Advice-for-non_002dprivileged-users">Advice for non-privileged users</a> +</ul> + +<div class="node"> +<p><hr> +<a name="Prerequisites"></a> +Next: <a rel="next" accesskey="n" href="#Configure">Configure</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.1 Prerequisites</h3> + + <ul> +<li>The GD Graphics Draw library, libgd + + <p>The drawing library `<samp><span class="samp">libgd</span></samp>' is necessary, and is downloadable at +<a href="http://www.boutell.com/gd">http://www.boutell.com/gd</a>, and there are binary packages for +most operating systems from their respective distributors. In any +case, the latest version of the library installs using `<samp><span class="samp">autoconf</span></samp>' +so it should not be difficult for you to install it from source, and +then proceed with installing dvipng. + + <li>The path-searching library kpathsea + + <p>Kpathsea is most likely included in your LaTeX installation, but it +may happen that ./configure does not find it; see below. If you do not +have it, download it from <a href="http://www.ctan.org">http://www.ctan.org</a> and compile it. +I have no experience with this, so I cannot help much here. + + <li>FreeType 2 and/or T1lib + + <p>While not strictly necessary, you may want to have FreeType 2 or T1lib +available. Their presence will enable direct support for PostScript +fonts in dvipng, rather than using `<samp><span class="samp">gsftopk</span></samp>' for rendering the +fonts. If you have PostScript versons of Computer Modern installed, +there will be no need to generate bitmapped variants on disk of +these. Then, you can render images at different (and unusual) +resolutions without cluttering the disk with lots of bitmapped fonts. +If both FreeType 2 and T1lib are present, FreeType will be internally +preferred by dvipng, but T1lib can be chosen at runtime. + + <li>libpng and libz + + <p>To be able to compress and write PNG files to disk, dvipng (or really +libgd) uses libpng which in turn uses libz. These should be available on +any modern system, if not, download them and install them. + + <li>The <code>texinfo</code> package + + <p>This is needed for building the documentation. +</ul> + +<div class="node"> +<p><hr> +<a name="Configure"></a> +Next: <a rel="next" accesskey="n" href="#Build_002finstall">Build/install</a>, +Previous: <a rel="previous" accesskey="p" href="#Prerequisites">Prerequisites</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.2 Configure</h3> + +<p>The first step is to configure the source code, telling it where +various files will be. To do so, run + +<pre class="example"> ./configure <var>options</var> +</pre> + <p>(Note: if you have fetched dvipng from CVS rather than a regular +release, you will have to first generate <samp><span class="file">./configure</span></samp> by running +<code>autoconf</code> 2.53 or later in the <samp><span class="file">preview</span></samp> directory.) + + <p>On many machines, you will not need to specify any options, but if +<code>configure</code> cannot determine something on its own, you'll need to +help it out. For a list of the options type + +<pre class="example"> ./configure --help +</pre> + <p>On some machines, the libraries will be installed in directories that +are not in the linker's search path. This will generate an error when +running <samp><span class="file">./configure</span></samp>, indicating that it cannot find libgd or +libkpathsea (most likely). You then need to specify the path to the +respective library's object files. They are typically called e.g., +<samp><span class="file">libgd.a</span></samp> or <samp><span class="file">libgd.so</span></samp>. If they are located in e.g., +<samp><span class="file">/sw/local/lib</span></samp>, do + +<pre class="example"> ./configure LDFLAGS=-L/sw/local/lib +</pre> + <p>If the library is available as a shared object file (<samp><span class="file">.so</span></samp>), the +runtime linker may also need to be told where to find the library, +then use + +<pre class="example"> ./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib' +</pre> + <p>When either of these is necessary, it is likely that the C header +files are also installed in directories that are not in the C +preprocessor's search path. This will also generate an error when +running <samp><span class="file">./configure</span></samp>, indicating that it cannot find e.g., +<samp><span class="file">gd.h</span></samp> or <samp><span class="file">kpathsea.h</span></samp> (most likely). You then need to +specify the path to the respective library's C header files. If they +are located in e.g., <samp><span class="file">/sw/local/include</span></samp>, do + +<pre class="example"> ./configure CPPFLAGS=-I/sw/local/include +</pre> + <p>On my SUN Solaris workstation, I had to combine this into + +<pre class="example"> ./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\ + LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/' +</pre> + <p class="noindent">where the backslash denotes a continuation of the line. + +<div class="node"> +<p><hr> +<a name="Build%2finstall"></a> +<a name="Build_002finstall"></a> +Next: <a rel="next" accesskey="n" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>, +Previous: <a rel="previous" accesskey="p" href="#Configure">Configure</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.3 Build/install</h3> + +<p>Once <samp><span class="file">configure</span></samp> has been run, simply enter + +<pre class="example"> make +</pre> + <p class="noindent">at the prompt to compile the C code, and build the documentation files. +To install the files into the locations chosen earlier, type + +<pre class="example"> make install +</pre> + <p class="noindent">You may need special privileges to install, e.g., if you are installing +into system directories. + +<div class="node"> +<p><hr> +<a name="Installation-outside-the-texmf-tree"></a> +Next: <a rel="next" accesskey="n" href="#Advice-for-non_002dprivileged-users">Advice for non-privileged users</a>, +Previous: <a rel="previous" accesskey="p" href="#Build_002finstall">Build/install</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.4 Installation outside the texmf tree</h3> + +<p>In some cases, a dvipng binary installed outside the texmf tree will +not be able to find virtual fonts, or the PostScript font maps +(normally used by dvips). This may be because <em>only</em> +$SELFAUTOLOC, $SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf +tree configuration file `<samp><span class="samp">texmf.cnf</span></samp>'. If so, give the switch +`<samp><span class="samp">--enable-selfauto-set</span></samp>' to `<samp><span class="samp">./configure</span></samp>'. This will make +dvipng adjust these three internally so that kpathsea thinks that +dvipng <em>is</em> installed in the texmf tree. + +<div class="node"> +<p><hr> +<a name="Advice-for-non-privileged-users"></a> +<a name="Advice-for-non_002dprivileged-users"></a> +Previous: <a rel="previous" accesskey="p" href="#Installation-outside-the-texmf-tree">Installation outside the texmf tree</a>, +Up: <a rel="up" accesskey="u" href="#Installation">Installation</a> + +</div> + +<h3 class="section">2.5 Installation for non-privileged users</h3> + +<p>Often people without system administration privileges want to install +software for their private use. In that case you need to specify more +options to the <samp><span class="file">configure</span></samp> script, usually this is done by using +the `<samp><span class="samp">--prefix</span></samp>' option to the <samp><span class="file">configure</span></samp> script, and let it +point to the personal home directory. In that way, resulting binaries +will be installed under the <samp><span class="file">bin</span></samp> subdirectory of your home +directory, manual pages under <samp><span class="file">man</span></samp> and so on. That way, it is +reasonably easy to maintain a bunch of additional packages, since the +prefix argument is supported by most <samp><span class="file">configure</span></samp> scripts. + + <p>You'll have to add something like <samp><span class="file">/home/myself/bin</span></samp> to your +<code>PATH</code> shell variable, if it isn't there already, and similarly set +the <code>INFOPATH</code> variable to be able to access the documentation. + +<div class="node"> +<p><hr> +<a name="Basic-usage"></a> +Next: <a rel="next" accesskey="n" href="#Command_002dline-options">Command-line options</a>, +Previous: <a rel="previous" accesskey="p" href="#Installation">Installation</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">3 Basic usage of dvipng</h2> + +<p><a name="index-invoking-dvipng-4"></a> +To use dvipng at its simplest, simply type + +<pre class="example"> dvipng foo +</pre> + <p class="noindent">where <samp><span class="file">foo.dvi</span></samp> is the output of TeX that you want to convert to +PNG format. If there are four pages in <samp><span class="file">foo.dvi</span></samp>, those pages will +be output as <samp><span class="file">foo1.png</span></samp>, <samp><span class="file">foo2.png</span></samp>, <samp><span class="file">foo3.png</span></samp>, and +<samp><span class="file">foo4.png</span></samp>, respectively. + + <p>If you have enabled the PostScript font support (via FreeType or T1lib), +fonts will be rendered as they are needed. Otherwise, if you use fonts +that have not been used on your system before, they may be automatically +generated; this process can take a few minutes, so progress reports +appear by default. The next time the same font is used, it will have +been saved on disk, so rendering will go much faster. (If dvipng tries +to endlessly generate the same fonts over and over again, something is +wrong. See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>.) + + <p>Many options are available (see the next section). For a brief summary +of available options, just type + +<pre class="example"> dvipng --help +</pre> + <div class="node"> +<p><hr> +<a name="Command-line-options"></a> +<a name="Command_002dline-options"></a> +Next: <a rel="next" accesskey="n" href="#Diagnosing-problems">Diagnosing problems</a>, +Previous: <a rel="previous" accesskey="p" href="#Basic-usage">Basic usage</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">4 Command-line options</h2> + +<p><a name="index-command_002dline-options-5"></a><a name="index-options_002c-dvipng-6"></a> +dvipng has a plethora of command line options. Reading through this +section will give a good idea of the capabilities of the driver. + +<ul class="menu"> +<li><a accesskey="1" href="#Option-summary">Option summary</a>: Quick listing, from dvipng --help. +<li><a accesskey="2" href="#Option-details">Option details</a>: More information about each option. +</ul> + +<div class="node"> +<p><hr> +<a name="Option-summary"></a> +Next: <a rel="next" accesskey="n" href="#Option-details">Option details</a>, +Up: <a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a> + +</div> + +<h3 class="section">4.1 Option summary</h3> + +<p><a name="index-options_002c-summary-7"></a>Here is a handy summary of the options; it is printed out when you run +dvipng with no arguments or with the standard `<samp><span class="samp">--help</span></samp>' option. + +<pre class="example"> This is dvipng 1.6 Copyright 2002-2005 Jan-Ake Larsson + + Usage: dvipng [OPTION]... FILENAME[.dvi] + Options are chosen to be similar to dvips' options where possible: + -d # Debug (# is the debug bitmap, 1 if not given) + -D # Output resolution + -l # Last page to be output + --mode s MetaFont mode (default 'cx') + -M* Don't make PK fonts + -o f Output file, '%d' is pagenumber + -O c Image offset + -p # First page to be output + -pp #,#.. Page list to be output + -q* Quiet operation + -r* Reverse order of pages + -T c Image size (also accepts '-T bbox' and '-T tight') + -v* Verbose operation + -x # Override dvi magnification + - Interactive query of options + + These do not correspond to dvips options: + -bd # Transparent border width in dots + -bd s Transparent border fallback color (TeX-style color) + --bdpi # Set the base (Metafont) resolution + -bg s Background color (TeX-style color or 'Transparent') + --depth* Output the image depth on stdout + --dvinum* Use TeX page numbers in output filenames + -fg s Foreground color (TeX-style color) + --follow* Follow mode + --gamma # Control color interpolation + --gif Output GIF images (dvigif default) + --height* Output the image height on stdout + --noghostscript* Don't use ghostscript for PostScript specials + --nogssafer* Don't use -dSAFER in ghostscript calls + --picky When a warning occurs, don't output image + --png Output PNG images (dvipng default) + --strict When a warning occurs, exit + --t1lib* T1lib font rendering (default on) + --truecolor* Truecolor output + -Q # Quality (T1lib and PK subsampling) + -z # PNG compression level + + # = number f = file s = string * = suffix, '0' to turn off + c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) + +</pre> + <div class="node"> +<p><hr> +<a name="Option-details"></a> +Previous: <a rel="previous" accesskey="p" href="#Option-summary">Option summary</a>, +Up: <a rel="up" accesskey="u" href="#Command_002dline-options">Command-line options</a> + +</div> + +<h3 class="section">4.2 Option details</h3> + +<p><a name="index-option_002c-details-of-8"></a><!-- man begin OPTIONS --> + + <p>Many of the parameterless options listed here can be turned off by +suffixing the option with a zero (`<samp><span class="samp">0</span></samp>'); for instance, to turn off +page reversal, use `<samp><span class="samp">-r0</span></samp>'. Such options are marked with a trailing +`<samp><span class="samp">*</span></samp>'. + + <dl> +<dt>`<samp><span class="samp">-</span></samp>'<dd><a name="index-options_002c-reading-from-standard-input-9"></a><a name="index-standard-input_002c-reading-options-from-10"></a>Read additional options from standard input after processing the command +line. + + <br><dt>`<samp><span class="samp">--help</span></samp>'<dd>Print a usage message and exit. + + <br><dt>`<samp><span class="samp">--version</span></samp>'<dd>Print the version number and exit. + + <br><dt>`<samp><span class="samp">-bd </span><var>num</var></samp>'<br><dt>`<samp><span class="samp">-bd </span><var>color_spec</var></samp>'<br><dt>`<samp><span class="samp">-bd '</span><var>num</var> <var>color_spec</var><span class="samp">'</span></samp>'<dd><a name="index-transparent-border-width-11"></a><a name="index-transparent-border-fallback-color-12"></a>Set the pixel width of the transparent border (default 0). Using this +option will make the image edges transparent, but it only affects pixels +with the background color. Giving a <var>color_spec</var> will set the +fallback color, to be used in viewers that cannot handle transparency +(the default is the background color). The color spec should be in +TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. Setting the +fallback color makes the default border width 1 px. See <a href="#Color">Color</a>. + + <br><dt>`<samp><span class="samp">--bdpi </span><var>num</var></samp>'<dd><a name="index-base-resolution_002c-setting-13"></a>Set the base (Metafont) resolution, both horizontal and vertical, to +<var>num</var> dpi (dots per inch). This option is necessary when manually +selecting Metafont mode with the –mode option (see below). + + <br><dt>`<samp><span class="samp">-bg </span><var>color_spec</var></samp>'<dd><a name="index-background-color-_0028option_0029-14"></a>Choose background color for the images. This option will be ignored if +there is a background color \special in the DVI. The color spec should +be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. You can +also specify 'Transparent' or 'transparent' which will give you a +transparent background with the normal background as a fallback color. A +capitalized 'Transparent' will give a full-alpha transparency, while an +all-lowercase 'transparent' will give a simple fully transparent +background with non-transparent antialiased pixels. The latter would be +suitable for viewers who cannot cope with a true alpha channel. GIF +images do not support full alpha transparency, so in case of GIF output, +both variants will use the latter behaviour. See <a href="#Color">Color</a>. + + <br><dt>`<samp><span class="samp">-d </span><var>num</var></samp>'<dd><a name="index-debugging-15"></a>Set the debug flags, showing what dvipng (thinks it) is doing. This will +work unless dvipng has been compiled without the `<samp><span class="samp">DEBUG</span></samp>' option +(not recommended). Set the flags as you need them, use `<samp><span class="samp">-d -1</span></samp>' as +the first option for maximum output. See <a href="#Debug-options">Debug options</a>. + + <br><dt>`<samp><span class="samp">-D </span><var>num</var></samp>'<dd><a name="index-output-resolution_002c-setting-16"></a>Set the output resolution, both horizontal and vertical, to <var>num</var> +dpi (dots per inch). + + <p>One may want to adjust this to fit a certain text font size (e.g., on +a web page), and for a text font height of <var>font_px</var> pixels (in +Mozilla) the correct formula is + <pre class="example"> <var>dpi</var> = <var>font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt] + </pre> + <p>The last division by ten is due to the standard font height 10pt in +your document, if you use 12pt, divide by 12. Unfortunately, some +proprietary browsers have font height in pt (points), not pixels. You +have to rescale that to pixels, using the screen resolution (default +is usually 96 dpi) which means the formula is + <pre class="example"> <var>font_px</var> = <var>font_pt</var> * 96 / 72 [pt * px/in / (pt/in)] + </pre> + <p>On some high-res screens, the value is instead 120 dpi. Good luck! + + <br><dt>`<samp><span class="samp">--depth*</span></samp>'<dd><a name="index-baseline-reporting-17"></a><a name="index-depth-reporting-18"></a>Report the depth of the image. This only works reliably when the +LaTeX style `<samp><span class="samp">preview.sty</span></samp>' from preview-latex is used. It +reports the number of pixels from the bottom of the image to the +baseline of the image. This can be used for vertical positioning of the +image in, e.g., web documents, where one would use (Cascading +StyleSheets 1) + <pre class="example"> <IMG SRC="<var>filename.png</var>" STYLE="vertical-align: -<var>depth</var>px"> + </pre> + <p>The depth is a negative offset in this case, so the minus sign is +necessary, and the unit is pixels (px). + + <br><dt>`<samp><span class="samp">--dvinum*</span></samp>'<dd>Set this option to make the output page number be the TeX page +numbers rather than the physical page number. See the `<samp><span class="samp">-o</span></samp>' switch. + + <br><dt>`<samp><span class="samp">-fg </span><var>color_spec</var></samp>'<dd><a name="index-foreground-color-_0028option_0029-19"></a>Choose foreground color for the images. This option will be ignored if +there is a foreground color \special in the DVI. The color spec should +be in TeX color \special syntax, e.g., 'rgb 1.0 0.0 0.0'. +See <a href="#Color">Color</a>. + + <br><dt>`<samp><span class="samp">--follow*</span></samp>'<dd><a name="index-follow-mode-20"></a>Enable follow mode. One of the benefits of dvipng is that it does not +read the postamble, so it can be started before TeX finishes. This +switch makes dvipng wait at EOF for further output, unless it finds the +POST marker that indicates the end of the DVI. This is similar to +`<samp><span class="samp">tail -f</span></samp>' but for DVI-to-PNG conversion. + + <br><dt>`<samp><span class="samp">--freetype*</span></samp>'<dd><a name="index-FreeType-font-rendering-21"></a>Enable/disable FreeType font rendering (default on). This option is +available if the FreeType2 font library was present at compilation time. +If this is the case, dvipng will have direct support for PostScript +Type1 and TrueType fonts internally, rather than using `<samp><span class="samp">gsftopk</span></samp>' +for rendering the fonts. If you have PostScript versions of Computer +Modern installed, there will be no need to generate bitmapped variants +on disk of these. Then, you can render images at different (and unusual) +resolutions without cluttering the disk with lots of bitmapped fonts. +Note that if you have both FreeType and T1lib on your system, FreeType +will be preferred by dvipng. If you for some reason would want to use +T1lib rendering, use this option. + + <br><dt>`<samp><span class="samp">--gamma </span><var>num</var></samp>'<dd><a name="index-gamma-22"></a><a name="index-dark-fonts-23"></a><a name="index-light-fonts-24"></a><a name="index-fuzzy-images-25"></a>Control the interpolation of colors in the greyscale anti-aliasing +color palette. Default value is 1.0. For 0 < <var>num</var> < 1, the +fonts will be lighter (more like the background), and for <var>num</var> > +1, the fonts will be darker (more like the foreground). + + <br><dt>`<samp><span class="samp">--gif*</span></samp>'<dd><a name="index-GIF-image-format-26"></a>The images are output in the GIF format, if GIF support is +enabled. This is the default for the `<samp><span class="samp">dvigif</span></samp>' binary, which only +will be available when GIF support is enabled. See also the +`<samp><span class="samp">--png</span></samp>' option. + + <br><dt>`<samp><span class="samp">--height*</span></samp>'<dd><a name="index-baseline-reporting-27"></a><a name="index-height-reporting-28"></a>Report the height of the image. This only works reliably when the +LaTeX style `<samp><span class="samp">preview.sty</span></samp>' from preview-latex is used. It +reports the number of pixels from the top of the image to the +baseline of the image. The total height of the image is obtained as the +sum of the values reported from –height and the –depth. + + <br><dt>`<samp><span class="samp">-l [=]</span><var>num</var></samp>'<dd><a name="index-last-page-printed-29"></a><a name="index-page_002c-last-printed-30"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-31"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-32"></a>The last page printed will be the first one numbered <var>num</var>. Default +is the last page in the document. If <var>num</var> is prefixed by an equals +sign, then it (and the argument to the `<samp><span class="samp">-p</span></samp>' option, if specified) +is treated as a physical (absolute) page number, rather than a value to +compare with the TeX `<samp><span class="samp">\count0</span></samp>' values stored in the DVI file. +Thus, using `<samp><span class="samp">-l =9</span></samp>' will end with the ninth page of the document, +no matter what the pages are actually numbered. + + <br><dt>`<samp><span class="samp">--mode </span><var>mode</var></samp>'<dd><a name="index-mode-name_002c-specifying-33"></a><a name="index-Metafont-mode_002c-specifying-34"></a>Use <var>mode</var> as the Metafont device name for the PK fonts (both for +path searching and font generation). This needs to be augmented with the +base device resolution, given with the `<samp><span class="samp">--bdpi</span></samp>' option. See the +file <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and +mode names for most devices. See <a href="kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a>. + + <br><dt>`<samp><span class="samp">-M*</span></samp>'<dd><a name="index-font-generation_002c-avoiding-35"></a><a name="index-mktexpk_0040r_007b_002c-avoiding_007d-36"></a><!-- this description repeated in kpathsea.texi --> +Turns off automatic PK font generation (<samp><span class="file">mktexpk</span></samp>). This will have +no effect when using PostScript fonts, since no PK font generation will +be done anyway. + + <br><dt>`<samp><span class="samp">--noghostscript*</span></samp>'<dd><a name="index-GhostScript_002c-turning-off-37"></a>This switch prohibits the internal call to GhostScript for displaying +PostScript specials. `<samp><span class="samp">--noghostscript0</span></samp>' turns the call back on. + + <br><dt>`<samp><span class="samp">--nogssafer*</span></samp>'<dd><a name="index-GhostScript-and-_002ddSAFER-38"></a><a name="index-g_t_002ddSAFER-39"></a>Normally, if GhostScript is used to render PostScript specials, the +GhostScript interpreter is run with the option `<samp><span class="samp">-dSAFER</span></samp>'. The +`<samp><span class="samp">-nogssafer</span></samp>' option runs GhostScript without `<samp><span class="samp">-dSAFER</span></samp>'. The +`<samp><span class="samp">-dSAFER</span></samp>' option in Ghostscript disables PostScript operators such +as deletefile, to prevent possibly malicious PostScript programs from +having any effect. + + <br><dt>`<samp><span class="samp">-o </span><var>name</var></samp>'<dd><a name="index-output_002c-redirecting-40"></a><a name="index-standard-output_002c-output-to-41"></a>Send output to the file <var>name</var>. A single occurrence of `<samp><span class="samp">%d</span></samp>' or +`<samp><span class="samp">%01d</span></samp>', <small class="dots">...</small>, `<samp><span class="samp">%09d</span></samp>' will be exchanged for the physical +page number (this can be changed, see the `<samp><span class="samp">--dvinum</span></samp>' switch). The +default output filename is `<samp><var>file</var><span class="samp">%d.png</span></samp>' where the input DVI +file was `<samp><var>file</var><span class="samp">.dvi</span></samp>'. + + <br><dt>`<samp><span class="samp">-O </span><var>x-offset</var><span class="samp">,</span><var>y-offset</var></samp>'<dd><a name="index-offset-pages-42"></a>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated +pair of dimensions such as `<samp><span class="samp">.1in,-.3cm</span></samp>'. +<!-- (@pxref{papersize special}). --> +The origin of the page is shifted from the default position +(of one inch down, one inch to the right from the upper left corner of +the paper) by this amount. + + <br><dt>`<samp><span class="samp">-p [=]</span><var>num</var></samp>'<dd><a name="index-first-page-printed-43"></a><a name="index-page_002c-first-printed-44"></a><a name="index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-45"></a><a name="index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-46"></a>The first page printed will be the first one numbered <var>num</var>. Default +is the first page in the document. If <var>num</var> is prefixed by an +equals sign, then it (and the argument to the `<samp><span class="samp">-l</span></samp>' option, if +specified) is treated as a physical (absolute) page number, rather than +a value to compare with the TeX `<samp><span class="samp">\count0</span></samp>' values stored in the +DVI file. Thus, using `<samp><span class="samp">-p =3</span></samp>' will start with the third page of +the document, no matter what the pages are actually numbered. + + <br><dt>`<samp><span class="samp">--picky*</span></samp>'<dd><a name="index-no-erroneous-images-47"></a>No images are output when a warning occurs. Normally, dvipng will +output an image in spite of a warning, but there may be something +missing in this image. One reason to use this option would be if you +have a more complete but slower fallback converter. Mainly, this is +useful for failed figure inclusion and unknown \special occurrences, +but warnings will also occur for missing or unknown color specs and +missing PK fonts. + + <br><dt>`<samp><span class="samp">--png*</span></samp>'<dd><a name="index-PNG-image-format-48"></a>The images are output in the PNG format. This is the default for the +`<samp><span class="samp">dvipng</span></samp>' binary. See also the `<samp><span class="samp">--gif</span></samp>' option. + + <br><dt>`<samp><span class="samp">-pp </span><var>firstpage</var><span class="samp">-</span><var>lastpage</var></samp>'<dd><a name="index-page-range-49"></a>Print pages <var>firstpage</var> through <var>lastpage</var>; but not quite +equivalent to `<samp><span class="samp">-p </span><var>firstpage</var><span class="samp"> -l </span><var>lastpage</var></samp>'. For example, +when rendering a book, there may be several instances of a page in the +DVI file (one in <code>\frontmatter</code>, one in <code>\mainmatter</code>, and one +in <code>\backmatter</code>). In case of several pages matching, `<samp><span class="samp">-pp +</span><var>firstpage</var><span class="samp">-</span><var>lastpage</var></samp>' will render <em>all</em> pages that +matches the specified range, while `<samp><span class="samp">-p </span><var>firstpage</var><span class="samp"> -l +</span><var>lastpage</var></samp>' will render the pages from the <em>first</em> occurrence +of <var>firstpage</var> to the <em>first</em> occurrence of <var>lastpage</var>. +This is the (undocumented) behaviour of dvips. In dvipng you can give +both kinds of options, in which case you get all pages that matches the +range in `<samp><span class="samp">-pp</span></samp>' between the pages from `<samp><span class="samp">-p</span></samp>' to `<samp><span class="samp">-l</span></samp>'. Also +multiple `<samp><span class="samp">-pp</span></samp>' options accumulate, unlike `<samp><span class="samp">-p</span></samp>' and `<samp><span class="samp">-l</span></samp>'. +The `<samp><span class="samp">-</span></samp>' separator can also be `<samp><span class="samp">:</span></samp>'. Note that `<samp><span class="samp">-pp -1</span></samp>' +will be interpreted as "all pages up to and including 1", if you want a +page numbered -1 (only the table of contents, say) put `<samp><span class="samp">-pp -1--1</span></samp>', +or more readable, `<samp><span class="samp">-pp -1:-1</span></samp>'. + + <br><dt>`<samp><span class="samp">-q*</span></samp>'<dd><a name="index-quiet-operation-50"></a><a name="index-silent-operation-51"></a><a name="index-warnings_002c-suppressing-52"></a>Run quietly. Don't chatter about pages converted, etc. to standard +output; report no warnings (only errors) to standard error. + + <br><dt>`<samp><span class="samp">-Q </span><var>num</var></samp>'<dd><a name="index-antialiasing-levels_0040r_007b_002c-number-of_007d-53"></a><a name="index-quality-54"></a>Set the quality to <var>num</var>. That is, choose the number of antialiasing +levels for PK and T1lib rendering to be <var>num</var>*<var>num</var>. The default +value is 4 which gives 16 levels of antialiasing for antialiased fonts +from these two. If FreeType is available, its rendering is unaffected by +this option. + + <br><dt>`<samp><span class="samp">-r*</span></samp>'<dd><a name="index-reverse-pagination-55"></a>Toggle output of pages in reverse/forward order. By default, the first +page in the DVI is output first. + + <br><dt>`<samp><span class="samp">-T </span><var>image_size</var></samp>'<dd>Set the image size to <var>image_size</var> which can be either of +`<samp><span class="samp">bbox</span></samp>', `<samp><span class="samp">tight</span></samp>', or a comma-separated pair of dimensions +<var>hsize</var>,<var>vsize</var> such as `<samp><span class="samp">.1in,.3cm</span></samp>'. The default is +`<samp><span class="samp">bbox</span></samp>' which produces a PNG that includes all ink put on the page +and in addition the DVI origin, located 1in from the top and 1in from +the left edge of the paper. This usually gives whitespace above and to +the left in the produced image. The value `<samp><span class="samp">tight</span></samp>' will make dvipng +only include all ink put on the page, producing neat images. +<!-- (@pxref{papersize special}). --> +This option overrides any papersize special in the DVI file. + + <br><dt>`<samp><span class="samp">--t1lib*</span></samp>'<dd><a name="index-T1lib-font-rendering-56"></a>Enable/disable T1lib font rendering (default on). This option is +available if the T1lib font library was present at compilation time. If +this is the case, dvipng will have direct support for PostScript Type1 +fonts internally, rather than using `<samp><span class="samp">gsftopk</span></samp>' for rendering the +fonts. If you have PostScript versions of Computer Modern installed, +there will be no need to generate bitmapped variants on disk of these. +Then, you can render images at different (and unusual) resolutions +without cluttering the disk with lots of bitmapped fonts. Note that if +you have both FreeType and T1lib on your system FreeType will be +preferred by dvipng, and if you for some reason rather want to use +T1lib, give the option `<samp><span class="samp">--freetype0</span></samp>' (see above). + + <br><dt>`<samp><span class="samp">--truecolor*</span></samp>'<dd><a name="index-truecolor-output-57"></a>On systems with a fairly new `<samp><span class="samp">libgd</span></samp>', one can choose to generate +truecolor output. This will not be necessary in general unless you +include truecolor images via a PostScript special (i.e., the +`<samp><span class="samp">graphics</span></samp>' or `<samp><span class="samp">graphicx</span></samp>' package). It will lead to longer +execution time, mostly because more data is written to disk. + + <br><dt>`<samp><span class="samp">-v*</span></samp>'<dd>Enable verbose operation. This will currently indicate what fonts is +used, in addition to the usual output. + + <br><dt>`<samp><span class="samp">-x </span><var>num</var></samp>'<dd><a name="index-magnification_002c-overriding-DVI-58"></a>Set the x magnification ratio to <var>num</var>/1000. Overrides +the magnification specified in the DVI file. Must be between 10 and +100000. It is recommended that you use standard magstep values (1095, +1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the total +number of PK files generated. <var>num</var> may be a real number, not an +integer, for increased precision. + + <br><dt>`<samp><span class="samp">-z </span><var>num</var></samp>'<dd><a name="index-compression-59"></a>Set the PNG compression level to <var>num</var>. This option is enabled if +your `<samp><span class="samp">libgd</span></samp>' is new enough. The default compression level is 1, +which selects maximum speed at the price of slightly larger PNGs. For an +older `<samp><span class="samp">libgd</span></samp>', the hard-soldered value 5 is used. The include file +`<samp><span class="samp">png.h</span></samp>' says +<blockquote> +Currently, valid values range from 0 - 9, corresponding directly to the +zlib compression levels 0 - 9 (0 - no compression, 9 - "maximal" +compression). Note that tests have shown that zlib compression levels +3-6 usually perform as well as level 9 for PNG images, and do +considerably fewer calculations. In the future, these values may not +correspond directly to the zlib compression levels. +</blockquote> + </dl> + <!-- man end --> + +<div class="node"> +<p><hr> +<a name="Diagnosing-problems"></a> +Next: <a rel="next" accesskey="n" href="#Color">Color</a>, +Previous: <a rel="previous" accesskey="p" href="#Command_002dline-options">Command-line options</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">5 Diagnosing problems</h2> + +<p><a name="index-problems-60"></a><a name="index-trouble-61"></a><a name="index-debugging-62"></a> +You've gone through all the trouble of installing dvipng, carefully read +all the instructions in this manual, and still can't get something to +work. The following sections provide some helpful hints if you find +yourself in such a situation. + + <p>Bug reports should be sent to +<a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. + + <p>Questions, suggestions for new features, pleas for help, and/or praise +should go to <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this +mailing list, send a message with just the word `help' as subject or +body to <a href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at +<a href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>. + + <p>Offers to support further development will be appreciated. For developer +access, ask on <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. + + <p>For details on the TeX path-searching library, and <code>mktexpk</code> +problems, see <a href="kpathsea.html#Common-problems">Common problems</a>. + +<ul class="menu"> +<li><a accesskey="1" href="#Debug-options">Debug options</a>: Getting diagnostics. +<li><a accesskey="2" href="#Included-graphics-problems">Included graphics problems</a>: Figures are wrongly rendered. +</ul> + +<div class="node"> +<p><hr> +<a name="Debug-options"></a> +Next: <a rel="next" accesskey="n" href="#Included-graphics-problems">Included graphics problems</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h3 class="section">5.1 Debug options</h3> + +<p><a name="index-debugging-options-63"></a><a name="index-options_002c-debugging-64"></a> +The `<samp><span class="samp">-d</span></samp>' flag to dvipng helps in tracking down certain errors. The +parameter to this flag is an integer that tells what errors are +currently being tracked. To track a certain class of debug messages, +simply provide the appropriate number given below; if you wish to track +multiple classes, sum the numbers of the classes you wish to track. To +track all classes, you can use <code>-1</code>. + + <p>Some of these debugging options are actually provided by Kpathsea +(see <a href="kpathsea.html#Debugging">Debugging</a>). + + <p>The classes are: + <dl> +<dt>1<dd>Normal dvi op-codes +<br><dt>2<dd>Virtual fonts +<br><dt>4<dd>PK fonts +<br><dt>8<dd>TFM files +<br><dt>16<dd>Glyph rendering +<br><dt>32<dd>FreeType calls +<br><dt>64<dd>Encoding loads +<br><dt>128<dd>Color specials +<br><dt>256<dd>GhostScript specials +<br><dt>512<dd>T1lib calls +<br><dt>1024<dd>Kpathsea <code>stat</code> calls +<br><dt>2048<dd>Kpathsea hash table lookups +<br><dt>4096<dd>Kpathsea path element expansion +<br><dt>8192<dd>Kpathsea path searches + + </dl> + +<div class="node"> +<p><hr> +<a name="Included-graphics-problems"></a> +Previous: <a rel="previous" accesskey="p" href="#Debug-options">Debug options</a>, +Up: <a rel="up" accesskey="u" href="#Diagnosing-problems">Diagnosing problems</a> + +</div> + +<h3 class="section">5.2 Included graphics problems</h3> + +<p><a name="index-graphics-inclusion-problems-65"></a> +The most common problem with including graphics is an incorrect bounding +box. +<!-- (@pxref{Bounding box}). --> +Complain to whoever wrote the software that generated the file if the +bounding box is indeed incorrect. + + <p>An additional problem is that the image in dvipng is always clipped to +the bounding box. This is because the image is rendered by GhostScript +by an internal call and then copied to the dvipng image. At present no +workaround is known, but there may be one for a future GhostScript. +We'll see. + +<div class="node"> +<p><hr> +<a name="Color"></a> +Next: <a rel="next" accesskey="n" href="#Copying">Copying</a>, +Previous: <a rel="previous" accesskey="p" href="#Diagnosing-problems">Diagnosing problems</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">6 Color</h2> + +<p>To support color, dvipng recognizes a certain set of specials. These +specials start with the keyword `<samp><span class="samp">color</span></samp>' or the keyword +`<samp><span class="samp">background</span></samp>', followed by a color specification. + +<ul class="menu"> +<li><a accesskey="1" href="#Color-specifications">Color specifications</a> +<li><a accesskey="2" href="#Color-specials">Color specials</a> +</ul> + +<div class="node"> +<p><hr> +<a name="Color-specifications"></a> +Next: <a rel="next" accesskey="n" href="#Color-specials">Color specials</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">6.1 Color specifications</h3> + +<p><a name="index-color-specifications-66"></a> +The color specification supported by dvipng is by-value or by-name. The +by-value spec starts with the name of a color model (one of `<samp><span class="samp">rgb</span></samp>', +`<samp><span class="samp">hsb</span></samp>', `<samp><span class="samp">cmy</span></samp>', `<samp><span class="samp">cmyk</span></samp>', or `<samp><span class="samp">gray</span></samp>') followed by the +appropriate number of parameters. Thus, the color specification +`<samp><span class="samp">rgb 0.3 0.4 0.5</span></samp>' would correspond to the color that is `<samp><span class="samp">0.3 +0.4 0.5</span></samp>' in its red, blue and green values. The color used internally in +dvipng is `<samp><span class="samp">RGB</span></samp>' (discretized to 256 levels), for details on the +formulas used in conversion, see the `<samp><span class="samp">xcolor</span></samp>' documentation. + + <p>By-name color specifications are single (case-dependent) words and are +compared with color names defined in `<samp><span class="samp">dvipsnam.def</span></samp>' (from the +`<samp><span class="samp">graphics</span></samp>' bundle), `<samp><span class="samp">svgnam.def</span></samp>' and `<samp><span class="samp">xcolor.sty</span></samp>' (from +the `<samp><span class="samp">xcolor</span></samp>' bundle). + + <p>On the command-line, the name `<samp><span class="samp">Transparent</span></samp>' can also be used in as +an argument to `<samp><span class="samp">--bg</span></samp>' to choose transparent background. +See <a href="#Option-details">Option details</a>. + +<div class="node"> +<p><hr> +<a name="Color-specials"></a> +Previous: <a rel="previous" accesskey="p" href="#Color-specifications">Color specifications</a>, +Up: <a rel="up" accesskey="u" href="#Color">Color</a> + +</div> + +<h3 class="section">6.2 Color specials</h3> + +<p>We will describe `<samp><span class="samp">background</span></samp>' first, since it is the simplest. The +`<samp><span class="samp">background</span></samp>' keyword must be followed by a color specification. +That color specification is used as a fill color for the background. The +last `<samp><span class="samp">background</span></samp>' special on a page is the one that gets used, and +is used for the whole of the page image. (This is possible because the +prescan phase of dvipng notices all of the color specials so that the +appropriate information can be written out during the second phase.) + + <p>The `<samp><span class="samp">color</span></samp>' special itself has three forms. The first is just +`<samp><span class="samp">color</span></samp>' followed by a color specification. In this case, the +current global color is set to that color; the color stack must be empty +when such a command is executed. + + <p>The second form is `<samp><span class="samp">color push</span></samp>' followed by a color specification. +This saves the current color on the color stack and sets the color to be +that given by the color specification. This is the most common way to +set a color. + + <p>The final version of the `<samp><span class="samp">color</span></samp>' special is just `<samp><span class="samp">color pop</span></samp>', +with no color specification; this says to pop the color last pushed on +the color stack from the color stack and set the current color to be +that color. + + <p>dvipng correctly handles these color specials across pages, even when +the pages are rendered repeatedly or in reverse order. + +<div class="node"> +<p><hr> +<a name="Credits"></a> +Next: <a rel="next" accesskey="n" href="#Index">Index</a>, +Previous: <a rel="previous" accesskey="p" href="#Copying">Copying</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">7 Credits</h2> + +<p>A number of persons have contributed, if I forget to mention someone, I +apologize. First and foremost we have David Kastrup whose +preview-latex project provided the incentive to write this program. +There is also a number of people who have contributed by reporting bugs +and suggesting improvements as the thing has evolved. These include but +is perhaps not limited to (in semi-random order): Thomas Esser +(teTeX), Christian Schenk (MIKTeX), Brian R Furry (debian +package), Angus Leeming (LyX), Thomas Boutell (libgd), John Jones (first +user report), Uwe Kern (xcolor), Alan Shutko, Reiner Stieb, Nick Alcock, +Adam Buchbinder, Svend Tollak Munkejord, James Longstreet, Bernhard +Simon, Bob McElrath, Georg Schwarz, Jason Farmer, Brian V. Smith, Samuel +Hathaway, Thomas R. Shemanske, Stephen Gibson, Christian Ridderström, +Ezra Peisach, William H Wheeler, Thomas Klausner, Harald Koenig, Adrian +Bunk, Kevin Smith, and Jason Riedy. + +<div class="node"> +<p><hr> +<a name="Copying"></a> +Next: <a rel="next" accesskey="n" href="#Credits">Credits</a>, +Previous: <a rel="previous" accesskey="p" href="#Color">Color</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">8 Copying</h2> + +<p>This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + + <p>This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + + <p>You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + <pre class="sp"> + + +</pre> +Copyright © 2002-2005 Jan-Åke Larsson + +<div class="node"> +<p><hr> +<a name="Index"></a> +Previous: <a rel="previous" accesskey="p" href="#Credits">Credits</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="unnumbered">Index</h2> + +<ul class="index-cp" compact> +<li><a href="#index-g_t_002ddSAFER-39">-dSAFER</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dl_007d-32">absolute page number, and `<samp><span class="samp">-l</span></samp>'</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-absolute-page-number_002c-and-_0040samp_007b_002dp_007d-46">absolute page number, and `<samp><span class="samp">-p</span></samp>'</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-antialiasing-levels_0040r_007b_002c-number-of_007d-53">antialiasing levels<span class="roman">, number of</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-background-color-_0028option_0029-14">background color (option)</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-base-resolution_002c-setting-13">base resolution, setting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-baseline-reporting-17">baseline reporting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-color-specifications-66">color specifications</a>: <a href="#Color-specifications">Color specifications</a></li> +<li><a href="#index-command_002dline-options-5">command-line options</a>: <a href="#Command_002dline-options">Command-line options</a></li> +<li><a href="#index-compilation-2">compilation</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-compression-59">compression</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-configuration_002c-of-dvipng-1">configuration, of dvipng</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-dark-fonts-23">dark fonts</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-debugging-62">debugging</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-debugging-15">debugging</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-debugging-options-63">debugging options</a>: <a href="#Debug-options">Debug options</a></li> +<li><a href="#index-depth-reporting-18">depth reporting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-first-page-printed-43">first page printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-follow-mode-20">follow mode</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-font-generation_002c-avoiding-35">font generation, avoiding</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-foreground-color-_0028option_0029-19">foreground color (option)</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-FreeType-font-rendering-21">FreeType font rendering</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-fuzzy-images-25">fuzzy images</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-gamma-22">gamma</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-GhostScript-and-_002ddSAFER-38">GhostScript and -dSAFER</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-GhostScript_002c-turning-off-37">GhostScript, turning off</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-GIF-image-format-26">GIF image format</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-graphics-inclusion-problems-65">graphics inclusion problems</a>: <a href="#Included-graphics-problems">Included graphics problems</a></li> +<li><a href="#index-height-reporting-28">height reporting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-installation_002c-of-dvipng-3">installation, of dvipng</a>: <a href="#Installation">Installation</a></li> +<li><a href="#index-invoking-dvipng-4">invoking dvipng</a>: <a href="#Basic-usage">Basic usage</a></li> +<li><a href="#index-last-page-printed-29">last page printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-light-fonts-24">light fonts</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-magnification_002c-overriding-DVI-58">magnification, overriding DVI</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-Metafont-mode_002c-specifying-34">Metafont mode, specifying</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-mktexpk_0040r_007b_002c-avoiding_007d-36"><code>mktexpk</code><span class="roman">, avoiding</span></a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-mode-name_002c-specifying-33">mode name, specifying</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-no-erroneous-images-47">no erroneous images</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-offset-pages-42">offset pages</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-option_002c-details-of-8">option, details of</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-options_002c-debugging-64">options, debugging</a>: <a href="#Debug-options">Debug options</a></li> +<li><a href="#index-options_002c-dvipng-6">options, dvipng</a>: <a href="#Command_002dline-options">Command-line options</a></li> +<li><a href="#index-options_002c-reading-from-standard-input-9">options, reading from standard input</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-options_002c-summary-7">options, summary</a>: <a href="#Option-summary">Option summary</a></li> +<li><a href="#index-output-resolution_002c-setting-16">output resolution, setting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-output_002c-redirecting-40">output, redirecting</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page-range-49">page range</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page_002c-first-printed-44">page, first printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-page_002c-last-printed-30">page, last printed</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dl_007d-31">physical page number, and `<samp><span class="samp">-l</span></samp>'</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-physical-page-number_002c-and-_0040samp_007b_002dp_007d-45">physical page number, and `<samp><span class="samp">-p</span></samp>'</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-PNG-image-format-48">PNG image format</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-problems-60">problems</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-quality-54">quality</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-quiet-operation-50">quiet operation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-reverse-pagination-55">reverse pagination</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-silent-operation-51">silent operation</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-input_002c-reading-options-from-10">standard input, reading options from</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-standard-output_002c-output-to-41">standard output, output to</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-T1lib-font-rendering-56">T1lib font rendering</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-transparent-border-fallback-color-12">transparent border fallback color</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-transparent-border-width-11">transparent border width</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-trouble-61">trouble</a>: <a href="#Diagnosing-problems">Diagnosing problems</a></li> +<li><a href="#index-truecolor-output-57">truecolor output</a>: <a href="#Option-details">Option details</a></li> +<li><a href="#index-warnings_002c-suppressing-52">warnings, suppressing</a>: <a href="#Option-details">Option details</a></li> + </ul></body></html> + |