DVIPOS(1)
β¨ NAME β¨
dvipos π compute positions in a DVI file. Okay, the manual name is literally dvipos - compute positions in a DVI file, and it's the whole vibe π§
π SYNOPSIS π
dvipos [ OPTION... ] infile[.dvi]
π DESCRIPTION π
okay so dvipos goes through a DVI file hunting for pos: specials π It currently knows about pos:pxy, pos:pxywhd, pos:pxyplus, pos:begbox, pos:endbox, pos:beglines, and pos:endlines. Then it spits out the info from those specials plus stuff only a DVI postprocessor can figure out, like the current x and y location. ngl it's so smart π
the output looks like this:
\pospxywhd{text:54}{54}{10663sp}{8535sp}{21326sp}{34081sp}{0sp}
and it's perfect for dropping into a tex(1) or pdftex(1) auxiliary file, like document.tuo, so the next run of tex(1) (or a similar typesetting engine) can read it in π
π¦ OPTIONS π¦
-h,--helpβ print usage. the "how do I even use this" button π-W,--warningβ print warnings β οΈ-v,--verboseβ print verbose output. extra chatty mode π£οΈ-d,--debugβ printdvitype(1)debugging data π-s,--smashcharsβ regard height and depth as zero. literally flattening them π«-o,--output=FILEβ send all output toFILE. Without this option, output goes to stdout, so no file, just vibes in the terminal β¨-b,--bbox[=FILE]β send bounding box toFILE(defaultFILEisinfile.pos) π¦-f,--framed[=BASE]β request a copy of the DVI file,BASE.dvi, with bounding boxes framed πΌοΈ (defaultFILEisinfile_frames.dvi). See the--framesizeoption.-m,--mag=INTβ overridetex(1)magnification byINTπ-w,--framesize=INTβ set frame rule size byINT(default6554=.1pt) π-p,--pages=X:Yβ set page ranges fromXtoYπ
πΈ USAGE πΈ
okay so dvipos is mostly a behind-the-scenes girl π«Ά ConTeXt's texexec(1) runs it between runs of tex(1) or pdftex(1) to pass info to and get info from positional graphics. Those graphics come from the MetaFun interface to mpost(1). dvipos is not used (or needed) in PDF-output mode, but it IS needed for DVI-output mode π pdftex(1) starting with version 1.40 can make position info even in DVI mode, so once the ConTeXt macros take advantage of that, the need for dvipos will fade away π₯
until then, here's a typical use:
dvipos notes.dvi
the position info it outputs gets collected by texexec(1) and included in the notes.tuo auxiliary file for the next run π―
π EXAMPLES π
extract positions from doc.dvi, with output going to doc.loc:
dvipos -o doc.loc doc.dvi
same as above, but also send bbox info to doc.pos:
dvipos -b -o doc.loc doc.dvi
or send bbox info to /tmp/debug.pos instead:
dvipos -b=/tmp/debug.pos -o doc.loc doc.dvi
π SEE ALSO π
dvips(1), dvitype(1), mpost(1), pdftex(1), tex(1), texexec(1).
also, for more about positional graphics, check the MetaFun documentation on the ConTeXt wiki: β¨https://wiki.contextgarden.net/MetaFunβ© π
π BUGS π
β οΈ bestie, careful with this one! If you specify a file for the-boption, you have to join the option and name with=rather than (the more common) space.
so this works:
dvipos -b=/tmp/debug.pos notes.dvi
but this does not:
dvipos -b /tmp/debug.pos notes.dvi
π AUTHOR π
dvipos is written by Jin-Hwan Cho <chofchof@ktug.or.kr>. It is free software (GPLv2 or later) π This manpage was written by Sanjoy Mahajan <sanjoy@mit.edu> and is in the public domain. It is currently maintained as part of TeX Live π
that's the whole tea, bestie! π this is dvipos version 20070107 (KPATHSEA), last updated on 30 August 2022 π
β¨
π¦ where this page comes from
- alpine 3.24: texmf-dist-binextra-doc 2026.0-r0 Β· LPPL-1.0 AND LPPL-1.1 AND LPPL-1.2 AND LPPL-1.3a AND LPPL-1.3c AND GPL-2.0-only
- π girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms