dvipdfmx - Man Page
produce PDF files directly from DVI files
Synopsis
dvipdfmx or dvipdfm [options] file[.dvi]
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 \pdfvariable trailerid, 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).
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'.
- -d number
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.
- -f map_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.
- -i cfgfile
Read cfgfile as another include file, after reading the default dvipdfmx.cfg.
- --kpathsea-debug number
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.
- -m mag
Magnify the input document by mag.
- -o filename
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.
- -p paper
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.
- -r size
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.
- -s page_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_range page_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:
- -s 1,3,5
includes pages 1, 3, and 5;
- -s -
includes all pages;
- -s -,-
includes two copies of all pages in the DVI file; and
- -s 1-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.
- -x x_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).
- -y y_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).
- -z number
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.
- -C number
Miscellaneous option flags; see the --help output for details.
- -D template
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.
- -I number
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.
- -K number
Encryption key length; default 40.
- -M
Process MetaPost PostScript output.
- -O number
Set maximum depth of open bookmark items; default 0.
- -P number
Set permission flags for PDF encryption; default 0x003C.
- -S
Enable PDF encryption.
- -V number
Set PDF minor version; default 5 (from the configuration file).
Image 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.
Environment
dvipdfmx uses the kpathsea library for locating the files that it opens. Hence, the environment variables documented in the Kpathsea library 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 Kpathsea library configuration. The location may be determined by using kpsewhich, e.g.,
kpsewhich -progname=dvipdfmx -format='other text files' dvipdfmx.cfg
- dvipdfmx.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 -i dvipdfmx-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
kpsewhich texmf.cnf
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).
Author
Primarily Mark A. Wicks; dvipdfmx extensions primarily by Jin-Hwan Cho, Shunsaku Hirata, and Matthias Franz. For the version in TeX Live, please send bugs and other reports to the maintainers at dvipdfmx (at) tug.org (https://lists.tug.org/dvipdfmx).
This man page edited for TeX Live by Bob Tennent and others. This man page is public domain.
Referenced By
dvipdft(1), dvispc(1), musixtex(1), updmap.cfg(5).
The man pages dvipdfm(1) and xdvipdfmx(1) are aliases of dvipdfmx(1).