diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/floatflt/floatfge.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/floatflt/floatfge.tex | 317 |
1 files changed, 0 insertions, 317 deletions
diff --git a/Master/texmf-dist/doc/latex/floatflt/floatfge.tex b/Master/texmf-dist/doc/latex/floatflt/floatfge.tex deleted file mode 100644 index 97786326466..00000000000 --- a/Master/texmf-dist/doc/latex/floatflt/floatfge.tex +++ /dev/null @@ -1,317 +0,0 @@ -%% -%% This is file `floatfge.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% floatflt.dtx (with options: `gammalkod') -%% -%% Copyright (c) 1994-1998 by Mats Dahlgren <matsd@sssk.se>. -%% All rights reserved. See the file `floatflt.ins' for information -%% on how you may (re-)distribute the `floatflt' package files. -%% You are not allowed to make any changes to this file without -%% explicit permission from the author. -%% - \documentclass[11pt]{article} - % - \textheight=1.1\textheight - \textwidth=1.15\textwidth - \oddsidemargin=0pt - \evensidemargin=0pt - % - \begin{document} - % - \title{\LaTeX-Paragraphs Floating around Figures} - \author{{\it Thomas Kneser}\\{\footnotesize - Gesellschaft f\"ur wissenschaftliche Datenverarbeitung - mbH G\"ottingen, FRG}} - \date{August 20, 1990} - \maketitle - % - \begin{abstract} - % - \noindent Frequently figures do not fill the full pagewidth. - If the width of such figures is only half of the - pagewidth or even less, - textlines should be set beside the figures, - or -- from another point of view -- figures should `float' - in paragraphs. - This article presents the \LaTeX{} style option {\tt FLOATFIG} - which can be used to set such Floating Figures as easily - as \LaTeX's standard figures. - \end{abstract} - % - \section{The name of the game} - The macros which make up the {\tt FLOATFIG} style option - are based on PLAIN-\TeX\ macros developed by Thomas Reid - (TUGBoat Vol. 8 \# 3 page 315), who pointed out - how to set figures - {\bf right justified} with paragraphs floating around them. - For such objects - Th. Reid has chosen the term `Floating Figures'. - - This choice might cause some confusion, - when we adapt these macros for \LaTeX, - since Leslie Lamport uses the term `float' for objects - which are realized as \TeX-\verb+\inserts+. - While L. Lamports floats are floating in `main vertical list', - floats introduced by Th. Reid - are floating in paragraphs. - For the following we adopt the latter meaning. - \section{How to use it} - The Floating Figures style option is fully compatible with - \LaTeX's standard figure facility: - \begin{enumerate} - \item Floating Figures and standard figures may be requested - in any sequence, - \item Floating Figures can be captioned like standard figures, - \item captioned Floating Figures are inserted in the list of figures - which may be printed by the standard - \verb+\listoffigures+ command. - \end{enumerate} - A Floating Figure may be requested as follows: - \begin{verbatim} - \documentstyle[floatfig]{article} - \begin{document} - \initfloatingfigs - . - . - \begin{floatingfigure}{5.6cm} - \vspace{6.cm} - \caption{Intermolecular potential K-Xe}% optional ! - \end{floatingfigure} - . - . - \end{document} - \end{verbatim} - where {\tt 5.6cm} specifies the width of the figure space. - A Floating Figure may only be requested in vertical mode, that is - between paragraphs. - - A Floating Figure will be set as soon as possible after its request - has be encountered by \TeX. - That means, - it will be tested if there is enough vertical space - on the current page; - otherwise the figure moves to the next page. - - Floating Figures are set {\bf alternating}, - that is on the right hand side on odd and - on the left hand side on even numbered pages. - % - \subsection{Restrictions} - \begin{enumerate} - \item The {\tt FLOATFIG} style option may not be combined with the - {\tt TWOCOLUMN} style option, - \item a Floating Figure will never appear in a paragraph - which begins on top of a page. - \end{enumerate} - % - \section{About the internals} - % - We have extended the macros designed by Th.~Reid with regard to: - \begin{enumerate} - \item implantation into the \LaTeX{} context, - \item alternating setting of Floating Figures as explained above, - \item generation of warning messages for `collisions' of - two Floating Figures. - \end{enumerate} - % - \subsection{Implantation into the \LaTeX{} context} - The PLAIN-\TeX{} implementation by Th.~Reid - is based on a redefined \verb+\output+ routine: - % - \begin{verbatim} - \edef\oldoutput{\the\output}% - \output={\the\outputpretest\ifoutput\oldoutput\fi} - \outputpretest={\outputtrue} - \end{verbatim} - % - If a Floating Figure is requested, - the content of the - \verb+\outputpretest+ token register is prepared to decide: - \begin{enumerate} - \item if there is enough vertical space to set the Floating Figure, - \item if setting of a Floating Figure is in progress or - \item if indeed the current page has to be sent to the DVI file. - \end{enumerate} - % - In general, \TeX{} has to deal with more than one paragraph until - a Floating Figure will be completely processed. - During this process - the redefined \verb+\output+ routine is - called at the begin of {\bf every} paragraph; - this is done indirectly - by expanding the control sequence \verb+\tryfig+. - Therefore, the \verb+\everypar+ token - list is prepared by the following command sequence: - \begin{verbatim} - \edef\oldeverypar{\the\everypar} - \everypar={\tryfig\oldeverypar} - \end{verbatim} - Now \verb+\tryfig+ triggers the (modified) - \verb+\output+ routine, which then does the decisions - and actions mentioned above. - - Adopting this concept when using the macros in the \LaTeX{} context, - we are faced with the following problems: - \begin{enumerate} - \item At the time \hbox{\tt FLOATFIG.STY} is read in, - the \verb+\output+ routine is still undefined; - its definition is retarded until - \verb+\begin{document}+ will be expanded; - so the redefinition of the \verb+\output+ routine has to be - done after \verb+\begin{document}+ - by the command \verb+\initfloatingfigs+ - (see section `Known Problems' below). - \item There are situations where - \LaTeX{} decides to redefine the \verb+\everypar+ token list - without saving of the former content; - this occurs for instance when expanding - a \verb+\section+ control sequence. - We overcome this by redefining \verb+\everypar+ whenever - the \verb+\floatingfigure+ environment is entered. - % - Hence to avoid problems, a Floating Figure should be requested - early enough before any sectioning control sequence - (see also subsection `Misleading collision warnings').\hfil\break - % - Furthermore, the concurrent definitions of - \verb+\everypar+ are the reason why - Floating Figures cannot move across section boundaries. - \end{enumerate} - % - \subsection{Alternating figure setting} - The problem to be solved - is to decide if a certain figure has to be set - left- or rightjustified. - This decision has to made according to - the value of the pagecount (left if even, right if odd). - That is we are dealing with the wellknown problem - to associate a certain part of input text with the number - of the page on which it will be set finally. - - As pointed out by D.E. Knuth in `The {\TeX}book' this association - is done not before \verb+\output+ routine time. - But the problem is not so hard to solve, - since in Th.~Reid's version there is already a modified - \verb+\output+ routine which decides if a certain figure will - fit on the current page. - As a by-product of this decision one easily gains - the information `odd' or `even' for the pagecount - of the current page. - So our problem reduces to the following simple decision: - \begin{verbatim} - \ifodd\count0 % - \hbox to \hsize{\hss\copy\figbox}% - \global\oddpagestrue - \else% leftsetting - \hbox to \hsize{\copy\figbox\hss}% - \global\oddpagesfalse - \fi% \ifodd\count0 - \end{verbatim} - % - \subsection{Collisions of Floating Figures} - We define a collision as a situation where: - \begin{enumerate} - \item a Floating Figure is requested before the predecessor - has been finished, - \item some sectioning is requested before a Floating Figure has been - finished. - \end{enumerate} - - While the {\tt FLOATFIG} style option cannot avoid such collisions, - it will recognize them. - For diagnostic purposes we have therefore defined - the switch \verb+\iffigprocessing+ and another count register called - \verb+\ffigcount+. - This count register is used to attach - a sequence number to each Floating Figure, - so they can be identified uniquely within collision warning messages. - These sequence numbers are not to be confused - with the figure count maintained by standard \LaTeX. - % - \section{Known Problems} - \subsection{Need of Initialization} - The present version of the style option needs to be initialized - by control sequence - {\tt\verb+\initfloatingfigs+} as mentioned above.\footnote{% - This is not needed with \LaTeXe{}. /MD} - - We hope a later version will initialize itself, - when the first request to a Floating Figure is encountered. - One problem with such an automatic initialization seems - to be, - that we are grouped down - since we are inside a \LaTeX{} environment. - Our first attempt failed - to make the respective settings \verb+\global+. - % - \subsection{Misleading collision warnings} - As mentioned above, Floating Figures do not move - across section boundaries. - If a Floating Figure is requested near a section end, - the figure will be truncated, - if it does not fit in the current section. - - If this occurs for instance with floating figure number~4, - a collision will be reported when the request for - floating figure number~5 is encountered; - so the respective warning message may be substantially retarded. - In fact, the message will tell us that there is a problem with figure~4, - but there will be no further hint. - So one has to analyze `by hand' that the problem is {\bf not} caused - by collision with figure~5 but with a section heading; - even worse: if there is no floating figure~5, one gets no warning message - at all. - - Furthermore, warning messages will be generated if a Floating Figure - ends in paragraph $n$ and the next one begins with paragraph $n+1$. - These warning messages are to be ignored; they are due to some retardation - caused by the \verb+\everypar+ mechanism. - % - \section{Conclusions} - Working on \texttt{FLOATFIG.STY} we had some unexpected problems - which were caused - by \LaTeX's somewhat unsafe assignments to the \verb+\everypar+ token list. - This is due to the fact that the use - of this token list is fundamental - to the algorithm designed by Th.~Reid. - On the other hand we did expect problems to couple - the Floating Figures with \LaTeX's figure caption adminstration, - that is to achieve a single figure caption numbering for - the standard figures and the Floating Figures and to get both types - listed by the \verb+\listoffigures+ control sequence. - % - But these problems could easily be solved - by the following local definiton within the {\tt FLOATFIG} environment: - \begin{verbatim} - \def\@captype{figure} - \end{verbatim} - Obviously this is due to the fact - that \LaTeX's caption apparatus is thoroughly parameterized. - - The \verb+FLOATFIG.STY+ file is stored in the - {\tt EARN/BITNET} listserver - in Heidelberg; \hfil\break - {\tt VM/CMS} users should enter the commands: - \begin{verbatim} - TELL LISTSERV AT DHDURZ1 GET LATEXSTY INDEX - TELL LISTSERV AT DHDURZ1 GET LATEXSTY README - TELL LISTSERV AT DHDURZ1 GET LATEXSTY FILELIST - TELL LISTSERV AT DHDURZ1 GET FLOATFIG ZOOUUE LATEXSTY - \end{verbatim} - to obtain information about how to obtain the style option file. -\subsection{Note by Mats Dahlgren} -Several features described in this document still apply to the -\LaTeXe\ \texttt{floatflt} package, whereas others do not. Please -run \LaTeX{} on \texttt{floatflt.dtx} twice and read the resulting -documentation before you use the package. -(This note was added on October 20, 1994; changed on December 27, -1994.) - - %\tableofcontents - \end{document} -\endinput -%% -%% End of file `floatfge.tex'. |