DVIPDFMX(1)
π DVIPDFMX(1) π
General Commands Manual β¨ okay so this is the manual page for dvipdfmx, and bestie, it's literally the tool that turns your DVI files into PDFs π¦
β¨ NAME β¨
dvipdfmx, xdvipdfmx, dvipdfm β produce PDF files directly from DVI files ππ
π SYNOPSIS π
dvipdfmx or dvipdfm [options] file[.dvi]
πΈ DESCRIPTION πΈ
okay so dvipdfmx generates a PDF file from a DVI file π DVI files are the output that TeX makes, and groff can make them too using grodvi(-Tdvi) β¨
In TeX Live, dvipdfm is just another incarnation of dvipdfmx, not a separate program π§ Compatibility is attempted as best as possible, so it's giving close enough vibes π«Ά
xdvipdfmx is another incarnation too π It's used as the back end for xetex(1) and isn't meant to be invoked directly, so don't go poking it yourself π
dvipdfmx recognizes several commonly used \special commands, which are extensions to the DVI format π Specifically, it understands color specials, papersize specials, tpic specials (which let it work with pic), hypertex specials, and some PostScript specials β¨ These extensions let documents have color, figures, and hyperlinks, and it's main character energy π The program tries to mimic the behavior of dvips wherever possible, so a bunch of macro packages made for dvips will also work with dvipdfmx π On top of that, dvipdfmx understands its own special \special commands for PDF features like annotations and bookmarks π₯
As of December 2018, one special that's specific to dvipdfmx is pdf:trailerid, which sets the /ID in the PDF trailer π You use it like this, from the TeX level:
\special{pdf:trailerid [ (0123456789abcdef) (01234567890abcdef) ]}
So 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, but different from pdfTeX's \pdftrailerid π It must appear on the first output page, otherwise it gets ignored π
Heads up bestie: 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), check out extractbb(1) π
π OPTIONS π
ngl this part is lowkey long, but every single flag is here π«Ά Also, unlike with many other programs, argument values must be separated from option names by a space, not an = sign β¨ Option names can't be abbreviated either, and - and -- can't be used interchangeably π
ββοΈ
-cβ Ignore (or accept) color\specials π¨ By default, color specials are interpreted normally, and you can change that in the configuration file. Use-cto get a black and white document out of a document that has color TeX\specialcommands π€--dvipdfmβ Turns on dvipdfm emulation mode π§ This is the default if the executable name isdvipdfm.-d numberβ Sets the number of decimal digits in the PDF output π’ It has to be between 0 and 5, and the default is 2.-eβ Ignored, just there for (semi-)compatibility with dvipdfm π«Ά-f map_fileβ Reads the font map file given bymap_fileπΊοΈ The default map file in TeX Live ispdftex.map, as defined in the configuration file.--helpβ Shows a help message and exits successfully π-i cfgfileβ Readscfgfileas another include file, after reading the defaultdvipdfmx.cfgπ--kpathsea-debug numberβ Has Kpathsea output debugging info π Use-1for everything, which is voluminous, so brace yourself π-lβ Selects landscape mode π In other words, it swaps the x and y dimensions of the paper.-m magβ Magnifies the input document bymagπ-o filenameβ Sets the PDF output file name π Use-for stdout. By default, the output name is derived from the input, sofile.pdfβ¨-p paperβ Selects the papersize by name π Examples areletter,legal,ledger,tabloid,a3,a4, ora5π--pdfm-str-utf8β Assumes PDFMark strings in\specialcommands are encoded in UTF-8 π-qβ Quiet mode π€«-r sizeβ Sets the resolution of bitmapped fonts tosizedots per inch π¨οΈ The bitmapped fonts are generated by the Kpathsea library, which uses Metafont, and they get included as Type 3 fonts in the PDF output file π¦ The default is 600.-s page_specificationsβ Selects which pages of the DVI file get processed βοΈ The default is-, which means all pages. Thepage_specificationsis a comma separated list of page_ranges, and it looks like this:
page_specifications := page_specification[,page_specifications]
where
page_specification := single_page|page_range
page_range := [first_page]-[last_page]
An empty first_page counts as the first page of the DVI file, and an empty last_page counts as the last page of the DVI file πΈ Here are some examples, bestie:
-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 π―ββοΈ
-s 1-10
includes the first ten pages of the DVI file π
-tβ Searches for thumbnail images of each page in the directory named by theTMPDIRenvironment variable πΌοΈ The thumbnail images have to be named in a specific format: the same base name as the DVI file, with the page number as the extension to the file name. dvipdfmx doesn't generate those thumbnails itself, but it's distributed with a wrapper program calleddvipdftthat does π§--versionβ Shows a help message and exits successfully π (yes, the manual says help message here, so that's what it does)-vβ Increases verbosity π’ The results are cumulative, so-vvincreases the verbosity by two increments. Maximum verbosity is four π-x x_offsetβ Sets the left margin tox_offsetπ The default left margin is1.0in. You can use any units TeX understands, likebp,pt,in, orcmβ¨-y y_offsetβ Sets the top margin toy_offsetπ The default top margin is1.0in. Again, any units TeX understands work, likebpt,pt,in, orcmπ·-z numberβ Sets the compression level tocompression_levelποΈ Levels range from 0 (no compression) to 9 (maximum compression) and match the values zlib understands. The default is 9 π-C numberβ Miscellaneous option flags π§© See the--helpoutput for details.-D templateβ PostScript to PDF conversion command line template π οΈ The default comes from the configuration file, which also has all the details and mentions several possibilities.-Eβ Always tries to embed fonts, ignoring licensing flags and whatnot π€-I numberβ Image cache life in hours β³ The default is-2, which means don't cache images at all. A value of-1erases all old images and also new images π A value of0erases all old images but leaves the new ones alone.-K numberβ Encryption key length π The default is 40.-Mβ Processes MetaPost PostScript output π-O numberβ Sets the maximum depth of open bookmark items π The default is 0.-P numberβ Sets permission flags for PDF encryption π‘οΈ The default is0x003C.-Sβ Enables PDF encryption π-V numberβ Sets the PDF minor version π The default is 5, which comes from the configuration file.
π¦ IMAGE BOUNDING BOXES π¦
When you include images with dvipdfmx, their bounding boxes should be generated by running extractbb πΌοΈ The result ends up in an .xbb file, and the xbb information is the same as for the PDF format β¨
π ENVIRONMENT π
dvipdfmx uses the kpathsea library to locate the files it opens ποΈ So the environment variables documented in the Kpathsea library documentation influence dvipdfmx too π 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 πΊοΈ You can find the location with 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 π¬ Only use this for trusted source files! It's currently required to use PSTricks with XeTeX, like this: 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 π You can find where this file lives 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 were 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 was edited for TeX Live by Bob Tennent and others πΈ This man page is public domain π
bestie, that's the whole thing!! π Dated 1 June 2021, and it's giving DVIPDFMX(1) forever π¦β¨
π¦ where this page comes from
- alpine 3.24: texlive-doc 2026.0-r0 Β· GPL-2.0-or-later AND GPL-3.0-or-later
- arch rolling: texlive-doc 2026.1-1 Β· GPL
- centos-stream 10: texlive-dvipdfmx 13:20240311-6.el10 Β· GPL-1.0-or-later
- debian trixie: texlive-binaries 2024.20240313.70630+ds-6 Β· TeX-Live
- fedora 43: texlive-dvipdfmx 11:svn66203-93.fc43 Β· GPL-1.0-or-later
- fedora 43: texlive-dvipdfmx 11:svn66203-95.fc43.1 Β· GPL-1.0-or-later
- fedora 44: texlive-dvipdfmx 12:svn77942-105.fc44 Β· GPL-2.0-or-later
- fedora 44: texlive-dvipdfmx 12:svn77942-111.fc44 Β· GPL-2.0-or-later
- opensuse-leap 16.0: texlive-dvipdfmx-doc 2025.221.svn74096-160000.3.1 Β· GPL-2.0-or-later
- ubuntu noble: texlive-binaries 2023.20230311.66589-9build3 Β· TeX-Live
- ubuntu questing: texlive-binaries 2024.20240313.70630+ds-6ubuntu2 Β· TeX-Live
- ubuntu resolute: texlive-binaries 2025.20250727.75242+ds-5build1 Β· TeX-Live
- ubuntu stonking: texlive-binaries 2026.20260303.78225+ds-5ubuntu1 Β· TeX-Live
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms