summaryrefslogtreecommitdiff
path: root/macros/generic/insbox/demo.tex
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 /macros/generic/insbox/demo.tex
Initial commit
Diffstat (limited to 'macros/generic/insbox/demo.tex')
-rw-r--r--macros/generic/insbox/demo.tex118
1 files changed, 118 insertions, 0 deletions
diff --git a/macros/generic/insbox/demo.tex b/macros/generic/insbox/demo.tex
new file mode 100644
index 0000000000..f2ec5e4886
--- /dev/null
+++ b/macros/generic/insbox/demo.tex
@@ -0,0 +1,118 @@
+% This file contains description of \InsertBoxL, \InsertBoxR, \InsertBoxC
+% and \MoveBelowBox macros that are defined in the INSBOX package.
+% Compile it and check this source file to see how that all was done.
+
+\nopagenumbers
+
+\input insbox
+\input epsf
+
+
+% a macro for building a box with a frame around it
+\def\Frame#1{%
+ \vbox{
+ \hrule
+ \hbox{%
+ \vrule
+ \vbox{\vskip 4mm \hbox{\hskip 4mm #1 \hskip 4mm} \vskip 4mm}%
+ \vrule
+ }
+ \hrule
+ }
+}
+
+
+
+% Put an \epsfbox in the right after two lines of text:
+\InsertBoxR{2}{\epsfbox{pic1.eps}}
+Creating documents like this is quite easy. Just four easy macros
+can do all the stuff required to put pictures on the page and
+format all the neighbouring paragraphs so that they do not interfere
+with pictures. The picture you see in the right was inserted using
+the following command put just before the beginning of this paragraph:
+\hfil\break
+{\tt\string\InsertBoxR\char123 2\char125\char123\string\epsfbox\char123
+ pic1.eps\char125\char125}
+
+
+The meaning of the macro's arguments is very easy. The first
+argument should be the number of lines to be typeset ``normally'',
+that is using the whole width of the page. The second argument
+is {\it any\/} box that is to be put on the page beside the text.
+The letter {\tt R} at the end of the macro's name indicates
+that the picture should be put in the right. Of course, there is
+also a macro named {\tt\string\InsertBoxL} which works similarly,
+but puts the picture in the left. Further in this document you will
+find a description of the {\tt\string\InsertBoxC} macro. As you
+probably guessed, it inserts a picture centered in the page.
+
+
+\def\somebox{\vbox{
+ \hsize = 5cm
+ \noindent Some simple text. Some simple text. Some simple text.
+ Some\break simple text. Some simple text.
+ $$ a^2 + b^2 = c^2 $$
+ That was a simple formula. Let's put more text here to make
+ this box bigger... Some simple text. Some simple text.
+}}
+
+% as you see, you can supply the third optional parameter to
+% \InsertBoxL and \InsertBoxR macros; it may help if they
+% calculate the space for the frame incorrectly
+\InsertBoxL{2}{\Frame{\somebox}}[-2]
+I mentioned earlier that almost {\it anything\/} can be inserted
+in the document --- not only {\tt\string\epsfbox}es. You can create
+{\it any\/} box containing graphics, text, math formulas and put it
+beside your text using {\tt\string\InsertBox} macros. The simple
+example in the left should be a good proof.
+
+
+The macros are quite reliable, but you may experience some problems
+if you put displayed math formulas beside pictures. The space reserved
+for the frame may appear too little or too big. But there is an
+easy way to make neccessary correction. Check the source file
+to see how it was done in this particular situation.
+ $$ \sum_{i=1}^{n} i^3 = \left( {n(n+1) \over 2} \right)^2 $$
+Also, I do not guarrantee correct behaviour of these macros in other
+extreme conditions. It is not possible to put two {\tt\string\InsertBox}
+commands before a paragraph --- in that case you should not expect
+a paragraph squeezed between two frames.
+
+
+\def\somebox{\vbox{
+ \epsfxsize=4cm
+ \hbox{\epsfbox{pic2.eps}}
+ \hbox to 4cm{\hss Figure 2.\hss}
+}}
+
+There is also a macro for inserting boxes centered in the page. Its name
+is {\tt\string\InsertBoxC} and it requires only one argument --- the
+box to be inserted. The macro should be called from {\it inside\/}
+a paragraph (not put {\it before\/} a paragraph). The box will be put
+just below the line containing the macro. For example the picture below
+was inserted by putting
+{\tt\string\InsertBoxC\char123 \string\somebox\char125}
+after {\it this\/}\InsertBoxC{\somebox} word. The line was completed,
+the picture was inserted and the paragraph continues below the picture.
+The usage seems very simple and intuitive.
+
+
+\InsertBoxR{0}{\somebox}
+I recommend that you see the source of this document and check how
+changes to arguments of {\tt\string\InsertBox} macros affect paragraphs.
+But before I end, let me give you one more hint. Sometimes you may wish
+to generate a vertical skip like this:
+
+
+\MoveBelowBox
+In such situation you should use the {\tt\string\MoveBelowBox} command.
+It starts the next paragraph just below the current picture.
+
+
+\bigskip
+\noindent
+Micha\l{} Gulczy\'nski \hfil\break
+{\tt mgulcz@we.tuniv.szczecin.pl}
+
+
+\bye