dvipdfmx, xdvipdfmx, dvipdfm - produce PDF files directly from DVI files
Contents
Description
The program dvipdfmx generates a PDF file from a DVI file. DVI files are the output produced by TeX.
groff can also generate DVI files using grodvi(-Tdvi).
In TeX Live, dvipdfm is another incarnation of dvipdfmx rather than a separate program. Compatibility is
attempted as best as possible.
xdvipdfmx is another incarnation. It is used as the back end for xetex(1) and is not intended to be
invoked directly.
dvipdfmx recognizes several commonly used \special commands, which are extensions to the DVI format.
Specifically, it understands color specials, papersize specials, tpic specials (which allow it to be used
with pic), hypertex specials, and some PostScript specials. These extensions allow documents to contain
color, figures, and hyperlinks. The program tries to mimic the behavior of dvips where possible, so that
many macro packages produced for use with dvips will also work with dvipdfmx. In addition, dvipdfmx
understands its own specific \special commands to allow access to PDF features such as annotations and
bookmarks.
As of December 2018, one such special specific to dvipdfmx is pdf:trailerid, which specifies the /ID in
the PDF trailer. It is used like this (from the TeX level):
\special{pdf:trailerid [ (0123456789abcdef) (01234567890abcdef) ]}
That is, the special takes an array (the square brackets) of two 16-byte PDF strings (the parentheses).
This is the same syntax as LuaTeX's \pdfvariabletrailerid, while different from pdfTeX's \pdftrailerid.
It must appear on the first output page, otherwise it is ignored.
Unrecognized specials will generate warning messages. Packages that may need a dvipdfm or dvipdfmx driver
option include geometry, hyperref, bookmark, graphicx, and xcolor.
For issues related to bounding boxes (and hence image sizes), see extractbb(1).
Environment
dvipdfmx uses the kpathsea library for locating the files that it opens. Hence, the environment
variables documented in the Kpathsealibrary documentation influence dvipdfmx. It also uses the value of
the environment variable TMPDIR as the directory to search for thumbnail images of each page.
Files
The precise location of the following files is determined by the Kpathsealibrary configuration. The
location may be determined by using kpsewhich, e.g.,
kpsewhich-progname=dvipdfmx-format='othertextfiles'dvipdfmx.cfgdvipdfmx.cfg
Default configuration file
dvipdfmx-unsafe.cfg
Configuration file that runs Ghostscript without safety checks; use only for trusted source files.
It is currently required to use PSTricks with XeTeX: xetex-output-driver="xdvipdfmx-idvipdfmx-unsafe.cfg-q-E"...pdftex.map
The default font map file (this may be changed in the config file).
*.tfm
TeX font metrics
*.vf TeX virtual font files
*.pfb
PostScript Type 1 font files
texmf.cnf
The Kpathsea library configuration file. The location of this file may be found by typing
kpsewhichtexmf.cnfImage Bounding Boxes
When including images with dvipdfmx, their bounding boxes should be generated by running extractbb. The
result will be in an .xbb file; the xbb information is the same as for the PDF format.
Name
dvipdfmx, xdvipdfmx, dvipdfm - produce PDF files directly from DVI files
Options
Unlike with many other programs, argument values must be separated from option names by a space, not an =
sign; option names cannot be abbreviated; and - and -- cannot be used interchangeably.
-c Ignore (or accept) color \specials. By default, color \specials are interpreted normally
(changeable in the configuration file). The -c option may be used to produce a black and white
document from a document containing color TeX \special commands.
--dvipdfm
Enable dvipdfm emulation mode. This is the default if the executable name is `dvipdfm'.
-dnumber
Specify the number of decimal digits in the PDF output; must be between 0 and 5, default is 2.
-e Ignored, for (semi-)compatibility with dvipdfm.
-fmap_file
Read the font map file given by map_file. The default map file in TeX Live is pdftex.map, as
defined in the configuration file.
--help
Show a help message and exit successfully.
-icfgfile
Read cfgfile as another include file, after reading the default dvipdfmx.cfg.
--kpathsea-debugnumber
Have Kpathsea output debugging information; `-1' for everything (voluminous).
-l Select landscape mode. In other words, exchange the x and y dimensions of the paper.
-mmag
Magnify the input document by mag.
-ofilename
Set the PDF output file name; use `-' for stdout. By default, the name of the output file is
derived from the input, that is, file.pdf.
-ppaper
Select the papersize by name (e.g., letter, legal, ledger, tabloid, a3, a4, or a5 )
--pdfm-str-utf8
Assume PDFMark strings in \special commands are encoded in UTF-8.
-q Quiet mode.
-rsize
Set resolution of bitmapped fonts to size dots per inch. Bitmapped fonts are generated by the
Kpathsea library, which uses Metafont. Bitmapped fonts are included as Type 3 fonts in the PDF
output file. Default is 600.
-spage_specifications
Select the pages of the DVI file to be processed; default is `-', meaning all pages. The
page_specifications consists of a comma separated list of page_ranges:
page_specifications:=page_specification[,page_specifications]
where
page_specification:=single_page|page_rangepage_range:= [first_page]-[last_page]
An empty first_page is treated as the first page of the DVI file, and an empty last_page is treated
as the last page of the DVI file.
Examples:
-s1,3,5
includes pages 1, 3, and 5;
-s- includes all pages;
-s-,-
includes two copies of all pages in the DVI file; and
-s1-10
includes the first ten pages of the DVI file.
-t Search for thumbnail images of each page in the directory named by the TMPDIR environment variable.
The thumbnail images must be named in a specific format: the same base name as the DVI file and the
page number as the extension to the file name. dvipdfmx does not generate such thumbnails itself,
but it is distributed with a wrapper program named dvipdft that does so.
--version
Show a help message and exit successfully.
-v Increase verbosity. Results of the -v option are cumulative (e.g., -vv increases the verbosity by
two increments). Maximum verbosity is four.
-xx_offset
Set the left margin to x_offset. The default left margin is 1.0in. The dimension may be specified
in any units understood by TeX (e.g., bp, pt, in, cm).
-yy_offset
Set the top margin to y_offset. The default top margin is 1.0in. The dimension may be specified in
any units understood by TeX (e.g., bpt, pt, in, cm).
-znumber
Set the compression level to compression_level. Compression levels range from 0 (no compression) to
9 (maximum compression) and correspond to the values understood by zlib; default is 9.
-Cnumber
Miscellaneous option flags; see the --help output for details.
-Dtemplate
PostScript to PDF conversion command line template; the default is taken from the configuration
file, which also gives all the details and mentions several possibilities.
-E Always try to embed fonts, ignoring licensing flags, etc.
-Inumber
Image cache life in hours; default is -2, meaning to not cache images at all. A value of -1 means
to erase all old images and also new images; 0 means to erase all old images but leave new images.
-Knumber
Encryption key length; default 40.
-M Process MetaPost PostScript output.
-Onumber
Set maximum depth of open bookmark items; default 0.
-Pnumber
Set permission flags for PDF encryption; default 0x003C.
-S Enable PDF encryption.
-Vnumber
Set PDF minor version; default 5 (from the configuration file).
See Also
dvipdft(1), extractbb(1), tex(1), luatex(1), xetex(1), dvips(1), groff(1), grodvi(1), pic(1), the Kpathsea library Info documentation (https://tug.org/kpathsea), and the Dvipdfmx User's Manual (in the distribution, and linked from https://tug.org/dvipdfmx).
Synopsis
dvipdfmx or dvipdfm [options] file[.dvi]
