summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/floatrow
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2008-04-01 00:27:52 +0000
committerKarl Berry <karl@freefriends.org>2008-04-01 00:27:52 +0000
commit396c32d3bf0da9bc7b24122e15b65454634fe851 (patch)
treeb04e1f04598d0a16ab80286121c034d873a6dd65 /Master/texmf-dist/source/latex/floatrow
parent574b15599969a9b3af0008474d64951e647b6439 (diff)
floatrow 0.2c
git-svn-id: svn://tug.org/texlive/trunk@7271 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/floatrow')
-rw-r--r--Master/texmf-dist/source/latex/floatrow/floatrow.dtx7367
1 files changed, 4160 insertions, 3207 deletions
diff --git a/Master/texmf-dist/source/latex/floatrow/floatrow.dtx b/Master/texmf-dist/source/latex/floatrow/floatrow.dtx
index 7f4c2684946..12b27e04b44 100644
--- a/Master/texmf-dist/source/latex/floatrow/floatrow.dtx
+++ b/Master/texmf-dist/source/latex/floatrow/floatrow.dtx
@@ -27,12 +27,12 @@
%<forlongtable>\ProvidesPackage{fr-longtable}
%
% \ProvidesFile{floatrow.dtx}
-%<floatrow> [2007/08/24 v0.2a floatrow: float package extension]
-%<frfancy> [2005/05/24 v0.1h floatrow: fancy boxes]
+%<floatrow> [2008/03/28 v0.2c floatrow: float package extension]
+%<frfancy> [2007/11/28 v0.1i floatrow: fancy boxes]
%<floatpagestyle> [2005/10/02 v0.1h floating page style]
-%<listpen> [2007/05/24 v0.1b list penalty managing]
-%<frforsubfig> [2007/08/24 v0.1f (beta) floatrow: additions for subfig]
-%<forlongtable> [2007/05/24 v0.1a (beta) floatrow: additions for longtable]
+%<listpen> [2007/10/28 v0.1d list penalty managing]
+%<frforsubfig> [2007/12/24 v0.1g (beta) floatrow: additions for subfig]
+%<forlongtable> [2007/11/28 v0.1b (beta) floatrow: additions for longtable]
%
%<*driver>
\input pictures
@@ -50,8 +50,16 @@
\fi
\fi
\settowidth\marginparwidth{\texttt{0DeclareFloatFootnoterule}}
+\advance\oddsidemargin.25\marginparwidth
+\evensidemargin\oddsidemargin
\IfFileExists{titlesec.sty}{\usepackage[raggedright]{titlesec}}{}
+\let\FRorisection\section
+\let\FRorisubsection\subsection
+\let\FRorisubsubsection\subsubsection
+\def\section{\RestoreSpaces\FRorisection}
+\def\subsection{\RestoreSpaces\FRorisubsection}
+\def\subsubsection{\RestoreSpaces\FRorisubsubsection}
\IfFileExists{footmisc.sty}{\usepackage[perpage]{footmisc}}{}
@@ -84,17 +92,24 @@
\usepackage{picins}
%^^A\RequirePackage[writefile]{listings}[2004/09/07]
-\usepackage[font=small,captionskip=5pt,objectset=centering,margins=centering,
+\usepackage[font=small,captionskip=5pt,
footskip=.5\skip\footins,footnoterule=fullsize,
- floatrowsep=qquad,capbesidesep=quad,
- facing=yes,capbesideposition=inside,floatHaslist=yes,doublefloataswide=yes]{floatrow}
+ floatrowsep=qquad,capbesidesep=quad,capbesideposition=inside,
+ facing=yes,floatHaslist=yes,doublefloataswide=yes]{floatrow}
\usepackage{floatpagestyle,listpen}
\allowprelistbreaks[-4]
+\newseparatedlabel\Flabel{\@captype}{sub\@captype}
+\newseparatedref\Fref{,\,\textit}
\usepackage{fr-fancy}
-\IfFileExists{hyperref.sty}{\usepackage[
+\usepackage{color}
+\definecolor{gray}{gray}{.5}
+\definecolor{emphblue}{rgb}{0,0,0.5}
+\def\emphcolor{\color{emphblue}}
+
+\usepackage[
linktocpage,
hyperindex,%
plainpages=false,%
@@ -103,8 +118,9 @@
pdfview=FitH,
pdfstartview=FitH,
]{hyperref}
- \IfFileExists{hypcap.sty}{\usepackage{hypcap}}{}
-}{}
+\usepackage{hypcap}
+
+\def\@linkbordercolor{1 .5 .5}
\ifx\pdftexversion\undefined
\IfFileExists{pstricks.sty}{\usepackage{pstricks,pst-eps}}{}
@@ -123,31 +139,28 @@
\IfFileExists{makecell.sty}{\usepackage{makecell}}{}
-\@ifundefined{thead}%
- {\newcommand\thead[1]{\footnotesize\raisebox
+\@ifundefined{thead}{\newcommand\thead[1]{\footnotesize\raisebox
{0pt}[\height+\jot][\depth+\jot]{\begin{tabular}{@{}c@{}} #1\end{tabular}}}
%^^A For this documentation only
\def\multirowthead#1[#2]#3{\raisebox{-1.5ex}{\thead{#3}}}}{}
\IfFileExists{multirow.sty}{\usepackage{multirow}}{}
\IfFileExists{lscape.sty}{\usepackage{lscape}}{}
-\IfFileExists{color.sty}{\usepackage{color}\definecolor{gray}{gray}{.5}}{\let\color\@gobble}
-
\floatsetup[table]{style=Plaintop,footnoterule=none}
%^^A -----------------------
\floatstyle{ruled}
\newfloat{Program}{tbp}{lop}[section]
-\DeclareNewFloatType{Example}%
- {placement=tb,within=section,fileext=lox}
+\DeclareNewFloatType{Example}{placement=tb,
+ within=section,fileext=loe}
\newfloatcommand{fcapsideleft}{figure}[{\capbeside
- \captionsetup[capbesidefigure]{format=break,labelsep=none,
+ \captionsetup[capbesidefigure]{labelsep=newline,
justification=raggedleft}%
\thisfloatsetup{capbesideposition=left}}][\FBwidth]
\newfloatcommand{fcapsideright}{figure}[{\capbeside
- \captionsetup[capbesidefigure]{format=break,labelsep=none,
+ \captionsetup[capbesidefigure]{labelsep=newline,
justification=raggedright}%
\thisfloatsetup{capbesideposition=right}}][\FBwidth]
@@ -160,46 +173,42 @@
\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}}
-\DeclareMarginSet{hangleft}%
- {\setfloatmargins
+\DeclareMarginSet{hangleft}{\setfloatmargins
{\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}
-\DeclareMarginSet{hangtoheads}%
- {\setfloatmargins
+\DeclareMarginSet{hangtoheads}{\setfloatmargins
{\hfil}{\hskip-.7\headheight\hskip-\headsep}}
-\DeclareFloatSeparators{colorsep}%
- {\begingroup\color{blue}%
- \floatfacing{\hskip6pt\vrule width4.8pt\hskip6pt}%
- {\hskip6pt\vrule width4.8pt\hskip6pt}%
- \endgroup}
+\DeclareFloatSeparators{colorsep}{\begingroup\color{blue}
+ \hskip8pt\vrule width4.8pt\hskip8pt\endgroup}
\DeclareFloatSeparators{none}{}
\DeclareFloatSeparators{cicero}{\hskip1cc}
\DeclareFloatSeparators{enskip}{\hskip.5em}
+\DeclareFloatSeparators{marginparsep}{\hskip\marginparsep}
\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth}
+\DeclareColorBox{framedfigure}{\fcolorbox{gray}{white}}
+
%^^A -----------------------
-%^^A\DeclareCaptionFormat{labelonly}{#1}
-\DeclareCaptionLabelFormat{numonly}{#2)}
-\DeclareCaptionLabelFormat{list}{\bothIfFirst{#1}{ }#2)}
\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2}
-\DeclareCaptionFont{green}{\color{green}}
-\DeclareCaptionFont{magenta}{\color{magenta}}
-
\def\rightlast{\leftskip0ptplus1fil
\rightskip0ptplus-1fil\parfillskip0ptplus1fil}
\def\leftlast{\leftskip0pt\rightskip0pt\parfillskip0ptplus1fil}
%^^A for all versions of caption 3.x?
\DeclareCaptionLabelFormat{rightline}{\rightline{\bothIfFirst{#1}{ }#2}}
+\DeclareCaptionLabelFormat{continued}{\rightline{\bothIfFirst{#1}{ }#2 \textup{(\emph{Continued})}}}
+\DeclareCaptionLabelFormat{finished}{\rightline{\bothIfFirst{#1}{ }#2 \textup{(\emph{Finished})}}}
+
+\DeclareCaptionLabelFormat{thinspace}{\bothIfFirst{#1}{\,}#2}
+
\DeclareCaptionJustification{togglelast}{\floatfacing*\rightlast\leftlast}
+\DeclareCaptionJustification{rightlast}{\rightlast}
\captionsetup[table]{labelformat=rightline,textfont=bf,labelfont={md,sl},labelsep=newline}
\captionsetup[capbesidefigure]{justification=togglelast}
\captionsetup[floatfoot]{format=default}
-\DeclareCaptionFormat{break}{#1#2\par#3\par}
-
%^^A -----------------------
\advance\oddsidemargin.25\marginparwidth
@@ -213,8 +222,9 @@
\tolerance2000
\hbadness8000
\vbadness5000
+\hfuzz7pt
\def\l@subsection{\@dottedtocline {2}{1.5em}{2.7em}}
-\def\l@subsubsection{\@dottedtocline {3}{4.2em}{3.6em}}
+\def\l@subsubsection{\@dottedtocline {3}{4.2em}{3.9em}}
\newcommand\Resizebox[5]{\setbox0\hbox{\setlength\unitlength{#1/#3}%^^A
\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi{#5}}%^^A
@@ -231,27 +241,25 @@
\providecommand*{\meta}[1]{$\langle$\textit{#1}$\rangle$}
\newenvironment{Options}[1]%
- {\list{}{\renewcommand{\makelabel}[1]{\texttt{##1}\hfil}%
+ {\RestoreSpaces\list{}{\renewcommand{\makelabel}[1]{\texttt{##1}\hfil}%
\settowidth{\labelwidth}{\texttt{#1\space}}%
\setlength{\leftmargin}{\labelwidth}%
\addtolength{\leftmargin}{\labelsep}%
\setlength{\itemsep}{0pt}%
- \setlength{\parsep}{0pt}%
- }}%
+ \setlength{\parsep}{0pt}}}%
{\endlist}
-\newenvironment{Quote}{\par\RestoreSpaces\small\begin{quote}\obeylines\parskip0pt}{\end{quote}\par\@endpetrue}
+\newenvironment{Quote}[1][\parindent]{\par\hfuzz30pt\setlength{\leftmargini}{#1}\RestoreSpaces
+ \small\begin{quote}\obeylines\parskip0pt}{\end{quote}\par\@endpetrue}
\def\OptionLabel{RaggedRight}
-\DeclareRobustCommand\La{L\kern-.36em%
- {\sbox\z@ T%
- \vbox to\ht\z@{\hbox{\check@mathfonts
- \fontsize\sf@size\z@
- \math@fontsfalse\selectfont
- A}%
- \vss}%
- }%
- }
+\newenvironment{preamble}{{\emphcolor\meta{preamble}}\nopagebreak
+ \par\begingroup\advance\leftskip1em}{\par\endgroup{\emphcolor\nobreak\meta{preamble}}\par\vskip2ex}
+
+\newcommand\FRkey[2][setup]{\hyperref[#1:#2]{\texttt{#2}}}
+
+\DeclareRobustCommand\La{L\kern-.36em{\sbox\z@ T\vbox to\ht\z@{\hbox{\check@mathfonts
+ \fontsize\sf@size\z@\math@fontsfalse\selectfont A}\vss}}}
%maybe there is better solution?
\def\DescribeMacro{\let\outer@nobreak\@nobreaktrue
@@ -260,7 +268,6 @@
\def\DescribeEnv{\let\outer@nobreak\@nobreaktrue
\leavevmode\everypar{\@nobreakfalse}\@bsphack
\begingroup\MakePrivateLetters\Describe@Env}
-\def\RestoreSpaces{\@nobreakfalse}
\newcommand\FRmpar{\@ifstar{\@nobreaktrue\xFRmpar}{\xFRmpar}}
@@ -268,8 +275,6 @@
\raggedleft\advance\leftskip.3\hsize#1}}
\providecommand\sectionname{section}
-\def\SpecialUsageIndex#1{}
-\def\SpecialEnvIndex#1{}
\newcommand\seeIntro{\hyperref[sec:intro]{Intro}}
\makeatother%^^A---------------------------------
@@ -277,16 +282,20 @@
\OnlyDescription
\let\PrintChanges\relax
\let\PrintIndex\relax
+\def\SpecialUsageIndex#1{}
+\def\SpecialEnvIndex#1{}
\EnableCrossrefs
\RecordChanges
+%\makeindex
\begin{document}
\DocInput{floatrow.dtx}
\PrintChanges
+%\PrintIndex
\end{document}
%</driver>
% \fi
%
-% \CheckSum{5209}
+% \CheckSum{5094}
%
%
% \changes{v0.1e}{2005/03/22}{The user documentation loaded inside
@@ -296,8 +305,8 @@
%
% \ifx\pspicture\undefined\else\psset{unit=1pt}\fi
%
-% \def\fileversion{v0.2a}
-% \def\filedate{2007/08/24}
+% \def\fileversion{v0.2c}
+% \def\filedate{2008/03/28}
% \title{The \package{floatrow} package\thanks{This
% file has version number \fileversion, last revised
% \filedate.}}
@@ -312,35 +321,36 @@
% This package was created as extension of the \package{float}
% package. The \package{floatrow} package borrows core code from
% the \package{float}\footnote{\package{float} package, version v1.3d dated
-% 2001/11/08, \copyright{} 1991-2000 Anselm Lingnau.} and
+% 2001/11/08, \copyright{} 1991--2000 Anselm Lingnau.} and
% \package{rotfloat}\footnote{\package{rotfloat} package, version v1.2
% dated 2004/01/04, \copyright{} 1995--2004 Axel
% Sommerfeldt.} packages, so you \emph{must not} load these packages.
%
% The \package{float} package has a~good mechanism for the creation (and easy
-% modification) of common layout for all floats without
+% modification) of common layout for all floats of one type without
% adding any repeated code in the document; besides, this package allows to
-% create new float type; it deals only
+% create new float types; it deals only
% with alone (plain) combinations ``object (float contents)---caption''.
+%
% The \package{rotfloat}
-% package changes environments of rotated floats (\package{rotating} package)
+% package changes environments of rotated floats (the \env{sideways...}
+% environment of \package{rotating} package)
% to adapt them to \package{float}'s settings.
%
-% Current package extends these possibilities and, at last, it allows:
+% This package extends these possibilities and, at last, it allows:
% \begin{itemize}\itemsep0pt\parskip0pt
% \item
% to use mechanism, borrowed from \package{float} package, for
-% creation of new float type;
+% creation of new float types;
% \item
-% to change width of float box, also
-% to set width for float box, which equals to the width of object;
+% to change width of float box, either to a fixed value or to the width of object;
% \item
% to put caption beside object;
% \item
% to put a few floats side by side on the row;
% \item
-% to put footnotes inside float box (using \env{minipage}-like mode);
-% and also put legend-like text;
+% to put footnotes inside float box (using |minipage|-like mode);
+% and also to put legend-like text;
% \item
% to create and/or modify special layout for each type of float and
% for different positioning of float and its components, e.g.
@@ -348,7 +358,7 @@
% \end{itemize}
%
% The \package{floatrow} package is cooperated with \package{caption} package
-% (\textit{needs version} 3.0\textbf{q} \textit{and later}).
+% (\textit{needs version} 3.0\textbf{q} \textit{or later}).
% Also the \package{floatrow} package (like
% \package{caption} one) uses \package{keyval} package mechanism for layout
% settings.
@@ -356,33 +366,33 @@
%
% \begingroup
% \slshape
-% I think I did my best to follow these ideas and I hope that someone
-% likes this idea: helps to maintain this idea anyway, or finds bugs
+% I do my best to follow this idea and I hope that someone
+% likes it: helps to maintain this idea in any way, or finds bugs
% and absurdities in this package or documentation.
% \endgroup
% \medskip
%
% \centerline{\textbf{Document Terminology}\nopagebreak\vspace{1ex}}
% \begin{description}\itemsep0pt\parskip0pt
-% \item[float]
+% \item[float (float box)]
% could include \emph{object}, \emph{caption}, and
-% \emph{foot material}; \emph{float} is created by \env{figure} or
-% \env{table} environments (\emph{plain float}), or by |\floatbox|
-% command and its modifications;
+% \emph{foot material}; \emph{float} is created by |figure| or
+% |table| environments (\emph{plain float}), or by |\floatbox|
+% command and its modifications (\emph{float box});
%
% \item[float type]
-% means standard environments \env{figure} and \env{table},
-% also their subtypes, like e.g.~\env{wrapfigure} (\package{wrapfig} package),
-% \env{sidewaysfigure} (\package{rotating} and \package{rotfloat} packages),
-% \env{longtable} (\package{longtable} package) etc.;
+% means standard environment |figure| or |table|,
+% also their \emph{layout subtypes}, like e.g.~|wrapfigure| (\package{wrapfig} package),
+% |sidewaysfigure| (\package{rotating} and \package{rotfloat} packages),
+% |longtable| (\package{longtable} package) etc.;
%
-% \item[object]\env{tabular} or graphics, as contents of table
-% (\env{table}) or figure (\env{figure}) or other type of float;
+% \item[object]means |tabular| or graphics, as contents of table
+% (|table|) or figure (|figure|) or other type of float;
%
-% \item[caption]text in |\caption|;
+% \item[caption]means text in |\caption|;
%
-% \item[foot material]explications, legends and/or footnotes inside
-% \emph{float} box (|\footnote|/\allowbreak|\mpfootnotemark|/\allowbreak|\footnotetext|,
+% \item[foot material]could include explications, legends and/or footnotes inside
+% \emph{float box} (|\footnote|/\allowbreak|\mpfootnotemark|/\allowbreak|\footnotetext|,
% and |\floatfoot| macros).
% \end{description}
% \end{abstract}
@@ -392,43 +402,40 @@
% \begin{multicols}{2}\raggedright\advance\rightskip1em
% \makeatletter\let\item\@idxitem\ignorespaces\makeatother
% \def\sectionname{sec.}
-%^^A% \item{``Anchored'' float (option~\texttt{H})}
+%^^A% \item{``Anchored'' float (option~|H|)}
%^^A% \strut\pfill
%^^A% \textsl{\sectionname}~\ref{sec:floatborrowII}
%
% \item{Caption}
-% \subitem{above float (\env{table}'s object, |\ttabbox|)\kern-1em\allowbreak}
+% \subitem{above float (|table|'s object, |\ttabbox|)\kern-1em\allowbreak}
% \strut\pfill
% \textsl{{\seeIntro}},~%^^A
-% \textsl{\sectionname}~\ref{sec:floatbox}%^^A;
-% %^^A\pageref{FAD:CaptionAbove},
-% %^^A\pageref{FAD:CaptionAboveTable},
-% %^^A\pageref{FAD:CaptionAboveTableII},
-% %^^A\pageref{FAD:CaptionAboveIII}
+% \textsl{\sectionname}~\ref{sec:floatbox}
%
-% \subitem{beside float (\env{figure}'s object, |\fcapside|)}
+% \subitem{beside float (|figure|'s object, |\fcapside|)}
% \strut\pfill
% \textsl{{\seeIntro}},~%^^A
-% \textsl{\sectionname}~\ref{sec:floatbox}%^^A;~
-% %^^A\pageref{FAD:BesideCaptionII},
-% %^^A\pageref{ssec:ffigbox:etc},
-% %^^A\pageref{fig:subfig:catsI},
+% \textsl{\sectionname}~\ref{sec:floatbox}
%
-% \subitem{width equals to \env{longtable}'s (|LTcapwidth=| key)}
+% \subitem{width equals to |longtable|'s (|LTcapwidth=| key)}
% \strut\pfill
-% \pageref{FAD:LTcapwidth}
+% page~\pageref{FAD:LTcapwidth}
%
% \subitem{width equals to object's}
% \emph{see}~{float box width equals to object's}{}
%
+% \subitem{like in plain \LaTeX\ (|\RawCaption|)}
+% \strut\pfill
+% page~\pageref{setup:RawCaption},
+% \pageref{subcap:RawCaption}
+%
% \item{Creation of new float type (|\DeclareNewFloatType|)}
% \strut\pfill
-% \textsl{\sectionname}~\ref{sec:newfloat}%;~^^A
-% %^^A\pageref{FAD:newfloattype}
+% \textsl{\sectionname}~\ref{sec:newfloat}
%
% \item{Layout of Float types (|\floatsetup|)}
% \strut\pfill
-% \textsl{\sectionname}~\ref{sec:floatsetup}\nopagebreak
+% \textsl{\sectionname}~\ref{sec:floatsetup}
%
% \item{Float}\nopagebreak
% \subitem{box (|\floatbox|)}
@@ -437,77 +444,60 @@
% \subsubitem{figure box (|\ffigbox|)}
% \strut\pfill
% \textsl{{\seeIntro}},~%^^A
-% \textsl{\sectionname}~\ref{sec:floatbox};
+% \textsl{\sectionname}~\ref{sec:floatbox}
%
% \subsubitem{table box (|\ttabbox|)}
% \strut\pfill
% \textsl{{\seeIntro}},~%^^A
-% \textsl{\sectionname}~\ref{sec:floatbox};
+% \textsl{\sectionname}~\ref{sec:floatbox}
+%
+% \subitem{box width}
+%
+% \subsubitem{option in |\floatbox| commands}
+% \strut\pfill
+% \textsl{\sectionname}~\ref{sec:floatbox}
+%
+% \subsubitem{equals to object's (option |\FBwidth| (|\floatbox|))}
+% \strut\pfill
+% \textsl{{\seeIntro}},~%^^A
+% \textsl{\sectionname}~\ref{sec:floatbox}
+%
+% \subsubitem{the rest space in the row
+% (option |\Xhsize| (|\floatbox|))}
+% \strut\pfill
+% page~\pageref{FAD:floatfillspace}
%
% \subitem{rotated (|sideways..|~env.)}\nopagebreak
% \strut\pfill
-% \textsl{\sectionname}~\ref{ssec:rotating}%^^A--\ref{ssec:lscape}
+% \textsl{\sectionname}~\ref{ssec:rotating}
% \subsubitem{empty (special) page style (|\emptyfloatpage|)}
% \strut\pfill
-% \pageref{FAD:emptyfloatpage}
+% page~\pageref{FAD:emptyfloatpage}
%
% \subsubitem{placing on the facing pages}
% \strut\pfill
-% \pageref{FAD:ContRotated}
+% page~\pageref{FAD:ContRotated}
%
-% \subitem{\textbf{here!} (option \texttt{H})}
+% \subitem{\textbf{here!} (option |[H]|)}
% \strut\pfill
% \textsl{\sectionname}~\ref{sec:floatborrowII}
%
% \subitem{row (|floatrow| env.)}
% \strut\pfill
% \textsl{{\seeIntro}},~%^^A
-% \textsl{\sectionname}~\ref{sec:floatrow}%^^A;
-% %^^A\pageref{FAD:BesideFloat},
-% %^^A\pageref{ssec:app:besidestart}--\pageref{ssec:app:besidefinish}
+% \textsl{\sectionname}~\ref{sec:floatrow}
%
% \subsubitem{float(box) in the row occupies the rest space}
-% \emph{see}~{float width, the rest space of the row}
+% \emph{see}~{float box width, the rest space of the row}
%
% \subsubitem{floats of different types side by side}
% \strut\pfill
-% \pageref{FAD:MixedRow},
-% \pageref{FAD:MixedRowII}%^^A%,
-% %^^A\pageref{FAD:Mixrow}
-%
-%^^A%^^A% \subsubitem{floats of one type side by side}
-%^^A%^^A% \strut\pfill
-%^^A%^^A% \pageref{FAD:floatrow}
+% page~\pageref{FAD:MixedRowII},
+% \pageref{FAD:MixedRow}
%
% \subitem{like in plain \LaTeX\ (|\RawFloats|)}
% \strut\pfill
-% \textsl{\sectionname}~\ref{sec:rawfloats}%^^A;
-% %^^A\pageref{FAD:PlainFloat},
-% %^^A\pageref{FAD:PlainFloatII}
-%
-% \subitem{width}
-%^^A% \subsubitem{|floatwidth=| key etc.}
-%^^A% \strut\pfill
-%^^A% \textsl{\sectionname}~\ref{sec:wd:object}
-%
-% \subsubitem{option in |\floatbox| commands}
-% \strut\pfill
-% \textsl{\sectionname}~\ref{sec:floatbox}%^^A;
-% %^^A\pageref{FAD:FBwidthI},
-% %^^A\pageref{FAD:FBwidthII}
-%
-% \subsubitem{equals to object's (option |\FBwidth| (|\floatbox|))}
-% \strut\pfill
-% \textsl{{\seeIntro}},~%^^A
-% \textsl{\sectionname}~\ref{sec:floatbox}%^^A;
-% %^^A\pageref{FAD:FBwidthI},
-% %^^A\pageref{FAD:FBwidth},
-% %^^A\pageref{FAD:FBwidthII}
-%
-% \subsubitem{the rest space in the row
-% (option |\Xhsize| (|\floatbox|))}
-% \strut\pfill
-% \pageref{FAD:floatfillspace}
+% \textsl{\sectionname}~\ref{sec:rawfloats}
%
% \subitem{wrapped}
% \strut\pfill
@@ -515,18 +505,12 @@
%
% \item{Footnote inside float}
% \strut\pfill
-% \textsl{\sectionname}~\ref{sec:floatfootnote}%^^A;
-% %^^A\pageref{FAD:FnoteInsideFloat}
-%
-%^^A%^^A% \subitem{footnote text (|\footnotetext|)}
-%^^A%^^A% \strut\pfill
-%^^A%^^A% \textsl{\sectionname}~\ref{sec:floatfootnote};
-%^^A%^^A% \pageref{FAD:FnoteInsideFloat}
+% \textsl{\sectionname}~\ref{sec:floatfootnote}
%
% \subitem{footnote mark
% (|\mpfootnotemark|)\kern-1em\allowbreak}
% \strut\pfill
-% \pageref{FAD:FnoteInsideFloat}
+% page~\pageref{FAD:FnoteInsideFloat}
%
% \item{Legend-like macro (|\floatfoot|)}
% \strut\pfill
@@ -536,131 +520,189 @@
% \strut\pfill
% \subitem{subcaption above}
% \strut\pfill
-% \pageref{FAD:subcapabove}
+% page~\pageref{FAD:subcapabove}
% \subitem{subfloat label beside}
% \strut\pfill
-% \pageref{FAD:sublabelbeside}
+% page~\pageref{FAD:sublabelbeside}
% \end{multicols}%
% \endgroup
%
% \clearpage
-% \begingroup
-% \small\openup-.75pt
+% \begingroup\addtocounter{lofdepth}1\addtocounter{lotdepth}1
+% \small
% \pdfbookmark[1]{Contents}{TOC}\nopagebreak\tableofcontents
-% \pdfbookmark[1]{List of Figures}{LOF}%^^A\setcounter{lofdepth}2
+% \pdfbookmark[1]{List of Figures}{LOF}
% \nopagebreak\listoffigures
-% \pdfbookmark[1]{List of Tables}{LOT}%^^A\setcounter{lotdepth}2
+% \pdfbookmark[1]{List of Tables}{LOT}
% \nopagebreak\listoftables
+% \pdfbookmark[1]{List of Examples}{LOE}
+% \nopagebreak\listof{Example}{List of Examples}
+% \pdfbookmark[1]{List of Programs}{LOP}
+% \nopagebreak\listof{Program}{List of Programs}
% \endgroup
%
% \clearpage
% \suppressfloats[t]
%
-% \section{Macros for Building Floats}
+% \section{Introduction}\label{sec:intro}
+%
+% \FRorisubsection{Start With \package{floatrow} Package}\label{sec:start}
+%
+% During creation of document, you usually type figures and tables as \emph{floating objects}
+% (\emph{floats}), i.e. put their contents
+% inside |figure| and~|table| environments consequently. The simplest floating environment
+% looks like:
+%\begin{Quote}
+%|\begin{|\meta{float type}|}|
+%\meta{float contents (object)}
+%|\caption{|\meta{caption contents}|}|
+%|\end{|\meta{float type}|}|
+%\end{Quote}
+% or (if you want to put caption above):
+%\begin{Quote}
+%|\begin{|\meta{float type}|}|
+%|\caption{|\meta{caption contents}|}|
+%\meta{float contents (object)}
+%|\end{|\meta{float type}|}|
+%\end{Quote}
%
-% \subsection{Introduction}\label{sec:intro}
+% \subsubsection{Loading The Package}\label{sec:load}
%
-% One of the first macros of package, created for float contents,
+% Just now you have loaded the \package{floatrow} package:
+%\begin{Quote}
+%\begin{preamble}
+%|\usepackage{floatrow}|\quad.
+%\end{preamble}
+%\end{Quote}
+% In the time, when this package was loaded,
+% all float contents in the document will be centered (unless another alignment command
+% appears inside the float contents). All captions appear
+% below float contents, regardless of how they were typed in source file.
+% But, I'm almost sure, that you want to put table captions above table material.
+% If you put in the next line the |\floatsetup| command:
+%\begin{Quote}
+%\begin{preamble}
+%|\usepackage{floatrow}|
+%|\|\FRkey[sec]{floatsetup}|[table]{|\FRkey{style}|=plaintop}|\quad,
+%\end{preamble}
+%\end{Quote}
+% after that, again, you will get all table captions above table material, regardless of how
+% they were typed in source file. These first minimal settings will arrange all floats
+% contents and their captions accordingly to the real typographic rules.
+% (The {\sectionname}~\ref{sec:floatsetup} describes and demonstrates various layouts,
+% which you can get with the settings of |\floatsetup| command.)
+%
+% But maybe the settings above are still not sufficient to you, because you need to get
+% the table caption width equal to the width of table material. Also you may want to put some
+% figure captions beside graphics. Besides that, it is better to put small floats beside
+% in one row. For all these reasons this package offers special commands for building of float boxes
+% and a special environment to put these float boxes beside each other.
+%
+% \subsubsection{Float Box Commands}\label{sec:intro:flbox}
+% One of the first macros of this package for creation of float boxes
% is a macro which builds contents of the table environment with caption
% above. The width of caption equals to the width of contents, e.g.
-% of tabular (see table~\ref{intro:table}).%^^A
+% of tabular (see table~\ref{intro:table}). Let's look at the first example with plain \LaTeX{}
+% layout:%^^A
% \FRmpar{Caption above table object}{FAD:CaptionAbove}%^^A
-%^^A% \footnote{The table caption in current documentation use a~special layout,
-%^^A% popular in Russian typographic publications, look for
-%^^A% \texttt{flushrightlabel} key of \cs{captionsetup} in the preamble of
-%^^A% source file of this documentation and in sample files
-%^^A% ({\sectionname}~\ref{sec:samples}).}
-%\begin{Quote}\openup-.65pt
-%\meta{preamble}
-% |\usepackage[|\hyperref[setup:font]{\texttt{font}}|=small,|%^^A
-% \hyperref[setup:captionskip]{\texttt{captionskip}}|=5pt,|%^^A
-% \hyperref[setup:objectset]{\texttt{objectset}}|=centering,|
-% | |\hyperref[setup:margins]{\texttt{margins}}|=centering,...]{floatrow}[2007/08/24]|
-% |\|\hyperref[sec:floatsetup]{\texttt{floatsetup}}|[table]{|%^^A
-% \hyperref[setup:style]{\texttt{style}}|=Plaintop}|
-% |\usepackage[font=small,labelfont=bf,labelsep=period,|
-% | justification=centerlast]{caption}[2007/04/11]|
-% |\DeclareCaptionLabelFormat{rightline}{\rightline{\bothIfFirst{#1}{ }#2}}|
-% |\captionsetup[table]{labelformat=rightline,textfont=bf,|
-% | labelfont={md,sl},labelsep=newline}|
-%\meta{preamble}
-%|\begin{table}|
-%|\|\hyperref[floatbox:ttabbox]{\texttt{ttabbox}}
+%\begin{Quote}
+%\begin{preamble}
+% |\usepackage{caption}[2007/04/11]|
+% |\usepackage{floatrow}[2007/08/24]|
+%\end{preamble}
+%|\begin{table}|\nopagebreak
+%|\|\FRkey[FB]{ttabbox}
%| {\caption{A small table ...}\label{...}}|
-%| {\begin{tabular}...\end{tabular}}|
-%|\end{table}|
+%| {\begin{tabular}...\end{tabular}}|\nopagebreak
+%|\end{table}|\vspace*{-\intextsep}
%\end{Quote}
-% \begin{table}[H]
+%\begingroup
+%\clearcaptionsetup{table}\clearfloatsetup{table}
+%\floatsetup{style=default}\captionsetup{style=default}\def\thead#1{#1}\extrarowheight1pt
+% \begin{table}[H]\tabcolsep1.5\tabcolsep
% \ttabbox
-% {\caption{A small table with caption text above (\cmd{\ttabbox})}\label{intro:table}}
+% {\caption{A small table with caption text above (\cmd{\ttabbox}) with plain \LaTeX{}
+% layout}\label{intro:table}}
% {\jot2pt\begin{tabular}{|c|c|c|}
% \hline
-% \thead{First data} & \thead{Second data} & \thead{Third data} \\
+% \thead{First column} & \thead{Second column} & \thead{Third column} \\
% \hline
% A & B & C \\
% D & E & F \\
% \hline
% \end{tabular}}
% \end{table}%^^A
+%\endgroup
%
-% The pair of this command, which creates figures---|\ffigbox|---puts
-% caption below contents and default width of caption equals
-% to the width of main text or predefined |\hsize|.
-%\begin{Quote}\openup-.65pt
-%|...|
+% Another command which creates figures---|\ffigbox| (figure~\ref{intro:figure})---puts
+% caption below contents. The default width of caption equals
+% to the width of text. (In the following example the
+% layout settings for captions were added.)
+%\begin{Quote}
+%\begin{preamble}
+% |\usepackage|{\emphcolor|[font=small,labelfont=bf,labelsep=period,|
+% | justification=centerlast]|}|{caption}|\vspace{1ex}
+% |\usepackage{floatrow}|
+%\end{preamble}
%|\begin{figure}|
-%|\|\hyperref[floatbox:ffigbox]{\texttt{ffigbox}}
-%| {\caption{A figure...}\label{...}}|
+%|\|\FRkey[FB]{ffigbox}
+%| {\caption{A simple figure ...}\label{...}}|
%| {...}|
-%|\end{figure}|
+%|\end{figure}|\vspace*{-\intextsep}
%\end{Quote}
-%\begingroup
+%\begingroup\floatsetup{style=default}
% \begin{figure}[H]
% \ffigbox
% {\caption[A simple figure box (\cmd{\ffigbox})] {A plain figure box
% with long long long long long long long long
% long long long long long long long long long long multilined caption}\label{intro:figure}}
-% {\unitlength.88\unitlength\input{Doll.picture}}
+% {\unitlength1\unitlength\input{Doll.picture}}
% \end{figure}%^^A
%\endgroup
-% The default
-% layout of |\ffigbox| (figure~\ref{intro:figure}) is similar to the plain
-% \env{figure} environment. But if you set option |[\FBwidth]| like below:
+% The example above shows that a float box, created by
+% the |\ffigbox| command looks similar to the plain |figure| environment.
+% But if you set, for example, the option |[\FBwidth]| like below:
% \FRmpar{Caption's width equals to object}{FAD:FBwidthI}
%\begin{Quote}
%|...|
%|\begin{figure}|\nopagebreak
-%|\ffigbox[\|\hyperref[floatbox:FBwidth]{\texttt{FBwidth}}|]|
+%|\ffigbox[\|\FRkey[FB]{FBwidth}|]|
%| {\caption{A figure}\label{...}}|
%| {...}|
-%|\end{figure}|
+%|\end{figure}|\vspace*{-\intextsep}
%\end{Quote}
+%\begingroup\floatsetup{style=default}
% \begin{figure}[H]
% \ffigbox[\FBwidth]
% {\caption[A figure box (\cmd{\ffigbox}) with the width equal to graphics]{A figure with
% the width equal to graphics with long
% long long long long multilined
% caption}\label{intro:figure:FBwidth}}
-% {\unitlength1.78\unitlength\input{Horse.picture}}
+% {\unitlength1.44\unitlength\input{Horse.picture}}
% \end{figure}%^^A
-% You get caption width equal to the width of picture
+%\endgroup
+% you'll get a~caption width equal to the width of picture
% (figure~\ref{intro:figure:FBwidth}).
%
% The third macro---|\fcapside| (figure~\ref{intro:beside})---puts
-% caption beside:
-%\begin{Quote}
-%\meta{preamble}
-% |\usepackage[...|\hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=quad,|%^^A
-% \hyperref[setup:facing]{\texttt{facing}}|=yes,|
-% | |\hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|=inside,...]{floatrow}[2007/06/24]|
+% caption beside. (In the next example the float layout settings were added,
+% which put captions to the binding margin
+% and changed value of separation space between caption and object.)
+%\begin{Quote}[0pt]
+%\begin{preamble}
%|...|
-%\meta{preamble}
+% |\usepackage|{\emphcolor|[|%^^A
+% \FRkey{capbesideposition}|=inside,|%^^A
+% \FRkey{facing}|=yes,|\FRkey{capbesidesep}|=quad]|}|{floatrow}|
+%\end{preamble}
%|\begin{figure}|
-%|\|\hyperref[floatbox:fcapside]{\texttt{fcapside}}
+%|\|\FRkey[FB]{fcapside}
%| {\caption{...}\label{...}}|
%| {...}|
-%|\end{figure}|
+%|\end{figure}|\vspace*{-\intextsep}
%\end{Quote}
+%\begingroup\floatsetup{style=default,capbesideposition=inside,facing=yes,capbesidesep=quad}%
+%\clearcaptionsetup{capbesidefigure}
% \begin{figure}[H]
% \fcapside
% {\caption[Beside caption (`one-column' width)]{Beside caption
@@ -668,262 +710,418 @@
% and some more text and a bit more text and
% a little more text and a little piece of text to fill
% space}\label{intro:beside}}
-% {{\setlength\unitlength{3.68cm/100}%^^A
+% {{\setlength\unitlength{3.5cm/100}%^^A
% \input{Bear.picture}}}
% \end{figure}
-% The width of main text or predefined value of |\hsize| before |\fcapside| command,
-% by default, divided into two columns, their width equals to the half of current |\hsize|
+%\endgroup
+% The width of text,
+% by default, divided into two columns, their width equals to the half text
% (figure~\ref{intro:beside}) excluding float margins and
-% separation material between float and caption.
-% One column is occupied by object, another---by caption and foot material (explications
+% horizontal space (or width of the separation material) between float and caption.
+% The one column is occupied by the object, the other by the caption and foot material (explications
% or legends and footnotes).
%
-%
% If you set the |[\FBwidth]| option:
% \FRmpar{Caption's width equals to object}{FAD:FBwidthII}
%\begin{Quote}
-%|...|
-%|\fcapside[\FBwidth]|
+%|...|\nopagebreak
+%|\fcapside[\FBwidth]|\nopagebreak
%|...|
%\end{Quote}
+%\begingroup\floatsetup{style=default,capbesideposition=inside,facing=yes,capbesidesep=quad}%
+%\clearcaptionsetup{capbesidefigure}
% \begin{figure}[H]
% \fcapside[\FBwidth]
-% {\caption[Beside caption (occupies rest space of defined width beside float object)]{Beside caption
-% (the caption text occupies the rest space of \cs{hsize}) and more text
+% {\caption[Beside caption (occupies rest space beside float object)]{Beside caption
+% (the caption text occupies the rest space beside float object) and more text
% and some more text and a bit more text and
% a little more text and a little piece of text to fill
% space}\label{intro:beside:FBwidth}}
-% {{\setlength\unitlength{3.68cm/100}%^^A
+% {{\setlength\unitlength{3.5cm/100}%^^A
% \input{Bear.picture}}}
% \end{figure}
-% The graphic column width will be equal to the graphics and caption occupies the rest space
-% (see figure~\ref{intro:beside:FBwidth}).\medskip
+%\endgroup
+% The graphic column width will be equal to the width of the graphics and the caption
+% will occupy the rest space (see figure~\ref{intro:beside:FBwidth}).
+%
+% The examples above show the most frequent and most simple variants of float creation. Read
+% {\sectionname}~\ref{sec:floatbox} about usage of these commands in different ways
+% and how to create new commands for float creation.
+%
+% \subsubsection{Float Boxes In The Row}\label{sec:intro:flrow}
+% If you need to put two or more floats of one type side by side,%^^A
+% \FRmpar{Floats of one type\\ side by side}{FAD:floatrow}
+% you may use the |floatrow| environment.
+%
+%\begin{Quote}
+%\begin{preamble}
+% {\emphcolor %^^A
+% |\DeclareCaptionLabelFormat{rightline}{\rightline|\nopagebreak
+% | {\bothIfFirst{#1}{ }#2}}|
+% |\captionsetup[table]{labelformat=rightline,labelsep=newline,|\nopagebreak
+% | labelfont={md,sl},textfont=bf}|}\vspace{1ex}
+% |\usepackage[|{\emphcolor\FRkey{font}|=small,|%^^A
+% \FRkey{floatrowsep}|=qquad,|\FRkey{captionskip}|=5pt|}|]{floatrow}|\nopagebreak
+% |\|\FRkey[sec]{floatsetup}|[table]{|%^^A
+% {\emphcolor\FRkey{style}|=Plaintop|}|}|\nopagebreak
+%\end{preamble}
+%|\begin{table}|
+%| \begin{floatrow}|
+%| \ttabbox|
+%| {\caption{...}\label{...}}{...}|
+%
+%| \ttabbox|
+%| {\caption{...}\label{...}}{...}|
+%| \end{floatrow}|\nopagebreak
+%|\end{table}|\vspace*{-\intextsep}
+%\end{Quote}
+% \DeleteShortVerb{\|}%
+%\floatsetup{style=default,font=small,floatrowsep=qquad,captionskip=5pt}
+% \begin{table}[H]
+% \begin{floatrow}
+% \extrarowheight1pt\tabcolsep1.05\tabcolsep
+% \ttabbox
+% {\caption[Beside table~I long header]%^^A
+% {Beside table~I with long long long long long long and top aligned caption}%^^A
+% \label{tab:row:tabIII}}%^^A
+% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|}
+% \hline
+% \multirowthead{2}[-1ex]{Left Column Head}
+% & \multicolumn{2}{c|}{\thead{Data}} \\
+% \cline{2-3}
+% & \multicolumn{1}{c|}{\thead{I}}
+% & \multicolumn{1}{c|}{\thead{II}}
+% \\\hline
+% First row & 1 & 2 \\
+% Second row & 3 & 4 \\
+% Third row & 6 & 8 \\
+% Fourth row & \llap{1}0 & \llap{1}6 \\
+% \hline
+% \end{tabular}}
+%
+% \ttabbox
+% {\caption{Beside table~II with top aligned
+% caption}\label{tab:row:tabIV}}%^^A
+% {\begin{tabular}{|l|c|c|c|}
+% \hline
+% \multirowthead{2}[-1ex]{Column Head}
+% & \multicolumn{3}{c|}{\thead{Data}} \\
+% \cline{2-4}
+% & \thead{I} & \thead{II} & \thead{III} \\
+% \hline
+% First row & 1 & 2 & \phantom01 \\
+% Second row & 3 & 4 & \phantom06 \\
+% Third row & 6 & 8 & 28 \\
+% \hline
+% \end{tabular}}
+% \end{floatrow}
+% \end{table}
+% \MakeShortVerb{\|}%
+% As you see in the example with tables \ref{tab:row:tabIII} and~\ref{tab:row:tabIV},
+% you \emph{need} to use commands |\ttabbox|, which build box for each table.
%
-% \subsection{The \cs{floatbox} Macro}\label{sec:floatbox}
+% In the example with beside floats the special settings for table captions were applied
+% (see \package{caption} package documentation).
+% Float layout: The value of the separation space between beside floats have been changed,
+% the vertical skip between captions and float objects was also changed. For the tables
+% the style |Plaintop| was used which not only puts captions above, but also aligns them by top line
+% (see \sectionname~\ref{sec:floatsetup} of current documentation).
+%
+% \subsection{Do Not Write That With \package{floatrow} Package}\label{floatrow:wrong}
+%\begingroup
+% The \package{floatrow} package offers many features, and it causing some limitations
+% for writing code of float contents in source file, too. If you'll write something like
+%\begin{Quote}
+%\begin{preamble}
+%|\usepackage{floatrow}|
+%\end{preamble}
+%|\begin{table}\captionsetup{position=top}|
+%| \caption{A table caption must be placed above, ...}|
+%| \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}|
+%|\end{table}|
+%\end{Quote}
+% please do not expect that the caption appears at the top of table:
+%
+% \begingroup\clearfloatsetup{table}
+% \begin{table}[H]
+% \captionsetup{position=top}
+% \caption{A table caption must be placed above, wrong expect}\label{Wrong:expect}
+% \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}
+% \end{table}
+% \endgroup
+%
+% So if you want to put table captions above its contents~\nobreak\quad
+% 1)\nobreak\enskip change code, using command |\ttabbox|,
+% like in table~\ref{intro:table};~\nobreak\quad2)\nobreak\enskip
+% write |\|\FRkey[sec]{floatsetup}|[table]|\allowbreak|{|\FRkey{style}|=plaintop}| in the preamble
+% ({\sectionname}~\ref{sec:floatsetup}); or~\nobreak
+% \quad3)\nobreak\enskip restore the standard \LaTeX{} behavior with the |\RawFloats| command
+% or the package option |rawfloats| ({\sectionname}~\ref{sec:rawfloats}).
+%
+% The next example. If you put beside floats by following way:
+%\par\nobreak\vbox{\begin{Quote}
+%|\begin{figure}|\nopagebreak
+%|\begin{minipage}{0.45\textwidth}|
+%| \centering ...|
+%| \caption{The figure caption, disappeared, ...}|
+%|\end{minipage}\hfill|
+%|\begin{minipage}{0.45\textwidth}|
+%| \captionof{table}{The table caption ...}}|
+%| \centering ...|
+%|\end{minipage}|\nopagebreak
+%|\end{figure}|
+%\end{Quote}}\noindent
+% you'll get error message about lost caption.
+% Here you may:~\nobreak\quad1)\nobreak\enskip
+% to put table contents inside |\|\FRkey[FB]{ttabbox} resp.\ the figure contents inside
+% |\|\FRkey[FB]{ffigbox}; then both floats put inside \FRkey[sec]{floatrow} environment, and, since
+% there is mixed row (it includes floats of different types, and also with different caption position),
+% put the |\|\FRkey{killfloatstyle} command before ``foreign'' float |\ttabbox|, and
+% |\|\FRkey[FB]{CenterFloatBoxes} command before |floatrow| environment
+% (see~{\sectionname}~\ref{sec:mixrow} about mixed rows); or~\nobreak\quad2)\nobreak\enskip
+% to restore the standard \LaTeX{} behavior, using command |\|\FRkey{RawFloats}
+% or package option \FRkey{rawfloats} ({\sectionname}~\ref{sec:rawfloats}).
+%
+%\endgroup
+%\clearpage
+% \section{Macros for Building Floats}
+% \FRorisubsection{The \texorpdfstring{\cs{floatbox}}{floatbox} Macro}\label{sec:floatbox}
%
% \DescribeMacro{\floatbox}
-% This package offers macro, which creates necessary layout of float
-% object contents and caption (see also the Introduction).
-% The main macro looks like:
+% The examples in Introduction ({\sectionname}~\ref{sec:intro:flbox})
+% use three commands |\ttabbox|, |\ffigbox| and |\fcapside|. All these commands
+% were built using the |\floatbox| macro.
+% This macro creates the float box with necessary positioning of its elements (object,
+% caption, foot material) and applies the layout of current float type.
+% The usage of the |\floatbox| macro looks like:
% \begin{Quote}
-% |\floatbox[|\meta{preamble}|]{|\meta{captype}|}[|^^A
-% \meta{width}|][|\meta{height}|][|\meta{vert pos}|]|
-% | {|\meta{caption}|}{|\meta{object}|}|\footnotemark
+% |\floatbox|\oarg{preamble}\marg{captype}\oarg{width}\oarg{height}\oarg{vert pos}
+% | |\marg{caption}\marg{object}
% \end{Quote}%^^A
-% \footnotetext{The
-% order of mandatory arguments and their contents makes not
-% difference during building of float box. This macro
-% historically needs two mandatory arguments, but they could
-% be filled freely.}
-% where\label{floatboxsets}:
+% The |\floatbox|'s arguments\label{floatboxsets}:
% \begin{description}\itemsep0pt
-% \item[\meta{preamble}]there could be |\capbeside|\label{floatbox:capbeside} command which
+% \item[\meta{preamble}]there could be |\capbeside|\label{FB:capbeside} command which
% places caption beside float contents;
-% |\nocapbeside|\label{floatbox:nocapbeside}
+% |\nocapbeside|\label{FB:nocapbeside}
% (to put caption above/below, accordingly
% to float type's style);
-% |\captop|\label{floatbox:captop}
+% |\captop|\label{FB:captop}
% (to put caption above);
% or another systematic command
% (even with usage of |\captionsetup|
-% and |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}
+% and |\|\FRkey{thisfloatsetup},
% see examples in documentation and appendix).
-% \item[\meta{captype}]the type of float this command created for;
+% \item[\meta{captype}]the type of float this command is created for. Since this command
+% is supposed to appear outside floating environments or in ``foreign'' environments
+% (see {\sectionname}~\ref{sec:mixrow} below),
+% we write here, usually, the actual name of float type;
% \item[\meta{width}]the width of object---caption box
% (in case of caption above or below object),
% or width of object box (if caption stays beside object).
-% Empty width option, |[]|, and option |[\hsize]| mean the same.\par
-% The option |[\FBwidth]|\label{floatbox:FBwidth}%^^A
-% \FRmpar{Caption's width\\ equals to object}{FAD:FBwidthIII}
-% in~the \meta{width} argument
-% allows usage of natural width of float contents: \qquad for full float box in the case of caption
-% above/\allowbreak below; \qquad in~the case of beside caption natural width of float object expands to
-% object box only.\par
-% \emph{Note}. If you use the \verb|\FBwidth| command in the \meta{width}
-% optional argument, please be sure that object contents can be placed
-% in |\hbox| command (you only allowed to use |\vspace| (not |\vskip|!)
-% command at the very
-% beginning and very end of object contents for fine tuning
-% of vertical spaces and position of contents);
+% The empty width option, |[]|, and option |[\hsize]| mean the same;
% \item[\meta{height}]the height of object---caption box
% (in case of caption above or below object),
-% or height of object box (if caption stays beside object);
+% or height of object box (if caption stays beside object). With the empty height
+% option, |[]|, is used the natural height of object;
% \item[\meta{vert pos}]vertical alignment of object contents in
-% object's box in case of \meta{height} argument has larger value than
-% height of object contents, float placed inside \env{floatrow}.
-% \item[\meta{caption}]text of caption and legends (you may use
-% |\floatfoot| command (see page~\pageref{subsec:floatfoot}); you
-% may also use |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff
-% for footnotes inside float, or |\floatfoot| command;
-% \item[\meta{object}]Contents of float; you may use
-% |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff or
+% object's box in case of the \meta{height} argument differs from the natural value of
+% object height, or in the float layout there are used settings
+% for common heights of float objects inside |floatrow| environment.
+% Arguments are analogous to |minipage|'s ones:
+% \begin{Options}{cc}
+% \item[t]
+% aligns objects by top line;
+% \item[c]
+% aligns objects by center line;
+% \item[b]
+% aligns objects by bottom line;
+% \item[s]
+% stretches objects by full height (if it is possible).
+% \end{Options}\pagebreak[1]
+% \item[\meta{caption}]text of caption; you
+% may also use the |\footnote|/\allowbreak|\mpfootnotemark|/\allowbreak|\footnotetext| stuff
+% for footnotes inside float and/or |\floatfoot| command;
+% \item[\meta{object}]contents of float; you may also use the
+% |\footnote|/\allowbreak|\mpfootnotemark|/\allowbreak|\footnotetext| stuff and/or
% |\floatfoot| command.
% \end{description}
+% \emph{Note}. The order of the two last mandatory arguments,
+% \meta{caption} and \meta{object}, and their contents makes no
+% difference during building of float box. The |\floatbox| macro
+% historically needs two mandatory arguments, but they could
+% be filled freely, i.e. you may fill only one mandatory argument with object contents, caption etc.
+% and left another one empty.
+%
+% \subsubsection{Float Box Width Equals to The Width of Object Contents}
+% \DescribeMacro{\FBwidth}\label{FB:FBwidth}%^^A
+% The |[\FBwidth]| option%^^A
+% \FRmpar{Caption's width\\ equals to object}{FAD:FBwidthIII}
+% in~the \meta{width} argument
+% allows usage of natural width of float contents:~\nobreak\qquad1)\nobreak\enskip
+% for full float box in the case of caption
+% above/\allowbreak below;~\nobreak\qquad2)\nobreak\enskip in~the case of caption beside float object,
+% the natural width of float object expands to the
+% object box only.
%
-% The commands |\ttabbox|, |\ffigbox|, and |\fcapside|, used in Introduction, abbreviate |\floatbox| command, which creates
-% float boxes:
-% \begin{itemize}\itemsep0pt\parskip0pt
-% \item[--] the |\ttabbox| command we can replace with the code\\
-% | \floatbox[\captop]{table}[\FBwidth]|;
-% \item[--] the |\ffigbox| one---with |\floatbox{figure}| (simplest definition); and
-% \item[--] the |\fcapside| one---with |\floatbox[\capbeside]{figure}|.
-% \end{itemize}%
-%
-% You see in example with figure~\ref{intro:figure:FBwidth} that you can change width
-% for |\ffigbox| command to get caption (and also full float box) width equal to the width
-% of object. Also you may create your own command based on |\floatbox| command
-% and set float box's width equal to object's,
-% see {\sectionname}~\ref{ssec:ffigbox:etc} about this.
+% \RestoreSpaces
+% \emph{Note}. If you use the \verb|\FBwidth| command in the
+% optional argument \meta{width}, please get sure that object contents can be placed
+% in |\hbox| command. (You only allowed to use |\vspace| (not |\vskip|!)
+% command at the very
+% beginning and very end of object contents for fine tuning
+% of vertical spaces and position of contents.)\medskip
+%
+% \DescribeMacro{\FBheight}\label{FB:FBheight}%^^A
+% The similar command, |[\FBheight]|, was
+% created for the \meta{height} argument. The usage of this command makes sense, e.g.,
+% when \package{calc} is loaded: you may define height option like |[\FBheight+1cm]|.
+%
+% \subsubsection{Complex Example of Usage of \texorpdfstring{\cs{floatbox}}{floatbox} Command}
+% The next example shows |figure| environment with beside caption.
+% In this example the \meta{preamble} argument consists of rather complex definition.
+% The \meta{width} option includes the |\FBwidth| command, so the object box
+% has its natural width, the with of caption box equals to 4cm, and all lines in
+% caption justified, but the last one flushed to the right.
%
-% \begingroup
-% The three examples of float placing. First simplest example:
%\begin{Quote}
%|\begin{figure}|
-%|\floatbox{figure}[4cm]|
-%| {\caption{The simple example ...}%|
-%| \label{fig:WcatI}}|
-%| {...}|
-%|\end{figure}|
-%\end{Quote}
-% created the picture in the figure~\ref{fig:WcatI}. The width of box equals to 4cm.
-% \begin{figure}[H]
-% \floatbox{figure}[4cm]
-% {\caption{The simple example of \cmd{\floatbox}}%
-% \label{fig:WcatI}}
-% {\unitlength1.24\unitlength\input{TheCat.picture}}
-% \end{figure}%
-% \endgroup
-%
-% The more preferable way for usage of |\floatbox| is to put table
-% caption \emph{above} table contents and set caption width equal
-% to table width.
-%\begin{Quote}
-%|\begin{table}|\nopagebreak
-%|\floatbox[\captpop]{table}[\FBwidth]|
-%| {\caption{Simple tabular ...}\label{...}}|
-%| {\begin{tabular}{|l|c|c|}|
-%| ...}|
-%|\end{table}|
-%\end{Quote}
-% \DeleteShortVerb{\|}%
-% \begingroup
-% \floatsetup[table]{style=plain}
-% \begin{table}[H]
-% \floatbox[\captop]{table}[\FBwidth]
-% {\caption{Simple tabular with caption
-% above (\cmd{\floatbox} with \cmd{\captop} in preamble argument)}\label{tab:tabII}}
-% {\begin{tabular}{|l|c|c|}
-% \hline
-% \thead{Column head} & \thead{Data I} & \thead{Data II} \\
-% \hline
-% First row & 1 & 2 \\
-% Second row & 3 & 4 \\
-% Third row & 6 & 8 \\
-% Fourth row & \llap{1}0 & \llap{1}6 \\
-% \hline
-% \end{tabular}}
-% \end{table}%
-% \endgroup
-% \MakeShortVerb{\|}%
-% as shown in table~\ref{tab:tabII}. To fit size of caption (i.e full
-% float box) to size of \env{tabular} environment there was used
-% |\FBwidth| command in \meta{width} argument.
-%
-% The next example shows \env{figure} environment with beside caption.
-% In this example \meta{preamble} argument consists of rather complex definition,
-% and |\FBwidth| in \meta{width} argument. The caption
-% occupies the rest space of float box's width, |\hsize| (in current
-% example the width float box equals to main text width---|\textwidth|).
-%
-%\begin{Quote}
+%\begin{preamble}
+%|\newcommand\rightlast{\leftskip0ptplus1fil|
+%| \rightskip0ptplus-1fil\parfillskip0ptplus1fil}|
+%|\DeclareCaptionJustification{rightlast}{\rightlast}|
+%\end{preamble}
%|\begin{figure}|
%|\floatbox[{\capbeside|
-%| \captionsetup[capbesidefigure]{format=break,labelsep=none,|
-%| justification=raggedleft}%|
-%| \|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A
-% |{|\hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|=left}}]{figure}[\FBwidth]|
+%| \captionsetup[capbesidefigure]{labelsep=newline,|
+%| justification=rightlast}%|
+%| \|\FRkey{thisfloatsetup}%^^A
+% |{|\FRkey{capbesideposition}|={left,center},|
+%| |\FRkey{capbesidewidth}|=4cm}}]{figure}[\FBwidth]|
%| {\caption{...}\label{...}}|
%| {...}|
%|\end{figure}|
%\end{Quote}
+%\begingroup
% \begin{figure}[H]
% \floatbox[{\capbeside
-% \captionsetup[capbesidefigure]{format=break,labelsep=none,
-% justification=raggedleft}%
-% \thisfloatsetup{capbesideposition=left}}]{figure}[\FBwidth]
-% {\caption[Beside caption (example width complex preamble in \cmd{\floatbox})]{Beside caption and more text
+% \captionsetup[capbesidefigure]{labelsep=newline,
+% justification=rightlast}%
+% \thisfloatsetup{capbesideposition={left,center},capbesidewidth=4cm}}]{figure}[\FBwidth]
+% {\caption[Beside caption (example width complex preamble in \cmd{\floatbox})]{Beside caption
% and some more text and a bit more text and
-% a little more text and a little peace of text to fill
+% a little more text to fill
% space}\label{fig:beside:mouse}}
% {{\setlength\unitlength{4cm/58}%^^A
% \input{Mouse.picture}}}
% \end{figure}
-% Please note that complex preamble, with more than one command option must be placed in group.
-% (See {\sectionname}~\ref{sec:floatsetup} about settings for floats.)
-%
-% \RestoreSpaces
-% \subsubsection{Creation of Personal Commands for Float Boxes}\label{ssec:ffigbox:etc}
-%
-% The usage of |\floatbox| command with options (which could be cumbersome) sometimes is rather complex.
-% The Introduction demonstrates commands-abbreviations of this commands.
+%\endgroup
+% Please note that complex preamble options, which contain more than one command, must be placed
+% inside curly braces. (See {\sectionname}~\ref{sec:floatsetup} about settings for floats
+% with |\floatsetup|.)
+%
+% \subsection{Creation of Personal Commands for Float Boxes}\label{ssec:ffigbox:etc}
+% The usage of |\floatbox| command with options (which could be cumbersome)
+% is sometimes rather complex.
+% The Introduction demonstrates the three already defined commands-abbreviations of this command.
% You may define commands-abbreviations (or redefine existing) for your own purposes and
-% include there some additional style definitions and settings.
+% include some additional style definitions and settings there.
%
+% \DescribeMacro{\newfloatcommand}\label{FB:newfloatcommand}%^^A
+% \DescribeMacro{\renewfloatcommand}\label{FB:renewfloatcommand}%^^A
% The definition of new float abbreviation looks like:
% \begin{Quote}
-% |\newfloatcommand|\marg{command}%^^A\\\strut\qquad
+% |\newfloatcommand|\marg{command}%^^A
% \marg{captype}\oarg{preamble}\oarg{default width}
% \end{Quote}
% where:
% \begin{description}\itemsep0pt\parskip1ptplus1pt
% \item[\meta{command}]the user's command name (without backslash);
-% \item[\meta{captype}]the name of float environment
+% \item[\meta{captype}]the name of floating environment
% this command is created for;
% \item[\meta{preamble}]
% you may use commands, mentioned in page~\pageref{floatboxsets}
% and other layout commands, like was shown in examples;
% you may try to add any other regular command (e.g. |\captionsetup|
% or |\thisfloatsetup| stuff);
-% \item[\meta{default width}]the first reason of usage of this option is
-% to put |\FBwidth| command: \qquad in case of
-% caption above or below object (there could be defined
-% |\nocapbeside| in \meta{preamble} option) this command defines width of
-% full float (object---caption) box (see figure~\ref{intro:figure:FBwidth}); \qquad in the case of caption
-% beside object (there must be defined |\capbeside| in \meta{preamble}
-% option) this command defines
-% width of object (caption occupies the rest space, see figure~\ref{intro:beside:FBwidth}).\par
-% You may put also any dimension like |6cm|
-% or |.75\textwidth| but usage of option by
-% this way is much less reasonable.
+% \item[\meta{default width}]the main purpose of this optional argument is
+% setting it to |\FBwidth|, which is already included in definition of |\ttabbox|---the command for
+% building tables. You may also use any dimensions like |6cm| or |\textwidth| here.
% \end{description}
%
-% Let's repeat three already defined commands-abbreviations:\label{abbrcom}%^^A
+% For example you may define command for figure~\ref{fig:beside:mouse}
+% like following:
+%\begin{Quote}%
+%|\newfloatcommand{fcapbesideleft}[{\capbeside|
+%| \captionsetup[capbesidefigure]{labelsep=newline,|
+%| justification=rightlast}%|
+%| \thisfloatsetup|%^^A
+% |{capbesideposition={left,center},|
+%| capbesidewidth=4cm}}][\FBwidth]|
+%\end{Quote}
+%
+% \subsubsection{Usage of Personal Float Box Commands}
+% Your defined commands can be used in the following way (example for |\ffigbox|):
% \begin{Quote}
-% |\newfloatcommand{ffigbox}{figure}[\nocapbeside]|\label{floatbox:ffigbox}\nopagebreak
-% |\newfloatcommand{fcapside}{figure}[\capbeside]|\label{floatbox:fcapside}\nopagebreak
-% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]|\label{floatbox:ttabbox}
+% |\ffigbox|\oarg{width}\oarg{height}\oarg{vert pos}\marg{caption}\marg{object}
% \end{Quote}
-% First two defined for figures and last one---for table. You may
-% redefine existing macros using |\renewfloatcommand| command (it uses
-% the same arguments as |\newfloatcommand| one).\medskip
+% where the options are:
+% \begin{description}\itemsep0pt\parskip1ptplus1pt
+% \item[\meta{width}]
+% the width of object---caption box
+% (in case of caption above or below object),
+% or width of object box (if caption stays beside object).
+% The empty width option, |[]|, and option |[\hsize]| mean the same. The |[\FBwidth]|
+% option sets natural object width;
+% \item[\meta{height}]
+% the height of object---caption box
+% (in case of caption above or below object),
+% or height of object box (if caption stays beside object). The |[\FBheight]|
+% option sets natural object height. With the empty width option, |[]|, is used
+% the natural height of object;
+% \item[\meta{vert pos}]
+% vertical alignment of object contents in
+% object's box in the case of \meta{height} argument has a~different value than
+% natural height of object contents, or in the float layout there are used settings for common
+% heights of float elements (object or/and caption) inside |floatrow| environment.
+% Arguments are analogous to |minipage|'s:
+% |t|, |c|, |b|, |s| (see above).
+% \end{description}
+% See examples with usage of all options on the page~\pageref{fig:rotrow:FcatI} and in Appendix.
%
-% Your defined commands you may use in following way (example for |\ffigbox|):
+% \subsubsection{Predefined Float Box Commands}
+% Let's repeat three already defined commands-abbreviations, defined in package:\label{abbrcom}%^^A
% \begin{Quote}
-% |\ffigbox|\oarg{width}\oarg{height}\oarg{vert pos}
+% |\newfloatcommand{ffigbox}{figure}[\nocapbeside]|\label{FB:ffigbox}\nopagebreak
+% |\newfloatcommand{fcapside}{figure}[\capbeside]|\label{FB:fcapside}\nopagebreak
+% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]|\label{FB:ttabbox}
% \end{Quote}
-% first option, \oarg{width}, cancels the default width settings, which were
-% used during (re)definition of current command. The other two options
-% are analogous to the |\floatbox|'s ones (see page~\pageref{sec:floatbox}).
+% You may see that these commands-abbreviations are equivalent to the following code:
+% \begin{Options}{fcapside}
+% \item[\cmd\ttabbox]---|\floatbox[\captop]{table}[\FBwidth]|;
+% \item[\cmd\ffigbox]---|\floatbox{figure}| (simplest definition); and
+% \item[\cmd\fcapside]---|\floatbox|\allowbreak|[\capbeside]{figure}|.
+% \end{Options}%
+% The first two are defined for figures, and the third one for tables. You may
+% redefine existing macros using |\renewfloatcommand| command (it uses
+% the same arguments as |\newfloatcommand| one).
%
-% \par\RestoreSpaces
-% \subsection{Building Float Row}\label{sec:floatrow}
+% \emph{Note}. In the documentation text below the name of the |\floatbox| command means
+% both itself and all commands-abbreviations, defined with |\(re)newfloatcommand|.
%
-% If you need to put two or more floats of one type side by side,%^^A
-% \FRmpar{Floats of one type\\ side by side}{FAD:floatrow}
-% you may use \env{floatrow} environment.
+%\begin{small}
+%
+% \medskip\emph{Some explanation}. The strange ``stammering'' names of float boxes,
+% with doubled first letters, |\ffigbox| and |\ttabbox| were created, because of the
+% expected names, |\figbox| and |\tabbox|, are already used by the \package{floatflt}
+% package, which creates figures and tables which do not span the full width of a page and
+% are filled around by text (i.e. \emph{wrapped} floats, see {\sectionname}~\ref{ssec:floatflt} on the
+% page~\pageref{ssec:floatflt}). Also there were founded |\figbox| in \package{formlett}
+% package and |\tabbox| in \package{automata} package among styles in \LaTeX{} folder.
%
-% \par\RestoreSpaces
-% This environment looks like:
+%\end{small}
+%
+% \subsection{Building Float Row}\label{sec:floatrow}
+% The |floatrow| environment allows to put two or more floats beside. The usage of it looks like:
% \begin{Quote}
% |\begin{floatrow}[|\meta{number of beside floats}|]|\nopagebreak
% |\floatbox...|\nopagebreak
@@ -932,76 +1130,22 @@
% |\end{floatrow}|
% \end{Quote}
%
-% The \env{floatrow} environment allows to put floats side by side.
-% This environment creates necessary number of ``columns''
-% (usually two), where floats are placed. You may redefine the width of each float box,
-% e.g. the table boxes~\ref{tab:row:tabIII} and~\ref{tab:row:tabIV} have the width of their contents
-% (remember, the |[\FBwidth]| is default option of |\ttabbox|).
+% Please note that \emph{for each float box} inside |floatrow| you must use |\floatbox|, |\ffigbox|,
+% |\ttabbox| or your own command, created with |\newfloatcommand| macro.
%
-% Please note that \emph{for each float box} inside \env{floatrow} you must use |\floatbox|, |\ffigbox|,
-% |\ttabbox| or your own command, created with |\newfloatcommand| macro:
-%\begin{Quote}
-%\meta{preamble}
-%| \usepackage[...|\hyperref[setup:floatrowsep]{\texttt{floatrowsep}}|=qquad,...]{floatrow}|
-%| \|\hyperref[sec:floatsetup]{\texttt{floatsetup}}|[table]{|%^^A
-% \hyperref[setup:style]{\texttt{style}}|=Plaintop}|
-%\meta{preamble}
-%|\begin{figure}|
-%| \begin{table}|
-%| \ttabbox|
-%| {\caption{...}\label{...}}|
-%| {...}|
-%| |
-%| \ttabbox|
-%| {\caption{...}\label{...}}|
-%| {...}|
-%| \end{floatrow}|
-%|\end{table}|
-%\end{Quote}
-% \DeleteShortVerb{\|}%
-% \begin{table}[H]
-% \begin{floatrow}
-% \extrarowheight1pt
-% \ttabbox
-% {\caption[Beside table~I long header]%^^A
-% {Beside table~I with long long long long long long and top aligned caption}%^^A
-% \label{tab:row:tabIII}}%^^A
-% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|}
-% \hline
-% \multirowthead{2}[-1ex]{Left Column Head}
-% & \multicolumn{2}{c|}{\thead{Data}} \\
-% \cline{2-3}
-% & \multicolumn{1}{c|}{\thead{I}}
-% & \multicolumn{1}{c|}{\thead{II}}
-% \\\hline
-% First row & 1 & 2 \\
-% Second row & 3 & 4 \\
-% Third row & 6 & 8 \\
-% Fourth row & \llap{1}0 & \llap{1}6 \\
-% \hline
-% \end{tabular}}
-%
-% \ttabbox
-% {\caption{Beside table~II with top aligned
-% caption}\label{tab:row:tabIV}}%^^A
-% {\begin{tabular}{|l|c|c|c|}
-% \hline
-% \multirowthead{2}[-1ex]{Column Head}
-% & \multicolumn{3}{c|}{\thead{Data}} \\
-% \cline{2-4}
-% & \thead{I} & \thead{II} & \thead{III} \\
-% \hline
-% First row & 1 & 2 & \phantom01 \\
-% Second row & 3 & 4 & \phantom06 \\
-% Third row & 6 & 8 & 28 \\
-% \hline
-% \end{tabular}}
-% \end{floatrow}
-% \end{table}
-% \MakeShortVerb{\|}%
-% Since |\ttabbox| uses |\FBwidth| as default option, the caption width equals to tabular contents.
+% The |floatrow| environment creates necessary number of ``columns'',
+% the default number is two, where floats are placed (during the calculation of width of column
+% there are excluded widths of the separations between beside floats and margins around the float row).
+% You may redefine the width of each float box,
+% e.g. the boxes of tables~\ref{tab:row:tabIII} and~\ref{tab:row:tabIV} (page~\pageref{tab:row:tabIII})
+% have the width of their contents
+% (remember, the |[\FBwidth]| is default option of |\ttabbox|).
%
-% The next example with figures uses |[\FBwidth]| for the left float and |[\Xhsize]| for the right.
+% During building each float box inside float row, the |floatrow| environment calculates
+% the rest space in the row and writes this value at the special parameter |\Xhsize|, which you
+% may use inside \meta{width} option of |\floatbox| command.
+% The next example with figures uses |[\FBwidth]| command in option for the left float,
+% and |[\Xhsize]| command---for the right.
%\begin{Quote}
%|...|\nopagebreak
%|\begin{figure}|\nopagebreak
@@ -1020,131 +1164,170 @@
% \begin{figure}[H]
% \begin{floatrow}
% \ffigbox[\FBwidth]
-% {\caption[Left beside figure (\env{floatrow}), the float box has width of graphic]{Left beside figure,
+% {\caption[Left beside figure (\texttt{floatrow}), the float box has width of graphic]{Left beside figure,
% the width of graphic}%
% \label{intro:leftfig:FBwidth}}%
% {\unitlength1.12\unitlength\input{Bear.picture}}
%
% \ffigbox[\Xhsize]
-% {\caption[Right beside figure (\env{floatrow}), occupies the rest space of row]{Beside figure at the right side of simple figure row,
+% {\caption[Right beside figure (\texttt{floatrow}), occupies the rest space of row]{Beside figure at the right side of simple figure row,
% the box width occupies the rest space of row}%^^A
% \label{intro:rightfig:Xhsize}}
% {\unitlength1.44\unitlength\input{Doll.picture}}
% \end{floatrow}
% \end{figure}%^^A
%
-% \emph{Note}. Usually the command |\Xhsize| is used for the last float
-% box. But if you use \package{calc} package you may try to use |\Xhsize|
+% Usually the command |\Xhsize|\label{FB:Xhsize} is used for the last float
+% box to occupy the rest space of the row.
+% But if you use \package{calc} package you may try to use |\Xhsize|
% earlier, if the \emph{absolute} value of the width of float boxes to
-% the right in float row is known, or set something in \meta{width}
-% argument like |\Xhsize/2| and then |\Xhsize| for two last
-% |\floatbox|'es---the next example just uses it.
-%
-% And here is more complex example. The first float (used |\ffigbox|) has default
+% the right in float row is known. Another variant: you may set something in \meta{width}
+% argument something like |\Xhsize/2| and then |\Xhsize| for two last
+% float boxes---the next example just uses it: the first float has default
% width equal to ``column'' width, the next uses width of included
% graphic (uses command |\FBwidth| in optional argument \meta{width}),
-% the last two occupy the rest horizontal space of page which was
-% counted with command |\Xhsize| and \package{calc} package.%^^A
+% the last two floats divide the rest horizontal space of page into two equal pieces which were
+% calculated by command |\Xhsize| and \package{calc} package.\pagebreak[1]
%\begin{Quote}
-%\meta{preamble}
-% |\DeclareMarginSet{hangleft}{\setfloatmargins|
-% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}|
-% |\floatsetup[|\hyperref[setup:widefigure]{\texttt{widefigure}}|]{|%^^A
-% \hyperref[setup:margins]{\texttt{margins}}|=hangleft}|
-%\meta{preamble}
+%\begin{preamble}
+% |\usepackage{calc}|\vspace{1ex}
+% |\makeatletter\@mparswitchfalse\makeatother|\vspace{1ex}
+% |\|\FRkey{DeclareMarginSet}|{hangleft}{\|\FRkey{setfloatmargins}
+% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}|\vspace{1ex}
+% |\|\FRkey[sec]{floatsetup}|[widefigure]{|%^^A
+% \FRkey{margins}|=hangleft}|
+%\end{preamble}
%|\begin{figure*}|
-%|\begin{floatrow}[4]|
-%| \ffigbox|
-%| {\caption{Beside figure~I...}...}|
+%|\begin{floatrow}|{\emphcolor|[4]|}
+%| \ffigbox|\nopagebreak
+%| {\caption{Beside figure~I...}...}|\nopagebreak
%| {...}|
-%| |
-%| \ffigbox[\FBwidth]|
-%| {\caption{Beside figure~II...}...}|
+%
+%| \ffigbox[\FBwidth]|\nopagebreak
+%| {\caption{Beside figure~II...}...}|\nopagebreak
%| {...}|
-%| |
-%| \ffigbox[\Xhsize]|
-%| {\caption{Beside figure~III...}...}|
+%
+%| \ffigbox[\Xhsize/2]|\nopagebreak
+%| {\caption{Beside figure~III...}...}|\nopagebreak
+%| {...}|
+%
+%| \ffigbox[\Xhsize]|\nopagebreak
+%| {\caption{Beside figure~IV...}...}|\nopagebreak
%| {...}|
%|\end{floatrow}|
%|\end{figure*}|
%\end{Quote}
+%\begingroup
% \floatsetup[widefloat]{margins=hangleft}
% \begin{figure*}%
% \begin{floatrow}[4]
% \ffigbox
-% {\caption{Figure~I in the row (\env{floatrow}), ``column'' width}%
+% {\caption{Figure~I in the row (\texttt{floatrow}), ``column'' width}%
% \label{fig:row:Dog}}
% {\input{TheDog.picture}}
%
% \ffigbox[\FBwidth]
-% {\caption{Figure~II in the row (\env{floatrow}), graphics width}%
+% {\caption{Figure~II in the row (\texttt{floatrow}), graphics width}%
% \label{fig:row:WcatI}}
-% {\input{TheCat.picture}}
+% {\unitlength1.08\unitlength\input{TheCat.picture}}
%
% \ffigbox[\Xhsize/2]
% {\caption{Figure~III in the row, float's width box has the
% half of the rest space of row}%
-% \label{fig:row:BcatI}}
+% \label{fig:row:mouse}}
% {{\setlength\unitlength{\hsize/58}%^^A
% {\input{Mouse.picture}}}}
%
% \ffigbox[\Xhsize]
% {\caption{Figure~IV in the row,
% occupies the rest space of row}%
-% \label{fig:row:mouseI}}
+% \label{fig:row:cheese}}
% {\input{Cheese.picture}}
% \end{floatrow}
% \end{figure*}%
+%\endgroup
% The result you see in the row of
-% figures~\ref{fig:row:Dog}--\ref{fig:row:mouseI}. Please note that in all examples the vertical
-% alignment of floats lays on the bottom of upper part (here: objects)
+% figures~\ref{fig:row:Dog}--\ref{fig:row:cheese}. Please note that in the examples with rows,
+% the vertical alignment of floats lays on the bottom of upper part (here: objects)
% of float and the top of lower part (captions).
%
-% \RestoreSpaces
-% \subsubsection{Mixed Row}\label{sec:mixrow}
+% The current example uses the starred |figure*| environment, which demonstrates here the possibility
+% of creation and usage of the alternative layout for the float type (here for the figure).
+% It sets the special margin settings,
+% which allow to expand to the left margin (see page~\pageref{setup:margins} about margins settings
+% in |\floatsetup| command). The first command in this example, between |\makeatletter| and
+% |\makeatother| commands, switch of facing margins in twoside document: margins on all pages
+% appear on the left side (like in current document).
%
-% The problem in mixed row is that you must put different types of float in
-% one float environment, which sets its own layout for included float
-% box(es). For creation of right layouts write
-% |\|\hyperref[setup:killfloatstyle]{\texttt{killfloatstyle}} command at the beginning of \env{floatrow}
-% environment or just before first ``foreign'' |\floatbox| macro (in
-% current example---before |\ttabbox|; the |\ffigbox| macro is
-% ``native'' for \env{figure} environment).
+% \subsubsection{Mixed Row}\label{sec:mixrow}
+% \textbf{Problems}. 1.\enskip Sometimes, for example, it is necessary to put beside figure and table.
+% The problem of such mixed row is that you must put different types of float in
+% one floating environment, which sets its own layout for included float box(es).
%
-% Another problem is that figures usually have captions below
+% 2.\enskip Another problem is that figures usually have captions below
% graphics, but tables could have caption \emph{above} their contents.
% The alignment of all floats is similar: the bottom of upper part and
% top of lower part. In this case if you want to put such beside figure
-% and table you'll get undesirable result. For such situations you may
-% use one of the following commands:
+% and table you'll get an undesirable result.
+%
+% \DescribeMacro{\killfloatstyle}
+% \textbf{Solutions}. 1.\enskip For creation of right layouts for each float type in mixed row, you ought to write
+% |\|\FRkey{killfloatstyle} command just before each ``foreign''
+% (for current floating environment) |\floatbox| macro.
+%
+% \DescribeMacro{\CenterFloatBoxes}
+% \DescribeMacro{\TopFloatBoxes}
+% \DescribeMacro{\BottomFloatBoxes}
+% {\sloppy2.\enskip For correct vertical alignment of different float types, which put captions in different
+% positions, you may use one of the following commands:
%\begin{Quote}
-%|\CenterFloatBoxes|\label{floatbox:CenterFloatBoxes}
-%|\TopFloatBoxes|\label{floatbox:TopFloatBoxes}
-%|\BottomFloatBoxes|\label{floatbox:BottomFloatBoxes}
+%|\CenterFloatBoxes|\label{FB:CenterFloatBoxes}
+%|\TopFloatBoxes|\label{FB:TopFloatBoxes}
+%|\BottomFloatBoxes|\label{FB:BottomFloatBoxes}
%\end{Quote}
% which align \emph{full} float boxes by center, top or bottom lines.
-% These macros were created by |\buildFBBOX|\label{floatbox:buildFBBOX} macro.
-% There is also |\PlainFloatBoxes|\label{floatbox:PlainFloatBoxes} which restores standard behavior of
-% |\floatbox|'es.
+% There is also |\PlainFloatBoxes|\label{FB:PlainFloatBoxes} which restores standard behavior of
+% |\floatbox|'es.\par}
%
-% The usage of |\CenterFloatBoxes| and |\killfloatstyle| you'll see in
-% mixed float row with figure~\ref{fig:rowmixspec:WcatI} and
-% table~\ref{tab:rowmixspec:tabI}\label{mixrow}:
-%\begin{Quote}\openup-.5pt
+% \DescribeMacro{\buildFBBOX}
+% These macros were created by |\buildFBBOX|\label{FB:buildFBBOX} macro, which can be written like
+%\begin{Quote}
+%|\buildFBBOX|\marg{starting code of the box}\marg{finishing code of the box}
+%\end{Quote}
+% just before any |\floatbox| command (or |floatrow| environment).
+% For example, definition of |\CenterFloatBoxes|
+% looks almost like following:
+%\begin{Quote}
+%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%|\newcommand\CenterFloatBoxes{%|
+%| \buildFBBOX{\hbox\bgroup$\vcenter\bgroup\vskip0pt}%|
+%| {\vskip0pt\egroup$\egroup}}|
+%\end{Quote}
+% The other two commands use |\vtop| and |\vbox| boxes consequently.
+% (see also example with usage of |\buildFBBOX| command on the page~\pageref{buildFBBOX:def}).
+%
+% In the next example we use |\CenterFloatBoxes| command before |floatrow|
+% and |\killfloatstyle| just before |\ttabbox| macro
+% (mixed float row with figure~\ref{fig:rowmixspec:WcatI} in |Boxed| style, and
+% table~\ref{tab:rowmixspec:tabI}\label{mixrow}):
+%\begin{Quote}
+%\begin{preamble}
+%|\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{style}|=Boxed}|
+%\end{preamble}
%|\begin{figure}\CenterFloatBoxes|\nopagebreak
%|\begin{floatrow}|
-%| \ffigbox[\FBwidth]|
+%| \|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|]|
%| ...|
-%| \killfloatstyle\ttabbox|
+%| \|\FRkey{killfloatstyle}|\|\FRkey[FB]{ttabbox}
%| ...|
%\end{Quote}
% \DeleteShortVerb{\|}%
-% \begingroup
+% \begingroup\floatsetup[figure]{style=Boxed}
% \begin{figure}[H]\CenterFloatBoxes
% \begin{floatrow}
% \ffigbox[\FBwidth]
% {\unitlength1.86\unitlength\input{Horse.picture}}
-% {\caption{A figure in the mixed row}\label{fig:rowmixspec:WcatI}}%
+% {\caption{A \texttt{Boxed} figure in the mixed row}\label{fig:rowmixspec:WcatI}}%
% \extrarowheight1pt
% \killfloatstyle
% \ttabbox
@@ -1154,26 +1337,28 @@
% \end{figure}
% \endgroup
% \MakeShortVerb{\|}%
-% \par\RestoreSpaces
+% \RestoreSpaces
%
% \emph{Note.} Both figure and table boxes have got width equal to
-% contents of objects. The |\ffigbox| command has optional argument
-% |[\FBwidth]|, but |\ttabbox| have not any option---it uses
-% |[\FBwidth]| option as default (see definitions on page
-% \pageref{abbrcom}).\label{FAD:MixedRowII}
-%
-% \subsection{Running Floats In The Raw \LaTeX\ mode}\label{sec:rawfloats}
+% contents of objects: the |\ffigbox| command in the example has optional argument
+% |[\FBwidth]|, but |\ttabbox| does not have any option---it uses
+% |[\FBwidth]| option as default (see definitions on page~\pageref{abbrcom}).\label{FAD:MixedRowII}
%
+% \subsection{Running Floats in the Raw \LaTeX\ Mode}\label{sec:rawfloats}
% The\label{FAD:PlainFloat}
-% \package{floatrow} package redefines float environments for the case
+% \package{floatrow} package redefines floating environments for the case
% of creation of common layout for all floats. This redefinition creates
% some limitations for source document file, which were mentioned in
-% introduction. If you still need a raw behavior of float environment,
-% you may do that by one of three ways.
+% introduction (see \sectionname~\ref{floatrow:wrong}). If you still need a raw behavior
+% of floating environment, you may do that by one of the following three ways.
%
-% 1.\enskip If you want \LaTeX\ behavior for \emph{just for one environment},
+% \DescribeMacro{\RawFloats}\label{setup:RawFloats}%^^A
+% 1.\enskip If you want \LaTeX\ behavior \emph{just for one environment},
% input a |\RawFloats| command \emph{inside} environment:
-%\begin{Quote}\openup-.5pt
+%\begin{Quote}
+%\begin{preamble}
+%|\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{style}|=Boxed}|\%{ \em please note, it does nothing here}
+%\end{preamble}
%|\begin{figure}\RawFloats|\nopagebreak
%|\captionsetup[table]{position=top}|
%|\begin{minipage}{0.45\textwidth}|
@@ -1187,8 +1372,8 @@
%|\end{figure}|
%\end{Quote}
% And you'll get figure~\ref{Right:expect:fig}
-% and table~\ref{Right:expect:tab}\nopagebreak\footnote{That could work correct if
-% you do not use any fancy float layout at least for one of floats.}.
+% and table~\ref{Right:expect:tab}.
+%\begingroup\floatsetup[figure]{style=Boxed}\relax
% \begin{figure}[H]\RawFloats
% \captionsetup[table]{position=top}
% \begin{minipage}{0.45\textwidth}
@@ -1201,111 +1386,158 @@
% \begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline\end{tabular}
% \end{minipage}
% \end{figure}
-% Compare this example with example in the {\sectionname}~\ref{sec:mixrow} and the following example.
-%\begin{Quote}\openup-.5pt
-%|\begin{figure}\RawFloats\CenterFloatBoxes|\nopagebreak
-%|\begin{floatrow}|
-%| \ffigbox[\FBwidth]|\nopagebreak
+%\endgroup
+% Compare this example with example in the {\sectionname}~\ref{sec:mixrow} and the following
+% figure~\ref{leftfig:raw} and table~\ref{righttab:raw}.
+%\begin{Quote}
+%\begin{preamble}
+%|\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{style}|=Boxed}|
+%\end{preamble}
+%|\begin{figure}\RawFloats\|\FRkey[FB]{CenterFloatBoxes}\nopagebreak
+%|\begin{|\FRkey[sec]{floatrow}|}|
+%| \|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|]|\nopagebreak
%| {...}|\nopagebreak
%| {\caption{...}\label{...}}|
%| |
-%| \ttabbox|\nopagebreak
+%| \|\FRkey[FB]{ttabbox}\nopagebreak
%| {...}|\nopagebreak
%| {\caption{...}\label{...}}|
%|\end{floatrow}|\nopagebreak
%|\end{figure}|
%\end{Quote}
-% \begin{figure}[H]\RawFloats\CenterFloatBoxes
+%\begingroup\floatsetup[figure]{style=Boxed}
+% \begin{figure}[ht]\RawFloats\CenterFloatBoxes
% \begin{floatrow}
% \ffigbox[\FBwidth]
-% {\unitlength1.86\unitlength\input{Horse.picture}}
-% {\caption{A figure in \cmd{\floatbox} and inside \env{floatrow} in raw \LaTeX's mode}%
-% \label{intro:leftfig:raw}}%
+% {\unitlength1.88\unitlength\input{Horse.picture}}
+% {\caption{A figure in \cmd{\ffigbox} and inside \texttt{floatrow} in raw \LaTeX's mode}%
+% \label{leftfig:raw}}%
%
% \ttabbox
-% {\caption{A table in \cmd{\floatbox} and inside \env{floatrow} in raw
-% \LaTeX's mode}\label{intro:righttab:raw}}
+% {\caption{A table in \cmd{\ttabbox} and inside \texttt{floatrow} in raw
+% \LaTeX's mode}\label{righttab:raw}}
% {\tabcolsep5\tabcolsep
% \begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline
% \end{tabular}}
% \end{floatrow}
% \end{figure}%^^A
+%\endgroup
%
-% 2.\enskip Canceling of \package{floatrow}'s behavior of \emph{all floats of one type}
-% is set outside any float environment, these settings are better for
-% preamble. In this case the |\RawFloats| command needs optional
+% 2.\enskip Canceling of \package{floatrow}'s behavior for \emph{all floats of one type
+% or subtype} should be done outside any floating environment, usually in the
+% preamble of the document. In this case the |\RawFloats| command needs optional
% argument with name(s) of float type. You may set that by two ways:
% \begin{Quote}
% |\RawFloats|\oarg{type,type,\ldots}\quad or\nopagebreak
% |\RawFloats|\oarg{type}\oarg{subtype,subtype,\ldots}
% \end{Quote}
-% So, if you set |\RawFloats[figure]|, that will return to all figures
-% in all subtype environments (\texttt{figure}, \texttt{figure*},
-% \texttt{sidewaysfigure}, etc.) plain \LaTeX{} mode. If there is also a table,
+% So if you set |\RawFloats[figure]|, that will return the plain \LaTeX{} mode to all
+% figures in all subtype environments (|figure|, |figure*|,
+% |sidewaysfigure|, |wrapfigure|, etc., see page~\pageref{sec:floatsetup}).
+% If there is also a table,
% |\RawFloats[figure,table]|, you also will set the same for all table
% subtypes.
%
% The second way, with second optional argument, cancels \package{floatrow}'s
% behavior for mentioned float ``subtype(s)'' of \emph{one} float type
-% in second optional argument you may use \texttt{float}, \texttt{widefloat},
-% \texttt{rotfloat}, \texttt{widerotfloat}---the meaning of this options
-% analogous to options of |\floatsetup| macro
-% (see {\sectionname}~\ref{sec:floatsetup}) but you may use here only options which
-% include ``float'' word\label{FAD:PlainFloatII}%^^A
-% %^^A(or short variants without ``float'', like
-% %^^A\texttt{rot} or \texttt{widerot})%^^A
-% .%^^A
+% in second optional argument you may use |float|, |widefloat|,
+% |rotfloat|, |widerotfloat|---the meaning of this options
+% analogous to options of |\floatsetup| macro (see
+% {\sectionname}~\ref{sec:floatsetup}, but you may use here only options
+% which include ``float'' word).\label{FAD:PlainFloatII}%^^A
%
% \DescribeMacro{rawfloats}\label{setup:rawfloats}%^^A
-% 3.\enskip This option stores the plain \LaTeX{} mode (i.e. stores usage of standard
-% \LaTeX{} float macros) for all standard and new
-% user defined float types. This option can be used only in
-% |\usepackage| line.
+% 3.\enskip This option stores the plain \LaTeX{} mode (i.e. stores usage of
+% standard \LaTeX{} float macros) for all \emph{standard and new defined}
+% float types. This option can be used only in |\usepackage| line.
%
-% The \env{floatrow} environment ({\sectionname}~\ref{sec:floatrow})
-% and commands of |\floatbox| stuff ({\sectionname}~\ref{sec:floatbox})
-% still work after |\RawFloats|' and |rawfloats=| settings
-% (see example width figure~\ref{intro:leftfig:raw}
-% and table~\ref{intro:righttab:raw})\label{FAD:MixedRow}%^^A
+%\medskip
+% \emph{Notes}.\nopagebreak
%
-% \RestoreSpaces
-% \subsection{Usage of Footnotes Inside Float Environment}
-% \label{sec:floatfootnote}
+% 1)\enskip Please note that with |\RawFloats[...]| command and |rawfloats=| key
+% you will cancel layout (|\floatsetup|) settings of all chosen float types/subtypes
+% ({\sectionname}~\ref{sec:floatsetup}).
%
-% Sometimes table
-% or figure contents have material, which authors mark
-% and then write some explanation like footnotes. Current package has
-% mechanism which allows to put footnotes inside float environment, in
-% the same way as is in \env{minipage} environment.
+% {\sloppy2)\enskip The |floatrow| environment ({\sectionname}~\ref{sec:floatrow})
+% and commands of |\floatbox| stuff ({\sectionname}~\ref{sec:floatbox})
+% still work after |\RawFloats[...]| command and |rawfloats=| key
+% (see example with figure~\ref{leftfig:raw}
+% and table~\ref{righttab:raw})\label{FAD:MixedRow}.
+% But inside |\floatbox| commands can work only layout settings
+% of the package, written in |\usepackage| line and inside |\floatsetup{...}|,
+% and settings for main types of floats like |\floatsetup[figure]{...}|
+% or |\floatsetup[table]{...}|. The settings for all other layout subtypes
+% (see {\sectionname}~\ref{sec:floatsetup}) will be canceled.\par}
+%
+% \subsubsection{Raw Caption---Printing in Unusual Way}
+% \DescribeMacro{\RawCaption}\label{setup:RawCaption}%^^A
+% This command allows to ``release'' caption contents from special
+% box register. The caption is placed as argument of |\RawCaption|:
+% \begin{Quote}
+% |\RawCaption{\caption\marg{contents}\label{...}}|\quad.
+% \end{Quote}
+% In this case the settings of float layout of current type will be stored, but
+% you may put caption in non-standard way. For example in the free corner of the
+% graphics (figure~\ref{rawcaption:plain}):
+%\begingroup
+% \begin{Quote}
+%\begin{preamble}
+%|\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{style}|=plain}|
+%\end{preamble}
+%|\begin{figure}|\lineskip0pt
+%|\framebox(70,60){...}\hspace{2\unitlength}%|
+%|\framebox(70,60){...}\vspace{2\unitlength}\par|
+%|\framebox(70,60){...}\hspace{2\unitlength}%|
+%|\parbox[b][60\unitlength]{70\unitlength}%|
+%| {\RawCaption{\caption{...}\label{...}}}|
+%|\end{figure}|
+% \end{Quote}
+%\floatsetup{style=plain}
+%\begin{figure}[H]\unitlength1.28\unitlength\lineskip0pt
+%\framebox(70,60){\input{TheCat.picture}}\hspace{2\unitlength}%%^^A
+%\framebox(70,60){\unitlength.5\unitlength\input{TheCat.picture}}\vspace{2\unitlength}\par
+%\framebox(70,60){\unitlength.25\unitlength\input{TheCat.picture}}\hspace{2\unitlength}%%^^A
+%\parbox[b][60\unitlength]{70\unitlength}{\RawCaption{\caption
+% [Caption in raw \LaTeX{} mode, placed in the free corner of figure]{The cat's portrait,
+% printed with different scaling}\label{rawcaption:plain}}}
+%\end{figure}%
+% The more suitable example of usage of the |\RawCaption| command see on the
+% page~\pageref{fig:subIcap:IcatsI} (figure~\ref{fig:subIcap:IcatsI} with modified
+% \verb|BOXED| style).
+%\endgroup
+%
+% \subsection{Usage of Footnotes Inside Float Environment}\label{sec:floatfootnote}
+% Sometimes table or figure contents have material, which authors mark
+% and then write some explanation like footnotes. This package has
+% a~mechanism which allows to put footnotes inside floating environments, in
+% the same way as is in \LaTeX's |minipage| environment.
%
% In the case of few elements have the same footnote, we cannot
% use standard |\footnotemark|---|\footnotetext| combination, because
-% of |\footnotemark| in standard \LaTeX\ always creates the sign of main text footnote.
+% |\footnotemark| in standard \LaTeX\ always creates the sign of main text footnote.
% For these cases current package offers |\mpfootnotemark|%^^A
-% \FRmpar{Footnotemark \\inside float}{FAD:FnoteInsideFloat}
-% macro instead of |\footnotemark|%^^A%
-% \footnote{The same macro also is defined in \package{footmisc} package,
-% version 4.10, dated 2003/01/20.}.
-% \begin{Quote}\openup-.35pt%
-% \meta{preamble}
-% |\floatsetup{...,|\hyperref[setup:footnoterule]{\texttt{footnoterule}}|=limited,|%^^A
-% \hyperref[setup:footskip]{\texttt{footskip}}|=\skip\footins,...}|
-% \meta{preamble}
-% |\begin{table}|
-% |\ttabbox|
-% | {\caption{...}\label{...}}%|
-% \verb+ {\begin{tabular}{...}+
-% | \hline|
-% | First row & \phantom01 & 2\mpfootnotemark[1] \\|
-% | Second row & \phantom06\mpfootnotemark[1] & 4\mpfootnotemark[1] \\|
-% | ...|
-% | \hline|
-% | \end{tabular}%|
-% | \footnotetext[1]{Even numbers.}}|
-% |\end{table}|
+% \FRmpar{Footnotemark \\inside float}{FAD:FnoteInsideFloat}\label{FB:mpfootnotemark}
+% macro instead of |\footnotemark|.
+% (The same macro also is defined in \package{footmisc} package.
+% The \package{floatrow} package doubles this definition.)
+% \begin{Quote}
+% \begin{preamble}
+% |\|\FRkey[sec]{floatsetup}|[table]{...,|\FRkey{footnoterule}|=none,|%^^A
+% \FRkey{footskip}|=.35 \skip\footins,...}|
+% \end{preamble}
+% |\begin{table}|
+% |\|\FRkey[FB]{ttabbox}
+% | {\caption{...}\label{...}}%|
+%\verb+ {\begin{tabular}{...}+
+% |... & 2\mpfootnotemark[1] \\|
+% |...|
+% | \end{tabular}%|
+% | \footnotetext[1]{Even numbers.}}|\nopagebreak
+% |\end{table}|\vspace*{-\intextsep}
% \end{Quote}%
% \DeleteShortVerb{\|}%
-% \begin{table}[H]\floatsetup{footnoterule=limited,footskip=\skip\footins}
+%\begingroup\floatsetup[table]{footnoterule=none,footskip=.35\skip\footins}
+% \begin{table}[H]
% \ttabbox
% {\caption{Table with footnote}%^^A
% \label{tab:floatfnote}}%^^A
@@ -1321,39 +1553,60 @@
% \end{tabular}%^^A
% \footnotetext[1]{Even numbers.}}
% \end{table}%
+%\endgroup
% \MakeShortVerb{\|}%
%
-% The |\floatbox| macro uses special own definition of footnote rule
-% (the \hyperref[setup:footnoterule]{\texttt{footnoterule}}|=| key) and skip before footnotes and
-% explications or legends (\hyperref[setup:footskip]{\texttt{footskip}}|=|). (See also
-% page~\pageref{sec:footnotestyle} for variants of footnote rule.)
-%
-% \RestoreSpaces
-% \subsubsection{The Legend-Like Macro}\label{subsec:floatfoot}
+% {\sloppy The |\|\FRkey[sec]{floatbox} macro uses special definition of footnote rule
+% (the \FRkey{footnoterule}|=| key, see also
+% page~\pageref{sec:footnotestyle} for variants of footnote rule) and skip before footnotes and
+% explications or legends (the \FRkey{footskip}|=| key).\par}
%
+% \subsection{The Legend-Like Macro}\label{subsec:floatfoot}
% In the case of table or figure have some additional explanations
% which could not put in caption contents and they are definitely not
% a footnote you may use |\floatfoot|\label{FAD:Legend}
% command. The |\floatfoot| is
-% build by usage of |\caption| stuff and uses caption's text justification,
-% but star form (|\floatfoot*|) prints its contents as plain unindented
-% paragraph (see table~\ref{tab:floatfoot}).
-%
-% For defining of explication font use \hyperref[setup:footfont]{\texttt{footfont=}} option
-% (page~\pageref{setup:footfont}) in |\floatsetup|. You may try to
-% define special settings for float foot using
-% \cmd{\captionsetup[floatfoot]}.
+% build by usage of |\caption| stuff and uses caption's text justification:
%\begin{Quote}
-%|\begin{table}|
-%|\ttabbox|
+%|\begin{table}|\nopagebreak
+%|\|\FRkey[FB]{ttabbox}
%| {\caption{...}\label{...}}|
% \verb+ {\begin{tabular}{...}+
-%| ...|
-%| \end{tabular}%|
-%| \floatfoot*{`Data I' column ...}}|
-%|\end{table}|
+%| ...\end{tabular}%|
+%| \floatfoot{`Data I' column ...}}|\nopagebreak
+%|\end{table}|\vspace*{-\intextsep}
%\end{Quote}
% \DeleteShortVerb{\|}%
+%\begingroup\floatsetup[table]{footnoterule=none,footskip=.35\skip\footins}
+% \begin{table}[H]
+% \ttabbox
+% {\caption[Table with foot material (e.g. legend)]{Table with foot material}%^^A
+% \label{tab:floatfoot}}%^^A
+% {\extrarowheight1pt%^^A\tabcolsep2\tabcolsep
+% \begin{tabular}{|l|c|c|}
+% \hline
+% \thead{Column head} & \thead{Data I} & \thead{Data II} \\
+% \hline
+% First row & \phantom01 & 2 \\
+% Second row & \phantom06 & 4 \\
+% Third row & 28 & 8 \\
+% \hline
+% \end{tabular}%^^A
+% \floatfoot{`Data I' column---numbers which equal to sum of all
+% their divisors; `Data II' column---$2^n$ values}}
+% \end{table}%
+%\endgroup
+% \MakeShortVerb{\|}%
+%
+% The star form (|\floatfoot*|) prints its contents as plain unindented
+% paragraph (see table~\ref{tab:floatfoot}).
+%\begin{Quote}
+%| ...\end{tabular}%|
+%| \floatfoot*{`Data I' column ...}}|\nopagebreak
+%|\end{table}|\vspace*{-\intextsep}
+%\end{Quote}
+% \DeleteShortVerb{\|}%
+%\begingroup\floatsetup[table]{footnoterule=none,footskip=.35\skip\footins}
% \begin{table}[H]
% \ttabbox
% {\caption[Table with foot material (e.g. legend)]{Table with foot material}%^^A
@@ -1371,15 +1624,21 @@
% \floatfoot*{`Data I' column---numbers which equal to sum of all
% their divisors; `Data II' column---$2^n$ values}}
% \end{table}%
+%\endgroup
% \MakeShortVerb{\|}%
%
+% For defining of explication font use \FRkey{footfont}|=| option
+% in |\floatsetup| (page~\pageref{setup:footfont}). You may try to
+% define special settings for float foot using
+% \cmd{\captionsetup[floatfoot]} (see~{\sectionname}~\ref{sec:floatsetup}).
+%
% \emph{Notes.} 1)\enskip The \package{float} package defines additional
% optional argument after main caption text, possibly for explications.
% Since this possibility
% didn't declared in user part of documentation the current version of
% \package{caption} (3.0 and later), and also \package{float\-row} package,
% doesn't support this possibility. You may use |\floatfoot| and
-% |\footnote|/\allowbreak|\footnotemark|/\allowbreak|\footnotetext| stuffs instead.
+% |\footnote|/\allowbreak|\mpfootnotemark|/\allowbreak|\footnotetext| stuff instead.
%
% 2)\enskip If you use both commands |\floatfoot| and |\footnote|
% inside one float box, the |\floatfoot| appears above |\footnote|
@@ -1387,208 +1646,186 @@
%
% 3)\enskip Foot material (footnotes and text in floatfoot) can be placed
% in several variants: at the very bottom of float box, below caption
-% (even if caption is above float object). See page \pageref{setup:footposition}
-% and sample file \file{frsample01.tex}. In case of caption beside
-% float object, footnotes and foot text always placed below caption.
-%
-%
-% \RestoreSpaces
-% \subsection{Fine Tuning of Vertical Spaces of Float}
-% \label{sec:FBabskips}
+% (even if caption is above float object; see description of \FRkey{footposition}|=| key
+% on the page \pageref{setup:footposition}
+% and sample file \file{frsample01.tex}). In case of caption beside
+% float object, footnotes and foot text are always placed below caption.
%
+% \subsection{Fine Tuning of Vertical Spaces of Float}\label{sec:FBabskips}
% At the final variant of document you may need to correct vertical
% spaces between float and main text, between float object and
% caption.
%
-% To change space between float box and main text there you may use
+% To change space between float box and main text, you may use
% two simple commands |\FBaskip| and |\FBbskip|. For example define
-% \begin{verse}
+% \begin{Quote}
% |\renewcommand\FBaskip{-4pt}|
-% \end{verse}
-% to move up float box up (or reduce space above) by 4pt. In current
-% document the |\FBaskip| command was necessary for moving up
+% |\begin{figure}|
+% | ...|
+% |\end{figure}|
+% \end{Quote}
+% to move up float box up (or reduce space above) by 4pt. Or write
+% \begin{Quote}
+% |\renewcommand\FBbskip{-5pt}|
+% |\begin{figure}[t]|
+% | ...|
+% |\end{figure}|
+% \end{Quote}
+% to reduce space below (here: distance between figure and main text) by 5pt.
+% In current document the |\FBaskip| command was necessary for moving up
% some of wrapped figures.\nopagebreak
%
% Use |\vspace| command for vertical space correction around float
-% object\footnote{The plain float environment allows usage of
+% object\footnote{The plain floating environment allows usage of
% \cmd{\vskip} command. But \cmd{\floatbox} stuff
% (\cmd{\floatbox} itself, \cmd{\ffigbox} etc.) in case
% of usage of the \cmd{\FBwidth} option, gets error message
% when \cmd{\vskip} appears.}.
%
-% \RestoreSpaces
-% \subsection{Do not write that with \package{floatrow} package}
-%
-% The \package{floatrow} package creates some features or limitations
-% of float building. If you'll write something like
-%\begin{Quote}
-%\meta{preamble}
-%|\usepackage{floatrow}|
-%\meta{preamble}
-%|\begin{figure}|
-%| \caption{A table caption...}|
-%| \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}|
-%|\end{figure}|
-%\end{Quote}
-% please do not expect that caption appears at the top of table.
-%
-% \begingroup\clearfloatsetup{table}
-% \begin{table}[H]
-% \caption{A table caption must be placed above, wrong expect}\label{Wrong:expect}
-% \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}
-% \end{table}
-% \endgroup
-%
-% If
-% you want, e.g. to put table captions above its contents, you must
-% write |\floatsetup[figure]{style=plaintop}| in the preamble
-% (see also {\sectionname}~\ref{sec:floatsetup} about |\floatsetup| mechanism).
-% Another example. If you put beside floats by following way:
-%\begin{Quote}
-%\meta{preamble}
-%|\usepackage{floatrow}|
-%\meta{preamble}
-%|\begin{figure}|\nopagebreak\parskip0pt
-%|\begin{minipage}{0.5\textwidth}|
-%| \centering ...|
-%| \caption{A figure caption, disappeared, wrong expected row}|
-%|\end{minipage}|
-%|\begin{minipage}{0.5\textwidth}|
-%| \captionof{table}{A table caption, wrong expected row}}|
-%| \centering |
-%| \begin{tabular}{cc}|
-%| A & B \\ C & D |
-%| \end{tabular}|
-%|\end{minipage}|\nopagebreak
-%|\end{figure}|
-%\end{Quote}
-% you also won't get expected result.
-%\begin{figure}[H]
-%\begin{minipage}{0.5\textwidth}
-%\centering \input{Horse.picture}
-%\caption{A figure caption, disappeared, wrong expected row}
-%\end{minipage}
-%\begin{minipage}{0.5\textwidth}
-%\captionof{table}{A table caption, wrong expected row}
-%\centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}
-%\end{minipage}
-%\end{figure}
-% Read back the {\sectionname}s~\ref{sec:mixrow} and~\ref{sec:rawfloats} and correct the error.
+% \emph{Note}. If you'll write something like:
+% \begin{Quote}
+%\begin{preamble}
+% |\usepackage{floatrow}|
+%\end{preamble}
+% |\begin{figure}|\nopagebreak
+% | ...|
+% |\caption{...}|
+% |\vspace{-6pt}|\nopagebreak
+% |\end{figure}|
+% \end{Quote}
+% in \emph{plain} floats like in example above, you will change space between caption
+% and object (in the case of caption below object).
+% Again, for layout with caption above:
+% \begin{Quote}
+%\begin{preamble}
+% |\usepackage[|\FRkey{capposition}|=top]{floatrow}|
+%\end{preamble}
+% |\begin{figure}|\nopagebreak
+% |\vspace{-6pt}|\nopagebreak
+% |\caption{...}|
+% | ...|
+% |\end{figure}|
+% \end{Quote}
+% you will get the reduced space between caption above and object contents.
%
% \clearpage
% \section{Float Layout Settings}\label{sec:floatsetup}
%
% The idea of \package{floatrow} package is to avoid a lot of repeated code
-% inside document for creation of desired layout for floats
-% and make layout modification easier
-% if you ought to change book layout. In this case you could think only
-% about \emph{markup} of floats and their contents.
+% for creation of desired layout for floats inside the document text.
+% If you ought to change the layout of one float type or even of all float types,
+% the package allows also to make these modifications
+% of layout much easier. In this case you only have to care
+% about the \emph{markup} of floats and their contents.
%
-% The easy modification of common layout of all float or for one type of
-% float is possible because of the borrowed code from the \package{float}
-% package, which allows to modify layout of float boxes as a whole.
+% The easy modification of common layout of all float types or only for one
+% float type is possible because of the borrowed code from the \package{float}
+% package, which allows to modify layout of floats of one type as a whole.
%
-% The common layout and modification for captions and special
-% settings for
-% each type of float is supported by \package{caption} package, version~3.x.
+% The common layouts and modification for captions for all float types as a whole,
+% for each float type separately, and other special settings
+% are supported by \package{caption} package, version~3.\emph{x}.
%
% The layout settings of \package{floatrow} package are built similarly
-% to the settings from the \package{caption}~3.x package and use |\floatsetup|\footnote{Some key and
-% option names were changed from version 0.1d, the reason was
-% to arrange and make names more memorable, and, sometimes, reduction
-% of their names (see {\sectionname}~\ref{sec:changed}).} mechanism which is
-% analog to |\captionsetup| one\footnote{Look also at \package{caption}
+% to the settings from the \package{caption}~3.\emph{x} package. So the layout settings of the
+% |\floatsetup|\footnote{Some key and option names were changed from version 0.1d,
+% the reason was to arrange and make names more memorable, and, sometimes, reduction
+% of their names (see {\sectionname}~\ref{sec:changed}).} command are built in
+% similar way as layout settings
+% of the |\captionsetup| command\footnote{Look also at the \package{caption}
% documentation (version 3.0 and later)}.
%
-% \DescribeMacro{\floatsetup}
-% You may use layout settings stuff as \package{floatrow} option in
-% the |\usepackage| line.
+% You may use the layout settings as \package{floatrow} option in
+% the |\usepackage| line in the preamble of codument.
% \begin{Quote}
+%\begin{preamble}
% |\usepackage[|\meta{options}|]{floatrow}|\quad.
+%\end{preamble}
% \end{Quote}
% You may write
% \begin{Quote}
+%\begin{preamble}
% |\usepackage[style=boxed,font=small]{floatrow}|\quad.
+%\end{preamble}
% \end{Quote}
+%
+% \DescribeMacro{\floatsetup}
% The same result you get with the |\floatsetup| command:
% \begin{Quote}
+%\begin{preamble}
+% |\usepackage{floatrow}|
% |\floatsetup{style=boxed,font=small}|\quad.
+%\end{preamble}
% \end{Quote}
-% The lines above declare the \texttt{boxed} style and the |\small| font for
-% float contents. These settings were loaded for \emph{all} float types.
+% The lines above declare the |boxed| float style (this style creates
+% the frame around float object which is built by \LaTeX's |\fbox| command) and the
+% |\small| font for contents of float objects. These settings are loaded for \emph{all} float types.
%
-% The |\floatsetup| command has following form:
+% The usage of the |\floatsetup| command has following form:
% \begin{Quote}
-% |\floatsetup|\oarg{float type}\marg{options}\quad.
+% |\floatsetup|\oarg{float type}\marg{options}\quad,
% \end{Quote}
-%
-% For defining of a special style for the floats of one type, you can use optional
-% argument with name of necessary float type. The following command
+% where option \meta{float type} is the name of float type. You can use this optional
+% argument for creating of special settings of chosen float type. The following command
% \begin{Quote}
% |\floatsetup[table]{style=Plaintop}|
% \end{Quote}
% sets a special float style for floating tables: captions are placed above
-% float objects; in the case of floats are placed in one row, inside the \env{floatrow}
-% environment, text of captions is aligned by the top lines.%^^A
-% %^^A \footnote{The keys,
-% %^^A used in special settings for float of one type, are always
-% %^^A ``stronger'' than synonym keys in common setting. In other words,
-% %^^A if you want after example above to redefine float style for all
-% %^^A floats with \cmd{\floatsetup\{style={\normalfont \meta{option}}\}}
-% %^^A you won't change tables---use
-% %^^A \cmd{\floatsetup[table]}\allowbreak
-% %^^A \texttt{\{style={\normalfont \meta{option}}\}} again.}
-%
-% There are also special options of |\floatsetup| for settings for floats
-% in different positioning: two-column floats (starred environment, like
-% \env{figure*}, you may also use, for example, for wide floats) rotated
-% floats, wrapped floats. The ``strength'' of options in the lists below decreases
-% from previous item to next one (examples based on \env{figure}
-% environment)\footnote{In the case of the boolean key \texttt{rawfloats=} is switched to \texttt{true},
-% the options below for float layout are canceled.}:
-% \begin{itemize}\label{stsetorder}\itemsep0pt\parskip0pt
+% float objects; in the case of floats are placed in one row, inside the |floatrow|
+% environment, text of captions is aligned by the top lines.
+%
+% The |[table]| or the |[figure]| options are not the only options you are allowed to use.
+% The |\floatsetup| command allows usage of a number of special options for settings
+% for floats in different positioning: plain floats, two-column floats (in one-column layout
+% of the document, the starred environment like
+% |figure*| can be used for alternative float layout, e.g. for
+% wide floats, which expand to the margins) rotated floats, wrapped floats. There is also
+% minor support for floats with captions placed beside float objects.\medskip
+%
+% Below are lists of all possible options of the |\floatsetup| command.
+% They are based, as example, on the |figure| environment.
+% The ``strength'' of options in the lists below decreases
+% from the previous item to the next one.
+% \begin{itemize}\label{stsetorder}
% \item
-% Wide or two-column floats (e.g. \env{figure*}:
-% you may load special
-% settings for starred environments even in one-column document; that could be different margins for
-% floats, different alignment of captions):
+% Wide or two-column floats (|figure*|):
% \begin{itemize}
% \item
% |\floatsetup[widefigure]|\label{setup:widefigure}---the ``strongest'' settings;
-% if they absent, package uses settings from next item;
+% if they are absent, the settings from the next item will be used;
% \item
% |\floatsetup[widefloat]|\label{setup:widefloat}---these settings ``stronger''
% than settings from next item (|\floatsetup[figure]|);
-% if they absent, package uses settings from next item;
+% if they are absent, the settings from the next item will be used;
% \item
% |\floatsetup[figure]|;
-% if they absent, package uses settings from
+% if they are absent, package uses settings from
% optional argument in |\usepackage| line or |\floatsetup{...}|
-% command; if they absent---default package settings
+% command; if they are absent---the default package settings will be used
% (see page~\pageref{sec:default});
% \end{itemize}
% \item
-% Wrapped floats (\env{wrapfigure}, used width \package{wrapfig} package):
-% \begin{itemize}%\itemsep0pt\parskip.5\parskip
+% Wrapped floats (|wrapfigure|, used with \package{wrapfig} package):
+% \begin{itemize}
% \item |\floatsetup[wrapfigure]|\label{setup:wrapfigure};
% \item |\floatsetup[wrapfloat]|\label{setup:wrapfloat};
% \item |\floatsetup[figure]|;
% \end{itemize}
% \item
-% Rotated floats (in environments, like \env{sidewaysfigure},
-% used width \package{rotating} package):
-% \begin{itemize}%\itemsep0pt\parskip.5\parskip
+% Rotated floats (|sidewaysfigure|,
+% used with \package{rotating} package):
+% \begin{itemize}
% \item |\floatsetup[rotfigure]|\label{setup:rotfigure};
% \item |\floatsetup[rotfloat]|\label{setup:rotfloat};
% \item |\floatsetup[figure]|;
% \end{itemize}
% \item
% Wide or two-column rotated floats
-% (\env{sidewaysfigure*})\footnote{The settings
-% for wide float (\texttt{widefloat}, \texttt{widefigure})
-% removed---use settings for \texttt{widerotfloat}
-% and---here---\texttt{widerotfigure}}:
-% \begin{itemize}%\itemsep0pt\parskip.5\parskip
+% (|sidewaysfigure*|)\footnote{The settings
+% for wide float (|widefloat|, |widefigure|)
+% are absent---use settings for |widerotfloat|
+% and---here---|widerotfigure|}:
+% \begin{itemize}
% \item |\floatsetup[widerotfigure]|\label{setup:widerotfigure};
% \item |\floatsetup[widerotfloat]|\label{setup:widerotfloat};
% \item |\floatsetup[rotfigure]|;
@@ -1596,59 +1833,90 @@
% \item |\floatsetup[figure]|;
% \end{itemize}
% \item
-% Floats with beside captions (please note, that settings in these options are limited, see below):
-% \begin{itemize}%\itemsep0pt
+% Floats with beside captions (please note, that settings in these options are limited,
+% see next section):
+% \begin{itemize}
% \item |\floatsetup[capbesidefigure]|\label{setup:capbesidefigure};
% \item |\floatsetup[capbesidefloat]|\label{setup:capbesidefloat};
% \item
-% setting of outer environments from previous items:
-% \env{sidewaysfigure*}, \env{sidewaysfigure}, \env{figure*} and \env{figure}.
+% setting of outer environments from previous items, e.g.,
+% |sidewaysfigure*|, |sidewaysfigure|, |figure*| and |figure|.
% \end{itemize}
% \end{itemize}
-% You can also create and change special settings for captions, using
-% the same \meta{float~type} options in |\captionsetup| stuff.\nopagebreak
%
-% The next few sections describe keys of |\floatsetup| macro.
+% \emph{Notes}.\nopagebreak
%
-% \subsection{Floatsetup Keys}\label{sec:floatkeys}
+% 1)\enskip You can also create and change special settings for captions of
+% necessary float types or subtypes, using
+% co-named \meta{float~type} options inside the |\captionsetup| command,
+% e.g., |\captionsetup[widefigure]{...}|.
+%
+% 2)\enskip Please note that with |\RawFloats[...]| command and |rawfloats=| key
+% (\sectionname~\ref{sec:rawfloats}) you will cancel all layout
+% settings created as options in the |\usepackage| line or inside
+% the |\floatsetup| command for all chosen float types/subtypes.
+%
+% {\sloppy3)\enskip Since the |floatrow| environment ({\sectionname}~\ref{sec:floatrow})
+% and |\floatbox| commands (e.g. |\ffigbox|, |\ttabbox|, see {\sectionname}~\ref{sec:floatbox})
+% still work after both |\RawFloats| (|\RawFloats[...]|) command and |rawfloats=| key (see example width
+% figure~\ref{leftfig:raw} and table~\ref{righttab:raw})\label{FAD:MixedRow}, these boxes
+% still support layout settings. But please note, that inside |\floatbox| commands
+% only~\nobreak\quad1)\nobreak\enskip layout settings of the package,
+% written in |\usepackage| line and inside |\floatsetup{...}|,
+% and~\nobreak\quad2)\nobreak\enskip settings for main types of floats like |\floatsetup[figure]{...}|
+% or |\floatsetup[table]{...}| can work;
+% settings for all subtypes will be canceled.\par}\medskip\nopagebreak
%
-% \subsubsection{Float Style}
+% The next few sections describe keys of |\floatsetup| macro.
%
+% \subsection{Floatsetup Keys}\label{sec:floatkeys}
+% \FRorisubsubsection{Float Style}
% \DescribeMacro{style}\label{setup:style}%^^A
-% The \emph{float style} could include alignment of float contents, margins, boxes or lines,
-% if necessary, and other options.
+% The \emph{float style} could include settings of the justification (in particular) of float contents;
+% margins (in particular the alignment of float boxes); separation material between objects and captions
+% and between float boxes in a~row (mainly spaces); frames or lines and other options.
+%
% The \emph{float style} is specified by following way:
-% \par\RestoreSpaces
% \begin{Options}{style=float style name }
% \item[style=\rmfamily\mdseries\meta{float style name} ,]
% the name of the \meta{float style name} option you may take from
% table~\ref{tab:floatlayouts}.
% \item[...]
-% You may create your own options with \\|\DeclareFloatStyle| command,
+% You may create your own options with the \\|\DeclareFloatStyle| command,
% see page~\pageref{ssec:declstyle}.
% \end{Options}
%
-% As you may see in the table~\ref{tab:floatlayouts}, there are included all float styles
+% As you may see in the table~\ref{tab:floatlayouts}, the \package{floatrow} package
+% includes all float styles
% which emulate co-named ones from the \package{float} package.
%
-% Please note, that usage of \texttt{style=} key for floats with beside captions,
+% Please note, that usage of |style=| key for floats with beside captions,
% i.e.~using |\floatsetup| settings with options like, e.g.,
-% |[capbesidefigure]| or |[capbesidefloat]|
-% cancels settings for beside position of caption. Usually the floats with beside captions
-% can set different alignment of captions, so the radical changes for float layout
-% with beside caption in current version could get wrong results (see
-% {\sectionname}~\ref{page:killfloatstyle} how to solve this problem).\medskip
+% |[capbesidefigure]| or |[capbesidefloat]| can destroy layout for this float subtype.
+% For example that key cancels settings for beside position of caption.
+% If you really need to create the alternative
+% layout for floats with beside captions, for example to print float objects in frames,
+% using the |Boxed| style:~\nobreak\quad1)\nobreak\enskip if you are creating
+% one-column document, revise your settings
+% which were used for float creation, maybe you didn't use the settings for
+% starred floating environments, like |figure*|, so you can load necessary settings for
+% floats with beside caption inside |\floatsetup[widefigure]{...}|, and then
+% use |figure*| environment for floats with beside captions;~\nobreak\quad2)\nobreak\enskip
+% if you can't follow advice of the previous item, you may use a bit risky
+% variant with usage of |\killfloatstyle| command,
+% see {\sectionname}~\ref{page:killfloatstyle}.\bigskip
%
% The \package{caption} package uses its own settings and names for caption layout styles.
-% The caption's \texttt{ruled} style is the only one from \package{float}
-% package, which was predefined in \package{caption} package. To use it,
-% write
+% The caption's |ruled| style is the only one from \package{float}
+% package, which was predefined in \package{caption} package. (The |ruled| style
+% is used by the \package{floatrow} package as well as other \package{float} package's
+% styles.) To use caption settings of the |ruled| style, you may write
% \begin{Quote}
% |\captionsetup[figure]{style=ruled}|\quad .
% \end{Quote}
%
% \begingroup\vfill
-% \jot3pt\tabcolsep1.5\tabcolsep
+% \jot4pt\tabcolsep1.5\tabcolsep
% \newlengthtocommand\settowidth\Icolumn{\small\texttt{wshadowboxx}}
% \newlengthtocommand\settowidth\IIcolumn{\small\texttt{framestyle=wshadowbox}}
% \newlengthtocommand\setlength\IIIcolumn{\textwidth-\Icolumn-\IIcolumn
@@ -1660,142 +1928,149 @@
% p{\hsize}}
% #2\unskip\botstrut\end{tabular}\hspace*{-\tabcolsep}%
% }
+% \def\LongtableHead{
+% \hfil\thead{Style} &
+% \hfil\thead{\cmd{\floatsetup} keys} &
+% \hfil\thead{Description}
+% }
% \begin{longtable}{|>{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\Icolumn}
% |>{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\IIcolumn}
-% |>{\parindent1em\topstrut}p{\IIIcolumn}<{\botstrut}|}
+% |>{\parindent1em\sloppy\topstrut}p{\IIIcolumn}<{\botstrut}|}
% \caption{Float layout styles}\label{tab:floatlayouts}\\
% \hline
-% \hfil\thead{Style} &
-% \hfil\thead{\cmd{\floatsetup} keys} &
-% \hfil\thead{Description} \\
-% \hline
+% \LongtableHead \\ \hline\noalign{\vskip-.4pt}
% \endfirsthead
-% \caption[]{Float layout styles \textmd{(\emph{Continued})}}\\
-% \hline
-% \hfil\thead{Style} &
-% \hfil\thead{\cmd{\floatsetup} keys} &
-% \hfil\thead{Description} \\
+% \captionsetup{labelformat=continued}\caption[]{}\\
% \hline
+% \LongtableHead \\ \hline\noalign{\vskip-.4pt}
% \endhead
-% \caption[]{Float layout styles \textmd{(\emph{Finished})}}\\
-% \hline
-% \hfil\thead{Style} &
-% \hfil\thead{\cmd{\floatsetup} keys} &
-% \hfil\thead{Description} \\
+% \captionsetup{labelformat=finished}\caption[]{}\\
% \hline
+% \LongtableHead \\ \hline\noalign{\vskip-.4pt}
% \endlasthead
+% \noalign{\vskip-.4pt}\hline
% \multicolumn{3}{r@{}}{\topstrut\emph{Continued on next page}}
% \endfoot
+% \noalign{\vskip-.4pt}\hline
% \multicolumn{3}{r@{}}{\topstrut\emph{Finished on next page}}
% \endprelastfoot
% \endlastfoot
% \multicolumn{3}{|c|}{Offered by \package{floatrow} package\botstrut\topstrut}\\
-% \hline \leftcell{\texttt{plain}\label{setup:plain}{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]}}
+% \hline \leftcell{plain\label{setup:plain}{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]}}
% & \leftcell{\meta{none}}
-% &The style \texttt{plain} is standard \LaTeX's layout. Put captions always below float object's contents.
+% &The style |plain| is standard \LaTeX's layout. Puts captions always below float object's contents.
% \\\hline
-% \leftcell{\texttt{plaintop}{\mpfootnotemark[1]}
-% \botstrut\\ \hline\topstrut\texttt{Plaintop}}
-% & \leftcell[50mm]{capposition=top\botstrut\\ \hline\topstrut
-% capposition=TOP}
-% &The style \texttt{plaintop} is the same as \texttt{plain} style, but puts captions above float object's contents---%^^A
-% this style is analog of
-% the co-named style from the \package{float} package.\par Capitalized form, |Plaintop|,
-% aligns captions of the floats, which were placed in the one row
-% (in the \env{floatrow} environment),
-% by top line (see example on the page~\pageref{tab:row:tabIII})
+% \leftcell{\topstrut plaintop{\mpfootnotemark[1]}\botstrut}
+% & \leftcell[50mm]{\topstrut capposition=top\botstrut}
+% &The style |plaintop| is the same as |plain| style, but puts captions above
+% float object's contents---this style is analog to
+% the co-named style from the \package{float} package.\\ \cline{1-2}
+% \leftcell{\topstrut Plaintop\botstrut}
+% %^^A
+% & \leftcell[50mm]{\topstrut capposition=TOP\botstrut}
+% & Capitalized form, |Plaintop|,
+% aligns captions of the floats, which were placed in one row
+% (in the |floatrow| environment),
+% by top line (see example on the page~\pageref{tab:row:tabIII}).
% \\\hline
-% \leftcell{\texttt{ruled}\label{setup:ruled}{\mpfootnotemark[1]\mpfootnotemark[3]}
-% \\ \\ \\ \\ \botstrut\\ \hline\topstrut\texttt{Ruled}\smash{\mpfootnotemark[2]}}
-% & \leftcell[50mm]{capposition=top,\\ precode=thickrule,\\
+% \leftcell{\topstrut ruled\label{setup:ruled}\mpfootnotemark[1]\mpfootnotemark[3]\botstrut}
+% & \leftcell[50mm]{\topstrut capposition=top,\\ precode=thickrule,\\
% midcode=rule,\\ postcode=lowrule,\\
-% heightadjust=all\botstrut\\ \hline\topstrut
-% style=ruled,\\ capposition=TOP}
-% &The first style, \texttt{ruled}, emulates co-named style from the \package{float} package.
+% heightadjust=all\botstrut}
+% & The first style, |ruled|, emulates co-named style from the \package{float} package.
% It places thick rule
% above float box, and thin rules between caption and object and below float. Rules are separated
-% from contents by small 2pt skip.\par
-% Capitalized form, |Ruled|, aligns captions of the floats, which were placed
-% in the one row (in the \env{floatrow} environment),
-% by top line (see example on the page~\pageref{example:ruledcapposTOP})
+% from contents by small 2pt skip (see example on the page~\pageref{leftfig:ruled}).\\ \cline{1-2}
+% %^^A
+% \leftcell{\topstrut Ruled\smash{\mpfootnotemark[2]}\botstrut}
+% & \leftcell[50mm]{\topstrut style=ruled,\\ capposition=TOP\botstrut}
+% & Capitalized form, |Ruled|, aligns captions of the floats, which were placed
+% in one row (in the |floatrow| environment),
+% by top line (see example on the page~\pageref{leftfig:Ruled}).
% \\\hline
-% \leftcell{\texttt{boxed}\smash{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]\mpfootnotemark[4]}
-% \\ \\ \\ \botstrut\\ \hline\topstrut\texttt{Boxed}\label{setup:Boxed}\smash{\mpfootnotemark[2]\mpfootnotemark[3]}
-% \\ \botstrut\\ \hline\topstrut\texttt{BOXED}\smash{\mpfootnotemark[2]}\mpfootnotemark[3]}
+% \leftcell{\topstrut boxed\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]\mpfootnotemark[4]\botstrut}
% & \leftcell[50mm]{captionskip=2pt,\\framestyle=fbox,\\
-% heightadjust=object,\\framearound=object\botstrut\\ \hline\topstrut
-% style=boxed,\\ framefit=yes\botstrut\\ \hline\topstrut
-% framestyle=fbox,\\ framefit=yes,\\
-% heightadjust=all,\\ framearound=all}
-% &The first style, \texttt{boxed}, emulates (again) co-named style from the \package{float} package.
-% The width of object equals to the |\textwidth|, predefined \cmd{\hsize}, or
+% heightadjust=object,\\framearound=object\botstrut}
+% &The first style, |boxed|, emulates co-named style from the \package{float} package.
+% The \emph{width of object} equals to the |\textwidth|, predefined |\hsize|, or
% the width in |\floatbox|'s option;
% frame climbs out to the right and left sides (see example on the page~\pageref{fig:setup:boxed}).
-% Frame separation and rule width equal to current \cmd{\fboxsep} and \cmd{\fboxrule} settings. (Default values
-% are \texttt{3pt} and \texttt{.4pt} consequently.)\par
-% In capitalized form, |Boxed|, the frame around object fits the
-% \cmd{\textwidth}, predefined \cmd{\hsize}, or the width in |\floatbox|'s option; the width of object
-% is reduced to fit inside frame (see example on the page~\pageref{fig:plain:MyBoxed}).\par
-% Uppercase form, |BOXED|,
-% draws frame which fits to current \cmd{\textwidth}, predefined \cmd{\hsize}, or the width in |\floatbox|'s option,
+% Frame separation and rule width equal to current |\fboxsep| and |\fboxrule| settings.
+% (Default values
+% are \texttt{3pt} and \texttt{.4pt} consequently.)\\ \cline{1-2}
+% %^^A
+% \leftcell{\topstrut|Boxed|\label{setup:Boxed}\mpfootnotemark[2]\mpfootnotemark[3]\botstrut}
+% & \leftcell[50mm]{\topstrut style=boxed,\\ framefit=yes\botstrut}
+% & In capitalized form, |Boxed|, \emph{the width of frame} around object fits the
+% |\textwidth|, predefined |\hsize|, or the width in |\floatbox|'s option; the width of object
+% is reduced to fit inside frame (see example on the page~\pageref{fig:setup:Boxed}).\\ \cline{1-2}
+% %^^A
+% \leftcell{\topstrut|BOXED|\smash{\mpfootnotemark[2]}\mpfootnotemark[3]\botstrut}
+% & \leftcell[50mm]{\topstrut framestyle=fbox,\\ framefit=yes,\\
+% heightadjust=all,\\ framearound=all\botstrut}
+% & Uppercase form, |BOXED|,
+% draws frame which fits to current |\textwidth|, predefined |\hsize|,
+% or the width in |\floatbox|'s option,
% but around all float elements: caption, object and foot material
-% (see example on the page~\pageref{fig:wrapfig:WcatII})
+% (see example on the page~\pageref{BOXED:heightmod}).
% \\ \hline
% \multicolumn{3}{|c|}{Offered by \package{fr-fancy} package.
% They also need \package{fancybox} package.\botstrut\topstrut}\\*
-% \hline \leftcell{\texttt{shadowbox}\smash{\mpfootnotemark[4]}
-% \\ \botstrut\\ \hline\topstrut\texttt{Shadowbox}
-% \\ \botstrut\\ \hline\topstrut\texttt{SHADOWBOX}}
+% \hline \leftcell{|shadowbox|\smash{\mpfootnotemark[4]}
+% \\ \botstrut\\ \hline\topstrut|Shadowbox|
+% \\ \botstrut\\ \hline\topstrut|SHADOWBOX|}
% & \leftcell[50mm]{style=boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut
% style=Boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut
% style=BOXED,\\framestyle=shadowbox}
-% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED}
-% consequently. The \cmd{\fbox} frame changed to \cmd{\shadowbox}
+% &The same as |boxed|, |Boxed| and |BOXED|
+% consequently. The |\fbox| frame changed to |\shadowbox|
% from \package{fancybox} package (see example on the page~\pageref{fig:subfig:catsI}).
-% Besides \cmd{\fboxsep} and \cmd{\fboxrule}, there is added parameter
-% \cmd{\shadowsize}---the width of shadow,
-% default is \texttt{4pt}
+% Besides |\fboxsep| and |\fboxrule|, there is added parameter
+% |\shadowsize|---the width of shadow,
+% default is |4pt|.
% \\ \hline
-% \leftcell{\texttt{doublebox}\smash{\mpfootnotemark[4]}
-% \\ \botstrut\\ \hline\topstrut\texttt{Doublebox}\\
-% \botstrut\\ \hline\topstrut\texttt{DOUBLEBOX}}
+% \leftcell{|doublebox|\smash{\mpfootnotemark[4]}
+% \\ \botstrut\\ \hline\topstrut|Doublebox|\\
+% \botstrut\\ \hline\topstrut|DOUBLEBOX|}
% & \leftcell[50mm]{style=boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut
% style=Boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut
% style=BOXED,\\ framestyle=doublebox}
-% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED}
-% consequently. The \cmd{\fbox} frame changed to \cmd{\doublebox}
-% from \package{fancybox} package. The frame shape control \cmd{\fboxrule} and \cmd{\fboxsep} parameters
-% \\ \hline\noalign{\penalty-500}
+% &The same as |boxed|, |Boxed| and |BOXED|
+% consequently. The |\fbox| frame changed to |\doublebox|
+% from \package{fancybox} package (see example on the page~\pageref{fig:parpic:BcatII}).
+% The frame shape is controlled by |\fboxrule| and |\fboxsep| parameters.
+% \\ \hline\noalign{\penalty-9000}
% \multicolumn{3}{|c|}{Additional float styles. They also need
-% \package{fancybox} package.\botstrut\topstrut}\\* \hline
-% \leftcell{\texttt{wshadowbox}\smash{\mpfootnotemark[4]}
-% \\ \botstrut\\ \hline\topstrut\texttt{Wshadowbox}
-% \\ \botstrut\\ \hline\topstrut\texttt{WSHADOWBOX}}
+% \package{fancybox} package.\botstrut\topstrut}\cr\noalign{\nobreak} \hline
+% \leftcell{|wshadowbox|\smash{\mpfootnotemark[4]}
+% \\ \botstrut\\ \hline\topstrut|Wshadowbox|
+% \\ \botstrut\\ \hline\topstrut|WSHADOWBOX|}
% & \leftcell[50mm]{style=boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut
% style=Boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut
% style=BOXED,\\framestyle=wshadowbox}
-% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED}
-% consequently. The \cmd{\fbox} frame changed to \cmd{\wshadowbox},
-% based on \cmd{\shadowbox} (but drops white shade from frame, or
+% &The same as |boxed|, |Boxed| and |BOXED|
+% consequently. The |\fbox| frame changed to |\wshadowbox|,
+% based on |\shadowbox| (but drops white shade from frame, or
% draws edges of ``second copy'') from \package{fancybox} package
% (see example on the page~\pageref{fig:floatflt:WcatI}), you may use the same frame parameters like
-% \texttt{shadowbox} style.
+% in |shadowbox| style.
% \\\hline
% %^^A \multicolumn3{@{}p{\hsize}@{}}
% \noalign
-% {\floatfoot*{When there is set float style with frame around object is
-% fitted to the box width (like \texttt{Boxed}, etc.), and
+% {\floatfoot*{When a~float style is set with frame around object which is
+% fitted to the box width (like |Boxed|, etc.), and
% \cmd{\floatbox} macro uses \cmd{\FBwidth} command as \meta{width}
-% option, which sets box width equal to float object's width (see
-% page~\pageref{sec:floatbox}), the width of all float other elements
-% in this case enlarged to get width of framed object.\vspace{-3pt}\par
+% option, which sets box width equal to float object's width, the width of all other
+% float elements in this case enlarged to get width of framed object
+% (see figure~\ref{fig:setup:FBwidth:Boxed} on the page~\pageref{fig:setup:FBwidth:Boxed}).\vspace{-3pt}\par
% \rule{1in}{.4pt}\vspace{2pt}\parindent15pt
+%^^A \footnoterule
%
-% \mpfootnotemark[1]{The styles co-named and analogous to \package{float} package style.}
+% \mpfootnotemark[1]{The styles co-named and analogous to \package{float} package styles.}
%
-% \mpfootnotemark[2]{This style used in the sample file \file{frsmaple01.tex}}
+% \mpfootnotemark[2]{This style is used in the sample file \file{frsmaple01.tex}}
%
-% \mpfootnotemark[3]{This style used in the sample file \file{frsmaple02.tex}}
+% \mpfootnotemark[3]{This style is used in the sample file \file{frsmaple02.tex}}
%
% \mpfootnotemark[4]{During usage of these styles in
% \env{floatrow} environment you ought to enlarge
@@ -1803,17 +2078,9 @@
% }}
% \end{longtable}
%
-%
% \endgroup
%
-%
-%
-% \RestoreSpaces
-%
-%^^A\pagebreak[4]
-%
-% \subsubsection{Font settings}\label{setup:start}
-%
+% \subsubsection{Font Settings}\label{setup:start}
% \DescribeMacro{font}\label{setup:font}%^^A
% Defines font for float object contents. Option
% analogous to |font=| key in |\captionsetup| stuff.\nopagebreak
@@ -1840,7 +2107,7 @@
% \item[sf] {\sffamily Sans Serif family}
% \item[tt] {\ttfamily Typewriter family}
% \item[...]
-% You may create your own options with |\DeclareFloatFont| command,
+% You may create your own options with the |\DeclareFloatFont| command,
% see page~\pageref{ssec:declfont}.
% \end{Options}
%
@@ -1848,7 +2115,7 @@
% \begin{Quote}
% |font=small|
% \end{Quote}
-% this option is used in current documentation, or
+% (which is used in current documentation), or
% \begin{Quote}
% |font={small,sf}|\quad .
% \end{Quote}
@@ -1858,30 +2125,49 @@
% Defines font for legends or explications (defined by |\floatfoot| command,
% see~\textsl{\sectionname}~\ref{subsec:floatfoot}). This macro
% uses |\captionsetup| mechanism (because |\floatfoot| macro
-% uses \package{caption} mechanism). By default the font size
+% uses \package{caption} package's mechanism and utilities). By default the font size
% of float foot text equals to footnote text: |footfont=footnotesize|.
%
-% \RestoreSpaces
-% \subsubsection{Position of Caption and of Other Elements}
+% \paragraph{Font Settings for longtable.}
+% The font settings loaded in |\floatsetup|
+% in |longtable| environment could expand to captions\footnote
+% {The version 3.1 of \package{caption} package corrects that.}.
+% In this case, when you write something like
+% \begin{Quote}
+% |\floatsetup{font={sf,scriptsize,it}...|
+% \end{Quote}
+% or
+% \begin{Quote}
+% |\floatsetup[longtable]{font={sf,scriptsize,it}...|
+% \end{Quote}
+% for floats (or for [long]tables only), you ought to restore correct
+% font size, family, shape (here) and series for caption contents and write:
+% \begin{Quote}
+% |\captionsetup{font={rm,small,up}...|
+% \end{Quote}
+% or
+% \begin{Quote}
+% |\captionsetup[longtable]{font={rm,small,up}...|
+% \end{Quote}
%
+% \subsubsection{Position of Caption}
% \DescribeMacro{capposition}\label{setup:capposition}%^^A
-% Defines position of captions. It is similar to \texttt{position=}
+% Defines position of captions. It is similar to |position=|
% key in \package{caption} package, but it has two additional
% options\footnote{The option \texttt{auto} isn't used by
-% \texttt{capposition=}.}: \texttt{TOP}%^^A
+% \texttt{capposition=}.}:~\nobreak\qquad1)\nobreak\enskip|TOP|%^^A
% \FRmpar{Caption above\\ table object}{FAD:CaptionAboveTableII}, if you prefer to align captions
-% above objects, in the case of beside floats (in \env{floatrow}
-% environment), by the top line; and \texttt{beside} to put caption
-% beside object (this option could be more preferable in settings
+% above objects, in the case of beside floats (in |floatrow|
+% environment), by the top line;~\nobreak\qquad2)\nobreak\enskip|beside| to put caption
+% beside object (this option could be more popular in settings
% for one environment, see about |\thisfloatsetup| on the
% page~\pageref{thisfloatsetup}):
-% \par\RestoreSpaces
% \begin{Options}{\OptionLabel}
% \item[top] caption above object;
% \item[TOP] caption above object and also aligned by top line in float
% row.
-% For example the \texttt{Plaintop} style is the variant of
-% \texttt{plaintop} where used |capposition=TOP| settings,
+% For example the |Plaintop| style is the variant of
+% |plaintop| where used |capposition=TOP| settings,
% see tables~\ref{tab:row:tabIII:CAPTOP}--\ref{tab:row:tabIV:CAPTOP};
% \item[bottom] caption below object;
% \item[beside] caption beside object.%^^A
@@ -1890,8 +2176,8 @@
%
% Compare two examples:
% \begin{Quote}
-% |\floatsetup[table]{|\hyperref[setup:style]{\texttt{style}}%^^A
-% |=plain,capposition=top}%|${}\equiv\texttt{style=plaintop}$
+% |\floatsetup[table]{|\FRkey{style}%^^A
+% |=plain,capposition=top}%|${}\equiv{}$|style=plaintop|
% \end{Quote}
% \DeleteShortVerb{\|}%
% \begingroup
@@ -1938,8 +2224,8 @@
% \MakeShortVerb{\|}%
%
% \begin{Quote}
-% |\floatsetup[table]{|\hyperref[setup:style]{\texttt{style}}%^^A
-% |=plain,capposition=TOP}%|${}\equiv\texttt{style=Plaintop}$
+% |\|\FRkey{floatsetup}|[table]{|\FRkey{style}%^^A
+% |=plain,capposition=TOP}%|${}\equiv{}$|style=Plaintop|
% \end{Quote}
% \DeleteShortVerb{\|}%
% \begingroup
@@ -1987,28 +2273,31 @@
% \endgroup
% \MakeShortVerb{\|}%
%
-% \emph{Note}. The option \texttt{TOP} uses |\label|---|\ref|
+% \emph{Note}. The option |TOP| uses |\label|---|\ref|
% mechanism, so, to get necessary result with it, you need to run \LaTeX{}
% twice (when you make changes in contents which could change number
-% of lines you get correct result also on the second run).\pagebreak[3]
+% of lines, you get correct result also on the second run).
%
-% \medskip\noindent
+% \subsubsection{Position of Beside Caption}
% \DescribeMacro{capbesideposition}\label{setup:capbesideposition}%^^A
% Defines position of beside captions: vertical and horizontal.
% For horizontal position there are defined four options:
-% \par\RestoreSpaces
% \begin{Options}{\OptionLabel}
% \item[left]
-% caption is printed to the left side of object;
+% caption is printed to the left side of object (the default option, see example above);
% \item[right]
% caption is printed to the right side of object;
% \item[inside]
% caption is printed in binding side of page if |twoside| option
-% switched on in document class;
+% switched on in document class and key \FRkey{facing}|=yes| is used;
+% in |oneside| option of document (or key |facing=no| is used),
+% caption is printed at the left side;
% \item[outside]
% least popular option: caption printed in
% outer side of page if |twoside| option switched on
-% in document class.
+% in document class and key |facing=yes| is used;
+% in |oneside| option of document (or key |facing=no| is used),
+% caption is printed at the right side.
% \end{Options}
%
% For vertical position there are defined three options
@@ -2018,7 +2307,7 @@
% \item[bottom]
% caption aligned to the bottom of object;
% \item[center]
-% caption aligned to the center of float contents.
+% caption aligned to the center of object.
% \end{Options}
% You may define position of beside caption by following:
% \begin{Quote}
@@ -2027,7 +2316,7 @@
% See examples in file \file{frsample02.tex} with all variants of
% position of captions beside float objects.
%
-% \medskip\noindent
+% \subsubsection{Defining The Width of Beside Caption}
% \DescribeMacro{capbesidewidth}\label{setup:capbesidewidth}%^^A
% Defines width of beside caption. This option could be more preferable
% in settings for one environment, see about |\thisfloatsetup| on the
@@ -2035,116 +2324,199 @@
% \begin{Quote}
% |capbesidewidth=4cm|\quad.
% \end{Quote}
-% If you'll write \texttt{capbesidewidth=none} or
-% \texttt{capbesidewidth=sidefil} (this is default key setting), the
-% width of caption will be counted by usual way, accordingly
+% (see figure~\ref{capbesideframeI}). If you'll write |capbesidewidth=none| or
+% |capbesidewidth=sidefil| (this is default key setting), the
+% width of caption will be calculated by usual way, accordingly
% to float width (i.e. occupies the rest width of float box, see
% figure~\ref{intro:beside:FBwidth} on the page~\pageref{intro:beside:FBwidth}).
%
+% \subsubsection{Defining Width of Object}\label{sec:wd:object}
+% \noindent
+% \DescribeMacro{floatwidth}\label{setup:floatwidth}%^^A
+% It is used for redefinition of width of objects.
+% This key, similar to |\capbesidewidth=|:
+% \begin{Quote}
+% |floatwidth=.35\hsize|
+% \end{Quote}
+% or
+% \begin{Quote}
+% |floatwidth=7cm|
+% \end{Quote}
+% It could be used at first for settings of one floating environment
+% (see page~\pageref{thisfloatsetup} about settings for current floating environment
+% and |\thisfloatsetup|).\pagebreak[1]
+%
+% \begingroup
+% \begin{Quote}
+% \begin{preamble}
+% |\floatsetup[figure]{|\FRkey{margins}|=raggedright}|\nopagebreak
+% \end{preamble}
+% |\|\FRkey{thisfloatsetup}%^^A
+% |[figure]{floatwidth=.35\hsize}|\nopagebreak
+% |\begin{figure}|
+% | \includegraphics[width=\hsize]{Bear}|
+% | \caption{...}\label{...}|
+% |\end{figure}|
+% \end{Quote}%
+%
+% \floatsetup[figure]{margins=raggedright}
+% \thisfloatsetup{floatwidth=.35\hsize}
+% \begin{figure}[H]
+% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A
+% \caption{Graphics with settings \texttt{floatwidth=0.35}\cmd{\hsize} moved to the left margin}%
+% \label{fig:floatwidth}
+% \end{figure}%
+% \endgroup
+%
+% \begingroup
+% \begin{Quote}%
+% |\|\FRkey{thisfloatsetup}%^^A
+% |{floatwidth=.35\hsize,|\FRkey{capbesidewidth}|=sidefil,|\nopagebreak
+% | |\FRkey{capposition}|=beside,|\FRkey{capbesideposition}|=right}|
+% |...|
+% \end{Quote}%
+%
+% \thisfloatsetup{floatwidth=.35\hsize,capbesidewidth=sidefil,
+% capposition=beside,capbesideposition=right}
+% \begin{figure}[H]
+% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A
+% \caption{Caption beside graphics with the width settings \texttt{floatwidth=0.35}\cmd{\hsize}}%^^A
+% \label{fig:beside:floatwidth}
+% \end{figure}%
+% \endgroup
+% (These examples you can write also using box commands with the width option: |\ffigbox[.35\hsize]|
+% and |\fcapside[.35\hsize]| consequently.)
+%
+% If you use option |floatwidth=sidefil| for objects with beside
+% captions (in the case of key |capbesidewidth=|, uses absolute
+% value, like |capbesidewidth=4cm|) the box with object contents (instead of caption's)
+% occupies the rest space of float box (see
+% figure~\ref{capbesideframeI} on the page~\pageref{capbesideframeI} and appendix,
+% figure~\ref{fig:capbeside:trick} on the
+% page~\pageref{fig:capbeside:trick}).
+%
+% \subsubsection{Other Settings for Beside Captions}
% \medskip\noindent
% \DescribeMacro{capbesideframe}\label{setup:capbesideframe}%^^A
% This boolean key declares whether the beside caption stays near the framed object
-% (\texttt{capbesideframe=yes}) in this case caption lines aligned by top
+% (|capbesideframe=yes|) in this case caption lines will be aligned by top
% or bottom of frame; otherwise caption lines will be aligned with top or
-% bottom of framed object's \emph{contents} (\texttt{capbesideframe=no}).
-% This key was switched on in the example on the page~\pageref{fig:subfig:catsI}.
+% bottom of framed object's \emph{contents} (|capbesideframe=no|).
% \newcommand\TEXTBOX[1][]{\par
-% Here goes first line of text \text\par
+% Here goes first line of text \Text\par
% There goes second line of text#1\par
-% Thence goes third line of text \text\par
-% Hence goes fourth line of text}
-% \def\text{{\mdseries And more text and some more text and a bit more text and
+% Hence goes third line of text\par
+% Thence goes fourth line of text}
+% \def\Text{{\mdseries and more text and some more text and a bit more text and
% a little more text and a little piece of text to fill space}}
%\begingroup
% \begin{Quote}
-% \meta{preamble}
-% |\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=Boxed,|%^^A
-% \hyperref[setup:frameset]{\texttt{frameset}}|={\fboxsep8pt},|
-% | |\hyperref[setup:objectset]{\texttt{objectset}}|=justified,|%^^A
-% |capbesideframe=no,capbesideposition={right,top}}|
+% \begin{preamble}
+% |\floatsetup[figure]{|\FRkey{style}|=Boxed,|%^^A
+% \FRkey{frameset}|={\fboxsep8pt},|\nopagebreak
+% | |\FRkey{objectset}|=justified,|%^^A
+% |capbesideposition={right,top},capbesideframe=yes}|
% |\captionsetup[figure]{...,strut=no}|
-% \meta{preamble}
-% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A
-% |{|\hyperref[setup:capposition]{\texttt{capposition}}|=beside,|
-% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=sidefil,|%^^A
-% \hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=4cm}|
+% \end{preamble}
+% |\|\FRkey{thisfloatsetup}%^^A
+% |{|\FRkey{capposition}|=beside,|
+% | |\FRkey{floatwidth}|=sidefil,|%^^A
+% \FRkey{capbesidewidth}|=4cm}|
% |\begin{figure}|
% | ...|
-% | \caption{...}\label{...}|
+% | \caption{...}\label{...}|\nopagebreak
% |\end{figure}|
+% | |
% \end{Quote}%
-% \floatsetup[figure]{style=Boxed,frameset={\fboxsep8pt},capbesideframe=no,objectset=justified,
+% \floatsetup[figure]{style=Boxed,frameset={\fboxsep8pt},capbesideframe=yes,objectset=justified,
% capbesideposition={right,top},footnoterule=limited}
% \captionsetup[figure]{strut=no}
% \thisfloatsetup{capposition=beside,floatwidth=sidefil,capbesidewidth=4cm}
% \begin{figure}[H]
% {\TEXTBOX}
-% {\caption{Caption beside framed object, (caption has width 4\,cm), aligned by top of object contents}%%^^A
+% {\caption{Caption beside framed object, (caption has width 4\,cm), aligned by top of frame}%%^^A
% \label{capbesideframeI}}%
% \end{figure}
% \begin{Quote}
-% \meta{preamble}
-% |\floatsetup[figure]{...,capbesideframe=yes,...}|
+% \begin{preamble}
+% |\floatsetup[figure]{...,capbesideframe=no}|
% |...|
-% \meta{preamble}
-% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A
-% |{|\hyperref[setup:capposition]{\texttt{capposition}}|=beside,|
-% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=9cm,|%^^A
-% \hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=sidefil}|
+% \end{preamble}
+% |\|\FRkey{thisfloatsetup}%^^A
+% |{|\FRkey{capposition}|=beside,|
+% | |\FRkey{floatwidth}|=9cm,|%^^A
+% \FRkey{capbesidewidth}|=sidefil}|
+%| |
% \end{Quote}%
-% \floatsetup[figure]{capbesideframe=yes}
+% \floatsetup[figure]{capbesideframe=no}
% \thisfloatsetup{capposition=beside,floatwidth=9cm,capbesidewidth=sidefil}
% \captionsetup{strut=no}
% \begin{figure}[H]
% {\TEXTBOX}
-% {\caption{Caption beside framed object, (object has width 9cm), aligned by top of frame}%
+% {\caption{Caption beside framed object, (object has width 9cm), aligned by top of object contents}%
% \label{row:text:I}}%
% \end{figure}
%\endgroup
%
-% \emph{Floatrow note.} For examples above was also used |\captionsetup{strut=no}| sentence,
+% \emph{Floatrow note.} For examples above the |\captionsetup{strut=no}| sentence also was used,
% which cancels struts at the beginning and end of caption (|\strut|: the rules with height
% and depth, which are set accordingly to current |\baselineskip|).
%
-% \penalty-5000
-% \RestoreSpaces
-% \subsubsection{Defining Float Foot Position (Legends and Footnotes)}%
-% \label{sec:footposition}
-%
+% \penalty-9000
+% \subsubsection{Defining Float Foot Position (Legends and Footnotes)}\label{sec:footposition}
% \DescribeMacro{footposition}\label{setup:footposition}%^^A
% Defines position of |\footnote|'s and |\floatfoot|'s in float box
% with above/below captions.
-% \par\RestoreSpaces
+% (See examples in file \file{frsample01.tex}.)
% \begin{Options}{\OptionLabel}
% \item[default]
% if caption above float object foot material is placed below float
-% object otherwise---below caption;
+% object, otherwise below caption;
% \item[caption]
% always placed below caption;
% \item[bottom]
% always placed at the bottom of float box.
% \end{Options}
-% See examples in file \file{frsample01.tex}. In the case of caption
-% beside float object, footnotes and foot text always placed below
+% In the case of caption
+% beside float object, footnotes and foot text are always placed below
% caption.
%
-% \subsubsection{Defining Vertical Alignment}\label{sec:heightadjust}
+% Next example shows the usage of the |caption| option of this key:
+%\begin{Quote}
+%\begin{preamble}
+%|\floatsetup{|\FRkey{style}|=ruled,footposition=caption}|
+%\end{preamble}
+% |\begin{figure}|
+% | ...|
+% | \caption{...}\label{...}%|
+% | \floatfoot{...}|
+% |\end{figure}|
+%\end{Quote}%
+%\begingroup\floatsetup[figure]{style=ruled,footposition=caption}
+% \begin{figure}[H]
+% \unitlength1.2\unitlength\input{TheCat.picture}
+% \caption{The \texttt{ruled} figure with explications which are placed under caption contents}%
+% \label{ruled:footposition}%
+% \floatfoot{The graphics demonstrate very pleasant muzzle of the very funny ginger cat with very
+% fluffy fur. The cat has yellow eyes, big ears, a small pink wet nose, and thick white whiskers}
+% \end{figure}%^^A
+%\endgroup
%
+% \subsubsection{Vertical Alignment of Float Elements}\label{sec:heightadjust}
% \DescribeMacro{heightadjust}\label{setup:heightadjust}%^^A
% Defines whether the common maximum height of objects
-% or/and captions in the \env{floatrow} environment will be used. It has
-% following options
-% \par\RestoreSpaces
+% or/and captions in the |floatrow| environment will be used for building of float row.
+% It has following options\par
% \begin{Options}{\OptionLabel}\samepage
% \item[all]
% adjust both caption and object heights (e.g. for styles
-% \texttt{Ruled} and \texttt{BOXED});
+% |ruled|, |Ruled| and |BOXED|);
% \item[caption]
-% adjust caption heights (e.g. for \texttt{Plaintop} style);
+% adjust caption heights (e.g. for |Plaintop| style);
% \item[object]
-% adjust object heights (e.g. for \texttt{Boxed} style);
+% adjust object heights (e.g. for |Boxed| style);
% \item[none]
-% nothing to be adjusted;
+% nothing to be adjusted (the |plain| style);
% \item[nocaption]
% no adjusting for captions;
% \item[noobject]
@@ -2155,105 +2527,163 @@
% |heightadjust={caption,noobject}|\quad.
% \end{Quote}
%
+% The following two examples show |ruled| and |Ruled| style.
+% Both styles use |heightadjust=all| key option, but first style
+% uses |capposition=top|, and second one---|capposition=TOP|.
+%\begin{Quote}
+%\begin{preamble}
+%|\floatsetup{|\FRkey{style}|=ruled}|
+%\end{preamble}
+% |\begin{figure}|
+% |\begin{|\FRkey[sec]{floatrow}|}|
+% | \|\FRkey[FB]{ffigbox}
+% | {...}{\caption{The left ...}\label{...}}%|
+%
+% | \ffigbox|
+% | {\caption{The beside ...}\label{...}}{...}|
+% |\end{floatrow}|\nopagebreak
+% |\end{figure}|\vspace*{-.75\intextsep}
+%\end{Quote}%
+% \begin{figure}[H]\floatsetup{style=ruled}\killfloatstyle
+% \begin{floatrow}
+% \ffigbox
+% {\unitlength.8\unitlength\input{BlackCat.picture}}
+% {\caption{Left \texttt{ruled} figure}%
+% \label{leftfig:ruled}}%
+%
+% \ffigbox
+% {\caption{The beside figure at the right side uses settings of \texttt{ruled} layout}%^^A
+% \label{rightfig:ruled}}
+% {\unitlength1.25\unitlength\input{Cat.picture}}
+% \end{floatrow}
+% \end{figure}%^^A
+%\begin{Quote}
+%\begin{preamble}
+%|\floatsetup{style=Ruled}|
+%\end{preamble}\nopagebreak
+% |...|\vspace*{-.75\intextsep}
+%\end{Quote}%
+% \begin{figure}[H]\floatsetup{style=Ruled}\killfloatstyle
+% \begin{floatrow}
+% \ffigbox
+% {\unitlength.8\unitlength\input{BlackCat.picture}}
+% {\caption{Left \texttt{Ruled} figure}%
+% \label{leftfig:Ruled}}%
+%
+% \ffigbox
+% {\caption{The beside figure at the right side uses settings of \texttt{Ruled} layout}%^^A
+% \label{rightfig:Ruled}}
+% {\unitlength1.25\unitlength\input{Cat.picture}}
+% \end{floatrow}
+% \end{figure}\pagebreak[1]
+%
% \addvspace\medskipamount\noindent
% \DescribeMacro{valign}\label{setup:valign}%^^A
% Defines vertical alignment of
-% float objects in \env{floatrow} if |heightadjust=all| or
-% |heightadjust=object|, or |\floatbox| stuff uses \meta{height}
+% float objects in |floatrow| if |heightadjust=all| or
+% |heightadjust=object| keys were used, or |\floatbox| stuff uses \meta{height}
% argument with value, which differs from the height of object.
-% The options of this key analogous to vertical
-% alignment option in \env{minipage} environment and |\parbox|
+% The options of this key are analogous to vertical
+% alignment option in |minipage| environment and |\parbox|
% command. Default option is |c| (centered vertical alignment).
-% \par\RestoreSpaces
% \begin{Options}{cc}\samepage
% \item[t]
% aligns objects by top line;
% \item[c]
-% aligns objects by center line;
+% aligns objects by center line (this is default for all float styles which
+% use |heightadjust=object| or |heightadjust=all| settings, see examples above);
% \item[b]
% aligns objects by bottom line;
% \item[s]
% stretches objects by full height (if it is possible).
-% \end{Options}
+% \end{Options}\pagebreak[1]
%
-% The settings |heightadjust=object,valign=c| were used
-% in the example with figures \ref{intro:leftfig:valigned}
-% and \ref{intro:rightfig:valigned}. (Please look at the width options of |\ffigbox| commands:
-% you may set the widths in this way with \package{calc} package.)
-%\begin{Quote}%
-%\meta{preamble}\nopagebreak
-%|\floatsetup{...,heightadjust=object,valign=c,...}|\nopagebreak
-%\meta{preamble}
+% Next example (figure~\ref{BOXED:heightmod}) shows default vertical centered alignment
+% for figure with changed height (remember that empty \meta{width} option means |\hsize|).
+%\begin{Quote}
+%\begin{preamble}
+%|\floatsetup{style=BOXED}|
+%|\usepackage{calc}|\nopagebreak
+%\end{preamble}
+% |\begin{figure}|\nopagebreak
+% | \|\FRkey[FB]{ffigbox}|[][\FBheight+2cm]|\nopagebreak
+% |...|
+% |\end{figure}|\vspace*{-.75\intextsep}
+%\end{Quote}\pagebreak[1]
+% \begin{figure}[H]\floatsetup{style=BOXED}\killfloatstyle
+% \ffigbox[][\FBheight+2cm]
+% {\unitlength.95\unitlength\input{TheCat.picture}}
+% {\caption{The figure inside \cmd{\ffigbox} has \meta{height} option, vertically centered}%
+% \label{BOXED:heightmod}}%
+% \end{figure}%^^A
+%
+% The example with figures \ref{leftfig:BOXED:valigned}
+% and \ref{rightfig:BOXED:valigned} shows |BOXED| style, which
+% uses |heightadjust=all| settings already, and
+% also the |valign=t| option was added.
+%^^A% (see also example with various alignment on the page
+%^^A% \pageref{example:ruledcapposTOP}).
+%\begin{Quote}
+%\begin{preamble}
+%|\floatsetup{style=BOXED,valign=t}|
+%|\usepackage{calc}|\nopagebreak
+%\end{preamble}
% |\begin{figure}|
-% |\begin{floatrow}|
-% | \ffigbox[\FBwidth+2cm]|
+% |\begin{|\FRkey[sec]{floatrow}|}|
+% | \|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|+2cm]|
% | {...}|
-% | {\caption{The left ...}\label{...}}%|
-%| |
-% | \ffigbox[\FBwidth+2cm]|
+% | {\caption{Left ...}\label{...}}%|
+%
+% | \ffigbox[\FBwidth+2cm][2\|\FRkey[FB]{FBheight}|]|\nopagebreak
% | {\caption{The beside ...}\label{...}}|
% | {...}|
-% |\end{floatrow}|
-% |\end{figure}|
+% |\end{floatrow}|\nopagebreak
+% |\end{figure}|\vspace*{-.75\intextsep}
%\end{Quote}%
-% \begin{figure}[h!]\floatsetup{heightadjust=object,valign=c}\killfloatstyle
+% \begin{figure}[H]\floatsetup{style=BOXED,valign=t}\killfloatstyle
% \begin{floatrow}
% \ffigbox[\FBwidth+2cm]
-% {\input{BlackCat.picture}}
-% {\caption{The left beside figure uses settings for vertical centering}%
-% \label{intro:leftfig:valigned}}%
+% {\unitlength.9\unitlength\input{BlackCat.picture}}
+% {\caption{The left beside figure uses settings for vertical top alignment}%
+% \label{leftfig:BOXED:valigned}}%
%
-% \ffigbox[\FBwidth+2cm]
-% {\caption{The beside figure at the right side uses settings for vertical centering}%^^A
-% \label{intro:rightfig:valigned}}
+% \ffigbox[\FBwidth+2cm][2\FBheight]
+% {\caption{The beside figure at the right side in float row uses settings for vertical top alignment too}%^^A
+% \label{rightfig:BOXED:valigned}}
% {\unitlength1.25\unitlength\input{Cat.picture}}
% \end{floatrow}
% \end{figure}%^^A
+% Please look at the \meta{height} and \meta{width} options of |\ffigbox|
+% commands of the figure~\ref{BOXED:heightmod}
+% and beside figures~\ref{leftfig:BOXED:valigned}, \ref{rightfig:BOXED:valigned} consequently:
+% you may set the height and widths in this way with \package{calc} package.
+% Right figure in the row has double height in the \meta{height} argument of |\ffigbox|.
%
% \subsubsection{Facing Layout}
-%
% \DescribeMacro{facing}\label{setup:facing}%^^A
% This key defines whether facing layout is used
-% for floats. This key works if |twoside| option switched on in
-% document class. The combination of settings |facing=yes,|\allowbreak
-% |capbesideposition=inside| (see above) is used in current documentation.
+% for floats, if it switched on, key options, which create different layout for even and odd pages
+% are switched on. This key works if |twoside| option is switched on inside the
+% document class line.
%
-% The most popular usage of |facing| key is in the case, when beside captions are placed to the inner sides
-% of pages. The figures~\ref{intro:beside} and~\ref{intro:beside:FBwidth} at beginning of the document
-% illustrate these options---%^^A
-% \texttt{facing=yes,\allowbreak capbesideposition=inside}.
+% The most popular usage of |facing| key is printing of
+% beside captions to the inner sides of pages with option
+% |capbesideposition=inside| (the opposite option is |capbesideposition=outside|)
+% works together with switched |facing=yes| key.
%
-% \RestoreSpaces
-% \subsubsection{Defining Float Margins and Object Settings}
-% \label{sec:set:box}
-%
-% \DescribeMacro{margins}\label{setup:margins}%^^A
-% Defines margins of alone float boxes with
-% captions above/below, of float boxes with beside captions, and of
-% \env{floatrow} environments. It has following three predefined
-% options:
-% \par\RestoreSpaces
-% \begin{Options}{\OptionLabel}
-% \item[centering]
-% float box centered;
-% \item[raggedright]
-% float box flushed to the left;
-% \item[raggedleft]
-% float box flushed to the right.
-% \item[...]
-% You may create your own alignment settings with \\|\DeclareMarginSet| command, see
-% page~\pageref{ssec:decl:marg}.
-% \end{Options}
+% The figures~\ref{intro:beside} and~\ref{intro:beside:FBwidth} with beside captions
+% in the Introduction illustrate these options---%^^A
+% |facing=yes,|\allowbreak|capbesideposition=inside|.
%
+% \subsubsection{Object Settings}\label{sec:set:object}
% \noindent
% \DescribeMacro{objectset}\DescribeMacro{justification}\label{setup:objectset}%^^A
% Defines justification of float object
% (float contents). Predefined options are similar to
-% \texttt{justification=} key in |\captionsetup|.
-% \par\RestoreSpaces
+% |justification=| key in |\captionsetup|.
% \begin{Options}{RaggedRigh}
% \item[justified]
-% Blocks (in the case of a~picture or text box)
+% Blocks (in the case of a~picture or text in parbox)
% moved to the left, the text aligned as a normal paragraph (without indentation). (This is the default.)
%
% \item[centering]
@@ -2273,90 +2703,41 @@
% Blocks moved to the right,
% each line of the text shoved to the right margin.
%
-% \item[RaggedLeft]
-% Analogous to |RaggedRight|.
+%^^A% \item[RaggedLeft]
+%^^A% Analogous to |RaggedRight|.
%
% \item[...]
-% You may also create your own settings with |\DeclareObjectSet| command (see
+% You may also create your own settings with the |\DeclareObjectSet| command (see
% page~\pageref{ssec:decl:oset})
% \end{Options}
%
-% \RestoreSpaces
-% \subsubsection{Defining Width of Object}\label{sec:wd:object}
-%
-% \noindent
-% \DescribeMacro{floatwidth}\label{setup:floatwidth}%^^A
-% It is used for redefinition of width of objects.
-% This key, similar to |captionwidth=|, page~\pageref{setup:capbesidewidth},
-% could be used at first
-% for settings of one float environment:
-% \begin{Quote}
-% |floatwidth=.3\hsize|
-% \end{Quote}
-% or
-% \begin{Quote}
-% |floatwidth=7cm|
-% \end{Quote}
-% (see page~\pageref{thisfloatsetup} about settings for current float environment and |\thisfloatsetup|).\pagebreak[1]
-%
-% \begingroup
-% \begin{Quote}\openup-.65pt
-% \meta{preamble}\nopagebreak
-% |\floatsetup[figure]{|\hyperref[setup:capposition]{\texttt{capposition}}|=bottom}|\nopagebreak
-% \meta{preamble}
-% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A
-% |[figure]{floatwidth=.3\hsize,capposition=bottom}|\nopagebreak
-% |\begin{figure}|
-% | \includegraphics[width=\hsize]{Bear}|
-% | \caption{...}\label{...}|
-% |\end{figure}|
-% \end{Quote}%
-%
-% \floatsetup[figure]{capposition=bottom}
-% \thisfloatsetup{floatwidth=.3\hsize}
-% \begin{figure}[H]
-% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A
-% \caption{Graphics with \texttt{floatwidth=0.3}\cmd{\hsize}}%
-% \label{fig:rot}
-% \end{figure}%
-% \endgroup
-%
-% \begingroup
-% \begin{Quote}%
-% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A
-% |{floatwidth=.3\hsize,|\hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=sidefil,|
-% | capposition=beside}|
-% \end{Quote}%
-%
-% \thisfloatsetup{floatwidth=.3\hsize,capbesidewidth=sidefil,
-% capposition=beside}
-% \begin{figure}[H]
-% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A
-% \caption{Caption beside graphics with \texttt{floatwidth=0.3}\cmd{\hsize}}%^^A
-% \label{fig:bear}
-% \end{figure}%
-% \endgroup
-%
-% If you use option \texttt{floatwidth=sidefil} for objects with beside
-% captions (in the case of key \texttt{capbesidewidth=},
-% \DescribeMacro{capbesidewidth}%^^A
-% uses absolute
-% value, like \texttt{capbesidewidth=4cm}) the object contents (instead of caption)
-% occupy the rest space of float box (see
-% figure~\ref{capbesideframeI} on the page~\pageref{capbesideframeI} and appendix, figure~\ref{fig:capbeside:trick} on the
-% page~\pageref{fig:capbeside:trick})
+% \subsubsection{Defining Float Margins}\label{sec:set:box}
+% \DescribeMacro{margins}\label{setup:margins}%^^A
+% Defines margins (skips, rules or other margin material) of alone float boxes with
+% captions above/below, of float boxes with beside captions, and of
+% |floatrow| environments. It has following three predefined
+% options:
+% \begin{Options}{RaggedRigh}
+% \item[centering]
+% float box centered;
+% \item[raggedright]
+% float box flushed to the left (see figure~\ref{fig:floatwidth});
+% \item[raggedleft]
+% float box flushed to the right.
+% \item[...]
+% You may create your own alignment settings with \\|\DeclareMarginSet| command, see
+% page~\pageref{ssec:decl:marg}.
+% \end{Options}
%
-% \RestoreSpaces
% \subsubsection{Defining Float Separators}\label{sec:set:sep}
-%
% \noindent
% \DescribeMacro{floatrowsep}\label{setup:floatrowsep}%^^A
% Sets separation material between beside float boxes in one row
-% inside \env{floatrow} environment (see page~\pageref{sec:floatrow}).
+% inside |floatrow| environment (see page~\pageref{sec:floatrow}).
%
% \addvspace\smallskipamount\noindent
% \DescribeMacro{capbesidesep}\label{setup:capbesidesep}%^^A
-% Sets separation material between object and beside caption.
+% Sets separation material between object and beside caption (see page~\pageref{intro:beside}).
%
% \RestoreSpaces
% Both key settings work similarly to |labelsep=| key
@@ -2365,7 +2746,7 @@
% They use following predefined options:
% \begin{Options}{\OptionLabel}
% \item[columnsep]
-% horizontal skip${}={}$|\columnsep| (default);
+% horizontal skip${}={}$|\columnsep| (default for both keys);
% \item[quad]
% horizontal skip${}={}1$\,em;
% \item[qquad]
@@ -2377,23 +2758,67 @@
% \item[none]
% empty separator.
% \item[...]
-% You may also create your own settings with\\ |\DeclareFloatSeparators| command (see
+% You may also create your own settings with the\\ |\DeclareFloatSeparators| command (see
% page~\pageref{setup:DeclareFloatSeparators})
% \end{Options}
% This documentation uses settings |floatrowsep=qquad| for separation of
% beside floats and\allowbreak\ |capbesidesep=quad|
% for floats with beside captions.
%
-% \subsubsection{Defining Float Rules/Skips}\label{sec:set:rule}
+% The figure \ref{fig:plain:trick} uses tricky float style, which shows you layout, where
+% the |capbesidewidth=| key with absolute value appears very useful.
+%\begin{Quote}
+%\begin{preamble}
+%|\|\FRkey{DeclareFloatSeparators}|{mcapwidth}{\hskip-\FCwidth}|
+%|\floatsetup[figure]|
+%| {|\FRkey{style}|=plain,|\FRkey{objectset}|=centering,|\FRkey{margins}|=centering,|
+%| |\FRkey{capbesidewidth}|=6cc,|%^^A
+% \FRkey{capbesideposition}|=left,|\FRkey{capbesidesep}|=mcapwidth,|
+%| |\FRkey{floatwidth}|=sidefil}|\smallskip
+%|\captionsetup[capbesidefigure]{labelsep=newline,|
+%| justification=raggedright}|\nopagebreak
+%\end{preamble}
+% |\begin{figure}|\nopagebreak
+% |\|\FRkey[FB]{fcapside}\nopagebreak
+% |\end{figure}|
+%\end{Quote}
+% In this style all figures with beside captions centered accordingly to
+% full text \verb|\hsize|, because of the separator between float object and
+% caption has negative value of caption width.
+% Usage of such float layout supposes that all
+% float objects with beside captions are narrower than |\hsize| (|\textwidth|) by at least 2~caption
+% widths. Please note the |\FCwidth| command in the definition of |mcapwidth|
+% key---later you may change the width of beside caption (loading the changed |capbesideposition=|
+% key inside |\thisfloatsetup| settings), and, in spite of the value of the separator also
+% will be changed, picture will be anyway
+% centered accordingly to full \verb|\hsize|.
%
+% \begingroup
+% \clearfloatsetup{figure}\floatsetup[figure]
+% {style=plain,objectset=centering,
+% floatwidth=\columnwidth,capbesidewidth=6cc,
+% capbesideposition=left,capbesidesep=mcapwidth,
+% margins=centering,floatwidth=sidefil}
+% \captionsetup[capbesidefigure]{labelsep=newline,
+% justification=raggedright}
+% \begin{figure}[H]
+% \fcapside{}{\unitlength1.1\unitlength
+% \input{Doll.picture}
+% \caption[Beside caption with ``hidden'' width (\texttt{=6cc}),
+% object is centered at the full text width]{%^^A
+% Plain figure}\label{fig:plain:trick}}
+% \end{figure}%
+% \endgroup
+%
+% \subsubsection{Defining Float Rules/Skips}\label{sec:set:rule}
% \DescribeMacro{precode}\label{setup:precode}%^^A
-% Defines skip, rule or other analogous code above float box.
+% Defines skip, rule or other analogous code above float box (see page~\pageref{intro:leftfig:box}).
%
% \addvspace\smallskipamount\noindent
% \DescribeMacro{rowprecode}\label{setup:rowprecode}%^^A
% Defines skip, rule or other analogous code above alone float box,
-% or, in the case of beside floats inside \env{floatrow} environment,
-% above float row (see page~\pageref{fig:rotrow:WcatI}).
+% or, in the case of beside floats inside |floatrow| environment,
+% above float row (see page~\pageref{intro:leftfig:row} and~\pageref{fig:rotrow:WcatI}).
%
% \addvspace\smallskipamount\noindent
% \DescribeMacro{midcode}\label{setup:midcode}%^^A
@@ -2402,64 +2827,68 @@
%
% \addvspace\smallskipamount\noindent
% \DescribeMacro{postcode}\label{setup:postcode}%^^A
-% Defines skip, rule or other analogous code below float box.
+% Defines skip, rule or other analogous code below float box (see page~\pageref{intro:leftfig:box}).
%
% \addvspace\smallskipamount\noindent
% \DescribeMacro{rowpostcode}\label{setup:rowpostcode}%^^A
% Defines skip, rule or other analogous code below alone float box, or,
-% in the case of beside floats inside \env{floatrow} environment,
-% below float row (see page~\pageref{fig:rotrow:WcatI}).
+% in the case of beside floats inside |floatrow| environment,
+% below float row (see page~\pageref{intro:leftfig:row} and~\pageref{fig:rotrow:WcatI}).
%
-% For all these keys there are predefined following options (settings
+% For all these keys there are predefined following options (settings
% were taken from styles created in \package{float} package):
-% \begin{Options}{\OptionLabel}\makeatletter\@itempenalty10000\makeatother
+% \begin{Options}{\OptionLabel}\allowitembreaks[-1]
% \item[none]
-% absent code;
+% absent code (the default option for |precode=|, |rowprecode=|, |postcode=| and |rowpostcode=|
+% keys); in |plain|, |plaintop|, |boxed|, and similar styles;
% \item[thickrule]
% thick rule (.8pt) with 2pt vertical skip below---rule above float box
-% in \texttt{ruled} style;
+% in |ruled| and |Ruled| styles which is used there by
+% |precode=| key (see figures~\ref{leftfig:ruled}--\ref{rightfig:Ruled});
% \item[rule]
-% rule of default thickness (.4pt), with 2pt vertical skips above and
-% below---middle rule in \texttt{ruled} style;
+% rule of default thickness (.4pt), with 2pt vertical skips above and below---middle rule
+% in |ruled| and |Ruled| styles is printed between object and caption, and
+% used there by |midcode=| key;
% \item[lowrule]
-% rule of default thickness (.4pt), with 2pt vertical skip above---rule
-% below float box in \texttt{ruled} style;
+% rule of default thickness (.4pt), with 2pt vertical skip above---rule below float box
+% in |ruled| and |Ruled| styles, used there by
+% |postcode=| key;
% \item[captionskip]
-% vertical skip equal to value, defined in |captionskip=| key (default).
+% vertical skip which uses the value, defined in |captionskip=| key; the default option for
+% |midcode=| key: this option is used
+% in |plain|, |plaintop|, |boxed|, and similar styles.
% \item[...]
-% You may create your own options with |\DeclareFloatVCode| command,
+% You may create your own options with the |\DeclareFloatVCode| command,
% see page~\pageref{ssec:decl:rule}.
% \end{Options}
%
% \subsubsection{Defining Float Frames}
-%
% \DescribeMacro{framestyle}\label{setup:framestyle}%^^A
% Defines type of frame; the
-% \package{floatrow} package offers only one type of frame:
-% \par\RestoreSpaces
+% \package{floatrow} package offers only two types of frames:
% \begin{Options}{\OptionLabel}
% \item[fbox]
-% Standard frame.
+% standard frame;
+% \item[colorbox]
+% colored frame, needs also \package{color} package;
+% if not defined, the |\fbox| command is used instead.
% \end{Options}
% There are options for additional frames, offered by \package{fr-fancy}
-% package, installed with \env{floatrow}:
+% package, installed with |floatrow|:
% \begin{Options}{\OptionLabel}
-% \item[colorbox]
-% colored frame, needs also \package{color} package;
-% if not defined, there is used |\fbox|;
% \item[doublebox]
% double frame, needs also \package{fancybox} package;
% \item[shadowbox]
% frame with shadow, needs also \package{fancybox} package;
% \item[wshadowbox]
-% modified \texttt{shadowbox} frame (frame with ``white shadow''),
-% needs also \package{fancybox} package;
+% modified |shadowbox| frame (frame with ``white shadow''),
+% needs also \package{fancybox} package.
% \end{Options}
%
% \enlargethispage{\baselineskip}
% \addvspace\medskipamount\noindent
% \DescribeMacro{frameset}\label{setup:frameset}%^^A
-% The parameters for chosen frame; there are no options
+% The parameters for chosen frame; there are no predefined options
% for this key, just write something like:
% \begin{Quote}
% |frameset={\fboxrule1pt\fboxsep12pt}|\quad.
@@ -2468,7 +2897,6 @@
% \noindent
% \DescribeMacro{framearound}\label{setup:framearound}%^^A
% Declares element of float box to be framed:
-% \par\RestoreSpaces
% \begin{Options}{\OptionLabel}
% \item[object]
% float object contents;
@@ -2479,73 +2907,99 @@
% \addvspace\medskipamount\noindent
% \DescribeMacro{framefit}\label{setup:framefit}%^^A
% Boolean which sets whether the \textit{frame width} will
-% be equal to current |\hsize| or predefined width of
-% float box (\texttt{framefit=yes}), in this case object size reduced
-% (see~page~\pageref{fig:plain:MyBoxed} and all boxed figures in current
-% documentation);
+% be equal to current |\hsize|, predefined width or value of \meta{width} option of
+% float box (|framefit=yes|), in this case object size reduced (see
+% figures~\ref{fig:setup:Boxed} and~\ref{fig:setup:FBwidth:Boxed});
% or the frame climbs out in the left and
% right sides, and \textit{width of object} has current
-% |\hsize| or predefined width of float box (\texttt{framefit=no}).
+% |\hsize|, predefined width or value of \meta{width} option of
+% float box (|framefit=no|, see figure~\ref{fig:setup:boxed}).
% \begingroup
% \begin{Quote}%
-% |\floatsetup[figure]{framestyle=fbox,|\hyperref[setup:heightadjust]{\texttt{heightadjust}}|=object,|\nopagebreak
+% |\floatsetup[figure]{framestyle=fbox,|\nopagebreak
% | framearound=object,frameset={\fboxrule1pt\fboxsep10pt},|
-% | framefit=no}%|$\approx\texttt{style=boxed}$
+% | framefit=yes}%|$\approx|style=Boxed|$
% |\begin{figure}|
-% |\ffigbox[4cm]|
-% | {...}{\caption{...}}|
+% |\|\FRkey[FB]{ffigbox}|[4cm]|
+% | {...}{\caption{...}}|\nopagebreak
% |\end{figure}|
-% \end{Quote}%
+% \end{Quote}\pagebreak[1]
% \floatsetup[figure]{framestyle=fbox,heightadjust=object,
-% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=no}%^^A$\equiv\texttt{style=boxed}$
+% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=yes}%^^A$\equiv|style=Boxed|$
% \begin{figure}[H]%
% \ffigbox[4cm]
-% {\input{Cat.picture}}{\caption{The frame around graphics climbs out to the right and left sides}\label{fig:setup:boxed}}
+% {\input{Cat.picture}}{\caption{The frame around graphics fits to the width of float
+% box (here: caption)}\label{fig:setup:Boxed}}
% \end{figure}%
% \begin{Quote}%
-% |\floatsetup[figure]{...,framefit=yes}%|$\approx\texttt{style=Boxed}$
+% |\floatsetup[figure]{...,framefit=no}%|$\approx|style=boxed|$
% |\begin{figure}|%
-% |\ffigbox[4cm]|
+% |\|\FRkey[FB]{ffigbox}|[4cm]|
% | {...}{\caption{...}}|\nopagebreak
-% |\end{figure}|%
+% |\end{figure}|\vspace*{-\intextsep}
% \end{Quote}%
% \floatsetup[figure]{framestyle=fbox,heightadjust=object,
-% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=yes}%%^^A$\equiv\texttt{style=Boxed}$
+% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=no}%^^A$\equiv|style=boxed|$
% \begin{figure}[H]%
% \ffigbox[4cm]
-% {\input{Cat.picture}}{\caption{The frame around graphics fits to the width of float box (here: caption)}}
+% {\input{Cat.picture}}{\caption{The frame around graphics climbs out to the right and
+% left sides}\label{fig:setup:boxed}}
+% \end{figure}%
+%
+% Next follows an example with |framefit=yes| key in the case of |[\FBwidth]| option of |\ffigbox|
+% command. In this case the width of float box (here: the width of caption) expanded to the
+% width of framed object.
+% \begin{Quote}%
+% |\floatsetup[figure]{...,framefit=yes}%|$\approx|style=Boxed|$
+% |\begin{figure}|
+% |\|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|]|
+% | {...}{\caption{...}}|
+% |\end{figure}|\vspace*{-\intextsep}
+% \end{Quote}\pagebreak[1]
+% \floatsetup[figure]{framestyle=fbox,heightadjust=object,
+% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=yes}%^^A$\equiv|style=Boxed|$
+% \begin{figure}[H]%
+% \ffigbox[\FBwidth]
+% {\input{Cat.picture}}{\caption[The framed object contents have natural width; the
+% the width of float box (here: caption) was expanded to fit the width of
+% framed object]{Framed object has natural width;
+% the caption width expanded}\label{fig:setup:FBwidth:Boxed}}
% \end{figure}%
% \endgroup
%
-% \addvspace\medskipamount\noindent
+% \subsubsection{Settings for Colored Frames}
% \DescribeMacro{colorframeset}\label{setup:colorframeset}%^^A
-% Offered by \package{fr-fancy} package\footnote{Use
-% \texttt{fancyboxes=yes} option in \cmd{\usepackage} line, also you ought to load \package{color} package.}
-% and also needs
-% \package{color} package: defines
-% concrete color box (default is standard |\fbox|).
-% You may use |\fcolorbox| as color box. You
-% may define your color box like
+% \DescribeMacro{\DeclareColorBox}\label{setup:DeclareColorBox}%^^A
+% This key (needs \package{color} package) defines
+% a~color box (default is standard |\fbox|). There are not any predefined options for this key so you
+% must define your color box option, using the |\DeclareColorBox| command like following:
+% \begin{Quote}
+% |\DeclareColorBox{mycolorbox}{\fcolorbox{red}{yellow}}|
+% \end{Quote}
+% then use this option in |colorframeset=| key:
+% \begin{Quote}
+% |colorframeset=|\meta{option}\quad,
+% \end{Quote}
+% for example:
% \begin{Quote}
-% |colorframeset={\fcolorbox{white}{yellow}}|\quad.
+% |\floatsetup{colorframeset=mycolorbox}|\quad.
% \end{Quote}
%
% \subsubsection{Defining Float Skips}
-%
% \DescribeMacro{captionskip}\label{setup:captionskip}%^^A
% Defines vertical space between caption and float object
-% in case of |midcode| key defined as |midcode=captionskip|;
-% or in case of usage of float styles (\texttt{style=}
-% key) \texttt{plain}, \texttt{plaintop} or \texttt{Plaintop}:
+% in case of \FRkey{midcode} key defined as |midcode=captionskip|;
+% or in case of usage of float styles (|style=|
+% key) |plain|, |boxed| and similar to them:
% \begin{Quote}
% |captionskip=10pt|\quad.
% \end{Quote}
-% The settings above are default.
+% The settings above are default and equal to \LaTeX's settings (|\abovecaptionskip=10pt|).
% The settings of current documentation: |captionskip=5pt|.
%
% \addvspace\medskipamount\noindent
% \DescribeMacro{footskip}\label{setup:footskip}%^^A
-% Defines vertical space before foot material and footnotes.
+% Defines vertical space before foot material and footnotes. It can be defined like:
% \begin{Quote}
% |footskip=4pt|\quad,
% \end{Quote}
@@ -2553,21 +3007,19 @@
% \begin{Quote}
% |footskip=\skip\footins|\quad.
% \end{Quote}
+% the last line shows default settings.
%
-% \subsubsection{Defining Float Footnote Rule's Style}
-% \label{sec:footnotestyle}
-%
+% \subsubsection{Defining Float Footnote Rule's Style}\label{sec:footnotestyle}
% \DescribeMacro{footnoterule}\label{setup:footnoterule}%^^A
-% Defines type of footnote rule for footnotes inside float environment.
-% \par\RestoreSpaces
+% Defines type of footnote rule for footnotes inside floating environment.
% \begingroup
% \begin{Options}{\OptionLabel}
% \item[normal]
-% standard \LaTeX{} definition, used in \env{minipage} environments, the
+% standard \LaTeX{} definition, used in |minipage| environments, the
% width of it equals to 0.4 of current width of text (|\columnwidth|);
% \item[limited]
% like previous one but max width of footnote rule equals to the value
-% defined by |\frulemax| command, like:
+% defined by |\frulemax|\label{setup:frulemax} command, like:
% \begin{Quote}
% |\newcommand\frulemax{1in}|
% \end{Quote}
@@ -2576,141 +3028,175 @@
% \item[none]
% Absent rule.
% \item[...]
-% You may create your own options with |\DeclareFloatFootnoterule| command,
+% You may create your own options with the \\ |\DeclareFloatFootnoterule| command,
% see page~\pageref{ssec:fnoterule}.
% \end{Options}
% \endgroup
%
% \label{setup:end}
%
-% %^^A ???needed?
-% \subsubsection{Loading Style for Fancy Boxes}
-%
-% \DescribeMacro{fancyboxes}\label{setup:fancyboxes}%^^A
-% This boolean key loads \package{fr-fancy} package. This key you may use
-% only in optional argument in |\usepackage| line.
-%
-% \RestoreSpaces
-% \subsubsection{Managing Floats with \texttt{[H]} placement option}
+%^^A% %^^A ???needed?
+%^^A% \subsubsection{Loading Style for Fancy Boxes}
+%^^A%
+%^^A% \DescribeMacro{fancyboxes}\label{setup:fancyboxes}%^^A
+%^^A% This boolean key loads \package{fr-fancy} package. This key you may use
+%^^A% only in optional argument in |\usepackage| line. The styles, supported by this package
+%^^A% are described in the table~\ref{tab:floatlayouts}.
%
+% \subsubsection{Managing Floats with \texttt{[H]} Placement Option}
% \DescribeMacro{doublefloataswide}\label{setup:doublefloataswide}%^^A
-% This boolean key redefines starred float in onecolumn layout
-% like non-starred ones. (In this case the \texttt{[H]} option works
-% in starred environments also; layout settings from |\floatsetup|
-% as \texttt{widefloat} still work.)
+% This boolean key redefines starred floating environment \emph{in onecolumn layout}
+% like non-starred ones, but in this case they are still store layout
+% settings, declared by |[wide...]| options of |\floatsetup| (page~\pageref{sec:floatsetup}).
+% This key is necessary
+% for usage of the \texttt{[H]} option
+% in starred environments in the same way as in non-starred.
%
% \medskip\noindent
% \DescribeMacro{floatHaslist}%^^A
% This boolean key adds values of penalties before and after
% this ``anchored'' float like in the list environment and cancels
-% paragraph indentation, if no blank line appears after environment
-% (see also section~\pageref{sec:listpen}).
+% paragraph indentation, if there is no blank line appears after environment
+% (see also page~\pageref{sec:listpen}).
%
-% \RestoreSpaces
% \subsection{Settings for Current Float Environment}
-%
% \DescribeMacro{\thisfloatsetup}\label{thisfloatsetup}\label{setup:thisfloatsetup}%^^A
% You may define some settings only for one float just
% before necessary environment. Command |\thisfloatsetup| could
% contain the same keys and options as in |\floatsetup|. It has
-% only mandatory argument\footnote{The \cmd{\thisfloatsetup} defined
-% as abbreviation of \cmd{\floatsetup[tmpset]} command.}.\par\strut
-% \par\kern-\baselineskip
+% only mandatory argument (the \cmd{\thisfloatsetup} is defined
+% as abbreviation of the \cmd{\floatsetup[tmpset]} command).
%
%^^A Please note that |\thisfloatsetup| doesn't overwrite
%^^A co-named key declarations from settings like
%^^A |\floatsetup[|\meta{options}|]|---this command created e.g
%^^A for temporary change of float or caption widths: keys
-%^^A \texttt{captionwidth=} \texttt{floatwidth=} do not used usually
+%^^A |capbesidewidth=| |floatwidth=| do not used usually
%^^A in |\floatsetup| stuff.
%
%
-% \RestoreSpaces
% \subsection{Clearing of Settings for Current Float Type}
-%
% \DescribeMacro{\clearfloatsetup}\label{setup:clearfloatsetup}%^^A
% If you want to get rid of parameters marked
% for an automatic use within a particular environment
% you can use the command\footnote{Created as additional macro for
% \cs{clearcaptionsetup} macro, see also documentation
-% of \package{caption} package about \cmd{\clearcaptionsetup} command}:
+% of \package{caption} package about \cmd{\clearcaptionsetup} command}:\allowpostlistbreaks[-4]
% \begin{Quote}
-% |\clearfloatsetup|\marg{float type}\quad.
-% \end{Quote}
-% where \marg{float type}---types as \texttt{figure}, \texttt{widefloat} etc.
+% |\clearfloatsetup|\marg{float type}\quad,
+% \end{Quote}\allowpostlistbreaks
+% where \marg{float type}---types as |figure|, |widefloat| etc.
%
% \subsection{Temporary Clearing of All Float Settings}\label{page:killfloatstyle}
-%
% \DescribeMacro{\killfloatstyle}\label{setup:killfloatstyle}%^^A
-% In some cases like mixed rows of floats where figure stays beside table
-% you need to cancel layout of ``foreign'' float (see page~\pageref{mixrow}).
+% The first case when this command is needed: mixed rows of floats where figure stays beside table
+% and you need to cancel layout of ``foreign'' float (see page~\pageref{mixrow}).
% The |\killfloatstyle| command is used before any
% command of |\floatbox| stuff (see {\sectionname}~\ref{sec:floatbox}).
-% Other situation---layout with beside captions is quite different from other subtypes:
-% |[figure]| option of
-% floatsetup defined with \texttt{style=plain} and
-% |[cabesidefigure]| defined with \texttt{style=boxed}.
+%
+% Another case---layout of floats with beside captions is quite different from
+% other subtypes: |[figure]| option of
+% floatsetup defined with |style=plain| and
+% |[cabesidefigure]| must be defined with |style=boxed|.
% In this case you may define your command, based on predefined
% |\fcapside|:
+%\begingroup
% \begin{Quote}
-% |\newcommand\myfcapside{\killfloatstyle|
-% | \floatsetup[figure]{style=Boxed}\fcapside}|\quad.
+% \begin{preamble}
+% |\newcommand\myfcapside{\killfloatstyle|\nopagebreak
+% | \floatsetup[figure]{style=Boxed,capbesideframe=yes}\fcapside}|\quad.
+% \end{preamble}
+% |\begin{figure}|
+% |\myfcapside[\FBwidth]|
+% |...|
+% |\end{figure}|\quad.\vspace*{-\intextsep}
% \end{Quote}
-% The option |[figure]| is necessary if you defined settings for this option
-% globally in the preamble.
+% \newcommand\myfcapside{\killfloatstyle
+% \floatsetup[figure]{style=Boxed,capbesideframe=yes}\fcapside}
+% \begin{figure}[H]
+% \myfcapside[\FBwidth]
+% {\input{Horse.picture}}%
+% {\caption[Figure with beside caption in \texttt{Boxed} style.]{%^^A
+% Figure with beside caption in \texttt{Boxed} style. The special command \cmd{\myfcapside}
+% created to change layout for figures from plain in the case of captions below float
+% to boxed in the case of caption beside}\label{fig:beside:Boxed}}%
+% \end{figure}
+%\endgroup
+% The option |[figure]| is necessary if you have defined settings for this option
+% in the preamble.
%
-% %^^A !!!for footnotes!
-% %^^A \newpage
+% \emph{Notes}.\nopagebreak \par
+% 1)\enskip Please remember that such command with redefined settings can be placed
+% only \emph{inside an environment} or \emph{group}.
%
-% \subsection{The Default Float Type Settings}\label{sec:default}
+% 2)\enskip Before creation of such risky command, please revise your layout settings:
+% maybe the |[widefigure]| option never used in your documentation settings, so you can define
+% necessary settings in |\floatsetup[widefigure]|\allowbreak|{style=Boxed,capposition=beside...}|
+% and then use ``starred'' floats in following way:
+%\begingroup
+% \begin{Quote}
+% \begin{preamble}
+% |\floatsetup[widefigure]{|\FRkey{style}|=Boxed,|\FRkey{capposition}|=beside,|
+% | |\FRkey{capbesideframe}|=yes}|
+% \end{preamble}
+% |\begin{figure*}|
+% |\fcapside[\FBwidth]|
+% |...|
+% |\end{figure*}|\quad.\vspace*{-\intextsep}
+% \end{Quote}
+% \floatsetup[widefigure]{margins=centering,style=Boxed,capposition=beside,capbesideframe=yes}
+% \begin{figure*}[H]
+% \fcapside[\FBwidth]{\input{Horse.picture}}%
+% {\caption[Figure with beside caption in \texttt{Boxed} style in ``starred'' environment.]{%^^A
+% Figure with beside caption in \texttt{Boxed} style. The special settings for framed graphics
+% were created in ``starred'' environment}\label{figs:beside:Boxed}}%
+% \end{figure*}
+%\endgroup
%
-% The following keys and options are switched on when \package{floatrow}
-% package loaded. They equal to \texttt{plain} style:
-% \begin{Options}{\OptionLabel}\par\small\openup-.5pt
-% \item[font=normalsize]
-% \item[footfont=footnotesize]
+% \subsection{The Default Float Type Settings}\label{sec:default}
+% The following keys and options are switched on when the \package{floatrow}
+% package loaded. They equal to |default| style:
+% \begin{Options}{\OptionLabel}\par
+% \item[font=normalsize]\allowitembreaks[-4]
+% \item[footfont=footnotesize]\allowitembreaks
% \item[capposition=bottom]
-% \item[capbesideposition=inside]
+% \item[capbesideposition=left]
% \item[capbesideframe=no]
% \item[footposition=default]
% \item[heightadjust=none]
% \item[facing=no]
% \item[margins=centering]
-% \item[objectset=centering] %^^A($\equiv$\texttt{justification=centering}, \package{caption})
+% \item[objectset=centering] ($\equiv$|justification=centering|, \package{caption})
% \item[floatrowsep=columnsep]
% \item[capbesidesep=columnsep]
% \item[precode=none]
% \item[rawprecode=none]
% \item[postcode=none]
% \item[rawpostcode=none]
-% \item[midcode=captionskip]
+% \item[midcode=captionskip]\allowitembreaks[-4]
% \item[captionskip=10pt]
% \end{Options}
%
+% \subsection{Defining New Options (Do It Yourself!)}
+% In the next few sections a list of commands is presented, which help to define
+% additional key options for the |\floatsetup| command.
%
-% \subsection{Defining new options (Do it yourself!)}
-%
-% In the next few sections goes a list of commands, which
-% define key options for |\floatsetup|.
-%
-% \subsubsection{Float Style option (\texttt{style=})}\label{ssec:declstyle}
-%
+% \subsubsection{Float Style Option (\texttt{style=})}\label{ssec:declstyle}
% \DescribeMacro{\DeclareFloatStyle}\label{setup:DeclareFloatStyle}%^^A
% Defines new float style. Example shows definition of new float
-% style \texttt{MyBoxed}. The figures~\ref{fig:plain:MyBoxed}, and
+% style |MyBoxed|. The figures~\ref{fig:plain:MyBoxed}, and
% some others in current documentation show result.
-% \par\RestoreSpaces
%\begin{Quote}
-%|\DeclareFloatStyle{MyBoxed}{|\hyperref[setup:style]{style}|=Boxed,|\hyperref[setup:captionskip]{captionskip}|=5pt,|
-%| |\hyperref[setup:frameset]{frameset}|={\fboxrule1pt\fboxsep12pt}}|
+%|\DeclareFloatStyle{MyBoxed}{|\FRkey{style}|=Boxed,|\FRkey{captionskip}|=5pt,|\nopagebreak
+%| |\FRkey{frameset}|={\fboxrule1pt\fboxsep12pt}}|\nopagebreak
%|\floatsetup[figure]{style=MyBoxed}|
-%\end{Quote}
+%\end{Quote}\pagebreak[1]
%
% \begingroup
%
% \floatsetup[figure]{style=MyBoxed}
% \begin{figure}[H]
-% {\unitlength1.44\unitlength\input{Horse.picture}}%
+% {\input{Horse.picture}}%
% \caption{%^^A
% Plain figure in \texttt{MyBoxed} style}%
% \label{fig:plain:MyBoxed}%
@@ -2719,51 +3205,65 @@
% \end{figure}
%
% The same result you get with:
-% \par\RestoreSpaces
%\begin{Quote}
%|\floatsetup[figure]{style=Boxed,captionskip=5pt,|
%| frameset={\fboxsep12pt\fboxrule1pt}}|
%\end{Quote}
% \endgroup
%
-% \subsubsection{Option for Float Rules/Skips (\texttt{precode=} etc.)}
-% \label{ssec:decl:rule}
+% \subsubsection{Float Font Option (\texttt{font=})}\label{ssec:declfont}
+% \DescribeMacro{\DeclareFloatFont}\label{setup:DeclareFloatFont}%^^A
+% With this macro you may define new option
+% for font (|font=| key) of float contents. This macro works
+% like |\DeclareCaptionFont| in \package{caption} package: you may also
+% use key options declared by |\DeclareCaptionFont| command.
%
+% To get red color for text in the example with figure~\ref{color:fig} on the page~\pageref{color:fig},
+% you may define the red color by following way:
+% \begin{Quote}%
+% |\DeclareFloatFont{red}{\color{red}}|
+% \end{Quote}%
+% and then write, for example
+% \begin{Quote}%
+% |\floatsetup[figure]{font={small,red}}|\quad.
+% \end{Quote}%
+%
+% \subsubsection{Option for Float Rules/Skips (\texttt{precode=} etc.)}\label{ssec:decl:rule}
% \DescribeMacro{\DeclareFloatVCode}\label{setup:DeclareFloatVCode}%^^A
% This command defines the skip, rule or other analogous code above
% and below full float box and between caption above/below and
-% object. The defined option you may use in \texttt{rowprecode},
-% \texttt{precode}, \texttt{midcode}, \texttt{postcode}, and
-% \texttt{rowpostcode} keys.
+% object. The defined option might be used in |rowprecode|,
+% |precode|, |midcode|, |postcode|, and
+% |rowpostcode| keys (page~\pageref{setup:precode}).
+%
+% Compare two examples:
% \begin{Quote}\openup.5pt
-% \meta{preamble}
+% \begin{preamble}
% |\DeclareFloatVCode{grayruleabove}%|
-% | {{\color{gray}\hrule height2.8ptdepth0pt\vskip4pt}}|
+% | {{\color{gray}\par\rule\hsize{2.8pt}\vskip4pt\par}}|
% |\DeclareFloatVCode{grayrulebelow}%|
-% | {{\color{gray}\vskip4pt\hrule height2.8ptdepth0pt}}|
-% |\floatsetup{...,|
-% | |\hyperref[setup:rowprecode]{rowprecode}|=grayruleabove,|%^^A
-% \hyperref[setup:rowpostcode]{rowpostcode}|=grayrulebelow}|
-% \meta{preamble}
-% |\begin{figure}|
-% |\begin{floatrow}|
-% | \ffigbox|
+% | {{\color{gray}\par\vskip4pt\rule\hsize{2.8pt}}}|
+% |\floatsetup{...,|\FRkey{heightadjust}|=all,|%^^A
+% \FRkey{valign}|=c,|
+% | |\FRkey{rowprecode}|=grayruleabove,|%^^A
+% \FRkey{rowpostcode}|=grayrulebelow}|\nopagebreak
+% \end{preamble}
+% |\begin{figure}|\nopagebreak
+% |\begin{floatrow}|\nopagebreak
+% | \ffigbox|\nopagebreak
% | {...}{\caption{The left ...}\label{...}}%|
-%| |
% | \ffigbox|\nopagebreak
% | {...}{\caption{The beside ...}\label{...}}|
% | \end{floatrow}|\nopagebreak
% |\end{figure}|
-%| |
-%| |
-% |\begin{figure}|
+% |\begin{figure}|\nopagebreak
% | ...|
-% | \caption{The figure ...}\label{...}%|
+% | \caption{Alone figure ...}\label{...}%|\nopagebreak
% |\end{figure}|
% \end{Quote}
%\begingroup
% \advance\intextsep-.5\intextsep
-% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,rowprecode=grayruleabove,
+% \begin{figure}[H]\floatsetup{heightadjust=all,valign=c,rowprecode=grayruleabove,
% rowpostcode=grayrulebelow}\killfloatstyle
% \begin{floatrow}
% \ffigbox
@@ -2777,7 +3277,7 @@
% {\unitlength.85\unitlength\input{Cat.picture}}
% \end{floatrow}
% \end{figure}%^^A
-% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,rowprecode=grayruleabove,
+% \begin{figure}[H]\floatsetup{heightadjust=all,valign=c,rowprecode=grayruleabove,
% rowpostcode=grayrulebelow}\killfloatstyle
% \ffigbox
% {\caption{Alone figure with defined row rules above and below}%^^A
@@ -2785,15 +3285,16 @@
% {\unitlength.85\unitlength\input{TheCat.picture}}
% \end{figure}%^^A
% \begin{Quote}\openup-.65pt
-% \meta{preamble}\nopagebreak
+% \begin{preamble}
% |...|\nopagebreak
-% |\floatsetup{...,|\hyperref[setup:precode]{precode}|=grayruleabove,|%^^A
-% \hyperref[setup:postcode]{postcode}|=grayrulebelow}|
-% \meta{preamble}
+% |\floatsetup{...,|\FRkey{heightadjust}|=all,|\nopagebreak
+% | |\FRkey{precode}|=grayruleabove,|%^^A
+% \FRkey{postcode}|=grayrulebelow}|\nopagebreak
+% \end{preamble}\nopagebreak
% |...|
% \end{Quote}%^^A
% \advance\intextsep-.5\intextsep
-% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,
+% \begin{figure}[H]\floatsetup{heightadjust=all,valign=c,
% precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle
% \begin{floatrow}
% \ffigbox
@@ -2802,12 +3303,13 @@
% \label{intro:leftfig:box}}%
%
% \ffigbox
-% {\caption{The beside figure at the right inside float row with defined rules for float box}%^^A
+% {\caption{The beside figure at the right inside float row with defined rules for float box
+% above and below}%^^A
% \label{intro:rightfig:box}}
% {\unitlength.85\unitlength\input{Cat.picture}}
% \end{floatrow}%
% \end{figure}\kern-\lastskip%^^A
-% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,
+% \begin{figure}[H]\floatsetup{heightadjust=all,valign=c,
% precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle
% \ffigbox
% {\caption{Alone figure with defined rules above and below for float box}%^^A
@@ -2815,207 +3317,240 @@
% {\unitlength.85\unitlength\input{TheCat.picture}}
% \end{figure}%^^A
%\endgroup
-% \RestoreSpaces
-% \subsubsection{Object Justification Option (\texttt{objectset=})}\label{ssec:decl:oset}
+% Please note that for ruled styles defined for boxes, like for figures \ref{intro:leftfig:box}
+% and \ref{intro:rightfig:box}, which could be placed in one row, you need to
+% set |heightadjust=all| key.
+%
+% \subsubsection{Settings for Colored Frame (\texttt{colorframeset=})}\label{ssec:color:frame}
+% \DescribeMacro{\DeclareColorBox}%^^A
+% Let's repeat the command for definition of colored box used by |colorframeset=| key
+% (see also page~\pageref{setup:DeclareColorBox}).
+% Here is defined frame for figure~\ref{color:frame} below:
+% \begin{Quote}
+% |\DeclareColorBox{framedfigure}{\fcolorbox{gray}{white}}|\quad.
+% \end{Quote}
%
+% \subsubsection{Object Justification Option (\texttt{objectset=})}\label{ssec:decl:oset}
% \DescribeMacro{\DeclareObjectSet}\label{setup:DeclareObjectSet}%^^A
-% You may define justification for \texttt{objectset=} key like\nopagebreak:
+% You may define justification for |objectset=| key (page~\pageref{setup:objectset})
+% like\nopagebreak:
% \begin{Quote}
% |\DeclareObjectSet{centering}{\centering}|
% \end{Quote}
% In option's definition you may try to include any regular commands
+% (it could be the repeated head text also)
% which you need to put before each object contents in float
-% environment\footnote{You may also use key options declared by
+% environment. You may also use key options declared by
% \cmd{\DeclareCaptionJustification} command of \package{caption} package
-% as options for \texttt{objectset=} key.}.\par
-% \strut\par\kern-\baselineskip
-%
-% \subsubsection{Option for Float Box Alignment/Settings (\texttt{margins=})}
-% \label{ssec:decl:marg}
+% as options for |objectset=| key.
%
+% \subsubsection{Option for Float Box Alignment/Settings (\texttt{margins=})}\label{ssec:decl:marg}
% \DescribeMacro{\DeclareMarginSet}\label{setup:DeclareMarginSet}%^^A
-% You may define box alignment for float box (\texttt{margins=} key) like:
+% You may define box alignment for float box (|margins=| key) like:
% \begin{Quote}
-% |\DeclareMarginSet{center}{%|
+% |\DeclareMarginSet{center}{%|\nopagebreak
% | \setfloatmargins{\hfil}{\hfil}}|
% \end{Quote}
% or like (see also sample files)
% \begin{Quote}
-% |\DeclareMarginSet{outside}{%|
-% | \setfloatmargins*{\hfil}{}}|
+% |\DeclareMarginSet{outside}{\setfloatmargins*{\hfil}{}}|\nopagebreak
% \end{Quote}
+% The |\DeclareMarginSet| command uses the |\setfloatmargins| command, which defines
+% fill code for each margin.
%
+% \DescribeMacro{\setfloatmargins}\label{setup:setfloatmargins}%^^A
% Non-starred form of |\setfloatmargins| defines left and right
% margin.
% \begin{Quote}
% |\setfloatmargins{|\meta{left margin}|}{|\meta{right margin}|}|
% \end{Quote}
%
+% Here goes rather complex example which was created as alternative float layout for one-column
+% document. The starred, |figure*|, environment places caption on the left margin, beside
+% object. Frame around object has default width of main text (but if you will change, reduce,
+% width of object, it will be shoved to the left margin).
+% \begin{Quote}[0pt]
+% \begin{preamble}
+% |\makeatletter\@mparswitchfalse\makeatother|\vspace{1ex}
+% |\DeclareMarginSet{hangleft}%|
+% | {\setfloatmargins|
+% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}|\vspace{1ex}
+% |\|\FRkey{DeclareColorBox}|{framedfigure}{\fcolorbox{gray}{white}}|\vspace{1ex}
+% |\|\FRkey{DeclareFloatSeparators}|{marginparsep}{\hskip\marginparsep}|
+% |\|\FRkey[sec]{floatsetup}|[widefigure]{|%^^A
+% \FRkey{margins}|=hangleft,|%^^A
+% \FRkey{floatwidth}|=\textwidth,|
+% | |\FRkey{capposition}|=beside,|%^^A
+% \FRkey{capbesideposition}|=left,|%^^A
+% \FRkey{capbesideframe}|=yes,|
+% | |\FRkey{capbesidewidth}|=\marginparwidth,|%^^A
+% \FRkey{capbesidesep}|=marginparsep,|
+% | |\FRkey{framestyle}|=colorbox,|\FRkey{framefit}|=yes,|\nopagebreak
+% | |\FRkey{colorframeset}|=framedfigure,|%^^A
+% \FRkey{frameset}|={\fboxrule3pt\fboxsep8pt}}|\vspace{1ex}
+% |\captionsetup[capbesidefigure]{justification=RaggedRight,|\nopagebreak
+% | font=small,labelfont={normalsize,sf,bf},labelsep=newline,strut=no}|\nopagebreak
+% \end{preamble}
+% |\begin{figure*}|\nopagebreak
+% |...|\nopagebreak
+% |\end{figure*}|
+% \end{Quote}
+% \begingroup
+% \floatsetup[widefigure]{margins=hangleft,floatwidth=\textwidth,
+% capposition=beside,capbesideposition=left,capbesideframe=yes,
+% capbesidewidth=\marginparwidth,capbesidesep=marginparsep,framestyle=colorbox,framefit=yes,
+% frameset={\fboxrule3pt\fboxsep8pt},colorframeset=framedfigure}
+% \captionsetup[capbesidefigure]{justification=RaggedRight,
+% font=small,labelfont={normalsize,sf,bf},labelsep=newline,strut=no}
+% \begin{figure*}[H]%
+% {\input{Mouse.picture}}{\caption{Figure with alternative layout (``starred'' environment) caption
+% placed on the left margin}\label{color:frame}}
+% \end{figure*}%
+% \endgroup
+%
+% \emph{Note}. The row of figures~\ref{fig:row:Dog}--\ref{fig:row:cheese} on the page
+% \pageref{fig:row:Dog} uses the same |margin=| settings of option |hangleft|.
+%
% Starred form, |\setfloatmargins*|, defines facing layout: inside and
% outside margin.
% \begin{Quote}
% |\setfloatmargins*{|\meta{inside margin}|}{|\meta{outside margin}|}|
% \end{Quote}
%
-% You may set even much more complex definition:
+% You may even set much more complex definition:
% \begin{Quote}\leftmargin0pt
-% |\DeclareMarginSet{facingrule}{%|
-% |\setfloatmargins*{%|
-% | \floatfacing{\hskip-12pt\vrule width4pt\hskip8pt\hfill}%|
+% |\DeclareMarginSet{facingrule}{%|\nopagebreak
+% |\setfloatmargins*{%|\nopagebreak
+% | \floatfacing{\hskip-12pt\vrule width4pt\hskip8pt\hfill}%|\nopagebreak
% | {\hfill\hskip8pt\vrule width4pt\hskip-12pt}}{}}|
% \end{Quote}
+% \DescribeMacro{\floatfacing}\label{setup:floatfacing}%^^A
% the |\floatfacing| defines following
% \begin{Quote}
% |\floatfacing{|\meta{odd page definition}|}{|\meta{even page definition}|}|
% \end{Quote}
% This macro has also starred form |\floatfacing*|,
-% which you can use in key options for |\captionsetup| stuff.
+% which you can use in key options for |\captionsetup| stuff and for floats with beside captions.
+%
+% \emph{Note}. Please remember that all options, which set different layout for facing pages
+% need |facing=yes| key option.
%
-% The |\setfloatmargins| consists of three macros which set margins
+% \DescribeMacro{\floatboxmargins}\label{setup:floatboxmargins}%^^A
+% \DescribeMacro{\floatrowmargins}\label{setup:floatrowmargins}%^^A
+% \DescribeMacro{\floatcapbesidemargins}\label{setup:floatcapbesidemargins}%^^A
+% The |\setfloatmargins| could be ``divided'' into the three macros which set margins
% for three main variants of float positions:
% \begin{Options}{\OptionLabel}
% \item[\cmd{\floatboxmargins}]sets left/right margins around alone
% float box;
% \item[\cmd{\floatrowmargins}]sets left/right margins around
-% \env{floatrow} environment;
+% |floatrow| environment;
% \item[\cmd{\floatcapbesidemargins}]sets left/right margins around
% alone float box with beside caption.
% \end{Options}
% The grammar for using three mentioned commands is similar to
-% |\setfloatmargins|. The settings which use |\floatfacing| command
-% work only in the case when key \texttt{facing=yes} used.
+% |\setfloatmargins|. Again, the settings which use |\floatfacing| command
+% work only in the case when key |facing=yes| is used.
%
-% \emph{Notes}. 1)\enskip The \package{floatrow} expands some settings of table layout
-% to the \env{longtable} environment, so you may set |\LTleft| and
+%\RestoreSpaces
+% \paragraph{Alignment Settings for longtable.}
+% \label{ssec:decl:ltable:marg}
+% The \package{floatrow} expands some settings of table layout
+% to the |longtable| environment, so you may set |\LTleft| and
% |\LTright| parameters inside |\DeclareMarginSet| settings. For example,
-% \texttt{centering} option was defined like:
+% |centering| option was defined like:
% \begin{Quote}
% |\DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}%|
% | \LTleft=\fill \LTright=\fill}|
% \end{Quote}
%
-% 2)\enskip The font settings loaded in |\floatsetup|
-% in \env{longtable} environment expand to captions.
-% In this case, when you write something like
-% \begin{Quote}
-% |\floatsetup{font={sf,scriptsize,it}...|
-% \end{Quote}
-% or
-% \begin{Quote}
-% |\floatsetup[longtable]{font={sf,scriptsize,it}...|
-% \end{Quote}
-% for floats (or for [long]tables only), you ought to restore correct
-% font size, family, shape (here) and series for caption contents and write\footnote
-% {The version 3.1 of \package{caption} package will correct that.}:
-% \begin{Quote}
-% |\captionsetup{font={rm,small,up}...|
-% \end{Quote}
-% or
-% \begin{Quote}
-% |\captionsetup[longtable]{font={rm,small,up}...|
-% \end{Quote}
-%
-%
% \subsubsection{Float Separators Options (\texttt{floatrowsep=}, \texttt{capbesidesep=})}
-%
% \DescribeMacro{\DeclareFloatSeparators}\label{setup:DeclareFloatSeparators}%^^A
-% You may to define separator
-% between float boxes, or float object and beside caption:
+% You may define separator
+% between float boxes, or between float object and beside caption:
% \begin{Quote}
-% |\DeclareFloatSeparators{columnsep}{\hskip\columnsep}|
+% |\DeclareFloatSeparators{columnsep}{\hskip\columnsep}|\quad.
% \end{Quote}
-% or more complex, using \package{color} package, and |\floatfacing| macro
-% (do not forget the \texttt{facing=yes} key).
-% You may use defined option by both \texttt{floatrowsep=} and
-% \texttt{capbesidesep=} keys\footnote{You may use key options declared
-% by \cmd{\DeclareCaptionLabelSeparator} command.}.\par
-% \begin{Quote}
-% \meta{preamble}
-% |\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}}|
-% |\DeclareMarginSet{hangleft}%|
+% Please remember, that you may use options defined with |\DeclareFloatSeparators|
+% by both |floatrowsep=| and |capbesidesep=| keys.
+% You may also use key options declared
+% by \cmd{\DeclareCaptionLabelSeparator} command.\par%
+%
+% The next example uses more complex separator, which uses, the \package{color} package.
+% \begin{Quote}[0pt]
+% \begin{preamble}
+% |\|\FRkey{DeclareObjectSet}|{colorred}{\parskip2pt\parindent15pt\color{red}}|
+% |\|\FRkey{DeclareMarginSet}|{hangleft}%|
% | {\setfloatmargins|
% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}|
% |\DeclareFloatSeparators{colorsep}%|
% | {\begingroup\color{blue}%|
-% | \floatfacing{\hskip6pt\vrule width4.8pt\hskip6pt}%|
-% | {\hskip6pt\vrule width4.8pt\hskip6pt}%|
-% | \endgroup}|
-% |\floatsetup[|\hyperref[setup:widefigure]{\texttt{widefigure}}|]{|%^^A
-% \hyperref[setup:margins]{\texttt{margins}}|=hangleft,|%^^A
-% \hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=colorsep,|
-% \hyperref[setup:objectset]{\texttt{objextset}}|=colorred,|
-% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=\textwidth,|%^^A
-% \hyperref[setup:facing]{\texttt{facing}}|=yes}|
+% | \hskip8pt\vrule width4.8pt\hskip8pt\endgroup}|
+% |\|\FRkey[sec]{floatsetup}|[widefigure]{|%^^A
+% \FRkey{margins}|=hangleft,|\FRkey{capbesidesep}|=colorsep,|
+% | |\FRkey{objectset}|=colorred,|\FRkey{floatwidth}|=\textwidth}|
% |\captionsetup[figure]{justification=justified,|
-% | labelfont={magenta,bf},textfont=green,labelsep=newline}|
-% \meta{preamble}
+% | labelfont={color={magenta},bf},textfont={color={green}},|
+% | labelsep=newline}|
+% \end{preamble}
% |\begin{figure*}|\nopagebreak
% |...|\nopagebreak
% |\end{figure*}|
% \end{Quote}
% \begingroup
% \floatsetup[widefigure]{margins=hangleft,capbesidesep=colorsep,objectset=colorred,
-% floatwidth=\textwidth,facing=yes,capposition=beside,capbesideposition=left}
+% floatwidth=\textwidth,capposition=beside,capbesideposition=left}
% \captionsetup[figure]{justification=justified,
-% labelfont={magenta,bf},textfont=green,labelsep=newline}
+% labelfont={color={magenta},bf},textfont={color={green}},labelsep=newline}
% \begin{figure*}[H]%
-% {\TEXTBOX}{\caption[Multi-colored figure and beside caption]{Multi-colored figure with beside caption. And A bit more text, and some more text}}
+% {\TEXTBOX}{\caption[Multi-colored figure and beside caption]{Multi-colored
+% figure with beside caption. And A bit more text, and some more text}\label{color:fig}}
% \end{figure*}%
+% \emph{Note}. The settings of color of caption font like
+% |labelfont={color={magenta},bf,}|\allowbreak
+% |textfont={color={green}}|
+% were documented first time in the \package{caption} documentation version~3.1.
% \endgroup
%
-% \subsubsection{Float Font Option (\texttt{font=})}\label{ssec:declfont}
-%
-% \DescribeMacro{\DeclareFloatFont}\label{setup:DeclareFloatFont}%^^A
-% With this macro you may define new option
-% for font (\texttt{font=} key) of float contents. This macro works
-% like |\DeclareCaptionFont| in \package{caption} package. (You may also
-% use key options declared by |\DeclareCaptionFont| command.)
-%
-% To get red color for text in the example above, you may define the red color by following way:
-% \begin{Quote}%
-% |\DeclareFloatFont{red}{\color{red}}|
-% \end{Quote}%
-% and then
-% \begin{Quote}%
-% |\floatsetup[figure]{font={small,red},...}|\quad.
-% \end{Quote}%
-%
-%
-% \subsubsection{Option for Footnote Rule's Style (\texttt{footnoterule=})}
-% \label{ssec:fnoterule}
-%
+% \subsubsection{Option for Footnote Rule's Style (\texttt{footnoterule=})}\label{ssec:fnoterule}
% \DescribeMacro{\DeclareFloatFootnoterule}\label{setup:DeclareFloatFootnoterule}%^^A
-% You may define new footnoterule (\texttt{footnoterule=} key) like:
+% You may define new footnoterule (|footnoterule=| key) like:
% \begin{Quote}
-% |\DeclareFloatFootnoterule{limited}{\kern-3pt|
-% | \@tempdima.4\columnwidth|
-% | \ifdim\@tempdima>\frulemax\@tempdima=\frulemax\fi|
-% | \hrule width\@tempdima\kern2.6pt}|
+% \begin{preamble}
+% |...|
+% |\usepackage{ifthen}|
+% |\renewcommand\frulemax{72pt}|
+% |\newcommand \Limitedrule{.33\columnwidth}|
+% |\DeclareFloatFootnoterule{Limited}{\kern-3pt|
+% | \def\Limitedrule{.33\columnwidth}%|
+% | \ifthenelse{\lengthtest{\frulemax<\Limitedrule}}%|
+% | {\def\Limitedrule{\frulemax}}{}%|
+% | \hrule width\Limitedrule\kern2.6pt}|
+% \end{preamble}
% \end{Quote}
-% Remember, that summary vertical height for footnote rule must be
+% Remember, that the summary vertical height for footnote rule must be
% equal to~0pt.
%
-%\newpage
-% \section{Creation of New Float Type}\label{sec:newfloat}
-%
+%\clearpage
+% \section{Creation of New Float Types}\label{sec:newfloat}
% \DescribeMacro{\DeclareNewFloatType}\label{setup:DeclareNewFloatType}%^^A
-% For creation of new float type there was created
-% |\DeclareNewFloatType|\label{FAD:newfloattype}
-% command which also uses
+% For creation of new float type the |\DeclareNewFloatType|\label{FAD:newfloattype}
+% command was created
+% which also uses
% \meta{key}${}=\nobreak {}$\meta{value} mechanism:
% \begin{Quote}
% |\DeclareNewFloatType|\marg{type}\marg{options}
% \end{Quote}
-% The \meta{type} argument includes the new float environment name.\\
-% The \meta{options} could include following keys:
+% The \meta{type} argument includes the new floating environment name.\\
+% The \meta{options} could include the following keys:
%
% \noindent
% \DescribeMacro{placement}\label{setup:placement}%^^A
-% The option of this key could have any combination of letters
-% \texttt{t}, \texttt{b}, \texttt{h}, and \texttt{p}, which
-% define placement of current float type on the page in
-% the case float environment has no any option argument.
-% (As default is declared \texttt{placement=tbp}.)
+% The value of this key could contain any combination of the letters
+% |t|, |b|, |h|, and |p|, which
+% define the placement of current float type on the page in
+% the case floating environment has no option argument.
+% (As default is declared |placement=tbp|.)
%
% \noindent
% \DescribeMacro{name}\label{setup:name}%^^A
@@ -3025,40 +3560,42 @@
%
% \noindent
% \DescribeMacro{fileext}\label{setup:fileext}%^^A
-% Defines the file extension from which
-% gathered list of floats. (As default, new captions
-% are gathered in \texttt{lox}-file). This option is required in the case of
-% creation of a~separate float lists.
+% Defines extension of the file in which
+% gathered list of floats.
+%^^A% (As default, new captions
+%^^A% are gathered in |loe|-file). This option is required in the case of
+%^^A% creation of a~separate float lists.
+%
+% \emph{Note.} In the version v0.2b, in the case of this key not defined,
+% the captions of one type are gathered in the file with extension,
+% co-named to current floating environment with perfix ``lo''. This new feature allows
+% to create separate float lists by default.%^^A\footnote{In some systems these extensions could fail?}
%
% \noindent
% \DescribeMacro{within}\label{setup:within}%^^A
% Declares the section head of document, by which
-% current float resets its numbering to zero. If this key absent,
-% float increases during whole documentation.
+% current float resets its numbering to zero. If this key is absent,
+% the float numbering increases during whole documentation.
%
% \noindent
% \DescribeMacro{relatedcapstyle}\label{setup:relatedcapstyle}%^^A
-% In \package{float} package the non-starred
-% \cmd{\newfloat}/\cmd{\restylefloat} macros attach related
+% In the \package{float} package the non-starred
+% \cmd{\newfloat}/\cmd{\restylefloat} macros attach the related
% caption style for float styles (see {\sectionname} \ref{sec:floatst}).
% If you use |\DeclareNewFloatType| mechanism and exists (you created
% it by |\captionsetup|) co-named, i.e. related, caption style
-% you may attach this style with key \texttt{relatedcapstyle=yes}.
-% %^^A \begin{Quote}
-% %^^A |\captionsetup[figure]{style=ruled}|
-% %^^A \end{Quote}
-%
-% The |\DeclareNewFloatType| was used for defining of \env{Example}
-% environment (see page \pageref{exa1.1}). It consists of following
-% code:
+% you may attach this style with key |relatedcapstyle=yes|.\medskip
+%
+% Below is an example of the |\DeclareNewFloatType| command,
+% which was used for definition of the |Example|
+% environment demonstrated on page \pageref{exa1.1}.
+% It consists of following code:
% \begin{Quote}
% |\DeclareNewFloatType{Example}%|
-% | {placement=t,within=section,fileext=lox}|
+% | {placement=t,within=section,fileext=loe}|
% \end{Quote}
%
-% \subsection{How to replace \cmd{\newfloat} with
-% \cmd{\DeclareNewFloatType}}\label{sec:oldtonew}
-%
+% \subsection{How to replace \texorpdfstring{\cs{newfloat}}{newfloat} with \texorpdfstring{\cs{DeclareNewFloatType}}{DeclareNewFloatType}}\label{sec:oldtonew}
% The |\newfloat| command takes three required and
% one optional argument:
% \begin{Quote}
@@ -3068,70 +3605,73 @@
% which could be replaced with
% \begin{Quote}
% |\DeclareNewFloatType|\marg{type}|%|
-% | {placement=|\meta{placement}|,fileext=|\marg{ext}|,widthin=|\oarg{within}|}|
+% | {placement=|\meta{placement}|,fileext=|\meta{ext}|,widthin=|\meta{within}|}|
% \end{Quote}
%
-% \clearpage
-% \section{Borrowed code}\label{sec:borrow}
-%
-% \subsection{\package{float} Package: Compatibility}\label{sec:floatst}
+% The \package{float} package offers also other commands of float type declaring:
+% the |\floatname| command can be replaced by the |name=| key of |\DeclareNewFloatType|
+% command; the |\floatplacement|---by the |placement=| key.
%
+% \clearpage
+% \section{Borrowed Code}\label{sec:borrow}
+% \FRorisubsection{The \package{float} Package: Compatibility}\label{sec:floatst}
% The \package{floatrow} package includes some macros of \package{float}
% (version v1.3d, dated 2001/11/08)
% with necessary modifications. In the case of loaded \package{float}
-% package before \package{floatrow} you'll get error message.
+% package \emph{before} \package{floatrow} you'll get error message.
%
% \emph{Note}.
% In the case of some packages
% could call \package{float} package\footnote{I'm aware about \package{algorithm}
% package.} the \package{floatrow} package loads code which emulates
-% already loaded \package{float} package v1.3, so next requests for
-% \package{float} are ignored. This will help to avoid strange error messages
-% in the case of these packages loaded \emph{after} \package{floatrow}.
+% already loaded \package{float} package v1.3, so future requests for
+% this package will be ignored. This will help to avoid strange error messages
+% in the case of these packages loaded after \package{floatrow}.
% Please note that packages, which load \package{float} must be loaded
% \emph{after} \package{floatrow}.
%
-% I hope that old documents could work with \package{floatrow}. The first
+% I hope that old documents, which use the \package{float} package,
+% could work with \package{floatrow}. The first
% limitation or feature is---if you didn't use any |\restylefloat|
-% command---all figures and tables appear in \texttt{plain} float style
+% command---all figures and tables appear in |plain| float style
% with bottomed captions. Another limitation---you ought to put all
% |\newfloat| and |\floatstyle| and |\restylefloat| commands in
% preamble, before |\begin{document}|. The commands |\restylefloat|,
% |\newfloat| and |\floatstyle| are obsolete but
% supported\footnote{The better
% way is to use \cmd{\floatsetup} macros. The \package{floatrow} package
-% supports obsolete macros but there is no guarantee. See also
-% section~\ref{float-obs} about translation of these commands
-% into \cmd{\floatsetup} command.}.
+% supports obsolete macros but there is no guarantee that they will work as axpected.} (see section below).
%
-% Sections, signed with ``[\package{float}]'' were borrowed from
-% \package{float}'s documentation. The section about commands which
-% describes setting commands of \package{float} package was moved
+% The sections below explain how \package{float} commands and options work in \package{floatrow}.
+% Sections, signed with ``[\package{float}]'' and typed with slanted font, were borrowed from
+% \package{float}'s documentation. The section which
+% describes commands of layout settings of \package{float} package was moved
% in the section~\ref{sec:changed}
% (subsection~\ref{sec:floatborrowI}, ``The User Interface---New
-% Floats [\package{float}]'').
-%
-%
-% \RestoreSpaces
-% \subsubsection{How macros from \package{float} package
-% work in \package{floatrow}}\label{float-obs}
+% Floats [\package{float}]''), this section describes obsolete stuff.
%
-% The combination of commands |\floatstyle|\marg{style} and any of
-% \cmd{\newfloat}\marg{float} or\allowbreak\
-% \cmd{\restylefloat}\marg{float} commands in \package{floatrow} package
-% set float layout in the following way:
+% \subsubsection{How Settings From The \package{float} Package
+% Work in \package{floatrow}}\label{float-obs}
+% The combination of command |\floatstyle|\marg{style} and one of commands
+% \begin{Quote}
+% |\floatstyle|\marg{style}
+% \cmd{\newfloat}\marg{float}
+% \end{Quote}
+% or
+% \begin{Quote}
+% |\floatstyle|\marg{style}
+% \cmd{\restylefloat}\marg{float}
+% \end{Quote}
+% in \package{floatrow} package set float layout in the following way:
% \begin{Quote}
% |\floatsetup|\oarg{float}|{style=|\meta{style}|}|
% \end{Quote}
% Please note that there is used |\floatsetup|\oarg{float}|{...}|
% settings for current type of float, but not |\floatsetup{...}|.
%
-% The |\floatname| command replaces the |name=| key of |\DeclareNewFlotaType|
-% command. The |\floatplacement|---|placement=| key.
-%
-% \subsubsection{Printing of Float List [\package{float}]}
+% \pagebreak\subsubsection{Printing of Float List [\package{float}]}
% \label{sec:floatborrowIa}
-%
+% \begin{slshape}
% \nobreak\DescribeMacro{\listof}
% \nopagebreak
% The |\listof| command produces a list of all the floats
@@ -3145,17 +3685,18 @@
% |\listof| command is analogous to the built-in \LaTeX\ commands
% |\listoffigures| and |\listoftables|.
%
-% \noindent\emph{Floatrow note}.
-% Please remember that for each float type list
-% you must set file extension where the entries of each float type gathered.
-% Use key \texttt{fileext=...} in |\DeclareNewFloatType|.
-% If two or more float types will have the same file
-% for list of floats, you will get all floats in the
-% first appeared |\listof|, and all next will be empty.
+%^^A%\begin{em}%
+%^^A% \noindent\textit{Floatrow note}.
+%^^A% Please remember that for each float type list
+%^^A% you must set file extension where the entries of each float type gathered.
+%^^A% Use key \texttt{fileext=...} in |\DeclareNewFloatType|.
+%^^A% If two or more float types will have the same file
+%^^A% for list of floats, you will get all floats in the
+%^^A% first appeared |\listof|, and all next will be empty.
+%^^A%\end{em}%
%
% \subsubsection{The User Interface---\texttt{[H]}
% Placement Specifier [\package{float}]}\label{sec:floatborrowII}
-%
% Many%^^A
% \FRmpar{Anchored float}{FAD:AnchoredFloat}
% people find \LaTeX's float placement specifiers too
@@ -3177,7 +3718,7 @@
% page together with whatever follows, even though there might still
% be room left for some of that. This style option provides the
% \texttt{[H]} specifier for newly defined classes of floats as well
-% as the predefined \texttt{figure}s and \texttt{table}s, thereby
+% as the predefined |figure|s and |table|s, thereby
% superseding \package{here}. David suggests that the \package{here} option be
% withdrawn from the archives in due course.
%
@@ -3201,7 +3742,7 @@
% fell exactly between the ``So now'' line and the float. This
% wouldn't Prove Anything. Bother.) So now we have the following float
% placement specifiers:\nopagebreak
-% \par\RestoreSpaces
+% \RestoreSpaces
% \begin{table}[H]
% \begin{tabular}{cl}
% \tt t & Top of the page\\
@@ -3213,35 +3754,34 @@
% ^^A\caption{Could it be that this just needs a caption?}
% \end{table}
%
-% \emph{Floatrow note}. Please don't mix meaning of
+% \smallskip\em \textit{Floatrow note}. Please don't mix meaning of
% \texttt{[H]} and \texttt{[h]} options.
% Float with \texttt{[h]} and \texttt{[!h]} option, if succeed, appears
% \emph{after completing line} of text,
% where it was appeared in the source file. That could be visible if you
-% put float environment at the middle of paragraph.
+% put floating environment within a~paragraph (and at the middle of line also).
%
-% The [H] option places the float just \emph{at the point} where it appeared
-% in the source file, it is used (\emph{but that in books strongly
-% not recommended}!) for floats after text like ``\dots{}shown in this
-% \textbf{figure:}'', i.e. the \texttt{[H]} float continues current
+% The \texttt{[H]} option places the float just \emph{at the point} where it appeared
+% in the source file, it is used (\emph{but that strongly
+% not recommended when typesetting books}!) for floats after text like ``\dots{}shown in this
+% \textbf{figure:}'', i.e. the \texttt{[H]} float, almost like math formulas, continues the current
% paragraph.
%
-% \RestoreSpaces
+%\end{slshape}
+%
% \subsubsection{The {[H]}
% Placement Specifier---Managing of Page Breaks}\label{sec:listpen}
-%
-% During usage of |[H]| option I found that it is necessary
-% to set common penalties before and after ``anchored'' floats.
-%
-% The rules for page breaking around such floats similar to
-% page breaking of lists in the book.
+% The strange phrase at the end of previous paragraph, ``almost like math formulas''
+% means, that ``anchored'' floats have no management of page breaking, and also
+% the text, typed without blank line after float, always gets |\parindent|.
%
% To follow the idea of |\allowdisplaybreaks| command from
% \package{amsmath} package there is created a \emph{beta-temp}\footnote{I
% hope that such support sooner or later could appear in
% \package{paralist} package and think it is better to follow
% grammar of master-package for similar situations.} version
-% of \package{listpen} package, which offers following commands:
+% of \package{listpen} package (it can be used separately). It offers commands,
+% which manage the penalty values in the list environments:
% \begin{Options}{\OptionLabel}
% \item[\cmd{\allowprelistbreaks}]sets penalty before lists
% (and also ``anchored'' floats);
@@ -3249,7 +3789,7 @@
% \item[\cmd{\allowitembreaks}]sets penalty between list items
% (surely, this command not for floats!).
% \end{Options}
-% All they set globally, inside group or inside
+% All of them can be set globally, inside groups, and inside
% environments. These penalties are set accordingly to digits
% from |[-4]| (never break) to |[4]| (always break). The positive
% values of optional argument in these commands analogous to values
@@ -3257,87 +3797,93 @@
% ones---to optional arguments |[1]|--|[4]| in |\nopagebreak| command.
% The default value of all three commands is |[-1]| which equal
% to settings of standard \LaTeX{} classes: \cls{book}, \cls{article}
-% etc. (|[-1]| option equal to |-\@lowpenalty| value).
+% etc. (|[-1]| option equal to |\@lowpenalty| value).
%
% \DescribeMacro{floatHaslist}\label{setup:floatHaslist}%^^A
-% This is the late attempts of backwards compatibility. The key, if true,
+% This is the late attempts of backwards compatibility, added in version 0.1k. The key, if true,
% uses list penalties, otherwise anchored float works without any penalty, i.e. like
-% defined in \package{float} package and in \package{floatrow}'s version 0.0g
+% defined in \package{float} package and in \package{floatrow}'s version 0.1j
% and earlier. (I hope there could not much difference,
-% unless you redefined penalties of lists.)
+% unless you have redefined penalties of lists in your documentation.)
%
% Also (added in version 0.1k with current key):
-% since list environments do \emph{not make indentation} in following
-% paragraph, in the case of \emph{no blank} line after environment,
-% the ``anchored'' float environment does
-% the same, if this option is true. Default value of \texttt{floatHaslist}
-% is \texttt{false}
+% Since list environments do \emph{not make indentation} in the
+% paragraphs next to them, in the case of \emph{no blank} line after environment,
+% the ``anchored'' floating environment does
+% the same, if this option is true. Default value of |floatHaslist|
+% is |false|
% (for backward compatibility with previous version 0.1j).
%
% \DescribeMacro{\floatHpenalties}\label{setup:floatHpenalties}%^^A
% This macro, defined with |\renewcommand| can include settings for
-% list penalties around anchored float. If you define
+% list penalties around anchored floats. If you define
% \begin{Quote}
+%\begin{preamble}
+% |\makeatletter|
% |\renewcommand\floatHpenalties{\@beginparpenalty\@M}|
+% |\makeatother|
+%\end{preamble}
% \end{Quote}
% or, with \package{listpen} package
% \begin{Quote}
+%\begin{preamble}
% |\renewcommand\floatHpenalties{\allowprelistbreaks[-4]}|\quad,
+%\end{preamble}
% \end{Quote}
-% you'll never get page breaks before anchored float.
+% you'll never get page breaks before anchored floats.
%
% \medskip\noindent
% \DescribeMacro{\RestoreSpaces}
-% There was added one simple command, the external alias
-% of internal command |\@nobreakfalse|.
-% It switches off |\if@nobreak| flag.
-% The main (and most visible) usage of this flag---managing of
-% vertical spaces between two sectioning commands (it cancels the space before for next
-% section command of the pair); spaces before list environments (cancels the space
-% before list just after sectioning command) and other similar cases.
-%
-% Usually this flag turned off at the next paragraph (or |\par| command),
-% but in some cases this ``turn off'' cannot be happen in necessary point.
-% The |\RestoreSpaces| command would help.
+% \DescribeMacro{\RemoveSpaces}
+% The commands-aliases
+% of the |\if@nobreak| flag were added. The first is equal to |\@nobreakfalse|.
+% The main (and most visible) usage of this flag is for managing
+% vertical spaces: The |true| value in the case of two sectioning commands
+% cancels usage of the space before next
+% |\..section| command of the pair; in the case of
+% spaces around list environments it cancels usage of the space
+% before list just after sectioning command.
+% Usually the |\@nobreakfalse| flag toggles at the next paragraph (or |\par| command),
+% but in some cases this ``toggling'' cannot be happen in necessary point.
+% The |\RestoreSpaces| command would help. Opposite command |\RemoveSpaces| equals to |\@nobreaktrue|.
%
% \subsection{The \package{rotfloat} Package}
-%
% Code of \package{rotfloat} package was also borrowed by \package{floatrow}
-% package. In the case of loaded \package{rotfloat} package before
+% package.
+% This package originally allows to expand settings of \package{float} package to
+% rotated environments like |sidewaysfigure| and |sidewaystable|. This mechanism
+% was borrowed to expand the \package{floatrow}'s settings in the similar way.
+%
+% In the case of loaded \package{rotfloat} package \emph{before}
% \package{floatrow} you will get error message.
%
% The \package{floatrow} package loads code which pretends that
-% \package{rotfloat} already loaded, so next loads are ignored.
+% \package{rotfloat} is already loaded, so next loads are ignored.
% The \package{rotfloat} allowed in the |\usepackage|
% line with \package{rotating} package, which could have options. It is
% necessary to delete \package{rotfloat} package from |\usepackage| line
% where also \package{rotating} package loaded with options: otherwise
-% you may get `option clash' error message.
+% you may get an `option clash' error message.
%
%\clearpage
-% \section{Style Tandems}
-%
-% The next few sections show examples and explain some noticed
-% features with usage of \package{floatrow} and another package. There is not
-% the full list of style compatibilities. You may succeed with other
-% versions of mentioned packages, and maybe with not mentioned
-% packages too.
-%
-% \subsection{The \package{caption} Package}\label{ssec:caption}
-%
-% Tested (and compatible) with version v3.0q.
+% \section{The \package{floatrow} Package and The \package{caption} Package}\label{ssec:caption}
+% Tested (and compatible) with version from v3.0q to~v3.1f.
%
-% The \package{caption} package has strong mechanism of creating of
+% The \package{caption} package has strong mechanism for creation of
% caption layout, so \package{floatrow} addresses the creation of new
% caption styles to this package (see documentation for \package{caption}
-% package).
-%
-% The \package{floatrow} adds possibility to create a variations of captions
-% for floats in different positions or layouts (e.g. like wide or
-% two-column floats or rotated floats) using optional argument of
-% |\captionsetup|.
-%
-% For example you want to create special caption layout for wide or
+% package%^^A
+% \footnote{The English documentation is
+% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/caption/caption-eng.pdf}%^^A
+% {\meta{texmf folder}\texttt{/doc/latex/caption/caption-eng.pdf}}.}).
+%
+% The \package{floatrow} package adds a~possibility to create variations of caption layouts
+% for floats in different positions or float layouts (e.g. like wide or
+% two-column floats, rotated floats, wrapped floats) in the same time when |\floatsetup|
+% settings were loaded, using the same optional argument in
+% |\captionsetup| settings.
+%
+% For example you want to create a~special caption layout for wide or
% two-column floats. In this case you may use
% \begin{Quote}
% |\captionsetup[widefloat]|\marg{options}
@@ -3347,39 +3893,508 @@
% |\captionsetup[widefigure]|\marg{options}
% \end{Quote}
% The priority of |\captionsetup| optional arguments is similar to
-% |\floatsetup| ones. In current examples |\captionsetup[widefigure]|
-% will be stronger than |\captionsetup[widefloat]|. The priority
+% |\floatsetup| ones: in current examples |\captionsetup[widefigure]|
+% will be stronger than |\captionsetup[widefloat]|---the priority
% and usage of ``\meta{float subtypes}'' in optional arguments
-% see on the page~\pageref{stsetorder}\label{cap:beside:order}).
+% see on page~\pageref{stsetorder}\label{cap:beside:order}.
%
-% \subsection{The \package{subfig} Package}\label{ssec:subfig}
+%\begingroup
+%\providecommand*\subcaption{\captionsetup{subtype*}\caption}
+%
+% \captionsetup[subtable]{labelformat=brace,textfont=md,labelfont=up}
+%
+% \subsection{Managing of Float Parts With the \texttt{subfloatrow} Environment}\label{ssec:subcaption}
+% \DescribeMacro{\subcaption}
+% The version~3.1 of caption package offers possibility for creation of
+% subcaptions, using the |subtype| settings (and |\DeclareCaptionSubType| command, see \package{caption}
+% documentation), which allow to create captions for parts of floats.
+%
+% In this section you may see some examples with building of rows of beside parts of floats.
+%
+% The example with subtables \Fref{subcaptab:tabIIIa} and \Fref{subcaptab:tabIIIb}
+% (table~\ref{captab:tabIII}).%^^A
+% \FRmpar{Subcaption above subtable}{FAD:subcapabove:subcaption}
+% \begin{Quote}
+%\begin{preamble}
+%\verb|...|
+%\verb|\DeclareCaptionSubType[alph]{table}|
+%\verb|\captionsetup[subtable]{labelformat=brace,textfont=md,labelfont=up}|\vspace{1ex}
+%\verb|\floatsetup[subtable]{style=Plaintop}%|
+%\end{preamble}
+% \verb|\begin{table}|
+% \verb|\ttabbox[\FBwidth]|
+% \verb|{\begin{subfloatrow}|
+% \verb| \ttabbox|
+% \verb| {\caption{First subtable}\Flabel{...}%|
+% \verb| \begin{tabular}{..}...|
+%
+% \verb| \ttabbox...|
+% \verb|\end{subfloatrow}}|
+% \verb|{\caption{Two ...}\Flabel{...}}|\nopagebreak
+% \verb|\end{table}|
+% \end{Quote}%
+% \DeleteShortVerb{\|}%
+%\begingroup
+% \floatsetup[subtable]{style=Plaintop}
+% \begin{table}[H]\extrarowheight1pt\tabcolsep1.5\tabcolsep
+% \ttabbox[\FBwidth]
+% {\begin{subfloatrow}
+% \ttabbox
+% {\caption{First subtable}\Flabel{subcaptab:tabIIIa}%^^A
+% \begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|}
+% \hline
+% \multirowthead{2}[-1ex]{Column Head}
+% & \multicolumn{2}{c|}{\thead{Data}} \\
+% \cline{2-3}
+% & \multicolumn{1}{c|}{\thead{I}}
+% & \multicolumn{1}{c|}{\thead{II}}
+% \\\hline
+% First row & 1 & 2 \\
+% Second row & 3 & 4 \\
+% Third row & 6 & 8 \\
+% Fourth row & \llap{1}0 & \llap{1}6 \\
+% \hline
+% \end{tabular}}{}
+%
+% \ttabbox
+% {\caption{Second subtable inside of \cs{ttabbox} and |floatrow| environment}%^^A
+% \Flabel{subcaptab:tabIIIb}%^^A
+% \begin{tabular}{|l|c|c|}
+% \hline
+% \multirowthead{2}[-1ex]{Column Head}
+% & \multicolumn{2}{c|}{\thead{Data}} \\
+% \cline{2-3}
+% & \multicolumn{1}{c|}{\thead{I}}
+% & \multicolumn{1}{c|}{\thead{II}}
+% \\\hline
+% First row & \phantom01 & \phantom02 \\
+% Second row & \phantom03 & \phantom04 \\
+% Third row & \phantom06 & \phantom08 \\
+% \hline
+% \end{tabular}}{}%
+% \end{subfloatrow}}
+% {\caption{Two {subtable}s
+% (captions for parts of float created with \cs{caption} command)}\label{captab:tabIII}}
+% \end{table}%
+%\endgroup
+% \MakeShortVerb{\|}%
+% Please note that for the labels of table parts the special option
+% \verb|brace| of the \verb|labelformat| key was used.
+%
+% \DescribeMacro{subfloatrow}
+% The |subfloatrow| is analogous to the |floatrow| environment\footnote{
+% It skips some features of ``parent'' environment, (e.g. margins or margin material
+% this environment build box and follows |objectset=| option).}.
+% The usage is similar to |floatrow|, you may write for example:
+% \begin{Quote}
+% \verb|\begin{subfloatrow}[|\meta{number of beside parts of floats}\verb|]|\nopagebreak
+% \verb|\floatbox...|\nopagebreak
+% \verb|\floatbox...|\nopagebreak
+% \verb|...|\nopagebreak
+% \verb|\end{subfloatrow}|
+% \end{Quote}
+% i.e.\ by default there are allowed two parts of floats. For other number of parts
+% you ought to put number in the optional argument. This environment
+% puts horizontal separator, defined by |subfloatrowsep=|
+% key. This key uses the same options
+% as |floatrowsep=| and |capbesidesep=| keys (options of
+% these keys defined by the \verb|\|\FRkey{DeclareFloatSeparators} command).
+%
+% Inside the |subfloatrow| environment you may use the |\caption| command, which
+% this time creates the label for parts of float. This is because of setting
+% \begin{Quote}
+% |\captionsetup{subtype}|
+% \end{Quote}%
+% at the very beginning of this environment.
+%
+% \emph{Note}: With the \package{floatrow} package you may use also |\captionsetup[subfloat]|
+% settings, the \package{caption} package offers
+% the |\captionsetup[subtype]{...}| settings which will be stronger than previous, to say nothing
+% about |\captionsetup[subfigure]{...}| for parts of figure. (Please note
+% that in \package{caption} terms word ``subtype'' means part of float.)
+%
+% Next follows an example with beside main caption (figure~\ref{fig:subcap:catsI}).%^^A
+% \begin{Quote}[0pt]
+% \begin{preamble}\nopagebreak
+% \verb|...|
+% \verb|\DeclareCaptionSubType[alph]{figure}|
+% \verb|\captionsetup[subfigure]{labelformat=brace,justification=centerlast}|\vspace{1ex}
+% \verb|\floatsetup[figure]{|\FRkey{style}\verb|=Shadowbox,|%^^A%
+% \FRkey{capbesidesep}\verb|=columnsep,%|
+% \verb| |\FRkey{capbesideframe}\verb|=yes,|%^^A
+% \FRkey{capbesideposition}\verb|={left,bottom}}|\nopagebreak
+% \verb|\floatsetup[subfigure]{|\FRkey{style}\verb|=plain,|\FRkey{heightadjust}\verb|=object}|
+% \end{preamble}
+% \verb|\begin{figure}|
+% \verb|\fcapside[\FBwidth]|
+% \verb| {\begin{subfloatrow}|
+% \verb| \ffigbox[\FBwidth]{\caption{One funny cat}\Flabel{...}...}{}|
+% \verb| |
+% \verb| \ffigbox[\FBwidth]{\caption{Another pleasant cat}\Flabel{...}...}{}%|
+% \verb| \end{subfloatrow}}|
+% \verb| {\caption{... \Fref{...} and \Fref{...}}\label{...}}|\nopagebreak
+% \verb|\end{figure}|
+% \end{Quote}\par\kern-\textfloatsep\kern-\baselineskip
+%\begingroup
+% \captionsetup[subfigure]{labelformat=brace,justification=centerlast,strut=no}
+% \floatsetup[figure]{style=Shadowbox,capbesidesep=columnsep,
+% capbesideframe=yes,capbesideposition={left,bottom}}
+% \floatsetup[subfigure]{style=plain,heightadjust=object}
+% \begin{figure}[H]
+% \fcapside[\FBwidth]
+% {\begin{subfloatrow}
+% \ffigbox[\FBwidth]{\caption{One funny cat}\Flabel{subcapfig:w}%
+% \unitlength1.2\unitlength\input{Cat.picture}}{}
+% \ffigbox[\FBwidth]{\caption{Another pleasant cat}\Flabel{subcapfig:b}%^^A
+% \unitlength1.32\unitlength\input{TheCat.picture}}{}%
+% \end{subfloatrow}}
+% {\caption[Subfloat row]{Beside figure
+% caption vertically top aligned; fancy
+% \texttt{Shadowbox} layout. There are two parts:
+% \Fref{subcapfig:w} and \Fref{subcapfig:b}}\label{fig:subcap:catsI}}
+% \end{figure}\kern-\lastskip
+%\endgroup
+%
+% In the next example the main caption will be placed below, but labels of figure parts were
+% printed beside (see figure~\ref{fig:subcap:catsII}). For this reason the
+% \cs{useFCwidth} command was used, which creates the width of caption box equal to natural caption width.
+% \begin{Quote}\vskip-\lastskip%
+%\begin{preamble}\nopagebreak
+%\verb|...|
+%\verb|\captionsetup[subfigure]{labelformat=brace,list=off}|\vspace{1ex}
+%\verb|\floatsetup[subfigure]{|\FRkey{style}\verb|=plain,|%^^A
+% \FRkey{capbesideposition}\verb|=left,|
+%\verb| |\FRkey{capbesidesep}\verb|=space,|%^^A
+% \FRkey{heightadjust}\verb|=object}|\nopagebreak
+%\end{preamble}
+% \verb|\begin{figure}[H]|
+% \verb| \ffigbox[\FBwidth]|
+% \verb| {\begin{subfloatrow}\useFCwidth|
+% \verb| \fcapside[\FBwidth]{\caption{}\Flabel{...}...}{}|
+%
+% \verb| \fcapside[\FBwidth]{\caption{}\Flabel{...}...}{}|
+% \verb| \end{subfloatrow}}|
+% \verb| {\caption[...]{...}\label{...}}|\nopagebreak
+% \verb|\end{figure}|\pagebreak[1]
+% \end{Quote}
+%\begingroup
+% \captionsetup[subfigure]{labelformat=brace,justification=raggedleft,list=off}
+% \floatsetup[subfigure]{style=plain,capbesideposition=left,
+% capbesidesep=space,floatrowsep=qquad}
+% \begin{figure}[H]
+% \ffigbox[\FBwidth]
+% {\begin{subfloatrow}\useFCwidth
+%
+% \fcapside[\FBwidth]
+% {\caption{}\Flabel{subcap:wI}\hbox{\unitlength1.02\unitlength\input{Cat.picture}}}{}
+%
+% \fcapside[\FBwidth]
+% {\caption{}\Flabel{subcap:bI}\hbox{\unitlength.85\unitlength\input{TheCat.picture}}}{}%
+% \end{subfloatrow}}
+% {\caption[Two parts of figure with
+% labels beside]{Two parts of figure in a row with
+% labels beside. Main caption below. There are two subfigures:
+% \Fref{subcap:wI} and \Fref{subcap:bI}}\label{fig:subcap:catsII}}
+% \end{figure}
+%\endgroup
+%
+% In the next example the difference from previous layout settings is in usage
+% of the top vertical alignment. The height of the right graphics was enlarged by 1cm just
+% to show how the alignment for parts (here is default centering alignment)
+% and the top alignment for their captions (they are aligned by top) works.
+% \begin{Quote}%
+%\begin{preamble}\nopagebreak
+%\verb|...|
+%\verb|\floatsetup[subfigure]{|\FRkey{style}\verb|=plain,|%^^A
+% \FRkey{heightadjust}|=object,|
+%\verb| |\FRkey{capbesideposition}\verb|={left,top},|\FRkey{capbesidesep}\verb|=space}|
+%\end{preamble}
+% \verb|\begin{figure}[H]|
+% \verb| \ffigbox[\FBwidth]|
+% \verb| {\begin{subfloatrow}\useFCwidth|
+% \verb| \fcapside[\FBwidth]{\caption{}\Flabel{...}...}{}|
+%
+% \verb| \fcapside[\FBwidth][\FBheight+1cm]{\caption{}\Flabel{...}...}{}|
+% \verb| \end{subfloatrow}}|
+% \verb|{\caption[...]{...}\label{...}}|
+% \verb|\end{figure}|
+% \end{Quote}
+%\begingroup
+% \captionsetup[subfigure]{labelformat=brace,justification=raggedleft,list=off}
+% \floatsetup[figure]{heightadjust=object}
+% \floatsetup[subfigure]{style=plain,capbesideposition={left,top},heightadjust=object,
+% capbesidesep=enskip,floatrowsep=qquad}
+% \begin{figure}[H]
+% \ffigbox[\FBwidth]
+% {\begin{subfloatrow}\useFCwidth
+%
+% \fcapside[\FBwidth]
+% {\caption{}\Flabel{subcap:wIi}\hbox{\unitlength1.02\unitlength\input{Cat.picture}}}{}
+%
+% \fcapside[\FBwidth][\FBheight+1cm]
+% {\caption{}\Flabel{subcap:bIi}\hbox{\unitlength.85\unitlength\input{TheCat.picture}}}{}%
+% \end{subfloatrow}}
+% {\caption[Two labeled parts of figure (centered vertically);
+% beside labels aligned by top]{Two parts
+% of figure centered vertically; beside labels aligned by top. Main caption below.
+% There are two subfigures:
+% \Fref{subcap:wIi} and \Fref{subcap:bIi}}\label{fig:subcap:catsIiI}}
+% \end{figure}
+%\endgroup
+%
+% Another example (\ref{fig:subcap:IcatsI}) demonstrates, that you
+% may not only use the option |style=plain| for parts of float,
+% and there can not only be labels for beside subcaptions.
+% \begin{Quote}[0pt]
+% \begin{preamble}\nopagebreak
+% \verb|\captionsetup[subfigure]{labelformat=brace,justification=rightlast,|
+% \verb| format=hang}|\vspace{1ex}
+% \verb|\floatsetup[figure]{|\FRkey{style}\verb|=plain}|
+% \verb|\floatsetup[subfigure]{|\FRkey{style}\verb|=BOXED,|\FRkey{capbesideposition}\verb|={left,top}}|
+% \end{preamble}
+% \verb|\begin{figure}|
+% \verb|\ffigbox|
+% \verb| {\begin{subfloatrow}|
+% \verb| \fcapside[1.1\FBwidth]{\caption{One ...}\Flabel{...}...}{}|
+% \verb| |
+% \verb| \fcapside[1.1\FBwidth]{\caption{Another ...}\Flabel{...}...}{}%|
+% \verb| \end{subfloatrow}}|
+% \verb| {\caption{... \Fref{...} and \Fref{...}}\label{...}}|\nopagebreak
+% \verb|\end{figure}|
+% \end{Quote}
+%\begingroup
+% \captionsetup[subfigure]{labelformat=brace,justification=rightlast,format=hang}
+% \floatsetup[figure]{style=plain}
+% \floatsetup[subfigure]{style=BOXED,capbesideposition={left,top}}
+% \begin{figure}[H]
+% \ffigbox
+% {\begin{subfloatrow}
+% \fcapside[1.1\FBwidth]{\caption{One very funny cat with half-circle eyes, triangle ears,
+% and small black nose}\Flabel{subcapfig:ww}%
+% \input{Cat.picture}}{}
+% \fcapside[1.1\FBwidth]{\caption{Another very pleasant cat with big whiskers, oval eyes, and pink
+% wet nose}\Flabel{subcapfig:bb}%^^A
+% \input{TheCat.picture}}{}%
+% \end{subfloatrow}}
+% {\caption[Two parts of figure in a row with captions beside]{Beside
+% subcaptions vertically top aligned. There are two subfigures:
+% \Fref{subcapfig:ww} and \Fref{subcapfig:bb}}\label{fig:subcap:IcatsI}}
+% \end{figure}\vskip-\lastskip\kern-\baselineskip
+%\endgroup
%
+% \DescribeMacro{\captionlabel}%
+% \DescribeMacro{\subcaptionlabel}%
+% The last example demonstrates new command \verb|\subcaptionlabel| for caption
+% labels, which can be used inside,
+% e.g., |picture| environment or as replacing text in \verb|psfrag| command of \package{psfrag}
+% package. Unlike the \verb|\caption| and \verb|\subcaption| commands, the \verb|\subcaptionlabel| does
+% will not be saved in special box register when the float box is building, and
+% will be typed like caption label, which follows settings of caption layout.
+% This command is based on \verb|\subcaption| command but with changed internal command of \package{caption}
+% package. There is also the \verb|\captionlabel| command.
+% \captionsetup[subfigure]{labelformat=brace,justification=raggedleft}
+% \begin{Quote}%
+%\begin{preamble}\nopagebreak
+%\verb|...|
+%\verb|\floatsetup[figure]{|\FRkey{style}\verb|=plain}|
+%\end{preamble}
+% |{\begin{picture}(82,40)(0,0)|
+% |\put(0,0){\framebox(40,40)[bl]{}}|
+% |\put(2,2){\makebox(0,0)[bl]{\relax\hbox{\subcaptionlabel{}\Flabel{scap:I}}}}|
+% |...|
+% |\put(42,0){|
+% |\put(0,0){\framebox(40,40)[bl]{}}|
+% |\put(2,2){\makebox(0,0)[bl]{\hbox{\subcaptionlabel{}\Flabel{scap:II}}}}|
+% |...}|
+% |\end{picture}}|
+% |{\caption{Here are two simple subfigures.|
+% |\textit{Left} shows cat's eyes (\Fref{scap:I});|
+% |\textit{right}---cat's ears (\relax\Fref{scap:II})%|
+% |}\label{figcap:label}}|
+% |\end{figure}|
+% \end{Quote}
+%\begingroup\par\kern-\textfloatsep
+% \floatsetup[figure]{style=plain}
+% \begin{figure}[H]
+% \fcapside[\FBwidth]
+% {\unitlength2\unitlength\fboxsep-.4pt
+% \begin{picture}(82,28)(0,0)
+% \put(0,0){\framebox(40,28)[bl]{}}
+% \put(2,2){\makebox(0,0)[bl]{\relax\hbox{\subcaptionlabel{}\Flabel{scap:I}}}}
+% \put(20,2){{
+% \put(-12,5){\put(4.5,4.5){\oval(9,9)[t]}
+% \put(4.5,4.5){\line(0,1){4.5}}
+% \put(0,4.5){\line(1,0){9}}}
+% \put(3,5){\put(4.5,4.5){\oval(9,9)[t]}
+% \put(4.5,4.5){\line(0,1){4.5}}
+% \put(0,4.5){\line(1,0){9}}}}}
+% \put(42,0){
+% \put(0,0){\framebox(40,28)[bl]{}}
+% \put(2,2){\makebox(0,0)[bl]{\hbox{\subcaptionlabel{}\Flabel{scap:II}}}}%^^A\label{}
+% \put(20,2){{
+% \put(-14,12){\put(0,0){\line(2,3){5}}
+% \put(10,0){\line(-2,3){5}}}
+% \put(4,12){\put(0,0){\line(2,3){5}}
+% \put(10,0){\line(-2,3){5}}}}}}
+% \end{picture}}
+% {\caption[The graphic with subfloat labels]{%^^A
+% Here are two simple subfigures.
+% \textit{Left} shows cat's eyes (\Fref{scap:I});
+% \textit{right}---cat's ears (\relax\Fref{scap:II})
+% \unskip}\label{figcap:label}}
+% \end{figure}
+%\endgroup
+%
+% \subsection{Support of The Label--Sublabel References}\label{ssec:Flabel}
+% In the examples above of the current section the \verb|\Flabel| and
+% \verb|\Fref| commands were used for cross referencing (you may see
+% these commands in the code examples).
+% The \verb|\Flabel| gets a~modified format of current label of subfloat number:
+% In these definitions the float and subfloat
+% separators are divided by a~special separator command, which by default has no effect.
+% The label command \verb|\Flabel| can be defined like following:
+% \begin{Quote}%
+%\begin{preamble}
+% \verb|\newseparatedlabel\Flabel{figure}{subfigure}|
+%\end{preamble}
+% \end{Quote}
+% or, for all floats:
+% \begin{Quote}%
+%\begin{preamble}
+% \verb|\makeatletter|\nopagebreak
+% \verb|\newseparatedlabel\Flabel{\@captype}{sub\@captype}|\nopagebreak
+% \verb|\makeatother|
+%\end{preamble}
+% \end{Quote}
+% Next command, \verb|\Fref|, redefines this separator and prints reference with
+% standard \verb|\ref| command. It was defined in this documentation like following:
+% \begin{Quote}%
+%\begin{preamble}
+% \verb|\newseparatedref\Fref{,\,\textit}|\quad.
+%\end{preamble}
+% \end{Quote}
+% Thus, labels, which use \verb|\Flabel| command can be referenced by usual way with \verb|\ref|
+% command and with \verb|\Fref| command. The labels in current section and in the section, which describes
+% the \package{subfig} package, use the \verb|\Flabel|. You may see the result of this command
+% in all \verb|\Fref|erences to these parts of figures.
+%
+% The last command, \verb|\makelabelseparator|, defines label separator globally:
+% \begin{Quote}%
+%\begin{preamble}
+% \verb|\makelabelseparator{,\,\textit}|\quad.
+%\end{preamble}
+% \end{Quote}
+% In this case both \verb|\Fref| and \verb|\ref| commands give the same result with |\Flabel|ed
+% elements.
+%
+% \subsubsection{The \texorpdfstring{\cs{RawCaption}}{RawCaption} with Parts of Figure}
+%\begingroup
+% \DescribeMacro{\RawCaption}\label{subcap:RawCaption}%^^A
+% The example with usage of |\subcaption| and |\RawCaption| command.
+% The layout of figure float is modified \verb|BOXED| style. The idea behind this example is
+% to place caption in the free right lower corner of graphics. The \verb|\RawCaption|
+% allows to put the caption in necessary place without disturbing the float layout.
+% \captionsetup[subfigure]{labelformat=brace,justification=rightlast,format=hang}
+%
+% \DescribeMacro{subfloatrow*}
+% The starred form loads settings for creation captions of float parts, but
+% in this environment the |\caption| command restores its meaning. Thus,
+% you need the |\subcaption| command for typesetting sub-captions.
+% You may define it by yourself:
+% \begin{Quote}
+% |\newcommand*\subcaption{\captionsetup{subtype*}\caption}|
+% \end{Quote}%
+% or use the additional package called \package{subcaption} which on top of everything
+% defines the |\subcaption| command.
+%
+% \begin{Quote}[0pt]%
+%\begin{preamble}\nopagebreak
+% |\|\FRkey{DeclareColorBox}|{framedfigure}{\fcolorbox{gray}{white}}|\vspace{1ex}
+% |\floatsetup[figure]{style=BOXED,heightadjust=object,|
+% | colorframeset=framedfigure,|
+% | framestyle=colorbox,frameset={\fboxrule3pt\fboxsep8pt}}|\vspace{1ex}
+% |\floatsetup[subfigure]{style=plain,capbesideposition={left,top},|
+% | heightadjust=object}|
+%\end{preamble}
+% |\begin{figure}[H]|
+% |\ffigbox{}{\begin{subfloatrow*}|
+% |\fcapside[1.1\FBwidth]{\subcaption{...}\Flabel{...}...}{}|
+% |\fcapside[1.1\FBwidth]{\subcaption{...}\Flabel{...}...}{}%|
+% |\end{subfloatrow*}%|
+% |\renewlengthtocommand\settowidth\Mylen{\subfloatrowsep}\vskip\Mylen|
+% |\BottomFloatBoxes\floatsetup[subfigure]{heightadjust=none}|
+% |\begin{subfloatrow*}|
+% |\fcapside[1.1\FBwidth]{\subcaption{...}\Flabel{...}...}{}|
+% |\ffigbox[][][b]{}{\RawCaption{\caption[...}\label{...}}}|
+% |\end{subfloatrow*}}|\nopagebreak
+% |\end{figure}|
+% \end{Quote}
+% \floatsetup[figure]{style=BOXED,heightadjust=object,colorframeset=framedfigure,
+% framestyle=colorbox,frameset={\fboxrule3pt\fboxsep8pt}}
+% \floatsetup[subfigure]{style=plain,capbesideposition={left,top},heightadjust=object}
+% \begin{figure}[H]
+% \ffigbox{}{\begin{subfloatrow*}
+% \fcapside[1.1\FBwidth]{\subcaption{One very funny cat with half-circle eyes, triangle ears,
+% and small black nose}\Flabel{subIcapfig:ww}%
+% \setlength\unitlength{61\unitlength/48}\input{Cat.picture}}{}
+% \fcapside[1.1\FBwidth]{\subcaption{Another very pleasant cat with big whiskers, oval eyes, and pink
+% wet nose}\Flabel{subIcapfig:bb}%^^A
+% \input{TheCat.picture}}{}%
+% \end{subfloatrow*}\renewlengthtocommand\settowidth\Mylen{\subfloatrowsep}\vskip\Mylen
+% \BottomFloatBoxes\floatsetup[subfigure]{heightadjust=none}
+% \begin{subfloatrow*}
+% \fcapside[1.1\FBwidth]{\subcaption{The very big cat, sitting on the window and
+% looking at the birds on the tree in the yard}\Flabel{subIcapfig:bc}%
+% \input{BlackCat.picture}}{}
+% \ffigbox[][][b]{}{\RawCaption{\caption[Three labeled parts of figure and raw caption]{Beside
+% subcaptions vertically top aligned. There are three subfigures:
+% \Fref{subIcapfig:ww}, \Fref{subIcapfig:bb} and \Fref{subIcapfig:bc}. Caption placed
+% at the free space of right lower corner}\label{fig:subIcap:IcatsI}}}
+% \end{subfloatrow*}}
+% \end{figure}
+%\endgroup
+%
+%\endgroup
+%
+%\clearpage
+% \section{Style Tandems}
+% The next few sections show examples and explain some noticed
+% features with usage of \package{floatrow} and other packages. There is no
+% full list of style compatibilities. You may succeed with other
+% versions of mentioned packages, and maybe with not mentioned
+% packages too.
+%
+%\begingroup
+% \subsection{The \package{subfig} Package}\label{ssec:subfig}
% Tested (and compatible) with version 1.3,
-% dated 2005/06/28. For the \package{subfig} package there are additional
-% macros in \package{floatrow} which create of row of subfloats;
-% put subcaption label beside contents of subfloat; put alone
+% dated 2005/06/28%^^A
+% \footnote{The English documentation is
+% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/subfig/subfig.pdf}%^^A
+% {\meta{texmf folder}\texttt{/doc/latex/subfig/subfig.pdf}}.}.
+% For the \package{subfig} package there are additional
+% macros in \package{floatrow} which
+% put subcaption label beside contents of subfloat and put alone
% subcaption label.
%
% \subsubsection{Additions in \package{floatrow}}
-%
% The example with \cmd{\subfloat}'s (table~\ref{tab:tabIII}). The
% setting command in preamble |\floatsetup[table]{style=Plaintop}|%^^A
% \FRmpar{Subcaption above subtable}{FAD:subcapabove}
-% includes also settings for subcaption positions used with
-% \package{subfloat} package (like |\captionsetup[table]{position=top}| in
+% includes also settings for subcaption positions used with the
+% \package{subfig} package (like |\captionsetup[table]{position=top}| in
% \package{caption} package):
%\begin{Quote}\obeylines\parskip-.15pt
-%|\begin{table}\extrarowheight1pt|\nopagebreak
-%| \floatbox{table}[\FBwidth]|
+%|\begin{table}\setlength\extrarowheight{1pt}|\nopagebreak
+%| \|\FRkey[sec]{floatbox}|{table}[\FBwidth]|
%| {\caption{Two ...}\label{...}}|
%| {\begin{subfloatrow}|
-%| \subfloat[First table]|
+%| \subfloat[First subtable]|
%\verb+ {\begin{tabular}{|l|c|c|}+
%| ...\end{tabular}}|
-%| \subfloat[Second table...]|
+%| \subfloat[Second subtable...]|
%\verb+ {\begin{tabular}{|l|c|c|}+
-%| ...\end{tabular}%|
-%| \end{subfloatrow}}}|
+%| ...\end{tabular}}%|
+%| \end{subfloatrow}}|
%|\end{table}|
%\end{Quote}
% \DeleteShortVerb{\|}%
@@ -3423,78 +4438,69 @@
% \end{table}%
% \MakeShortVerb{\|}%
%
-% The \env{subfloatrow} is simplified \env{floatrow} environment, which
-% expands vertical alignment of float contents to subfloats and
-% puts horizontal separator, defined by \texttt{subfloatrowsep=}
-% key. This key and uses the same options
-% as \texttt{floatrowsep=} and \texttt{capbesidesep=} keys (options of
+% The |subfloatrow| is analogous to the |floatrow| environment.
+% The usage is similar to |floatrow|:
+% \begin{Quote}
+% |\begin{subfloatrow}[|\meta{number of beside floats}|]|\nopagebreak
+% |\subfloat...|\nopagebreak
+% |\subfloat...|\nopagebreak
+% |...|\nopagebreak
+% |\end{subfloatrow}|
+% \end{Quote}
+% i.e. by default two subfloats are allowed. For other number of subfloats
+% you ought to put number in optional argument.
+% This environment
+% puts a~horizontal separator between subfloats, defined by |subfloatrowsep=|
+% key instead of |floatrowsep=|. This key uses the same options
+% as |floatrowsep=| and |capbesidesep=| keys (options of
% these keys defined by |\DeclareFloatSeparators| command,
% page~\pageref{setup:DeclareFloatSeparators}).
%
-%^^A To use \env{subfloatrow} environment load
-%^^A \package{fr-subfig}\footnote{This package could have only beta-status,
-%^^A because of it redefines two macros of \package{subfig} package for
-%^^A creation of subcaption and subfloat boxes.} package installed
-%^^A together with \package{floatrow}.\pagebreak[3]
-%
-% See examples with \env{subfloatrow} environment in sample files
-% \file{frsample03.tex}, \file{frsample05.tex}; and also
-% \file{frsample10.tex}--\file{frsample12.tex} where aligned contents
-% of beside subfloats are used in different layouts.)
-%
-% The next goes example with beside caption (see
+% Next follows an example with beside caption (see
% figure~\ref{fig:subfig:catsI}).%^^A
-%^^A% \footnote{In version 1.2 the beside boxed and non-boxed subfloat
-%^^A% contents (like in figure~\ref{fig:subfig:catsI}) could not get aligned
-%^^A% bottom (top) subcaptions. In this example I ought to use following
-%^^A% lines for subfigure~\ref{subfig:b}, when \package{pstricks} package is
-%^^A% loaded:\\[2ex]\ttfamily
-%^^A% \cmd{\raisebox}\{\cmd{\depth}\}\{\cmd{\input}\{\texttt
-%^^A% {Cat.picture}\}\}}
+%\begingroup
%\begin{Quote}
-%\meta{preamble}\nopagebreak
-%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=Shadowbox,|%^^A
-% \hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=columnsep,|
-%| |\hyperref[setup:capbesideframe]{\texttt{capbesideframe}}|=yes,|%^^A
-% \hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|={left,top}}|
-%|\floatsetup[subfigure]{|\hyperref[setup:style]{\texttt{style}}|=plain}|
-%|\DeclareCaptionLabelFormat{list}{\bothIfFirst{#1}{ }#2)}|
-%|\captionsetup[subfigure]{labelformat=list,justification=centerlast,|
+%\begin{preamble}
+%|\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{style}|=Shadowbox,|%^^A
+% \FRkey{capbesidesep}|=columnsep,|
+%| |\FRkey{capbesideframe}|=yes,|%^^A
+% \FRkey{capbesideposition}|={left,top}}|
+%|\floatsetup[subfigure]{|\FRkey{style}|=plain}|
+%|\captionsetup[subfigure]{labelformat=brace,justification=centerlast,|
%| strut=no}|\nopagebreak
-%\meta{preamble}
-%|\fcapside[\FBwidth]|
+%\end{preamble}
+%|\|\FRkey[FB]{fcapside}|[\|\FRkey[FB]{FBwidth}|]|
%| {\begin{subfloatrow}|
%| \subfloat[...\label{...}]{...}|
-%| \subfloat[...\label{...}]{...}%|
+%| \subfloat[...\label{...}]{...}|
%| \end{subfloatrow}}|
%|{\caption{...}}|
%\end{Quote}
% \floatsetup[figure]{style=Shadowbox,capbesidesep=columnsep,
% capbesideframe=yes,capbesideposition={left,top}}
% \floatsetup[subfigure]{style=plain}
-% \captionsetup[subfigure]{labelformat=list,justification=centerlast,strut=no}
+% \captionsetup[subfigure]{labelformat=brace,justification=centerlast,strut=no}
% \begin{figure}[h]
% \fcapside[\FBwidth]
% {\begin{subfloatrow}
-% \subfloat[One cat\label{subfig:w}]{%
-% {\input{Cat.picture}}}
-% \subfloat[Another cat\label{subfig:b}]{\input{TheCat.picture}}%
+% \subfloat[One cat]{%
+% \input{Cat.picture}\Flabel{subfig:w}}
+% \subfloat[Another cat]{\input{TheCat.picture}\Flabel{subfig:b}}
% \end{subfloatrow}}
% {\caption[Subfloat row]{Beside
% caption vertically top aligned; fancy
-% \texttt{Shadowbox} layout. There are two subfigures:
-% \protect\ref{subfig:w} and \protect\ref{subfig:b}}\label{fig:subfig:catsI}}
+% |Shadowbox| layout. There are two subfigures:
+% \Fref{subfig:w} and \Fref{subfig:b}}\label{fig:subfig:catsI}}
% \end{figure}
+%\endgroup
%
% \DescribeMacro{\sidesubfloat}
-% Another addition in \package{floatrow} for subfloats is command,%^^A
-% \FRmpar{Subcaption beside subfloat}{FAD:sublabelbeside}
+% Another addition in \package{floatrow} for subfloats is the command,%^^A
% which puts subcaption label beside subfloat. The subcaption label always
% appears on the left side. The key |subcapbesideposition=|
% \DescribeMacro{subcapbesideposition}\label{setup:subcapbesideposition}%^^A
% sets vertical alignment of beside subcaption and subfloat.
-% The options analogous to options for |capbesideposition=| key:
-% \par\RestoreSpaces
+% The options are analogous to the ones for |capbesideposition=| key:
% \begin{Options}{\OptionLabel}\samepage
% \item[top]
% subcaption label aligned to the top of object;
@@ -3505,13 +4511,14 @@
% \end{Options}
%
% The figure~\ref{fig:subfig:catsII} shows layout with subfloat labels beside.
+% \FRmpar{Subcaption beside subfloat}{FAD:sublabelbeside}
% \begingroup
% \begin{Quote}%
-%\meta{preamble}\nopagebreak
+%\begin{preamble}
%|...|
-%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=plain,|%^^A
-% \hyperref[setup:subcapbesideposition]{\texttt{subcapbesideposition}}|=top}|
-%\meta{preamble}
+%|\floatsetup[figure]{|\FRkey{style}|=plain,|%^^A
+% \FRkey{subcapbesideposition}|=top}|
+%\end{preamble}
% |\begin{figure}[H]|
% | \ffigbox[\FBwidth]|
% | {\begin{subfloatrow}|
@@ -3527,27 +4534,27 @@
% \ffigbox[\FBwidth]
% {\begin{subfloatrow}
% \sidesubfloat[]{%
-% {\input{Cat.picture}\label{subfig:wI}}}
+% \input{Cat.picture}\Flabel{subfig:wI}}
%
-% \sidesubfloat[]{\input{TheCat.picture}\label{subfig:bI}}%
+% \sidesubfloat[]{\input{TheCat.picture}\Flabel{subfig:bI}}%
% \end{subfloatrow}}
% {\caption[Subfloat row (labels beside)]{Beside caption vertically centered.
% There are two subfigures:
-% \protect\ref{subfig:wI} and \protect\ref{subfig:bI}}\label{fig:subfig:catsII}}
+% \Fref{subfig:wI} and \Fref{subfig:bI}}\label{fig:subfig:catsII}}
% \end{figure}
% \endgroup
%
% \DescribeMacro{\subfloatlabel}
% There are cases when usage of something like |\subfloat[]{\label{..}}|
% is needed. The first case shows the figure~\ref{fig:subfig:catsIII}---the
-% funny \env{picture} environment where subfloat labels were |\put|
+% funny |picture| environment where subfloat labels were |\put|
% as a part of subfigures.
% Other---when you use mechanism of \package{psfrag} package and replace text entries
% from PostScript file with \LaTeX{} ones. Unfortunately, the \package{subfig} package
% creates unnecessary spaces around alone subfloat label in the
% |\subfloat[]{\label{..}}| combination. The \package{fr-subfig} tries to fix this problem.
%
-% This command based on |\subfloat[]{\label{..}}| sentence and
+% This command is based on |\subfloat[]{\label{..}}| sentence and
% puts alone subcaption label with necessary number. The full variant
% of |\subfloatlabel|
% \begin{Quote}
@@ -3559,30 +4566,36 @@
% |\subfloat[]{\label{|\meta{label entry}|}}|
% \end{Quote}
%
-%
+% Another example:
% \begingroup
% \begin{Quote}%
-%\meta{preamble}\nopagebreak
+%\begin{preamble}
%|...|
-%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=plain}|
-%|\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2}|
-%|\captionsetup[subfigure]{listofformat=comma-separated}|
-%\meta{preamble}
+%|\floatsetup[figure]{|\FRkey{style}|=plain}|
+%\end{preamble}
% |\begin{figure}[h]|
% |\fcapside[\FBwidth]|
% | {\unitlength2\unitlength\fboxsep-.4pt|
% | \begin{picture}(90,30)(0,0)|
% | \put(0,0){\framebox(40,30)[bl]{}}|
+% | \put(2,2){\makebox(0,0)[bl]{\subfloat[]{\Flabel{subfig:wII}}}}|
+%|...|
+% | \put(50,0){\framebox(40,30)[bl]{}}|
+% | \put(52,2){\makebox(0,0)[bl]{\subfloatlabel[3][subfig:bII]{}}}%|^^A
%|...|
+% | \end{picture}}|
+% |{\caption{...}\label{...}}|%^^A
+% |\end{figure}|
% \end{Quote}
% \floatsetup[figure]{style=plain}
-% \captionsetup[subfigure]{listofformat=comma-separated}
-% \begin{figure}[h]
+% \captionsetup[subfigure]{listofformat=comma-separated,labelformat=brace,justification=centerlast,strut=no}
+%\makeatletter
+% \begin{figure}[ht]
% \fcapside[\FBwidth]
% {\unitlength2\unitlength\fboxsep-.4pt
% \begin{picture}(90,30)(0,0)
% \put(0,0){\framebox(40,30)[bl]{}}
-% \put(2,2){\makebox(0,0)[bl]{\subfloat[]{\label{subfig:wII}}}}
+% \put(2,2){\makebox(0,0)[bl]{\subfloat[]{\Flabel{subfig:wII}}}}
% \put(0,0){
% \put(8,10){\put(4.5,4.5){\oval(9,9)[t]}
% \put(4.5,4.5){\line(0,1){4.5}}
@@ -3592,64 +4605,106 @@
% \put(0,4.5){\line(1,0){9}}}}
%
% \put(50,0){\framebox(40,30)[bl]{}}
-% \put(52,2){\makebox(0,0)[bl]{\subfloatlabel[3][subfig:bII]{}%^^A
-% }}%^^A\label{}
+% \put(52,2){\makebox(0,0)[bl]{\subfloatlabel[3][subfig:bII]{}}}%^^A
+% %^^A\label{}
% \put(50,0){
% \put(6,18){\put(0,0){\line(2,3){5}}
% \put(10,0){\line(-2,3){5}}}
% \put(24,18){\put(0,0){\line(2,3){5}}
% \put(10,0){\line(-2,3){5}}}}
% \end{picture}}
-% {\caption[The graphic with subfloat labels]{%^^A
+% {\caption[The graphic with subfloat labels; these two labels of subfloats use changed settings
+% of the \texttt{listofformat=} key]{%^^A
% Here are two simple subfigures.
-% First shows cat's eyes (\protect\ref{subfig:wII}), labeled with
+% Left one shows cat's eyes (\Fref{subfig:wII}), labeled with
% \cs{subfloat}\texttt{[]\char`\{\char`\}} macro;
% with \cs{subfloatlabel}\texttt{[3][subfig:bII]} sentence were labeled the cat's ears
-% (\protect\subref{subfig:bII})}%^^A
+% (\Fref{subfig:bII})}%^^A
% \label{fig:subfig:catsIII}}
% \end{figure}
-% Please look at the definition of reference to the subfigure, key |listofformat=|.
-% This format is used, in particular, by |\subref| command: the |\subref{subfig:bII}| gives
-% reference to the subfigure \subref{subfig:bII}.
% \endgroup
+% In the examples of current section the \verb|\Flabel| and \verb|\Fref|
+% commands for cross referencing of the subfloats were used
+% (you may see these commands in the code examples). As described in section~\ref{ssec:Flabel}
+% these commands allow to create combined references which consist of the parent and current
+% labels separated by predefined punctuation sign.
%
-% \clearpage
-% \par\RestoreSpaces
-% \subsection{The \package{longtable} Package}\label{ssec:longtable}
+%\begin{small}
%
-% Tested with version v4.11, dated 2004/02/01.
+% \medskip
+% \emph{Some explanation}.
+% Previous versions of documentation used the |listofformat=| key; the necessary option
+% was defined by |\DeclareCaptionListOfFormat| command:
+% \begin{Quote}%
+% |\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2}|
+% \end{Quote}%
+% This format is used, in particular, by |\subref| command. But usage of this key changes output
+% of subfloat numbers in the lists (list of tables and list of figures etc.),
+% which could be undesirable (see numbers of subfigures \subref{subfig:wII}
+% and \subref{subfig:bII} in the List of Figures).
+% \medskip
%
-% \subsubsection{Additions in \package{floatrow}}
-% \label{ssec:LTcapwidth}
+%\end{small}
+%
+% See examples with |subfloatrow| environments in sample files
+% \file{frsample03.tex}, \file{frsample05.tex}; and also
+% \file{frsample10.tex}--\file{frsample12.tex} where aligned contents
+% of beside subfloats are used in different layouts.
+%
+%\endgroup
%
-% There was added a patch to the |\LT@array| macro (\package{longtable}
-% package)\footnote{Thanks to A. Sommerfeldt for help to make this
+% \clearpage
+% \subsection{The \package{longtable} Package}\label{ssec:longtable}
+% Tested with version v4.11, dated 2004/02/01.%^^A
+% \footnote{The English documentation is
+% \href{ftp://ctan.tug.org/tex-archive/macros/latex/required/tools/longtable.dvi}%^^A
+% {\meta{texmf folder}\texttt{/doc/latex/tools/longtable.dvi}}.}
+%
+% Please note that almost all settings in the |\floatsetup|'s
+% argument do not work inside |longtable| environments, except
+% settings for caption width (see below) and plain horizontal alignment in the |margins=| key.
+% So, during building of |\floatsetup| settings for the tables, be aware
+% that you may use only something like |style=plaintop| or |style=Plaintop|,
+% to place caption above, also you may use options of the
+% |margins=| key, which use only spacing commands, like defined ones
+% in this package (page~\pageref{setup:margins}), and do not forget settings for |\LTleft| and |\LTright|
+% margins, which set the alignment of |longtable| environment.
+%
+% Please see the \package{caption} documentation about how to build necessary caption layout
+% when |longtable| environment is used.
+%
+% \subsubsection{Additions in The \package{floatrow} Package}\label{ssec:LTcapwidth}
+% A patch was added to the \package{longtable}
+% package\footnote{Thanks to A. Sommerfeldt for help to make this
% code compact.}: this patch adds the same font settings
-% as for \env{table} environments, and adds code which helps
-% to get width of \env{longtable} caption equal to the
-% width of table. For settings of caption width there was created a key.
+% as for |table| environments, and adds code which helps
+% to get the width of |longtable| caption equal to the
+% width of table. For settings of the caption width the special key was created.
%
% \DescribeMacro{LTcapwidth}\label{setup:LTcapwidth}%^^A
% \FRmpar{Caption width equals to longtable's}{FAD:LTcapwidth}
-% This key could have any value, like |5cm| or |\hsize|. In this cases this
-% key does work of |\LTcapwidth| command. If you'll write
-% \texttt{LTcapwidth=table} or \texttt{LTcapwidth=contents}, you will get
-% caption width equal to the width of table. In this case settings for
-% width of caption use information from \texttt{aux}-file, so you'll get
-% correct caption width at the time when the width of full table become
-% stable.
-%
-% The \env{longtable} environment uses layout settings from
-% |\floatsetup[table]| and |\floatsetup[longtable]| macros.
+% This key could have any value, like |5cm| or |\hsize|. The key value will be sent to
+% the |\LTcapwidth| command. If you'll write
+% |LTcapwidth=table| or |LTcapwidth=contents|, you will get
+% the caption width equal to the width of table. In this case settings for
+% width of caption use information from the |aux|-file, so you'll get
+% correct caption width at the time when the width of full table \emph{become
+% stable}.
+%
+% The |longtable| environment uses layout settings from
+% |\floatsetup[table]| and |\floatsetup[longtable]| contents.
% The |\floatsetup[longtable]| will be ``strongest'' in this pair.\medskip
%
-% \emph{The addition with version 0.1k}. There is added a
-% \textrm{beta-temp}\footnote{Again, like with \package{listpen} package, I
+% \emph{The addition with version 0.1k}.
+% A~\textrm{beta-temp}\footnote{Again, like with \package{listpen} package, I
% hope that such support sooner or later could appear in
% \package{longtable} and think it is better to follow
-% grammar of master-package for similar situations.} package
-% with simple additions, which allow creation of special head for last
-% page of longtable environment and special foot for pages before last.
+% grammar of master-package for similar situations. Also it is necessary to say
+% that command names from \package{fr-longtable} package ``intrude'' in the
+% \package{longtable}'s naming space.} package \package{fr-longtable}
+% with additions is added, which allows creation of special head for the last
+% page of longtable environment and special foot for pages before last
+% (the table~\ref{tab:floatlayouts} uses these commands for head and foot settings).
%
%^^A% \DescribeMacro{\LTlastpage}
% \DescribeMacro{\endlasthead}
@@ -3659,25 +4714,86 @@
% The |\endlasthead| command defined for last head of longtable; second command,
% |\endprelastfoot|, defined for foot on the page before last.
% Since these names of commands ``intrude'' in the \package{longtable} naming
-% territory they defined if they are still unknown, i.e. the main,
+% territory they get defined if they are still unknown, i.e.~the main,
% \package{longtable}, package didn't defined them.
-% The syntax also analogous as for commands |\endhead|, |\endfirsthead| etc.
+% The syntax is also analogous as for commands |\endhead|, |\endfirsthead| etc.
% (See examples and additional explanation in the sample file
-% \texttt{sample-longtable.tex} file.)
+% \texttt{sample-longtable.tex} file.)\medskip
%
%^^A% \DescribeMacro{\floatfoot}
-% The footnote stuff inside \env{longtable} works like in main
-% text and put text of footnotes
-% at the bottom of page\footnote{See also \env{longtable} documentation.}.
-% The command for legends or explications, |\floatfoot|, in current version
-% inside \env{longtable} has emulation mode, and needs stuff,
-% similar to |\noalign{\floatfoot{...}}|. Since default font definition for explications (|\floatfoot|) also
-% set to |\footnotesize|, like for footnotes, you may put footnotes-emulations at this
-% explication block, using |\mpfootnotemark| commands.
+% \emph{Note}. Please remember that the footnote stuff inside |longtable| works like in main
+% text and put the text of footnotes
+% at the bottom of page\footnote{See also |longtable| documentation.}.
+%
+% The \package{floatrow} package's command for legends or explications, |\floatfoot|,
+% in current version has emulation mode inside |longtable|, and needs stuff,
+% similar to |\noalign{\floatfoot{...}}|. Since the default font definition for explications (|\floatfoot|)
+% is also set to |\footnotesize|, like for footnotes, you may put footnotes-emulations at the end of table,
+% inside this explication block, using |\mpfootnotemark| commands inside table contents and at the
+% beginning of each text of footnote.
+%
+% The fragments from the longtable \ref{tab:floatlayouts} on the page
+% \pageref{tab:floatlayouts},
+% which describes float styles, will be the resum\'e for
+% this section.
+%\begin{Quote}
+%\begin{preamble}%
+%|\DeclareCaptionLabelFormat{continued}{\rightline|
+%| {\bothIfFirst{#1}{ }#2 (\emph{Continued})}}|
+%|\DeclareCaptionLabelFormat{finished}{\rightline|
+%| {\bothIfFirst{#1}{ }#2 (\emph{Finished})}}|
+%\end{preamble}%
+% |\def\LongtableHead{|
+% | \hfil\thead{Style} &|
+% | \hfil\thead{\cmd{\floatsetup} keys} &|
+% | \hfil\thead{Description}|
+% | }|
+% |\begin{longtable}{|\meta{tabular preamble}|}|
+% |\caption{Float layout styles}\label{tab:floatlayouts}\\|
+% |\hline|
+% |\LongtableHead|
+% |\\ \hline|
+% |\endfirsthead|\% \emph{end of standard box of \package{longtable} package}
+% |\captionsetup{labelformat=continued}|\% %^^A
+% \smash{\em\tabular[t]l caption settings for continued page\endtabular}
+% |\caption[]{}\\|
+% |\hline|
+% |\LongtableHead|
+% |\\ \hline|
+% |\endhead|\% \emph{end of standard box of \package{longtable} package}
+% |\captionsetup{labelformat=finished}|\% %^^A
+% \smash{\em\tabular[t]l caption settings for finished page\endtabular}
+% |\caption[]{}\\|
+% |\hline|
+% |\LongtableHead|
+% |\\ \hline|
+% |\endlasthead|\% \emph{end of box offered by \package{fr-longtable} package}
+% |\hline|
+% |\multicolumn{3}{r@{}}{\topstrut\emph{Continued on next page}}|
+% |\endfoot|\% \emph{end of standard box of \package{longtable} package}
+% |\hline|
+% |\multicolumn{3}{r@{}}{\topstrut\emph{Finished on next page}}|
+% |\endprelastfoot|\% \emph{end of box offered by \package{fr-longtable} package}
+% |\endlastfoot|\% \emph{end of standard box of \package{longtable} package}
+% \meta{Contents of long table}
+% \meta{Contents of long table}|\mpfootnotemark[1]|
+% \meta{Contents of long table}
+% |\\ \hline|
+% |\noalign{\floatfoot*{|\meta{Text of foot material}|.\vspace{-3pt}\par|\nopagebreak
+% |\rule{1in}{.4pt}\vspace{2pt}|\% \emph{Emulation of footnote rule}\nopagebreak
+% |\parindent15pt|\nopagebreak
+% \% \emph{emulations of footnote texts}\nopagebreak
+% |\mpfootnotemark[1]|\meta{Text of footnote}\nopagebreak
+% |...|\nopagebreak
+% |}}|\nopagebreak
+% |\end{longtable}|
+%\end{Quote}%
+% \emph{Note}. The usage of settings |\captionsetup{labelformat=continued}|
+% inside |longtable| environment was documented in the \package{caption} package 3.1.
%
% \clearpage
% \subsection{The \package{wrapfig} Package}\label{ssec:wrapfig}
-%
+% \captionsetup[wrapfigure]{name=Fig.,labelformat=thinspace}
% \begingroup
% \def\FBaskip{-12pt}
% \floatsetup[figure]{style=ruled,relatedcapstyle=yes,
@@ -3692,24 +4808,29 @@
% \end{wrapfigure}
%
% Tested with version 3.3 dated 1999/10/12 (style from \package{ltxmisc}
-% bundle) and 3.6 dated 2003/01/31 (the separate \LaTeX\ package).
+% bundle) and 3.6 dated 2003/01/31 (the separate \LaTeX\ package)%^^A
+% \footnote{The English documentation is
+% \href{ftp://ctan.tug.org/tex-archive/macros/latex/contrib/wrapfig/wrapfig.pdf}%^^A
+% {\meta{texmf folder}\texttt{/doc/latex/wrapfig/wrapfig.pdf}}.}.
%
% Options for environment (text borrowed from package comments):
% \begin{Quote}
% |\begin{wrapfigure}%|\nopagebreak
% \strut\quad\oarg{number}\marg{placement}|%|\nopagebreak
% \strut\quad\oarg{overhang}\marg{width of figure}
-% |...|
+% |...|\nopagebreak
% |\end{wrapfigure}|
% \end{Quote}
-% \meta{Placement} is one of \texttt{r}, \texttt{l}, \texttt{i},
-% \texttt{o}, \texttt{R}, \texttt{L}, \texttt{I}, \texttt{O}, for
+%
+% {\slshape\meta{Placement} is one of |r|, |l|, |i|,
+% |o|, |R|, |L|, |I|, |O|, for
% right, left, inside, outside. Lowercase letters set unfloated
% positioning, uppercase---floated variant. The figure sticks into
% the margin by \meta{overhang}, if given, or by the length
% |\wrapoverhang|, which is normally zero. The \meta{number} of
% wrapped text lines is normally calculated from the height of the
-% figure, but may be specified manually, e.g.
+% figure, but may be specified manually, e.g.}
+%
% \begin{Quote}
% |\begin{wrapfigure}[10]{r}[34pt]{5cm}|\nopagebreak
% \meta{figure}\nopagebreak
@@ -3717,179 +4838,221 @@
% \end{Quote}
% \endgroup
%
-% \begingroup
+% \begingroup\sloppy
% \def\FBaskip{-12pt}
% \floatsetup[figure]{style=BOXED,frameset={\fboxsep12pt}}
-% \par\begin{wrapfigure}[12]{o}{0mm}
-% \ffigbox[44mm]
-% {\par{\setlength\unitlength{.75\hsize/48}%^^A
-% \input{Cat.picture}}}
-% {\caption{Wrapped figure in \cmd{\ffigbox} (\package{wrapfig} package)}%
+% \par\begin{wrapfigure}{o}{0mm}
+% \ffigbox[\FBwidth]
+% {\caption{Wrapped figure in \cs{ffigbox} (\package{wrapfig} package)}%
% \label{fig:wrapfig:WcatII}}
+% {{\setlength\unitlength{36mm/48}%^^A
+% \input{Cat.picture}}}
% \end{wrapfigure}
%
-% \emph{Floatrow note.}
-% For figure, placed in \env{wrap...} environment you must set width
+% \emph{Notes.}
+% 1)\enskip For figure, contents in e.g. in |wrapfigure| environment you set width
% in mandatory argument. If you'll write \texttt{0mm} as \marg{width
-% of figure} argument, \package{wrapfig} package will count natural width
-% of float contents.
+% of figure} argument, the \hbox{\package{wrapfig}} package will calculate a~natural width
+% of float contents. If you use the |\floatbox| command, put |\FBwidth| option to use natural object width.
%
-% Sometimes above (below) float box in \env{wrap...} environment
+% 2)\enskip Sometimes above (below) float box in \env{wrap...} environment
% appears unwanted space. To correct vertical position, use |\FBaskip|
-% (|\FBbskip|) commands (see {\sectionname}~\ref{sec:FBabskips}).
+% (|\FBbskip|) commands (see {\sectionname}~\ref{sec:FBabskips}) and optional argument
+% \meta{number} of \env{wrap...} environments.
+%
+% 3)\enskip Please note that the label of wrapped floats changed to `Fig.~\meta{number}'.
+% This happened because of the following settings:
+% \begin{Quote}
+% \begin{preamble}%
+% |\DeclareCaptionLabelFormat{thinspace}{\bothIfFirst{#1}{\,}#2}|
+% \end{preamble}%
+% |\captionsetup[wrapfigure]{name=Fig.,labelformat=thinspace}|
+% \end{Quote}
+% In preamble was added special format |thinspace| with smallest space between
+% `Fig.' and number which we use in the |wrapfig| settings.
+% See also \package{caption} documentation.
%
% \emph{Special settings}.
%
% You may create settings for \env{wrap...} environment, there are
-% following priorities
-% (Please note that you can load also special caption settings with
+% following priorities.
+% (Please note that you can also create special caption settings with
% |\captionsetup| stuff.):
% \begin{itemize}\itemsep0pt
% \item %
% if exists |\floatsetup[wrap|\meta{captype}|]{...}|
% \package{floatrow} uses these settings---they are the ``strongest''
-% settings; if they absent---uses settings of next item;
+% settings; if they are absent---uses settings of next item;
%^^A \end{itemize}
%
%^^A \begin{itemize}
% \item
% if exists |\floatsetup[wrapfloat]{...}|
-% \package{floatrow} uses these settings---these settings ``stronger''
-% than next ones; if they absent---settings of current
+% \package{floatrow} uses these settings---these settings are ``stronger''
+% than next ones; if they are absent---settings of current
% float\\[\medskipamount]
% |\floatsetup[|\meta{captype}|]{...}|\,;\\[\medskipamount]
-% if they absent---uses default settings
-% (|\floatsetup{...}| or package settings inside |\usepackage| command).
+% if they are absent---uses
+% |\floatsetup{...}| settings, package settings inside |\usepackage| command or default settings of
+% package (page~\pageref{sec:default}).
% \end{itemize}
%
%
% \emph{Founded limitations}.\nopagebreak
%
-% The usage of plain float environment in version 3.3 will
-% not succeed with current version of \package{floatrow}---use |\floatbox|
+% 1)\enskip The usage of plain floating environment in version 3.3 will
+% not succeed with \package{floatrow}---use |\floatbox|
% stuff. The version 3.6 allows usage of plain \env{wrap...}
-% environment with \hyperref[setup:plain]{\texttt{plain}} (or \hyperref[setup:ruled]{\texttt{ruled}}) styles, but
-% the framed styles, like \texttt{Boxed} (which use key |framefit=yes|, where text inside frames
+% environment with \FRkey{plain} (or \FRkey{ruled}) styles, but
+% the framed styles, like |Boxed| (which use key |framefit=yes|, where text inside frames
% changes its |\hsize| to fit frames, fitted to defined |\hsize|)
% could work only with |\floatbox| macro, otherwise you'll get
% incorrect widths and layout.
+%
+% 2)\enskip The \env{wrap...} environments could fail inside list ones, be also
+% carefull with grouping around text with these environments.
% \endgroup
%
-% \begingroup
+% \begingroup\sloppy
% \floatsetup[figure]{style=WSHADOWBOX,captionskip=8pt}
+% \captionsetup[floatingfigure]{name=Fig.,labelformat=thinspace}
% \subsection{The \package{floatflt} package}\label{ssec:floatflt}
-%
-% \begin{floatingfigure}[v]{44mm}\def\FBaskip{-2.5pt}
-% \ffigbox[44mm]
-% {\setlength\unitlength{\hsize/60}%%^^A
+% \begin{floatingfigure}[v]{50mm}\def\FBaskip{-2.5pt}
+% \ffigbox[50mm]
+% {\setlength\unitlength{\hsize/72}%%^^A
% \input{BlackDog.picture}}
% {\caption{\hyphenpenalty-100\pretolerance-1%
% Wrapped figure inside \env{floating\-figure} environment
% (\package{floatflt})}\label{fig:floatflt:WcatI}}
% \end{floatingfigure}%\FBbuildtrue
%
-% \noindent Tested with version v\kern-1pt.1.3 dated
+% \noindent Tested with version v1.3 dated
% 1996/02/27\kern-1pt.
%
-% \emph{Founded limitations} 1)\enskip There is not support for
-% creation of new \env{floating...} environment. Since \env{floatflt}
+% \emph{Founded limitations}. 1)\enskip There is not support for
+% creation of new \env{floating...} environment. Since |floatflt|
% environments need usage of |\floatbox| in any case, you can use
-% either \env{floatingfigure} or \env{floatingtable} and put
+% either |floatingfigure| or |floatingtable| and put
% necessary float type in |\floatbox| argument (or use necessary
-% macro abbreviation, like |\ffigbox|).
+% macro abbreviation, like |\ffigbox|). For these wrapped floats
+% the |\usepackage| option can be used or |\floatsetup{...}| settings
+% and main settings for float types like
+% |\floatsetup[figure]{...}| settings.
%
%
% The next limitations could not tied with \package{floatrow} package.
%
-% 2)\enskip If you put \env{floatingfigure} environment just after
+% 2)\enskip If you put a~|floatingfigure| environment just after
% |\...section| command you need (if you do not indentation after
% heads) to put |\noindent| for the first paragraph.
%
-% 3)\enskip The \env{floatflt} environments could fail with list
+% 3)\enskip The |floatflt| environments could fail with list
% environments.
%
-% 4)\enskip To get correct space before next |\...section| head you
-% may need to put following commands
-% |\makeatletter\@nobreakfalse\makeatother| (as was made in just
-% before next section).
-%
-% \RestoreSpaces
+% 4)\enskip The special caption settings were created for figure label.
+% \begin{Quote}
+% |\captionsetup[floatingfigure]{name=Fig.,labelformat=thinspace}|
+% \end{Quote}
%
% %^^A\newpage
%
+% \captionsetup[parpic]{name=Fig.,labelformat=thinspace}
+% \floatsetup[figure]{style=Doublebox,captionskip=10pt}\abovecaptionskip10pt
% \subsection{The \package{picins} Package}\label{ssec:picins}
+% \noindent Tested with version v\,3.0 dated 1999/10/12.\nopagebreak
%
-% \floatsetup[figure]{style=ruled}
-%
-% \parpic[l]{{%\def\floatrowsep{}\let\FBiffloatrow\iftrue
-% \def\FBaskip{6pt}\def\FBbskip{14pt}
-% \ffigbox[42mm]
-% {{\setlength\unitlength{20mm/72}%^^A
-% \input{TheDog.picture}}}
-% {\caption{Wrap\-ped figure (\cmd{\parpic});
-% \cmd{\floatbox}}\label{fig:parpic:BcatI}}%
-% }}
-%
-% \noindent Tested with version v\,3.0 dated 1999/10/12.
-%
-% This package produces pictures inside paragraph. This package
+% This package produces pictures inside paragraphs. This package
% supports usage of captions with command |\piccaption|. It also allows
% the \package{caption} package settings.
%
+% \piccaption[Wrapped figure in \cmd{\floatbox} and \cmd{\parpic}]{Wrap\-ped
+% figure (\cmd{\parpic})\label{fig:parpic:BcatI}}%^^A
+% \parpic[l]{\hsize0pt
+% \ffigbox[\FBwidth ]{}{%^^A
+% {\setlength\unitlength{24mm/72}%^^A
+% \input{TheDog.picture}}
+% }%^^A
+% }
% The \cmd{\parpic} macro usually allows usage of |\floatbox| macro
-% inside of its mandatory argument.
+% inside of its mandatory argument. In this case the |\floatsetup{...}|
+% settings and main settings of for float types like |\floatsetup[figure]{...}|
+% settings are used (but, unfortunately, they are the only here).
%
-%^^A \emph{Founded limitations}.\nopagebreak
+% \emph{Founded limitations}.\nopagebreak
%
-%^^A 1)\enskip In |\parpic| argument you ought to put before |\floatbox|
-%^^A following commands:
-%^^A \begin{Quote}%
-%^^A |\def\floatrowsep{}|\allowbreak
-%^^A |\let\FBiffloatrow\iftrue|
-%^^A \end{Quote}%
-%^^A to get correct layout.
+% 1)\enskip In |\parpic| argument you ought to put |\hsize0pt| before
+% the |\floatbox| command,
+% to get correct layout. (Compare with usage of |0mm| value inside the \marg{width
+% of figure} option in the |wrapfigure| environment.)
+%
+% \floatsetup[figure]{style=DOUBLEBOX}
%
-% The next limitations could not tied with \package{floatrow} package.
%
-%^^A \floatsetup[figure]{style=DOUBLEBOX}
+% The next limitations could not tied with \package{floatrow} package.
%
-%^^A \parpic[r]{{%\def\floatrowsep{}\let\FBiffloatrow\iftrue
-%^^A \hsize36mm
-%^^A \ffigbox[\hsize]
-%^^A {{\setlength\unitlength{16mm/61}%^^A
-%^^A \input{TheDog.picture}}}
-%^^A {\caption{Wrapped figure (\cmd{\parpic})}\label{fig:parpic:BcatII}}%
-%^^A }}
+% \parpic[r]{\hsize36mm\def\FBaskip{6pt}
+% \ffigbox[\hsize]
+% {\setlength\unitlength{16mm/72}%^^A
+% \input{TheDog.picture}}
+% {\caption{Wrapped figure (\cmd{\parpic})}\label{fig:parpic:BcatII}}}
%
-% 1)\enskip If you put \cmd{\parpic} just after |\...section| command
+% 2)\enskip If you put \cmd{\parpic} just after |\...section| command
% you need (if you do not indentation after heads) to put |\noindent|
% for the first paragraph.
%
-% 2)\enskip You may try to use \cmd{\parpic} inside list environment,
-% but in some cases usage of \cmd{\parpic} in
-% the list gets bad or wrong layout.
+% 3)\enskip It seems that the |\parpic| command cancels non-breaking mechanism
+% between section command and text in the case of appearance
+% at the very beginning of the first paragraph (this situation appeared
+% during testing of current documentation).
%
-% 3)\enskip This package has not options \meta{outside} or
+% 4)\enskip This package has not options \meta{outside} or
% \meta{inside}, like previous two packages (the option |[o]| means
% oval box around picture), so you ought to set horizontal position
-% manually.
+% manually. Or you may create command:
+%\begin{Quote}
+%\begin{preamble}
+%|\usepackage{ifthen}|
+%|\newcommand\oparpic{\ifthenelse{\isodd{\value{page}}}%|
+%| {\def\next{\parpic[r]}}{\def\next{\parpic[l]}}\next}|
+%\end{preamble}
+%\end{Quote}
+%
+% 5)\enskip The special caption settings were created for figure label
+% \begin{Quote}
+% |\captionsetup[parpic]{name=Fig.,labelformat=thinspace}|
+% \end{Quote}
+% If you use |\piccaption| command these settings are switched on.
+% In the first picture in this section the |\piccaption| co-operates
+% with the |\ffigbox| command:
+% \begin{Quote}
+% |\piccaption{...\label{...}}%|
+% |\parpic[l]{\hsize0pt\ffigbox[\FBwidth]{}{...}}|
+% \end{Quote}
+% Second picture uses the |\caption| command inside |\ffigbox|, so
+% the |\captionsetup|\allowbreak|[parpic]{...}| settings do not work:
+% \begin{Quote}
+% |\parpic[r]{\hsize36mm\def\FBaskip{6pt}|
+% | \ffigbox[\hsize]{}{...\caption{...}\label{fig:parpic:BcatII}}|
+% \end{Quote}
+% \enlargethispage{\baselineskip}
+% You may see that label of the second figure was printed as `Figure'~number.
%
% \endgroup
%
% \subsection{The \package{rotating} Package and \env{sideways\ldots}
% Environment}\label{ssec:rotating}
-%
% Tested with version v2.13 dated Sep. 1992.
%
-% There is example (figure~\ref{fig:rot}) with rotated float, using
-% \env{sidewaysfigure}.
+% There is example (figure~\ref{fig:rot:ii}) with rotated float, using
+% |sidewaysfigure|.
%\begin{Quote}
-%\meta{preamble}
-%|\floatsetup[|\hyperref[setup:rotfigure]{\texttt{rotfigure}}|]{|%^^A
-% \hyperref[setup:style]{\texttt{style}}|=WSHADOWBOX}|
-%\meta{preamble}
+%\begin{preamble}
+% |\usepackage[figuresright]{rotating}|
+%|\|\FRkey[sec]{floatsetup}|[rotfigure]{|%^^A
+% \FRkey{style}|=WSHADOWBOX}|
+%\end{preamble}
%|\begin{sidewaysfigure}\emptyfloatpage|
-%|\ffigbox[\FBwidth]|
+%|\|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|]|
%| {...}|
%| {\caption{Figure ...}%|
%| \label{...}}|
@@ -3898,15 +5061,30 @@
% \floatsetup[rotfigure]{style=WSHADOWBOX}
% \begin{sidewaysfigure}\emptyfloatpage
% \ffigbox[\FBwidth] {\includegraphics[width=4in]{pslearn}}
-% {\caption{Figure inside \env{sidewaysfigure} environment}%
+% {\caption{Figure inside \texttt{sidewaysfigure} environment}%
% \label{fig:rot:ii}}
% \end{sidewaysfigure}%
-% %^^A For rotating floats on right side (like in
-% %^^A current documentation) put in preamble
-% %^^A \begin{Quote}
-% %^^A |\usepackage[figuresright]{rotating}|
-% %^^A \end{Quote}
%
+% \subsubsection{Special Page Style for Float Page}
+% In example with figure~\ref{fig:rot:ii} you may see the command |\emptyfloatpage|.%^^A
+% \FRmpar{Empty page style for rotated floats}{FAD:emptyfloatpage}\label{setup:emptyfloatpage}
+% It is offered by \package{floatpagestyle} package, (installed with
+% \package{floatrow} package, can be used separately). The macro |\emptyfloatpage| is an abbreviation of
+% |\floatpagestyle{empty}|. The last macro redefines the page style for
+% the page where \emph{current} floating environment appears in the way, analogous to |\thispagestyle|
+% command.
+%
+% \RestoreSpaces
+% The version 0.1h patches the core \LaTeX{} macro
+% |\@outputpage|\footnote{At the start of document
+% \package{floatpagestyle} package puts additional code at the very beginning
+% of this output routine.}
+% and I hope that it could work.\footnote{If you know more honest
+% way to get the same result---the redefinition of \emph{alone}
+% \emph{float} page style (in the case when this page can \emph{float}
+% inside document)---please let me know.} Since this package uses
+% |\label|---|\ref| mechanism, the |\floatpagestyle| command works
+% after \emph{second} \LaTeX{} run.
%
% \emph{Special settings}.\nopagebreak
%
@@ -3914,19 +5092,19 @@
% \env{sideways...} environment (see page \pageref{stsetorder}).
%
% For one-column rotated float
-% \par\RestoreSpaces
+% \RestoreSpaces
% \begin{itemize}
% \item %
% if exists |\floatsetup[rot|\meta{captype}|]{...}|
-% package uses these settings---the ``strongest'' settings; if they
+% package uses these settings---the ``strongest'' settings; if they are
% absent---uses settings from next item;
% \item
% if exists |\floatsetup[rotfloat]{...}|
-% package uses these settings---these settings ``stronger'' than next
-% ones; if they absent---settings for current float
+% package uses these settings---these settings are ``stronger'' than next
+% ones; if they are absent---settings for current float
% (|\floatsetup[|\meta{captype}|]{...}|);
-% if they absent---uses default settings
-% (command |\floatsetup{...}| or package settings).
+% if they are absent---the settings
+% inside |\floatsetup{...}| and |\usepackage| commands, and, at last, package default settings are used.
% \end{itemize}
%
% For two-column or wide rotated float (starred environment)
@@ -3934,114 +5112,140 @@
% \item %
% if exists |\floatsetup[widerot|\meta{captype}|]{...}|
% package uses these settings---the ``strongest'' settings;
-% if they absent---uses settings of next item;
+% if they are absent---uses settings of next item;
% \item %
% if exists |\floatsetup[widerotfloat]{...}| package
-% uses these settings---these settings ``stronger'' than settings
-% in next item; if they absent---uses settings of next item;
+% uses these settings---these settings are ``stronger'' than settings
+% in next item; if they are absent---uses settings of next item;
% \item %
% if exists |\floatsetup[rot|\meta{captype}|]{...}| package
-% uses these settings---these settings ``stronger'' than settings
-% in next item; if they absent---uses settings of next item;
+% uses these settings---these settings are ``stronger'' than settings
+% in next item; if they are absent---uses settings of next item;
% \item %
% if exists |\floatsetup[rotfloat]{...}|
-% package uses these settings---these settings ``stronger'' than next
+% package uses these settings---these settings are ``stronger'' than next
% ones;
-% %^^A if they absent---settings of next item;
-% %^^A \item %
-% %^^A if exists |\floatsetup[wide|\meta{captype}|]{...}| package
-% %^^A uses these settings; if they absent---settings of next item;
-% %^^A \item %
-% %^^A if exists |\floatsetup[widefloat]{...}|
-% %^^A package uses these settings;
-% if they absent---uses settings for current float
-% (|\floatsetup|\marg{captype}|{...}|);
-% if they absent---uses default settings
-% (|\floatsetup{...}| or package settings).
+% if they are absent---uses settings for current float
+% (|\floatsetup|\oarg{captype}|{...}|);
+% if they are absent---the settings inside
+% |\floatsetup{...}| and |\usepackage| commands, and, at last, the package default settings are used.
% \end{itemize}
%
-% \emph{Notes}.\nopagebreak
-%
+% \subsubsection{Rotated Floats on the Facing Pages}
% 1)\enskip If you place two continued rotated floats%^^A
% \FRmpar{Continued rotated floats}{FAD:ContRotated} on facing pages,
-% the better way is to gather them to binder margin. For this reason you
-% may define\footnote{In case of \package{rotating} package has |[figuresright]|
-% option, see also files \file{frsample10.tex}--\file{frsample12.tex}
-% and code in \file{fr-sample.tex}.} before first float
-% \begin{Quote}
-% |\buildFBBOX{\vbox to\rottextwidth\bgroup\vss}{\egroup}|
-% \end{Quote}
-% and before second one
+% the better way is to gather them to binder margin, using |\buildFBBOX| command
+% (see page~\pageref{FB:buildFBBOX}). For this reason you
+% may define\label{buildFBBOX:def}
% \begin{Quote}
+% \begin{preamble}
+% |\usepackage[figuresright]{rotating}|
+% |\newlengthtocommand\setlength\rottextwidth{\textwidth}|
+% \end{preamble}
+% |\begin{sidewaysfigure}|\nopagebreak
+% |\|\FRkey[FB]{buildFBBOX}|{\vbox to\rottextwidth\bgroup\vss}{\egroup}|
+% |\|\FRkey[FB]{ffigbox}|{}{|\meta{contents of first figure}|}|\nopagebreak
+% |\end{sidewaysfigure}|
+% |\begin{sidewaysfigure}|
% |\buildFBBOX{\vbox to\rottextwidth\bgroup}{\vss\egroup}|
+% |\ffigbox{}{|\meta{contents of second figure}|}|\nopagebreak
+% |\end{sidewaysfigure}|
% \end{Quote}
-% \medskip
-% The |\rottextwidth| dimension---here is saved parameter |\textwidth| of the
-% document---the |\columnwidth| and |\textwidth| inside
+%
+% \emph{Notes}.
+% 1)\enskip In the example above (and also in the example with figure~\ref{fig:rot:ii})
+% the \package{rotating} package has
+% |[figuresright]| option; in this case all \env{sideways...} floats on even and odd pages
+% will be rotated by 90$^\circ$ counterclockwise.
+%
+%
+%\begingroup
+% \sloppy
+% 2)\enskip The |\rottextwidth| command in the example above stores value of the |\textwidth| of the
+% document; the |\columnwidth| and |\textwidth| inside
% \texttt{sideways...} environment are redefined and equal to
% |\textheight|.
+% If~\nobreak\quad a)\nobreak\enskip
+% you are limited in creation of the new length or dimension command
+% (for example you use the \package{pictex}
+% package\footnote{The \texttt{e-TeX} engine could solve this problem.}),
+% or~\nobreak\quad b)\nobreak\enskip the width/height or the space values, defined with
+% the |\newcommand|
+% (like the |\headrulewidth| command from \package{fancyhdr} package) need complex calculation
+% with usage of the \package{calc} package---the \package{floatrow}
+% package provides commands
+% \DescribeMacro{\newlengthtocommand}\label{setup:newlengthtocommand}%^^A
+% \DescribeMacro{\renewlengthtocommand}\label{setup:renewlengthtocommand}%^^A
+% \label{setup:newlengthtocommand}%^^A
+% \label{setup:renewlengthtocommand}%^^A
+%\begin{Quote}%
+% \cmd{\newlengthtocommand} \quad or
+% \cmd{\renewlengthtocommand}
+%\end{Quote}%
+% which are placed just before standard \LaTeX{} commands like \cmd{\setlength} or
+% \cmd{\settowidth} and save the \emph{absolute}
+% value from their arguments; here the usual code like
+%\begin{Quote}%
+%|\newlength\fulltextwidth|
+%|\setlength\rottextwidth{\textwidth+\marginparsep+\marginparwidth}|
+%\end{Quote}%
+% changed to
+%\begin{Quote}%
+%\begin{preamble}
+%|\usepackage{calc}|
+%\end{preamble}
+% |\newlengthtocommand\setlength|
+% |\fulltextwidth{\textwidth+\marginparsep+\marginparwidth}|\quad.
+%\end{Quote}%
+% Please note than the usage of calculation inside |\setlength| command (and its analogs)
+% can be used only with the \package{calc} package.
%
-% 2)\enskip In current example you may see command |\emptyfloatpage|.%^^A
-% \FRmpar{Empty page style for rotated floats}{FAD:emptyfloatpage}
-% It is offered by \package{floatpagestyle} package, (installed with
-% \package{floatrow} package). Macro |\emptyfloatpage| is abbreviation of
-% |\floatpagestyle{empty}|. The last macro redefines page style for
-% the page where \emph{current} float environment appears.
-%
-% The version 0.1h patches the core \LaTeX{} macro
-% |\@outputpage|\footnote{At the start of document
-% \package{floatpagestyle} package puts additional code at the very beginning
-% of this output routine.}
-% and I hope that it could work.\footnote{If you know more honest
-% way to get the same result---the redefinition of \emph{alone}
-% \emph{float} page style (in the case when this page can \emph{float}
-% inside document)---please let me know.} Since this package uses
-% |\label|---|\ref| mechanism, the |\floatpagestyle| command works
-% after \emph{second} \LaTeX{} run.
+%\endgroup
%
-% \RestoreSpaces
-% \subsection{The \package{lscape} Package and \env{landscape}
+% \subsection{The \package{lscape} Package and \texttt{landscape}
% Environment}\label{ssec:lscape}
-%
% Tested with version v3.0a dated 1999/02/16.\nopagebreak
%
%\ifx\landscape\undefined\else
% \ifx\landscape\relax\else
-% The example with usage of \env{landscape} environment from
+% The example with usage of |landscape| environment from
% \package{lscape} package on the page~\pageref{fig:rotrow:WcatI}, figures
% \ref{fig:rotrow:WcatI}--\ref{fig:rotrow:FcatI}):
-% \par\RestoreSpaces
+% \RestoreSpaces
%\begin{Quote}
-%\meta{preamble}
-%|\DeclareFloatVCode{lowthickrule}{\kern2pt\rule{\hsize}{.8pt}}|
-%|\floatsetup[figure]{style=ruled,rowprecode=thickrule,|
-%| rowpostcode=lowthickrule,capposition=TOP}|
-%\meta{preamble}
+%\begin{preamble}
+%|\|\FRkey{DeclareFloatVCode}|{lowthickrule}{\kern2pt\rule{\hsize}{.8pt}}|
+%|\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{style}|=ruled,|\FRkey{rowprecode}|=thickrule,|
+%| |\FRkey{rowpostcode}|=lowthickrule,|\FRkey{capposition}|=TOP}|
+%\end{preamble}
%|\begin{landscape}|
-%|\begin{figure}\emptyfloatpage|
+%|\begin{figure}\|\FRkey{emptyfloatpage}
%|...|
%\end{Quote}
-% |\floatsetup| code sets \texttt{ruled} float style,
+% |\floatsetup| code sets |ruled| float style,
% then settings for above and below material are redefined:
-% \texttt{rowprecode=} and \texttt{rowpostcode=} keys define thick
-% rules but for floatrow as whole (the `individual' |\hrule|'s
-% above/below float boxes absent).
+% |rowprecode=| and |rowpostcode=| keys define thick
+% rules but for floatrow as a~whole (the `individual' |\hrule|'s
+% above/below float boxes are absent).
%\fi\fi
%
-% The \env{landscape} environment creates a new page. It would be
-% useful to rotate the whole new section of document, e.g., appendix. (In current
-% document it was placed just before appendix)
+% The |landscape| environment creates a new page. It would be
+% useful~\nobreak\qquad1)\nobreak\enskip for rotation of multipage rotated float (in this case
+% it is better to put this float in a separate file, and to start from necessary page,
+% in this case you need the
+% \package{afterpage} package and its |\afterpage| command)~\nobreak\qquad2)\nobreak\enskip and also
+% to start new section of document, e.g., appendix. (In current
+% document the |landscape| environment was placed just before appendix)
%
%^^A \emph{Founded limitations}.\nopagebreak
%^^A The tested version works incorrect (does not rotates contents)
%^^A with \package{hypcap} package.
%
% \subsection{The \package{listings} Package}\label{ssec:listings}
-%
% Tested with version v1.3 dated 2004/09/07.\nopagebreak
%
-% This package has its strong layout mechanism for creation for floating
-% algorithms itself. The usage of |\lstset| command and \package{caption}
+% This package has its own strong layout mechanism for creation of floating
+% algorithms itself. The usage of |\lstset| command (see package documentation) and \package{caption}
% package settings gives you necessary result\footnote{Please note and read
% \package{caption} documentation: the co-operation of \package{caption}3.x and
% \package{listings} succeeds with version of last one not older than 1.2.}
@@ -4049,26 +5253,22 @@
%
% For the cases of appearance of listings inside of other float
% environments, which get settings from \package{floatrow} package,
-% there is a limitation: you can't put \env{lstlisting} inside
+% there is a limitation: you can't put |lstlisting| inside
% |\floatbox| contents.
%
% \subsection{The \package{hyperref} and \package{hypcap} Packages}
+% There were tested versions v6.77i (\package{hyperref})
+% and v1.7 (\package{hypcap}).
%
-% There were tested versions v6.74i (\package{hyperref})
-% and v1.3 (\package{hypcap}).
-%
-% The \package{floatrow} tries not to expand its code to |\caption| stuff.
+% The \package{floatrow} package tries not to expand its code to |\caption| stuff.
% I hope that environments supported by \package{floatrow} won't
% make harm to \package{caption}---\package{hyperref}/\package{hypcap} tandem.
%
-% \subsection{The Incompatibilities}
-%
-% The incompatibilities at first could follow the incompatibilities of
-% \package{caption} 3.x package:
-% \begin{Quote}
-% \package{ccaption}, \package{hvfloat}, \package{nonfloat}, \package{captcont}, \package{ccaption},
-% \package{ftcapt}, (\package{hvfloat}), \package{multicap}, \package{topcapt}, \package{nonfloat}
-% \end{Quote}
+% \section{The Incompatibilities}
+% At first the incompatibilities or rules of co-operation with other
+% packages could follow the \package{caption}~3.x package.
+% \textit{Please look first in the \package{caption}
+% package documentation to know the newest rules}.
%
% The known incompatibilities of \package{floatrow} package itself:
% \quad 1)\nobreak\enskip \package{sidecap} package\footnote{Despite that
@@ -4076,8 +5276,8 @@
% for Rolf Niepraschk and Hubert G\"{a}\ss{}lein for package with
% rich implementation of such float
% layouts.}: the \package{floatrow} package doesn't expands its
-% layouts to \env{SCfigure} and \env{SCtable} environments.
-% \quad 2)\nobreak\enskip \package{ctable} package; if you used to use
+% layouts to |SCfigure| and |SCtable| environments;~\nobreak\quad
+% 2)\nobreak\enskip \package{ctable} package; if you used to use
% \package{ctable}'s tools, e.g. for tables, please set |\RawFloats[table]|
% in the preamble, and remember that commands like |\ttabbox| won't
% loose its strength (see also {\sectionname}~\ref{sec:rawfloats}).
@@ -4092,11 +5292,11 @@
% %^^A Limitations for boxed and ruled styles in beside floats: be
% %^^A careful with usage of \emph{alone} minipage environment in object
% %^^A or caption in |\floatbox| macro. Since the object and caption are
-% %^^A created in minipage environment already, the added \texttt{minipage}
+% %^^A created in minipage environment already, the added |minipage|
% %^^A could get wrong layout (vertical alignment). But, as I
-% %^^A found, you may use a few \texttt{minipage}s in object without harm.
+% %^^A found, you may use a few |minipage|s in object without harm.
% \item %
-% You cannot use |\floatbox| stuff for floats with \texttt{verbatim}
+% You cannot use |\floatbox| stuff for floats with |verbatim|
% environment and/or |\verb|.
% \item %
% This limitation was mentioned above: some tools of the package use
@@ -4110,26 +5310,26 @@
% after second \LaTeX's run (sometimes you need to run more times).
% \item %
% The \package{caption} and
-% \package{floatrow} package do not support optional argument \emph{after}
-% caption ``title''. You may use |\floatfoot|
+% \package{floatrow} packages do not support an~optional argument \emph{after}
+% caption ``title'' (the \package{float} package's stuff). You may use |\floatfoot|
% macro after main caption argument.
% \item %
-% Do not use |\FBwidth| option for complex float contents (which you
-% could not put inside |\hbox|). (But you allowed to use |\vspace|
+% Do not use the |\FBwidth| option for complex float contents (which you
+% could not put inside one |\hbox|). But you are allowed to use |\vspace|
% macro at the very end/very beginning of object contents for fine
-% vertical tuning.)
+% vertical tuning for them.
% \item %
-% The \texttt{floatrow} environment allows spaces (and even empty
+% The |floatrow| environment allows spaces (and even empty
% lines, which sometimes create better and correct result!) between
% |\floatbox|'es, but if you add some code between them you
% must put
% |%| after this command.
% \item %
-% This is common rule---be careful with spaces at the end of lines
+% This is a~common rule---be careful with spaces at the end of lines
% inside float contents (see \texttt{CTAN:/info/epslatex.ps} for more
% explanations).
%
-% When you build plain float environment the better way is to separate
+% When you build plain floating environments the better way is to separate
% |\caption| and object contents (and also
% |\floatfoot|/|\footnotetext| contents) each by empty lines or (if
% not empty lines) end each part (and arguments of mentioned commands)
@@ -4137,18 +5337,18 @@
% the end of contents of each part, or wrong justification of float
% components.
% %^^A \item %
-% %^^A Usage of fancy boxes \texttt{shadowbox} and \texttt{wshadowbox}
+% %^^A Usage of fancy boxes |shadowbox| and |wshadowbox|
% %^^A could get wrong layout with beside captions.
-% \item If you use inside |\floatbox| stuff
-% \env{tabularx} or \env{tabular*} environments (or any other) with
+% \item If you use |tabularx| or |tabular*| environments
+% inside |\floatbox| stuff (or any other) with
% |\hsize| command inside \meta{width} argument, you must repeat the
% |\hsize| argument in \meta{width} argument of |\floatbox| macro.
%
-% If you want to set width of \env{tabularx} or \env{tabular*}
+% If you want to set width of |tabularx| or |tabular*|
% environments (or any other) like |.8\hsize| (or |1.2\hsize|) and
% these environments placed inside any |\floatbox| macro, load
% |.8\hsize| in \meta{width} argument of |\floatbox| macro, and in
-% \meta{width} argument of \env{tabularx} or \env{tabular*} load only
+% \meta{width} argument of |tabularx| or |tabular*| load only
% |\hsize| macro (see also sample file \file{frsample03.tex}).
%
% In other cases (especially in fancy layout or settings) be careful
@@ -4158,10 +5358,10 @@
% \addtocontents{toc}{\string\nopagebreak}
%
% \section{Acknowledgements}
-%
% Thanks for Steven Cochran and Axel Sommerfeldt for all their advices
-% and spirit. Special thanks for Axel for the patient answering, code, and
-% help in \emph{all} my questions and problems in \package{floatrow} package.
+% and spirit. Special thanks for Axel for the patient answering, code, finding and showing
+% bugs, and help in \emph{all} my questions and problems in \package{floatrow} package.
+% All good text pieces in this documentation are filled with Axel's advices and great help.
%
% \medskip\noindent
% Thanks for \emph{all} involuntary (\La)\TeX{} teachers, who teaches
@@ -4182,18 +5382,18 @@
% \floatsetup[figure]{style=ruled,rowprecode=thickrule,
% rowpostcode=lowthickrule,capposition=TOP,margins=hangtoheads,
% footposition=caption}
-% \newlength\Mylen\Mylen\textwidth
+% \renewlengthtocommand\setlength\Mylen{\textwidth}
%
% \begin{landscape}
%
-% \begin{figure}\emptyfloatpage
+% \begin{figure}\emptyfloatpage\label{example:ruledcapposTOP}
%
-% \begin{floatrow}[4]\label{example:ruledcapposTOP}%^^A
+% \begin{floatrow}[4]%^^A
% \ffigbox[][][t]
% {{\input{TheCat.picture}}%^^A
-% \footnotetext[1]{The
+% \footnotetext[1]{This
% picture was created with \cmd{\qbezier}
-% macro}}%
+% macros}}%
% {\caption[Figure in the row~I, top of object box]%
% {Figure in the row~I, top of object box\protect\mpfootnotemark}%
% \label{fig:rotrow:WcatI}}%
@@ -4203,14 +5403,14 @@
% \label{fig:rotrow:BcatI}%
% \floatfoot{There are all \cmd{\qbezier} macros and only
% two vertical lines}}%
-% {\input{BlackCat.picture}}%
+% {\input{BlackCat.picture}\footnote[2]%
+% {Look at funny footnotemark!}}%
%
% \ffigbox[\FBwidth]
% {{\unitlength2.5\unitlength
-% \input{Cat.picture}}\footnote[2]%
-% {Look at funny footnotemark!}}
+% \input{Cat.picture}}}
% {\caption{Figure in the row~III, center of object box}%
-% \label{fig:rotrow:mouseI}\floatfoot{The Mouse-animal image}}%
+% \label{fig:rotrow:mouseI}\floatfoot{The image of cat}}%
%
% \floatbox{figure}[\Xhsize][\Mylen]
% {\caption{Figure in the row~IV}\label{fig:rotrow:FcatI}}
@@ -4225,108 +5425,82 @@
% \clearpage
% \suppressfloats[t]
% \section{Appendix}
-%
-% \subsection{Miscellaneous}
-%
-% \subsubsection{Usage of Captionsetup
+% \FRorisubsection{Miscellaneous}
+% \FRorisubsubsection{Usage of Captionsetup and Thisfloatsetup
% Inside Floatbox Stuff}\label{ssec:app:besidestart}
-%
-% Example of figures in row (figures~\ref{floatbox:FR:lfig} and
-% \ref{floatbox:FR:fig}). There were used predefined float commands
-% |\fcapsideleft| and |\fcapsideright| with added |\captionsetup| and
-% |\thisfloatsetup|:
-%\begin{Quote}
-%|\newfloatcommand{fcapsideleft}{figure}[{\capbeside|
-%| \captionsetup[capbesidefigure]{format=break,labelsep=none,|
+% Example of figures in row (figures~\ref{FB:FR:lfig} and
+% \ref{FB:FR:fig}). There predefined float commands
+% |\fcapsideleft| and |\fcapsideright| with were used additional |\captionsetup| and
+% |\thisfloatsetup| settings:
+%\begin{Quote}\openup-.5pt
+%\begin{preamble}
+%|\|\FRkey[FB]{newfloatcommand}|{fcapsideleft}{figure}[{\|\FRkey[FB]{capbeside}
+%| \captionsetup[capbesidefigure]{labelsep=newline,|
%| justification=raggedleft}%|
-%| \thisfloatsetup{capbesideposition=left}}]%|
-%| [\FBwidth]|
+%| \|\FRkey{thisfloatsetup}|{|\FRkey{capbesideposition}|=left}}][\|\FRkey[FB]{FBwidth}|]|
%|\newfloatcommand{fcapsideright}{figure}[{\capbeside|
-%| \captionsetup[capbesidefigure]{format=break,labelsep=none,|
+%| \captionsetup[capbesidefigure]{labelsep=newline,|
%| justification=raggedright}%|
-%| \thisfloatsetup{capbesideposition=right}}]%|
-%| [\FBwidth]|
+%| \thisfloatsetup{capbesideposition=right}}][\FBwidth]|
+%|\|\FRkey[sec]{floatsetup}|[figure]|
+%| {|\FRkey{style}|=Boxed,|%^^A
+% \FRkey{objectset}|=centering,|%^^A
+% \FRkey{margins}|=centering,|
+%| |\FRkey{capposition}|=beside,|%^^A
+% \FRkey{capbesidesep}|=cicero,|%^^A
+% \FRkey{capbesideframe}|=yes}|
+%\end{preamble}
+% |\begin{figure}|
+% |\begin{|\FRkey[sec]{floatrow}|}|
+% | \fcapsideleft{...}{...}|
+% | \fcapsideright[\hsize]{...}{...}|
+% |\end{floatrow}|
+% |\end{figure}|
%\end{Quote}
%
% \clearfloatsetup{figure}
% \floatsetup[figure]
% {style=Boxed,capposition=beside,objectset=centering,
-% floatwidth=\columnwidth,capbesidewidth=5.75cc,
% capbesidesep=cicero,margins=centering,
-% capbesideframe=yes,floatwidth=sidefil}
+% capbesideframe=yes}
%
-% \begin{figure}[b!]
+% \begin{figure}[H]
% \begin{floatrow}
% \fcapsideleft
% {\unitlength1.44\unitlength
% \input{Cat.picture}}
% {\caption[Float in the row with beside caption (graphic box has width of its contents)]{%^^A
% Float box (\cmd{\fcapsideleft})
-% width of graphics}\label{floatbox:FR:lfig}}%
-% \hsize\Xhsize \fcapsideright[\hsize]
+% width of graphics}\label{FB:FR:lfig}}%
+% \fcapsideright[\hsize]
% {\setlength\unitlength{\hsize/61}%^^A
% \input{BlackCat.picture}}%
% {\caption[Float in the row with beside caption (occupies rest space)]{%^^A
% Float box (\cmd{\fcapsideright})
-% width of rest float row space}\label{floatbox:FR:fig}}%
+% width of rest float row space}\label{FB:FR:fig}}%
% \end{floatrow}%
% \end{figure}%
-% The caption format \texttt{break} was defined by following way:
-%\begin{Quote}
-%|\DeclareCaptionFormat{break}{#1#2\par#3\par}|
-%\end{Quote}
-%
-% For these figures created following \verb|\floatsetup| settings:
-%\begin{Quote}
-%|\floatsetup[figure]|
-%| {style=Boxed,capposition=beside,|
-%| objectset=centering,floatwidth=\columnwidth,|
-%| capbesidewidth=5.75cc,capbesidesep=cicero,margins=centering,|
-%| capbesideframe=yes,floatwidth=sidefil}|
-%\end{Quote}
-% The key \texttt{floatwidth=sidefil} means that in the case of
-% caption has predefined width, object occupies the rest space of
-% \verb|\hsize| (in the case of no \meta{width} option used, or used
-% \verb|\hsize| option).
-%
-% Left figure uses width of graphics, left one occupies the rest of
-% float row---for this reason just before \verb|\fcapsideright|
-% command was written tricky setting:
-%\begin{Quote}
-%|\hsize\Xhsize|
-%\end{Quote}
-% which, in case of caption placed beside float object defines width
-% of full float box.
%
-% The default \meta{width} option of \verb|\fcapsideleft| and
-% \verb|\fcapsideright| commands is \verb|\FBwidth|, so for
-% figure~\ref{floatbox:FR:fig} on the right (created by
-% \verb|\fcapsideright| command) in the \meta{width} option was set
-% \verb|\hsize| command to fill the rest space of float row.
-%
-% Since in float style the key \texttt{heightadjust=object} (included
-% in definition of \texttt{Boxed} style), both objects have the same
-% height.
+% Since the key \FRkey{heightadjust}|=object| is used in
+% the |Boxed| float style, both objects have the same
+% height.\RestoreSpaces
%
% \subsubsection{Predefined Beside Caption Width}
-%
-% This example includes |\useFCwidth| command, which switches on usage
-% of previously defined caption width with \texttt{capbesidewidth=} key
+% This example includes the |\useFCwidth|\label{setup:useFCwidth} command which switches on usage
+% of previously defined caption width with |capbesidewidth=| key
% (in command |\thisfloatsetup| before |\floatbox| macro) or, if you
-% didn't set caption width (like in current example), macro counts natural
-% width of caption contents (see figure~\ref{fig:Idog:w}\footnote{Inside
-% \cmd{\floatbox} you may not set predefined width of caption, but remember
-% that you \emph{must} define width of caption in case of usage of plain
-% float environment.}). The object---caption box in this case aligned
-% using alignment settings from |margins| key (its options defined
+% didn't set caption width (like in current example), macro calculates natural
+% width of caption contents (see figure~\ref{fig:Idog:w}). In this case
+% the object---caption box is aligned
+% using alignment settings from |margins| key (its options are defined
% by |\setfloatmargins| or |\floatcapbesidemargins| macro). In this
% documentation they are centered (see page~\pageref{setup:DeclareMarginSet}).
%\begin{Quote}
-%\meta{preamble}
-%|\floatsetup[figure]{style=plain}|
-%\meta{preamble}
+%\begin{preamble}
+%|\floatsetup[figure]{|\FRkey{style}|=plain}|
+%\end{preamble}
%|\begin{figure}|
-%|\floatbox[\capbeside\useFCwidth]{figure}[\FBwidth]|
+%|\floatbox[\capbeside\useFCwidth]{figure}[\|\FRkey[FB]{FBwidth}|]|
%| ...|
%|\end{figure}|
%\end{Quote}
@@ -4335,44 +5509,38 @@
%
% \begin{figure}[H]
% \floatbox[\capbeside\useFCwidth]{figure}[\FBwidth]
-% {\caption[Beside
-% caption, width equals to caption's text]{Beside
-% caption}\label{fig:Idog:w}}
+% {\caption[One-line beside
+% caption, width equals to caption's text]{}\label{fig:Idog:w}}
% {{\setlength\unitlength{{4cm}/60}%^^A
% \input{BlackDog.picture}}}
% \end{figure}%
%
+% Please note that inside
+% \cmd{\floatbox} you may not set predefined width of caption, but remember
+% that you \emph{must} define width of caption in case of usage of plain
+% floating environment.\RestoreSpaces
%
% \subsubsection{Predefined Beside Caption Width with
% The Rest Space for Object}\label{FAD:RestSpaceforObject}
-%
-% The figure \ref{fig:capbeside:trick} uses following float style:%^^A
-%^^A \footnote{There are also addition settings for captions:
-%^^A \cmd{\captionsetup[capbesidefigure]}\allowbreak
-%^^A \texttt{\{format=default,}\allowbreak\texttt{labelsep=none\}}
-%^^A which is necessary for current documentation: the \package{hyperref}
-%^^A creates unwanted result with empty argument of caption title. The
-%^^A same settings used for figures~\ref{floatrow:pre:figI} and
-%^^A \ref{floatrow:pre:figII}}
+% The figure \ref{fig:capbeside:trick} uses the following float style:%^^A
%\begin{Quote}
-%\meta{preamble}
-%|\renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont|
+%\begin{preamble}
+%|\|\FRkey{renewlengthtocommand}|\settowidth\Mylen{\captionfont\captionlabelfont|
%| \figurename\ \thefigure}|
-%\meta{preamble}
+%\end{preamble}
%|\floatsetup[figure]|
-%| {style=Boxed,capposition=beside,objectset=centering,|
-%| floatwidth=\columnwidth,capbesidewidth=\Mylen,|
-%| capbesideposition=left,capbesidesep=cicero,|
-%| margins=centering,capbesideframe=yes,|
-%| floatwidth=sidefil}|
+%| {|\FRkey{style}|=Boxed,|\FRkey{capposition}|=beside,|\FRkey{objectset}|=centering,|
+%| |\FRkey{capbesidewidth}|=\Mylen,|%^^A
+% \FRkey{capbesideposition}|=left,|\FRkey{capbesidesep}|=cicero,|
+%| |\FRkey{margins}|=centering,|\FRkey{capbesideframe}|=yes,|
+%| |\FRkey{floatwidth}|=sidefil}|
%\end{Quote}
% The \verb|\Mylen| dimension was defined as width of caption label.
%
% \clearfloatsetup{figure}
% \floatsetup[figure]
% {style=Boxed,capposition=beside,objectset=centering,
-% floatwidth=\columnwidth,capbesidewidth=\Mylen,
-% capbesideposition=left,capbesidesep=cicero,
+% capbesidewidth=\Mylen,capbesideposition=left,capbesidesep=cicero,
% margins=centering,capbesideframe=yes,floatwidth=sidefil}
% \renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont
% \figurename\ \thefigure}
@@ -4387,71 +5555,34 @@
% \end{figure}%
%\endgroup
%
-%
-% \subsubsection{Caption Beside with Centered Object}\label{FAD:CapandCenterObj}
-%
-% The figure \ref{fig:plain:trick} uses tricky float style:
-%\begin{Quote}
-%\meta{preamble}
-%|\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth}|
-%\meta{preamble}
-%|\floatsetup[figure]|
-%| {style=plain,capposition=beside,objectset=centering,|
-%| floatwidth=\columnwidth,capbesidewidth=6cc,|
-%| capbesideposition=left,capbesidesep=mcapwidth,|
-%| margins=centering,capbesideframe=yes,|
-%| floatwidth=sidefil}|
-%\end{Quote}
-% I this case all figures with beside captions centered accordingly to
-% text \verb|\hsize|. Usage of such float layout supposes that all
-% float objects are narrower than |\textwidth| by at least 2~caption
-% widths.
-%
-% \clearfloatsetup{figure}\floatsetup[figure]
-% {style=plain,capposition=beside,objectset=centering,
-% floatwidth=\columnwidth,capbesidewidth=6cc,
-% capbesideposition=left,capbesidesep=mcapwidth,
-% margins=centering,capbesideframe=yes,floatwidth=sidefil}
-% \begingroup
-% \captionsetup[capbesidefigure]{format=break,labelsep=none,
-% justification=raggedright}
-% \begin{figure}[H]
-% \unitlength1.1\unitlength
-% \input{Doll.picture}
-% \caption[Beside caption with ``hidden'' width (\texttt{=6cc}), object is centered at the full hsize]{%^^A
-% Plain figure}\label{fig:plain:trick}
-% \end{figure}%
-% \endgroup
-%
-% There were also temporarily, in group, changed settings for caption
-% in figure~\ref{fig:plain:trick}:\label{ssec:app:besidefinish}
-% \par\RestoreSpaces
-%\begin{Quote}
-%|\captionsetup[capbesidefigure]{format=break,labelsep=none,|
-%| justification=raggedright}|
-%\end{Quote}
-%
% \subsubsection{Width Definition for Beside
% Caption---Object Box in Float Row}
-%
-% The float row with predefined width of beside object---caption
-% boxes (figures~\ref{floatrow:pre:figI} and
+% The float row with predefined width boxes ``beside object---caption''
+% (figures~\ref{floatrow:pre:figI} and
% \ref{floatrow:pre:figII}): just define before \verb|\fcapside|
-% command something like
+% command something like:
%\begin{Quote}
-%|\setlength\hsize{1.2\hsize}%|
-%\end{Quote}
-% as was defined for first figure, or
-%\begin{Quote}
-%|\setlength\hsize\Xhsize|
+%\begin{preamble}
+%|\floatsetup[figure]|
+%| {|\FRkey{style}|=plain,|\FRkey{objectset}|=centering,|\FRkey{margins}|=centering,|
+%| |\FRkey{capbesideposition}|=left,|\FRkey{capbesidesep}|=enskip,|
+%| |\FRkey{floatwidth}|=sidefil}|
+%\end{preamble}
+% |\begin{figure}\|\FRkey{useFCwidth}\nopagebreak
+% | \begin{floatrow}|
+% | \setlength\hsize{1.2\hsize}%|
+% | \|\FRkey[FB]{fcapside}|...|
+% | \setlength\hsize\|\FRkey[FB]{Xhsize}
+% | \fcapside...|
+% | \end{floatrow}|\nopagebreak
+% |\end{figure}|
%\end{Quote}
-% before second (here is clear that you can set
-% |\setlength\hsize{.8\hsize}|).
+% (here is clear that before second you can also set |\setlength\hsize{.8\hsize}|).
%
-% Since there were used \verb|\fcapside| commands at the beginning of
-% \env{floatrow} environment the \verb|\FCwidth| command was defined
-% as \verb|\relax|---in this case the width of caption equals to the
-% width of their contents.
+%^^A% Since the \verb|\fcapside| commands were used at the beginning of the
+%^^A% |floatrow| environment the \verb|\FCwidth| command was defined
+%^^A% as \verb|\relax|---in this case the width of caption equals to the
+%^^A% width of their contents.
%
%\begingroup
% \clearfloatsetup{figure}
@@ -4477,34 +5608,34 @@
% \end{floatrow}%
% \end{figure}%
%\endgroup
-% There was used following setup for figures:
-%\begin{Quote}
-%|\floatsetup[figure]|
-%| {style=plain,capposition=beside,objectset=centering,|
-%| capbesideposition=left,capbesidesep=enskip,|
-%| margins=centering,capbesideframe=yes,floatwidth=sidefil}|
-%\end{Quote}
%
% \subsubsection{Caption Above/Below and Caption Beside at
% The Float Row}\label{FAD:CapBesideandBelow}
-%
% The float row with object and beside caption combined with object
% and caption below (figures~\ref{flrow:mix:figI} and
% \ref{flrow:mix:figII}). There we ought to use
% \verb|\TopFloatBoxes|, \verb|\CenterFloatBoxes|, or
% |\BottomFloatBoxes| commands to get correct layout---since the
-% \meta{height} argument in both float boxes defined as \texttt{4cm}
+% \meta{height} argument in both float boxes has the same value,
% you may use each of these three commands. Unfortunately you must set
-% height of such beside floats by hand. The lines which create
-% described float row:
+% the height of such beside floats by hand (the \FRkey{heightadjust}|=| key works here incorrectly).
+% The lines which create the described float row:
+% \RestoreSpaces
%\begin{Quote}
-%|\begin{figure}\CenterFloatBoxes|
+%\begin{preamble}
+%|\floatsetup[figure]|\nopagebreak
+%| {|\FRkey{style}|=Boxed,|\FRkey{frameset}|={\fboxsep4pt},|\FRkey{captionskip}|=5pt,|
+%| |\FRkey{capposition}|=bottom,|\FRkey{objectset}|=centering,|\FRkey{capbesidewidth}|=sidefil,|
+%| |\FRkey{capbesideposition}|=inside,|\FRkey{capbesidesep}|=enskip,|\FRkey{margins}|=centering,|
+%| |\FRkey{capbesideframe}|=yes}|
+%\end{preamble}
+%|\begin{figure}\|\FRkey[FB]{CenterFloatBoxes}
%|\begin{floatrow}|
%|\hsize1.098\hsize|
%| \fcapside[\FBwidth][3.6cm]|
%| ...|
%| |
-%| \ffigbox[\Xhsize][3.6cm]|
+%| \ffigbox[\|\FRkey[FB]{Xhsize}|][3.6cm]|
%| ...|
%|\end{floatrow}%|
%|\end{figure}|
@@ -4513,7 +5644,7 @@
% \clearfloatsetup{figure}
% \floatsetup[figure]
% {style=Boxed,frameset={\fboxsep6pt},captionskip=5pt,capposition=bottom,
-% objectset=centering,capbesidewidth=none,capbesideposition=inside,
+% objectset=centering,capbesidewidth=sidefil,capbesideposition=inside,
% capbesidesep=enskip,margins=centering,capbesideframe=yes}
%
% \begin{figure}[H]\CenterFloatBoxes
@@ -4534,24 +5665,24 @@
% \end{floatrow}%
% \end{figure}
%
-% The ``mirror layout'' (but not identical) looks like:
-% \allowprelistbreaks[-4]\par\RestoreSpaces
+% The code for ``mirror'' layout (but not identical) looks like:
+% \allowprelistbreaks[-4]\RestoreSpaces
%\begin{Quote}
%|\begin{figure}\CenterFloatBoxes|\nopagebreak
-%|\begin{floatrow}|
-%| \ffigbox[1.2\FBwidth][3.6cm]|
+%|\begin{floatrow}|\nopagebreak
+%| \ffigbox[1.28\|\FRkey[FB]{FBwidth}|][3.6cm]|
%| ...|
%| |
%| \hsize\Xhsize|
%| \fcapside[\FBwidth][3.6cm]|
%| ...|
-%|\end{floatrow}%|
+%|\end{floatrow}%|\nopagebreak
%|\end{figure}|
%\end{Quote}
%
% \begin{figure}[H]\CenterFloatBoxes
% \begin{floatrow}
-% \ffigbox[1.2\FBwidth][3.6cm]
+% \ffigbox[1.28\FBwidth][3.6cm]
% {\unitlength1.44\unitlength
% \input{BlackDog.picture}}
% {\caption{%^^A
@@ -4568,32 +5699,20 @@
% \end{floatrow}%
% \end{figure}
%
-% The figures~\ref{floatrow:mirrmix:figII}--\ref{floatrow:mirrmix:figI}
-% use following float style settings:
-% \par\RestoreSpaces
-%\begin{Quote}
-%|\floatsetup[figure]|
-%| {style=Boxed,frameset={\fboxsep4pt},captionskip=5pt,|
-%| capposition=bottom,objectset=centering,capbesidewidth=none,|
-%| capbesideposition=inside,capbesidesep=enskip,margins=centering,|
-%| capbesideframe=yes}|
-%\end{Quote}
-%
-% \subsubsection{Photo-Album-like Layouts}
-%
+% \subsubsection{Photo-Album-Like Layouts}
% Another example of miscellaneous float row
-% (figures~\ref{flrow:three:figIII}--\ref{floatrow:threemirr:figII},
+% (figures~\mbox{\ref{flrow:three:figIII}--\ref{floatrow:threemirr:figII}},
% and, ``mirror layout''---^^A
-% \ref{floatrow:threemirr:figI}--\ref{floatrow:threemirr:figIII}) were
+% \mbox{\ref{floatrow:threemirr:figI}--\ref{floatrow:threemirr:figIII}}) were
% created by following lines:
%\begin{Quote}
-%|\begin{figure}\BottomFloatBoxes|
+%|\begin{figure}\|\FRkey[FB]{BottomFloatBoxes}
%|\begin{floatrow}|
-%|\hsize1.2\hsize \ffigbox[][6.7cm]|
+%|\hsize1.2\hsize \|\FRkey[FB]{ffigbox}|[][6.7cm]|
%| ...|
%| |
%|\vbox to6.7cm|
-%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle|
+%| {\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{floatrowsep}|=none}\|\FRkey{killfloatstyle}
%| \ffigbox[.8\hsize]|
%| ...|
%| \vss|
@@ -4629,9 +5748,9 @@
% \end{figure}
%
% The ``mirror'' layout created by following commands:
-% \par\RestoreSpaces
+% \RestoreSpaces
%\begin{Quote}
-%|\begin{figure}[t]\TopFloatBoxes|
+%|\begin{figure}[t]\|\FRkey[FB]{TopFloatBoxes}
%|\begin{floatrow}|
%|\vtop to7cm|
%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle|
@@ -4647,17 +5766,15 @@
%|\end{floatrow}%|
%|\end{figure}|
%\end{Quote}
-% Note that in second example with ``mirror'' layout there was used
-% trick with \meta{height} definition---caption of float in the left
+% Note that in second example with ``mirror'' layout the
+% trick with \meta{height} definition was used---caption of float in the left
% column is one line longer, so for the right column height of float
% was reduced by 11pt---|\baselineskip| for |\small|
-% size\footnote{You get correct height with such calculations for
-% beside floats with \package{caption}'s version not older than 3.0d.}
-% (here were used \package{calc} package possibilities). The |\vtop| of
+% size
+% (here the \package{calc} package possibilities were used). The |\vtop| of
% left column ends with |\vskip0pt|, otherwise you get fanny unwanted
% layout.
%
-%
% \begin{figure}\TopFloatBoxes
% \begin{floatrow}
% \vtop to7cm {\floatsetup[figure]{floatrowsep=none}\killfloatstyle
@@ -4690,20 +5807,18 @@
% I suppose that last two examples could conflict with ``motto'' of
% this package---to reduce and remove layout code from document; but
% photo-album-like layout is rather rare in technical literature (It
-% isn't?).
+% isn't?).\RestoreSpaces
%
% \clearpage
-% \par\RestoreSpaces
-% \subsection{Sample files}\label{sec:samples}
-%
-% The \env{floatrow} package distribution offers a few files with
+% \subsection{Sample Files}\label{sec:samples}
+% The |floatrow| package distribution offers a few files with
% examples, which show settings, not covered by current document (some
-% of them are bit exotic and unnatural). The samples have not aim to
+% of them are bit exotic for technical literature). The samples have no aim to
% create perfect layout, but to show easy modification for all float
% types, and show goals and drawbacks in combinations of chosen layout
% with different float types and their contents.
%
-% \emph{Note}. All miscellaneous float styles (i.e. almost
+% \emph{Note}. All miscellaneous float styles (i.e.\ almost
% all sample files) need at least two \LaTeX{} runs.
%
% The list of samples:
@@ -4711,48 +5826,52 @@
% \begin{Options}{\OptionLabel}
% \item[frsample01.tex] all possible combinations of predefined
% \package{floatrow} styles for captions above/below floats with foot
-% material; there were created plain float environments and
-% \env{floatrow}s, also there were created boxes with
+% material; the plain floating environments and
+% |floatrow|s were created, also the boxes with
% alone objects and alone captions;
% \item[frsample02.tex] all possible combinations of predefined
% \package{floatrow} styles for beside captions and all possible
% caption positions;
-% \item[frsample03.tex] different tests with tables;
+% \item[frsample03.tex] various tests with tables;
% \item[frsample04.tex] sample with fancy layout with usage of
% beside captions;
% \item[frsample05.tex] one-column facing layout; miscellaneous
% caption settings.
+% \item[frsample06.tex] examples of attempts to get common height for
+% rectangular graphics (photos) in the filled row of floats or parts
+% of floats. Also the examples of usage of the |\Xhsize| command
+% in the mixed-level rows were added.
% \end{Options}
%
% The next bundle of samples is a few file-headers with different
% preamble which run the same file with various float
-% layouts. For these examples there was created a new float type of
-% float \texttt{textbox}---which includes text in its object contents.
+% layouts. For these examples a new float type of
+% float |textbox| was created. It includes text in its object contents.
% \begin{Options}{\OptionLabel}
% \item[frsample10.tex] one column non-facing layout; figures
-% printed in \texttt{plain} style; text boxes use miscellaneous
+% printed in |plain| style; text boxes use miscellaneous
% ruled style;
% \item[frsample11.tex] one-column non-facing layout with elements
% hanged on left margin (e.g. wide floats, in starred environments,
-% like \env{figure*});
+% like |figure*|);
% \item[frsample12.tex] two-column layout with attempts of
% colored float styles.
% \end{Options}
%
-% There is also added sample file \file{sample-longtable.tex} which
-% uses \emph{beta-temp} package-patch \package{fr-longtable}
+% {\sloppy Also added sample file \file{sample-longtable.tex} was added
+% which uses \emph{beta-temp} package-patch \package{fr-longtable}
% with defined commands |\endlasthead| and |\endprelastfoot| which
% defines captions for continued and last pages of long table in three
-% possible ways.
-%\vfil
+% possible ways.\par}
%
-% \subsection{Obsolete Commands}\label{sec:changed}
+%\vfil
%
% \begin{small}
-% \subsubsection{The User Interface---New Floats [\package{float}]}
+% \subsection{Obsolete Commands}\label{sec:changed}
+% \FRorisubsubsection{The User Interface---New Floats [\package{float}]}
% \label{sec:floatborrowI}
%
-% \DescribeMacro{\newfloat}
+% \DescribeMacro{\newfloat}\slshape
% The most important command in \package{float}
% is the |\newfloat| command\footnote{It doubles the
% \cmd{\DeclareNewFloatType} command.}. It is patterned on
@@ -4764,13 +5883,13 @@
% \end{Quote}
% \begin{itemize}\advance\itemsep2ptplus2pt
% \item \marg{type} is the `type' of the new class of floats, like
-% \texttt{program} or \texttt{algorithm}. After the appropriate
+% |program| or |algorithm|. After the appropriate
% |\newfloat|, commands like |\begin{program}| or |\end{algorithm*}|
% will be available.
% \item \marg{placement} gives the default placement
% parameters for this class of floats. The placement parameters are
-% the same as in standard \LaTeX, i.e., \texttt{t}, \texttt{b},
-% \texttt{p} and \texttt{h} for `top', `bottom', `page' and `here',
+% the same as in standard \LaTeX, i.e., |t|, |b|,
+% |p| and |h| for `top', `bottom', `page' and `here',
% respectively.
% \item \marg{ext} When \LaTeX\ writes the captions to an auxiliary file
% for the list of figures (or whatever), it'll use the job name
@@ -4778,17 +5897,19 @@
% \item \oarg{within} Finally, the optional
% argument \meta{within} determines whether floats of this class will
% be numbered within some sectional unit of the document. For example,
-% if \oarg{within}${}={}$\texttt{chapter}, the floats will be numbered
+% if \oarg{within}${}={}$|chapter|, the floats will be numbered
% within chapters. (In standard \LaTeX, this happens with figures and
% tables in the \cls{report} and \cls{book} document styles.) As an
% example, Program~\ref{prog1.1} was created by a command sequence
% similar to that shown in the following
% Example\footnote{Settings for Example float
-% environment were created by \cmd{\DeclareNewFloatType} macro stuff.}.
+% environment were created by \cs{}\FRkey{DeclareNewFloatType} macro stuff.}.
% \end{itemize}
+%\begin{em}
% \emph{Floatrow note.}
-% There is also created a |\newfloat*| pair, which works similar to
+% Also a |\newfloat*| pair was created which works similar to
% |\restylefloat*| command (see below).\pagebreak[2]
+%\end{em}
% \begin{Example}[H]
% \begin{Quote}\openup-.5pt
% |\floatstyle{ruled}|
@@ -4849,21 +5970,21 @@
% \DescribeMacro{\restylefloat}\nopagebreak
% The |\restylefloat| command is necessary
% to change styles for the standard float types
-% \texttt{figure} and \texttt{table}. Since these aren't usually
+% |figure| and |table|. Since these aren't usually
% defined via |\newfloat|, they don't have a style associated with
% them. Thus you have to say, for example,
% \begin{Quote}
% \hspace*{\MacroIndent}|\floatstyle{ruled}|
% \hspace*{\MacroIndent}|\restylefloat{table}|
% \end{Quote}
-% to have tables come out \texttt{ruled}. The command also lets you
+% to have tables come out |ruled|. The command also lets you
% change style for floats that you define via |\newfloat|, although
% this is, typographically speaking, not a good idea. See
% table~\ref{table1} for an example\footnote{The \package{float} package
-% created special caption style with bold label for \texttt{boxed}
-% style. Please note that \texttt{plain} and \texttt{boxed} float
+% created special caption style with bold label for |boxed|
+% style. Please note that |plain| and |boxed| float
% styles have not any special settings in \package{caption} 3.x package.
-% To emulate \texttt{boxed} style from \package{float} documentation there
+% To emulate |boxed| style from \package{float} documentation there
% were: cleared all special caption settings for tables, and restored
% default colon separator after label.}. There is a |\restylefloat*|
% command which will restyle an existing float type but will keep the
@@ -4896,10 +6017,11 @@
% \MakeShortVerb{\|}
%
% \end{small}\pagebreak[2]
+%
+%\clearpage
%\RestoreSpaces
% \begingroup\extrarowheight1.75pt\small\openup-.5pt\tabcolsep.5\tabcolsep\LTpre=0ptplus3pt\LTpost\LTpre
-% \subsubsection{The \cmd{\floatsetup} keys, renamed or deleted after version 0.1b}
-%
+% \subsubsection{The \texorpdfstring{\cs{floatsetup}}{floatsetup} Keys, Renamed or Deleted After Version 0.1b}
% \parindent0pt
% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}|
% >{\rightskip0ptplus1fil}p{.35\hsize}|
@@ -4912,18 +6034,18 @@
% \\\hline
% \endhead
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \cmd{\renewfloatstyle},\\
-% \cmd{\newfloatstyle},\\
-% \cmd{\definefloatstyle}
+% |\renewfloatstyle|,\\
+% |\newfloatstyle|,\\
+% |\definefloatstyle|
% \end{tabular}&
-% \cmd{\DeclareFloatStyle}---this command uses \cmd{\floatsetup}
+% |\DeclareFloatStyle|---this command uses |\floatsetup|
% mechanism
% \\\hline
-% \cmd{\restorerestylefloat} & removed
+% |\restorerestylefloat| & removed
% \\\hline
-% \cmd{\captionskip} & command, not a skip
+% |\captionskip| & command, not a skip
% \\\hline
-% \cmd{\floatfootskip} & command, not a skip
+% |\floatfootskip| & command, not a skip
% \\\hline
% \end{longtable}
%
@@ -4938,63 +6060,63 @@
% \thead{Key Analog}
% \\\hline
% \endhead
-% \cmd{\floatobjectset} &
-% in current version \emph{do not used for definition of object
+% |\floatobjectset| &
+% in current version \emph{do not use for definition of object
% settings}, use key
-% \texttt{objectset=}
+% |objectset=|
% \\\hline
-% \cmd{\alignsidecaption}&
-% \texttt{capbesideframe=yes}
+% |\alignsidecaption|&
+% |capbesideframe=yes|
% \\\hline
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \smash{\cmd{\capbesidecenter}},\\ \smash{\cmd{\capbesidetop}},\\
-% \smash{\cmd{\capbesidebottom}},\\
-% \smash{\cmd{\capbesideinside}},\\
-% \smash{\cmd{\capbesideoutside}},\\
-% \smash{\cmd{\capbesideleft}},\\ \smash{\cmd{\capbesideright}}
+% |\capbesidecenter|,\\ |\capbesidetop|,\\
+% |\capbesidebottom|,\\
+% |\capbesideinside|,\\
+% |\capbesideoutside|,\\
+% |\capbesideleft|,\\ |\capbesideright|
% \end{tabular}&
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \texttt{capbesideposition=center}\\
-% \texttt{capbesideposition=top}\\
-% \texttt{capbesideposition=bottom}\\
-% \texttt{capbesideposition=inside}\\
-% \texttt{capbesideposition=outside}\\
-% \texttt{capbesideposition=left}\\
-% \texttt{capbesideposition=right}
+% |capbesideposition=center|\\
+% |capbesideposition=top|\\
+% |capbesideposition=bottom|\\
+% |capbesideposition=inside|\\
+% |capbesideposition=outside|\\
+% |capbesideposition=left|\\
+% |capbesideposition=right|
% \end{tabular}
% \\\hline
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \cmd{\floatrowsep},\\ \cmd{\floatcapbesidesep}
+% |\floatrowsep|,\\ |\floatcapbesidesep|
% \end{tabular}&
-% in current version \emph{do not used for definition of separation
-% material}, use keys\par \extrarowheight0pt
+% in current version \emph{do not use for definition of separation
+% material}, use keys\par
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \texttt{floatrowsep=}\\
-% \texttt{capbesidesep=}
+% |floatrowsep=|\\
+% |capbesidesep=|
% \end{tabular}
% \\\hline
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \cmd{\FBcenter}\vphantom{g},\\ \cmd{\FBleft}\vphantom{g},\\
-% \cmd{\FBright},\\ \cmd{\FBnormal}
+% |\FBcenter|\vphantom{g},\\ |\FBleft|\vphantom{g},\\
+% |\FBright|,\\ |\FBnormal|
% \end{tabular}&
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \texttt{margins=center},\\
-% \texttt{margins=raggedright},\\
-% \texttt{margins=raggedleft}, \\
-% \texttt{margins=center},\\
+% |margins=center|,\\
+% |margins=raggedright|,\\
+% |margins=raggedleft|, \\
+% |margins=center|,\\
% \end{tabular}
% \\\hline
-% \cmd{\setfloatstyle} & \texttt{style=}
+% |\setfloatstyle| & |style=|
% \\\hline
% \extrarowheight0pt\begin{tabular}[t]{@{}l}
-% \cmd{\Setframe}\\
-% \cmd{\setframe}
+% |\Setframe|\\
+% |\setframe|
% \end{tabular}
-% & use \texttt{framestyle=} and \texttt{frameset=} keys
+% & use |framestyle=| and |frameset=| keys
% \\\hline
% \cmd{\setrules}
-% & use \texttt{precode=}, \texttt{postcode=}, \texttt{midcode=} (also
-% \texttt{rowpercode} and \texttt{rowpostcode}) keys
+% & use |precode=|, |postcode=|, |midcode=| (also
+% |rowpercode| and |rowpostcode|) keys
% \\\hline
% \end{longtable}
%
@@ -5010,40 +6132,40 @@
% \thead{Changed to}
% \\\hline
% \endhead
-% \texttt{attachedcapstyle=} & \texttt{relatedcapstyle=}
+% |attachedcapstyle=| & |relatedcapstyle=|
% \\\hline
-% \texttt{floatstyle=} & \texttt{style=}
+% |floatstyle=| & |style=|
% \\\hline
-% \texttt{floatfont=} & \texttt{font=}
+% |floatfont=| & |font=|
% \\\hline
-% \texttt{putcaptionbeside=} & {capposition=beside}
+% |putcaptionbeside=| & |capposition=beside|
% \\\hline
-% \texttt{besidecapposition=} & \texttt{capbesideposition=}
+% |besidecapposition=| & |capbesideposition=|
% \\\hline
-% \texttt{besidecapwidth=} & \texttt{capbesidewidth=}
+% |besidecapwidth=| & |capbesidewidth=|
% \\\hline
-% \texttt{besidecapframe=} & \texttt{capbesideframe=}
+% |besidecapframe=| & |capbesideframe=|
% \\\hline
-% \texttt{floatmarginsset=} & \texttt{margins=}
+% |floatmarginsset=| & |margins=|
% \\\hline
-% \texttt{besidecapsep=} & \texttt{capbesidesep=}
+% |besidecapsep=| & |capbesidesep=|
% \\\hline
-% \texttt{Precode=} & \texttt{rowprecode=}
+% |Precode=| & |rowprecode=|
% \\\hline
-% \texttt{Postcode=} & \texttt{rowpostcode=}
+% |Postcode=| & |rowpostcode=|
% \\\hline
-% \texttt{framereduce=} & \texttt{framefit=}
+% |framereduce=| & |framefit=|
% \\\hline
% \extrarowheight0pt\begin{tabular}[t]{@{}l@{}}
-% \vphantom{(}options of \texttt{objectset=}\\\quad
-% and \texttt{margins=}\\
-% \texttt{flushleft},\\ \texttt{flushright},\\\texttt{center}
+% \vphantom{(}options of |objectset=|\\\quad
+% and |margins=|\\
+% |flushleft|,\\ |flushright|,\\|center|
% \end{tabular} &
% \extrarowheight0pt\begin{tabular}[t]{@{}l@{}}
-% \vphantom{(}options of \texttt{objectset=} and \texttt{margins=}
+% \vphantom{(}options of |objectset=| and |margins=|
% (for unification\\\quad with analogous key options in \package{caption}
% package)\\
-% \texttt{raggedright},\\ \texttt{raggedleft},\\ \texttt{centering}
+% |raggedright|,\\ |raggedleft|,\\ |centering|
% \end{tabular}
% \\\hline
% \end{longtable}
@@ -5051,31 +6173,27 @@
% \MakeShortVerb{\|}%
%
% \StopEventually{}
-% \hfuzz7pt
+% \hfuzz70pt\clearpage
%
% \section{The Code}
%
-% \subsection{The Prelude}
+% \changes{v0.2b}{2007/09/14}{The \cmd{\changes} of \texttt{v0.1}\meta{x} versions revised
+% and many of them transformed into document text.}
+%
+% \FRorisubsection{The Prelude}
%
-% \changes{v0.1a}{2004/09/28}{Since the changes of version 0.1a touched
-% a lot of package all entries of changing messages deleted.}
-% \changes{v0.1d}{2005/02/07}{Removed info, error, command macros---used
-% standard instead} The first step is to check whether \package{float} and
-% \package{rotfloat} are loaded or not. If yes, there go error messages.
-% \changes{v0.1d}{2005/02/07}{Added test for \package{rotfloat} package}
-% \changes{v0.1j}{2006/03/12}{Try to say `good bye'
-% in the case of \package{float} or/and \package{rotfloat} loaded before}
+% The first step is to check whether \package{float} and
+% \package{rotfloat} are loaded or not. If yes, there go error messages;
+% if you run through this error message \package{floatrow} loading will be skipped.
% \begin{macrocode}
%<*floatrow>
-%\@ifundefined{float@caption}{}%
-% {\PackageError{floatrow}{Do not use float package with floatrow}{}}
-%\@ifundefined{rotfloat@float}{}%
-% {\PackageError{floatrow}{Do not use rotfloat package with floatrow}{}}
\@ifundefined{float@caption}{%
\@ifundefined{rotfloat@float}{}%
- {\PackageError{floatrow}{Do not use rotfloat package with floatrow}{}%
+ {\PackageError{floatrow}{Do not use rotfloat package with floatrow.\MessageBreak
+ The latter will be skipped}{}%
\@namedef{opt@floatrow.sty}{}\endinput}}%
- {\PackageError{floatrow}{Do not use float package with floatrow}{}%
+ {\PackageError{floatrow}{Do not use float package with floatrow.\MessageBreak
+ The latter will be skipped}{}%
\@namedef{opt@floatrow.sty}{}\endinput}
% \end{macrocode}
%
@@ -5096,35 +6214,24 @@
% I hope, that moving option in this way will do not harm
% to document, but now you aware of ``non-necessity'' of loading
% of \package{rotfloat} package.
-% \changes{v0.1e}{2005/03/22}{Restoring code of emulation of loading
-% for \package{float} and \package{rotfloat} packages.}
-% \changes{v0.1f}{2005/06/14}{The version, date and description of
-% \package{float} and \package{floatrow} borrowed from originals (AS).}
-% \begin{macrocode}
-%\expandafter\let\csname ver@float.sty\expandafter\endcsname
-% \csname ver@floatrow.sty\endcsname
-%\expandafter\let\csname ver@rotfloat.sty\expandafter\endcsname
-% \csname ver@floatrow.sty\endcsname
+% \begin{macrocode}
\@namedef{ver@float.sty}{2001/11/08 v1.3d (excerpt)
Float enhancements (AL)}
\@namedef{ver@rotfloat.sty}{2004/01/04 v1.2 (excerpt)
Combining float+rotating package (AS)}
% \end{macrocode}
%
-% Here goes request for \package{keyval} package.
-% \changes{v0.1c}{2004/10/22}{Bug fix: added request for \package{keyval}
-% package.}
+% The \package{floatrow} package uses \package{keyval}'s mechanism widely.
% \begin{macrocode}
\RequirePackage{keyval}
% \end{macrocode}
%
% Here goes request for \file{caption3} file, core part of \package{caption}
-% package.
-% \changes{v0.1f}{2005/06/14}{Added request for \package{caption3} package.}
-% \changes{v0.1j}{2006/06/18}{Added date request for \package{caption3}
-% package.}
+% package (the \package{floatrow} package uses macros, similar to \package{caption}'s
+% in ``append'' mode). There is not any compatibility for versions,
+% older than \texttt{3.0q}, so in the case of older version you'll get error message
+% and skip loading of \package{floatrow}.
% \changes{v0.2a}{2007/08/24}{Added check and error message for version older 3.0q}
-% The |\caption@keydepth| is used as test for \package{caption}'s version 3.0q.
% \begin{macrocode}
\RequirePackage{caption3}
\@ifpackagelater{caption3}{2007/04/11 v3.0q}{}{\PackageError
@@ -5132,29 +6239,81 @@
version `2007/04/11 v3.0q' of package caption,\MessageBreak
but only version\MessageBreak
`\csname ver@caption.\@pkgextension\endcsname'\MessageBreak
- is available}\@eha}
+ is available}\@eha\endinput}
+% \end{macrocode}
+% This provide command loaded for compatibility with 3.0q.
+% \begin{macrocode}
\providecommand*\caption@fnum[1]{%
\caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}}
% \end{macrocode}
%
+% Here is list of macronames of \package{caption} package which are used inside \package{floatrow}.
+%\begin{Options}{/caption@setfloattype}%
+%\item[\cmd{\l@addto@macro}]local version of |\g@addto@macro|;
+%\item[\cmd{|\@nameundef}]opposite to |\@namedef| used, for example, in |\clearfloatsetup|;%^^A
+%\\[1ex]%^^A
+%\item[\cmd{\caption@fnum}]defined with |\providecommand| few lines above (for compatibility with caption 3.0q);
+%\item[\cmd{\caption@ifinlist}]widely used in key--val options (|\floatsetup| stuff);
+%\item[\cmd{\caption@setkeys}]custom definition for |\setkeys| macro: to refer to current package
+% (error messages for |\floatsetup| stuff);
+%\item[\cmd{\caption@setoptions}]used in current package to switch on necessary float settings
+% (|\floatsetup| stuff);
+%^^A\item[\cmd{\caption@set@bool}]used for boolean key options (|\floatsetup| stuff);
+%\item[\cmd{\caption@@make}]used in |\floatfoot@box| macro for building of float foots
+% (|\floatfoot| command);
+%\item[\cmd{\caption@@@make}]used during calculation of caption height or width, also used for creation of
+% caption labels only (|\floatbox| stuff);
+%\item[\cmd{\caption@lfmt}]obsolete, used together inside |\caption@@@make| macro;
+%\item[\cmd{\caption@setposition}]follows caption position options of current package
+% (|capposition| key of |\floatsetup| stuff; |\captop|, |\CAPTOP|,
+% |\capbeside| and |\nocapbeside| commands);
+%\item[\cmd{\caption@settype}]obsolete variant of |\caption@setoptions|, used for cooperation with
+% caption 3.0q;
+%\item[\cmd{\caption@setfloattype}]used in current package to switch on necessary float settings
+% (together with |\caption@setoptions|);
+%\item[\cmd{\caption@setstyle*}]used in current package to switch on necessary float settings
+% (together with |\caption@setoptions|)
+%\item[\cmd{\caption@setfont}]used for font definition in font option of current package and for definition
+% of float foot font (|font| key of |\floatsetup| stuff);%^^A
+%\\[1ex]%^^A
+%\item[\cmd{\DeclareCaptionOption}]declares |\floatfoot| font option;
+%\item[\cmd{\DeclareCaptionFont}]$\to$|\DeclareFloatFont|;
+%\item[\cmd{\DeclareCaptionJustification}]$\to$|\DeclareObjectSet|;
+%\item[\cmd{\DeclareCaptionLabelSeparator}]$\to$|\DeclareFloatSeparators|;%^^A
+%\\[1ex]%^^A
+%\item[\cmd{\caption@sty@}\meta{float style}]used in current package to switch on necessary float settings
+% (together with |\caption@setoptions|);
+%\item[\cmd{\caption@fnt}\meta{font option}]used in |\flrow@setfont|
+% (|\caption@setfont| analog);
+%\item[\cmd{\caption@hj@}\meta{justification}]used in |\flrow@FBoAlign| \\
+% (|\caption@setjustification| analog);
+%\item[\cmd{\caption@lsep@}\meta{separator}]used in |\flrow@setFRsep| \\
+% (|\caption@setlabelseparator| analog);
+%\end{Options}%
+%
% \subsection{Storing of \LaTeX's Internal Macros}
%
% \begin{macro}{\FR@flboxreset}
-% First goes storage of \LaTeX's macro |\@floatboxreset| from bundle of
-% float definitions.
+% First goes storage of \LaTeX's macros |\@floatboxreset| and |\@makecaption|
+% from bundle of float definitions.
% \begin{macrocode}
\@ifdefinable\FR@flboxreset{\let\FR@flboxreset\@floatboxreset}
+% \end{macrocode}
+% Please note, since the \package{caption3} package already loaded in this point, here are stored the
+% \package{caption}'s definition.
+% \begin{macrocode}
\@ifdefinable\FR@makecaption{\let\FR@makecaption\@makecaption}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\FB@caption}
-% Here is stored standard \LaTeX's |\caption| command (it is used for
-% caption width counting).
-% \changes{v0.1f}{2005/06/14}{Restores \LaTeX's \cmd{\caption} macro
-% (for width count)}
+% \emph{Floatrow note}. The next macro and few of others were renamed to change prefix ``|@FB|''
+% to ``|flrow@|'' to avoid possible conflict with French babel package.
+%
+% \begin{macro}{\flrow@caption}
+% Here is repeated standard \LaTeX's code of |\caption| command
+% (it is used below for caption width counting).
% \begin{macrocode}
-\newcommand\FB@caption{%
+\newcommand\flrow@caption{%
\ifx\@captype\@undefined
\@latex@error{\noexpand\caption outside float}\@ehd
\expandafter\@gobble
@@ -5166,17 +6325,17 @@
}
% \end{macrocode}
% \end{macro}
+%
% \begin{macro}{\float@caption}
-% The |\float@caption| used as flag for caption package.
-% \changes{v0.1f}{2005/06/14}{Saves \cmd{\@caption}: used as flag
-% for \package{caption}, \package{hyperref}, (\package{pdfpages}) packages.}
+% This emulation code which says to some other packages
+% that \package{float} package's mechanism is used for building of floats.
% \begin{macrocode}
\@ifdefinable\float@caption{\let\float@caption\@caption}
% \end{macrocode}
% \end{macro}
%
-% \subsection{Borrowed Code (with original comment) from \package{float}
-% package}
+% \subsection{Borrowed Code (with original comment) from The \package{float}
+% Package}
%
% From this point starts \package{float} package's core code (version 1.3).
% The necessary explanation of macro code also borrowed from \package{float}
@@ -5209,29 +6368,20 @@
% error message.
%
% \begin{macro}{\flrow@package}
-% {\em \textit{Floatrow note.} \package{float}'s error message
-% (the command \cmd{\float@error}\meta{arg}) changed to
-% \package{floatrow}'s one (\cmd{\flrow@error}\meta{arg}).}
-% \changes{v0.1k}{2007/01/20}{Added
-% macro analogous to \cmd{\caption@package}.}
+% \begin{macro}{\flrow@error}
+% {\em [floatrow] The \package{float}'s error message
+% (the command \cmd{\float@error}\meta{arg}) changed to
+% \cmd{\flrow@error}\meta{arg}. It is similar to \package{caption}'s one.
+% (First goes the command of name of package.)}
% \begin{macrocode}
\newcommand\flrow@package{floatrow}
+\newcommand*\flrow@error[1]{\PackageError\flrow@package{#1}\flrow@eh}
% \end{macrocode}
% \end{macro}
-%
-% \begin{macro}{\flrow@error}
-% \changes{v0.1k}{2007/01/20}{Created more
-% universal macro for all \cmd{\PackageError}s.}
-% \begin{macrocode}
-\newcommand*\flrow@error[1]{%
- \PackageError\flrow@package{#1}\flrow@eh}
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@eh}
-% The |\caption@eh|-analog.
-% \changes{v0.1k}{2007/01/20}{Added
-% special help for \cmd{\PackageError}s.}
+% {\em[floatrow] This is the analog of \package{caption} package's help |\caption@eh|.}
% \begin{macrocode}
\newcommand*\flrow@eh{%
If you do not understand this error, please take look\MessageBreak
@@ -5239,7 +6389,7 @@
\@ehc}
% \end{macrocode}
% \end{macro}
-%
+% Here is the \package{floatrow} package version of \package{float}'s command.
% \begin{macrocode}
\newcommand\floatstyle[1]{\@ifundefined{flrow@sty@#1}%
{\flrow@error{Unknown float style `#1'}}{\edef\float@style{#1}}}
@@ -5253,40 +6403,39 @@
% the class of floats \meta{float}. |\|\meta{float}|name| expands
% to the name that appears in \meta{float} captions, e.g., `Figure'.
% (This is our own definition.)
-% and |\@floatboxreset| macros.
% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to
-% \cs{}\meta{floatname}\texttt{name} macros redefined locally (AS).}
+% \cs{}\meta{floatname}|name| macros redefined locally (AS).}
% \begin{macrocode}
\newcommand\floatname[2]{\@namedef{#1name}{#2}}
\newcommand\floatplacement[2]{\@namedef{fps@#1}{#2}}
% \end{macrocode}
-% \emph{\textit{Floatrow note.} Here was stuff of undocumented command
-% \cmd{\floatevery} which, I suppose, allows to set special settings for
-% current type of float. In \package{floatrow} package it was deleted.
-% Use \cmd{\floatsetup} stuff instead.}
+% {\em [floatrow] 1)\enskip The definition of command name for float,
+% in the |\floatname| macro, from version \texttt{0.1p}
+% is build like |\|\meta{floatname}|name|.} \quad
+% {\em2)\nobreak\enskip Here was stuff of undocumented command
+% \cmd{\floatevery} which, I suppose, allowed to set special settings for
+% current type of float. In \package{floatrow} package it was deleted.
+% Use \cmd{\floatsetup} stuff instead.}
% \end{macro}
% \end{macro}
%
% \begin{em}
-% \textit{Floatrow note.}
-% The definitions of |\restylefloat| stuff were changed.
+% [floatrow]
+% The definitions of |\restylefloat| stuff were changed.
%
% \begin{macro}{\if@@FS}
-% The first goes flag command which, if |true|, stops repetition of float
-% layout settings.
+% The first goes flag command which, if |true|, stops repetition of float
+% layout settings.
% \begin{macrocode}
\newif\if@@FS
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FR@redefs}
-% This macro makes temporary redefinitions of |\@makecaption|
-% and |\@floatboxreset| macros.
-% \changes{v0.1f}{2005/06/14}{The \cmd{\@makecaption} and
-% \cmd{\@floatboxreset} macros redefined locally.}
+% This macro makes temporary redefinitions of |\@makecaption|
+% and |\@floatboxreset| macros.
% \begin{macrocode}
\newcommand\FR@redefs{%
-% \@namedef{fst@\@captype}{}%
% \@ifundefined{sf@end@float}{}{\let\end@float\sf@end@float}%
% \@ifundefined{sf@end@dblfloat}{}{\let\end@dblfloat\sf@end@dblfloat}%
\@ifundefined{HyOrg@float@makebox}{}%
@@ -5301,15 +6450,19 @@
% \end{macro}
%
% \begin{macro}{\flrow@makecaption}
-% In this macro the |\FBc@wd| used as flag for wrapped floats (for the
-% case when natural width of float counted).
-% \changes{v0.1f}{2005/06/14}{The \cmd{\@caption} redefinitions
-% transformed to \cmd{\@makecaption} ones.}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\FBc@wd}\cmd{\z@} works like
-% flag (for \package{wrapfig}'s floats).}
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
-% \begin{macrocode}
-\newcommand\flrow@makecaption[2]{\global\setbox\@floatcapt
+% The definition of this caption borrowed mechanism of saving caption contents
+% into special box (like in \package{float} package).
+% The |\FBc@wd| parameter here is used as flag for wrapped floats (for the
+% case when natural width of float calculated).
+% Since |\caption| stuff uses
+% |\linewidth| parameter, here it is redefined to predefined |\hsize|.
+% \changes{v0.2b}{2007/10/28}{Added check and error message for second caption outside
+% \cmd{\floatbox} command.}
+% \begin{macrocode}
+\newcommand\flrow@makecaption[2]{\ifnum\floatbox@depth=\z@
+ \ifvoid\@floatcapt
+ \else\flrow@error{Caption(s) lost}\fi\fi
+ \global\setbox\@floatcapt
\vbox\bgroup\@parboxrestore
\reset@font
\if@@FS
@@ -5320,6 +6473,11 @@
\fi
\fi
\linewidth\hsize
+% \end{macrocode}
+% The check of |\hsize| for |\sloppy| paragraph settings.
+% \changes{v0.2b}{2007/10/28}{The \cmd{\sloppy} settings added for short lines.}
+% \begin{macrocode}
+ \ifdim\hsize<70mm\sloppy\fi
\normalsize
\abovecaptionskip\z@\belowcaptionskip\z@
\FR@makecaption{#1}{#2}\egroup}
@@ -5327,136 +6485,42 @@
% \end{macro}
%
% \begin{macro}{\killfloatstyle}
-% The third one allows to define again float layout style: it could be
-% necessary in mixed float rows.
-% \changes{v0.1g}{2005/07/15}{The macro-flag \cmd{\FR@ifflenv} removed.}
-% \changes{v0.1k}{2007/01/18}{Deleted \cmd{\global}---it could make macro universal for multilevel usage.}
+% The third one allows to define again float layout style: it could be
+% necessary in mixed float rows. These redefinitions make local changes.
% \begin{macrocode}
-\newcommand\killfloatstyle{\FBbuildtrue
- \if@@FS\hsize\FB@wd\fi\@@FSfalse}
+\newcommand\killfloatstyle{\FBbuildtrue\if@@FS\hsize\FB@wd\fi\@@FSfalse}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\RawFloats}
-% This macro restores plain \LaTeX{} mode for floats. i.e. returns core
-% macros for commands of float environment.
-% Non-optional variant can be used inside environments only.
-% Variant with option better to be used in preamble. (Option allow
-% to restore plain \LaTeX{} mode for necessary float type.)
-% \changes{v0.1f}{2005/06/14}{Added Macro which restores raw float
-% behavior.}
-% \changes{v0.1g}{2005/07/15}{Added \cmd{\@parboxrestore} macro.}
-% \changes{v0.1k}{2007/01/18}{Added optional arguments which
-% allow usage of macro outside any float.}
-% \begin{macrocode}
-\newcommand\RawFloats{\@ifnextchar[%]
- \flrow@rawfloatschk\flrow@rawfloats}
-\newcommand\flrow@rawfloats{\killfloatstyle\@parboxrestore
- \let\@makecaption\FR@makecaption
- \expandafter\ifx\csname end\@captype\endcsname\float@endH
- \@namedef{end\@captype}{\FBbuildfalse\float@endH}%
- \else
- \@namedef{end\@captype}{\end@float}%
- \fi
- \@namedef{end\@captype*}{\end@dblfloat}%
- \@ifundefined{@rotfloat}{}{%
- \@namedef{endsideways\@captype}{\end@rotfloat}%
- \@namedef{endsideways\@captype*}{\end@rotdblfloat}%
- }%
- \@ifundefined{wrapfloat}{}{%
- \@namedef{endwrap\@captype}{\endwrapfloat}%
- }}
-\@ifdefinable\flrow@rawfloatschk{}
-\def\flrow@rawfloatschk[#1]{\@ifnextchar[%]
- {\flrow@RawFloats[#1]}{\flrow@@RawFloats#1,;}}
-\@ifdefinable\flrow@RawFloats{}
-\def\flrow@RawFloats[#1][#2]{\flrow@RawFloats@[#1]#2,;}
-\def\flrow@RawFloats@[#1]#2,{%
- \caption@ifinlist{#2}{float}{\@namedef{#1}{\@float{#1}}%
- }{\caption@ifinlist{#2}{widefloat,wide}{\@namedef{#1*}{%
- \let\@xdblfloat\@xfloat\@dblfloat{#1}}%
- }{\caption@ifinlist{#2}{rotfloat,rot}{%
- \@ifundefined{@rotfloat}{}{\@namedef{sideways#1}{\@rotfloat{#1}}}%
- }{\caption@ifinlist{#2}{widerotfloat,widerot}{%
- \@ifundefined{@rotfloat}{}{\@namedef{sideways#1*}{\@rotdblfloat{#1}}}%
- }{\caption@ifinlist{#2}{wrapfloat,wrap}{%
- \@ifundefined{wrapfloat}{}{\@namedef{wrap#1}{\wrapfloat{#1}}}}%
- }{\caption@ifinlist{#2}{all,allfloats}{%
- \flrow@@RawFloats{#1}%
- }{\flrow@error{Undefined float subtype `#2'}%
- }}}}}\@ifnextchar;\@gobble{\flrow@RawFloats@[#1]}}
-\@ifdefinable\flrow@@RawFloats{}
-\def\flrow@@RawFloats#1,{%
- \@namedef{#1}{\@float{#1}}%
- \@namedef{#1*}{\let\@xdblfloat\@xfloat\@dblfloat{#1}}%
- \@ifundefined{@rotfloat}{}{%
- \@namedef{sideways#1}{\@rotfloat{#1}}%
- \@namedef{sideways#1*}{\@rotdblfloat{#1}}%
- }%
- \@ifundefined{wrapfloat}{}{%
- \@namedef{wrap#1}{\wrapfloat{#1}}%
- }\@ifnextchar;\@gobble\flrow@@RawFloats
-}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\flrow@Raw@restyle}
-% \changes{v0.1k}{2007/05/24}{The key-val support for raw float mode.
-% Macro \cmd{\flrow@Raw@restyle} replaces \cmd{\flrow@restyle}}.
-% This macro is used by |rawfloats=| key.
-% \begin{macrocode}
-\newcommand\flrow@Raw@restyle[1]{%
- \@namedef{#1}{\@float{#1}}%
- \@namedef{#1*}{\@dblfloat{#1}}%
- \@namedef{end#1}{\end@float}%
- \@namedef{end#1*}{\end@dblfloat}%
- \@ifundefined{@rotfloat}{}{%
- \@namedef{sideways#1}{\@rotfloat{#1}}%
- \@namedef{sideways#1*}{\@rotdblfloat{#1}}%
- \@namedef{endsideways#1}{\end@rotfloat}%
- \@namedef{endsideways#1*}{\end@rotdblfloat}%
- }%
- \@ifundefined{wrapfloat}{}{%
- \@namedef{wrap#1}{\wrapfloat{#1}}%
- \@namedef{endwrap#1}{\endwrapfloat}%
- }%
- }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\FB@capsetup}
-% This only additional definition which is used with \package{caption} package
-% version 3.0. With this macro you may (re)define some layout settings
-% for captions.
+% \begin{macro}{\flrow@capsetup}
+% This only additional definition which is used with \package{caption} package
+% version 3.0. With this macro you may (re)define some layout settings
+% for captions.
% \begin{macrocode}
\newcommand\flrow@capsetup{}
% \end{macrocode}
% \end{macro}
%
-% Definitions of default float style.
-% \changes{v0.1d}{2005/02/07}{The \cmd{\floatstyle\{plain\}} command removed}
+% Definitions of default float style.
% \begin{macrocode}
\edef\float@style{plain}
% \end{macrocode}
%
% \begin{macro}{\FBB@wd}
-% This command stores absolute width for |\floatbox|'s |\hsize|.
-% The usage of |\FBB@wd| as command needs definitions like
-% |\edef\FBB@wd{\the\textwidth}| to get right layout in float rows
-% with |BOXED|-like layouts.
-% \changes{v0.1f}{2005/06/14}{The command is \cmd{\let} to \cmd{\relax}.}
-% \changes{v0.1g}{2005/07/15}{The macro-flag \cmd{\FR@ifflenv} removed.}
+% This command stores absolute width for |\floatbox|'s |\hsize|.
+% The usage of |\FBB@wd| as command needs definitions like
+% |\edef\FBB@wd{\the\textwidth}| to get right layout in float rows
+% with |BOXED|-like layouts. The |\relax| meaning is used as flag.
% \begin{macrocode}
\@ifdefinable\FBB@wd{\let\FBB@wd\relax}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\restylefloat}
-% The redefined \package{float} package macros to follow |\floatsetup| stuff.
+% The redefined \package{float} package macros to follow |\floatsetup| stuff.
%
-% This macro starts to work at the beginning of document, so it has tests
-% for loaded packages.
-% \changes{v0.1f}{2005/06/14}{Redefined (AS).}
+% This macro starts to work at the beginning of document, so it has tests
+% for loaded packages.
% \begin{macrocode}
\newcommand\restylefloat{%
\@ifstar{\flrow@restylefloat{no}\flrow@restyle}%
@@ -5469,57 +6533,46 @@
% \end{macro}
%
% \begin{macro}{\flrow@restyle}
-% (Just trick for other packages? Commented.)
-% \begin{macrocode}
-%\newcommand\float@restyle{}
-% \end{macrocode}
-% To avoid redefinition of this macro by other packages (e.g. \package{wrapfig},
-% which uses |\float@restyle| as recognition of \package{float} v1.3 package)
-% \package{floatrow} package uses other name.
-% \changes{v0.1f}{2005/06/14}{Added \cmd{\FR@redefs} command for local
-% redefinitions.}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\xdef}\cmd{\FBB@wd} changed to
-% \cmd{\edef}\cmd{\FBB@wd}.}
+% The command which redefines macros for building of floats in the way similar to \package{float}
+% package after |\restylefloat| macro. That means that contents of floating environment analyzed,
+% caption and foot material are saved in special box registers, then full float box is built
+% accordingly to current settings.
% \begin{macrocode}
\newcommand\flrow@restyle[1]{%
% \end{macrocode}
-% One-column float environment.
-% \changes{v0.1f}{2005/06/14}{Added \cmd{\@captype}: necessary
-% for \cmd{\FR@redefs}.}
+% One-column floating environment.
% \begin{macrocode}
\@namedef{#1}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}}%
\textwidth\columnwidth\edef\FBB@wd{\the\columnwidth}%
\FRifFBOX\@@setframe\fi\@@FStrue\@float{#1}}%
% \end{macrocode}
-% Two-column (wide) float environment.
+% Two-column (wide) floating environment.
% \begin{macrocode}
\@namedef{#1*}{\killfloatstyle\def\@captype{#1}\FR@redefs
% \end{macrocode}
-% The |\@captype| definition needed here and in next definitions to get
-% correct and non-doubled |\captionsetup| contents.
+% The |\@captype| definition needed here and in next definitions to get
+% correct and non-doubled |\captionsetup| contents.
% \begin{macrocode}
\flrow@setlist{{#1}{widefloat}{wide#1}}%
\FRifFBOX\@@setframe\fi\@@FStrue\edef\FBB@wd{\the\textwidth}%
% \end{macrocode}
-% {\sl The standard |\@xdblfloat| macro changes |\hsize| to |\textwidth|.
+% {\sl[float] The standard |\@xdblfloat| macro changes |\hsize| to |\textwidth|.
% This way is not correct so use |\@xfloat| instead.}
-% Here added flag which, if true, allows redefinition of starred float
-% environment like non-starred but with special layout. This redefinition
-% allows usage of |[H]| option.
-% \changes{v0.1k}{2007/01/18}{Added \cmd{\FR@ifdoubleaswide} flag:
-% starred floats could be used for wide alternative layout}
+% Here added flag which, if true, allows redefinition of starred float
+% environment like non-starred but with special layout. This redefinition
+% allows usage of |[H]| option.
% \begin{macrocode}
\let\@xdblfloat\@xfloat\relax
\FR@ifdoubleaswide
- \if@twocolumn\else\let\@dblfloat\@float\fi\fi
+ {\if@twocolumn\else\let\@dblfloat\@float\fi}\relax
\@dblfloat{#1}}%
\expandafter\let\csname end#1\endcsname\float@end
\expandafter\let\csname end#1*\endcsname\float@dblend
% \end{macrocode}
-% One-column rotated float environment.
-% The code contents of |\rotfloat@float| macro (\package{rotfloat} package)
-% moved here.
+% One-column rotated floating environment.
+% The code contents of |\rotfloat@float| macro (\package{rotfloat} package)
+% moved here.
% \begin{macrocode}
\@ifundefined{@rotfloat}{}{%
\@namedef{sideways#1}{\killfloatstyle\def\@captype{#1}\FR@redefs
@@ -5531,11 +6584,7 @@
\@float{#1}}%
\@namedef{endsideways#1}{\FBbuildtrue\float@end}
% \end{macrocode}
-% Two-column rotated float environment without support.
-% (The style ``support'' for non-rotated two column or wide float
-% \texttt{widefloat} and \texttt{wide}\meta{captype} was removed.)
-% \changes{v0.1d}{2005/02/07}{Restored \package{rotfloat}'s definition form
-% for wide rotated float}
+% Two-column rotated floating environment without support.
% \begin{macrocode}
\ifx\@rotdblfloat\undefined
\@namedef{sideways#1*}{%
@@ -5544,20 +6593,18 @@
\@nameuse{sideways#1}}%
\else
% \end{macrocode}
-% Two-column rotated float environment with support.
-% \changes{v0.1d}{2005/02/07}{The settings for non-rotated wide float
-% removed}
+% Two-column rotated floating environment with support.
% \begin{macrocode}
\@namedef{sideways#1*}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}{rotfloat}{rot#1}{widerotfloat}{widerot#1}}%
\columnwidth\textheight\edef\FBB@wd{\the\textheight}%
\FRifFBOX\@@setframe\fi\@@FStrue
% \end{macrocode}
-% {\sl The standard |\@xdblfloat| macro changes |\hsize| to |\textwidth|.
+% {\sl[float] The standard |\@xdblfloat| macro changes |\hsize| to |\textwidth|.
% This way is not correct so use |\@xfloat| instead.}
%
-% The code contents of |\rotfloat@dblfloat| macro (\package{rotfloat}
-% package) moved here.
+% The code contents of |\rotfloat@dblfloat| macro (\package{rotfloat}
+% package) moved here.
% \begin{macrocode}
\let\@xdblfloat\@xfloat
\let\rotfloat@@makebox\float@makebox
@@ -5566,7 +6613,7 @@
\fi
\@namedef{endsideways#1*}{\FBbuildtrue\float@dblend}}
% \end{macrocode}
-% Wrapped float environment from \package{wrapfig} package.
+% Wrapped floating environment from \package{wrapfig} package.
% \begin{macrocode}
\@ifundefined{wrapfloat}{}{%
\@ifundefined{flrow@WF@rapt}{\let\flrow@WF@rapt\WF@rapt
@@ -5584,21 +6631,19 @@
}{}%
\@namedef{wrap#1}{\killfloatstyle\def\@captype{#1}%
% \end{macrocode}
-% ^^A The \cmd{\FloatHBarrier} for \package{flafplins}.
-% ^^A \changes{v0.1j}{2006/03/12}{Added \cmd{\FloatHBarrier} in wrapfloat}
+% ^^A The \cmd{\FloatHBarrier} for \package{flafplins}.
+% ^^A \changes{v0.1j}{2006/03/12}{Added \cmd{\FloatHBarrier} in wrapfloat}
% \begin{macrocode}
\FR@redefs\FBc@wd\z@
\flrow@setlist{{#1}{wrapfloat}{wrap#1}}%
% \end{macrocode}
-% Here repeated code from |\float@end| and |\float@dblend|: check whether
-% |\floatbox| stuff appeared or not.
-% \changes{v0.1f}{2005/06/14}{The \cmd{\ifFBbuild} flag added: here is
-% not used \cmd{\float@end} command and so on. }
+% Here is the repeated code from |\float@end| and |\float@dblend|: check whether
+% |\floatbox| stuff appeared or not.
% \begin{macrocode}
\def\WF@floatstyhook{\let\@currbox\WF@box
\ifFBbuild
% \end{macrocode}
-% (|^^A|---The attempts to arrange the widths of Boxed wrapped floats.)
+% (|^^A|---The attempts to arrange the widths of Boxed wrapped floats.)
% \begin{macrocode}
%^^A \adj@dim\hsize+\FB@wadj=\hsize
%^^A \adj@dim\hsize+\FBo@wadj=\hsize
@@ -5615,18 +6660,133 @@
%^^A \@namedef{endwrap#1}{\ifdim\hsize>\z@
%^^A \adj@dim\hsize+\FBo@wadj=\hsize\fi\endwrapfloat}}
% \end{macrocode}
-% At last definitions for new subfloat numeration for \package{subfig} package.
-% The subfloats for figures and tables (|\c@subfigure| and |\c@subtable|)
-% already defined: so at first goes check, whether defined this command for
-% subfloat (suggestions of Steven Cochran ).
-% \changes{v0.1f}{2005/06/14}{Added check/filter for already created
-% subfigures and subtables (SC).}
-% \changes{v0.1k}{2007/05/24}{The check macro for subfig package
-% changed.}
+% At last the definitions for new subfloat numeration for \package{subfig} package.
+% The subfloats for figures and tables (|\c@subfigure| and |\c@subtable|)
+% already defined: so at first goes check, whether defined this command for
+% subfloat (suggestions of Steven Cochran).
% \begin{macrocode}
\@ifundefined{sf@@@subfloat}{}{\@ifundefined{c@sub#1}{\newsubfloat{#1}}{}}}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\RawFloats}
+% This macro restores plain \LaTeX{} mode for floats. i.e. returns core
+% macros for commands of floating environment.
+% Non-optional variant can be used inside environments only.
+% Variant with option better to be used in preamble. (Option allow
+% to restore plain \LaTeX{} mode for necessary float type.)
+% \begin{macrocode}
+\newcommand\RawFloats{\@ifnextchar[%]
+ \flrow@rawfloatschk\flrow@rawfloats}
+% \end{macrocode}
+% The macro for usage inside one environment. It redefines only |\end|\meta{float type}
+% commands to \LaTeX's standard behavior.
+% \begin{macrocode}
+\newcommand\flrow@rawfloats{\killfloatstyle\@parboxrestore
+ \let\@makecaption\FR@makecaption
+ \expandafter\ifx\csname end\@captype\endcsname\float@endH
+ \global\FBbuildfalse
+ \else
+ \@namedef{end\@captype}{\end@float}%
+ \fi
+ \expandafter\ifx\csname end\@captype*\endcsname\float@endH
+ \global\FBbuildfalse
+ \else
+ \@namedef{end\@captype*}{\end@dblfloat}%
+ \fi
+ \@ifundefined{@rotfloat}{}{%
+ \@namedef{endsideways\@captype}{\end@rotfloat}%
+ \@namedef{endsideways\@captype*}{\end@rotdblfloat}%
+ }%
+ \@ifundefined{wrapfloat}{}{%
+ \@namedef{endwrap\@captype}{\endwrapfloat}%
+ }}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@ifdefinable\flrow@rawfloatschk{}
+\def\flrow@rawfloatschk[#1]{\@ifnextchar[%]
+ {\flrow@RawFloats[#1]}{\flrow@@RawFloats#1,;}}
+% \end{macrocode}
+%
+% The next two macros redefine the |\|\meta{float type} commands. The |\end|\meta{float type}
+% in this case won't touched at all. Since at the beginning of document all float commands
+% redefined accordingly to \package{floatrow} package's settings, the |\flrow@raw@set|
+% command is used: in the preamble area it works like |\AtBeginDocument| macro, in the
+% |document| area it simply runs its argument.
+% \changes{v0.2b}{1007/10/24}{Added \cmd{\flrow@raw@set} command to allow usage of \cmd{\RawFloats}
+% both in the preamble and in the document areas.}
+% \begin{macrocode}
+\@ifdefinable\flrow@RawFloats{}
+\newcommand\flrow@raw@set{\AtBeginDocument}
+\AtBeginDocument{\let\flrow@raw@set\@firstofone}
+\def\flrow@RawFloats[#1][#2]{\flrow@RawFloats@[#1]#2,;}
+\def\flrow@RawFloats@[#1]#2,{%
+ \caption@ifinlist{#2}{float}{\flrow@raw@set
+ {\@namedef{#1}{\@float{#1}}}%
+ }{\caption@ifinlist{#2}{widefloat}{\flrow@raw@set%
+ {\@namedef{#1*}{\let\@xdblfloat\@xfloat\@dblfloat{#1}}}%
+ }{\caption@ifinlist{#2}{rotfloat}{%
+ \@ifundefined{@rotfloat}{}{\flrow@raw@set
+ {\@namedef{sideways#1}{\@rotfloat{#1}}}}%
+ }{\caption@ifinlist{#2}{widerotfloat}{%
+ \@ifundefined{@rotfloat}{}{\flrow@raw@set
+ {\@namedef{sideways#1*}{\@rotdblfloat{#1}}}}%
+ }{\caption@ifinlist{#2}{wrapfloat}{%
+ \@ifundefined{wrapfloat}{}{\flrow@raw@set
+ {\@namedef{wrap#1}{\wrapfloat{#1}}}}}%
+ }{\caption@ifinlist{#2}{all,allfloats}{%
+ \flrow@@RawFloats{#1}%
+ }{\flrow@error{Undefined float subtype `#2'}%
+ }}}}}\@ifnextchar;\@gobble{\flrow@RawFloats@[#1]}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@ifdefinable\flrow@@RawFloats{}
+\def\flrow@@RawFloats#1,{%
+ \flrow@raw@set{\@namedef{#1}{\@float{#1}}%
+ \@namedef{#1*}{\let\@xdblfloat\@xfloat\@dblfloat{#1}}%
+ \@ifundefined{@rotfloat}{}{%
+ \@namedef{sideways#1}{\@rotfloat{#1}}%
+ \@namedef{sideways#1*}{\@rotdblfloat{#1}}%
+ }%
+ \@ifundefined{wrapfloat}{}{%
+ \@namedef{wrap#1}{\wrapfloat{#1}}}%
+ }\@ifnextchar;\@gobble\flrow@@RawFloats
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\flrow@Raw@restyle}
+% This macro is used by |rawfloats=| key. If this key is true, it replaces
+% the |\flrow@restyle| command when definitions of float run.
+% \begin{macrocode}
+\newcommand\flrow@Raw@restyle[1]{%
+ \@namedef{#1}{\@float{#1}}%
+ \@namedef{#1*}{\@dblfloat{#1}}%
+ \@namedef{end#1}{\end@float}%
+ \@namedef{end#1*}{\end@dblfloat}%
+ \@ifundefined{@rotfloat}{}{%
+ \@namedef{sideways#1}{\@rotfloat{#1}}%
+ \@namedef{sideways#1*}{\@rotdblfloat{#1}}%
+ \@namedef{endsideways#1}{\end@rotfloat}%
+ \@namedef{endsideways#1*}{\end@rotdblfloat}%
+ }%
+ \@ifundefined{wrapfloat}{}{%
+ \@namedef{wrap#1}{\wrapfloat{#1}}%
+ \@namedef{endwrap#1}{\endwrapfloat}%
+ }%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\RawCaption}
+% The command of caption which doesn't use box register.
+% \begin{macrocode}
+\newcommand\RawCaption[1]{{\let\@makecaption\FR@makecaption #1}}
+% \end{macrocode}
+% \end{macro}
+%
% \end{em}
%
% \begin{macro}{\newfloat}
@@ -5638,10 +6798,9 @@
% \begin{macrocode}
\@ifdefinable\float@exts{\newtoks\float@exts}
% \end{macrocode}
-% {\em \textit{Floatrow note.}
-% The |\newfloat| changed and uses |\floatsetup| stuff (redefined by
-% suggestions of Axel Sommerfeldt).}
-% \changes{v0.1f}{2005/06/14}{Redefinition (AS).}
+% {\em [floatrow]
+% The |\newfloat| changed and uses |\floatsetup| stuff (redefined by
+% suggestions of Axel Sommerfeldt).}
% \begin{macrocode}
\newcommand\newfloat{\@ifstar{\flrow@restylefloat{no}\newfloat@}%
{\flrow@restylefloat{yes}\newfloat@}}
@@ -5656,8 +6815,8 @@
% \end{macro}
%
% \begin{macro}{\float@newx}
-% {\em \textit{Floatrow note.} Macro |\float@newx|, which defines a new float
-% counter, was removed. It was replaced by |\DeclareNewFloatType| stuff.}
+% {\em [floatrow] Macro |\float@newx|, which defines a new float
+% counter, was removed. It was replaced by |\DeclareNewFloatType| stuff.}
% \end{macro}
%
% \subsubsection{The \package{float} Package: Adapting \LaTeX\ Internals}
@@ -5684,9 +6843,9 @@
\def\@xfloat#1[{\@ifnextchar{H}{\@float@HH{#1}[}{\@float@Hx{#1}[}}
% \end{macrocode}
% \end{macro}
-% {\em\textit{Floatrow note}. Since \package{floatrow} always uses float style,
-% the stuff of flag \cmd{\@flstyle} (which sets whether use or not any
-% predefined float style) moved out.}
+% {\em[floatrow] Since \package{floatrow} always uses float style,
+% the stuff of flag \cmd{\@flstyle} (which sets whether use or not any
+% predefined float style) moved out.}
%
% Later on we'll need a box to save a |[H]| float.
% \begin{macrocode}
@@ -5694,29 +6853,28 @@
% \end{macrocode}
%
% \begin{macro}{\@float@HH}
-% First gobble the |[H]|. Note that \texttt{H} should not be used in
+% First gobble the |[H]|. Note that |H| should not be used in
% conjunction with the other placement options, nor as the value of the
% default placement, as set in |\fps@|{\it type}.
% \begin{macrocode}
\def\@float@HH#1[H]{%
% \end{macrocode}
-%^^A {\em\textit{Floatrow note}. If we want to put barrier
-%^^A (i.e. use beta-package \package{flafplins}).}
-% \changes{v0.1j}{2006/03/12}{Added \cmd{\FloatHBarrier}}
+% ^^A {\em[floatrow] If we want to put barrier
+% ^^A (i.e. use beta-package \package{flafplins}).}
+% ^^A \changes{v0.1j}{2006/03/12}{Added \cmd{\FloatHBarrier}}
% \begin{macrocode}
\@ifundefined{FloatHBarrier}{}\FloatHBarrier
% \end{macrocode}
-% Locally redefine the end of the environment.
-% \changes{v0.1k}{2007/05/24}{Added \cmd{\FR@ifdoubleaswide} to allow usage of [H] option in wide floats}
+% {\em[floatrow] Locally redefine the end of the environment. To allow usage of |[H]| option in wide floats
+% i.e. starred environments in one-column layout there is added the \cmd{\FR@ifdoubleaswide} flag.}
% \begin{macrocode}
\expandafter\let\csname end#1\endcsname\float@endH
\FR@ifdoubleaswide
- \expandafter\let\csname end#1*\endcsname\float@endH
- \fi
+ {\expandafter\let\csname end#1*\endcsname\float@endH}\relax
% \end{macrocode}
% We don't get a |\@currbox| if we don't actually use the float mechanism.
% Therefore we fake one using the |\float@box| defined above.
-% \changes{v0.1h}{2005/10/25}{Added special settings for H-floats}
+% {\em[floatrow] The special settings for H-floats |floatH| were added.}
% \begin{macrocode}
\let\@currbox\float@box
\flrow@setlist{{floatH}{#1H}}%
@@ -5728,16 +6886,14 @@
% |\parindent| is set to zero for compatibility with the standard
% \texttt{[h]} option.
%
-% \emph{Floatrow note.
-% Since \package{floatrow} always uses preloaded style
-% the stuff of flag \cmd{\@flstyle} moved out.}
+% {\em [floatrow]
% Here added zeroing of list margins in the case of appearance of |\floatbox|
% inside list environment.
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
-% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance
-% of \cmd{\floatbox} inside list environment.}
+% Also the settings for \verb|\linewidth| and were zeroed
+% margins were added for the case of appearance
+% of \verb|\floatbox| inside list environment.}
% \begin{macrocode}
- \def\@captype{#1}\setbox\@floatcapt=\vbox{}%
+ \def\@captype{#1}%\setbox\@floatcapt=\vbox{}%
\setbox\@currbox\color@vbox\normalcolor
\vbox\bgroup
\hsize\columnwidth
@@ -5754,32 +6910,28 @@
%
% \begin{em}
% \begin{macro}{\flrow@flboxreset}
-% \textit{Floatrow note.}
-% The stuff of |\@floatboxreset| changed.
-% At first goes original \LaTeX's macro |\@floatboxreset| saved as
-% |\FR@flboxreset| at the beginning of package.
-% Then goes flag for facing layout and command which inputs references from
-% \texttt{aux}-file and temporary settings. At last \package{floatrow} looks
-% whether caption stays above/below object, or beside and chooses necessary
-% macro of width counting.
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
-% \changes{v0.1f}{2005/06/14}{This macro is redefined to
-% \cmd{\@floatboxreset} inside floats.}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\capstart} stuff loaded here.}
+% [floatrow]
+% The stuff of |\@floatboxreset| changed.
+% At first goes original \LaTeX's macro |\@floatboxreset| saved as
+% |\FR@flboxreset| at the beginning of package.
+% Then goes flag for facing layout and command which inputs references from
+% |aux|-file and temporary settings. At last \package{floatrow} looks
+% whether caption stays above/below object, or beside and chooses necessary
+% macro of width counting.
% \begin{macrocode}
\newcommand\flrow@flboxreset{\FR@flboxreset
\@ifundefined{capstart}{}{\capstart}%
- \FB@facing\@tempswafalse\FBiffacing\@tempswatrue\fi
+ \FB@facing\@tempswafalse\FR@iffacing\@tempswatrue\relax
\if@tempswa\FB@readaux{\relax}\fi
\global\let\FBcheight\relax\global\let\FBoheight\relax
\global\let\FBfheight\relax
\FBifcapbeside\FC@fs@wd\else\FB@fs@wd\fi
\the\FR@everyfloat}
% \end{macrocode}
-% The definition of three height commands as |\relax|.
-% We define \emph{height} arguments of caption,
-% object, and foot boxes as |\relax| which (like in \env{minipage}
-% environment or in |\parbox|) mean usage of natural height of components.
+% The definition of three height commands as |\relax|.
+% We define \emph{height} arguments of caption,
+% object, and foot boxes as |\relax| which (like in |minipage|
+% environment or in |\parbox|) mean usage of natural height of components.
% \begin{macrocode}
\@ifdefinable\FBcheight{\let\FBcheight\relax}
\@ifdefinable\FBoheight{\let\FBoheight\relax}
@@ -5788,12 +6940,11 @@
% \end{macro}
%
% \begin{macro}{\FB@fs@wd}
-% The width settings for float box with caption above or below object.
+% The width settings for float box with caption above or below object.
% \begin{macrocode}
\newcommand\FB@fs@wd{\@tempdima\FBB@wd
% \end{macrocode}
-% The |\flrow@setwd| could define the width for current float.
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
+% The |\flrow@setwd| could define the width for current float.
% \begin{macrocode}
\flrow@setwd\textwidth\@tempdima
\adj@dim\@tempdima-\FB@wadj=\@tempdima
@@ -5803,7 +6954,7 @@
\adj@dim\@tempdima-\FBo@wadj={\global\FBo@wd}%
\hsize\FBo@wd\linewidth\hsize
\FBifcaptop
- \ifnum\FPOScnt=0\columnwidth\hsize\else\columnwidth\FBc@wd\fi
+ \ifnum\FPOScnt=\z@\columnwidth\hsize\else\columnwidth\FBc@wd\fi
\else
\columnwidth\FBc@wd
\fi}
@@ -5811,8 +6962,7 @@
% \end{macro}
%
% \begin{macro}{\FC@fs@wd}
-% The width settings for float box with caption beside object.
-% \changes{v0.1d}{2005/02/07}{Settings for beside float moved outside group}
+% The width settings for float box with caption beside object.
% \begin{macrocode}
\newcommand\FC@fs@wd{\@tempdima\FBB@wd\flrow@FClist
\settowidth\@tempdimb{{\FCleftmargin}{\FCrightmargin}}%
@@ -5821,17 +6971,17 @@
\settowidth\@tempdimb{{\floatcapbesidesep}}%
\advance\@tempdima-\@tempdimb
% \end{macrocode}
-% This flag controls predefined width of caption.
+% This flag controls predefined width of caption.
% \begin{macrocode}
\FC@ifc@wd
\ifx\FCwidth\relax
\flrow@error{You didn't define width of caption\MessageBreak
- for plain float environment.}%
+ for plain floating environment.}%
\else
\global\FBc@wd=\FCwidth
% \end{macrocode}
-% This flag controls whether to fill rest space of float box with object
-% contents when caption width was predefined.
+% This flag controls whether to fill rest space of float box with object
+% contents when caption width was predefined.
% \begin{macrocode}
\FC@ifo@fil\advance\@tempdima-\FBc@wd\fi
\fi
@@ -5840,8 +6990,7 @@
\fi
\FC@ifo@fil\else\@tempdima.5\@tempdima
% \end{macrocode}
-% The |\flrow@setwd| could define the width for followed float.
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
+% The |\flrow@setwd| could define the width for followed float.
% \begin{macrocode}
\flrow@setwd\FB@wd\@tempdima\fi
\adj@dim\@tempdima-\FBo@wadj={\global\FBo@wd}%
@@ -5863,81 +7012,60 @@
% we can control the position of the caption by the float style,
% regardless of where the caption appears in the float's input text itself.
%
-% {\em [\ldots] \textit{Floatrow note.} Skipped explanation.}
+% {\em [floatrow \ldots Skipped explanation of float package.]}
%
% \begin{em}
-% \textit{Floatrow note.}
-% Macro |\float@makebox| was redefined to fit more float object---caption
-% combinations. There was created the |\float@makebox| stuff.
-% First goes changed \package{float} |\float@makebox| which loads necessary
-% layout macro for above/below or beside captions.
+% [floatrow]
+% Macro |\float@makebox| was redefined to fit more float object---caption
+% combinations. There was created the |\float@makebox| stuff.
+% First goes changed \package{float} |\float@makebox| which loads necessary
+% layout macro for above/below or beside captions.
%
-% The |\float@makebox| stuff includes |\FB@foot| macro
-% to allow usage of |\floatfoot| (any foot non-caption material)
-% and |\footnotetext| stuff inside float environment in minipage-like mode.
+% The |\float@makebox| stuff includes |\FB@foot| macro
+% to allow usage of |\floatfoot| (any foot non-caption material)
+% and |\footnotetext| stuff inside floating environment in minipage-like mode.
%
-% \changes{v0.1d}{2005/02/07}{Bug fix: \cmd{\FBiffloatrow} deleted}
% \begin{macrocode}
\newcommand\float@makebox[1]{%
\FBifcapbeside\flrow@FC{#1}\else\flrow@FB{#1}\fi}
% \end{macrocode}
-% The definitions of vertical fine tuning corrections.
-% \changes{v0.1d}{2005/02/07}{Added vert skips (\cmd{\FBaskip},
-% \cmd{\FBbskip}) for layout fine tuning}
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
-% \changes{v0.1d}{2005/02/07}{\cmd{\begin@FBBOX}\dots\cmd{\end@FBBOX}
-% moved to \cmd{\flrow@makebox}}
+% The definitions of vertical fine tuning corrections.
% \begin{macrocode}
\newcommand\FBaskip{\z@}\newcommand\FBbskip{\z@}
\newif\ifFBbuild\FBbuildtrue
% \end{macrocode}
% \begin{macro}{\flrow@FB}
-% The macro of |\float@makebox| stuff which builds float box with
-% above/below caption.
-% Here added zeroing of list margins in the case of appearance of |\floatbox|
-% inside list environment.
-% \changes{v0.1f}{2005/06/14}{The argument used for defining of
-% dimension---restored for (\package{float}) compatibility with
-% \package{hyperref} package.}
-% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance
-% of \cmd{\floatbox} inside list environment.}
+% The macro of |\float@makebox| stuff which builds float box with
+% above/below caption.
+% Here added zeroing of list margins in the case of appearance of |\floatbox|
+% inside list environment.
% \begin{macrocode}
\newcommand\flrow@FB[1]{\vbox{\@tempdima=#1\vskip\FBaskip
\@parboxrestore\leftmargin\z@\rightmargin\z@
\hbox to\@tempdima{\def\FB@zskip{\vskip\z@}%
\FBleftmargin\flrow@FB@\FBrightmargin}%
- \FBiffacing\FB@writeaux{\string\global\string\c@FBcnt\thepage}\fi
+ \FR@iffacing{\FB@writeaux{\string\global\string\c@FBcnt\thepage}}\relax
\gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}%
\vskip\FBbskip\gdef\FBaskip{\z@}\gdef\FBbskip{\z@}}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@FC}
-% Definition of float with beside caption.
-% \changes{v0.1f}{2005/06/14}{The argument used for defining of
-% dimension---restored for (\package{float}) compatibility with
-% \package{hyperref} package.}
-% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance
-% of \cmd{\floatbox} inside list environment.}
-% Here added zeroing of list margins in the case of appearance of |\floatbox|
-% inside list environment.
+% Definition of float with beside caption.
+% Here added zeroing of list margins in the case of appearance of |\floatbox|
+% inside list environment.
% \begin{macrocode}
\newcommand\flrow@FC[1]{\vbox{\@tempdima=#1\@parboxrestore
\leftmargin\z@\rightmargin\z@\flrow@FClist\vskip\FBaskip
\hbox to\@tempdima{\FCleftmargin\flrow@FC@\FCrightmargin}%
- \FBiffacing\FB@writeaux{\string\global\string\c@FBcnt\thepage}\fi
+ \FR@iffacing{\FB@writeaux{\string\global\string\c@FBcnt\thepage}}\relax
\nocapbeside\global\let\FCwidth\relax
\vskip\FBbskip\gdef\FBaskip{\z@}\gdef\FBbskip{\z@}}}
% \end{macrocode}
% \end{macro}
-% These macros define box,
-% which is changed accordingly for creation of axis at the top, bottom,
-% or center of boxes.
-% \changes{v0.1d}{2005/02/07}{Added vertical skips (\cmd{\FBaskip},
-% \cmd{\FBbskip}) for layout fine tuning}
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
-% \changes{v0.1d}{2005/02/07}{Settings for beside caption removed
-% (they were set outside group somewhere above)}
+% These macros define box,
+% which is changed accordingly for creation of axis at the top, bottom,
+% or center of boxes.
% \begin{macrocode}
\newcommand\FCc@box[1]{\def\@parboxto{}\FC@bbox#1\FC@ebox}
\newcommand\FC@bbox{\vbox\@parboxto\bgroup}
@@ -5945,9 +7073,8 @@
\newcommand\FCo@box[1]{\def\@parboxto{}\ifx\FBoheight\relax\FC@bbox\else
\def\@parboxto{to\FBoheight}\FC@bbox\vsize\FBoheight\fi#1\FC@ebox}
% \end{macrocode}
-% Definitions for fill material for vertical alignment and command with
-% width settings of boxes.
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
+% Definitions for fill material for vertical alignment and command with
+% width settings of boxes.
% \begin{macrocode}
\newcommand\FBafil{\vfill}\newcommand\FBbfil{\vfill}
\newcommand\FBw@box[1]{\hsize#1\columnwidth#1\linewidth#1%
@@ -5960,14 +7087,11 @@
%
% \begin{macro}{\flrow@FB@}
% \begin{macro}{\flrow@FC@}
-% |\float@makebox|-like macros for usage inside float row
-% (they don't create any left/right fill material).
+% |\float@makebox|-like macros for usage inside float row
+% (they don't create any left/right fill material).
%
-% First macro builds box with caption above/below.
-% \changes{v0.1d}{2005/02/07}{\cmd{\begin@FBBOX}\dots\cmd{\end@FBBOX}
-% moved to \cmd{\flrow@makebox}}
-% \changes{v0.1f}{2005/06/14}{New design implementation for
-% \cmd{\captionof}-like stuff?}
+% First macro builds box with caption above/below.
+% At first we reset temporary definitions for current float.
% \begin{macrocode}
\newcommand\flrow@FB@{\global\let\flrow@typ@tmpset\undefined
\FB@frame{\begin@FBBOX
@@ -5977,77 +7101,75 @@
\def\@@FBskip{}\let\FBo@frame\@gobble
\fi
% \end{macrocode}
-% Here added zeroing of list margins in the case of appearance of |\floatbox|
-% inside list environment.
-% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance
-% of \cmd{\floatbox} inside list environment.}
+% Here added zeroing of list margins in the case of appearance of |\floatbox|
+% inside list environment.
% \begin{macrocode}
\@parboxrestore\leftmargin\z@\rightmargin\z@
\@@FBabove
\FBifcaptop
% \end{macrocode}
-% If needed and exists---caption box above float object.
-% If key \texttt{footposition=caption} under caption loaded
-% foot material.
+% If needed and exists---caption box above float object.
+% If key |footposition=caption| under caption loaded
+% foot material.
% \begin{macrocode}
\ifvoid\@floatcapt\else
\FB@vbox\FBc@wd\FBcheight{\FBifCAPTOP\else\vfill\fi
\unvbox\@floatcapt
- \ifnum\FPOScnt=1\vbox{\FB@foot}\fi\vfil}%
+ \ifnum\FPOScnt=\@ne\vbox{\FB@foot}\fi\vfil}%
\@@FBskip\hrule\@height\z@\@depth\z@
\fi
% \end{macrocode}
-% Box of float object. If key \texttt{footposition=default}
-% foot material loaded in the bottom of float object box. In the case of
-% \texttt{footposition=fott} foot material loads after float object box.
+% Box of float object. If key |footposition=default|
+% foot material loaded in the bottom of float object box. In the case of
+% |footposition=foot| foot material loads after float object box.
% \begin{macrocode}
\vtop{\vskip\z@\FBo@frame{\FB@vtop\FBo@wd\FBoheight
{\FBafil\unvbox\@currbox\FBbfil
% \end{macrocode}
-% The zero vertical skip must be here in any case.
+% The zero vertical skip must be here in any case.
% \begin{macrocode}
\vskip\z@
- \ifnum\FPOScnt=0
+ \ifnum\FPOScnt=\z@
\FB@vtop\FBo@wd\FBfheight{\FB@foot\vfil}\fi}}\par
\par\vskip\z@
- \ifnum\FPOScnt=2\vskip\z@
+ \ifnum\FPOScnt=\tw@\vskip\z@
\FB@vtop\FBc@wd\FBfheight{\FB@foot\vfil}\fi}%
% \end{macrocode}
-% If needed and exists---caption box below float object.
-% If key \texttt{footposition=default} or \texttt{footposition=caption}
-% foot material loaded under caption contents.
+% If needed and exists---caption box below float object.
+% If key |footposition=default| or |footposition=caption|
+% foot material loaded under caption contents.
% \begin{macrocode}
- \else\ifnum\FPOScnt=0\FPOScnt=1\fi
+ \else\ifnum\FPOScnt=\z@\FPOScnt=\@ne\fi
\FBo@frame{\FB@vbox\FBo@wd\FBoheight{\FBafil
\unvbox\@currbox\FBbfil}}\par
\ifvoid\@floatcapt\else
\@@FBskip\hrule\@height\z@\@depth\z@
\FB@vtop\FBc@wd\FBcheight{\hsize\columnwidth\unvbox\@floatcapt
- \ifnum\FPOScnt=1\vtop{\FB@foot}\fi\par
+ \ifnum\FPOScnt=\@ne\vtop{\FB@foot}%
+ \fi\par
% \end{macrocode}
-% The |\vss| glue appears here because the included box with foot material
-% sometimes creates a small overfull in float rows and crashes alignment of
-% \texttt{postcode=} material.
+% The |\vss| glue appears here because the included box with foot material
+% sometimes creates a small overfull in float rows and crashes alignment of
+% |postcode=| material.
+% \changes{v0.2b}{2007/10/28}{Caption box deleted if still exists.}
% \begin{macrocode}
\vfill\vskip\z@\vss
\ifnum\FPOScnt=2\FB@vtop\FBc@wd\FBfheight{\FB@foot\vfil}\fi
}\fi
- \fi\@@FBbelow\FB@zskip\end@FBBOX}}
+ \fi\@@FBbelow\FB@zskip\end@FBBOX
+ \global\setbox\@floatcapt\box\voidb@x}}
% \end{macrocode}
-% Second internal macro for float row builds float box with beside caption.
-% \changes{v0.1e}{2005/03/22}{Sorting \cmd{\floatfacing} command to use
-% separate parameters for building of beside caption layout and float
-% environment margins.}
+%
+% Second internal macro for float row builds float box with beside caption.
+% At first we reset temporary definitions for current float.
% \begin{macrocode}
\newcommand\flrow@FC@{\global\let\flrow@typ@tmpset\undefined
\FB@frame{\begin@FBBOX
\adj@dim\FBo@wd+\FBo@wadj=\hsize
\settowidth\@tempdimb{\floatcapbesidesep}\advance\hsize\@tempdimb
% \end{macrocode}
-% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance
-% of \cmd{\floatbox} inside list environment.}
-% Here added zeroing of list margins in the case of appearance of |\floatbox|
-% inside list environment.
+% Here added zeroing of list margins in the case of appearance of |\floatbox|
+% inside list environment.
% \begin{macrocode}
\advance\hsize\FBc@wd\@parboxrestore\leftmargin\z@\rightmargin\z@
\@@FBabove
@@ -6056,8 +7178,9 @@
\FCc@box{\FBw@box\FBc@wd\unvbox\@floatcapt\FB@foot}%
\floatcapbesidesep\fi
% \end{macrocode}
-% |\FBf@raise| uses |\raisebox| correction to align top (bottom) of caption
-% text with top (bottom) of object frame.
+% |\FBf@raise| uses |\raisebox| correction to align top (bottom) of caption
+% text with top (bottom) of object frame.
+% \changes{v0.2b}{2007/10/28}{Caption box deleted if still exists.}
% \begin{macrocode}
\FBf@raise{\FBo@frame{\FCo@box{\FBw@box\FBc@wd\unvbox\@currbox}}}}%
{\FBf@raise{\FBo@frame{\FCo@box{\FBw@box\FBo@wd\unvbox\@currbox}}}%
@@ -6065,9 +7188,10 @@
\floatcapbesidesep\FCc@box{\FBw@box\FBc@wd
\unvbox\@floatcapt\FB@foot}\fi
}}\par\@@FBbelow\vskip\z@
- \end@FBBOX}}
+ \end@FBBOX
+ \global\setbox\@floatcapt\box\voidb@x}}
% \end{macrocode}
-% Macro for foots and command for skip outside float row.
+% Macro for foots and command for skip outside float row.
% \begin{macrocode}
\newcommand\FB@foot{\let\FR@ifFOOT\iftrue\FB@putfoots\@@par\FB@putfnotes}
\newcommand\FB@zskip{}
@@ -6078,7 +7202,7 @@
% \end{macro}
%
% \begin{macro}{\float@end}
-% The internal macro |\end@float| appears here under the name of
+% [float] The internal macro |\end@float| appears here under the name of
% |\float@end|. The main thing which is changed is that we call
% |\float@makebox| to reconstruct the float according to the float style.
% We want to do exactly what the \LaTeX\ kernel does without copying
@@ -6091,14 +7215,12 @@
% matter since we're in a group anyway (we wanted to keep the style
% commands local), so everything is undone at the end of the environment.
%
-% {\em \textit{Floatrow note.}
-% Added flag |\ifFBbuild| for float box layout building.
-% This flag stops repeated usage of |\float@makebox| after |\floatbox|
-% in |\float@end|, |\float@endH| and
-% |\float@dblend| macros and, if \package{rotating} used,
-% in replaces usage of |\float@makebox| to \LaTeX's standard box |\@currbox|
-% |\rotfloat@makebox| and |\rotfloat@dblmakebox| commands.}
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
+% {\em [floatrow] Added flag |\ifFBbuild| for float box layout building.
+% This flag stops repeated usage of |\float@makebox| after |\floatbox|
+% in |\float@end|, |\float@endH| and
+% |\float@dblend| macros and, if \package{rotating} used,
+% in replaces usage of |\float@makebox| to \LaTeX's standard box |\@currbox|
+% |\rotfloat@makebox| and |\rotfloat@dblmakebox| commands.}
% \begin{macrocode}
\newcommand\float@end{\ifFBbuild\@endfloatbox
\global\setbox\@currbox\float@makebox\columnwidth
@@ -6112,26 +7234,20 @@
% deal correctly with a non-floating float, inserting the proper amounts
% of white space above and below.
%
-% {\em \textit{Floatrow note.}
-% Added flag |\ifFBbuild| for float box layout building.
-% This flag stops repeated usage of |\float@makebox| after |\floatbox|.}
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
-% \changes{v0.1h}{2005/10/25}{Added penalties \cmd{\@beginparpenalty}
-% and \cmd{\@endparpenalty}}
-% \changes{v0.1k}{2007/01/14}{Added \cmd{\floatHpenalties} settings and flag for
-% usage of list penalties}
-% There is also added flag for loading of list penalties around anchored float.
+% {\em [floatrow] Added flag |\ifFBbuild| for float box layout building.
+% This flag stops repeated usage of |\float@makebox| after |\floatbox|.}
+% There is also added flag for loading of list penalties around anchored float.
% \begin{macrocode}
\newcommand\floatHpenalties{}
\newcommand\float@endH{\@endfloatbox\par
\FR@iffloatHaslist
- \floatHpenalties\relax
- \addpenalty\@beginparpenalty
- \fi
+ {\floatHpenalties\relax
+ \addpenalty\@beginparpenalty}\relax
\vskip\intextsep
\ifFBbuild\setbox\@currbox\float@makebox\columnwidth\fi
\box\@currbox\par
- \FR@iffloatHaslist\addpenalty\@endparpenalty\@endpetrue\fi
+ \FR@iffloatHaslist
+ {\addpenalty\@endparpenalty\@endpetrue}\relax
\vskip\intextsep\relax}
% \end{macrocode}
% \end{macro}
@@ -6140,10 +7256,9 @@
% The |\float@dblend| command finishes up double-column floats. This
% uses the same approach as |\float@end| above. It seems to work.
%
-% {\em \textit{Floatrow note.}
-% Added flag |\ifFBbuild| for float box layout building.
-% This flag stops repeated usage of |\float@makebox| after |\floatbox|.}
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
+% {\em [floatrow]
+% Added flag |\ifFBbuild| for float box layout building.
+% This flag stops repeated usage of |\float@makebox| after |\floatbox|.}
% \begin{macrocode}
\newcommand\float@dblend{\ifFBbuild\@endfloatbox
\global\setbox\@currbox\float@makebox\textwidth
@@ -6152,7 +7267,7 @@
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{\package{float} package: Captions and lists of floats}
+% \subsubsection{The \package{float} Package: Captions and Lists of Floats}
%
% Now for the caption routines.
% We use a box, |\@floatcapt|, to hold the caption while the float
@@ -6161,81 +7276,16 @@
\newsavebox\@floatcapt
% \end{macrocode}
%
-% \begin{macro}{\caption}
-% This is the only \LaTeX\ macro that this document style supersedes.
-% {\em[\dots]} the caption routines from \package{float} are used {\em[\dots]}.
-% {\em \textit{Floatrow note.} The \package{float}'s caption layout stuff
-% replaced by \package{caption}'s |\captionsetup|. In \package{floatrow}
-% package redefined |\@makecaption| command (\LaTeX's definition
-% of |\caption| commented).}
-% \changes{v0.1f}{2005/06/14}{The definition of \cmd{\caption} commented.}
-% \begin{macrocode}
-%\renewcommand\caption{%
-% \ifx\@captype\@undefined
-% \@latex@error{\noexpand\caption outside float}\@ehd
-% \expandafter\@gobbletwo
-% \else
-% \refstepcounter\@captype
-% \fi
-% \@dblarg{\float@caption\@captype}}
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\float@caption}
-% The |\float@caption| macro takes care of entering the caption into
-% the appropriate listing. It also controls the typesetting of the caption
-% itself, although a style-dependent macro |\@fs@capt| is called to handle
-% the specifics. {\em \textit{Floatrow note}. The command |\@fs@capt|
-% removed---\package{floatrow} package uses \package{caption} 3.0 possibilities and
-% its own definitions.}
-%
-% Note that because the caption is saved in a box
-% instead of being output to the float right away, you cannot simply put
-% a legend after the caption proper; it has to follow the |\caption|
-% command in an optional argument.
-%
-% First of all, we call |\addcontentsline| to update the list of
-% floats of this class. Note that |\float@caption| is |\long|
-% to allow for paragraph breaks in its arguments.
-%
-% {\em \textit{Floatrow note.} The support of optional argument for legend
-% after mandatory caption argument didn't declared in user part of
-% documentation. Since caption version 3.0 didn't support this feature,
-% it was removed. Use |\floatfoot| macro for additional text.}
-%
-% \changes{v0.1f}{2005/06/14}{The definition of \cmd{\float@caption}
-% commented: this macro used as safe command for \cmd{\@caption}.}
-% {\em \textit{Floatrow note.} In version 0.1f this definition commented.}
-% \begin{macrocode}
-%\long\def\float@caption#1[#2]#3{%
-% \addcontentsline{\@nameuse{ext@#1}}{#1}%
-% {\protect\numberline{\@nameuse{the#1}}{\ignorespaces #2}}%
-% \end{macrocode}
-% Now we collect the caption proper. The caption name and number are
-% taken from |\fnum@|\meta{float}, where \meta{float} is the class
-% of float we're currently handling.
-% \begin{macrocode}
-% \global\setbox\@floatcapt
-% \end{macrocode}
-% {\em \textit{Floatrow note.}
-% In next line is added necessary width for caption for fancy float layout.
-% The flag |\if@@FS|, which checks whether float style predefined is
-% stored---maybe caption appears outside any float environment and
-% |\floatbox| command in this case it will use |\hsize| definitions.}
-% \begin{macrocode}
-% \vbox\bgroup\@parboxrestore\reset@font\if@@FS\hsize\FBc@wd\fi
-% \normalsize\abovecaptionskip\z@\belowcaptionskip\z@
-% \@makecaption{\@nameuse{fnum@#1}}{\ignorespaces #3}\egroup}
-% \end{macrocode}
-% \end{macro}
+% [floatrow \ldots Skipped explanation. Original definition of caption is stored in |\flrow@caption| above.
+% The storing mechanism of caption box was moved in |\@makecaption| stuff (|\flrow@makecaption| command).]
%
% \begin{macro}{\listof}
% The |\listof| command reads the desired list of floats from the
% appropriate auxiliary file. The file is then restarted.
% First of all, we check whether the float style that's supposed to be
% listed is actually defined. If not, we output a |\float@error|
-% {\em(\textit{Floatrow note.} the |\float@error| changed to
-% |\flrow@error|)}.
+% {\em([floatrow] the |\float@error| changed to
+% |\flrow@error|)}.
% \begin{macrocode}
\newcommand*{\listof}[2]{%
\@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
@@ -6243,8 +7293,13 @@
% All's well until now. We define the |\l@|\meta{float} command
% that \LaTeX\ needs for formatting the list, and then typeset the
% appropriate list header.
+% {\em [floatrow] The definition of list entry
+% layout moved in \cmd{\DeclareNewFloatType} command.}
+% \changes{v0.2b}{2007/12/09}{The main definition of list entry layout moved in
+% \cmd{\DeclareNewFloatType} command, here it is provided.}
% \begin{macrocode}
- \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
+ \expandafter\providecommand\csname l@#1\endcsname
+ {\@dottedtocline{1}{1.5em}{2.3em}}%
\float@listhead{#2}%
% \end{macrocode}
% Next we call |\@starttoc| with the correct file extension
@@ -6292,32 +7347,34 @@
% \end{macrocode}
% \end{macro}
%
-% {\em \textit{Floatrow note.} Here goes \package{floatrow} message about
-% finishing of loading of \package{float} package's corrected code.}
+% {\em [floatrow] Here goes \package{floatrow} message about
+% finishing of loading of \package{float} package's corrected code.}
% \begin{macrocode}
\PackageInfo{floatrow}{Modified float package code loaded}
% \end{macrocode}
%
-% \subsection{Borrowed Code (with original comment)
-% from \package{rotfloat} package}
+% ^^A -------------------------------------------------------------------------------------------------------
%
+% \subsection{Borrowed Code (With Original Comment)
+% from The \package{rotfloat} Package}
+%
+% {\em [floatrow] If there is the \package{rotating} package in \LaTeX's
+% installation the \package{rotfloat} package's stuff will be loaded.}
% \begin{macrocode}
\IfFileExists{rotating.sty}{\@tempswatrue}{\@tempswafalse}
\if@tempswa
% \end{macrocode}
%
-% {\em \textit{Floatrow note.} Here goes code of revised and adapted package
-% to floatrow. With documentation.
-%
-% The main redefinitions for \package{rotfloat} (|\flrow@restyle| stuff) purposes
-% were made above (in \package{float} part).\\{}[\dots]
+% {\em [floatrow]
+% The main redefinitions for \package{rotfloat} (|\flrow@restyle| stuff) purposes
+% were made above (in \package{float} part).\\{}[\dots]
%
-% Code contents of |\rotfloat@float| and |\rotfloat@dblfloat| moved up
-% inside |\flrow@restyle| macro.}
+% Code contents of |\rotfloat@float| and |\rotfloat@dblfloat| moved up
+% inside |\flrow@restyle| macro.}
%
% \begin{macro}{\@float@HH}
% We have to extend |\@float@HH|\emph{[\dots]}.
-% {\em \textit{Floatrow note}. Since |\rotfloat@endH| was originally defined
+% {\em [floatrow] Since |\rotfloat@endH| was originally defined
% as |\float@endH| in current macro used |\float@endH|}
% \begin{macrocode}
\let\rotfloat@HH\@float@HH
@@ -6330,7 +7387,7 @@
% \end{macro}
%
% \begin{macro}{\rotfloat@endH}
-% This one hasn't to be changed. {\em \textit{Floatrow note}. Commented.}
+% This one hasn't to be changed. {\em [floatrow] Commented.}
% \begin{macrocode}
% \newcommand\rotfloat@endH{\float@endH}
% \end{macrocode}
@@ -6358,9 +7415,9 @@
% \end{macro}
% \end{macro}
%
-% That's all folks\dots {\em \textit{Floatrow note:} of borrowed
-% \package{rotfloat} package. And here goes message about loading of
-% \package{rotfloat} package's code.}
+% That's all folks\dots {\em [floatrow] of borrowed code of
+% \package{rotfloat} package, v1.2. And here goes message about loading of
+% \package{rotfloat} package's code.}
% \begin{macrocode}
\PackageInfo{floatrow}{Modified rotfloat package code loaded}
\fi
@@ -6373,8 +7430,6 @@
% \begin{macro}{\FR@everyfloat}
% These token macros add redefinition of float stuff to arrange usage
% of footnotes inside plain float contents.
-% \changes{v0.1f}{2005/06/14}{Deleted \cmd{\flrow@capsetup}: moved to
-% \cmd{\flrow@setlist} stuff (AS).}
% \begin{macrocode}
\@ifdefinable\FR@everyfloat{\newtoks\FR@everyfloat}
\FR@everyfloat={\let\@footnotetext\@mpfootnotetext
@@ -6425,10 +7480,10 @@
%
% \begin{macro}{\mpfootnotemark}
% There is the definition of |\footnotemark| which creates the same mark as
-% |\footnote| inside \texttt{minipage} environment. That could be useful in
+% |\footnote| inside |minipage| environment. That could be useful in
% multiple footnote marks in tables. Since the same definition was loaded
-% in \package{footmisc} v5.3, these macros are defined at the beginning of
-% document in the case only if \package{footmisc} was not loaded.
+% in \package{footmisc} version 4.10, dated 2003/01/20 and later, these macros are defined at the
+% beginning of document in the case only if \package{footmisc} was not loaded.
% \begin{macrocode}
\AtBeginDocument{\providecommand\mpfootnotemark{\@ifnextchar[%]
\@xmpfootnotemark{\stepcounter\@mpfn
@@ -6444,9 +7499,7 @@
%
% \begin{macro}{\floatfoot}
% This command made for the same reasons as \package{ccaption}'s |\legend|
-% macro and uses its style. It uses |\caption| mechanism.
-% \changes{v0.1p}{2007/06/24}{The creation of float foot contents extracted
-% for usage in longtable.}
+% macro and follows its style. It uses |\caption| mechanism.
% \begin{macrocode}
\captionsetup[floatfoot]{labelformat=empty,labelsep=none}
\newcommand\floatfoot{\@ifstar
@@ -6456,14 +7509,15 @@
\global\setbox\flrow@foot\vbox{%
\floatfoot@box{#1}}}%
% \end{macrocode}
-% For the case of usage outside of |\floatbox| and float environments. E.g.
-% inside \env{longtable} environment.
+%
+% \begin{macro}{\floatfoot@box}
+% For the case of usage outside of |\floatbox| and floating environments. E.g.
+% inside |longtable| environment.
% \begin{macrocode}
\newcommand\floatfoot@box[1]{%
\@ifundefined{@captype}{\def\@captype{floatfoot}}{}%
% \end{macrocode}
% The |\if@@FS| flag stored for \env{wrap...} environments.
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
% \begin{macrocode}
\if@@FS\hsize\columnwidth\linewidth\columnwidth\fi
\@parboxrestore\reset@font\color@begingroup
@@ -6482,63 +7536,16 @@
\color@endgroup}
% \end{macrocode}
% \end{macro}
-%
-% \subsection{The Usage of Command for Float Box}
-%
-% The usage of macro |\floatbox| is:
-% \\[\medskipamount]
-% |\floatbox[|\meta{preamble}|]{|\meta{captype}|}[|\meta{width}|]|^^A
-% |[|\meta{height}|][|\meta{inner vert pos}|]|^^A
-% \\\hspace*{5em}|{|\meta{caption}|}{|\meta{float object}|}|.
-% \\[\medskipamount]
-% where:
-% \begin{description}
-% \item[\meta{preamble}]there could be\\
-% \qquad\cmd{\capbeside} and \cmd{\nocapbeside},
-% or you may try to add any other regular command (e.g. |\captionsetup|
-% or |\thisfloatsetup| stuff);
-% \item[\meta{captype}]the |\@captype| of float type this command
-% created for;
-% \item[\meta{width}]the width of object---caption box
-% (in case of caption above or below object),
-% or width of object box (if caption stays beside object);
-% \item[\meta{height}]the height of object---caption box
-% (in case of caption above or below object),
-% or height of object box (if caption stays beside object);
-% \item[\meta{inner vert pos}]vertical alignment of object if its box
-% larger than contents.
-% \end{description}
+% \end{macro}
%
% \subsection{Defining New Float Box Commands}
%
% \begin{macro}{\newfloatcommand}
% \begin{macro}{\renewfloatcommand}
-% The following macros allow to define user commands-abbreviations:
+% The following macros allow to define user commands-abbreviations of |\floatbox| command:
% they have common unchanged preamble and setting for default width of
-% float box. Usage:
-% \begin{Quote}%
-% |\newfloatcommand{|\meta{command}|}{|\meta{captype}|}|^^A
-% |[|\meta{preamble}|][|\meta{default width}|]|
-% \end{Quote}%
-% where:
-% \begin{description}
-% \item[\meta{command}]the new command name without backslash;
-% \item[\meta{captype}]see section above;
-% \item[\meta{preamble}]see section above;
-% \item[\meta{default width}]here you could put |\FBwidth| option: in this
-% case the width of object---caption box (in case of caption above or
-% below object) or width of object box (if caption stays beside object)
-% will be equal to width of object.
-% \end{description}
-% Examples:
-% \begin{Quote}
-% |\newfloatcommand{ffigbox}{figure}|
-% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]|
-% \end{Quote}
-%
+% float box.
% The definition of command for new float command.
-% \changes{v0.1f}{2005/06/14}{Bug fix: corrected \cmd{\@latex@error}
-% command code.}
% \begin{macrocode}%
\newcommand\newfloatcommand[2]{%
\@ifundefined{#1}{}%
@@ -6551,11 +7558,14 @@
\@ifdefinable\FB@nc{}\@ifdefinable\FB@@nc{}
\def\FB@nc#1#2[#3]{%
\@ifnextchar[{\FB@@nc{#1}{#2}[#3]}{\FB@@nc{#1}{#2}[#3][]}}
+% \end{macrocode}
+% This group ends at the end of |\@@@floatbox| macro.
+% \begin{macrocode}%
\def\FB@@nc#1#2[#3][#4]{%
\@namedef{#1}{\begingroup
% \end{macrocode}
-% \changes{v0.1k}{2007/05/24}{The option with settings for float
-% box saved to temporary command}
+% The option with temporary settings for float
+% box saved to temporary command.
% \begin{macrocode}%
\def\FB@tmpset{#3}\def\@captype{#2}%
\@ifnextchar[{\@floatbox}{\@floatbox[#4]}}}
@@ -6583,14 +7593,17 @@
%
% \subsection{Building Float Box}
%
-% \subsubsection{Dimensions Used in Float Box Building}
+% \FRorisubsubsection{Dimensions Used in Float Box Building}
%
% \begin{macro}{\FB@wd}
% \begin{macro}{\FBo@wd}
% \begin{macro}{\FBc@wd}
% These internal dimensions used for defining widths for
% float boxes entirely and for object and caption separately
-% (they could differ in special style layouts).
+% (they could differ in special style layouts). The |\newdimen| register is
+% necessary because of these parameters can catch values from skip parameters
+% during calculations,
+% also the skip values of widths could ``conflict'' with skips-separators between floats.
% \begin{macrocode}
\@ifdefinable\FB@wd {\newdimen\FB@wd}
\@ifdefinable\FBo@wd{\newdimen\FBo@wd}
@@ -6639,21 +7652,14 @@
\@ifundefined{c@#1}{\@nocounterr{#1}}%
{\advance\csname c@#1\endcsname #2\relax}}
% \end{macrocode}
-% The command for localization of |\refstepcounter| and
+% The command for localization of |\refstepcounter|, |\stepcounter| and
% |\refsteponlycounter|.
-% \changes{v0.1h}{2005/10/25}{The \cmd{\FR@loc@refcnt} uncommented.}
% \begin{macrocode}
\newcommand\FR@loc@refcnt[1]{%
\@ifundefined{c@#1}{\@nocounterr{#1}}%
{\advance\csname c@#1\endcsname1\relax}}
% \end{macrocode}
% Gobbling of caption label and localization of counter change.
-% \changes{v0.1h}{2005/10/25}{The \cmd{\refstepcounter} and
-% \cmd{\refsteponlycounter} localized (for \cmd{\ContinuedFloat}
-% with \package{subfig}).}
-% \changes{v0.1p}{2007/06/24}{The \cmd{\stepcounter} also
-% localized (for \cmd{\ContinuedFloat}
-% with \package{subfig} and \package{caption}).}
% \begin{macrocode}
\newcommand\FR@loc@{\let\label\@gobble
\let\refstepcounter\FR@loc@refcnt
@@ -6661,34 +7667,51 @@
\let\refsteponlycounter\FR@loc@refcnt
% \end{macrocode}
% The |\cl@@ckpt| is macro which ``globalizes'' all counters. It is used by
-% \env{tabularx} environment. Here it is emptied during local creation of
-% caption box.
-% \changes{v0.1d}{2005/02/07}{Advanced redefinition of global recount
-% (for \env{tabularx} environment)}
-% \changes{v0.1f}{2005/06/14}{Added `gobbling' redefinition for
-% \cmd{\sf@updatecaptionlist} macro (\package{subfig}).}
+% |tabularx| environment. Here it is emptied during local creation of
+% caption box. Also here is gobbled macro from \package{subfig} package.
+% \changes{v0.2b}{2008/01/06}{Added redefinitions of \texttt{..addcontentsline}
+% commands for (subcaption) compatibility with caption 3.1. (AS)}
% \begin{macrocode}
\let\cl@@ckpt\empty\let\addtocounter\FR@loc@addcnt
+ \let\caption@kernel@addcontentsline\@gobbletwo
+ \let\caption@addcontentsline\@gobbletwo
\def\sf@updatecaptionlist##1##2##3##4{}}
% \end{macrocode}
% The macro for temporary redefinition for counting of caption width.
-% \changes{v0.1h}{2005/10/31}{The \cmd{\caption@lfmt} used instead of
-% \cmd{\fnum@}\cmd{\@captype}.}
% \changes{v0.1p}{2007/06/24}{Added \cmd{\relax} for compatibility with
% caption 3.1.}
+% \changes{v0.2b}{2007/12/10}{Contents of \cmd{\FBtmp@cap} became \cmd{\captionlabel} for (sub)caption labels.}
% \begin{macrocode}
-\def\FBtmp@cap#1[#2]#3{\sbox\@tempboxa
-% {\caption@@@make{\csname fnum@\@captype \endcsname}{#3}}%
- {\caption@@@make{\caption@lfmt{\@nameuse{\@captype name}}%
- {\@nameuse{the\@captype}}\relax}{#3}}%
+\def\FBtmp@cap#1[#2]#3{\sbox\@tempboxa{\captionlabel{#3}}%
\global\@tempdimb\wd\@tempboxa}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\captionlabel}
+% \begin{macro}{\subcaptionlabel}
+% Here goes support for caption and subcaption labels. (The |\captionlabel| command is
+% used as internal macro for calculating width of caption.)
+% This macro uses internal \package{caption} commands |\caption@@@make| and |\caption@lfmt|.
+% The temporary macro |\FR@tmp| defined as |\@captype| or |sub\@captype|, depending to
+% ``depth'' of float box.
+% \changes{v0.2b}{2007/12/10}{The \cmd{\captionlabel} created for (sub)caption label,
+% with suggestions A.Sommerfeldt.}
+% \begin{macrocode}
+\newcommand\captionlabel[1]{{\def\FR@tmp{\@captype}\ifnum\floatbox@depth>\@ne
+ \def\FR@tmp{sub\@captype}\caption@setsubtype*{\FR@tmp}\stepcounter{\FR@tmp}\fi
+ \caption@@@make{\caption@fnum\FR@tmp}{#1}}}
+% \end{macrocode}
+% The |\subcaptionlabel| command
+% \begin{macrocode}
+\newcommand\subcaptionlabel[1]{{\floatbox@depth\tw@\captionlabel{#1}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\FBget@box}
-% This macro counts widths and heights of caption and
+% This macro calculates widths and heights of caption and
% object boxes accordingly to \meta{width} and \meta{height}
% arguments of |\floatbox| macro.
% \label{code:FBwidth}
@@ -6706,11 +7729,9 @@
% If |\floatbox| macro has not any \oarg{width} argument, the |\hsize|
% of wrapped figure equals to beside text (i.e. current text is `divided'
% into two columns).
-% \changes{v0.1f}{2005/06/14}{Added value for undefined \cmd{\FBB@wd}
-% command. (used as flag for wrapped floats.)}
% \begin{macrocode}
- \FBiffloatrow\else
- \ifx\FBB@wd\relax
+ \FBiffloatrow\relax
+ {\ifx\FBB@wd\relax
\ifdim\hsize=\z@
% \end{macrocode}
% The |\floatbox| stuff doesn't use special |\caption| definition inside
@@ -6723,37 +7744,31 @@
\fi
\else
\hsize\FBB@wd
- \fi
- \fi
+ \fi}%
\adj@dim\hsize-\FB@wadj=\@tempdima
\FBifcapbeside
\FCget@@wd{#1}{#3}%
\else
\nofilFCOhsize
- \FBiffloatrow\else
- \settowidth\@tempdimb{{\FBleftmargin}{\FBrightmargin}}%
- \advance\@tempdima-\@tempdimb
- \fi
+ \FBiffloatrow\relax
+ {\settowidth\@tempdimb{{\FBleftmargin}{\FBrightmargin}}%
+ \advance\@tempdima-\@tempdimb}%
\fi
\FC@ifo@fil\@tempdima\FB@wd\else\FB@wd\@tempdima\fi
\adj@dim\@tempdima-\FBo@wadj=\FBo@wd
% \end{macrocode}
% This line is doubled below but it is necessary here in case
% you use |\hsize| in any width argument in current float contents.
-% \changes{v0.1d}{2005/02/07}{Bug fix: Restored \cmd{\hsize} setting.}
% \begin{macrocode}
- \FBiffloatrow\else\hsize\FBo@wd\fi
+ \FBiffloatrow\relax{\hsize\FBo@wd}%
% \end{macrocode}
-% \changes{v0.1b}{2004/10/22}{Bug fix: \cmd{\FB@wd} changed only
-% for beside captions.}
% |\FB@wd| changed only for beside captions.
-% \changes{v0.1h}{2005/10/02}{Added settings for \cmd{\linewidth}}
% \begin{macrocode}
\FBifcapbeside\hsize\FB@wd\fi
\linewidth\hsize
% \end{macrocode}
% If there are defined the width and/or height arguments in |\floatbox|
-% macro (re)counts width of object and caption.
+% macro (re)calculates width of object and caption.
% \begin{macrocode}
\def\reserved@a{#1}\ifx\reserved@a\empty
\else\FBget@@wd{#1}{#3}\fi
@@ -6764,26 +7779,26 @@
\FBc@wd\FB@wd
\fi
% \end{macrocode}
-% From this point macro counts heights of caption and object if necessary.
+% From this point macro calculates heights of caption and object if necessary.
% \begin{macrocode}
- \setbox0\vbox{\FR@loc@\hsize\FBo@wd\linewidth\hsize
+ \setbox\z@\vbox{\FR@loc@\hsize\FBo@wd\linewidth\hsize
\FBifcaptop
- \ifnum\FPOScnt=0\columnwidth\hsize\else\columnwidth\FBc@wd\fi
+ \ifnum\FPOScnt=\z@\columnwidth\hsize\else\columnwidth\FBc@wd\fi
\else
\columnwidth\FBc@wd
\fi
#3}%
\FBc@ht\ht\@floatcapt\advance\FBc@ht\dp\@floatcapt
- \FBo@ht\ht0\advance\FBo@ht\dp0\let\FBheight\FBo@ht
- \setbox2\vbox{\null\par\FB@foot\par}%
- \FBf@ht\ht2\advance\FBf@ht\dp2%
+ \FBo@ht\ht\z@\advance\FBo@ht\dp\z@\let\FBheight\FBo@ht
+ \setbox\tw@\vbox{\null\par\FB@foot\par}%
+ \FBf@ht\ht\tw@\advance\FBf@ht\dp\tw@
\FBiffloatrow
- \ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
+ {\ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
\ifCADJ
\FBifcaptop
- \ifnum\FPOScnt=1\global\advance\FBc@ht\FBf@ht\fi
+ \ifnum\FPOScnt=\@ne\global\advance\FBc@ht\FBf@ht\fi
\else
- \ifnum\FPOScnt=2
+ \ifnum\FPOScnt=\tw@
\ifdim\FBf@ht>\FBf@max
\global\advance\FBc@ht\FBf@ht
\else
@@ -6795,20 +7810,22 @@
\fi
\ifdim\FBc@ht>\FBc@max\global\FBc@max\FBc@ht\fi
\gdef\FBcheight{\FBc@ht}\gdef\FBfheight{\FBf@ht}%
- \fi
- \fi
+ \fi}\relax
\def\reserved@a{#2}\ifx\reserved@a\empty
- \FBiffloatrow\ifOADJ
+ \FBiffloatrow{\ifOADJ
\ifdim\FBo@ht>\FBo@max\global\FBo@max\FBo@ht\fi
\FBifcaptop
- \ifnum\FPOScnt=0
+ \ifnum\FPOScnt=\z@
\ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
\fi
\fi
\gdef\FBoheight{\FBo@ht}\gdef\FBfheight{\FBf@ht}%
- \fi\fi
+ \fi}\relax
\else
- \FBget@@ht{#2}%
+% \end{macrocode}
+% \changes{v0.2b}{2007/12/09}{The argument with floatbox contents added.}
+% \begin{macrocode}
+ \FBget@@ht{#2}{#3}%
\fi}
% \end{macrocode}
% \end{macro}
@@ -6817,26 +7834,20 @@
% Counts the width of caption if caption was placed beside float object.
% \begin{macrocode}
\newcommand\FCget@@wd[2]{\flrow@FClist
- \FBiffloatrow\else
- \settowidth\@tempdimb{{\FCleftmargin}{\FCrightmargin}}%
- \advance\@tempdima-\@tempdimb\advance\hsize-\@tempdimb
- \fi
+ \FBiffloatrow\relax
+ {\settowidth\@tempdimb{{\FCleftmargin}{\FCrightmargin}}%
+ \advance\@tempdima-\@tempdimb\advance\hsize-\@tempdimb}%
\settowidth\@tempdimb{\floatcapbesidesep}\advance\@tempdima-\@tempdimb
\FC@ifo@fil\FB@wd\@tempdima\fi
\FC@ifc@wd
% \end{macrocode}
-% If |\FCwidth| was not defined (|\relax|), macro counts
+% If |\FCwidth| was not defined (|\relax|), macro calculates
% natural caption width (in this case |\caption| restores plain \LaTeX's
-% behavior). The contents of float hidden in |\box1|.
-% \changes{v0.1f}{2005/06/14}{Added temporal redefinition of
-% \cmd{\refstepcounter}.}
-% \changes{v0.1h}{2005/10/30}{The \cmd{\refstepcounter} and
-% \cmd{\refsteponlycounter} localized (for \cmd{\ContinuedFloat}
-% with \package{subfig}).}
+% behavior). The contents of float thrown out in |\box\@ne|.
% \begin{macrocode}
\ifx\FCwidth\relax
- \setbox1\vbox{\FR@loc@
- \let\caption\FB@caption
+ \setbox\@ne\vbox{\FR@loc@
+ \let\caption\flrow@caption
\let\@caption\FBtmp@cap
#2}%
\FBc@wd=\@tempdimb
@@ -6861,8 +7872,6 @@
% unless you are manipulating with metre dimensions (I hope you're not
% preparing a metre book!) or set more than
% |5\FBwidth| (|5\FBheight|) in \meta{width} (\meta{height}) option.
-% \changes{v0.1f}{2005/06/14}{The \texttt{4}\cmd{\textwidth} changed
-% to absolute value.}
% \begin{macrocode}
\newcommand\FBget@@wd[2]{\@tempswafalse
\begingroup
@@ -6870,13 +7879,11 @@
\setlength\dimen@{#1}\ifdim\dimen@<\z@\global\@tempswatrue\fi
\endgroup
\if@tempswa
- \setbox0\hbox{\FR@loc@#2}\FBo@wd\wd0%
- \let\FBwidth\FBo@wd
+ \setbox\z@\hbox{\FR@loc@#2}\FBo@wd\wd\z@\let\FBwidth\FBo@wd
\setlength\FBo@wd{#1}%
\advance\FBo@wd\leftskip\advance\FBo@wd\rightskip
% \end{macrocode}
% The width |\FB@wd| localized.
-% \changes{v0.1b}{2004/10/22}{Bug fix: \cmd{\FB@wd} localized.}
% \begin{macrocode}
\adj@dim\FBo@wd+\FBo@wadj=\FB@wd
% \end{macrocode}
@@ -6888,7 +7895,6 @@
\setlength\FB@wd{#1}%
% \end{macrocode}
% The width |\FB@wd| localized.
-% \changes{v0.1b}{2004/10/22}{Bug fix: \cmd{\FB@wd} localized.}
% \begin{macrocode}
\adj@dim\FB@wd-\FB@wadj=\FB@wd
\adj@dim\FB@wd-\FBo@wadj=\FBo@wd
@@ -6899,54 +7905,56 @@
%
% \begin{macro}{\FBget@@ht}
% Counts the height of object if the height optional argument not empty.
-% \changes{v0.1f}{2005/06/14}{The \texttt{4}\cmd{\textheight} changed
-% to absolute value.}
+% \changes{v0.2b}{2007/12/09}{The argument with floatbox contents added. Corrected bug
+% with height calculating.}
% \begin{macrocode}
-\newcommand\FBget@@ht[1]{\@tempswafalse
+\newcommand\FBget@@ht[2]{\@tempswafalse
\begingroup
\@tempdimb-3000pt\let\FBheight\@tempdimb
\setlength\dimen@{#1}\ifdim\dimen@<\z@
\global\@tempswatrue\fi
\endgroup
- \setlength\FBo@ht{#1}%
\if@tempswa
+ \setbox\z@\hbox{\FR@loc@#2}\FBo@ht\ht\z@\advance\FBo@ht\dp\z@
+ \let\FBheight\FBo@ht\setlength\FBo@ht{#1}%
\adj@dim\FBo@ht+\FBo@hadj=\FBo@ht
- \FBifcaptop\ifnum\FPOScnt=0\advance\FBo@ht\FBf@ht\fi\fi
+ \FBifcaptop\ifnum\FPOScnt=\z@\advance\FBo@ht\FBf@ht\fi\fi
\else
+ \setlength\FBo@ht{#1}%
\adj@dim\FBo@ht-\FBo@hadj=\FBo@ht
\adj@dim\FBo@ht-\FB@hadj=\FBo@ht
- \setbox0\vbox{\offinterlineskip\vbox{\@@FBabove}%
+ \setbox\z@\vbox{\offinterlineskip\vbox{\@@FBabove}%
\FBifcapbeside\else\@@FBskip\hrule\@height\z@\@depth\z@\fi
\vtop{\@@FBbelow}}%
- \global\advance\FBo@ht-\ht0\global\advance\FBo@ht-\dp0%
+ \global\advance\FBo@ht-\ht\z@\global\advance\FBo@ht-\dp\z@
\FBifcapbeside\else\FBget@@@ht\fi
- \FBiffloatrow\ifOADJ
- \ifdim\FBo@ht>\FBo@max\global\FBo@max\FBo@ht\fi
-% \ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
-% \FBifcaptop\ifnum\FPOScnt=0\advance\FBo@ht\FBf@ht\fi\fi
- \fi\fi
\fi
+ \FBiffloatrow{\ifOADJ
+ \ifdim\FBo@ht>\FBo@max\global\FBo@max\FBo@ht\fi
+% \ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
+% \FBifcaptop\ifnum\FPOScnt=\z@\advance\FBo@ht\FBf@ht\fi\fi
+ \fi}\relax
\def\FBoheight{\FBo@ht}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FBget@@@ht}
% If there was set the height of float box this macro
-% counts height of additional vertical material (except of space
+% calculates height of additional vertical material (except of space
% created by frames) in object---caption box plus height of
% caption box. The result is used to get correct height of object box.
% \begin{macrocode}
\newcommand\FBget@@@ht{%
% \end{macrocode}
-% The |\box0| settings moved up in |\FBget@@ht| macro.
+% The |\box\z@| settings moved up in |\FBget@@ht| macro.
% \begin{macrocode}
-% \global\advance\FBo@ht-\ht0\global\advance\FBo@ht-\dp0%
+% \global\advance\FBo@ht-\ht\z@\global\advance\FBo@ht-\dp\z@
\ifdim\FBc@ht>\FBc@max
\global\advance\FBo@ht-\FBc@ht
\else
\global\advance\FBo@ht-\FBc@max
\fi
- \FBifcaptop\ifnum\FPOScnt=1\else
+ \FBifcaptop\ifnum\FPOScnt=\@ne\else
\ifdim\FBf@ht>\FBf@max
\global\advance\FBo@ht-\FBf@ht
\else
@@ -6991,21 +7999,21 @@
%
% \subsubsection{Building Caption and Object Boxes}\label{putFB}
%
-% \begin{macro}{\FC@ifFBOX}
+% \begin{macro}{\FR@ifFCBOX}
% \begin{macro}{\FBs@raise}
% \begin{macro}{\FBf@raise}
% \begin{macro}{\FCset@vpos}
-% The |\FC@ifFBOX| flag if true aligns top or bottom of object's
+% The |\FR@ifFCBOX| flag if true aligns top or bottom of object's
% frame with top or bottom of beside caption if fancy layout used.
% \begin{macrocode}
-\let\FC@ifFBOX\iffalse
+\let\FR@ifFCBOX\@secondoftwo
\newcommand\FBs@raise{\raisebox{-\totalheight}}
\newcommand\FBf@raise{}
% \end{macrocode}
% Setting of vertical position for beside caption and object.
% Here is used \LaTeX's |\@parboxto| command, because of here is used
% analogous mechanism of box building as in |\parbox| command and
-% \env{minipage} environment.
+% |minipage| environment.
% \begin{macrocode}
\newcommand\FCset@vpos{\@FC@vpos
\ifcase\count@
@@ -7015,12 +8023,12 @@
\gdef\FBs@raise{\raisebox{-.5\totalheight}}%
\or\gdef\FC@bbox{\vtop\@parboxto\bgroup\vskip\z@}%
\gdef\FC@ebox{\vskip\z@\egroup}%
- \FC@ifFBOX\gdef\FBf@raise{\raisebox{-\height}}%
- \else\gdef\FBf@raise{}\fi
+ \FR@ifFCBOX{\gdef\FBf@raise{\raisebox{-\height}}}%
+ {\gdef\FBf@raise{}}%
\gdef\FBs@raise{\raisebox{-\totalheight}}%
\or\gdef\FC@bbox{\vbox\@parboxto\bgroup}\gdef\FC@ebox{\vskip\z@\egroup}%
- \FC@ifFBOX\gdef\FBf@raise{\raisebox{\depth}}%
- \else\gdef\FBf@raise{}\fi
+ \FR@ifFCBOX{\gdef\FBf@raise{\raisebox{\depth}}}%
+ {\gdef\FBf@raise{}}%
\gdef\FBs@raise{}\fi}
% \end{macrocode}
% \end{macro}
@@ -7029,7 +8037,9 @@
% \end{macro}
%
% \begin{macro}{\adj@dim}
-% Dimension defines box widths and heights in special styles.
+% Dimension defines locally box widths and heights in special styles.
+% The argument |#4| can be set in form like |{\global\hsize}| to
+% globalize result.
% \begin{macrocode}
\@ifdefinable\adj@dim{}
\def\adj@dim#1#2#3=#4{\dimen@\z@#3\ifdim\dimen@=\z@#4#1\else
@@ -7044,11 +8054,10 @@
% \begin{macro}{\floatbox}
% The start of main macro of object---caption box building.
%
-% The preparation of optional arguments.
-% \changes{v0.1k}{2007/05/24}{The option with settings for float
-% box saved to temporary command}
-% \changes{v0.1p}{2007/06/24}{Added \cmd{\floatbox@depth} counter for possible
-% multilevel including box in box}
+% The preparation of optional arguments. The option with settings for float
+% box saved to temporary command. For possible including |\floatbox| in |\floatbox|
+% the |\floatbox@depth| counter was added. We need to do all settings and calculations
+% in group.
% \begin{macrocode}
\newcommand\floatbox[2][]{\begingroup
\def\FB@tmpset{#1}\def\@captype{#2}%
@@ -7071,21 +8080,22 @@
% If object---caption stays alone here go
% special style settings for current float type.
% Then go the settings for caption layout.
-% \changes{v0.1f}{2005/06/14}{Added local redefining of \cmd{\@makecaption}
-% and \cmd{\@floatboxreset} (if outside float env).}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\flrow@settype} changed to
-% \cmd{\flrow@setlist} (loads also caption settings).}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\capstart} stuff loaded here.}
% \begin{macrocode}
\if@@FS\else\FR@redefs
\ifcase\floatbox@depth\or
\flrow@setlist{{\@captype}}\or
- \flrow@setlist{{subfloat}{subtype}{sub\@captype}}\fi
+% \end{macrocode}
+% The |\caption| stuff catches |sub\@captype| settings by itself. In this case
+% in the second label were loaded only float layout settings.
+% \changes{v0.2b}{2007/12/10}{The redundant(?) caption settings for subtypes removed.}
+% \begin{macrocode}
+ \flrow@settype{subfloat}\flrow@settype{subtype}\flrow@settype{sub\@captype}%
+ \fi
\FRifFBOX\@@setframe\fi\@@FStrue
\fi
% \end{macrocode}
-% \changes{v0.1k}{2007/05/24}{Put temporary command with option settings
-% for float box}
+% Put temporary command with option settings
+% for float box.
% \begin{macrocode}
\FB@tmpset
% \end{macrocode}
@@ -7095,20 +8105,12 @@
\FBifcapbeside\flrow@FClist\fi
% \end{macrocode}
% Restoring standard justified paragraph settings${{}+{}}$|\parindent\z@|.
-% \changes{v0.1f}{2005/06/14}{Added zeroed \cmd{\leftmargin} and
-% \cmd{\rightmargin} in the case
-% of appearance inside list environment. Canceling \package{caption}
-% of package calculations?}
% \begin{macrocode}
\@parboxrestore\leftmargin\z@\rightmargin\z@
\floatobjectset\floatfont
% \end{macrocode}
-% Here is called macro which counts widths and heights of caption
-% and object. Before it starts group to localize |\hsize| settings.
-% \changes{v0.1b}{2004/10/22}{Bug fix: grouping restored\ldots}
-% \changes{v0.1d}{2005/02/07}{\ldots for all cases.}
-% \changes{v0.1e}{2005/03/22}{The \cmd{\begingroup} moved up at the
-% beginning of \cmd{\floatbox} macro.}
+% Here is called macro which calculates widths and heights of caption
+% and object.
% \begin{macrocode}
\FBget@box{#1}{#2}{#4#5}%
% \end{macrocode}
@@ -7117,32 +8119,24 @@
% a)~\cmd{\FR@floatbox} argument (outside float row).}
% \begin{macrocode}
\FBifcapbeside\FCset@vpos\fi
- \FBiffloatrow\FR@floatbox{\@ifundefined{capstart}{}{\capstart}#4#5}\else
+ \FBiffloatrow{\FR@floatbox{\@ifundefined{capstart}{}{\capstart}#4#5}}%
% \end{macrocode}
% The restoring of full |\hsize| of current float box.
% For the case of counting of float width inside \env{wrap...} environment
-% here defined the |\FBB@wd| macro.
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
-% \changes{v0.1d}{2005/02/07}{\cmd{\float@makebox} macro changed to
-% its contents}
-% \changes{v0.1f}{2005/06/14}{If \cmd{\FBB@wd} still \cmd{\relax},
-% it defined here.}
+% here defined the |\FBB@wd| macro. Inside the |\FBsetbox@obj| macro it |\relax|ed
+% again to get brand-new settings for possible inner |\floatbox|es.
% \changes{v0.1f}{2005/06/14}{The \cmd{\capstart} added as
% b)~\cmd{\FBsetbox@obj} argument (in float row).}
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
-% \changes{v0.1k}{2007/05/24}{Added \cmd{\relax} for \cmd{\FBB@wd} to allow multilevel boxes}
% \begin{macrocode}
- \adj@dim\FB@wd+\FB@wadj=\hsize\linewidth\hsize
+ {\adj@dim\FB@wd+\FB@wadj=\hsize\linewidth\hsize
\ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\fi
\FBsetbox@obj{\@ifundefined{capstart}{}{\capstart}\let\FBB@wd\relax
#4#5}\FBbuildtrue
\FBifcapbeside\flrow@FC\FBB@wd\else\flrow@FB\FBB@wd\fi
\global\FBbuildfalse
% \global\FB@wd\hsize
- \fi\advance\floatbox@depth\m@ne
+ }\advance\floatbox@depth\m@ne
% \end{macrocode}
-% \changes{v0.1b}{2004/10/22}{Bug fix: grouping restored\ldots}
-% \changes{v0.1d}{2005/02/07}{\ldots for all cases.}
% End of the group.
% \begin{macrocode}
\endgroup\ignorespaces}
@@ -7153,8 +8147,8 @@
% \begin{macrocode}
\newcommand\FR@floatbox[1]{\@tempswafalse
% \end{macrocode}
-% For beside floats in special layouts of float (e.g. \texttt{boxed}
-% or \texttt{ruled}) there is necessary the definition of maximum heights
+% For beside floats in special layouts of float (e.g. |boxed|
+% or |ruled|) there is necessary the definition of maximum heights
% of captions and objects to align boxes or rules. Here goes command
% which loads the result of max dimensions from previous run.
% \begin{macrocode}
@@ -7167,22 +8161,26 @@
\FBifcapbeside\flrow@FC@\else\flrow@FB@\fi
\end@FBBOX
% \end{macrocode}
-% The each float box in float row reduces special counter \texttt{FRobj}
-% by 1.
+% The each float box in float row reduces special counter |FRobj|
+% by~1.
% \begin{macrocode}
- \addtocounter{FRobj}{-1}%
- \@tempswafalse\FBiffacing\@tempswatrue\fi
+ \addtocounter{FRobj}\m@ne
+ \@tempswafalse\FR@iffacing\@tempswatrue\relax
\ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
% \end{macrocode}
% At end of row it equals zero.
% \begin{macrocode}
- \ifnum\c@FRobj=0%
+ \advance\Xhsize-\FB@wd
+ \ifnum\c@FRobj=\z@
% \end{macrocode}
% Here goes macro which prints in \file{.aux}-file the final
% countdown of maximum caption and object heights if necessary.
-% \changes{v0.1d}{2005/02/07}{Added flag for float box layout building}
+% At last goes flag for float box layout building.
% \begin{macrocode}
\if@tempswa
+ \FBifcapbeside
+ \advance\Zhsize-\FBc@wd
+ \fi
\FB@writeaux{\string\c@FBcnt\thepage
\string\def\string\FB@@boxmax{%
\ifOADJ\string\FBo@ht\the\FBo@max
@@ -7193,12 +8191,15 @@
% \end{macrocode}
% Between floats in float row macro puts separation material.
% \begin{macrocode}
- \advance\Xhsize-\FB@wd
- \FBifcapbeside\advance\Xhsize-\FBc@wd
+ \FBifcapbeside
+ \advance\Xhsize-\FBc@wd
+ \advance\Zhsize-\FBc@wd
\settowidth\@tempdimb{\floatcapbesidesep}%
- \advance\Xhsize-\@tempdimb\fi
+ \advance\Xhsize-\@tempdimb
+ \advance\Zhsize-\@tempdimb\fi
\floatrowsep
\adj@dim\Xhsize-\FB@wadj={\global\Xhsize}%
+ \adj@dim\Zhsize-\FB@wadj={\global\Zhsize}%
\fi}
% \end{macrocode}
% The macro for storing float object in box in the same way as
@@ -7209,7 +8210,7 @@
\setbox\float@box\color@vbox\normalcolor
\FBifcaptop
\FB@vtop\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
- \ifnum\FPOScnt=0\columnwidth\FBo@wd\else\columnwidth\FBc@wd\fi
+ \ifnum\FPOScnt=\z@\columnwidth\FBo@wd\else\columnwidth\FBc@wd\fi
\else
\FB@vbox\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
\columnwidth\FBc@wd
@@ -7222,30 +8223,40 @@
%
% \subsection{Building Float Row}
%
-% \subsubsection{The Flag, Counter and Dimension for Float Row Environment}
+% \FRorisubsubsection{The Flag, Counter and Dimension for Float Row Environment}
%
% \begin{macro}{\FBiffloatrow}
% Switch used in |\floatbox| to define whether it placed inside of
% environment of beside floats (float row) or not.
% \begin{macrocode}
-\let\FBiffloatrow\iffalse
+\let\FBiffloatrow\@secondoftwo
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\c@FRobj}
-% Counter of objects i a row, which helps to put correct spaces between
+% Counter of objects in a row, which helps to put correct spaces between
% float boxes and also to define the rest width (|\Xhsize|) for boxes.
% \begin{macrocode}
\newcounter{FRobj}
+\newcounter{FRsobj}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\Xhsize}
+% \begin{macro}{\Yhsize}
+% \begin{macro}{\Zhsize}
% This dimension is used for defining of the rest width which float box
% can occupy in current float row environment.
% \begin{macrocode}
\newlength\Xhsize
% \end{macrocode}
+% Next dimensions are used for calculation of the common height of photos
+% in a row.
+% \begin{macrocode}
+\newlength\sXhsize
+\newlength\Zhsize
+\newlength\sZhsize
+% \end{macrocode}
% \end{macro}
%
% \subsubsection{Float Row Environment}
@@ -7253,46 +8264,50 @@
% \begin{environment}{floatrow}
% \label{floatrow}
% Environment for placing beside floats (of one type).
-% First go counter of floats in row, then the settings for float layout.
-% \changes{v0.1d}{2005/02/07}{Added vertical skips (\cmd{\FBaskip},
-% \cmd{\FBbskip}) for layout fine tuning}
-% \changes{v0.1k}{2007/01/18}{IF \cmd{\FBB@wd} still not defined,
-% here it equals to \cmd{\hsize}}
+% First goes counter of floats in row, then the settings for float layout.
% \changes{v0.2a}{2007/08/24}{Redefined boxes for building of above and below
% material}
% \begin{macrocode}
-\newcommand\floatrow[1][2]{\setcounter{FRobj}{#1}\FB@facing
- \@tempswafalse\FBiffacing\@tempswatrue\fi
+\newcommand\flrow@to{to\hsize}
+\newcommand\floatrow[1][2]{\c@FRobj=#1\relax
+ \ifnum\floatbox@depth>\z@
+ \flrow@settype{subfloat}\flrow@settype{subtype}\flrow@settype{sub\@captype}%
+ \fi
+ \FB@facing\@tempswafalse\FR@iffacing\@tempswatrue\relax
\ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
\if@tempswa\FB@readaux{\relax}\fi
- \ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\fi
- \vbox\bgroup\vskip\FBaskip\hsize\FBB@wd
- \hb@xt@\hsize{\vbox{\settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
- \settowidth\leftskip\FRleftmargin\@@FRabove}}\hss}\unskip
- \hb@xt@\hsize\bgroup\let\FBiffloatrow\iftrue\FRleftmargin\begingroup
+ \ifx\flrow@to\empty\else\ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\fi\fi
+ \vbox\bgroup\vskip\FBaskip\ifx\flrow@to\empty\else\hsize\FBB@wd\fi
+ \ifx\flrow@to\empty\else
+ \hb@xt@\hsize{\vbox{\settowidth\@tempdima
+ {{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
+ \settowidth\leftskip\FRleftmargin\@@FRabove}}\hss}\unskip
+ \fi
+ \hbox\flrow@to\bgroup\let\FBiffloatrow\@firstoftwo\FRleftmargin\begingroup
% \end{macrocode}
% Here starts trick with redefinition of |\hsize| inside float row.
% The |\hsize| will be equal to one ``column'' (the number of
% ``columns''-floats gives optional argument---the default is \texttt{2}).
% \begin{macrocode}
- \Xhsize\hsize\count@#1\advance\count@-1%
- \settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}%
- \advance\Xhsize-\@tempdima
- \settowidth\@tempdima{\floatrowsep}%
- \advance\Xhsize-\count@\@tempdima
- \@tempdimb\Xhsize\divide\@tempdimb#1%
+ \Xhsize\hsize\count@#1\advance\count@\m@ne
+ \settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}\advance\Xhsize-\@tempdima
+ \settowidth\@tempdima{\floatrowsep}\advance\Xhsize-\count@\@tempdima
+ \@tempdimb\Xhsize\Zhsize\Xhsize\divide\@tempdimb#1\relax\FB@wd\@tempdimb
% \end{macrocode}
-% Here goes recounted |\hsize|.
+% Here goes recalculated |\hsize|.
% \begin{macrocode}
- \FB@wd\@tempdimb\hsize\@tempdimb\ignorespaces}
+ \hsize\@tempdimb\ignorespaces}
% \end{macrocode}
% Macro for float row end.
% \begin{macrocode}
\def\endfloatrow{\ifdim\lastskip>\z@\unskip\fi
\endgroup\FRrightmargin\egroup%h box
- \global\let\FBiffloatrow\iffalse
- \hb@xt@\hsize{\vbox{\settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
- \settowidth\leftskip\FRleftmargin\@@FRbelow}}\hss}%
+ \ifx\flrow@to\empty\else
+ \let\FBiffloatrow\@secondoftwo\relax
+ \hb@xt@\hsize{\vbox{\settowidth\@tempdima
+ {{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
+ \settowidth\leftskip\FRleftmargin\@@FRbelow}}\hss}%
+ \fi
\vskip\FBbskip\gdef\FBaskip{\z@}\gdef\FBbskip{\z@}\egroup%v box
\global\FBf@max\z@\global\FBo@max\z@\global\FBc@max\z@
\gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}}
@@ -7301,24 +8316,17 @@
%
% \begin{environment}{subfloatrow}\label{subfloatrow}
% Environment for placing beside subfloats. It is simpler than
-% \env{floatrow}. First go counter of floats (here it is local)
+% |floatrow|. First go counter of floats (here it is local)
% in row, then the settings for float layout.
-% \changes{v0.2a}{2007/08/24}{The \cmd{\subfloatrow} moved in main package body}
-% \begin{macrocode}
-\newcommand\subfloatrow[1][2]{\c@FRobj=#1%local
- \ifdim\parindent<\z@\leavevmode\else\noindent\fi\hbox\bgroup
- \let\FBiffloatrow\iftrue
- \Xhsize\hsize\count@#1\advance\count@-1%
- \settowidth\@tempdima{\subfloatrowsep}\let\floatrowsep\subfloatrowsep
- \advance\Xhsize-\count@\@tempdima
- \@tempdimb\Xhsize\divide\@tempdimb#1%
- \hsize\@tempdimb\ignorespaces\killfloatstyle}
-% \end{macrocode}
-% Macro for sub float row end.
+% \changes{v0.2a}{2007/08/24}{The \cmd{\subfloatrow} moved from \package{fr-subfig}
+% in main package body}
% \begin{macrocode}
-\def\endsubfloatrow{\ifdim\lastskip>\z@\unskip\fi
- \egroup\@ifundefined{adjustsubfloats}{}\adjustsubfloats
- }
+\newenvironment{subfloatrow}{\captionsetup{subtype}\@nameuse{subfloatrow*}}{\@nameuse{endsubfloatrow*}}
+\newenvironment{subfloatrow*}[1][2]{\let\flrow@to\empty
+ \let\Xhsize\sXhsize\let\Zhsize\sZhsize\let\c@FRobj\c@FRsobj
+ \def\FRleftmargin{}\def\FRrightmargin{}\let\floatrowsep\subfloatrowsep
+ \floatrow[#1]\killfloatstyle}{\ifdim\lastskip>\z@\unskip\fi
+ \@ifundefined{adjustsubfloats}\relax\adjustsubfloats\endfloatrow}
% \end{macrocode}
% \end{environment}
%
@@ -7327,10 +8335,36 @@
\newcommand\subfloatrowsep{\hskip\columnsep}
% \end{macrocode}
%
-% The caption label only. Commented
% \begin{macrocode}
-%\newcommand\captionlabel[1]{%
-% \def\@makecaption##1##2{\hbox{\caption@@@make{##1}{##2}}}\caption{#1}}
+\@ifdefinable\FR@ifuseCommonHeight{\let\FR@ifuseCommonHeight\@secondoftwo}
+\newcommand\CommonHeightRow[2]{\def\CommonHeight{#1}\setbox\z@\hbox{\FR@loc@#2}%
+ \ifcase\floatbox@depth\def\@tempa{\Xhsize}\def\@tempb{\Zhsize}\or
+ \def\@tempa{\sXhsize}\def\@tempb{\sZhsize}\fi
+ \FR@calc@CommonHeight#2}
+%\newcommand\UseCommonHeight[1]{\let\FR@ifuseCommonHeight\@firstoftwo\def\CommonHeight{#1}}
+\newdimen\FR@Zunitlength
+% \end{macrocode}
+% The width of row, occupied by graphics divided in |.5pt| segments (|131072|).
+% (To get |1pt| segment the |\count@| value must be divided by |65536|.)
+% \begin{macrocode}
+\newcommand\FR@calc@CommonHeight{%
+ \@tempdima\@tempb\advance\@tempdima-\@tempa
+ \count@\@tempdima\relax\divide\count@131072\relax
+% \end{macrocode}
+% The same number of segments will be for the necessary width of graphics.
+% The value of segment loaded in |\FR@Zunitlength| dimension.
+% \begin{macrocode}
+ \divide\@tempb\count@\relax\FR@Zunitlength\@tempb\relax
+ \@tempdima\CommonHeight\relax
+% \end{macrocode}
+% Now divide |\CommonHeight| in |.5pt| segments.
+% \begin{macrocode}
+ \count@\@tempdima\relax\divide\count@131072\relax
+ \@tempdima\count@\FR@Zunitlength\relax
+% \end{macrocode}
+% And then these segments get value of |\FR@Zunitlength|.
+% \begin{macrocode}
+ \edef\CommonHeight{\the\@tempdima}}
% \end{macrocode}
%
% \subsection{Aligning Float Boxes}
@@ -7362,9 +8396,7 @@
\newcommand\BottomFloatBoxes{\CADJfalse\OADJfalse
\buildFBBOX{\vbox\bgroup}{\vskip\z@\egroup}}
% \end{macrocode}
-% Restoring of plain behavior of boxes in \env{floatrow}.
-% \changes{v0.1e}{2005/03/22}{Added \cmd{\PlainFloatBoxes} for restoring
-% plain behavior of boxes.}
+% Restoring of plain behavior of boxes in |floatrow|.
% \begin{macrocode}
\newcommand\PlainFloatBoxes{%
\gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}}
@@ -7384,25 +8416,24 @@
% \begin{macro}{\renewskiptocommand}
% \begin{macro}{\newlengthtocommand}
% \begin{macro}{\renewlengthtocommand}
-% \changes{v0.1p}{2007/06/24}{Added substitution commands for usage instead skip
-% or dimension parameters.}
% These macros substitute usage of \LaTeX's macro |\newlength| and \TeX's
% macros |\newdimen| and |\newskip|. These commands are are placed as prefix
% before \LaTeX's commands |\settowidth|/\allowbreak|\settoheght|/\allowbreak
% |\settodepth|, |\setlength| and |\addtolength|.
% \begin{macrocode}
-\providecommand\newdimentocommand [3]{%
+\def\newdimentocommand #1#2#3{%
#1\@tempdima{#3}\@ifdefinable#2{\xdef#2{\the\@tempdima}}}
-\providecommand\renewdimentocommand[3]{%
+\def\renewdimentocommand#1#2#3{%
#1\@tempdima{#3}\xdef#2{\the\@tempdima}}
-\providecommand\newskiptocommand [3]{%
+\def\newskiptocommand #1#2#3{%
#1\@tempskipa{#3}\@ifdefinable#2{\xdef#2{\the\@tempskipa}}}
-\providecommand\renewskiptocommand[3]{%
+\def\renewskiptocommand #1#2#3{%
#1\@tempskipa{#3}\xdef#2{\the\@tempskipa}}
% \end{macrocode}
+% The company to standard |\newlength| command.
% \begin{macrocode}
-\providecommand\newlengthtocommand{\newskiptocommand}
-\providecommand\renewlengthtocommand{\renewskiptocommand}
+\def\newlengthtocommand{\newskiptocommand}
+\def\renewlengthtocommand{\renewskiptocommand}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -7419,30 +8450,22 @@
%<*floatsetup>
% \end{macrocode}
%
-% \subsection{Float settings stuff}
+% \subsection{Float Settings Stuff}
%
-% \subsubsection{Definitions analogous to \package{caption}'s ones}
+% \FRorisubsubsection{Definitions Analogous to The \package{caption}'s Ones}
%
-% The next bundle of definitions follow \package{caption} package macros
-% to organize analogous mechanism of settings.
-%
-% \changes{v0.1f}{2005/06/14}{The macro \cmd{\flrow@ifinlist}
-% deleted---it doubles \cmd{\caption@ifinlist} work.}
%
% \begin{macro}{\flrow@setbool}
-% Macro analogous to |\caption@setbool|.
+% The next definition follows \package{caption} package macro
+% to organize analogous mechanism of booleans.
+% It uses |\caption@set@bool| macro.
+% \changes{v0.2b}{2007/09/14}{The \cmd{\flrow@setbool}}
% \begin{macrocode}
-\newcommand\flrow@setbool[2]{%
- \caption@ifinlist{#2}{1,true,yes,on}{\let#1\iftrue
- }{\caption@ifinlist{#2}{0,false,no,off}{\let#1\iffalse
- }{\flrow@error{Undefined boolean value `#2'}%
- }}}
+\newcommand*\flrow@setbool[1]{%
+ \expandafter\caption@set@bool\csname FR@if#1\endcsname}
% \end{macrocode}
% \end{macro}
%
-% \changes{v0.1f}{2005/06/14}{The macro \cmd{\l@addto@macro}
-% deleted---it repeats \package{caption} package's definition.}
-%
% \subsubsection{Defining Stuff for Float Layout Settings}
%
% \begin{macro}{\floatsetup}
@@ -7459,26 +8482,14 @@
% \end{macrocode}
% \end{macro}
%
-% \changes{v0.1k}{2007/01/20}{\cmd{\caption@setkeys[floatrow]} instead of
-% \cmd{\setkeys} (AS).}
% \begin{macro}{\flrow@setup}
% \begin{macro}{\flrow@esetup}
% \begin{macro}{\flrow@settype}
% Macros analogous to |\caption@setup|, |\caption@esetup| and
-% |\caption@setoptions|.
-% \begin{macrocode}
-%\@ifundefined{caption@keydepth}{\@tempswatrue}{\@tempswafalse}%
-%\if@tempswa
-% \def\flrow@setup{\setkeys{floatrow}}%
-% \@ifundefined{caption@setkeys}{}%
-% {\let\flrow@caption@setkeys\caption@setkeys}%
-% \def\caption@setkeys[#1]#2{\setkeys{#2}}%
-% \AtEndOfPackage{\@ifundefined{flrow@caption@setkeys}{}%
-% {\def\caption@setkeys\flrow@caption@setkeys
-% \let\flrow@caption@setkeys\undefined}}%
-%\else
- \def\flrow@setup{\caption@setkeys[floatrow]{floatrow}}
-%\fi
+% |\caption@setoptions|. Here is used the |\caption@setkeys| instead of |setkeys|
+% to get correct error messages about misspelled keys.
+% \begin{macrocode}
+\def\flrow@setup{\caption@setkeys[floatrow]{floatrow}}
\def\flrow@esetup#1{%
\edef\FR@tmp{\noexpand\flrow@setup{#1}}\FR@tmp}
\def\flrow@settype#1{\@ifundefined{flrow@typ@#1}{}%
@@ -7490,23 +8501,23 @@
%
% \begin{macro}{\flrow@setlist}
% \begin{macro}{\flrow@FClist}
-% This macro declares list of float settings (like \texttt{widefloat},
+% This macro declares list of float and caption settings (like |widefloat|,
% {rotfloat} etc.)
-% \changes{v0.1f}{2005/06/14}{Added \cmd{\flrow@capsetup} (AS).}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\caption@setposition} settings
-% moved here (AS).}
% \begin{macrocode}
\newcommand\flrow@setlist[1]{\@flrow@setlist#1{tmpset};%
- \FR@ifCST\flrow@capsetup\fi\@cap@setlist#1;%
+ \FR@ifCST{\flrow@capsetup}\relax\@cap@setlist#1;%
\caption@setposition{\FBifcaptop t\else b\fi}}
\newcommand\@flrow@setlist[1]{\flrow@settype{#1}\@ifnextchar;\@gobble
\@flrow@setlist}
% \end{macrocode}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\@cap@setlist} redefined (AS).}
+% The compatibility with both version of \package{caption} \texttt{3.0q}
+% and new version \texttt{3.1} (code suggestions of Axel Sommerfeldt).
+% \begin{macrocode}
+\@ifundefined{caption@setoptions}{\let\caption@setoptions\caption@settype}{}
+% \end{macrocode}
% The code of |\@cap@setlist| co-operated with \package{caption} package
% (code suggestions of Axel Sommerfeldt).
% \begin{macrocode}
-\@ifundefined{caption@setoptions}{\let\caption@setoptions\caption@settype}{}
\newcommand\@cap@setlist[1]{\caption@setoptions{#1}%
\@ifnextchar;{\let\caption@setfloattype\@gobble\@gobble}\@cap@setlist}
% \end{macrocode}
@@ -7518,16 +8529,13 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@nameundef}
% \begin{macro}{\clearfloatsetup}
-% \changes{v0.1f}{2005/06/14}{The macro \cmd{\@nameundef}
-% deleted---it repeats \package{caption} package's definition.}
-% Removes all settings for chosen type of float.
+% Removes all settings for chosen type of float. The |\@nameundef| macro is
+% defined in \package{caption}.
% \begin{macrocode}
\newcommand*\clearfloatsetup[1]{\@nameundef{flrow@typ@#1}}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \begin{macro}{\DeclareFROpt}
% The |\DeclareCaptionOption|-analog.\\
@@ -7545,40 +8553,30 @@
\@onlypreamble\DeclareFROpt
\@onlypreamble\flrow@declopt
% \end{macrocode}
-% (The default settings. Commented).
-% \begin{macrocode}
-%\DeclareFROpt{default}[]{%
-% \flrow@setup{%
-% style=plain,capposition=bottom,
-% margins=centering,objectset=centering,
-% font=default,footfont=default,
-% }}
-% \end{macrocode}
% \end{macro}
%
% \begin{macro}{rawfloats}
% The default behavior of floats is like in \package{float}-like mode after
% |\restylefloat|.
-% \changes{v0.1k}{2007/05/24}{Key for raw float mode added.}
% \begin{macrocode}
-\let\FR@ifrawfloats\iffalse
+\let\FR@ifrawfloats\@secondoftwo
% \end{macrocode}
% The boolean key which defines, whether floats run in plain \LaTeX{} mode.
% \begin{macrocode}
-\DeclareFROpt*{rawfloats}[0]{\flrow@setbool{\FR@ifrawfloats}{#1}}
+\DeclareFROpt*{rawfloats}[0]{\flrow@setbool{rawfloats}{#1}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{doublefloataswide}
% Starred environments work like non-starred with special |\floatsetup| settings.
% \begin{macrocode}
-\let\FR@ifdoubleaswide\iffalse
+\let\FR@ifdoubleaswide\@secondoftwo
% \end{macrocode}
% The boolean key which defines, whether starred non-rotated float in onecolumn
% layout work like non-starred one but with special |\floatsetup| settings
% for wide floats.
% \begin{macrocode}
-\DeclareFROpt{doublefloataswide}[0]{\flrow@setbool{\FR@ifdoubleaswide}{#1}}
+\DeclareFROpt{doublefloataswide}[0]{\flrow@setbool{doubleaswide}{#1}}
% \end{macrocode}
% \end{macro}
%
@@ -7586,16 +8584,16 @@
% The anchored float has list penalties around. If there are not blank line or
% |\par| command, next paragraph starts without indentation.
% \begin{macrocode}
-\let\FR@iffloatHaslist\iffalse
+\let\FR@iffloatHaslist\@secondoftwo
% \end{macrocode}
% The boolean key which defines, whether anchored float
% uses the same penalties before and after environment as list environments.
% \begin{macrocode}
-\DeclareFROpt{floatHaslist}[0]{\flrow@setbool{\FR@iffloatHaslist}{#1}}
+\DeclareFROpt{floatHaslist}[0]{\flrow@setbool{floatHaslist}{#1}}
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Declaring of float styles}
+% \subsubsection{Declaring of Float Styles}
%
% \begin{macro}{\DeclareFloatStyle}
% Declares float style using |\floatsetup| mechanism.
@@ -7608,8 +8606,7 @@
\@onlypreamble\DeclareFloatStyle
% \end{macrocode}
% The definition of command which defines settings for new float style.
-% \changes{v0.1f}{2005/06/14}{Added \cmd{\caption@setoptions} in definition
-% of \cmd{\flrow@capsetup} (AS).}
+% There are also loaded the co-named caption settings, if exist.
% \changes{v0.2a}{2007/08/24}{Added star to \cmd{\caption@setstyle}
% (AS).}
% \begin{macrocode}
@@ -7623,9 +8620,7 @@
\flrow@esetup{\csname flrow@sty@#1\endcsname}}}
% \end{macrocode}
% Declarations of \package{float} package's emulating styles and new
-% \package{floatrow} styles.
-% \changes{v0.1f}{2005/06/14}{The bottom caption position moved in
-% \cmd{\FBstyle@reset} as default.}
+% \package{floatrow} styles. The |plain| style is consists of default settings.
% \begin{macrocode}
\DeclareFloatStyle{plain}{}
\DeclareFloatStyle{plaintop}{capposition=top}
@@ -7640,6 +8635,17 @@
framefit=yes,heightadjust=all,framearound=all}
% \end{macrocode}
%
+% The default style settings.
+% \changes{v0.2b}{2007/11/09}{The style with default settings added.}
+% \begin{macrocode}
+\DeclareFloatStyle{default}{%
+ style=plain,captionskip=10pt,
+ margins=centering,objectset=centering,
+ capbesideposition=left,facing=no,
+ floatrowsep=columnsep,capbesidesep=columnsep,
+ font=default,footfont=footnotesize}
+% \end{macrocode}
+%
% \begin{macro}{style}
% Declaring of key for float styles.
% \begin{macrocode}
@@ -7649,16 +8655,17 @@
%
% The flag, which loads related caption style (if exists), to chosen float
% style. The \package{caption} 3.0 package defines only one related caption
-% style to \package{float} package's style---\texttt{ruled}.
+% style to \package{float} package's style---|ruled|.
% \begin{macrocode}
-\let\FR@ifCST\iftrue
+\let\FR@ifCST\@firstoftwo
% \end{macrocode}
% \end{macro}
+%
% \begin{macro}{relatedcapstyle}
% The boolean key which defines, whether to use caption style, related
% to chosen float style.
% \begin{macrocode}
-\DeclareFROpt{relatedcapstyle}[0]{\flrow@setbool{\FR@ifCST}{#1}}
+\DeclareFROpt{relatedcapstyle}[0]{\flrow@setbool{CST}{#1}}
% \end{macrocode}
% \end{macro}
%
@@ -7669,9 +8676,6 @@
% Fonts for object and |\floatfoot| contents. The settings of font for
% |\floatfoot| use |\captionsetup| mechanism, so its name follows
% \package{caption} package's rules (|\captionfootfont|).
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{footfont} key.}
-% \changes{v0.1f}{2005/06/14}{Removed \cmd{\AtBeginDocument}'s check---the
-% \cmd{\captionsetup} is always known.}
% \begin{macrocode}
\DeclareFROpt{font}{\flrow@setfont{font}{#1}}
\DeclareFROpt{footfont}{\captionsetup[floatfoot]{font={#1}}}
@@ -7698,12 +8702,11 @@
% \end{macro}
%
% \begin{macro}{\DeclareFloatFont}
-% The |\DeclareCaptionFont|-twin.\\
+% The |\DeclareCaptionFont|-twin (uses
+% caption's key-val settings).\\
% It's usage:\\
% |\DeclareFloatFont{|\meta{name}|}{|\meta{code}|}|.
% This macro is allowed only in preamble.
-% \changes{v0.1f}{2005/06/14}{The code of \cmd{\DeclareFloatFont} uses
-% caption's key-val settings.}
% \begin{macrocode}
\let\DeclareFloatFont\DeclareCaptionFont
\@onlypreamble\DeclareFloatFont
@@ -7714,29 +8717,19 @@
% The |\caption@setfont|-analog.\\
% It's usage:\\
% |\flrow@setfont{|\meta{command}|}{|\meta{keyval-list of names}|}|.
-% \changes{v0.1f}{2005/06/14}{The code of \cmd{\flrow@setfont} uses
-% caption's key-val settings.}
-% \changes{v0.1p}{2007/06/24}{Changed definition of \cmd{\flrowsetfont}
-% for compatibility with caption (AS).}
-% \begin{macrocode}
-%\newcommand*\flrow@setfont[2]{%
-% \let\caption@tempa\@empty
-% \begingroup\caption@setkeys[floatrow]{caption@fnt}{#2}\endgroup
-% \expandafter\let\csname float#1\endcsname\caption@tempa}
+% \changes{v0.1p}{2007/06/24}{Changed definition of \cmd{\flrow@setfont}
+% for compatibility with caption 3.1 (AS).}
+% \begin{macrocode}
\newcommand*\flrow@setfont[2]{%
\caption@setfont{@tempa}{#2}%
\expandafter\let\csname float#1\endcsname\caption@tempa}
% \end{macrocode}
% \end{macro}
-% \changes{v0.1f}{2005/06/14}{\cmd{\DeclareFloatFont} bundle
-% removed---\package{floatrow} package uses \file{caption3} settings.}
%
% \subsubsection{Declaring of Caption Position}
%
% \begin{macro}{capposition}
% Keys for defining caption position in float box.
-% \changes{v0.1f}{2005/06/14}{Added \texttt{position} key as analog name
-% to the same key in \cmd{\captionsetup} stuff.}
% \begin{macrocode}
\DeclareFROpt{capposition}{\flrow@cappos{#1}}
\DeclareFROpt{position}{\flrow@cappos{#1}}
@@ -7764,7 +8757,6 @@
% The positions for captions in float box. There are defined
% traditional place of captions at the bottom of
% object---caption box.
-% \changes{v0.1f}{2005/06/14}{\cmd{\caption@position} deleted.}
% \begin{macrocode}
\let\FBifcaptop\iffalse
\newcommand\captop{\let\FBifcaptop\iftrue}
@@ -7794,7 +8786,6 @@
% \begin{macro}{\capbeside}
% \begin{macro}{\nocapbeside}
% There is flag and commands for printing caption and object beside.
-% \changes{v0.2a}{2007/08/24}{Removed \cmd{\global}.}
% \begin{macrocode}
\let\FBifcapbeside\iffalse
\newcommand\capbeside{\let\FBifcapbeside\iftrue}
@@ -7809,17 +8800,13 @@
% \begin{macro}{capbesideframe}
% This boolean key declares whether near beside caption stays framed
% object.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapframe} key.}
% \begin{macrocode}
-\DeclareFROpt{capbesideframe}[0]{\flrow@setbool{\FC@ifFBOX}{#1}}
+\DeclareFROpt{capbesideframe}[0]{\flrow@setbool{FCBOX}{#1}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{capbesidewidth}
% This key defines width of beside caption.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapwidth} key.}
-% \changes{v0.1f}{2005/06/14}{Bug fix: the \cmd{\FCwidth} command defined
-% here as \cmd{\relax}.}
% \begin{macrocode}
\DeclareFROpt{capbesidewidth}[1]{\flrow@FCc@wd{#1}}
\let\FC@ifc@wd\iffalse
@@ -7833,7 +8820,6 @@
%
% \begin{macro}{capbesideposition}
% Declares position of beside caption in document.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapposition} key.}
% \begin{macrocode}
\DeclareFROpt{capbesideposition}{\flrow@scpos{#1}}
% \end{macrocode}
@@ -7855,23 +8841,28 @@
% \end{macrocode}
% Declaring options.
% \begin{macrocode}
-\DeclareSCPos{left}{\def\@FC@hpos{\let\FBiffacing\iffalse\count@\@ne}}
-\DeclareSCPos{right}{\def\@FC@hpos{\let\FBiffacing\iffalse\count@\z@}}
-\DeclareSCPos{inside}{\def\@FC@hpos{\let\FBiffacing\iftrue
- \count@\c@FBcnt}}
-\DeclareSCPos{outside}{\def\@FC@hpos{\let\FBiffacing\iftrue
- \count@\c@FBcnt\advance\count@\@ne}}
+\DeclareSCPos{left}{\def\@FC@hpos{\let\FR@iffacing\@secondoftwo\count@\@ne}}
+\DeclareSCPos{right}{\def\@FC@hpos{\let\FR@iffacing\@secondoftwo\count@\z@}}
+\DeclareSCPos{inside}{\def\@FC@hpos{\let\FR@iffacing\@firstoftwo
+ \count@\c@FBcnt\ifnum\count@=\z@\count@\@ne\fi
+ }}
+\DeclareSCPos{outside}{\def\@FC@hpos{\let\FR@iffacing\@firstoftwo
+ \count@\c@FBcnt\ifnum\count@=\z@\else\advance\count@\@ne\fi
+ }}
\DeclareSCPos{center}{\def\@FC@vpos{\count@\z@}}
\DeclareSCPos{top}{\def\@FC@vpos{\count@\@ne}}
\DeclareSCPos{bottom}{\def\@FC@vpos{\count@\tw@}}
% \end{macrocode}
-% Command for |capbesideposition=bottom|
+% Command for default key: |capbesideposition=bottom|
% \begin{macrocode}
\newcommand*\@FC@vpos{\count@\tw@}
% \end{macrocode}
-% Command for |capbesideposition=inside|
+% Command for default key: |capbesideposition=left|.
+% In version 0.2b of package it was |capbesideposition=inside|, since
+% default key is |facing=no|, the
+% |capbesideposition=inside| will be equal to |capbesideposition=left|.
% \begin{macrocode}
-\newcommand*\@FC@hpos{\let\FBiffacing\iftrue\count@\c@FBcnt}
+\newcommand*\@FC@hpos{\let\FR@iffacing\@secondoftwo\count@\@ne}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -7964,32 +8955,34 @@
% \end{macro}
%
% \begin{macro}{\@FB@vpos}
-% The vertical alignment of float objects in float row.
-% \changes{v0.1h}{2006/06/16}{Changed \cmd{\vfill} to \cmd{\vss}-like code for vertical alignments}
+% The vertical alignment of float objects in float row. The fill skips for
+% |c|enter and |s|tretch alignment were set in |\vss|-like mode.
% \begin{macrocode}
\newcommand\@FB@vpos[1]{%
\if#1t\def\FBafil{}\def\FBbfil{\vss}\else
\if#1b\def\FBafil{\vss}\def\FBbfil{}\else
- \if#1c\def\FBafil{\vskip0ptplus1fillminus1000pt}\def\FBbfil{\vskip0ptplus1fillminus1000pt}\else
- \if#1s\def\FBafil{\vskip0ptminus1000pt}\def\FBbfil{\vskip0ptminus1000pt}%
+ \if#1c\def\FBafil{\vskip0ptplus1fillminus1000pt}%
+ \def\FBbfil{\vskip0ptplus1fillminus1000pt}\else
+ \if#1s\def\FBafil{\vskip0ptminus1000pt}%
+ \def\FBbfil{\vskip0ptminus1000pt}%
\fi\fi\fi\fi}
% \end{macrocode}
% \end{macro}
%
% \subsubsection{Facing Pages}
%
+% \begin{macro}{\FR@iffacing}
% \begin{macro}{facing}
% Defines, if necessary, flag for facing pages.
% \begin{macrocode}
-\DeclareFROpt{facing}[1]{\flrow@setbool{\FBiffacing}{#1}}
+\let\FR@iffacing\@secondoftwo
+\DeclareFROpt{facing}[1]{\flrow@setbool{facing}{#1}}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\FBiffacing}
% \begin{macro}{\FB@facing}
-% Flag and command for \texttt{facing=}.
+% Flag and command for |facing=|.
% \begin{macrocode}
-\let\FBiffacing\iffalse
\newcommand\FB@facing{}
% \end{macrocode}
% \end{macro}
@@ -8000,7 +8993,6 @@
% \begin{macro}{margins}
% \begin{macro}{\flrow@FBAlign}
% Declaring of option for |\floatbox| alignment and margins material.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{floatmarginsset} key.}
% \begin{macrocode}
\DeclareFROpt{margins}{\flrow@FBAlign{#1}}
% \end{macrocode}
@@ -8024,9 +9016,10 @@
% \end{macrocode}
% \end{macro}
%
-% Declaring of float box alignment.
-% \changes{v0.1g}{2005/07/15}{Added settings for \cmd{\LTleft} and
-% \cmd{\LTright} commands from \package{longtable} package.}
+% Declaring of float box alignment. We don't know whether \package{longtable}
+% is loaded. Since in original package (till version v4.11) these skips
+% were defined through |\newskip| command it is not harm to repeat this code
+% for a while.
% \begin{macrocode}
\newskip\LTleft\newskip\LTright
\DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}%
@@ -8040,17 +9033,11 @@
%
% \begin{macro}{\floatfacing}
% Defines settings accordingly to left (even) or right (odd) pages.
-% \changes{v0.1f}{2005/06/14}{Creation starred form for \cmd{\floatfacing}
-% to use separate settings for building of beside caption layout and
-% float environment margins.}
+% Starred from used for facing settings of float with beside captions.
% \begin{macrocode}
\newcommand\floatfacing{\@ifstar
{\@FC@hpos\floatfacing@}{\FB@facing\floatfacing@}}
-\newcommand\floatfacing@[2]{\@tempswafalse
- \FBiffacing\@tempswatrue\fi\if@twoside\@tempswatrue\fi
- \if@tempswa
- \ifodd\count@#1\else#2\fi
- \else#2\fi}
+\newcommand\floatfacing@[2]{\ifodd\count@#1\else#2\fi}
% \end{macrocode}
% \end{macro}
%
@@ -8072,12 +9059,10 @@
% |\FB@@mset| loaded definition of |\FB@facing| command. The temporary
% |\count@| get value of |\c@FBcnt|,
% which is usually equals to number of page where float appears.
-% \changes{v0.1f}{2005/06/14}{Removed \cmd{\FBiffacing} flag from
-% \cmd{\FB@@mset} macro.}
% \begin{macrocode}
\newcommand\FB@mset{\@ifstar{\FB@mset@}{\FB@@mset}}
\newcommand\FB@mset@[2]{%
- \def\FB@facing{\let\FBiffacing\iftrue\count@\c@FBcnt}%
+ \def\FB@facing{\let\FR@iffacing\@firstoftwo\count@\c@FBcnt}%
\@namedef{\FR@tmp leftmargin}{\floatfacing{#1}{#2}}%
\@namedef{\FR@tmp rightmargin}{\floatfacing{#2}{#1}}}
\newcommand\FB@@mset[2]{\def\FB@facing{}%
@@ -8109,8 +9094,6 @@
% \begin{macro}{objectset}
% \begin{macro}{justification}
% Declaring of option for float object contents' alignment.
-% \changes{v0.1f}{2005/06/14}{Added key \texttt{justification}
-% as analog to \cmd{\captionsetup} stuff.}
% \begin{macrocode}
\DeclareFROpt{objectset}{\flrow@FBoAlign{#1}}
\DeclareFROpt{justification}{\flrow@FBoAlign{#1}}
@@ -8119,25 +9102,20 @@
% \end{macro}
%
% \begin{macro}{\DeclareObjectSet}
-% The |\DeclareCaptionJustification|-twin.\\
+% The |\DeclareCaptionJustification|-twin (uses
+% caption's key-val settings).\\
% Macros for float object's contents justification and |\floatbox|
% alignment. This macro is allowed only in preamble.
-% \changes{v0.1f}{2005/06/14}{The code of \cmd{\DeclareObjectSet}
-% uses caption's key-val settings.}
% \begin{macrocode}
\let\DeclareObjectSet\DeclareCaptionJustification
\@onlypreamble\DeclareObjectSet
% \end{macrocode}
% \end{macro}
-% \changes{v0.1f}{2005/06/14}{\cmd{\DeclareObjectSet} bundle
-% removed---\package{floatrow}
-% package uses \file{caption} settings.}
%
% \begin{macro}{\flrow@FBoAlign}
-% |\caption@setjustification|-analog.\\
-% Command for \texttt{objectset=}
-% \changes{v0.1f}{2005/06/14}{The code of \cmd{\flrow@FBoAlign}
-% uses caption's key-val settings.}
+% |\caption@setjustification|-analog (uses
+% caption's key-val settings).\\
+% Command for |objectset=|
% \begin{macrocode}
\newcommand*\flrow@FBoAlign[1]{%
\@ifundefined{caption@hj@#1}%
@@ -8159,8 +9137,7 @@
% \subsubsection{Defining Float Width}
%
% \begin{macro}{floatwidth}
-% The float width settings mainly for plain float environments.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapsep} key.}
+% The float width settings mainly for plain floating environments.
% \begin{macrocode}
\DeclareFROpt{floatwidth}{\flrow@FBo@wd{#1}}
\let\FC@ifo@fil\iffalse
@@ -8168,7 +9145,7 @@
% \end{macro}
% \begin{macro}{\filFCOhsize}
% \begin{macro}{\nofilFCOhsize}
-% Flags and commands for \texttt{floatwidth=}.
+% Flags and commands for |floatwidth=|.
% \begin{macrocode}
\newcommand\filFCOhsize{\let\FC@ifo@fil\iftrue}
\newcommand\nofilFCOhsize{\let\FC@ifo@fil\iffalse}
@@ -8177,7 +9154,7 @@
% \end{macro}
% \end{macro}
% \begin{macro}{\flrow@FBo@wd}
-% \changes{v0.1f}{2005/06/14}{Macro uses \package{caption} macros.}
+% Settings for the width of object.
% \begin{macrocode}
\newcommand\flrow@FBo@wd[1]{%
\caption@ifinlist{#1}{none,sidefil}{\filFCOhsize
@@ -8191,11 +9168,10 @@
% \begin{macro}{capbesidesep}
% Option |floatrowsep| sets separations for beside float boxes
% in float row.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapsep} key.}
% \begin{macrocode}
\DeclareFROpt{floatrowsep}{\flrow@setFRsep\floatrowsep{#1}}
% \end{macrocode}
-% Option |subfloatrowsep| sets separations for beside captions.
+% Option |subfloatrowsep| sets separations for beside captions and objects.
% \begin{macrocode}
\DeclareFROpt{subfloatrowsep}{\flrow@setFRsep\subfloatrowsep{#1}}
% \end{macrocode}
@@ -8210,31 +9186,29 @@
% \begin{macro}{\flrow@setFRsep}
% \begin{macro}{\flrow@setFCsep}
% Next macros declare material, defined for usage as separator of
-% both float boxes in \env{floatrow} environment and for beside
+% both float boxes in |floatrow| environment and for beside
% object and caption.
%
-% The |\DeclareCaptionLabelSeparator|-twin.\\
+% The |\DeclareCaptionLabelSeparator|-twin (uses
+% caption's key-val settings).\\
% This macro is allowed only in preamble.
-% \changes{v0.1f}{2005/06/14}{Macro is \cmd{\let} to
-% \cmd{\DeclareCaptionLabelSeparator}.}
% \begin{macrocode}
\let\DeclareFloatSeparators\DeclareCaptionLabelSeparator
\@onlypreamble\DeclareFloatSeparators
% \end{macrocode}
%
-% The |\caption@setlabelseparator|-analog.\\
+% The |\caption@setlabelseparator|-analog (uses
+% caption's key-val settings).\\
% Command which defines settings for separators in float row, and
% between beside caption and float object.
-% \changes{v0.1f}{2005/06/14}{Macro uses \package{caption} macros.}
% \begin{macrocode}
\newcommand*\flrow@setFRsep[2]{%
\@ifundefined{caption@lsep@#2}%
{\flrow@error{Undefined float separator `#2'}}%
{\expandafter\let\expandafter#1\csname caption@lsep@#2\endcsname}}
% \end{macrocode}
-% A few options define possible separators.
-% \changes{v0.1f}{2005/06/14}{The \texttt{quad} and \texttt{none}
-% deleted (repeated from \package{caption}).}
+% A few options define possible separators. In float settings can be used the caption separators
+% |quad| and |none|.
% \begin{macrocode}
\DeclareFloatSeparators{columnsep}{\hskip\columnsep}
%\DeclareFloatSeparators{quad}{\quad}
@@ -8266,8 +9240,6 @@
% \begin{macro}{postcode}
% \begin{macro}{rowpostcode}
% Keys for building of float style (rules).
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{Precode} and
-% \texttt{Postcode} keys.}
% \begin{macrocode}
\DeclareFROpt{precode}{\flrow@FBrule\@@FRabove\@@FBabove{#1}}
\DeclareFROpt{rowprecode}{\flrow@FRrule\@@FRabove\@@FBabove{#1}}
@@ -8289,9 +9261,6 @@
% \begin{macrocode}
\newcommand\DeclareFloatVCode[2]{\@namedef{flrow@FBr@#1}{#2}}
\@onlypreamble\DeclareFloatVCode
-\newcommand\DeclareFloatPrecode{\DeclareFloatVCode}
-\newcommand\DeclareFloatMidcode{\DeclareFloatVCode}
-\newcommand\DeclareFloatPostcode{\DeclareFloatVCode}
% \end{macrocode}
% \end{macro}
%
@@ -8311,7 +9280,7 @@
\newcommand*\flrow@FRrule[3]{%
\@ifundefined{flrow@FBr@#3}%
{\flrow@error{Undefined rule `#3'}}%
- {\def#2{\FBiffloatrow\else\@nameuse{flrow@FBr@#3}\fi}%
+ {\def#2{\FBiffloatrow\relax{\@nameuse{flrow@FBr@#3}}}%
\expandafter\let\expandafter#1\csname flrow@FBr@#3\endcsname}}
% \end{macrocode}
% Vertical code between caption and object.
@@ -8339,23 +9308,21 @@
% and between caption and float.
%
% \begin{macro}{\FBstyle@reset}
-% Reset of all used layout settings.
-% \changes{v0.1f}{2005/06/14}{Added \cmd{\captop} macro as default caption
-% position.}
-% \changes{v0.2a}{2007/08/24}{Removed \cmd{\gdef}.}
+% Reset of all used layout settings. All settings localized---that allows
+% usage |\floatbox| inside |\floatbox|.
% \begin{macrocode}
\newcommand\FBstyle@reset{\let\FRifFBOX\iffalse\OADJfalse\CADJfalse\capbot
\def\@@FBskip{\vskip\captionskip}\def\@@FRabove{}\def\@@FRbelow{}%
\def\@@FBabove{}\def\@@FBbelow{}%
\def\FB@Bset{}\def\FB@frame{}\def\FBo@frame{}%
\def\FBo@wadj{}\def\FBo@hadj{}\def\FB@wadj{}\def\FB@hadj{}}
-\newcommand\@@FRabove{}\newcommand\@@FRbelow{}
-\newcommand\@@FBabove{}\newcommand\@@FBbelow{}
\newcommand\@@FBskip{\vskip\captionskip}
-\newcommand\FB@frame{}\newcommand\FBo@frame{}
-\newcommand\FBo@wadj{}\newcommand\FBo@hadj{}
-\newcommand\FB@wadj{}\newcommand\FB@hadj{}
-\newcommand\FB@Bset{}
+\@ifdefinable\@@FRabove{}\@ifdefinable\@@FRbelow{}
+\@ifdefinable\@@FBabove{}\@ifdefinable\@@FBbelow{}
+\@ifdefinable\FB@frame{}\@ifdefinable\FBo@frame{}
+\@ifdefinable\FBo@wadj{}\@ifdefinable\FBo@hadj{}
+\@ifdefinable\FB@wadj {}\@ifdefinable\FB@hadj{}
+\@ifdefinable\FB@Bset {}
% \end{macrocode}
% \end{macro}
%
@@ -8379,9 +9346,7 @@
% \end{macro}
%
% \begin{macro}{\flrow@fr@round}
-% Command for \texttt{framearound}.
-% \changes{v0.1f}{2005/06/14}{Macro uses \package{caption} macro
-% \cmd{\caption@ifinlist}.}
+% Command for |framearound|.
% \begin{macrocode}
\newcommand*\flrow@fr@round[1]{%
\caption@ifinlist{#1}{object,contents}{\let\FRifFBOX\iftrue
@@ -8397,9 +9362,9 @@
% \begin{macro}{framefit}
% \begin{macro}{frameset}
% This boolean key defines whether frame size fits to current |\hsize|.
-% \changes{v0.1f}{2005/06/14}{Removed \texttt{framereduce} key.}
% \begin{macrocode}
-\DeclareFROpt{framefit}[0]{\flrow@setbool{\FRifFIT}{#1}}
+\let\FR@ifFIT\@secondoftwo
+\DeclareFROpt{framefit}[0]{\flrow@setbool{FIT}{#1}}
% \end{macrocode}
% This key defines parameters for chosen frame.
% \begin{macrocode}
@@ -8411,13 +9376,12 @@
% \begin{macro}{\@@setframe}
% Macro which prepares box settings accordingly to predefined float layout.
% \begin{macrocode}
-\let\FRifFIT\iffalse
\newcommand\FB@BO@{FBo}\newcommand\FB@B@{}
\newcommand\@@setframe{%
\@namedef{\FB@BO@ @hadj}{\@nameuse{FB@\FB@B@ @reset}\FB@Bset
\@nameuse{FB@\FB@B@ @adj}}%
- \@namedef{\FB@BO@ @wadj}{\FRifFIT\@nameuse{FB@\FB@B@ @reset}\FB@Bset
- \@nameuse{FB@\FB@B@ @adj}\fi}%
+ \@namedef{\FB@BO@ @wadj}{\FR@ifFIT{\@nameuse{FB@\FB@B@ @reset}\FB@Bset
+ \@nameuse{FB@\FB@B@ @adj}}\relax}%
\@namedef{\FB@BO@ @frame}{\@nameuse{FB@\FB@B@ @reset}\FB@Bset
\@nameuse{FB@\FB@B@ @frame}}}
% \end{macrocode}
@@ -8435,9 +9399,8 @@
% |\hsize|; third defines default values of compensating material.
% \begin{macrocode}
\newcommand\FB@fbox@frame[1]{\hbox{%
- \FRifFIT\else\kern-\fboxrule\kern-\fboxsep\fi
- \fbox{#1}%
- \FRifFIT\else\kern-\fboxrule\kern-\fboxsep\fi}\ignorespaces}
+ \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}\fbox{#1}%
+ \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}}\ignorespaces}
\newcommand\FB@fbox@adj{\dimen@=2\fboxsep\advance\dimen@2\fboxrule}
\newcommand\FB@fbox@reset{\fboxsep3\p@\fboxrule.4\p@}
% \end{macrocode}
@@ -8445,18 +9408,41 @@
% \end{macro}
% \end{macro}
%
-% ^^A\subsection{Default Settings}
+% \subsection{Macros for Color Frame}
%
-% \begin{macro}{\flrow@setdefault}
-% (Macros analogous to |\caption@setdefault|. Commented.)
+% \begin{macro}{\FB@colorbox@frame}
+% \begin{macro}{\FB@colorbox@adj}
+% \begin{macro}{\FB@colorbox@reset}
+% First macro is the definition of frame style (here is |\colorbox|);
+% second defines compensating material to get frame fitted to current
+% |\hsize|; third defines default values of compensating material.
+% \changes{v0.2b}{2007/11/09}{The \cmd{\setcolorframe} deleted.}
% \begin{macrocode}
-%\newcommand\flrow@setdefault{\floatsetup{%
-% style=plain,capposition=bottom,
-% margins=centering,objectset=centering,
-% font=default,footfont=default,
-% }}
+\newcommand\FB@colorbox@frame[1]{\hbox{%
+ \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}\FB@fcolorbox{#1}%
+ \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}}\ignorespaces}
+\@ifdefinable\FB@colorbox@adj{\let\FB@colorbox@adj\FB@fbox@adj}
+\newcommand\FB@colorbox@reset{\fboxsep3\p@\fboxrule.4\p@}
+\newcommand\FB@fcolorbox{\fbox}
% \end{macrocode}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% This key defines parameters (definition) for color frame.
+% \begin{macrocode}
+\DeclareFROpt{colorframeset}{\flrow@fcolorbox{#1}}
+\newcommand*\flrow@fcolorbox[1]{%
+ \@ifundefined{flrow@fcolorbox@#1}%
+ {\flrow@error{Undefined color box `#1'}}%
+ {\expandafter\let\expandafter\FB@fcolorbox
+ \csname flrow@fcolorbox@#1\endcsname}}
+\newcommand*\DeclareColorBox[2]{%
+ \@ifundefined{color}{\flrow@error
+ {For usage of colored frames\MessageBreak load color package}}%
+ {\long\@namedef{flrow@fcolorbox@#1}{#2}}}
+% \end{macrocode}
%
% \subsubsection{Defining Float Skips}
%
@@ -8464,9 +9450,7 @@
% \begin{macro}{footskip}
% The following options define skips: first---between float object and
% caption (if it used in float style); second---before foot material
-% (footnote or other foot text).
-% \changes{v0.1f}{2005/06/14}{Defining also standard \cmd{\abovecaptionskip}
-% for compatibility with \package{caption}'s \cmd{\captionof}.}
+% (footnote or other foot text). The |\abovecaptionskip| used for compatibility with caption.
% \begin{macrocode}
\DeclareFROpt{captionskip}{\def\captionskip{#1}%
\setlength\abovecaptionskip{#1}}
@@ -8494,7 +9478,7 @@
%
% \begin{macro}{footnoterule}
% \begin{macro}{\flrow@footrule}
-% The definitions of |\footnoterule| inside float environment.
+% The definitions of |\footnoterule| inside floating environment.
% This macro is allowed only in preamble.
% \begin{macrocode}
\DeclareFROpt{footnoterule}{\flrow@footrule{#1}}
@@ -8547,8 +9531,8 @@
%
% Options for loading of fancy float styles. Commented.
% \begin{macrocode}
-\let\FR@iffancy\iffalse
-\DeclareFROpt{fancyboxes}{\flrow@setbool{\FR@iffancy}{#1}}
+\let\FR@iffancy\@secondoftwo
+\DeclareFROpt{fancyboxes}{\flrow@setbool{fancy}{#1}}
% \end{macrocode}
%
% \subsubsection{New Float Type Setup}
@@ -8556,7 +9540,6 @@
% \begin{macro}{\DeclareFNOpt}
% Declaring new float type like |\newfloat| does.
% These macros allowed only in preamble.
-% \changes{v0.1f}{2005/06/14}{Redefined \cmd{\DeclareFNOpt} (AS).}
% \begin{macrocode}
\newcommand\DeclareFNOpt{%
\@ifstar{\flrow@declfnopt\AtBeginDocument}
@@ -8565,11 +9548,9 @@
#1{\undefine@key{newfloat}{#2}}\define@key{newfloat}{#2}}
\@onlypreamble\DeclareFNOpt
% \end{macrocode}
-% \begin{macrocode}
-\newcommand\flnew@setdefault{\caption@setkeys[floatrow]{newfloat}
- {placement=tbp,fileext=lox}}
-% \end{macrocode}
-% The |\newtoks| for defining of float environments (using
+% \changes{v0.2b}{2007/09/24}{\cmd{\flnew@setdefault} removed.}
+%
+% The |\newtoks| for defining of floating environments (using
% |\flrow@restyle| command) at the end of preamble. (Took a leaf with
% settings for lists of floats from \package{float} package's book.)
% \changes{v0.1p}{2007/06/24}{Double code with \texttt{ftype@}\meta{captype}
@@ -8577,6 +9558,10 @@
% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to
% \cs{}\meta{floatname}\texttt{name} macros redefined locally.}
% \changes{v0.2a}{2007/08/24}{Corrected bug with \texttt{ftype@} definition (AS).}
+% \changes{v0.2b}{2007/09/24}{Defined default extension of list file in the same way as caption's
+% \cmd{\DeclareFloatingEnvironment}.}
+% \changes{v0.2b}{2007/09/24}{The definition of list entry layout moved here.}
+% \changes{v0.2b}{2007/09/24}{Corrected bugs with listof file and \cmd{\fps@}\meta{float type} commands.}
% \begin{macrocode}
\@ifdefinable\flrow@types{\newtoks\flrow@types}
\newcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}%
@@ -8584,16 +9569,13 @@
\addtocounter{float@type}{\value{float@type}}%
\@namedef{#1name}{#1}\newcounter{#1}%
\expandafter\edef\csname fnum@#1\endcsname
- {\expandafter\noexpand\csname #1name\endcsname\
+ {\expandafter\noexpand\csname #1name\endcsname\nobreakspace
\expandafter\noexpand\csname the#1\endcsname}%
- \@namedef{the#1}{\arabic{#1}}%
- \flnew@setdefault\caption@setkeys[floatrow]{newfloat}{#2}%
- \let\FR@tmp=\relax
+ \@namedef{the#1}{\arabic{#1}}\flnew@ext{lo#1}\@namedef{fps@#1}{tbp}%
+ \@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
+ \caption@setkeys[floatrow]{newfloat}{#2}\let\FR@tmp=\relax
\xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}%
- \@tempa
-% \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
-% \addtocounter{float@type}{\value{float@type}}
- }
+ \@tempa}
\@onlypreamble\DeclareNewFloatType
% \end{macrocode}
% Key for placement defining.
@@ -8634,14 +9616,9 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{relatedcapstyle}
-% The flag whether to use related caption style to float layout.
-% \begin{macrocode}
-\DeclareFNOpt*{relatedcapstyle}[0]{\flrow@setbool{\FR@ifCST}{#1}}
-% \end{macrocode}
-% \end{macro}
+%\changes{v0.2b}{2007/10/24}{The double definition of `relatedcapstyle' option deleted}
%
-% \subsubsection{Processing of floatsetup options}
+% \subsubsection{Processing of Floatsetup Options}
%
% \begin{macro}{\ProcessOptionsWithKV}
% As in caption style options are processed with usage of the
@@ -8696,7 +9673,7 @@
\let\CurrentOption\@empty
\AtEndOfPackage{\let\@unprocessedoptions\relax}}
\ProcessOptionsWithKV{floatrow}
-\FR@iffancy\RequirePackage{fr-fancy}\fi
+\FR@iffancy{\RequirePackage{fr-fancy}}\relax
\let\ProcessOptionsWithKV\undefined
% \end{macrocode}
% \end{macro}
@@ -8708,12 +9685,10 @@
% \begin{macrocode}
\AtBeginDocument{
\FR@ifrawfloats
- \let\FR@tmp\flrow@Raw@restyle
- \else
- \flrow@restyle{table}\flrow@restyle{figure}%
- \let\FR@tmp\flrow@restyle
- \fi
- \the\flrow@types
+ {\let\FR@tmp\flrow@Raw@restyle
+ }{\flrow@restyle{table}\flrow@restyle{figure}%
+ \let\FR@tmp\flrow@restyle
+ }\the\flrow@types
\@onlypreamble\flrow@restyle\@onlypreamble\flrow@Raw@restyle
\flrow@types={}}
% \end{macrocode}
@@ -8722,9 +9697,6 @@
%</floatsetup>
% \end{macrocode}
%
-% \changes{v0.1f}{2005/06/14}{The support for non-caption usage deleted.}
-% \changes{v0.1f}{2005/06/14}{The support for obsolete macros deleted.}
-%
% \begin{macrocode}
%<*frfancy>
\RequirePackage{fancybox}
@@ -8732,48 +9704,7 @@
%
% \subsection{Additional Definitions for Fancy Frames}
%
-% \subsection{Macros for Color Frame}
-%
-% \begin{macro}{\FB@colorbox@frame}
-% \begin{macro}{\FB@colorbox@adj}
-% \begin{macro}{\FB@colorbox@reset}
-% \begin{macro}{\setcolorframe}
-% First macro is the definition of frame style (here is |\colorbox|);
-% second defines compensating material to get frame fitted to current
-% |\hsize|; third defines default values of compensating material.
-% \begin{macrocode}
-\newcommand\FB@colorbox@frame[1]{\hbox{%
- \FRifFIT\else\kern-\fboxrule\kern-\fboxsep\fi
- \FB@fcolorbox{#1}%
- \FRifFIT\else\kern-\fboxrule\kern-\fboxsep\fi}\ignorespaces}
-\@ifdefinable\FB@colorbox@adj{\let\FB@colorbox@adj\FB@fbox@adj}
-\newcommand\FB@colorbox@reset{\fboxsep3\p@\fboxrule.4\p@}
-\newcommand\FB@colorbox{\fbox}
-% \end{macrocode}
-% Definition of color box (frame and fill color)
-% \begin{macrocode}
-\newcommand\setcolorframe[1]{\def\FB@fcolorbox{#1}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% This key defines parameters (definition) for color frame.
-% \begin{macrocode}
-\DeclareFROpt{colorframeset}{\flrow@fcolorbox{#1}}
-\newcommand*\flrow@fcolorbox[1]{%
- \@ifundefined{flrow@fcolorbox@#1}%
- {\flrow@error{Undefined color box `#1'}}%
- {\expandafter\let\expandafter\FB@fcolorbox
- \csname flrow@fcolorbox@#1\endcsname}}
-\newcommand*\DeclareColorBox[2]{%
- \@ifundefined{color}{\flrow@error
- {For usage of colored frames\MessageBreak load color package}}%
- {\long\@namedef{flrow@fcolorbox@#1}{#2}}}
-% \end{macrocode}
-%
-% \subsection{Macros for Fancy Frames}
+% \FRorisubsubsection{Macros for Fancy Frames}
%
% \begin{macro}{\FB@wshadowbox}
% The variant of shadowbox with white contoured shadow.
@@ -8801,9 +9732,8 @@
% |\hsize|; third defines default values of compensating material.
% \begin{macrocode}
\newcommand\FB@shadowbox@frame[1]{\hbox{%
- \FRifFIT\else\hskip-\fboxrule\hskip-\fboxsep\fi
- \FBs@raise{\shadowbox{#1}}%
- \FRifFIT\else\kern-\fboxrule\kern-\fboxsep\kern-\shadowsize\fi}}
+ \FR@ifFIT\relax{\hskip-\fboxrule\hskip-\fboxsep}\FBs@raise{\shadowbox{#1}}%
+ \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep\kern-\shadowsize}}}
\newcommand\FB@shadowbox@adj{\dimen@=2\fboxsep
\advance\dimen@2\fboxrule\advance\dimen@\shadowsize}
\newcommand\FB@shadowbox@reset{\fboxsep3\p@\fboxrule.4\p@\shadowsize4\p@}
@@ -8815,16 +9745,15 @@
% \begin{macro}{\FB@wshadowbox@frame}
% \begin{macro}{\FB@wshadowbox@adj}
% \begin{macro}{\FB@wshadowbox@reset}
-% The definition for frame \texttt{wshadowbox}---similar to
-% \texttt{shadowbox} from \package{fancybox}.
+% The definition for frame |wshadowbox|---similar to
+% |shadowbox| from \package{fancybox}.
% First macro is the definition of frame style (here is |\wshadowbox|);
% second defines compensating material to get frame fitted to current
% |\hsize|; third defines default values of compensating material.
% \begin{macrocode}
\newcommand\FB@wshadowbox@frame[1]{\hbox{%
- \FRifFIT\else\hskip-\fboxrule\hskip-\fboxsep\fi
- \FBs@raise{\wshadowbox{#1}}%
- \FRifFIT\else\kern-\fboxrule\kern-\fboxsep\kern-\shadowsize\fi}}
+ \FR@ifFIT\relax{\hskip-\fboxrule\hskip-\fboxsep}\FBs@raise{\wshadowbox{#1}}%
+ \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep\kern-\shadowsize}}}
\@ifdefinable\FB@wshadowbox@adj{\let\FB@wshadowbox@adj\FB@shadowbox@adj}
\newcommand\FB@wshadowbox@reset{\fboxsep3\p@\fboxrule.4\p@\shadowsize4\p@}
% \end{macrocode}
@@ -8840,9 +9769,8 @@
% |\hsize|; third defines default values of compensating material.
% \begin{macrocode}
\newcommand\FB@doublebox@frame[1]{\hbox{%
- \FRifFIT\else\kern-4.75\fboxrule\kern-.5pt\kern-\fboxsep\fi
- \doublebox{#1}%
- \FRifFIT\else\kern-4.75\fboxrule\kern-.5pt\kern-\fboxsep\fi}}
+ \FR@ifFIT\relax{\kern-4.75\fboxrule\kern-.5pt\kern-\fboxsep}\doublebox{#1}%
+ \FR@ifFIT\relax{\kern-4.75\fboxrule\kern-.5pt\kern-\fboxsep}}}
\newcommand\FB@doublebox@adj{\dimen@=2\fboxsep
\advance\dimen@7.5\fboxrule\advance\dimen@\p@}
\newcommand\FB@doublebox@reset{\fboxsep3\p@\fboxrule.4\p@}
@@ -8901,7 +9829,7 @@
%<*floatpagestyle>
% \end{macrocode}
%
-% \subsection{Empty Floating page}
+% \subsection{Empty Floating Page}
%
% Here goes small sneaky-tricky style to put desired page style
% for one floating page.
@@ -8947,9 +9875,8 @@
% \end{macro}
%
% \begin{macro}{\@outputpage}
-% Edited \LaTeX{} core macro (release 2001/06/01)
-% \changes{v0.1h}{2005/10/02}{Optimization: the patch instead of
-% redefinition of \cmd{\@outputpage} command}
+% The |\@chkfloatpage| added at as a patch at the very beginning of
+% current definition of |\@outputpage| command.
% \begin{macrocode}
\AtBeginDocument
{\@ifdefinable\FBori@outputpage{\let\FBori@outputpage\@outputpage}
@@ -8962,9 +9889,6 @@
%</floatpagestyle>
% \end{macrocode}
%
-%
-%
-%
% \begin{macrocode}
%<*listpen>
% \end{macrocode}
@@ -9041,11 +9965,42 @@
% \end{macro}
%
% \begin{macro}{\RestoreSpaces}
-% \changes{v0.1b}{2007/05/24}{Adding definition of \cmd{\RestoreSpaces} command}
+% \begin{macro}{\RemoveSpaces}
% A simple command to turn off |\if@nobreak| flag.
% \begin{macrocode}
-\providecommand\RestoreSpaces{\@nobreakfalse}
+\newcommand\RestoreSpaces{\@nobreakfalse}
% \end{macrocode}
+% Opposite command. Turns on |\if@nobreak| flag.
+% \begin{macrocode}
+\newcommand\RemoveSpaces {\@nobreaktrue}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\newseparatedlabel}
+% \begin{macro}{\newseparatedref}
+% \begin{macro}{\makelabelseparator}
+% A simple command to create combined label in `label\meta{sep}sublabel' variant.
+% \begin{macrocode}
+\newcommand\newseparatedlabel[3]{%
+ \@ifdefinable#1{%
+ \def#1##1{\protected@edef\@currentlabel{\string
+ \LP@label@sep {\csname the#3\endcsname}}\label{sub##1}%
+ \protected@edef\@currentlabel{\csname the#2\endcsname
+ \string\LP@label@sep {\csname the#3\endcsname}}\label{##1}}}}
+% \end{macrocode}
+% Command which switch on the necessary \meta{sep}.
+% \begin{macrocode}
+\newcommand\newseparatedref[2]{\@ifdefinable#1{\def#1##1{{\def\LP@label@sep{#2}\ref{##1}}}}}
+% \end{macrocode}
+% The definition-check of existence of command name, which will be used for separator.
+% The second command defines this label separator globally.
+% \begin{macrocode}
+\@ifdefinable\LP@label@sep{}
+\newcommand\makelabelseparator[1]{\def\LP@label@sep{#1}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
% \end{macro}
%
% \begin{macrocode}
@@ -9067,7 +10022,7 @@
%<*frforsubfig>
% \end{macrocode}
%
-% \subsection{Support for \package{subfig} Package}
+% \subsection{Support for The \package{subfig} Package}
%
% \changes{v0.2a}{2007/08/24}{Added compatibility check.}
% \begin{macrocode}
@@ -9096,11 +10051,6 @@
%
% \begin{macro}{\adjustsubfloats}
% The user command which loaded at the end of row of subcaptions.
-% \changes{v0.1f}{2005/06/14}{Removed \cmd{\FB@subfloat} and
-% \cmd{\FB@subcaption} definitions: the code for \env{subfloatrow}
-% support placed in \package{subfig}'s definitions.}
-% \changes{v0.1f}{2005/06/14}{The \cmd{\xdef} changed to local
-% \cmd{\edef}.}
% \begin{macrocode}
\newcommand\adjustsubfloats{\@tempswafalse
\ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
@@ -9114,9 +10064,9 @@
% \end{macrocode}
% \end{macro}
%
-% \subsubsection{Small Correction of \package{subfig} Macro}
+% \subsubsection{Small Correction of The \package{subfig} Macro}
%
-% There is a \package{subfig}'s macro with corrections to put
+% There is a \package{subfig}'s macro with corrections wich allow to put
% alone subfloat label.
% \begin{macrocode}
\long\def\sf@@@subfloat#1[#2][#3]#4{%
@@ -9354,7 +10304,7 @@
%
% Macro for creation of subfloat label only. That could be useful
% for usage with \package{psfrag} package, placing labels inside
-% \env{picture} environment, using in tabulars etc.
+% |picture| environment, using in tabulars etc.
% \begin{macrocode}
\newcommand\subfloatlabel{\@ifnextchar[%]
{\flrow@subfloatlabel}{\subfloat[]{}}}
@@ -9370,8 +10320,14 @@
{\flrow@@subfloatlabel[#1]}%
{\subfloat[]{}\endgroup}}
\@ifdefinable\flrow@@subfloatlabel{}
+\@ifundefined{newseparatedlabel}\@tempswatrue\@tempswafalse
+\if@tempswa
+ \def\FRsf@Flabel{\label}
+\else
+ \newseparatedlabel\FRsf@Flabel{\@captype}{sub\@captype}
+\fi
\def\flrow@@subfloatlabel[#1][#2]{%
- \subfloat[]{\label{#2}}\endgroup}
+ \subfloat[]{\FRsf@Flabel{#2}}\endgroup}
% \end{macrocode}
%
% \begin{macrocode}
@@ -9393,7 +10349,7 @@
%<*forlongtable>
% \end{macrocode}
%
-% \subsection{Support for \package{longtable} Package}
+% \subsection{Support for The \package{longtable} Package}
%
% First goes requirement of necessary packages.
% \begin{macrocode}
@@ -9403,8 +10359,6 @@
%
% \subsubsection{Caption Width Settings}
%
-% \changes{v0.1g}{2005/07/15}{The \package{longtable} support moved inside
-% \package{floatrow} package.}
% To follow layout for tables which need size of caption equal to width
% of table, here added a code which catches width of table from
% \file{aux}-file and sets to |\LTcapwidth| parameter (great thanks
@@ -9417,11 +10371,8 @@
\renewcommand\LT@array{%
% \end{macrocode}
% Here are added settings for table font (similar to other table
-% environments).
-% \changes{v0.1j}{2006/07/24}{The \cmd{\belowcaptionskip} is set
-% equal to \cmd{\captionskip}.}
-% \changes{v0.1p}{2006/07/24}{Definition for table foot
-% material: \cmd{\floatfoot}.}
+% environments) skip after caption (\cmd{\belowcaptionskip} is set
+% equal to \cmd{\captionskip}).
% \begin{macrocode}
\flrow@setlist{{table}{longtable}}\flrow@useLTcapwidth\normalfont\floatfont
\belowcaptionskip\captionskip
@@ -9442,14 +10393,18 @@
\def\LT@entry####1####2{\advance\LTcapwidth####2}\LT@save@row\relax
\ifdim\LTcapwidth=\z@\else\global\LTcapwidth\LTcapwidth\fi
\endgroup\fi}}%
- \def\floatfoot@{%\par\kern-\normalbaselineskip\kern-\normallineskip
- \vskip\floatfootskip\def\@captype{table}\floatfoot@box}%
+% \end{macrocode}
+% Definition for table foot
+% material (\cmd{\floatfoot}).
+% \begin{macrocode}
+ \def\floatfoot@{\vskip\floatfootskip
+ \def\@captype{table}\floatfoot@box}%
% \end{macrocode}
% At last goes \package{longtable}'s macro itself.
% \begin{macrocode}
\flrow@oriLT@array}
% \end{macrocode}
-%
+% The repeated defintions in the case of separate usage of \package{fr-longtable} package.
% \begin{macrocode}
\providecommand\floatfont{}
\providecommand\floatfootskip{\skip\@mpfootins}
@@ -9457,7 +10412,6 @@
\providecommand\floatfoot@box[1]{%
% \end{macrocode}
% The |\if@@FS| flag stored for \env{wrap...} environments.
-% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}}
% \begin{macrocode}
% \hsize\columnwidth\linewidth\columnwidth
\@parboxrestore\reset@font\color@begingroup
@@ -9471,14 +10425,13 @@
\caption@setoptions{floatfoot}%
% \end{macrocode}
% No captionlabel.
-% \changes{v0.1k}{2007/05/24}{Added settings for emptied caption label}
% \begin{macrocode}
\captionsetup{labelformat=empty,labelsep=none}%
\caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}%
\color@endgroup}
% \end{macrocode}
%
-% The definition of caption width for \env{longtable} environment.
+% The definition of caption width for |longtable| environment.
% \begin{macrocode}
\let\FBifLTcapwidth\@gobble
\providecommand\caption@ifinlist[2]{%
@@ -9489,22 +10442,29 @@
\let\next\@firstoftwo
\fi}%
\next}
+% \end{macrocode}
+%
+% \begin{macrocode}
\newcommand*\flrow@useLTcapwidth{}
+% \end{macrocode}
+%
+% \begin{macrocode}
\newcommand*\setLTcapwidth[1]{%
\caption@ifinlist{#1}{table,contents,LTcapwidthtotable}{\def\flrow@useLTcapwidth
{\let\FBifLTcapwidth\@firstofone}}{\def\flrow@useLTcapwidth
{\let\FBifLTcapwidth\@gobble\setlength\LTcapwidth{#1}}}}
\@ifpackageloaded{floatrow}
{\DeclareFROpt{LTcapwidth}{\setLTcapwidth{#1}}
- \DeclareOption{LTcapwidthtotable}{\setLTcapwidth{table}}
+ \DeclareOption{table}{\setLTcapwidth{table}}
\ProcessOptions
}
{\DeclareOption{LTcapwidthtotable}{\setLTcapwidth{table}}
+ \DeclareOption{table}{\setLTcapwidth{table}}
\ProcessOptions
\let\flrow@setlist\@gobble}
% \end{macrocode}
%
-% \subsubsection{Additional Settings for Last Head and Pre-last Foot}
+% \subsubsection{Additional Settings for Last Head and Pre-Last Foot}
%
% The box for last head. Defined in the same way as analog macros in
% \package{longtable} package.
@@ -9517,16 +10477,9 @@
\newcounter{FBLTpage}
% \end{macrocode}
%
-% This command defines number of pages in current longtable.
-% In current version defined by hand for
-% each table. The default number is~2.
-% \begin{macrocode}
-%\newcommand\LTlastpage{2}
-% \end{macrocode}
-%
% Storing of original definition of |\longtable| macro.
-% In new definition was is added counting of longtable's pages
-% with \texttt{FBLTpage} counter defined before.
+% In the new definition was added counting of |longtable|'s pages
+% with |FBLTpage| counter defined before.
% \begin{macrocode}
\@ifdefinable\FB@ori@longtable{\let\FB@ori@longtable\longtable}
\def\longtable{%
@@ -9535,7 +10488,7 @@
% \end{macrocode}
%
% Storing original definition of |\LT@ouput| macro.
-% Here, in new definition, added increasing of \texttt{FBLTpage}.
+% Here, in new definition, added increasing of |FBLTpage|.
% In the case of defined |\lasthead| contents and last page was
% checked, the contents of last head loaded.
% \begin{macrocode}
@@ -9554,7 +10507,7 @@
% |\flrow@LTlastpage| (why???).
% \begin{macrocode}
\ifvoid\flrow@LT@prelastfoot\else
- \count@\flrow@LTlastpage\relax%\advance\count@\m@ne\relax
+ \count@\flrow@LTlastpage\relax
\ifnum\value{FBLTpage}=\count@
\let\LT@foot\flrow@LT@prelastfoot
\fi
@@ -9609,8 +10562,8 @@
\immediate\write\@auxout{%
\gdef\expandafter\noexpand
\csname FBLTpage@\romannumeral\c@LT@tables\endcsname
- {\string\gdef\string\flrow@LTlastpage{\the\c@FBLTpage}}
- }}
+ {\string\gdef\string\flrow@LTlastpage{\the\c@FBLTpage}}%
+ }}%
\fi
}
% \end{macrocode}