1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
|
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "DVIPNG 1"
.TH DVIPNG 1 2025-02-02 "dvipng 1.18" "User commands"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
dvipng \- A DVI\-to\-PNG translator
.SH SYNOPSIS
.IX Header "SYNOPSIS"
dvipng [options] filename
.PP
dvipng [options] [filename] \-
.SH DESCRIPTION
.IX Header "DESCRIPTION"
This program makes PNG and/or GIF graphics from DVI files as obtained
from TeX and its relatives.
.PP
If GIF support is enabled, GIF output is chosen by using the
\&\fBdvigif\fR binary or with the \fB\-\-gif\fR option.
.PP
The benefits of \fBdvipng\fR/\fBdvigif\fR include
.IP * 4
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 preview-latex, WeBWorK and others.
.IP * 4
It does not read the postamble, so it can be started before TeX
finishes. There is a \fB\-\-follow\fR 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.
.IP * 4
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.
.IP * 4
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.
.IP * 4
and more...
.SH OPTIONS
.IX Header "OPTIONS"
Many of the parameterless options listed here can be turned off by
suffixing the option with a zero (\fB0\fR); for instance, to turn off
page reversal, use \fB\-r0\fR. Such options are marked with a trailing
\&\fB*\fR.
.IP \fB\-\fR 4
.IX Item "-"
Read additional options from standard input after processing the command
line.
.IP \fB\-\-help\fR 4
.IX Item "--help"
Print a usage message and exit.
.IP \fB\-\-version\fR 4
.IX Item "--version"
Print the version number and exit.
.IP "\fB\-bd\fR \fInum\fR" 4
.IX Item "-bd num"
.PD 0
.IP "\fB\-bd\fR \fIcolor_spec\fR" 4
.IX Item "-bd color_spec"
.IP "\fB\-bd '\fR\fInum\fR\fB \fR\fIcolor_spec\fR\fB'\fR" 4
.IX Item "-bd 'num color_spec'"
.PD
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 \fIcolor_spec\fR 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 \especial syntax, e.g., 'rgb 1.0 0.0 0.0'. Setting the
fallback color makes the default border width 1 px.
.IP "\fB\-\-bdpi\fR \fInum\fR" 4
.IX Item "--bdpi num"
This option only has an effect when using bitmapped (PK) fonts. The
option sets the base (Metafont) resolution, both horizontal and
vertical, to \fInum\fR dpi (dots per inch). This option is necessary
when manually selecting Metafont mode with the \-\-mode option (see
below).
.IP "\fB\-bg\fR \fIcolor_spec\fR" 4
.IX Item "-bg color_spec"
Choose background color for the images. This option will be ignored if
there is a background color \especial in the DVI. The color spec should
be in TeX color \especial 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.
.IP "\fB\-d\fR \fInum\fR" 4
.IX Item "-d num"
Set the debug flags, showing what dvipng (thinks it) is doing. This will
work unless dvipng has been compiled without the \f(CW\*(C`DEBUG\*(C'\fR option
(not recommended). Set the flags as you need them, use \fB\-d \-1\fR as
the first option for maximum output.
.IP "\fB\-D\fR \fInum\fR" 4
.IX Item "-D num"
Set the output resolution, both horizontal and vertical, to \fInum\fR
dpi (dots per inch).
.Sp
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 \fIfont_px\fR pixels (in
Mozilla) the correct formula is
.Sp
.Vb 1
\& <dpi> = <font_px> * 72.27 / 10 [px * TeXpt/in / TeXpt]
.Ve
.Sp
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
.Sp
.Vb 1
\& <font_px> = <font_pt> * 96 / 72 [pt * px/in / (pt/in)]
.Ve
.Sp
On some high-res screens, the value is instead 120 dpi. Good luck!
.IP \fB\-\-depth*\fR 4
.IX Item "--depth*"
Report the depth of the image. This only works reliably when the
LaTeX style \fIpreview.sty\fR from preview-latex is used with
the \fBactive\fR option. 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)
.Sp
.Vb 1
\& <IMG SRC="<filename.png>" STYLE="vertical\-align: \-<depth>px">
.Ve
.Sp
The depth is a negative offset in this case, so the minus sign is
necessary, and the unit is pixels (px).
.IP \fB\-\-dvinum*\fR 4
.IX Item "--dvinum*"
Set this option to make the output page number be the TeX page
numbers rather than the physical page number. See the \fB\-o\fR switch.
.IP "\fB\-fg\fR \fIcolor_spec\fR" 4
.IX Item "-fg color_spec"
Choose foreground color for the images. This option will be ignored if
there is a foreground color \especial in the DVI. The color spec should
be in TeX color \especial syntax, e.g., 'rgb 1.0 0.0 0.0'.
.IP \fB\-\-follow*\fR 4
.IX Item "--follow*"
Wait for data at end-of-file. 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 end-of-file for further
output, unless it finds the POST marker that indicates the end of the
DVI. This is similar to \fBtail \-f\fR but for DVI-to-PNG conversion.
.IP \fB\-\-freetype*\fR 4
.IX Item "--freetype*"
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 \fBgsftopk\fR
for rendering the fonts. If you have PostScript versions of Computer
Modern installed, there will be no need to generate bitmapped (PK)
variants on disk of these. Then, you can render images at different (and
unusual) resolutions without cluttering the disk with lots of bitmapped
fonts.
One reason to disable FreeType font rendering would be to generate
identical output on different platforms, since FreeType uses the native
renderer and therefore can give slightly different output on each platform.
.IP "\fB\-\-gamma\fR \fInum\fR" 4
.IX Item "--gamma num"
Control the interpolation of colors in the greyscale anti-aliasing
color palette. Default value is 1.0. For 0 < \fInum\fR < 1, the
fonts will be lighter (more like the background), and for \fInum\fR >
1, the fonts will be darker (more like the foreground).
.IP \fB\-\-gif*\fR 4
.IX Item "--gif*"
The images are output in the GIF format, if GIF support is enabled.
This is the default for the \fBdvigif\fR binary, which only will be
available when GIF support is enabled. GIF images are palette images
(see the \fB\-\-palette\fR option) and does not support true alpha
channels (see the \fB\-\-bg\fR option). See also the \fB\-\-png\fR
option.
.IP \fB\-\-height*\fR 4
.IX Item "--height*"
Report the height of the image. This only works reliably when the
LaTeX style \fIpreview.sty\fR from preview-latex is used with
the \fBactive\fR option. 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
\&\fB\-\-height\fR and \fB\-\-depth\fR.
.IP "\fB\-l [=]\fR\fInum\fR" 4
.IX Item "-l [=]num"
The last page printed will be the first one numbered \fInum\fR. Default
is the last page in the document. If \fInum\fR is prefixed by an equals
sign, then it (and the argument to the \fB\-p\fR option, if specified)
is treated as a physical (absolute) page number, rather than a value to
compare with the TeX \fB\ecount0\fR values stored in the DVI file.
Thus, using \fB\-l =9\fR will end with the ninth page of the document,
no matter what the pages are actually numbered.
.IP "\fB\-\-mode\fR \fImode\fR" 4
.IX Item "--mode mode"
This option only has an effect when using bitmapped (PK) fonts. Use
\&\fImode\fR 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 \fB\-\-bdpi\fR option. See the file
<\fBftp://ftp.tug.org/tex/modes.mf\fR> for a list of resolutions and mode
names for most devices.
.IP \fB\-M*\fR 4
.IX Item "-M*"
This option only has an effect when using bitmapped (PK) fonts. It turns
off automatic PK font generation (\fImktexpk\fR).
.IP \fB\-\-nogs*\fR 4
.IX Item "--nogs*"
This switch prohibits the internal call to GhostScript for displaying
PostScript specials. \fB\-\-nogs0\fR turns the call back on.
.IP \fB\-\-nogssafer*\fR 4
.IX Item "--nogssafer*"
Normally, if GhostScript is used to render PostScript specials, the
GhostScript interpreter is run with the option \fB\-dSAFER\fR. The
\&\fB\-\-nogssafer\fR option runs GhostScript without \fB\-dSAFER\fR. The
\&\fB\-dSAFER\fR option in Ghostscript disables PostScript operators such
as deletefile, to prevent possibly malicious PostScript programs from
having any effect.
.IP \fB\-\-norawps*\fR 4
.IX Item "--norawps*"
Some packages generate raw PostScript specials, even non-rendering such
specials. This switch turns off the internal call to GhostScript
intended to display these raw PostScript specials. \fB\-\-norawps0\fR
turns the call back on.
.IP "\fB\-o\fR \fIname\fR" 4
.IX Item "-o name"
Send output to the file \fIname\fR. A single occurrence of \fR\f(CB%d\fR\fB\fR or
\&\fB\fR\f(CB%01d\fR\fB\fR, ..., \fB\fR\f(CB%09d\fR\fB\fR will be exchanged for the physical
page number (this can be changed, see the \fB\-\-dvinum\fR switch). The
default output filename is \fIfile\fR\fB\fR\f(CB%d\fR\fB.png\fR where the input DVI
file was \fIfile\fR\fB.dvi\fR.
.IP "\fB\-O\fR \fIx\-offset\fR\fB,\fR\fIy\-offset\fR" 4
.IX Item "-O x-offset,y-offset"
Move the origin by \fIx\-offset\fR,\fIy\-offset\fR, a comma-separated
pair of dimensions such as \fB.1in,\-.3cm\fR.
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.
.IP "\fB\-p [=]\fR\fInum\fR" 4
.IX Item "-p [=]num"
The first page printed will be the first one numbered \fInum\fR. Default
is the first page in the document. If \fInum\fR is prefixed by an
equals sign, then it (and the argument to the \fB\-l\fR option, if
specified) is treated as a physical (absolute) page number, rather than
a value to compare with the TeX \fB\ecount0\fR values stored in the
DVI file. Thus, using \fB\-p =3\fR will start with the third page of
the document, no matter what the pages are actually numbered.
.IP \fB\-\-palette*\fR 4
.IX Item "--palette*"
When an external image is included, \fBdvipng\fR will automatically
switch to truecolor mode, to avoid unnecessary delay and quality
reduction, and enable the EPS translator to draw on a transparent
background and outside of the boundingbox. This switch will force
palette (256\-color) output and make \fBdvipng\fR revert to opaque
clipped image inclusion. This will also override the \fB\-\-truecolor\fR
switch if present.
.IP \fB\-\-picky*\fR 4
.IX Item "--picky*"
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 \especial occurrences,
but warnings will also occur for missing or unknown color specs and
missing PK fonts.
.IP \fB\-\-png*\fR 4
.IX Item "--png*"
The images are output in the PNG format. This is the default for the
\&\fBdvipng\fR binary. See also the \fB\-\-gif\fR option.
.IP "\fB\-pp\fR \fIfirstpage\fR\fB\-\fR\fIlastpage\fR" 4
.IX Item "-pp firstpage-lastpage"
Print pages \fIfirstpage\fR through \fIlastpage\fR; but not quite
equivalent to \fB\-p\fR \fIfirstpage\fR \fB\-l\fR \fIlastpage\fR. For example,
when rendering a book, there may be several instances of a page in the
DVI file (one in \f(CW\*(C`\efrontmatter\*(C'\fR, one in \f(CW\*(C`\emainmatter\*(C'\fR, and one
in \f(CW\*(C`\ebackmatter\*(C'\fR). In case of several pages matching, \fB\-pp\fR
\&\fIfirstpage\fR\fB\-\fR\fIlastpage\fR will render \fIall\fR pages that
matches the specified range, while \fB\-p\fR \fIfirstpage\fR \fB\-l\fR
\&\fIlastpage\fR will render the pages from the \fIfirst\fR occurrence
of \fIfirstpage\fR to the \fIfirst\fR occurrence of \fIlastpage\fR.
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 \fB\-pp\fR between the pages from \fB\-p\fR to \fB\-l\fR. Also
multiple \fB\-pp\fR options accumulate, unlike \fB\-p\fR and \fB\-l\fR.
The \fB\-\fR separator can also be \fB:\fR. Note that \fB\-pp \-1\fR
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 \fB\-pp \-1\-\-1\fR,
or more readable, \fB\-pp \-1:\-1\fR.
.IP \fB\-q*\fR 4
.IX Item "-q*"
Run quietly. Don't chatter about pages converted, etc. to standard
output; report no warnings (only errors) to standard error.
.IP "\fB\-Q\fR \fInum\fR" 4
.IX Item "-Q num"
Set the quality to \fInum\fR. That is, choose the number of antialiasing
levels for bitmapped fonts (PK), to be
\&\fInum\fR*\fInum\fR+1. The default value is 4 which gives 17 levels of
antialiasing for antialiased fonts from these two. If FreeType is
available, its rendering is unaffected by this option.
.IP \fB\-r*\fR 4
.IX Item "-r*"
Toggle output of pages in reverse/forward order. By default, the first
page in the DVI is output first.
.IP \fB\-\-strict*\fR 4
.IX Item "--strict*"
The program exits 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. See the \fB\-\-picky\fR option
above for a list of when warnings occur.
.IP "\fB\-T\fR \fIimage_size\fR" 4
.IX Item "-T image_size"
Set the image size to \fIimage_size\fR which can be either of
\&\fBbbox\fR, \fBtight\fR, or a comma-separated pair of dimensions
\&\fIhsize\fR,\fIvsize\fR such as \fB.1in,.3cm\fR. The default is
\&\fBbbox\fR 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 \fBtight\fR will make dvipng
only include all ink put on the page, producing neat images.
.IP \fB\-\-truecolor*\fR 4
.IX Item "--truecolor*"
This will make \fBdvipng\fR generate truecolor output. Note that
truecolor output is automatic if you include an external image in your
DVI, e.g., via a PostScript special (i.e., the \fBgraphics\fR or
\&\fBgraphicx\fR package). This switch is overridden by the
\&\fB\-\-palette\fR switch.
.IP \fB\-v*\fR 4
.IX Item "-v*"
Enable verbose operation. This will currently indicate what fonts is
used, in addition to the usual output.
.IP \fB\-\-width*\fR 4
.IX Item "--width*"
Report the width of the image. See also \fB\-\-height\fR and
\&\fB\-\-depth\fR.
.IP "\fB\-x\fR \fInum\fR" 4
.IX Item "-x num"
This option is deprecated; it should not be used. It is much better to
select the output resolution directly with the \fB\-D\fR option. This
option sets the magnification ratio to \fInum\fR/1000 and
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. \fInum\fR may be a real number, not
an integer, for increased precision.
.IP "\fB\-z\fR \fInum\fR" 4
.IX Item "-z num"
Set the PNG compression level to \fInum\fR. This option is enabled if
your \fBlibgd\fR is new enough. The default compression level is 1,
which selects maximum speed at the price of slightly larger PNGs. For an
older \fBlibgd\fR, the hard-soldered value 5 is used. The include file
\&\fBpng.h\fR says
"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."
.SH NOTES
.IX Header "NOTES"
The full manual is accessible in info format, on most systems by typing
.PP
.Vb 1
\& info dvipng
.Ve
.SH COPYRIGHT
.IX Header "COPYRIGHT"
This program is released under the GNU Lesser General Public License
version 3, see the COPYING file in the dvipng distribution or
<\fBhttp://www.gnu.org/licenses/gpl.html\fR>.
.PP
Copyright (c) 2002\-2015, 2019 Jan-AAke Larsson
|