summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/flowfram
diff options
context:
space:
mode:
authorReinhard Kotucha <reinhard.kotucha@web.de>2007-04-08 18:18:21 +0000
committerReinhard Kotucha <reinhard.kotucha@web.de>2007-04-08 18:18:21 +0000
commit2b0321dafd5d992f9fad9d473404b5108ddbc5c7 (patch)
tree21a9322d8d9ce642ecfb7f35e57313f8334fe297 /Master/texmf-dist/doc/latex/flowfram
parentf25dd24f847d44201cbb435d7473ee114a876241 (diff)
update flowfram to v1.07
git-svn-id: svn://tug.org/texlive/trunk@4132 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/flowfram')
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/CHANGES13
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/README82
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/ffuserguide.pdfbin237531 -> 381626 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex395
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/flowfram.pdfbin262469 -> 377509 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/brochure.pdfbin65590 -> 63158 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/brochure.tex6
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/egg.pngbin913 -> 930 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/news.pdfbin31724 -> 29971 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/news.tex1
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/news2.pdfbin0 -> 36407 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/news2.tex231
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/poster.pdfbin19319 -> 79646 bytes
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/poster.tex7
-rw-r--r--Master/texmf-dist/doc/latex/flowfram/samples/sheep.pngbin1721 -> 1199 bytes
15 files changed, 639 insertions, 96 deletions
diff --git a/Master/texmf-dist/doc/latex/flowfram/CHANGES b/Master/texmf-dist/doc/latex/flowfram/CHANGES
new file mode 100644
index 00000000000..98df6404a1c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/flowfram/CHANGES
@@ -0,0 +1,13 @@
+flowfram change log
+
+1.07 : fixed bug causing extra pages at the end of the document
+
+1.06 : fixed bug causing slight right shift of frames
+
+1.05 : fixed bug causing overfull hboxes on even pages.
+
+1.04 : fixed bug causing slight right shift of contents of all flow frames.
+
+1.03 : added shape and valign keys.
+
+1.02 : added facility for rotating frame contents.
diff --git a/Master/texmf-dist/doc/latex/flowfram/README b/Master/texmf-dist/doc/latex/flowfram/README
index c6e01577692..fd950895038 100644
--- a/Master/texmf-dist/doc/latex/flowfram/README
+++ b/Master/texmf-dist/doc/latex/flowfram/README
@@ -1,41 +1,41 @@
-LaTeX Package : flowfram v 1.02
-
-Last Modified : 24th November 2005
-
-Author : Nicola Talbot
-
-Files : flowfram.dtx - documented source file
- flowfram.ins - installation script
- ffuserguide.pdf - user manual
- ffuserguide.tex - source code for user manual
- samples/ - directory containiing sample files
-
-Create frames for posters, brochures or magazines
-
-The flowfram package is designed to enable you to create
-frames in a document such that the contents of the
-document environment flow from one frame to the next in the
-order in which they were defined. This is useful for creating
-posters or magazines or any other form of document that does not
-conform to the standard one or two column layout.
-
-To extract the code do:
-
-latex flowfram.ins
-
-To extract the documented code do:
-
-latex flowfram.dtx
-makeindex -s gind.ist flowfram
-makeglos.pl flowfram
-latex flowfram.dtx
-latex flowfram.dtx
-
-(The documentation requires at least version 2.2 of the
-glossary package.)
-
-This material is subject to the LaTeX Project Public License.
-See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license.
-
-http://theoval.cmp.uea.ac.uk/~nlct/
-
+LaTeX Package : flowfram v 1.07
+
+Last Modified : 9th March 2007
+
+Author : Nicola Talbot
+
+Files : flowfram.dtx - documented source file
+ flowfram.ins - installation script
+ ffuserguide.pdf - user manual
+ ffuserguide.tex - source code for user manual
+ samples/ - directory containiing sample files
+
+Create frames for posters, brochures or magazines
+
+The flowfram package is designed to enable you to create
+frames in a document such that the contents of the
+document environment flow from one frame to the next in the
+order in which they were defined. This is useful for creating
+posters or magazines or any other form of document that does not
+conform to the standard one or two column layout.
+
+To extract the code do:
+
+latex flowfram.ins
+
+To extract the documented code do:
+
+latex flowfram.dtx
+makeindex -s gind.ist flowfram
+makeglos.pl flowfram
+latex flowfram.dtx
+latex flowfram.dtx
+
+(The documentation requires at least version 2.2 of the
+glossary package.)
+
+This material is subject to the LaTeX Project Public License.
+See http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html for the details of that license.
+
+http://theoval.cmp.uea.ac.uk/~nlct/
+
diff --git a/Master/texmf-dist/doc/latex/flowfram/ffuserguide.pdf b/Master/texmf-dist/doc/latex/flowfram/ffuserguide.pdf
index b52b237f70d..b3f1667d486 100644
--- a/Master/texmf-dist/doc/latex/flowfram/ffuserguide.pdf
+++ b/Master/texmf-dist/doc/latex/flowfram/ffuserguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex b/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
index 53cc01236b3..8ff2f6c9d2b 100644
--- a/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
+++ b/Master/texmf-dist/doc/latex/flowfram/ffuserguide.tex
@@ -14,9 +14,10 @@
pdfauthor={Nicola Talbot},
pdftitle={Creating Flow Frames for Posters, Brochures or Magazines using flowfram.sty},
pdfkeywords={LaTeX;text frames;posters;brochures}]{hyperref}
-\usepackage[style=altlist,toc,number=none]{glossary}[2005/07/15]
+\usepackage[style=altlist,toc,number=none]{glossary}[2006/07/20]
\usepackage{pgf}
\usepackage[norotate,ttbnotitle,ttbnum]{flowfram}
+\usepackage{shapepar}
% Define some commands for consistency and indexing
\newcommand{\sty}[1]{\textsf{#1}\index{#1@\textsf{#1} package}}
@@ -48,6 +49,8 @@ explicitly changed.}}
in which text is fixed in place, but the contents are re-typeset
after each page.}}
+\newcommand*{\staticordynamic}{\useGlosentry{static}{static} or \gls{dynamic}}
+
\storeglosentry{frame}{name=frame,description={A rectangular
area of the page in which text can be placed (not to be
confused with a frame making command). There are three types:
@@ -122,6 +125,13 @@ refer to the frame by label instead of by its IDN.}}
\setflowframe*{main}{evenx=0.4\textwidth}
\setdynamicframe*{chaphead}{evenx=0pt,clear}
+% make a frames to illustrate shaped frames
+\newstaticframe[none]{0.38\textwidth}{0.55\textheight}{0.62\textwidth}{0.45\textheight}[shapedt]
+\setstaticframe*{shapedt}{evenx=0pt}
+
+\newstaticframe[none]{0.38\textwidth}{0.45\textheight}{0.62\textwidth}{0pt}[shapedb]
+\setstaticframe*{shapedb}{evenx=0pt}
+
% set the margins to appear on the spine side of the page
\setflowframe*{main}{margin=inner}
@@ -226,9 +236,12 @@ backcolor=blue,textcolor=white,style=footstyle,pages=none}
\setlength{\parindent}{0pt}%
\setlength{\parskip}{0pt plus .3pt}%
\let\item\@idxitem}{%
+\afterpage{%
\setflowframe*{main}{pages=all}%
\setflowframe{>1}{pages=none}%
-\finishthispage}
+}
+\finishthispage
+}
\makeatother
\begin{document}
@@ -237,9 +250,9 @@ backcolor=blue,textcolor=white,style=footstyle,pages=none}
\dfswapoddeven*{chaphead}
\title{Creating Flow Frames for Posters, Brochures or
-Magazines using flowfram.sty v 1.02}
+Magazines using flowfram.sty v 1.07}
\author{Nicola L. C. Talbot}
-\date{24th November 2005}
+\date{9th March 2007}
\pagenumbering{alph}
\maketitle
@@ -284,10 +297,10 @@ 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, all rectangular
-in shape with dimensions and positions specified by the
+\gls{flow}s, \gls{static}s and \gls{dynamic}s with dimensions and
+positions specified by the
user\footnote{Can I have arbitrary shaped frames? See
-\autoref{itm:parshape} on page~\pageref{itm:parshape}}.
+\autoref{sec:parshape}}.
The main contents of the document environment flow from
one \gls{flow} to the next in the order of definition,
whereas the contents of the static and dynamic frames
@@ -323,12 +336,7 @@ of the arbitrary layout of the flow frames.}.
This package has only been tested with a limited number of
class files and packages. Since it modifies the output routine,
it is likely to conflict with any other package which also
-does this. The \sty{flowfram} package works fine with
-\appname{pdflatex}, \appname{latex} and \appname{dvips},
-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 Distiller.
+does this.
You should load \sty{flowfram} \emph{after} \sty{hyperref}
and any colour package (e.g.\ \sty{color}).
@@ -415,8 +423,7 @@ 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}.}
+shaped frames? See \autoref{sec:parshape}.}
\chapter{Defining New Frames}
@@ -437,7 +444,10 @@ a new \gls{flow} use:\\[10pt]
where \meta{width} is the width of the \gls{frame}, \meta{height}
is the height of the \gls{frame}, (\meta{x},\meta{y}) is the
position of the bottom left hand corner of the \gls{frame}
-relative to the bottom left hand corner of the \gls{typeblock}.
+relative to the bottom left hand corner of the
+\gls{typeblock}\footnote{See \autoref{itm:absval} on
+page~\pageref{itm:absval} if you want to convert from absolute
+page co-ordinates to co-ordinates relative to the typeblock}.
The first optional argument, \meta{page list}, indicates the
list of pages for which this \gls{frame} is defined.
@@ -488,8 +498,8 @@ defined in \autoref{sec:modattr}} (i.e.\ this one.)
You can force text to move immediately to the next defined
\gls{flow} using one of the commands: \cmdname{newpage},
-\cmdname{clearpage}, \cmdname{pagebreak} or \cmdname{framebreak}.
-The first three work in an analogous way to the way they
+\cmdname{pagebreak} or \cmdname{framebreak}.
+The first two work in an analogous way to the way they
work in standard two column mode. The latter,
\cmdname{framebreak}, is required
when a paragraph spans two \useGlosentry{flow}{flow frames}
@@ -500,7 +510,8 @@ result, the end of the paragraph at the beginning of the new
\gls{flow} retains the width of the previous \gls{flow}.
If you want to start a new page, rather than simply move to the
-next \gls{frame}, use the command \cmdname{finishthispage},
+next \gls{frame}, use the command \cmdname{finishthispage}
+or \cmdname{clearpage},
or for two-sided documents, to start on the next odd page
do \cmdname{cleardoublepage}.
@@ -517,6 +528,10 @@ explicitly changed. Thus, a \gls{static} can be used, for
example, to make a company logo appear in the same place on every
page.
+As from version 1.03 it is now possible to have
+\gls{static}s with non-rectangular contents, see
+\autoref{sec:parshape} for further details.
+
A new \gls{static} is defined using the command:\\[10pt]
\cmdname{newstaticframe}\verb/[/\meta{page list}\verb+]{+%
\meta{width}\verb/}{/%
@@ -570,6 +585,10 @@ are re-typeset on each page. (A \gls{static} stores its
contents in a savebox, whereas a \gls{dynamic} stores its
contents in a macro).
+As from version 1.03 it is now possible to have
+\gls{dynamic}s with non-rectangular contents, see
+\autoref{sec:parshape} for further details.
+
To create a new \gls{dynamic}, use the command:\\[10pt]
\cmdname{newdynamicframe}\verb/[/\meta{page list}\verb+]{+%
\meta{width}\verb/}{/%
@@ -631,6 +650,68 @@ create two \gls{dynamic}s with \IDL{}s \texttt{header} and
you can then move or resize the header and footer using
\cmdname{setdynamicframe} (described next).
+\section{Determining the Location of the Typeblock}
+\label{sec:typeblockloc}
+
+As mentioned above, when you create new \useGlosentry{frame}{frames},
+you must specify their location relative to the \gls{typeblock}, but
+what if you want to position a \gls{frame} a set distance from the
+edge of the paper? The \sty{flowfram} package provides the following
+commands that compute the distance from the \gls{typeblock} to the
+paper boundary:
+
+\begin{itemize}
+\item \cmdname{computeleftedgeodd}\verb"{"\meta{length}\verb"}"
+
+Compute the position of the left edge of the (odd) page, relative to
+the left side of the \gls{typeblock}, and store the result in
+\cmdname{length}.
+
+\item \cmdname{computeleftedgeeven}\verb"{"\meta{length}\verb"}"
+
+As above, but for even pages.
+
+\item \cmdname{computetopedge}\verb"{"\meta{length}\verb"}"
+
+Compute the top edge of the page, relative to the bottom of the
+\gls{typeblock}, and store the result in \meta{length}.
+
+\item \cmdname{computebottomedge}\verb"{"\meta{length}\verb"}"
+
+Compute the bottom edge of the page, relative to the bottom of the
+\gls{typeblock}, and store the result in \meta{length}
+
+\item \cmdname{computerightedgeodd}\verb"{"\meta{length}\verb"}"
+
+Compute the position of the right edge of the (odd) page, relative to
+the left side of the \gls{typeblock}, and store the result in
+\cmdname{length}.
+
+\item \cmdname{computerightedgeeven}\verb"{"\meta{length}\verb"}"
+
+As above, but for even pages.
+\end{itemize}
+
+Note that in all cases, \meta{length} should be a \LaTeX\ length
+command.
+
+For example, if you want to create a frame whose bottom
+left corner is one inch from the left edge of the page
+and half an inch from the bottom edge of the page (this
+assumes odd and even pages have the same margins):
+\begin{verbatim}
+% define two new lengths to represent the x and y coords
+\newlength{\myX}
+\newlength{\myY}
+% compute the distance from the typeblock to the paper edge
+\computeleftedgeodd{\myX}
+\computebottomedge{\myY}
+% Add the absolute co-ordinates to get co-ordinates
+% relative to the typeblock
+\addtolength{\myX}{1in}
+\addtolength{\myY}{0.5in}
+\end{verbatim}
+
\chapter{Modifying Frame Attributes}
\label{sec:modattr}
@@ -728,6 +809,13 @@ document is two-sided.
\gls{frame} for all odd pages on which it is defined,
if the document is two-sided.
+\item[\key{valign}=\meta{pos}] Change the vertical alignment
+of material inside a \staticordynamic. The value \meta{pos}
+may be one of: \texttt{c}, \texttt{t} or \texttt{b}.
+The default for \gls{static}s is \texttt{c}, the default
+for \gls{dynamic}s is \texttt{t}.
+This key is not available for \gls{flow}s.
+
\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 will be given a label identical to its \IDN.) This key is
@@ -863,8 +951,151 @@ This setting is only available for \gls{dynamic}s.
\gls{frame} by \meta{n} degrees (new to
version 1.02). Note that the \gls{bbox}es will not
appear rotated.
+
+\item[\key{shape}=\meta{shape command}] Define a shape for
+the contents of a \gls{static} or \gls{dynamic} (new
+to version 1.03). If \meta{specs} is \cmdname{relax}, it will be
+a standard rectangle. See \autoref{sec:parshape} for further
+details.
+\end{description}
+
+\section{Non-Rectangular Frames}
+\label{sec:parshape}
+
+As from version 1.03, it is now possible to specify
+non-rectangular \staticordynamic{}s (but not \gls{flow}s). Note
+that the
+\gls{bbox} will still appear as a rectangle despite the
+\gls{frame}'s shape setting. You may use either \TeX's
+\cmdname{parshape} command, or the \cmdname{shapepar}
+command defined in Donald~Arseneau's \sty{shapepar}
+package (if using \cmdname{shapepar}, remember to include
+the \sty{shapepar} package.)
+
+Note that it is better to use \cmdname{parshape} instead
+of \cmdname{shapepar} as the latter is more restrictive and
+requires more processing.
+\begin{description}
+\item[\cmdname{parshape}]
+With \cmdname{parshape} you can not have cut-outs in the middle,
+top or bottom of a frame, however it is possible to have cut-outs
+in the left or right side of the \gls{frame}. When used with the
+\key{shape} key for \staticordynamic{}s, the effects of
+\cmdname{par} and the sectioning commands are modified to allow
+the paragraph shape to extend beyond a single paragraph, and
+to allow sectioning commands (but not \cmdname{chapter}
+or \cmdname{part}).
+
+\item[\cmdname{shapepar}] With \cmdname{shapepar} you may
+have cut-outs, but you may not have any sectioning commands,
+paragraph breaks, vertical spacing or mathematics. You can
+simulate a paragraph break using \cmdname{simpar}, but this
+is not recommended. The size of the shape depends on the
+amount of text, so the shape will expand or contract as you
+add or delete text. See the \sty{shapepar} documentation for
+more details.
\end{description}
+To restore a \gls{frame} to its default rectangular setting use
+\key{shape}=\cmdname{relax}.
+
+For those unfamiliar with \TeX's \cmdname{parshape} command,
+the syntax is as follows:\\[10pt]
+\cmdname{parshape}=$n$ $i_1$ $l_1$ $i_2$ $l_2$ \ldots\ $i_n$ $l_n$\\[10pt]
+where $n$ is the number of ($i_j$ $l_j$) pairs and
+$i_j$ specifies the left indentation for the $j$th
+line and $l_j$ specifies the length of the $j$th line.
+
+The \gls{static} on the top left
+was assigned a zigzag shape using:
+\setstaticframe*{shapedb,shapedt}{pages=all}
+\begin{verbatim}
+\setstaticframe*{shapedb}{shape={\parshape=20
+0.6\linewidth 0.4\linewidth 0.5\linewidth 0.4\linewidth
+0.4\linewidth 0.4\linewidth 0.3\linewidth 0.4\linewidth
+0.2\linewidth 0.4\linewidth 0.1\linewidth 0.4\linewidth
+0pt 0.4\linewidth 0.1\linewidth 0.4\linewidth
+0.2\linewidth 0.4\linewidth 0.3\linewidth 0.4\linewidth
+0.4\linewidth 0.4\linewidth 0.5\linewidth 0.4\linewidth
+0.6\linewidth 0.4\linewidth 0.5\linewidth 0.4\linewidth
+0.4\linewidth 0.4\linewidth 0.3\linewidth 0.4\linewidth
+0.2\linewidth 0.4\linewidth 0.1\linewidth 0.4\linewidth
+0pt 0.4\linewidth 0.1\linewidth 0.4\linewidth
+}}
+\end{verbatim}
+\setstaticframe*{shapedt}{shape={\parshape=20
+0.6\linewidth 0.4\linewidth
+0.5\linewidth 0.4\linewidth
+0.4\linewidth 0.4\linewidth
+0.3\linewidth 0.4\linewidth
+0.2\linewidth 0.4\linewidth
+0.1\linewidth 0.4\linewidth
+0pt 0.4\linewidth
+0.1\linewidth 0.4\linewidth
+0.2\linewidth 0.4\linewidth
+0.3\linewidth 0.4\linewidth
+0.4\linewidth 0.4\linewidth
+0.5\linewidth 0.4\linewidth
+0.6\linewidth 0.4\linewidth
+0.5\linewidth 0.4\linewidth
+0.4\linewidth 0.4\linewidth
+0.3\linewidth 0.4\linewidth
+0.2\linewidth 0.4\linewidth
+0.1\linewidth 0.4\linewidth
+0pt 0.4\linewidth
+0.1\linewidth 0.4\linewidth
+}}
+
+\begin{staticcontents*}{shapedt}
+This is an example of a static frame with a non-rectangular
+shape. This zigzag shape was specified using the \key{shape}
+key setting in \cmdname{setstaticframe}. The \cmdname{parshape}
+command was used to set the shape.
+
+Using the \key{shape} key rather than explicitly using
+\cmdname{parshape} within the \env{staticcontents} environment
+means that I can have paragraph breaks, sectioning commands,
+and even some mathematics
+\begin{equation}
+E=mc^2
+\end{equation}
+whilst retaining the shape.
+\end{staticcontents*}
+
+The syntax for \cmdname{shapepar} is more complicated, see
+the \sty{shapepar} documentation for more details. In general:\\[10pt]
+\cmdname{shapepar}\{\meta{shape specs}\}\\[10pt]
+The \sty{shapepar} package has four predefined shapes:
+\cmdname{squareshape}, \cmdname{diamondshape},
+\cmdname{heartshape} and \cmdname{nutshape}.
+
+The \gls{static} on the bottom left was assigned a heart shape
+using the command:
+\begin{verbatim}
+\setstaticframe*{shapedb}{shape={\shapepar\heartshape}}
+\end{verbatim}
+To reset the frame back to its original rectangular shape
+do:
+\begin{verbatim}
+\setstaticframe*{shapedb}{shape=\relax}
+\end{verbatim}
+
+\afterpage{\setstaticframe*{shapedt,shapedb}{pages=none}}
+\setstaticframe*{shapedb}{shape={\shapepar\heartshape}}
+\begin{staticcontents*}{shapedb}
+This example has a more complicated shape that can not
+be generated using \TeX's \cmdname{parshape} command, so
+\cmdname{shapepar} was used instead. Note that this document
+must include the \sty{shapepar} package in this instance,
+whereas no extra packages are required to use \cmdname{parshape}.
+No mathematics or sectioning commands are allowed here.
+The shape will expand as more text is added to it.
+\end{staticcontents*}
+
+The \sty{flowfram} package currently does not support any other
+paragraph shape making commands. Any other commands would
+have to be used explicitly within the contents of the frame.
+
\chapter{Predefined Layouts}
\label{sec:layouts}
@@ -915,8 +1146,8 @@ A more general form of \cmdname{twocolumninarea} making
\section{Column Styles with an Additional Frame}
-As well as the column style of \gls{flow}s defined in
-the previous section, it is also possible to define
+As well as the column style of \gls{flow}s defined
+above, it is also possible to define
\meta{n} columns with an additional frame spanning either
above or below them. There will be a vertical gap of
approximately\footnote{It may not be exact, as the \gls{flow}s
@@ -1276,7 +1507,7 @@ To just change the settings for the thumbtab index, use
\cmdname{setthumbtabindex}\verb"{"\meta{n}\verb"}{"\meta{key value list}\verb"}". The \meta{key value list} for both these
commands is the same as that for \cmdname{setdynamicframe}.
-By default, the thumbtabs are given a grey background. In this
+By default, the thumbtabs have a grey background. In this
document, I have used:
\begin{verbatim}
\setthumbtab{1}{backcolor=[rgb]{0.15,0.15,1}}
@@ -1381,6 +1612,20 @@ This is the width of the \gls{frame}'s border, if using
a border given by a \useGlosentry{fcmd}{frame}
\useGlosentry{fcmd}{making command} that uses \cmdname{fboxsep}
to set its border width (e.g.\ \cmdname{fbox}).
+
+\item \cmdname{sdfparindent}
+This is the paragraph indentation within \staticordynamic{}s.
+The default value is 0pt.
+
+\item \cmdname{vcolumnsep}
+This is the approximate vertical distance between the top frame
+and the column frames when using \cmdname{Ncolumnhead} etc.
+(The height of the \gls{flow} may be adjusted to make it
+an integer multiple of \cmdname{baselineskip}.)
+
+\item \cmdname{columnsep}
+This is the horizontal distance between the column frames
+when using \cmdname{Ncolumn} or \cmdname{Ncolumnhead} etc
\end{itemize}
\chapter{Troubleshooting}
@@ -1428,16 +1673,18 @@ for some arbitrary format.
\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.)
+You can assign certain irregular shapes to \staticordynamic{}s,
+using the \key{shape} key (see \autoref{sec:parshape}).
+Note that the \gls{bbox} will still appear as a rectangle with
+the dimensions of the given \gls{frame} which may not correspond
+to the assigned shape.
+This function is not available for \gls{flow}s.
\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
+of the \staticordynamic, 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
@@ -1482,6 +1729,26 @@ overfull hbox that's causing the text to poke out the side of the
\item Why do I get lots of overfull hbox messages?
Probably because you have narrow \gls{frame}s.
+
+\item What happens if I use a command or environment
+that switches to two-column mode (e.g. \env{theindex})?
+
+As from version 1.01, any \cmdname{onecolumn} or
+\cmdname{twocolumn} commands that occur outside of the
+preamble will print the contents of the optional argument,
+and issue a warning. It is recommended that you set up
+your own frames for use in the index.
+
+\item How do I change the vertical alignment
+of material inside a \staticordynamic?
+
+Use the \key{valign} key in \cmdname{setstaticframe} or
+\cmdname{setdynamicframe} (new to version 1.03).
+
+\item\label{itm:absval} How do I compute the distance from the edge
+of the page instead of the typeblock?
+
+See \autoref{sec:typeblockloc}.
\end{enumerate}
\section{Unexpected Output}
@@ -1510,8 +1777,18 @@ offset using the \texttt{offset} key (see \autoref{sec:modattr}).
\item I have a vertical white strip along the right hand side
of every page.
-This occurs if you use \appname{ps2pdf} of \appname{dvipdf}.
-Try using \appname{pdflatex} instead.
+This can happen if you have, say, an A4 document, and ghostscript
+has letter as the default paper size. You can change the default
+paper size by editing the file \verb|gs_init.ps|. Change:
+\begin{verbatim}
+% Optionally choose a default paper size other than U.S. letter.
+% (a4)
+\end{verbatim}
+to:
+\begin{verbatim}
+% Optionally choose a default paper size other than U.S. letter.
+(a4)
+\end{verbatim}
\item I don't have any output.
@@ -1520,7 +1797,8 @@ 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
+outside of them, just do \verb|\mbox{}\finishthispage|.
+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.
@@ -1529,6 +1807,36 @@ document contains some text.
See the previous answer.
+\item There is no paragraph indentation inside my
+\staticordynamic{}s.
+
+The paragraph indentation in \staticordynamic{}s is governed
+by the length \cmdname{sdfparindent} which is set to 0pt by
+default. To make the indentation the same as that used by
+\gls{flow}s place the following in the preamble:
+\begin{verbatim}
+\setlength{\sdfparindent}{\parindent}
+\end{verbatim}
+
+\item My section numbering is in the wrong order
+
+Remember that the contents of the \gls{dynamic}s are not set
+until the page is shipped out, and the contents will be set
+in the order of \IDN, so if you have any sectioning commands
+occuring within \gls{dynamic}s, they may not be set in the same
+order as they are in your input file.
+
+\item The contents of my \staticordynamic\ have shifted
+to the left when I used \cmdname{parshape}
+
+This will happen if your \cmdname{parshape} specification
+exceeds the linewidth. For example:
+\begin{verbatim}
+\parshape=1 0.4\linewidth 0.7\linewidth
+\end{verbatim}
+This specifies a line with overall length
+\verb"1.1\linewidth" which is too long.
+
\end{enumerate}
\section{Error Messages}
@@ -1583,8 +1891,7 @@ or \texttt{false}.
\item \verb/Key 'clear' not available/
-The \texttt{clear} key is only available for static
-and dynamic \gls{frame}s.
+The \texttt{clear} key is only available for \staticordynamic{}s.
\item \verb/Key 'style' not available/
@@ -1594,6 +1901,10 @@ The \texttt{style} key is only available for \gls{dynamic}s.
The \texttt{margin} key is only available for \gls{flow}s.
+\item \verb/Key 'shape' not available/
+
+The \texttt{shape} key is only available for \staticordynamic{}s.
+
\item \verb/Dynamic frame style '/\meta{style}\verb+' not defined+
The specified style \meta{style} must be the name of a command
@@ -1609,8 +1920,8 @@ the initial backslash.
\item \verb/Not in outer par mode/
You can not have floats (such as figures, tables or marginal
-notes) in \gls{static}s or \gls{dynamic}s. If you want
-a figure or table within a \gls{static} or \gls{dynamic}
+notes) in \staticordynamic{}s. If you want
+a figure or table within a \staticordynamic\
use \env{staticfigure} or \env{statictable}.
\item \verb/Somethings wrong---maybe missing \item/
@@ -1621,22 +1932,6 @@ 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
diff --git a/Master/texmf-dist/doc/latex/flowfram/flowfram.pdf b/Master/texmf-dist/doc/latex/flowfram/flowfram.pdf
index 16c8158c4f4..e2996344b57 100644
--- a/Master/texmf-dist/doc/latex/flowfram/flowfram.pdf
+++ b/Master/texmf-dist/doc/latex/flowfram/flowfram.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/brochure.pdf b/Master/texmf-dist/doc/latex/flowfram/samples/brochure.pdf
index 20e7a020554..f02e4cb97b4 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/brochure.pdf
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/brochure.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/brochure.tex b/Master/texmf-dist/doc/latex/flowfram/samples/brochure.tex
index 4bb569993dc..f5f1fdedd18 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/brochure.tex
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/brochure.tex
@@ -81,8 +81,10 @@ or magazines or any other form of document that does not
conform to the standard one or two column layout.
This is a modified version of the manual for the \textsl{flowfram} package.
-It is intended to illustrated what can be done. See the full manual for
-a comprehensive description.
+It is intended to illustrated what can be done. See the full
+manual (ffuserguide.pdf) for
+a comprehensive description, as some parts of this document
+may now be out of date.
If the columns are very narrow, it may be better to
use \cmdname{raggedright}, otherwise \TeX\ may have a
problem working out the line breaks.
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/egg.png b/Master/texmf-dist/doc/latex/flowfram/samples/egg.png
index 0f12191056a..f67b013c345 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/egg.png
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/egg.png
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/news.pdf b/Master/texmf-dist/doc/latex/flowfram/samples/news.pdf
index 1d33cec89ca..2a9dd9cc99d 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/news.pdf
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/news.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/news.tex b/Master/texmf-dist/doc/latex/flowfram/samples/news.tex
index 0c2c6f341b8..bb2d8192f5a 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/news.tex
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/news.tex
@@ -115,6 +115,7 @@
\onecolumn[>1] % for any text that falls off the last page
\setcounter{secnumdepth}{0}
+\pagestyle{empty}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/news2.pdf b/Master/texmf-dist/doc/latex/flowfram/samples/news2.pdf
new file mode 100644
index 00000000000..22223c09857
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/news2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/news2.tex b/Master/texmf-dist/doc/latex/flowfram/samples/news2.tex
new file mode 100644
index 00000000000..c5e404241d9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/news2.tex
@@ -0,0 +1,231 @@
+\documentclass[12pt]{article}
+
+\usepackage{graphicx}
+\usepackage{color}
+\usepackage{flowfram}
+\usepackage[a4paper,margin=20mm]{geometry}
+
+% define lengths to help compute positions
+\newlength\leftX
+\newlength\leftY
+\newlength\leftH
+\newlength\leftW
+
+\newlength\rightX
+\newlength\rightY
+\newlength\rightH
+\newlength\rightW
+
+% Create a static frame to put title in
+\setlength{\leftH}{3cm}
+\setlength{\leftY}{\textheight}
+\addtolength{\leftY}{-\leftH}
+
+\newstaticframe[1]{\textwidth}{\leftH}{0pt}{\leftY}[title]
+
+% Create left hand frame. This will have an L shape
+
+\setlength{\leftH}{13cm}
+\adjustheight{\leftH}
+\addtolength{\leftY}{-\leftH}
+
+\newstaticframe[1]{\textwidth}{\leftH}{0pt}{\leftY}[L]
+\setstaticframe*{L}{shape={\parshape=24
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt 0.5\linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+}}
+
+% egg picture
+
+\addtolength{\rightY}{\leftY}
+\addtolength{\rightY}{73mm}
+\setlength{\rightW}{1.1in}
+\setlength{\rightH}{1.5in}
+\setlength{\rightX}{\textwidth}
+\addtolength{\rightX}{-\rightW}
+\newstaticframe[1]{\rightW}{\rightH}{\rightX}{\rightY}[egg]
+
+% set contents
+\setstaticcontents*{egg}{\includegraphics[scale=2]{egg}}
+
+% Right hand static frame
+
+\setlength{\rightX}{0.5\textwidth}
+\addtolength{\rightX}{\columnsep}
+\setlength{\rightW}{\textwidth}
+\addtolength{\rightW}{-\rightX}
+\setlength{\rightY}{\leftY}
+\addtolength{\rightY}{2.8cm}
+\setlength{\rightH}{\leftH}
+\addtolength{\rightH}{-2.8cm}
+
+\newstaticframe[1]{\rightW}{\rightH}{\rightX}{\rightY}[right]
+
+\setstaticframe*{right}{shape={\parshape=15
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt 0.75\linewidth
+0pt 0.65\linewidth
+0pt 0.75\linewidth
+0pt 0.8\linewidth
+0pt 0.8\linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+0pt \linewidth
+}}
+
+% insert vertical and horizontal rules, can't use
+% \insertrule as left hand
+% frame is actually the width of the typeblock
+\addtolength{\rightX}{-0.5\columnsep}
+\newstaticframe[1]{0pt}{\rightH}{\rightX}{\rightY}[Lrule]
+\setstaticcontents*{Lrule}{\makebox[0pt][l]{%
+\rule{\columnseprule}{\rightH}\rule{\rightW}{\columnseprule}}}
+
+% middle heading
+
+\setlength{\leftH}{2cm}
+\addtolength{\leftY}{-\leftH}
+
+\newstaticframe[1]{\textwidth}{\leftH}{0pt}{\leftY}[midhead]
+
+% insert horizontal rule
+\inserthrule*{static}{L}{static}{midhead}
+
+% flow frames
+\twocolumninarea{\textwidth}{\leftY}{0pt}{0pt}
+
+% static frame for sheep picture
+
+\newstaticframe[1]{1.6in}{1.6in}{0pt}{0pt}[sheep]
+
+% set contents
+\setstaticcontents*{sheep}{\includegraphics[scale=2]{sheep}}
+
+\setcounter{secnumdepth}{0}
+\setlength{\sdfparindent}{\parindent}
+
+\begin{document}
+\begin{staticcontents*}{title}
+\begin{center}
+\bfseries\Huge
+Fairy Tale Times
+\end{center}
+\hfill Issue 2. 7 December 2005.
+\end{staticcontents*}
+
+\begin{staticcontents*}{L}
+\section{Killer Wolf on the Loose}
+
+The authorites are warning of a killer wolf on the
+loose. He has so far devoured an old grandmother and
+two pig brothers. He is described as being furry with
+big eyes and big teeth.
+
+On Monday this week he broke into a house, and devoured
+an old lady. He then disguised himself as the old lady
+in order to deceive her granddaughter. Luckily for the little
+girl a woodsman arrived in time to rescue her. Parents are
+being cautioned not to let their children wander about on
+their own, and to remind them not to talk to strangers.
+
+The next day the wolf struck again, this time targeting two
+pig brothers who had most incautiously made their dwellings
+on the cheap using inadequate materials. The wolf also made
+an attempt on the third pig brother, but was unable to break
+into his house.
+
+Police are appealing to the public for witnesses, and remind
+people to keep their doors securely fastened at all times.
+``Always ask to see identification,'' said one police advisor,
+``and invest in improving the general security of your property.''
+\end{staticcontents*}
+
+\begin{staticcontents*}{right}
+\section{Tragic Wall Accident}
+
+An egg person tragically fell from a six foot wall yesterday
+afternoon and was smash\-ed to pieces. The king's cavalry rushed
+to the scene, but regretted that they were unable to help him.
+
+Humpty Dumpty was believed to be sitting on the wall when he fell. Police have ruled out foul play, but
+are advising people not to play on high walls, particularly
+those vulnerable members of the population suffering from
+eggshell syndrome.
+
+\small\em
+%Wall related incidents this year: page 3
+%
+Exclusive interview with one of the King's men on page 6
+\end{staticcontents*}
+
+\begin{staticcontents*}{midhead}
+\section{Relief as Missing Sheep Finally Return Home}
+\end{staticcontents*}
+
+There was much celebration yesterday morning when Little Bo
+Peep's sheep finally returned home. They had been missing
+for more than a week.
+
+``I just didn't know where to find them,'' the shepherdess
+stated, ``but I was told to leave them alone and they'd come
+home.''
+
+\parshape=8
+0pt \linewidth
+0pt \linewidth
+0.3\linewidth 0.7\linewidth
+0.3\linewidth 0.7\linewidth
+0.25\linewidth 0.75\linewidth
+0.25\linewidth 0.75\linewidth
+0pt \linewidth
+0pt \linewidth
+Unusual advice perhaps, but it seems to have worked
+as they did indeed come home. Eye witnesses reported that their
+tails were wagging behind them.
+``I'm just so happy they've come home,'' Little Bo Peep said
+in a press conference yesterday afternoon.
+The sheep themselves made no comment, and police are%
+\framebreak\parshape=0
+still trying to determine what happened to them.
+The big bad wolf is reportedly helping them with their inquiries.
+
+\noindent\hrulefill
+
+This is a sample document illustrating the
+flowfram package. It uses \TeX's \verb|\parshape| command
+to create irregularly shaped paragraphs. This can be a complicated
+and somewhat tiresome task, and is generally not recommended.
+Using the shapepar package provides you with more intricate
+shapes, but as its documentation says, it is not intended
+for use in large documents.
+
+\hfill Nicola Talbot
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/poster.pdf b/Master/texmf-dist/doc/latex/flowfram/samples/poster.pdf
index d482fe71644..f17725bcfea 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/poster.pdf
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/poster.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/poster.tex b/Master/texmf-dist/doc/latex/flowfram/samples/poster.tex
index 84354f43019..05fe2131f7d 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/poster.tex
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/poster.tex
@@ -90,9 +90,10 @@
\end{staticfigure}
\end{staticcontents*}
-This is a modified version of the manual for the \sty{flowfram} package.
-It is intended to illustrated what can be done. See the full manual for
-a comprehensive description. The commands used to define the frames for
+This is a modified version of the manual for the \sty{flowfram}
+package. It is intended to illustrated what can be done. See the
+full manual (ffuserguide.pdf) for
+a comprehensive description, as this may now be out of date. The commands used to define the frames for
this document are shown in Figure~\ref{fig:thisdoc}.
If the columns are very narrow, it may be better to
use \cmdname{raggedright}, otherwise \TeX\ may have a
diff --git a/Master/texmf-dist/doc/latex/flowfram/samples/sheep.png b/Master/texmf-dist/doc/latex/flowfram/samples/sheep.png
index 297c6ce77b5..d7cb3517613 100644
--- a/Master/texmf-dist/doc/latex/flowfram/samples/sheep.png
+++ b/Master/texmf-dist/doc/latex/flowfram/samples/sheep.png
Binary files differ