Linux Commands Examples

A great documentation place for Linux commands


compute positions in a DVI file

see also : dvips - dvitype - mpost - pdftex - tex


dvipos [ OPTION... ] infile[.dvi]

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!



Extract positions from doc.dvi, with output to doc.loc:

dvipos -o doc.loc doc.dvi

Same as above, but also send bbox information to doc.pos:

dvipos -b -o doc.loc doc.dvi

Instead send bbox information to /tmp/debug.pos:

dvipos -b=/tmp/debug.pos -o doc.loc doc.dvi


dvipos parses a DVI file looking for pos: specials. It currently recognizes pos:pxy, pos:pxywhd, pos:pxyplus, pos:begbox, pos:endbox, pos:beglines, and pos:endlines. It then outputs the information from those specials along with information that only a DVI postprocessor could determine, such as the current x and y location. The output looks like:


and is suitable for including in a tex(1) or pdftex(1) auxilliary file, such as document.tuo, to be read in by the next run of the tex(1) or similar typesetting engine.


-h, --help

print usage.

-W, --warning

print warnings.

-v, --verbose

print verbose output.

-d, --debug

print dvitype(1) debugging data.

-s, --smashchars

regard height and depth as zero.

-o, --output=FILE

send all output to FILE. Without this option, output goes to stdout.

-b, --bbox[=FILE]

send bounding box to FILE (default FILE is infile.pos).

-f, --framed[=BASE]

request copy of DVI file, BASE.dvi, with bounding boxes framed (default FILE is infile_frames.dvi). See the --framesize option.

-m, --mag=INT

override tex(1) magnification by INT.

-w, --framesize=INT

set frame rule size by INT (default 6554 = .1pt).

-p, --pages=X:Y

set page ranges from X to Y.


dvipos is run mostly behind the scenes by ConTeXt’s texexec(1) between runs of tex(1) or pdftex(1), in order to provide information to and get information about positional graphics. These graphics are provided by the MetaFun interface to mpost(1). dvipos is not used (or needed) in PDF-output mode but is needed for DVI-output mode. pdftex(1) starting with version 1.40 can produce position information even in DVI mode, so once the ConTeXt macros take advantage of this feature, the need for dvipos will fade.

Until then, here is a typical use of dvipos:

dvipos notes.dvi

The position information that is output is collected by texexec(1) to include in the notes.tuo auxilliary file to use in the next run.


If you specify a file for the -b option, you must join the option and name with = rather than (the more common) space:

dvipos -b=/tmp/debug.pos notes.dvi

works, but

dvipos -b /tmp/debug.pos notes.dvi

does not.

see also

dvips , dvitype , mpost , pdftex , tex , texexec.

For more about positional graphics, see the MetaFun documentation on the ConTeXt wiki ⟨ URL: ⟩ .


dvipos is written by Jin-Hwan Cho <chofchof[:at:]ktug.or[:dot:]kr>. It is free software (GPLv2 or later). This manpage was written by Sanjoy Mahajan <sanjoy[:at:]mit[:dot:]edu> and is in the public domain.

How can this site be more helpful to YOU ?

give  feedback