summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex')
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex177
1 files changed, 140 insertions, 37 deletions
diff --git a/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex b/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
index 1c03a70aa57..53cc01236b3 100644
--- a/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
+++ b/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
@@ -8,6 +8,7 @@
\usepackage[landscape,margin=1in,top=1in,bottom=1in]{geometry}
\usepackage{color}
\usepackage[colorlinks,
+ plainpages=false,
linkcolor=black,
bookmarksopen,
pdfauthor={Nicola Talbot},
@@ -40,8 +41,7 @@ that they were defined. There must be at least one flow frame on
every page.}}
\storeglosentry{static}{name=static frame,description={Frames
-in which text is fixed in place. Static frames are usually
-cleared after each page. The contents are fixed until
+in which text is fixed in place. The contents are fixed until
explicitly changed.}}
\storeglosentry{dynamic}{name=dynamic frame,description={Frames
@@ -236,9 +236,10 @@ backcolor=blue,textcolor=white,style=footstyle,pages=none}
\ffswapoddeven*{main}
\dfswapoddeven*{chaphead}
-\title{Creating Flow Frames for Posters, Brochures or Magazines using flowfram.sty v 1.0}
+\title{Creating Flow Frames for Posters, Brochures or
+Magazines using flowfram.sty v 1.02}
\author{Nicola L. C. Talbot}
-\date{26th July 2005}
+\date{24th November 2005}
\pagenumbering{alph}
\maketitle
@@ -283,11 +284,14 @@ or magazines or any other form of document that does not
conform to the standard one or two column layout.
The \sty{flowfram} package provides three types of \gls{frame}:
-\gls{flow}s, \gls{static}s and \gls{dynamic}s.
+\gls{flow}s, \gls{static}s and \gls{dynamic}s, all rectangular
+in shape with dimensions and positions specified by the
+user\footnote{Can I have arbitrary shaped frames? See
+\autoref{itm:parshape} on page~\pageref{itm:parshape}}.
The main contents of the document environment flow from
-one defined \gls{flow} to the next in the order of definition,
+one \gls{flow} to the next in the order of definition,
whereas the contents of the static and dynamic frames
-are set explicity using commands described in
+are set explicitly using commands described in
\autoref{sec:modattr}. Note that
unless otherwise stated, all co-ordinates are relative to the
bottom left hand corner of the \gls{typeblock}. If you have
@@ -324,7 +328,7 @@ does this. The \sty{flowfram} package works fine with
however \appname{ps2pdf} and \appname{dvipdf} both seem to
cause a slight left shift in the page which may result in a
vertical white band on the right side of the page.
-This problem does not seem to occur with Acrobat Disiller.
+This problem does not seem to occur with Acrobat Distiller.
You should load \sty{flowfram} \emph{after} \sty{hyperref}
and any colour package (e.g.\ \sty{color}).
@@ -343,7 +347,8 @@ for the \gls{frame} and \meta{idl} is the \IDL\ for that
\texttt{S} (\gls{static}) or \texttt{D} (\gls{dynamic}).
Markers of the form: [M:\meta{idn}] indicate that the
\gls{bbox} is the area taken up by the margin for \gls{flow}
-with \IDN\ \meta{idn}.
+with \IDN\ \meta{idn}. Note that even if a \gls{frame}
+has been rotated, the \gls{bbox} will not be rotated.
If you want to show or hide specific types of bounding
boxes, you can use one of the following commands:
@@ -386,6 +391,7 @@ large black rectangles obscuring your text, instead of
the pale background colour you were hoping for.)
\section{Frame Stacking Order}
+\label{sec:stacking}
The material on each page is placed in the following order:
\begin{enumerate}
@@ -404,7 +410,13 @@ package option has been used.
This ordering can be used to determine if you want something
to overlay or underlay everything else on the page.
-
+Note that the \gls{frame}s do not interact with each other. If
+you have two or more overlapping frames, the text in each
+\gls{frame} will not attempt to wrap around the other
+frames, but will simply overwrite
+them.\footnote{Can I have arbitrary
+shaped frames? See \autoref{itm:parshape} on
+page~\pageref{itm:parshape}.}
\chapter{Defining New Frames}
@@ -457,16 +469,11 @@ By default, the \gls{flow} will not have a border, but the
starred form, \cmdname{newflowframe*},
will place a plain border around the \gls{flow}.
-Note that there must be at least one \gls{flow}
-defined on every page of your document. If there are no
-\useGlosentry{flow}{flow frames} defined at the start of your
-document, a single \gls{flow} will be defined, emulating
-one column mode. If the document continues beyond the last
-defined \gls{flow}, again a single \gls{flow} will be
-defined, emulating one column mode. If there exists a page
-in the middle of the document for which there is no \gls{flow}
-defined, an error will be generated, and you will lose some
-of your text.
+Note that if the document continues beyond the last
+defined \gls{flow} (for example, the \gls{flow}s have only
+been defined on pages~1 to~10, but the document contains 11
+pages) then a single \gls{flow} will be defined,
+emulating one column mode for all subsequent pages.
In this document, I have used the command
\begin{verbatim}
@@ -500,11 +507,15 @@ do \cmdname{cleardoublepage}.
\section{Static Frames}
A \gls{static} is a rectangular area in which text neither
-flows into, nor flows out of. The contents must be set
-explicitly, and once set, the contents of the \gls{static} will
-remain the same on each page until it is explicitly
-changed. Thus, a \gls{static} can be used, for example, to make
-a company logo appear in the same place on every page.
+flows into, nor flows out of\footnote{By ``neither flows into nor
+flows out of'' I mean you have to explicitly set the contents of
+this frame. Note that it may appear to contain text if another
+frame overlaps it, but this text belongs to the other frame.}.
+The contents must be set explicitly, and once set, the contents
+of the \gls{static} will remain the same on each page until it is
+explicitly changed. Thus, a \gls{static} can be used, for
+example, to make a company logo appear in the same place on every
+page.
A new \gls{static} is defined using the command:\\[10pt]
\cmdname{newstaticframe}\verb/[/\meta{page list}\verb+]{+%
@@ -719,9 +730,9 @@ if the document is two-sided.
\item[\key{label}=\meta{text}] Assign an IDL to the \gls{frame}.
(If you do not specify a label when you first define a \gls{frame}
-it wil be given a label identical to its \IDN.) This key is
+it will be given a label identical to its \IDN.) This key is
provided to allow the user to label frames that have been
-generate by certain predefined layout commands described
+generated by certain predefined layout commands described
in \autoref{sec:layouts}.
\item[\key{border}=\meta{style}] The style of the border around the
@@ -818,7 +829,7 @@ for \gls{flow}s.
\item[\key{clear}=\meta{boolean}]
If this value is set, the static or dynamic frame will be
cleared at the start of the
-next page, otherwise it will only be clear on the next
+next page, otherwise it will only be cleared on the next
occurrence of \cmdname{setstaticcontents} or the
\env{staticcontents} environment, or the
\cmdname{setdynamiccontents}, depending on the frame type.
@@ -848,6 +859,10 @@ which will make the text for all the dynamic frames come out in
bold. To unset a style, do \verb/style=none/.
This setting is only available for \gls{dynamic}s.
+\item[\key{angle}=\meta{n}] Rotate the contents of the
+\gls{frame} by \meta{n} degrees (new to
+version 1.02). Note that the \gls{bbox}es will not
+appear rotated.
\end{description}
\chapter{Predefined Layouts}
@@ -1138,7 +1153,7 @@ More general version of \cmdname{htwotoneright} but for
To make a single \gls{static} covering the entire page, use:
\cmdname{makebackgroundframe}\verb"["\meta{pages}\verb"]["\meta{IDL}\verb"]". Note that this \gls{static} should be created
-before any other \gls{static} as it will obscur all other
+before any other \gls{static} as it will obscure all other
\gls{static}s created before it if it is given a background
colour.
@@ -1207,8 +1222,12 @@ title---default), \pkgopt{ttbnotitle} (don't show the title),
(don't show the number---default).
If you want thumbtabs in your document, you need to use
-the command
-\cmdname{makethumbtabs}\verb"["\meta{y offset}\verb"]{"\meta{height}\verb"}["\meta{section type}\verb"}" in the document
+the command
+\begin{center}
+\cmdname{makethumbtabs}\verb"["\meta{y
+offset}\verb"]{"\meta{height}\verb"}["\meta{section type}\verb"}"
+\end{center}
+in the document
preamble. By default, the topmost thumbtab is level with the
top of the \gls{typeblock}, but can be shifted vertically
using the first optional argument \meta{y offset}. Each
@@ -1405,6 +1424,64 @@ are many different ways of formatting the value of a counter
would be impossible to write an algorithm to do this
for some arbitrary format.
\end{enumerate}
+
+\item Can I have an arbitrarily shaped \gls{frame}?
+\label{itm:parshape}
+
+No. All frames are rectangular, however within a frame
+you may use commands such as \TeX's \cmdname{parshape} to
+create a non rectangular paragraph. (See the sample file
+\texttt{news.tex} for an example.)
+
+\item Why has the text from my \gls{flow} appeared in a
+\gls{static} or \gls{dynamic}?
+
+Assuming you haven't inadvertently set that text as the contents
+of the static or dynamic frame, the frames are most likely
+overlapping (see \autoref{sec:stacking}).
+In an attempt to clarify what's going on, suppose you have
+defined a \gls{static}, a \gls{dynamic} and two \gls{flow}s. The
+following is an approximate\footnote{The pedantic may point out
+that \TeX\ may make several attempts to fill in the flow frames
+depending on penalties and so on.} analogy: \TeX\ has a sheet of
+paper on the table, and has pencilled\footnote{actually it hasn't
+drawn anything really, but it has in its mind's eye.} in a
+rectangle denoting the \gls{typeblock}. The paper is put to one
+side for now. \TeX\ also has four rectangular sheets
+of transparent paper. The first (which I shall call sheet~1)
+represents the \gls{static}, the next two (which I shall call
+sheets~2 and~3) represent the \gls{flow}s, and the last one
+(which I shall call sheet~4) represents the \gls{dynamic}.
+\TeX\ starts work on filling sheet~2 with the document text.
+Once it has put as much text on that sheet as it considers
+possible (according to its views on aesthetics), it puts sheet~2
+into the ``in tray'', and then continues on sheet~3. While it's
+filling in sheets~2 and~3, if it encounters a command or
+environment that tells it what to put in the \gls{static},
+it fills in sheet~1 and then puts sheet~1 into the ``in tray'' and
+resumes where it left off on sheet~2 or~3. Similarly, if
+it encounters a command that tells it what to put in the
+\gls{dynamic}, it stops what it's doing, fills in sheet~4, then
+puts sheet~4 into the ``in tray'', and resumes where it left off.
+Only when it has finished sheet~3 (the last \gls{flow} defined
+on that page), will it gather together all
+the transparent sheets, and fix them onto the page starting
+with sheet~1 through to sheet~4, measuring the bottom left hand
+corner of each transparent sheet relative to the bottom left hand
+corner of the \gls{typeblock}. \TeX\ will then put that page
+aside, and start work on the next page. If two or more of the
+transparent sheets overlap, you will see through the top one into
+the one below (unless of course the top one has been painted
+over, either by setting a background colour, or by adding an
+image that has a non-transparent background.)
+
+Note that it's also possible that the overlap is caused by an
+overfull hbox that's causing the text to poke out the side of the
+\gls{flow} into a neighbouring \gls{frame}.
+
+\item Why do I get lots of overfull hbox messages?
+
+Probably because you have narrow \gls{frame}s.
\end{enumerate}
\section{Unexpected Output}
@@ -1436,6 +1513,22 @@ of every page.
This occurs if you use \appname{ps2pdf} of \appname{dvipdf}.
Try using \appname{pdflatex} instead.
+\item I don't have any output.
+
+All your \gls{flow}s are empty. \TeX\ doesn't put the
+frames onto the page until it has finished putting text
+into the \gls{flow}s. So if there is no text to go in the
+\gls{flow}s it won't output the page. If you only want the
+\gls{static}s or \gls{dynamic}s filled in, and nothing
+outside of them, just do \verb|\mbox{}|. This will put
+an invisible something with zero area into your
+\gls{flow}, but it's enough to convince \TeX\ that the
+document contains some text.
+
+\item The last page hasn't appeared.
+
+See the previous answer.
+
\end{enumerate}
\section{Error Messages}
@@ -1507,12 +1600,6 @@ The specified style \meta{style} must be the name of a command
without the preceding backslash. It is possible that you have
mis-spelt the name, or you have forgotten to define the command.
-\item \verb/No flow frames defined on page /\meta{n}\verb+. Text lost+
-
-You can not have a page in the middle of the document that has
-no \gls{flow} defined, as it messes up \TeX's output routine.
-You will loose some of the document's text.
-
\item \verb/Argument of \fbox has an extra }/
This error will occur if you do, say, \verb/border=\fbox/
@@ -1534,6 +1621,22 @@ wrong with the toc (table of contents), ttb (thumbtab)
or aux (auxiliary) files in the previous run. Try deleting
them, and try again.
+\item \verb/Undefined control sequence/
+\begin{verbatim}
+\color ...vevmode \csname fi\endcsname }\@ldc@l@r
+\end{verbatim}
+
+This seems to happen when the \texttt{draft} option is used without
+a colour package, in conjunction with PDF\LaTeX. It
+doesn't seem to happen with \LaTeX. For some reason with
+PDF\LaTeX\ the \cmdname{color} command is defined in the
+begin document hook, but not the command
+\cmdname{@ldc@l@r} which is the cause of this error
+message. You can avoid this error message by including
+the \sty{color} package. You can use the
+\texttt{monochrome} option if you don't want any colour
+in your document.
+
\end{enumerate}
\disablethumbtabs