summaryrefslogtreecommitdiff
path: root/dviware/dvipaste/dvipaste.doc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /dviware/dvipaste/dvipaste.doc
Initial commit
Diffstat (limited to 'dviware/dvipaste/dvipaste.doc')
-rw-r--r--dviware/dvipaste/dvipaste.doc145
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).