Scroll to navigation

DVIDVI(1) General Commands Manual DVIDVI(1)




dvidvi [param] infile outfile




The dvidvi program converts a dvi file into another dvi file, with perhaps certain changes.


-f n page n is first page selected
-l n page n is last page selected
-n n select at most n pages. Notice that n is the number of pages selected, independently of the number of pages actually contained in a sheet -i { n1..n2 | n1 }[,...]
include pages (ranges allowed). When this option is used, ONLY the specified pages are selected. However, we can exclude from these pages with the option -x -x { n1..n2 | n1 }[,...]
exclude pages (ranges allowed) -q work in quiet mode, that is do not print in the screen messages of how the work is being done. -r reverse the order of the pages.

The page numbers for the above options -f -l -i and -x can be specified in different ways.
1) If a number n is given, it is interpreted as the n'th page from the begining of the .dvi file. Of course, this number is independent of the page number assigned by TeX. 2) TeX page numbers are those who are actually written in the page; these page numbers can be modified, for example, by using the TeX commands \pagenumbering, \setcounter{page}{n}, and \addtocounter{page}{n}. A TeX page number can be specified by preceding the number n with the character @. Thus, if you specify -f @25 -l @30 you select the pages between 25 and 30, these numbers being those assigned by TeX. 3) However, several pages can have the same TeX page number in a .dvi file. For example, the introductory pages in a book are numbered i, ii, and so on until the first chapter begins and then, the pages are numbered 1, 2, etc. In this case, the pages numbered i and 1 in the .dvi file have the same TeX page number. If you want to select for example the second occurrence of the page numbered 1, you can specify a page number as (@2)1. Thus @1 is equivalent to (@1)1. For example, if you specify -f (@2)1 -l(@2)10 you select the pages between 1 and 10 of the first chapter, not the introductory pages between i and x.

There is another parameter that tells dvidvi how you want to change page layout and specifications. This is the -m parameter.
* The number preceding the colon is the modulo value. Everything will be done in chunks of pages this big. If there is no colon, than the default value is assumed to be one. The last chunk of pages is padded with as many blank pages as necessary. * Following the colon is a comma-separated list of page numbers. These page numbers are with respect to the current chunk of pages, and must lie in the range zero to the modulo value less one. If a negative sign precedes the number, then the page is taken from the mirror chunk; if there are m chunks, then the mirror chunk of chunk n is the chunk numbered m-n-1. Put simply, it is the chunk numbered the same, only from the end. This can be used to reverse pages. If no number is given, the page number defaults to 1. * Following each page number is an optional offset value in parenthesis, which consists of a pair of comma-separated dimensions. Each dimension is a decimal number with an optional unit of measure. The default unit of measure is inches, or the last unit of measure used. All units are in true dimensions. Allowable units of measure are the same that TeX allows: in, mm, cm, pt, pc, dd, and cc.


-m - Reverses the order of the pages. This time, both the modulo and the page number are defaulted. -m 2:0 Selects the first, third, fifth, etc. pages from the file. Print this one after printing the next, taking the paper out of the feed tray and reinserting it into the paper feed. -m 2:-1 Selects the second, fourth, etc. pages, and writes them in reverse order. -m 4:-1,2(4.25in,0in) -m 4:-3,0(4.25in,0in)
Useful for printing a little booklet, four pages to a sheet, double-sided, for stapling in the middle. Print the first one, put the stack back into the printer upside down, and print the second. The `in' specifications are superfluous. -m ,(1pt,1)
Scare your system administrator! Actually, things are so blurry with this option, you may want to send enemies letters printed like this. *Long* letters. -m 4:0(5.5in,4.25),3(0,4.25) -m 4:1(0in,4.25),2(5.5,4.25)
Print a four-page card on one sheet. Print the first, rotate the paper 180 degrees and feed it again. (PostScript people can do funny tricks with PostScript so this isn't necessary.)

March 1994