diff options
Diffstat (limited to 'dviware/dvipaste/dvipaste.doc')
-rw-r--r-- | dviware/dvipaste/dvipaste.doc | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/dviware/dvipaste/dvipaste.doc b/dviware/dvipaste/dvipaste.doc new file mode 100644 index 0000000000..10934333a4 --- /dev/null +++ b/dviware/dvipaste/dvipaste.doc @@ -0,0 +1,145 @@ +The dvipaste program was first described in the article + + HI-TeX Cutting & Pasting + +in TUGboat, Volume 10 (1989), No. 2, pages 164--165. Consult this article +for further details. (``TUGboat, The Communications of the TeX Users Group'', +is published by TeX Users Group, P. O. Box 9506, Providence, RI 02940.) + +The dvipaste program is designed to produce files that conform to the TeX +specifications for .dvi files, even though they may actually be too big to be +produced with normal implementations of TeX (because of limitations on memory +size). More particularly, it allows the material appearing on individual +pages of a `secondary' file to be inserted into a `main' file. + +The `secondary' file, say `extra.tex', should be of the form + + \input dvipaste + \input <macro packages> + + <define a control sequence, say \csq, to stand for a complicated object> + or + <store some complicated object in a TeX box, say in \box0 > + + \sendout{\csq} or \sendout{\box0 } + + <store another object> + \sendout{...} + . . . + \end + +The main file, say `big.tex', should have + + \input dvipaste + +at the beginning, and then + + \paste{extra}{<number>} + +at any point, to indicate that the material on page <number> of `extra.dvi' +is to be pasted in at that point. + +The secondary file `extra.tex' must be TeX'ed before the main file, because +the \paste commands use information from a file `extra.dat' that is created +when the secondary file is TeX'ed. + +When the main file is TeX'ed, blank spaces of the proper size will appear at +the points where the \paste commands were placed. After using the dvipaste +program, + + dvipaste big + +the new big.dvi file will actually have the proper material from the +secondary file pasted in, and will give the desired result when printed out. + +[You can also type + + dvipaste big newbig + +if you want to save the big.dvi file, and create a new .dvi file, newbig.dvi. +(With TeXtures you MUST choose a new name, because TeXtures won't allow you +to make a TeXtures document out of a different big.dvi when the first one +already exists as a resource to big.tex.)] + +The dvipaste.tex macro package will not allow both a \sendout and a \paste to +occur in the same file, so that a file must be used either as a main file or +as a secondary file. However, an arbitrary number of secondary files can be +used in a main file, and the <number>'s appearing in \paste commands do not +have to be consecutive. + + * * * + +The lamstex.tex macro package essentially includes the part of the +dvipaste.tex macro packages that is used to make \paste be defined. + +The lamstbl.tex macro package essentially includes the part of the +dvipaste.tex macro package that is used to make \sendout be defined. +However, \sendout is never actually used in LamS-TeX because an \endtable in +a LamS-TeX tables file essentially does the \sendout. + + * * * + +One possible use for dvipaste.tex is for files produced by PiCTeX. The +.dvi files that PiCTeX produces for a figure are often so large that +although the figure alone can be printed, it cannot be combined with other +text on that page, because TeX doesn't have enough memory to store such a +large .dvi file (especially when it has to store all the macros being +used). For such situations, one could create a secondary file for the +pictures, + + \input dvipaste + \input pictex + <store a picture in a box or a control sequence> + \sendout{the picture} + . . . + +and then \paste the pictures into the main file at the appropriate point. + +This should be applicable with LamS-TeX also. The secondary file, say +`pictures.tex', should be treated as an ordinary TeX file, NOT as a LamS-TeX +file (if the pictures include some text, new fonts can be introduced after +the \input pictex line, if necessary). Then in the main LamS-TeX file, + + \paste{pictures}{<number>} + +can be inserted at any point. For example, you might use such a \paste +instead of an \hbyw{...}{...} construction in a \figure ... \endfigure. + + * * * * * * + + EXAMPLE OF THE USE OF DVIPASTE + +The files boxes1.tex, boxes2.tex, and join.tex all begin with + + \input dvipaste + +and illustrate the general use of the dvipaste program. To see it action, + +(1) First do + + tex boxes1 +and + tex boxes2 + +This will produce boxes1.dvi and boxes2.dvi, which you can print or view, +as well as boxes1.dat and boxes2.dat. + +(2) Then, once boxes1.dat and boxes2.dat have been produced, do + + tex join + +producing join.dvi, which you can print or view. + +(3) Finally, do + + dvipaste join newjoin + +to produce a newjoin.dvi. When you view or print this, the boxes will have +been pasted in. + +(4) You can also simply do + + dvipaste join + +if you want the old join.dvi to be replaced by a new one, with the boxes +pasted in (not possible with TeXtures). |