<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% \iffalse
%    floatrow.dtx - The float row package (extension of float package)
%    (c) 2004-2007 Olga Lapko (Lapko.O@g23.relcom.ru)
%
%    This package borrowed code (core parts) from:
%    float package 2001/11/08 v1.3d,
%       Copyright (c) 1991-2000 Anselm Lingnau
%    rotfloat package, 2002/02/02 v1.1,
%       Copyright (c) 1995-2002 Axel Sommerfeldt
%
%    During creation of floatsetup stuff there was borrowed code structure
%    from caption package v3.x ((c) 1994-2007 Axel Sommerfeldt)
%
%    This program is provided under the terms of the
%    LaTeX Project Public License distributed from CTAN
%    archives in directory macros/latex/base/lppl.txt.
%
%&lt;*dtx&gt;
          \ProvidesFile{floatrow.dtx}
%&lt;/dtx&gt;
%&lt;floatrow,frfancy,floatpagestyle,listpen,frforsubfig,forlongtable&gt;\NeedsTeXFormat{LaTeX2e}[1995/06/01]
%&lt;floatrow&gt;\ProvidesPackage{floatrow}
%&lt;frfancy&gt;\ProvidesPackage{fr-fancy}
%&lt;floatpagestyle&gt;\ProvidesPackage{floatpagestyle}
%&lt;listpen&gt;\ProvidesPackage{listpen}
%&lt;frforsubfig&gt;\ProvidesPackage{fr-subfig}
%&lt;forlongtable&gt;\ProvidesPackage{fr-longtable}
%
%         \ProvidesFile{floatrow.dtx}
%&lt;floatrow&gt;       [2008/03/28 v0.2c floatrow: float package extension]
%&lt;frfancy&gt;       [2007/11/28 v0.1i floatrow: fancy boxes]
%&lt;floatpagestyle&gt;       [2005/10/02 v0.1h floating page style]
%&lt;listpen&gt;       [2007/10/28 v0.1d list penalty managing]
%&lt;frforsubfig&gt;       [2007/12/24 v0.1g (beta) floatrow: additions for subfig]
%&lt;forlongtable&gt;       [2007/11/28 v0.1b (beta) floatrow: additions for longtable]
%
%&lt;*driver&gt;
\input pictures
\documentclass[twoside]{ltxdoc}

\makeatletter%^^A -----------------------

\usepackage{calc}
\usepackage{tabularx,array}

\ifx\pdfoutput\undefined \else
  \ifcase\pdfoutput \else
    \usepackage{mathptm}\def\ttdefault{pxtt}
    \usepackage[scaled=0.90]{helvet}
  \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}}{}

\IfFileExists{fancyhdr.sty}{\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead{}\fancyfoot{}
\fancyhead[LE]{\setlength{\dimen@}{\marginparwidth+\marginparsep}%^^A
          \leavevmode\hbox to\dimen@{\normalsize\bfseries\thepage\hfil}
          \ignorespaces{\nouppercase\leftmark}\hfil\strut}
\fancyhead[LO]{\setlength{\dimen@}{\marginparwidth+\marginparsep}%^^A
          \leavevmode\hbox to\dimen@{}
          \ignorespaces{\nouppercase\rightmark}\hfill\hbox to2em{\hfil\normalsize\bfseries\thepage}\strut}
\fancyheadoffset[L]{\marginparwidth+\marginparsep}
}{}

\usepackage[font=small,labelfont=bf,labelsep=period,
            justification=centerlast]
            {caption}[2007/04/11]

\usepackage[format=default,justification=centerlast,
            labelfont=up,captionskip=5pt]
            {subfig}[2005/06/28]

\IfFileExists{rotating.sty}{\usepackage[figuresright]{rotating}}{}

\usepackage{longtable}
\usepackage{wrapfig}
%\usepackage{psfrag}
\usepackage[vflt]{floatflt}
\usepackage{picins}
%^^A\RequirePackage[writefile]{listings}[2004/09/07]

\usepackage[font=small,captionskip=5pt,
   footskip=.5\skip\footins,footnoterule=fullsize,
   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}

\usepackage{color}
\definecolor{gray}{gray}{.5}
\definecolor{emphblue}{rgb}{0,0,0.5}
\def\emphcolor{\color{emphblue}}

\usepackage[
    linktocpage,
    hyperindex,%
    plainpages=false,%
    bookmarksopenlevel=1,%
    bookmarksnumbered=false,%
    pdfview=FitH,
    pdfstartview=FitH,
   ]{hyperref}
\usepackage{hypcap}

\def\@linkbordercolor{1 .5 .5}

\ifx\pdftexversion\undefined
  \IfFileExists{pstricks.sty}{\usepackage{pstricks,pst-eps}}{}
\else\ifcase\pdfoutput
  \IfFileExists{pstricks.sty}{\usepackage{pstricks}}{}
\or
%^^A  \IfFileExists{pdftricks.sty}{
%^^A  \usepackage{pdftricks}
%^^A  }{}
\fi\fi
\ifx\pdfdisplay\undefined\else
  \begin{psinputs}
  \usepackage{pstricks}
  \end{psinputs}
\fi

\IfFileExists{makecell.sty}{\usepackage{makecell}}{}

\@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}}{}
\floatsetup[table]{style=Plaintop,footnoterule=none}

%^^A -----------------------
\floatstyle{ruled}
\newfloat{Program}{tbp}{lop}[section]

\DeclareNewFloatType{Example}{placement=tb,
    within=section,fileext=loe}

\newfloatcommand{fcapsideleft}{figure}[{\capbeside
  \captionsetup[capbesidefigure]{labelsep=newline,
   justification=raggedleft}%
   \thisfloatsetup{capbesideposition=left}}][\FBwidth]
\newfloatcommand{fcapsideright}{figure}[{\capbeside
  \captionsetup[capbesidefigure]{labelsep=newline,
   justification=raggedright}%
   \thisfloatsetup{capbesideposition=right}}][\FBwidth]

\DeclareFloatStyle{MyBoxed}{style=Boxed,
  captionskip=5pt,frameset={\fboxrule1pt\fboxsep12pt}}

\DeclareFloatVCode{lowthickrule}{\par\vskip2pt\rule{\hsize}{.8pt}\par}
\DeclareFloatVCode{grayruleabove}{{\color{gray}\par\rule\hsize{2.8pt}\vskip4pt\par}}
\DeclareFloatVCode{grayrulebelow}{{\color{gray}\par\vskip4pt\rule\hsize{2.8pt}}}

\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}}

\DeclareMarginSet{hangleft}{\setfloatmargins
    {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}
\DeclareMarginSet{hangtoheads}{\setfloatmargins
    {\hfil}{\hskip-.7\headheight\hskip-\headsep}}

\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 -----------------------
\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2}

\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}

%^^A -----------------------

\advance\oddsidemargin.25\marginparwidth
\evensidemargin\oddsidemargin
\@mparswitchfalse
\widowpenalty10000
\clubpenalty10000
\@beginparpenalty10000
\@itempenalty1000
\@endparpenalty0
\tolerance2000
\hbadness8000
\vbadness5000
\hfuzz7pt
\def\l@subsection{\@dottedtocline {2}{1.5em}{2.7em}}
\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
   \@tempdima\ht0\advance\@tempdima\dp0%^^A
   \ifdim\@tempdima&gt;#2
     \setlength\unitlength{#2/#4}\ifx\pspicture\undefined
       \else\psset{unit=\unitlength}\fi
     {#5}\else\box0\fi}

\providecommand*{\file}[1]{\texttt{#1}}
\providecommand*{\package}[1]{\textsf{#1}}
\providecommand*{\cls}[1]{\textsf{#1}}
\providecommand*{\env}[1]{\texttt{#1}}
\providecommand*{\meta}[1]{$\langle$\textit{#1}$\rangle$}

\newenvironment{Options}[1]%
  {\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}}}%
  {\endlist}

\newenvironment{Quote}[1][\parindent]{\par\hfuzz30pt\setlength{\leftmargini}{#1}\RestoreSpaces
    \small\begin{quote}\obeylines\parskip0pt}{\end{quote}\par\@endpetrue}
\def\OptionLabel{RaggedRight}

\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
    \leavevmode\everypar{\@nobreakfalse}\@bsphack
   \begingroup\MakePrivateLetters\Describe@Macro}
\def\DescribeEnv{\let\outer@nobreak\@nobreaktrue
    \leavevmode\everypar{\@nobreakfalse}\@bsphack
    \begingroup\MakePrivateLetters\Describe@Env}

\newcommand\FRmpar{\@ifstar{\@nobreaktrue\xFRmpar}{\xFRmpar}}

\newcommand\xFRmpar[2]{\label{#2}\marginpar{\footnotesize
    \raggedleft\advance\leftskip.3\hsize#1}}

\providecommand\sectionname{section}
\newcommand\seeIntro{\hyperref[sec:intro]{Intro}}

\makeatother%^^A---------------------------------

\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}
%&lt;/driver&gt;
% \fi
%
% \CheckSum{5094}
%
%
% \changes{v0.1e}{2005/03/22}{The user documentation loaded inside
%   \file{floatrow.dtx}.}
%
% \GetFileInfo{floatrow.dtx}
%
%   \ifx\pspicture\undefined\else\psset{unit=1pt}\fi
%
%   \def\fileversion{v0.2c}
%   \def\filedate{2008/03/28}
%   \title{The \package{floatrow} package\thanks{This
%          file has version number \fileversion, last revised
%          \filedate.}}
%
%   \author{%
%   Olga Lapko\\
%   {\tt Lapko.O@g23.relcom.ru} }
%   \date{\filedate}
%   \maketitle
%
%   \begin{abstract}\openup.5pt
%   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
%   \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 of one type without
%   adding any repeated code in the document; besides, this package allows to
%   create new float types; it deals only
%   with alone (plain) combinations ``object (float contents)---caption''.
%
%   The \package{rotfloat}
%   package changes environments of rotated floats (the \env{sideways...}
%   environment of \package{rotating} package)
%   to adapt them to \package{float}'s settings.
%
%   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 types;
%   \item
%   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 |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.
%   two-column or rotated float.
%   \end{itemize}
%
%   The \package{floatrow} package is cooperated with \package{caption} package
%   (\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.
%   \medskip
%
%   \begingroup
%   \slshape
%   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 (float box)]
%   could include \emph{object}, \emph{caption}, and
%   \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 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]means |tabular| or graphics, as contents of table
%   (|table|) or figure (|figure|) or other type of float;
%
%   \item[caption]means text in |\caption|;
%
%   \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}
%
% \begingroup\small
% \vspace{2ex}\pdfbookmark[1]{Frequently Appeared Design}{FAD}\nopagebreak\centerline{\textbf{Frequently Appeared Design}\nopagebreak}
% \begin{multicols}{2}\raggedright\advance\rightskip1em
%   \makeatletter\let\item\@idxitem\ignorespaces\makeatother
%   \def\sectionname{sec.}
%^^A%   \item{``Anchored'' float (option~|H|)}
%^^A%       \strut\pfill
%^^A%       \textsl{\sectionname}~\ref{sec:floatborrowII}
%
%   \item{Caption}
%       \subitem{above float (|table|'s object, |\ttabbox|)\kern-1em\allowbreak}
%           \strut\pfill
%           \textsl{{\seeIntro}},~%^^A
%           \textsl{\sectionname}~\ref{sec:floatbox}
%
%       \subitem{beside float (|figure|'s object, |\fcapside|)}
%           \strut\pfill
%           \textsl{{\seeIntro}},~%^^A
%           \textsl{\sectionname}~\ref{sec:floatbox}
%
%       \subitem{width equals to |longtable|'s (|LTcapwidth=| key)}
%           \strut\pfill
%           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}
%
%   \item{Layout of Float types (|\floatsetup|)}
%       \strut\pfill
%       \textsl{\sectionname}~\ref{sec:floatsetup}
%
%   \item{Float}\nopagebreak
%      \subitem{box (|\floatbox|)}
%           \strut\pfill
%           \textsl{\sectionname}~\ref{sec:floatbox};
%           \subsubitem{figure box (|\ffigbox|)}
%               \strut\pfill
%               \textsl{{\seeIntro}},~%^^A
%               \textsl{\sectionname}~\ref{sec:floatbox}
%
%          \subsubitem{table box (|\ttabbox|)}
%               \strut\pfill
%               \textsl{{\seeIntro}},~%^^A
%               \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}
%          \subsubitem{empty (special) page style (|\emptyfloatpage|)}
%               \strut\pfill
%               page~\pageref{FAD:emptyfloatpage}
%
%          \subsubitem{placing on the facing pages}
%               \strut\pfill
%               page~\pageref{FAD:ContRotated}
%
%       \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}
%
%           \subsubitem{float(box) in the row occupies the rest space}
%           \emph{see}~{float box width, the rest space of the row}
%
%           \subsubitem{floats of different types side by side}
%               \strut\pfill
%               page~\pageref{FAD:MixedRowII},
%                    \pageref{FAD:MixedRow}
%
%       \subitem{like in plain \LaTeX\ (|\RawFloats|)}
%           \strut\pfill
%           \textsl{\sectionname}~\ref{sec:rawfloats}
%
%       \subitem{wrapped}
%               \strut\pfill
%               \textsl{\sectionname}~\ref{ssec:wrapfig}--\ref{ssec:picins}
%
%   \item{Footnote inside float}
%       \strut\pfill
%       \textsl{\sectionname}~\ref{sec:floatfootnote}
%
%       \subitem{footnote mark
%           (|\mpfootnotemark|)\kern-1em\allowbreak}
%           \strut\pfill
%           page~\pageref{FAD:FnoteInsideFloat}
%
%   \item{Legend-like macro (|\floatfoot|)}
%       \strut\pfill
%       \textsl{\sectionname}~\ref{subsec:floatfoot}
%
%   \item{Subfloat}
%       \strut\pfill
%       \subitem{subcaption above}
%           \strut\pfill
%           page~\pageref{FAD:subcapabove}
%       \subitem{subfloat label beside}
%           \strut\pfill
%           page~\pageref{FAD:sublabelbeside}
% \end{multicols}%
% \endgroup
%
%   \clearpage
%   \begingroup\addtocounter{lofdepth}1\addtocounter{lotdepth}1
%   \small
%   \pdfbookmark[1]{Contents}{TOC}\nopagebreak\tableofcontents
%   \pdfbookmark[1]{List of Figures}{LOF}
%       \nopagebreak\listoffigures
%   \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{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}
%
%   \subsubsection{Loading The Package}\label{sec:load}
%
%   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}). Let's look at the first example with plain \LaTeX{}
%   layout:%^^A
%   \FRmpar{Caption above table object}{FAD:CaptionAbove}%^^A
%\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}}|\nopagebreak
%|\end{table}|\vspace*{-\intextsep}
%\end{Quote}
%\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}) with plain \LaTeX{}
%       layout}\label{intro:table}}
%     {\jot2pt\begin{tabular}{|c|c|c|}
%      \hline
%       \thead{First column} &amp; \thead{Second column} &amp; \thead{Third column} \\
%      \hline
%       A &amp; B &amp; C \\
%       D &amp; E &amp; F \\
%      \hline
%      \end{tabular}}
%   \end{table}%^^A
%\endgroup
%
%   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}|
%|\|\FRkey[FB]{ffigbox}
%|  {\caption{A simple figure ...}\label{...}}|
%|  {...}|
%|\end{figure}|\vspace*{-\intextsep}
%\end{Quote}
%\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}}
%     {\unitlength1\unitlength\input{Doll.picture}}
%   \end{figure}%^^A
%\endgroup
%   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[\|\FRkey[FB]{FBwidth}|]|
%|  {\caption{A figure}\label{...}}|
%|  {...}|
%|\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.44\unitlength\input{Horse.picture}}
%   \end{figure}%^^A
%\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. (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}
%|...|
%  |\usepackage|{\emphcolor|[|%^^A
%       \FRkey{capbesideposition}|=inside,|%^^A
%       \FRkey{facing}|=yes,|\FRkey{capbesidesep}|=quad]|}|{floatrow}|
%\end{preamble}
%|\begin{figure}|
%|\|\FRkey[FB]{fcapside}
%|  {\caption{...}\label{...}}|
%|  {...}|
%|\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
%   (width of caption equals to the width of 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}}
%   {{\setlength\unitlength{3.5cm/100}%^^A
%   \input{Bear.picture}}}
%   \end{figure}
%\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
%   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}
%|...|\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 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.5cm/100}%^^A
%   \input{Bear.picture}}}
%   \end{figure}
%\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|&gt;{\phantom0}c|&gt;{\phantom0}c|}
%     \hline
%     \multirowthead{2}[-1ex]{Left Column Head}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%     \\\hline
%     First row    &amp;         1 &amp;         2 \\
%     Second row   &amp;         3 &amp;         4 \\
%     Third row    &amp;         6 &amp;         8 \\
%     Fourth row   &amp; \llap{1}0 &amp; \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}
%                  &amp; \multicolumn{3}{c|}{\thead{Data}} \\
%                  \cline{2-4}
%                  &amp; \thead{I}      &amp; \thead{II}      &amp; \thead{III}        \\
%     \hline
%     First row    &amp; 1      &amp; 2       &amp; \phantom01 \\
%     Second row   &amp; 3      &amp; 4       &amp; \phantom06 \\
%     Third row    &amp; 6      &amp; 8       &amp;         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.
%
%   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 &amp; B  \\ C &amp; 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 &amp; B  \\ C &amp; 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}
%   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|\oarg{preamble}\marg{captype}\oarg{width}\oarg{height}\oarg{vert pos}
%   |         |\marg{caption}\marg{object}
%   \end{Quote}%^^A
%   The |\floatbox|'s arguments\label{floatboxsets}:
%   \begin{description}\itemsep0pt
%   \item[\meta{preamble}]there could be |\capbeside|\label{FB:capbeside} command which
%     places caption beside float contents;
%     |\nocapbeside|\label{FB:nocapbeside}
%     (to put caption above/below, accordingly
%     to float type's style);
%     |\captop|\label{FB:captop}
%     (to put caption above);
%     or another systematic command
%     (even with usage of |\captionsetup|
%     and |\|\FRkey{thisfloatsetup},
%     see examples in documentation and appendix).
%   \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).
%     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). 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 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.
%
%   \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.
%
%\begin{Quote}
%|\begin{figure}|
%\begin{preamble}
%|\newcommand\rightlast{\leftskip0ptplus1fil|
%|  \rightskip0ptplus-1fil\parfillskip0ptplus1fil}|
%|\DeclareCaptionJustification{rightlast}{\rightlast}|
%\end{preamble}
%|\begin{figure}|
%|\floatbox[{\capbeside|
%|     \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]{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 to fill
%   space}\label{fig:beside:mouse}}
%   {{\setlength\unitlength{4cm/58}%^^A
%   \input{Mouse.picture}}}
%   \end{figure}
%\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  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
%   \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 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 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}
%
%   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}
%   |\ffigbox|\oarg{width}\oarg{height}\oarg{vert pos}\marg{caption}\marg{object}
%   \end{Quote}
%   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.
%
%   \subsubsection{Predefined Float Box Commands}
%   Let's repeat three already defined commands-abbreviations, defined in package:\label{abbrcom}%^^A
%   \begin{Quote}
%   |\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}
%   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).
%
%   \emph{Note}. In the documentation text below the name of the |\floatbox| command means
%   both itself and all commands-abbreviations, defined with |\(re)newfloatcommand|.
%
%\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.
%
%\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
%   |\floatbox...|\nopagebreak
%   |...|\nopagebreak
%   |\end{floatrow}|
%   \end{Quote}
%
%   Please note that \emph{for each float box} inside |floatrow| you must use |\floatbox|, |\ffigbox|,
%   |\ttabbox| or your own command, created with |\newfloatcommand| macro.
%
%   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|).
%
%   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
%| \begin{floatrow}|\nopagebreak
%|  \ffigbox[\FBwidth]|
%|    {...}|
%|    {\caption{...}\label{...}}|
%| |
%|  \ffigbox[\Xhsize]|%^^A
%   \FRmpar{Float occupies the rest space in the row}{FAD:floatfillspace}
%|    {...}|
%|    {\caption{...}\label{...}}|
%| \end{floatrow}|\nopagebreak
%|\end{figure}|
%\end{Quote}
%   \begin{figure}[H]
%    \begin{floatrow}
%   \ffigbox[\FBwidth]
%   {\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 (\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
%
%   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. 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 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}
%\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}|{\emphcolor|[4]|}
%|  \ffigbox|\nopagebreak
%|    {\caption{Beside figure~I...}...}|\nopagebreak
%|    {...}|
%
%|  \ffigbox[\FBwidth]|\nopagebreak
%|    {\caption{Beside figure~II...}...}|\nopagebreak
%|    {...}|
%
%|  \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 (\texttt{floatrow}), ``column'' width}%
%   \label{fig:row:Dog}}
%   {\input{TheDog.picture}}
%
%   \ffigbox[\FBwidth]
%   {\caption{Figure~II in the row (\texttt{floatrow}), graphics width}%
%   \label{fig:row:WcatI}}
%   {\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: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: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: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).
%
%   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).
%
%   \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).
%
%   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 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{FB:CenterFloatBoxes}
%|\TopFloatBoxes|\label{FB:TopFloatBoxes}
%|\BottomFloatBoxes|\label{FB:BottomFloatBoxes}
%\end{Quote}
%   which align \emph{full} float boxes by center, top or bottom lines.
%   There is also |\PlainFloatBoxes|\label{FB:PlainFloatBoxes} which restores standard behavior of
%   |\floatbox|'es.\par}
%
%   \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}|
%|  \|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|]|
%|     ...|
%|  \|\FRkey{killfloatstyle}|\|\FRkey[FB]{ttabbox}
%|     ...|
%\end{Quote}
%   \DeleteShortVerb{\|}%
%   \begingroup\floatsetup[figure]{style=Boxed}
%   \begin{figure}[H]\CenterFloatBoxes
%   \begin{floatrow}
%   \ffigbox[\FBwidth]
%   {\unitlength1.86\unitlength\input{Horse.picture}}
%   {\caption{A \texttt{Boxed} figure in the mixed row}\label{fig:rowmixspec:WcatI}}%
%   \extrarowheight1pt
%    \killfloatstyle
%   \ttabbox
%   {\caption{A table in the mixed row}\label{tab:rowmixspec:tabI}}
%   {\tabcolsep5\tabcolsep\begin{tabular}{|c|c|}\hline A &amp; B  \\ C &amp; D \\ \hline\end{tabular}}
%   \end{floatrow}
%   \end{figure}
%   \endgroup
%   \MakeShortVerb{\|}%
%   \RestoreSpaces
%
%   \emph{Note.} Both figure and table boxes have got width equal to
%   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 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 (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.
%
%   \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}
%\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}|
%|  \centering ...|
%|  \caption{...}\label{...}|
%|\end{minipage}|
%|\begin{minipage}{0.45\textwidth}|
%|  \captionof{table}{...}\label{...}|
%|  \centering ...|
%|\end{minipage}|\nopagebreak
%|\end{figure}|
%\end{Quote}
%    And you'll get figure~\ref{Right:expect:fig}
%    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}
%    \centering {\unitlength1.86\unitlength\input{Horse.picture}}
%    \caption{A figure in raw \LaTeX's mode}\label{Right:expect:fig}
%    \end{minipage}\quad\hfill
%    \killfloatstyle\begin{minipage}{0.45\textwidth}
%    \captionof{table}{A table in raw \LaTeX's mode}\label{Right:expect:tab}
%    \centering\tabcolsep5\tabcolsep
%    \begin{tabular}{|c|c|}\hline A &amp; B  \\ C &amp; D \\ \hline\end{tabular}
%    \end{minipage}
%    \end{figure}
%\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{...}}|
%| |
%|  \|\FRkey[FB]{ttabbox}\nopagebreak
%|   {...}|\nopagebreak
%|   {\caption{...}\label{...}}|
%|\end{floatrow}|\nopagebreak
%|\end{figure}|
%\end{Quote}
%\begingroup\floatsetup[figure]{style=Boxed}
%   \begin{figure}[ht]\RawFloats\CenterFloatBoxes
%    \begin{floatrow}
%   \ffigbox[\FBwidth]
%   {\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{\ttabbox} and inside \texttt{floatrow} in raw
%     \LaTeX's mode}\label{righttab:raw}}
%   {\tabcolsep5\tabcolsep
%    \begin{tabular}{|c|c|}\hline A &amp; B    \\ C &amp; D \\ \hline
%    \end{tabular}}
%    \end{floatrow}
%   \end{figure}%^^A
%\endgroup
%
%   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 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 |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 \emph{standard and new defined}
%   float types. This option can be used only in |\usepackage| line.
%
%\medskip
%   \emph{Notes}.\nopagebreak
%
%   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}).
%
%   {\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
%   |\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}\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}{...}+
%     |... &amp; 2\mpfootnotemark[1] \\|
%     |...|
%     |  \end{tabular}%|
%     |  \footnotetext[1]{Even numbers.}}|\nopagebreak
%     |\end{table}|\vspace*{-\intextsep}
%   \end{Quote}%
%   \DeleteShortVerb{\|}%
%\begingroup\floatsetup[table]{footnoterule=none,footskip=.35\skip\footins}
%   \begin{table}[H]
%   \ttabbox
%   {\caption{Table with footnote}%^^A
%   \label{tab:floatfnote}}%^^A
%    {\extrarowheight1pt
%   \begin{tabular}{|l|c|c|}
%     \hline
%     \thead{Column head}  &amp; \thead{Data I}     &amp; \thead{Data II} \\
%     \hline
%     First row    &amp; \phantom01 &amp; 2\mpfootnotemark[1]       \\
%     Second row   &amp; \phantom06\mpfootnotemark[1] &amp; 4\mpfootnotemark[1]       \\
%     Third row    &amp;         28\mpfootnotemark[1] &amp; 8\mpfootnotemark[1]       \\
%     \hline
%   \end{tabular}%^^A
%   \footnotetext[1]{Even numbers.}}
%   \end{table}%
%\endgroup
%   \MakeShortVerb{\|}%
%
%   {\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:
%\begin{Quote}
%|\begin{table}|\nopagebreak
%|\|\FRkey[FB]{ttabbox}
%|  {\caption{...}\label{...}}|
% \verb+  {\begin{tabular}{...}+
%|  ...\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}  &amp; \thead{Data I}     &amp; \thead{Data II} \\
%     \hline
%     First row    &amp; \phantom01 &amp; 2       \\
%     Second row   &amp; \phantom06 &amp; 4       \\
%     Third row    &amp;         28 &amp; 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
%   \label{tab:floatfoot}}%^^A
%    {\extrarowheight1pt%^^A\tabcolsep2\tabcolsep
%   \begin{tabular}{|l|c|c|}
%     \hline
%     \thead{Column head}  &amp; \thead{Data I}     &amp; \thead{Data II} \\
%     \hline
%     First row    &amp; \phantom01 &amp; 2       \\
%     Second row   &amp; \phantom06 &amp; 4       \\
%     Third row    &amp;         28 &amp; 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{\|}%
%
%   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|\mpfootnotemark|/\allowbreak|\footnotetext| stuff instead.
%
%   2)\enskip If you use both commands |\floatfoot| and |\footnote|
%   inside one float box, the |\floatfoot| appears above |\footnote|
%   contents.
%
%   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 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, you may use
%   two simple commands |\FBaskip| and |\FBbskip|. For example define
%   \begin{Quote}
%    |\renewcommand\FBaskip{-4pt}|
%    |\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 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.}.
%
%   \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
%   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 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 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.\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)}.
%
%   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 |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 usage of the |\floatsetup| command has following form:
%   \begin{Quote}
%      |\floatsetup|\oarg{float type}\marg{options}\quad,
%   \end{Quote}
%   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 |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 (|figure*|):
%   \begin{itemize}
%       \item
%       |\floatsetup[widefigure]|\label{setup:widefigure}---the ``strongest'' settings;
%       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 are absent, the settings from the next item will be used;
%       \item
%       |\floatsetup[figure]|;
%       if they are absent, package uses settings from
%       optional argument in |\usepackage| line or |\floatsetup{...}|
%       command; if they are absent---the default package settings will be used
%       (see page~\pageref{sec:default});
%   \end{itemize}
%       \item
%       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 (|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
%       (|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]|;
%       \item |\floatsetup[rotfloat]|;
%       \item |\floatsetup[figure]|;
%   \end{itemize}
%       \item
%       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, e.g.,
%       |sidewaysfigure*|, |sidewaysfigure|, |figure*| and |figure|.
%   \end{itemize}
%   \end{itemize}
%
%   \emph{Notes}.\nopagebreak
%
%   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
%
%   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 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:
%   \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 the \\|\DeclareFloatStyle| command,
%   see page~\pageref{ssec:declstyle}.
%   \end{Options}
%
%   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 |style=| key for floats with beside captions,
%   i.e.~using |\floatsetup| settings with options like, e.g.,
%   |[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 |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
%   \jot4pt\tabcolsep1.5\tabcolsep
%   \newlengthtocommand\settowidth\Icolumn{\small\texttt{wshadowboxx}}
%   \newlengthtocommand\settowidth\IIcolumn{\small\texttt{framestyle=wshadowbox}}
%   \newlengthtocommand\setlength\IIIcolumn{\textwidth-\Icolumn-\IIcolumn
%       -6\tabcolsep-1.6pt}
%   \newcommand\leftcell[2][16.5mm]{%^^A%
%     \hspace*{-\tabcolsep}\begin{tabular}[t]{&gt;{%
%     \noindent
%     \vphantom{\small()\mpfootnotemark[1]}}
%       p{\hsize}}
%      #2\unskip\botstrut\end{tabular}\hspace*{-\tabcolsep}%
%     }
%   \def\LongtableHead{
%   \hfil\thead{Style} &amp;
%   \hfil\thead{\cmd{\floatsetup} keys} &amp;
%   \hfil\thead{Description}
%   }
%   \begin{longtable}{|&gt;{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\Icolumn}
%   |&gt;{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\IIcolumn}
%   |&gt;{\parindent1em\sloppy\topstrut}p{\IIIcolumn}&lt;{\botstrut}|}
%   \caption{Float layout styles}\label{tab:floatlayouts}\\
%   \hline
%   \LongtableHead \\ \hline\noalign{\vskip-.4pt}
%   \endfirsthead
%   \captionsetup{labelformat=continued}\caption[]{}\\
%   \hline
%   \LongtableHead \\ \hline\noalign{\vskip-.4pt}
%   \endhead
%   \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{plain\label{setup:plain}{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]}}
%   &amp; \leftcell{\meta{none}}
%   &amp;The style |plain| is standard \LaTeX's layout. Puts captions always below float object's contents.
%   \\\hline
%   \leftcell{\topstrut plaintop{\mpfootnotemark[1]}\botstrut}
%   &amp; \leftcell[50mm]{\topstrut capposition=top\botstrut}
%   &amp;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
%   &amp; \leftcell[50mm]{\topstrut capposition=TOP\botstrut}
%   &amp; 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{\topstrut ruled\label{setup:ruled}\mpfootnotemark[1]\mpfootnotemark[3]\botstrut}
%   &amp; \leftcell[50mm]{\topstrut capposition=top,\\ precode=thickrule,\\
%     midcode=rule,\\ postcode=lowrule,\\
%     heightadjust=all\botstrut}
%   &amp; 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 (see example on the page~\pageref{leftfig:ruled}).\\ \cline{1-2}
%   %^^A
%   \leftcell{\topstrut Ruled\smash{\mpfootnotemark[2]}\botstrut}
%   &amp;  \leftcell[50mm]{\topstrut style=ruled,\\ capposition=TOP\botstrut}
%   &amp; 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{\topstrut boxed\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]\mpfootnotemark[4]\botstrut}
%   &amp; \leftcell[50mm]{captionskip=2pt,\\framestyle=fbox,\\
%     heightadjust=object,\\framearound=object\botstrut}
%   &amp;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 |\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}
%   &amp; \leftcell[50mm]{\topstrut style=boxed,\\ framefit=yes\botstrut}
%   &amp; 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}
%   &amp; \leftcell[50mm]{\topstrut framestyle=fbox,\\ framefit=yes,\\
%     heightadjust=all,\\ framearound=all\botstrut}
%   &amp; 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{BOXED:heightmod}).
%   \\ \hline
%   \multicolumn{3}{|c|}{Offered by \package{fr-fancy} package.
%   They also need \package{fancybox} package.\botstrut\topstrut}\\*
%   \hline \leftcell{|shadowbox|\smash{\mpfootnotemark[4]}
%   \\ \botstrut\\ \hline\topstrut|Shadowbox|
%   \\ \botstrut\\ \hline\topstrut|SHADOWBOX|}
%   &amp; \leftcell[50mm]{style=boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut
%     style=Boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut
%     style=BOXED,\\framestyle=shadowbox}
%   &amp;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 |\fboxsep| and |\fboxrule|, there is added parameter
%   |\shadowsize|---the width of shadow,
%    default is |4pt|.
%   \\ \hline
%   \leftcell{|doublebox|\smash{\mpfootnotemark[4]}
%   \\ \botstrut\\ \hline\topstrut|Doublebox|\\
%   \botstrut\\ \hline\topstrut|DOUBLEBOX|}
%   &amp; \leftcell[50mm]{style=boxed,\\ framestyle=doublebox\botstrut\\  \hline\topstrut
%     style=Boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut
%     style=BOXED,\\ framestyle=doublebox}
%   &amp;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}\cr\noalign{\nobreak} \hline
%   \leftcell{|wshadowbox|\smash{\mpfootnotemark[4]}
%   \\ \botstrut\\ \hline\topstrut|Wshadowbox|
%   \\ \botstrut\\ \hline\topstrut|WSHADOWBOX|}
%   &amp; \leftcell[50mm]{style=boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut
%     style=Boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut
%     style=BOXED,\\framestyle=wshadowbox}
%   &amp;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
%   in |shadowbox| style.
%   \\\hline
% %^^A  \multicolumn3{@{}p{\hsize}@{}}
%   \noalign
%   {\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, 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 styles.}
%
%   \mpfootnotemark[2]{This style is used in the sample file \file{frsmaple01.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
%   space between floats, using key \texttt{floatrowsep}.}
%   }}
%   \end{longtable}
%
%   \endgroup
%
%   \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
%
%   Available font setting options:
%
%   \begin{Options}{\OptionLabel}
%     \item[scriptsize]   {\scriptsize Very small size}\allowitembreaks[-4]
%     \item[footnotesize] {\footnotesize The size usually used for footnotes}\allowitembreaks
%     \item[small]        {\small Small size}
%     \item[normalsize]   {\normalsize Normal size}
%     \item[large]        {\large Large size}
%     \item[Large]        {\Large Even larger size}
%
%     \item[up]           {\upshape Upright shape}
%     \item[it]           {\itshape Italic shape}
%     \item[sl]           {\slshape Slanted shape}
%     \item[sc]           {\scshape Small Caps shape}\pagebreak[2]
%
%     \item[md]           {\mdseries Medium series}\pagebreak[2]
%     \item[bf]           {\bfseries Bold series}\pagebreak[2]
%
%     \item[rm]           {\rmfamily Roman family}
%     \item[sf]           {\sffamily Sans Serif family}
%     \item[tt]           {\ttfamily Typewriter family}
%     \item[...]
%   You may create your own options with the |\DeclareFloatFont| command,
%   see page~\pageref{ssec:declfont}.
%   \end{Options}
%
%   You may set font for float object like
%   \begin{Quote}
%      |font=small|
%   \end{Quote}
%   (which is used in current documentation), or
%   \begin{Quote}
%      |font={small,sf}|\quad .
%   \end{Quote}
%
%   \addvspace\medskipamount\noindent
%   \DescribeMacro{footfont}\label{setup:footfont}%^^A
%   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} package's mechanism and utilities). By default the font size
%   of float foot text equals to footnote text: |footfont=footnotesize|.
%
%   \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 |position=|
%   key in \package{caption} package, but it has two additional
%   options\footnote{The option \texttt{auto} isn't used by
%   \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 |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}):
%   \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 |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
%^^A%   \FRmpar{Beside caption and float object}{FAD:BesideCaptionII}
%   \end{Options}
%
%   Compare two examples:
%   \begin{Quote}
%      |\floatsetup[table]{|\FRkey{style}%^^A
%       |=plain,capposition=top}%|${}\equiv{}$|style=plaintop|
%   \end{Quote}
%   \DeleteShortVerb{\|}%
%   \begingroup
%   \floatsetup[table]{style=plain,capposition=top}
%   \begin{table}[H]
%   \begin{floatrow}\tabcolsep2\tabcolsep
%   \extrarowheight1pt
%   \ttabbox
%    {\caption[Long caption of table~I with key \texttt{capposition=top}]%^^A
%     {The table~I in the row with long, long, long, long, long, long caption}\label{tab:row:tabIII:captop}}%^^A
%    {\begin{tabular}{|l|&gt;{\phantom0}c|&gt;{\phantom0}c|}
%     \hline
%     \multirowthead{2}[-1ex]{Left Column Head}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%     \\\hline
%     First row    &amp;         1 &amp;         2 \\
%     Second row   &amp;         3 &amp;         4 \\
%     Third row    &amp;         6 &amp;         8 \\
%     Fourth row   &amp; \llap{1}0 &amp; \llap{1}6 \\
%     \hline
%   \end{tabular}}
%
%   \ttabbox
%    {\caption[Table~II in the row with caption with key \texttt{capposition=top}]%^^A
%       {Table~II in the row with caption}\label{tab:row:tabIV:captop}}%^^A
%    {\begin{tabular}{|l|c|c|c|}
%     \hline
%     \multirowthead{2}[-1ex]{Column Head}
%                  &amp; \multicolumn{3}{c|}{Data} \\
%                  \cline{2-4}
%                  &amp; \thead{I}      &amp; \thead{II}      &amp; \thead{III}        \\
%     \hline
%     First row    &amp; 1      &amp; 2       &amp; \phantom01 \\
%     Second row   &amp; 3      &amp; 4       &amp; \phantom06 \\
%     Third row    &amp; 6      &amp; 8       &amp;         28 \\
%     \hline
%   \end{tabular}}
%   \end{floatrow}
%   \end{table}
%   \endgroup
%   \MakeShortVerb{\|}%
%
%   \begin{Quote}
%      |\|\FRkey{floatsetup}|[table]{|\FRkey{style}%^^A
%           |=plain,capposition=TOP}%|${}\equiv{}$|style=Plaintop|
%   \end{Quote}
%   \DeleteShortVerb{\|}%
%   \begingroup
%   \floatsetup[table]{style=plain,capposition=TOP}
%   \begin{table}[H]
%   \begin{floatrow}\tabcolsep2\tabcolsep
%   \extrarowheight1pt
%   \ttabbox
%    {\caption[Long top-aligned caption of table~I key \texttt{capposition=TOP}]%^^A
%     {The table~I in the row with long, long, long, long, long, long caption,
%      aligned by the top line}\label{tab:row:tabIII:CAPTOP}}%^^A
%    {\begin{tabular}{|l|&gt;{\phantom0}c|&gt;{\phantom0}c|}
%     \hline
%     \multirowthead{2}[-1ex]{Left Column Head}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%     \\\hline
%     First row    &amp;         1 &amp;         2 \\
%     Second row   &amp;         3 &amp;         4 \\
%     Third row    &amp;         6 &amp;         8 \\
%     Fourth row   &amp; \llap{1}0 &amp; \llap{1}6 \\
%     \hline
%   \end{tabular}}
%
%   \ttabbox
%    {\caption[Table~II in the row with caption, aligned
%      at the top line with key \texttt{capposition=TOP}]{Table~II in the row with caption, aligned
%      at the top line}\label{tab:row:tabIV:CAPTOP}}%^^A
%    {\begin{tabular}{|l|c|c|c|}
%     \hline
%     \multirowthead{2}[-1ex]{Column Head}
%                  &amp; \multicolumn{3}{c|}{Data} \\
%                  \cline{2-4}
%                  &amp; \thead{I}      &amp; \thead{II}      &amp; \thead{III}        \\
%     \hline
%     First row    &amp; 1      &amp; 2       &amp; \phantom01 \\
%     Second row   &amp; 3      &amp; 4       &amp; \phantom06 \\
%     Third row    &amp; 6      &amp; 8       &amp;         28 \\
%     \hline
%   \end{tabular}}
%   \end{floatrow}
%   \end{table}
%   \endgroup
%   \MakeShortVerb{\|}%
%
%   \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).
%
%   \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:
%   \begin{Options}{\OptionLabel}
%     \item[left]
%     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 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 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
%   \begin{Options}{\OptionLabel}\samepage
%     \item[top]
%     caption aligned to the top of object;
%     \item[bottom]
%     caption aligned to the bottom of object;
%     \item[center]
%     caption aligned to the center of object.
%   \end{Options}
%   You may define position of beside caption by following:
%   \begin{Quote}
%     |capbesideposition={top,outside}|\quad.
%   \end{Quote}
%   See examples in file \file{frsample02.tex} with all variants of
%   position of captions beside float objects.
%
%   \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
%   page~\pageref{thisfloatsetup}. You may set:
%   \begin{Quote}
%      |capbesidewidth=4cm|\quad.
%   \end{Quote}
%   (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
%   (|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} (|capbesideframe=no|).
%   \newcommand\TEXTBOX[1][]{\par
%   Here goes first line of text \Text\par
%   There goes second line of text#1\par
%   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}
%   \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}|
%   \end{preamble}
%   |\|\FRkey{thisfloatsetup}%^^A
%   |{|\FRkey{capposition}|=beside,|
%   |      |\FRkey{floatwidth}|=sidefil,|%^^A
%       \FRkey{capbesidewidth}|=4cm}|
%   |\begin{figure}|
%   |  ...|
%   |  \caption{...}\label{...}|\nopagebreak
%   |\end{figure}|
%   | |
%  \end{Quote}%
%   \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 frame}%%^^A
%   \label{capbesideframeI}}%
%   \end{figure}
%  \begin{Quote}
%   \begin{preamble}
%   |\floatsetup[figure]{...,capbesideframe=no}|
%   |...|
%   \end{preamble}
%   |\|\FRkey{thisfloatsetup}%^^A
%   |{|\FRkey{capposition}|=beside,|
%   |      |\FRkey{floatwidth}|=9cm,|%^^A
%       \FRkey{capbesidewidth}|=sidefil}|
%| |
%  \end{Quote}%
%   \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 object contents}%
%   \label{row:text:I}}%
%   \end{figure}
%\endgroup
%
%   \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-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.
%   (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;
%     \item[caption]
%     always placed below caption;
%     \item[bottom]
%     always placed at the bottom of float box.
%   \end{Options}
%   In the case of caption
%   beside float object, footnotes and foot text are always placed below
%   caption.
%
%   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 |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
%     |ruled|, |Ruled| and |BOXED|);
%     \item[caption]
%     adjust caption heights (e.g. for  |Plaintop| style);
%     \item[object]
%     adjust object heights (e.g. for |Boxed| style);
%     \item[none]
%     nothing to be adjusted (the |plain| style);
%     \item[nocaption]
%     no adjusting for captions;
%     \item[noobject]
%     no adjusting for objects;
%   \end{Options}
%   You may define height adjustment even as followed:
%   \begin{Quote}
%     |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 |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 are analogous to vertical
%   alignment option in |minipage| environment and |\parbox|
%   command. Default option is |c| (centered vertical alignment).
%   \begin{Options}{cc}\samepage
%     \item[t]
%     aligns objects by top line;
%     \item[c]
%     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}\pagebreak[1]
%
%   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{|\FRkey[sec]{floatrow}|}|
%   |  \|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|+2cm]|
%   |    {...}|
%   |    {\caption{Left ...}\label{...}}%|
%
%   |  \ffigbox[\FBwidth+2cm][2\|\FRkey[FB]{FBheight}|]|\nopagebreak
%   |    {\caption{The beside ...}\label{...}}|
%   |    {...}|
%   |\end{floatrow}|\nopagebreak
%   |\end{figure}|\vspace*{-.75\intextsep}
%\end{Quote}%
%   \begin{figure}[H]\floatsetup{style=BOXED,valign=t}\killfloatstyle
%    \begin{floatrow}
%   \ffigbox[\FBwidth+2cm]
%   {\unitlength.9\unitlength\input{BlackCat.picture}}
%   {\caption{The left beside figure uses settings for vertical top alignment}%
%   \label{leftfig:BOXED: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, 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 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.
%
%   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
%   |justification=| key in |\captionsetup|.
%   \begin{Options}{RaggedRigh}
%     \item[justified]
%     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]
%     Blocks centered, each line of the object text will be centered.
%
%     \item[raggedright]
%     Blocks moved to the left, each line of the text shoved to the left margin.
%
%     \item[RaggedRight]
%     As in previous item, each line of the text shoved to the
%     left margin, too.
%     But this time the command |\RaggedRight| of the \package{ragged2e} package
%     will be used to achieve this. This difference is that this time
%     the word breaking algorithm of \TeX\ will work inside the text.
%
%     \item[raggedleft]
%     Blocks moved to the right,
%     each line of the text shoved to the right margin.
%
%^^A%     \item[RaggedLeft]
%^^A%     Analogous to |RaggedRight|.
%
%     \item[...]
%   You may also create  your own settings with the |\DeclareObjectSet| command (see
%   page~\pageref{ssec:decl:oset})
%   \end{Options}
%
%   \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}
%
%   \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 |floatrow| environment (see page~\pageref{sec:floatrow}).
%
%   \addvspace\smallskipamount\noindent
%   \DescribeMacro{capbesidesep}\label{setup:capbesidesep}%^^A
%   Sets separation material between object and beside caption (see page~\pageref{intro:beside}).
%
%   \RestoreSpaces
%   Both key settings work similarly to |labelsep=| key
%   from |\captionsetup|.
%^^A
%   They use following predefined options:
%   \begin{Options}{\OptionLabel}
%     \item[columnsep]
%     horizontal skip${}={}$|\columnsep| (default for both keys);
%     \item[quad]
%     horizontal skip${}={}1$\,em;
%     \item[qquad]
%     horizontal skip${}={}2$\,em;
%     \item[hfil]
%     horizontal skip${}={}1$\,fil (like |\hfil|);
%     \item[hfill]
%     horizontal skip${}={}1$\,fill (like |\hfill|);
%     \item[none]
%     empty separator.
%     \item[...]
%   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.
%
%   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 (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 |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
%   Defines skip, rule or other analogous code between
%   caption above/below and float object.
%
%   \addvspace\smallskipamount\noindent
%   \DescribeMacro{postcode}\label{setup:postcode}%^^A
%   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 |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
%   were taken from styles created in \package{float} package):
%   \begin{Options}{\OptionLabel}\allowitembreaks[-1]
%     \item[none]
%     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 |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 |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 |ruled| and |Ruled| styles, used there by
%     |postcode=| key;
%     \item[captionskip]
%     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 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 two types of frames:
%   \begin{Options}{\OptionLabel}
%     \item[fbox]
%     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 |floatrow|:
%   \begin{Options}{\OptionLabel}
%     \item[doublebox]
%     double frame, needs also \package{fancybox} package;
%     \item[shadowbox]
%     frame with shadow, needs also \package{fancybox} package;
%     \item[wshadowbox]
%     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 predefined options
%   for this key, just write something like:
%   \begin{Quote}
%     |frameset={\fboxrule1pt\fboxsep12pt}|\quad.
%   \end{Quote}
%
%   \noindent
%   \DescribeMacro{framearound}\label{setup:framearound}%^^A
%   Declares element of float box to be framed:
%   \begin{Options}{\OptionLabel}
%     \item[object]
%     float object contents;
%     \item[all]
%     full float box including object, caption, and any foot text.
%   \end{Options}
%
%   \addvspace\medskipamount\noindent
%   \DescribeMacro{framefit}\label{setup:framefit}%^^A
%   Boolean which sets whether the \textit{frame width} will
%   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|, 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,|\nopagebreak
%   |      framearound=object,frameset={\fboxrule1pt\fboxsep10pt},|
%   |      framefit=yes}%|$\approx|style=Boxed|$
%   |\begin{figure}|
%   |\|\FRkey[FB]{ffigbox}|[4cm]|
%   |   {...}{\caption{...}}|\nopagebreak
%   |\end{figure}|
%  \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[4cm]
%  {\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=no}%|$\approx|style=boxed|$
%   |\begin{figure}|%
%   |\|\FRkey[FB]{ffigbox}|[4cm]|
%   |  {...}{\caption{...}}|\nopagebreak
%   |\end{figure}|\vspace*{-\intextsep}
%  \end{Quote}%
%   \floatsetup[figure]{framestyle=fbox,heightadjust=object,
%     framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=no}%^^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}}
%  \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
%
%   \subsubsection{Settings for Colored Frames}
%   \DescribeMacro{colorframeset}\label{setup:colorframeset}%^^A
%   \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}
%     |\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 \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 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. It can be defined like:
%   \begin{Quote}
%      |footskip=4pt|\quad,
%   \end{Quote}
%   or
%   \begin{Quote}
%      |footskip=\skip\footins|\quad.
%   \end{Quote}
%   the last line shows default settings.
%
%   \subsubsection{Defining Float Footnote Rule's Style}\label{sec:footnotestyle}
%   \DescribeMacro{footnoterule}\label{setup:footnoterule}%^^A
%   Defines type of footnote rule for footnotes inside floating environment.
%   \begingroup
%   \begin{Options}{\OptionLabel}
%     \item[normal]
%     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|\label{setup:frulemax} command, like:
%     \begin{Quote}
%     |\newcommand\frulemax{1in}|
%     \end{Quote}
%     \item[fullsize]
%     rule to full current text width.
%     \item[none]
%     Absent rule.
%     \item[...]
%   You may create your own options with the \\ |\DeclareFloatFootnoterule| command,
%   see page~\pageref{ssec:fnoterule}.
%   \end{Options}
%   \endgroup
%
%   \label{setup:end}
%
%^^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 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 there is no blank line appears after environment
%   (see also page~\pageref{sec:listpen}).
%
%   \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 (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   |capbesidewidth=| |floatwidth=| do not used usually
%^^A   in |\floatsetup| stuff.
%
%
%   \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}:\allowpostlistbreaks[-4]
%   \begin{Quote}
%      |\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
%   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}).
%
%   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}
%   \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}
%      \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.
%
%  \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}.
%
%   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
%
%   \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=left]
%     \item[capbesideframe=no]
%     \item[footposition=default]
%     \item[heightadjust=none]
%     \item[facing=no]
%     \item[margins=centering]
%     \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]\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.
%
%   \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 |MyBoxed|. The figures~\ref{fig:plain:MyBoxed}, and
%   some others in current documentation show result.
%\begin{Quote}
%|\DeclareFloatStyle{MyBoxed}{|\FRkey{style}|=Boxed,|\FRkey{captionskip}|=5pt,|\nopagebreak
%|      |\FRkey{frameset}|={\fboxrule1pt\fboxsep12pt}}|\nopagebreak
%|\floatsetup[figure]{style=MyBoxed}|
%\end{Quote}\pagebreak[1]
%
%   \begingroup
%
%   \floatsetup[figure]{style=MyBoxed}
%   \begin{figure}[H]
%     {\input{Horse.picture}}%
%     \caption{%^^A
%   Plain figure in \texttt{MyBoxed} style}%
%   \label{fig:plain:MyBoxed}%
%   \floatfoot{Much more, more and more and more and more and more and
%     more and more and more text inside macro \cmd{\floatfoot}}%
%   \end{figure}
%
%   The same result you get with:
%\begin{Quote}
%|\floatsetup[figure]{style=Boxed,captionskip=5pt,|
%|      frameset={\fboxsep12pt\fboxrule1pt}}|
%\end{Quote}
%   \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 (|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 might be used  in |rowprecode|,
%   |precode|, |midcode|, |postcode|, and
%   |rowpostcode| keys (page~\pageref{setup:precode}).
%
%   Compare two examples:
%   \begin{Quote}\openup.5pt
%   \begin{preamble}
%   |\DeclareFloatVCode{grayruleabove}%|
%   |      {{\color{gray}\par\rule\hsize{2.8pt}\vskip4pt\par}}|
%   |\DeclareFloatVCode{grayrulebelow}%|
%   |      {{\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}|\nopagebreak
%   |  ...|
%   |  \caption{Alone figure ...}\label{...}%|\nopagebreak
%   |\end{figure}|
%   \end{Quote}
%\begingroup
%   \advance\intextsep-.5\intextsep
%   \begin{figure}[H]\floatsetup{heightadjust=all,valign=c,rowprecode=grayruleabove,
%       rowpostcode=grayrulebelow}\killfloatstyle
%    \begin{floatrow}
%   \ffigbox
%   {\unitlength.65\unitlength\input{BlackCat.picture}}
%   {\caption{The left beside figure inside float row with defined row rules above and below}%
%   \label{intro:leftfig:row}}%
%
%   \ffigbox
%   {\caption{The beside figure at the right inside float row with defined row rules above and below}%^^A
%    \label{intro:rightfig:row}}
%   {\unitlength.85\unitlength\input{Cat.picture}}
%    \end{floatrow}
%   \end{figure}%^^A
%   \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
%    \label{intro:alone:row}}
%   {\unitlength.85\unitlength\input{TheCat.picture}}
%   \end{figure}%^^A
%   \begin{Quote}\openup-.65pt
%   \begin{preamble}
%   |...|\nopagebreak
%   |\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=all,valign=c,
%       precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle
%    \begin{floatrow}
%   \ffigbox
%   {\unitlength.65\unitlength\input{BlackCat.picture}}
%   {\caption{The left beside figure inside float row with defined rules for float box}%
%   \label{intro:leftfig:box}}%
%
%   \ffigbox
%   {\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=all,valign=c,
%       precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle
%   \ffigbox
%   {\caption{Alone figure with defined rules above and below for float box}%^^A
%    \label{intro:alone:box}}
%   {\unitlength.85\unitlength\input{TheCat.picture}}
%   \end{figure}%^^A
%\endgroup
%   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 |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. You may also use key options declared by
%   \cmd{\DeclareCaptionJustification} command of \package{caption} package
%   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 (|margins=| key) like:
%   \begin{Quote}
%   |\DeclareMarginSet{center}{%|\nopagebreak
%   |  \setfloatmargins{\hfil}{\hfil}}|
%   \end{Quote}
%   or like (see also sample files)
%   \begin{Quote}
%   |\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 even set much more complex definition:
%   \begin{Quote}\leftmargin0pt
%   |\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 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.
%
%   \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
%        |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|. Again, the settings which use |\floatfacing| command
%   work only in the case when key |facing=yes| is used.
%
%\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,
%   |centering| option was defined like:
%   \begin{Quote}
%   |\DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}%|
%   |  \LTleft=\fill \LTright=\fill}|
%   \end{Quote}
%
%   \subsubsection{Float Separators Options (\texttt{floatrowsep=}, \texttt{capbesidesep=})}
%   \DescribeMacro{\DeclareFloatSeparators}\label{setup:DeclareFloatSeparators}%^^A
%   You may define separator
%   between float boxes, or between float object and beside caption:
%   \begin{Quote}
%   |\DeclareFloatSeparators{columnsep}{\hskip\columnsep}|\quad.
%   \end{Quote}
%   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}%|
%   |    \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={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,capposition=beside,capbesideposition=left}
%   \captionsetup[figure]{justification=justified,
%       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}\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{Option for Footnote Rule's Style (\texttt{footnoterule=})}\label{ssec:fnoterule}
%   \DescribeMacro{\DeclareFloatFootnoterule}\label{setup:DeclareFloatFootnoterule}%^^A
%   You may define new footnoterule (|footnoterule=| key) like:
%   \begin{Quote}
%   \begin{preamble}
%   |...|
%   |\usepackage{ifthen}|
%   |\renewcommand\frulemax{72pt}|
%   |\newcommand \Limitedrule{.33\columnwidth}|
%   |\DeclareFloatFootnoterule{Limited}{\kern-3pt|
%   |  \def\Limitedrule{.33\columnwidth}%|
%   |  \ifthenelse{\lengthtest{\frulemax&lt;\Limitedrule}}%|
%   |         {\def\Limitedrule{\frulemax}}{}%|
%   |  \hrule width\Limitedrule\kern2.6pt}|
%   \end{preamble}
%   \end{Quote}
%   Remember, that the summary vertical height for footnote rule must be
%   equal to~0pt.
%
%\clearpage
%   \section{Creation of New Float Types}\label{sec:newfloat}
%   \DescribeMacro{\DeclareNewFloatType}\label{setup:DeclareNewFloatType}%^^A
%   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 floating environment name.\\
%   The \meta{options} could include the following keys:
%
%   \noindent
%   \DescribeMacro{placement}\label{setup:placement}%^^A
%   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
%   Defines the name of environment in the caption
%   label. (As default for caption label is declared the
%   name of environment.)
%
%   \noindent
%   \DescribeMacro{fileext}\label{setup:fileext}%^^A
%   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 is absent,
%   the float numbering increases during whole documentation.
%
%   \noindent
%   \DescribeMacro{relatedcapstyle}\label{setup:relatedcapstyle}%^^A
%   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 |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=loe}|
%   \end{Quote}
%
%   \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}
%   |\newfloat|\marg{type}^^A
%     \marg{placement}\marg{ext}\oarg{within}
%   \end{Quote}
%   which could be replaced with
%   \begin{Quote}
%   |\DeclareNewFloatType|\marg{type}|%|
%     |    {placement=|\meta{placement}|,fileext=|\meta{ext}|,widthin=|\meta{within}|}|
%   \end{Quote}
%
%   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 \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 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, 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 |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 that they will work as axpected.} (see section below).
%
%   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}]''), this section describes obsolete stuff.
%
%   \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{...}|.
%
%   \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
%   of a given class. Its syntax~is
%   \begin{Quote}
%   \hspace*{\MacroIndent}|\listof{|\meta{type}|}{|\meta{title}|}|^^A
%   \end{Quote}
%   \meta{type} is the float type given in the |\newfloat| command.
%   \meta{title} is used for the title of the list as well as the
%   headings if the current page style includes them. Otherwise, the
%   |\listof| command is analogous to the built-in \LaTeX\ commands
%   |\listoffigures| and |\listoftables|.
%
%^^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
%   restrictive. A Commonly Uttered Complaint (CUC) calls for a way to
%   place a float exactly at the spot where it occurs in the input file,
%   i.e., to \emph{not} have it float at all. It seems that the
%   \texttt{[h]} specifier should do that, but in fact it only suggests
%   to \LaTeX\ something along the lines of ``put the float here if it's
%   OK with you''. As it turns out, \LaTeX\ hardly ever feels inclined
%   to actually do that. This situation can be improved by judicious
%   manipulation of float style parameters.
%
%   \RestoreSpaces
%   The same effect can be achieved by changing the actual method of
%   placing floats. David Carlisle's \package{here} option introduces a new
%   float placement specifier, namely \texttt{[H]}, which, when added to
%   a float, tells \LaTeX\ to ``put it HERE, period''. If there isn't
%   enough space left on the page, the float is carried over to the next
%   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 |figure|s and |table|s, thereby
%   superseding \package{here}. David suggests that the \package{here} option be
%   withdrawn from the archives in due course.
%
%   The {\tt[H]} specifier may simply be added to the float as an
%   optional argument, like all the other specifiers. It may \emph{not}
%   be used in conjunction with any other placement specifiers, so
%   {\tt[Hhtbp]} is illegal. Neither may it be used as the default
%   placement specifier for a whole class of floats. The following table
%   is defined like this:
%   \begin{Quote}
%   |\begin{table}|\nopagebreak
%   |\begin{tabular}{cl}|
%   |\tt t &amp; Top of the page\\|
%   \dots\ more stuff \dots\\
%   |\end{tabular}|
%   \end{Quote}
%   (It seems that I have to add some extraneous chatter here just so
%   that the float actually comes out right in the middle of a printed
%   page. When I \LaTeX ed the documentation\footnote{For \package{float}
%   package.} just now it turned out that there was a page break that
%   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
%   \RestoreSpaces
%   \begin{table}[H]
%   \begin{tabular}{cl}
%   \tt t &amp; Top of the page\\
%   \tt b &amp; Bottom of the page\\
%   \tt p &amp; Page of floats\\
%   \tt h &amp; Here, if possible\\
%   \tt H &amp; Here, definitely
%   \end{tabular}
%   ^^A\caption{Could it be that this just needs a caption?}
%   \end{table}
%
%   \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 floating environment within a~paragraph (and at the middle of line also).
%
%   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.
%
%\end{slshape}
%
%   \subsubsection{The {[H]}
%   Placement Specifier---Managing of Page Breaks}\label{sec:listpen}
%   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 (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);
%   \item[\cmd{\allowpostlistbreaks}]sets penalty after lists;
%   \item[\cmd{\allowitembreaks}]sets penalty between list items
%       (surely, this command not for floats!).
%   \end{Options}
%   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
%   of optional arguments in |\pagebreak| command. The negative
%   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).
%
%   \DescribeMacro{floatHaslist}\label{setup:floatHaslist}%^^A
%   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.1j
%   and earlier. (I hope there could not much difference,
%   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 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 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 floats.
%
%   \medskip\noindent
%   \DescribeMacro{\RestoreSpaces}
%   \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.
%   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} 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 an `option clash' error message.
%
%\clearpage
%   \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 for creation of
%   caption layout, so \package{floatrow} addresses the creation of new
%   caption styles to this package (see documentation for \package{caption}
%   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}
%   \end{Quote}
%   or for wide or two-column figures:
%   \begin{Quote}
%   |\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
%   and usage of ``\meta{float subtypes}'' in optional arguments
%   see on  page~\pageref{stsetorder}\label{cap:beside:order}.
%
%\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|&gt;{\phantom0}c|&gt;{\phantom0}c|}
%       \hline
%       \multirowthead{2}[-1ex]{Column Head}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%       \\\hline
%       First row    &amp;         1 &amp;         2 \\
%       Second row   &amp;         3 &amp;         4 \\
%       Third row    &amp;         6 &amp;         8 \\
%       Fourth row   &amp; \llap{1}0 &amp; \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}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%     \\\hline
%     First row    &amp; \phantom01 &amp; \phantom02 \\
%     Second row   &amp; \phantom03 &amp; \phantom04 \\
%     Third row    &amp; \phantom06 &amp; \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%^^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 the
%   \package{subfig} package (like |\captionsetup[table]{position=top}| in
%   \package{caption} package):
%\begin{Quote}\obeylines\parskip-.15pt
%|\begin{table}\setlength\extrarowheight{1pt}|\nopagebreak
%|  \|\FRkey[sec]{floatbox}|{table}[\FBwidth]|
%|   {\caption{Two ...}\label{...}}|
%|   {\begin{subfloatrow}|
%|     \subfloat[First subtable]|
%\verb+      {\begin{tabular}{|l|c|c|}+
%|        ...\end{tabular}}|
%|     \subfloat[Second subtable...]|
%\verb+      {\begin{tabular}{|l|c|c|}+
%|        ...\end{tabular}}%|
%|    \end{subfloatrow}}|
%|\end{table}|
%\end{Quote}
%   \DeleteShortVerb{\|}%
%   \captionsetup[subtable]{textfont=md}
%   \begin{table}[h]\extrarowheight1pt\tabcolsep1.25\tabcolsep
%   \floatbox{table}[\FBwidth]
%   {\caption{Two \cmd{\subtable}'s
%    (created with \package{subfig} package)}\label{tab:tabIII}}
%   {\begin{subfloatrow}
%     \subfloat[First subtable]
%      {\begin{tabular}{|l|&gt;{\phantom0}c|&gt;{\phantom0}c|}
%       \hline
%       \multirowthead{2}[-1ex]{Column Head}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%       \\\hline
%       First row    &amp;         1 &amp;         2 \\
%       Second row   &amp;         3 &amp;         4 \\
%       Third row    &amp;         6 &amp;         8 \\
%       Fourth row   &amp; \llap{1}0 &amp; \llap{1}6 \\
%       \hline
%       \end{tabular}}
%
%   \subfloat[Second subtable with long long long subcaption]
%   {\begin{tabular}{|l|c|c|}
%     \hline
%       \multirowthead{2}[-1ex]{Column Head}
%                  &amp; \multicolumn{2}{c|}{\thead{Data}} \\
%                  \cline{2-3}
%                  &amp; \multicolumn{1}{c|}{\thead{I}}
%                              &amp; \multicolumn{1}{c|}{\thead{II}}
%     \\\hline
%     First row    &amp; \phantom01 &amp; \phantom02 \\
%     Second row   &amp; \phantom03 &amp; \phantom04 \\
%     Third row    &amp; \phantom06 &amp; \phantom08 \\
%     \hline
%   \end{tabular}}%
%   \end{subfloatrow}}
%   \end{table}%
%   \MakeShortVerb{\|}%
%
%   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}).
%
%   Next follows an example with beside caption (see
%   figure~\ref{fig:subfig:catsI}).%^^A
%\begingroup
%\begin{Quote}
%\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
%\end{preamble}
%|\|\FRkey[FB]{fcapside}|[\|\FRkey[FB]{FBwidth}|]|
%|   {\begin{subfloatrow}|
%|   \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=brace,justification=centerlast,strut=no}
%   \begin{figure}[h]
%   \fcapside[\FBwidth]
%   {\begin{subfloatrow}
%   \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
%   |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 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 are analogous to the ones for |capbesideposition=| key:
%   \begin{Options}{\OptionLabel}\samepage
%     \item[top]
%     subcaption label aligned to the top of object;
%     \item[bottom]
%     subcaption label aligned to the bottom of object;
%     \item[center]
%     subcaption label aligned to the center of float contents.
%   \end{Options}
%
%   The figure~\ref{fig:subfig:catsII} shows layout with subfloat labels beside.
%   \FRmpar{Subcaption beside subfloat}{FAD:sublabelbeside}
%   \begingroup
%   \begin{Quote}%
%\begin{preamble}
%|...|
%|\floatsetup[figure]{|\FRkey{style}|=plain,|%^^A
%   \FRkey{subcapbesideposition}|=top}|
%\end{preamble}
%   |\begin{figure}[H]|
%   |  \ffigbox[\FBwidth]|
%   |    {\begin{subfloatrow}|
%   |       \sidesubfloat[]{...\label{...}}%|
%   | |
%   |       \sidesubfloat[]{...\label{...}}%|
%   |     \end{subfloatrow}}|
%   |{\caption[...]{...}\label{...}}|
%   |\end{figure}|
%   \end{Quote}
%   \floatsetup[figure]{style=plain,subcapbesideposition=top}
%   \begin{figure}[h]
%   \ffigbox[\FBwidth]
%   {\begin{subfloatrow}
%   \sidesubfloat[]{%
%     \input{Cat.picture}\Flabel{subfig:wI}}
%
%   \sidesubfloat[]{\input{TheCat.picture}\Flabel{subfig:bI}}%
%   \end{subfloatrow}}
%   {\caption[Subfloat row (labels beside)]{Beside caption vertically centered.
%   There are two subfigures:
%   \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 |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 is based on |\subfloat[]{\label{..}}| sentence and
%   puts alone subcaption label with necessary number. The full variant
%   of |\subfloatlabel|
%   \begin{Quote}
%   |\subfloatlabel|\oarg{subfloat number}\oarg{label entry}
%   \end{Quote}
%   is the abbreviation of the following:
%   \begin{Quote}
%   |\setcounter|\marg{sub{\upshape\texttt{\char`\\@captype}}}\marg{subfloat number-1}
%   |\subfloat[]{\label{|\meta{label entry}|}}|
%   \end{Quote}
%
%   Another example:
%   \begingroup
%   \begin{Quote}%
%\begin{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,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[]{\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}}
%             \put(0,4.5){\line(1,0){9}}}
%   \put(23,10){\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(50,0){\framebox(40,30)[bl]{}}
%   \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; these two labels of subfloats use changed settings
%       of the \texttt{listofformat=} key]{%^^A
%   Here are two simple subfigures.
%   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
%   (\Fref{subfig:bII})}%^^A
%   \label{fig:subfig:catsIII}}
%   \end{figure}
%   \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.
%
%\begin{small}
%
%   \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
%
%\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
%
%   \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 |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|. 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}.
%   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. 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}
%   \DescribeMacro{\endprelastfoot}
%^^A%   The command |\LTlastpage|, defined by hand, tells to \package{longtable}'s
%^^A%   redefined macro the number of pages in longtable environment.
%   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 get defined if they are still unknown, i.e.~the main,
%   \package{longtable}, package didn't defined them.
%   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.)\medskip
%
%^^A%   \DescribeMacro{\floatfoot}
%   \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} &amp;|
%   |   \hfil\thead{\cmd{\floatsetup} keys} &amp;|
%   |   \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,
%     footposition=caption}
%   \begin{wrapfigure}[10]{O}{40mm}
%^^A   \ffigbox[40mm]
%   {\caption{Wrapped plain figure (\package{wrapfig} package)}%
%   \floatfoot{Plain figure fails with package version
%   3.3}\label{fig:wrapfig:WcatI}}
%   {\unitlength1.095\unitlength
%   \input{TheCat.picture}}
%   \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)%^^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}
%
%   {\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.}
%
%   \begin{Quote}
%   |\begin{wrapfigure}[10]{r}[34pt]{5cm}|\nopagebreak
%       \meta{figure}\nopagebreak
%   |\end{wrapfigure}|
%   \end{Quote}
%   \endgroup
%
%   \begingroup\sloppy
%   \def\FBaskip{-12pt}
%   \floatsetup[figure]{style=BOXED,frameset={\fboxsep12pt}}
%   \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{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, 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.
%
%   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}) 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 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 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 are ``stronger''
%    than next ones; if they are absent---settings of current
%    float\\[\medskipamount]
%    |\floatsetup[|\meta{captype}|]{...}|\,;\\[\medskipamount]
%    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
%
%   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 \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\sloppy
%   \floatsetup[figure]{style=WSHADOWBOX,captionskip=8pt}
%   \captionsetup[floatingfigure]{name=Fig.,labelformat=thinspace}
%   \subsection{The \package{floatflt} package}\label{ssec:floatflt}
%   \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 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 |floatflt|
%   environments need usage of |\floatbox| in any case, you can use
%   either |floatingfigure| or |floatingtable| and put
%   necessary float type in |\floatbox| argument (or use necessary
%   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 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 |floatflt| environments could fail with list
%   environments.
%
%   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
%
%   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. 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).
%
%   \emph{Founded limitations}.\nopagebreak
%
%   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.
%
%   \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}}}
%
%   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.
%
%   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).
%
%   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. 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:ii}) with rotated float, using
%   |sidewaysfigure|.
%\begin{Quote}
%\begin{preamble}
%     |\usepackage[figuresright]{rotating}|
%|\|\FRkey[sec]{floatsetup}|[rotfigure]{|%^^A
%   \FRkey{style}|=WSHADOWBOX}|
%\end{preamble}
%|\begin{sidewaysfigure}\emptyfloatpage|
%|\|\FRkey[FB]{ffigbox}|[\|\FRkey[FB]{FBwidth}|]|
%|  {...}|
%|  {\caption{Figure ...}%|
%|  \label{...}}|
%|\end{sidewaysfigure}%|
%\end{Quote}
%   \floatsetup[rotfigure]{style=WSHADOWBOX}
%   \begin{sidewaysfigure}\emptyfloatpage
%   \ffigbox[\FBwidth] {\includegraphics[width=4in]{pslearn}}
%   {\caption{Figure inside \texttt{sidewaysfigure} environment}%
%   \label{fig:rot:ii}}
%   \end{sidewaysfigure}%
%
%   \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
%
%   You may create special settings for all rotated floats, which use
%   \env{sideways...} environment (see page \pageref{stsetorder}).
%
%   For one-column rotated float
%   \RestoreSpaces
%   \begin{itemize}
%   \item %
%    if exists |\floatsetup[rot|\meta{captype}|]{...}|
%    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 are ``stronger'' than next
%    ones; if they are absent---settings for current float
%    (|\floatsetup[|\meta{captype}|]{...}|);
%    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)
%   \begin{itemize}
%   \item %
%    if exists |\floatsetup[widerot|\meta{captype}|]{...}|
%    package uses these settings---the ``strongest'' settings;
%    if they are absent---uses settings of next item;
%   \item %
%    if exists |\floatsetup[widerotfloat]{...}| package
%    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 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 are ``stronger'' than next
%       ones;
%    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}
%
%   \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, 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}
%
%   \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.
%
%\endgroup
%
%   \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 |landscape| environment from
%   \package{lscape} package on the page~\pageref{fig:rotrow:WcatI}, figures
%   \ref{fig:rotrow:WcatI}--\ref{fig:rotrow:FcatI}):
%   \RestoreSpaces
%\begin{Quote}
%\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}\|\FRkey{emptyfloatpage}
%|...|
%\end{Quote}
%   |\floatsetup| code sets |ruled| float style,
%   then settings for above and below material are redefined:
%   |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 |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 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.}
%   for algorithm type of float.
%
%   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 |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}).
%
%   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.
%
%   \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
%   I'm trying to follow all offered layouts of this package. Great thanks
%   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 |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}).
%
%   \addtocontents{toc}{\string\pagebreak[3]}
%   \section{Limitations}
%
%   There are known limitations, which were found during usage of
%   \package{floatrow}:
%   \begin{itemize}
%   %^^A \item %
%   %^^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 |minipage|
%   %^^A could get wrong layout (vertical alignment). But, as I
%   %^^A found, you may use a few |minipage|s in object without harm.
%   \item %
%   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
%   |\label|---|\ref| mechanism, thus, if you use float layout which
%   demands common height of objects and/or captions in float row,
%   you'll get correct result after second or more  runs. If you change
%   contents of float which change its height you must run \LaTeX{}
%   twice or more times too.
%
%   Beside captions and other facing layout will appears correctly only
%   after second \LaTeX's run (sometimes you need to run more times).
%   \item %
%   The  \package{caption} and
%   \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 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 for them.
%   \item %
%   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 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 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)
%   by percent sign. In this case you'll avoid unwanted spaces/lines at
%   the end of contents of each part, or wrong justification of float
%   components.
%   %^^A \item %
%   %^^A Usage of fancy boxes |shadowbox| and |wshadowbox|
%   %^^A could get wrong layout with beside captions.
%   \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 |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 |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
%   with usage of |\hsize| as \meta{width} option of |\floatbox|.
%   \end{itemize}
%
%   \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, 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
%   me with their program code all these years.
%
%   \medskip\noindent
%   Thanks for Keith Reckdahl, author of \file{epslatex}, which
%   documentation, at last, encouraged me to create the CTAN version of
%   this package.
%
%   \medskip\noindent
%   \emph{Thanks for \emph{all} authors of second edition of \LaTeX{}
%   Companion for this book.}
%
%\ifx\landscape\undefined\else\begingroup
%   \ifx\landscape\relax\else
%   \clearfloatsetup{figure}
%   \floatsetup[figure]{style=ruled,rowprecode=thickrule,
%     rowpostcode=lowthickrule,capposition=TOP,margins=hangtoheads,
%     footposition=caption}
%   \renewlengthtocommand\setlength\Mylen{\textwidth}
%
%   \begin{landscape}
%
%   \begin{figure}\emptyfloatpage\label{example:ruledcapposTOP}
%
%   \begin{floatrow}[4]%^^A
%   \ffigbox[][][t]
%   {{\input{TheCat.picture}}%^^A
%    \footnotetext[1]{This
%    picture was created with  \cmd{\qbezier}
%    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}}%
%
%   \floatbox{figure}[2\FBwidth][][b]
%   {\caption{Figure in the row~II, bottom of object box}%
%   \label{fig:rotrow:BcatI}%
%   \floatfoot{There are all \cmd{\qbezier} macros and only
%              two vertical lines}}%
%   {\input{BlackCat.picture}\footnote[2]%
%    {Look at funny footnotemark!}}%
%
%   \ffigbox[\FBwidth]
%   {{\unitlength2.5\unitlength
%   \input{Cat.picture}}}
%   {\caption{Figure in the row~III, center of object box}%
%   \label{fig:rotrow:mouseI}\floatfoot{The image of cat}}%
%
%   \floatbox{figure}[\Xhsize][\Mylen]
%   {\caption{Figure in the row~IV}\label{fig:rotrow:FcatI}}
%   {\Resizebox\hsize\vsize{35}{136}{\input{BlackCat2.picture}}}
%   \end{floatrow}
%
%   \end{figure}
%
%   \end{landscape}
%\endgroup\fi\fi
%
%   \clearpage
%   \suppressfloats[t]
%   \section{Appendix}
%   \FRorisubsection{Miscellaneous}
%   \FRorisubsubsection{Usage of Captionsetup and Thisfloatsetup
%     Inside Floatbox Stuff}\label{ssec:app:besidestart}
%   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}%|
%|   \|\FRkey{thisfloatsetup}|{|\FRkey{capbesideposition}|=left}}][\|\FRkey[FB]{FBwidth}|]|
%|\newfloatcommand{fcapsideright}{figure}[{\capbeside|
%|  \captionsetup[capbesidefigure]{labelsep=newline,|
%|   justification=raggedright}%|
%|   \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,
%     capbesidesep=cicero,margins=centering,
%     capbesideframe=yes}
%
%   \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{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{FB:FR:fig}}%
%   \end{floatrow}%
%   \end{figure}%
%
%   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 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 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}
%\begin{preamble}
%|\floatsetup[figure]{|\FRkey{style}|=plain}|
%\end{preamble}
%|\begin{figure}|
%|\floatbox[\capbeside\useFCwidth]{figure}[\|\FRkey[FB]{FBwidth}|]|
%| ...|
%|\end{figure}|
%\end{Quote}
%   \clearfloatsetup{figure}
%   \floatsetup[figure]{style=plain}
%
%   \begin{figure}[H]
%   \floatbox[\capbeside\useFCwidth]{figure}[\FBwidth]
%   {\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 the following float style:%^^A
%\begin{Quote}
%\begin{preamble}
%|\|\FRkey{renewlengthtocommand}|\settowidth\Mylen{\captionfont\captionlabelfont|
%|   \figurename\ \thefigure}|
%\end{preamble}
%|\floatsetup[figure]|
%| {|\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,
%     capbesidewidth=\Mylen,capbesideposition=left,capbesidesep=cicero,
%     margins=centering,capbesideframe=yes,floatwidth=sidefil}
%   \renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont
%      \figurename\ \thefigure}
%
%\begingroup
%   \begin{figure}[H]
%^^A   \captionsetup[capbesidefigure]{format=default,labelsep=none}
%   \fcapside
%     {\unitlength1.44\unitlength
%     \input{Horse.picture}}
%     {\caption[The box of beside caption has width of caption contents (here: caption label)]{}\label{fig:capbeside:trick}}
%   \end{figure}%
%\endgroup
%
%   \subsubsection{Width Definition for Beside
%     Caption---Object Box in Float Row}
%   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:
%\begin{Quote}
%\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}
%   (here is clear that before second you can also set |\setlength\hsize{.8\hsize}|).
%
%^^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}
%   \floatsetup[figure]
%    {style=plain,capposition=beside,objectset=centering,
%     capbesideposition=left,capbesidesep=enskip,
%     margins=centering,capbesideframe=yes,floatwidth=sidefil}
%   \begin{figure}[H]\useFCwidth
%^^A   \captionsetup[capbesidefigure]{format=default,labelsep=none}
%   \begin{floatrow}
%   \setlength\hsize{1.2\hsize}%
%   \fcapside
%     {\setlength\unitlength{\hsize/100}%^^A
%     \input{Bear.picture}}
%     {\caption[Left figure with beside caption in the row]{%^^A
%     }\label{floatrow:pre:figI}}
%   \setlength\hsize\Xhsize
%   \fcapside
%     {\setlength\unitlength{\hsize/44}%^^A
%     \input{Doll.picture}}
%     {\caption[Right figure with beside caption in the row]{%^^A
%   }\label{floatrow:pre:figII}}
%   \end{floatrow}%
%   \end{figure}%
%\endgroup
%
%   \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 has the same value,
%   you may use each of these three commands. Unfortunately you must set
%   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{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[\|\FRkey[FB]{Xhsize}|][3.6cm]|
%|      ...|
%|\end{floatrow}%|
%|\end{figure}|
%\end{Quote}
%
%   \clearfloatsetup{figure}
%   \floatsetup[figure]
%    {style=Boxed,frameset={\fboxsep6pt},captionskip=5pt,capposition=bottom,
%     objectset=centering,capbesidewidth=sidefil,capbesideposition=inside,
%     capbesidesep=enskip,margins=centering,capbesideframe=yes}
%
%   \begin{figure}[H]\CenterFloatBoxes
%   \begin{floatrow}
%   \hsize1.098\hsize \fcapside[\FBwidth][3.6cm]
%     {\unitlength1.44\unitlength
%     \input{Cat.picture}}
%     {\caption[Float box \cmd{\fcapside} in float row beside \cmd{\ffigbox}]{%^^A
%   Float box (\cmd{\fcapside}) with beside caption in float row
%   width float with caption below}\label{flrow:mix:figI}}%
%
%   \ffigbox[\Xhsize][3.6cm]
%     {\unitlength1.44\unitlength
%     \input{BlackDog.picture}}
%     {\caption{%^^A
%   Float box (\cmd{\ffigbox}) width of rest float row
%   space} \label{flrow:mix:figII}}
%   \end{floatrow}%
%   \end{figure}
%
%   The code for ``mirror'' layout (but not identical) looks like:
%   \allowprelistbreaks[-4]\RestoreSpaces
%\begin{Quote}
%|\begin{figure}\CenterFloatBoxes|\nopagebreak
%|\begin{floatrow}|\nopagebreak
%|   \ffigbox[1.28\|\FRkey[FB]{FBwidth}|][3.6cm]|
%|      ...|
%| |
%|   \hsize\Xhsize|
%|   \fcapside[\FBwidth][3.6cm]|
%|      ...|
%|\end{floatrow}%|\nopagebreak
%|\end{figure}|
%\end{Quote}
%
%   \begin{figure}[H]\CenterFloatBoxes
%   \begin{floatrow}
%   \ffigbox[1.28\FBwidth][3.6cm]
%     {\unitlength1.44\unitlength
%     \input{BlackDog.picture}}
%     {\caption{%^^A
%   Float box (\cmd{\ffigbox})
%   in mirror float row}\label{floatrow:mirrmix:figII}}%
%   \hsize\Xhsize
%
%   \fcapside[\FBwidth][3.6cm]
%     {\unitlength1.44\unitlength
%     \input{Cat.picture}}
%     {\caption[Float box (\cmd{\fcapside}) in mirror float row]{%^^A
%   Float box with beside caption (\cmd{\fcapside}) in mirror float row
%   width float with caption below}\label{floatrow:mirrmix:figI}}
%   \end{floatrow}%
%   \end{figure}
%
%   \subsubsection{Photo-Album-Like Layouts}
%   Another example of miscellaneous float row
%   (figures~\mbox{\ref{flrow:three:figIII}--\ref{floatrow:threemirr:figII}},
%   and, ``mirror layout''---^^A
%   \mbox{\ref{floatrow:threemirr:figI}--\ref{floatrow:threemirr:figIII}}) were
%   created by following lines:
%\begin{Quote}
%|\begin{figure}\|\FRkey[FB]{BottomFloatBoxes}
%|\begin{floatrow}|
%|\hsize1.2\hsize \|\FRkey[FB]{ffigbox}|[][6.7cm]|
%|  ...|
%| |
%|\vbox to6.7cm|
%| {\|\FRkey[sec]{floatsetup}|[figure]{|\FRkey{floatrowsep}|=none}\|\FRkey{killfloatstyle}
%|    \ffigbox[.8\hsize]|
%|      ...|
%|    \vss|
%|    \ffigbox[.8\hsize]|
%|      ...%|
%| }%|
%|\end{floatrow}%|
%|\end{figure}|
%\end{Quote}
%
%   \floatsetup[figure]{heightadjust=none}
%   \begin{figure}[H]\BottomFloatBoxes
%   \begin{floatrow}
%   \hsize1.2\hsize
%   \ffigbox[][6.7cm]
%     {\setlength\unitlength{\hsize/58}%^^A
%     \input{Mouse.picture}}%
%     {\caption[Photo-album-like layout: left float]{Float
%       box in photo-album-like layout:
%       alone in left column}\label{flrow:three:figIII}}%
%
%   \vbox to6.7cm {\floatsetup[figure]{floatrowsep=none}\killfloatstyle
%    \ffigbox[.8\hsize]
%     {\input{TheCat.picture}}
%     {\caption[Photo-album-like layout: upper right float]{%^^A
%   Float box in photo-album-like layout: upper float in right
%   column}\label{floatrow:three:figI}} \vss \ffigbox[.8\hsize]
%     {\input{BlackDog.picture}}%
%     {\caption[Photo-album-like layout: lower right float]{%^^A
%   Lower float in right column}%
%   \label{floatrow:threemirr:figII}}}%
%   \end{floatrow}%
%   \end{figure}
%
%   The ``mirror'' layout created by following commands:
%   \RestoreSpaces
%\begin{Quote}
%|\begin{figure}[t]\|\FRkey[FB]{TopFloatBoxes}
%|\begin{floatrow}|
%|\vtop to7cm|
%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle|
%|    \ffigbox[.8\hsize]|
%|      ...|
%|    \vss|
%|    \ffigbox[.8\hsize]|
%|      ...%|
%| \vskip0pt}\floatrowsep|
%| |
%|\ffigbox[\Xhsize][7cm-11pt]|
%|  ...|
%|\end{floatrow}%|
%|\end{figure}|
%\end{Quote}
%   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
%   (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
%    \ffigbox[.8\hsize]
%     {\input{TheCat.picture}}
%     {\caption[Photo-album-like layout, mirror: upper left float]{%^^A
%   Float box in photo-album-like layout: upper float in left
%   column}\label{floatrow:threemirr:figI}} \vss \ffigbox[.8\hsize]
%     {\input{BlackDog.picture}}%
%     {\caption[Photo-album-like layout, mirror: lower left float]{%^^A
%   Float box in photo-album-like layout: lower float in the left column}%
%   \label{floatrow:three:figII}}\vskip0pt}\floatrowsep
%
%   \ffigbox[\Xhsize][7cm-11pt]
%     {\setlength\unitlength{\hsize/58}%^^A
%     \input{Mouse.picture}}%
%     {\caption[Photo-album-like layout, mirror: right float]{%^^A
%   Float box in photo-album-like layout: alone in right
%   column}\label{floatrow:threemirr:figIII}}
%   \end{floatrow}%
%   \end{figure}
%
%   In both examples for two floats one above another was cancelled
%   |\floatrowsep| code inside |\vbox|/|\vtop|.
%
%   Note that these examples are rather specific---you may try with
%   other combinations (e.g. more-``columned''), but maybe these layouts
%   need more care with usage of |\Xhsize| and/or |\floatrowsep|.
%
%   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?).\RestoreSpaces
%
%   \clearpage
%   \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 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
%   all sample files) need at least two \LaTeX{} runs.
%
%   The list of samples:
%
%   \begin{Options}{\OptionLabel}
%     \item[frsample01.tex]   all possible combinations of predefined
%       \package{floatrow} styles for captions above/below floats with foot
%       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]   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 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 |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 |figure*|);
%     \item[frsample12.tex]   two-column layout with attempts of
%       colored float styles.
%   \end{Options}
%
%    {\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.\par}
%
%\vfil
%
%   \begin{small}
%   \subsection{Obsolete Commands}\label{sec:changed}
%   \FRorisubsubsection{The User Interface---New Floats [\package{float}]}
%   \label{sec:floatborrowI}
%
%   \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
%   |\newtheorem|. The |\newfloat| command takes three required and
%   one optional argument; it is of the form
%   \begin{Quote}
%   \hspace*{\MacroIndent}|\newfloat{|\meta{type}|}{|^^A
%     \meta{placement}|}{|\meta{ext}|}[|\meta{within}{\tt]}
%   \end{Quote}
%   \begin{itemize}\advance\itemsep2ptplus2pt
%   \item \marg{type} is the `type' of the new class of floats, like
%   |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., |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
%   followed by \marg{ext} as a file name.
%   \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}${}={}$|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 \cs{}\FRkey{DeclareNewFloatType} macro stuff.}.
%   \end{itemize}
%\begin{em}
%   \emph{Floatrow note.}
%   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}|
%   |\newfloat{Program}{tbp}{lop}[section]|\pagebreak[3]
%   \dots\ loads o' stuff \dots
%   |\begin{Program}|
%   |\begin{verbatim}|
%   \dots\ program text \dots
%   |\end{verbatim}|
%   |\caption{|\dots\ caption \dots|}|
%   |\end{Program}|
%   \end{Quote}
%   \caption{This is another silly floating Example. Except
%     that this one doesn't actually float
%     because it uses the {\tt[H]} optional parameter
%     to appear \textbf{Here}. (Gotcha.)}\label{exa1.1}
%   \end{Example}\pagebreak[3]
%   \begin{Program}
%\begin{verbatim}
%#include &lt;stdio.h&gt;
%
%
%int main(int argc, char **argv) {
%       int i;
%       for (i = 0; i &lt; argc; ++i)
%               printf("argv[%d] = %s\n", i, argv[i]);
%       return 0;
%}
%\end{verbatim}
%   \caption{The first program. This hasn't got anything to do with the
%   package but is included as an example.
%   Note the \texttt{ruled} float style.%
%      \label{prog1.1}}
%   \end{Program}
%
%   \DescribeMacro{\floatstyle}
%   The |\floatstyle| command sets a default
%   float style. This float style will be used for all the floats that
%   are subsequently defined using |\newfloat|, until another
%   |\floatstyle| command appears. The |\floatstyle| command takes one
%   argument, the name of a float style. For instance,
%   |\floatstyle{ruled}|. Specifying a string that does not name a valid
%   float style is an error.
%
%   \DescribeMacro{\floatname}
%   The |\floatname| command lets you define
%   the \emph{float name} that \LaTeX\ uses in the caption of a float,
%   i.e., `Figure' for a figure and so on. For example,
%   |\floatname{program}{Program}|. The |\newfloat| command sets the
%   float name to its argument \meta{type} if no other name has been
%   specified before.
%
%   \DescribeMacro{\floatplacement}
%   The |\floatplacement| command resets
%   the default placement specifier of a class of floats. E.g.,
%   |\floatplacement{figure}{tp}|.
%
%   \DescribeMacro{\restylefloat}\nopagebreak
%   The |\restylefloat| command is necessary
%   to change styles for the standard float types
%   |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 |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 |boxed|
%   style. Please note that |plain| and |boxed| float
%   styles have not any special settings in \package{caption} 3.x package.
%   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
%   new float style from taking over the |\caption| command. In this
%   case the user is responsible for handling their own captions.
%   \DeleteShortVerb{\|}
%   %^^AEmulation of float's documentation settings
%   %^^A\floatstyle{boxed}
%   %^^A\restylefloat{table}
%   \begingroup
%   \clearcaptionsetup{table}
%   \captionsetup{labelsep=default,labelfont=bf}
%   \floatsetup[table]{style=boxed}
%   \begin{table}[h] \def\B#1{$\displaystyle{n\choose#1}$}
%   \begin{center} \begin{tabular}{c|cccccccc}
%   $n$&amp;\B0&amp;\B1&amp;\B2&amp;\B3&amp;\B4&amp;\B5&amp;\B6&amp;\B7\\ \hline
%    0 &amp; 1\\
%    1 &amp; 1&amp;1\\
%    2 &amp; 1&amp;2&amp;1\\
%    3 &amp; 1&amp;3&amp;3&amp;1\\
%    4 &amp; 1&amp;4&amp;6&amp;4&amp;1\\
%    5 &amp; 1&amp;5&amp;10&amp;10&amp;5&amp;1\\
%    6 &amp; 1&amp;6&amp;15&amp;20&amp;15&amp;6&amp;1\\
%    7 &amp; 1&amp;7&amp;21&amp;35&amp;35&amp;21&amp;7&amp;1
%   \end{tabular} \end{center}
%   \caption{Pascal's triangle. This is a re-styled \LaTeX\
%      \texttt{table}.\label{table1}}
%   \end{table}
%   \endgroup
%   \MakeShortVerb{\|}
%
% \end{small}\pagebreak[2]
%
%\clearpage
%\RestoreSpaces
%   \begingroup\extrarowheight1.75pt\small\openup-.5pt\tabcolsep.5\tabcolsep\LTpre=0ptplus3pt\LTpost\LTpre
%   \subsubsection{The \texorpdfstring{\cs{floatsetup}}{floatsetup} Keys, Renamed or Deleted After Version 0.1b}
%   \parindent0pt
%   \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}|
%     &gt;{\rightskip0ptplus1fil}p{.35\hsize}|
%     &gt;{\rightskip0ptplus1fil}p{.6\hsize}|}
%   \multicolumn{2}{c}{Removed or changed commands}
%   \\\hline
%   \thead{Command}
%   &amp;
%   \thead{Changed to}
%   \\\hline
%   \endhead
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%   |\renewfloatstyle|,\\
%   |\newfloatstyle|,\\
%   |\definefloatstyle|
%   \end{tabular}&amp;
%   |\DeclareFloatStyle|---this command uses |\floatsetup|
%   mechanism
%   \\\hline
%    |\restorerestylefloat| &amp; removed
%   \\\hline
%    |\captionskip| &amp; command, not a skip
%   \\\hline
%    |\floatfootskip| &amp; command, not a skip
%   \\\hline
%   \end{longtable}
%
%   \vskip1pt
%   \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}|
%     &gt;{\rightskip0ptplus1fil}p{.35\hsize}|
%     &gt;{\rightskip0ptplus1fil}p{.6\hsize}|}
%   \multicolumn{2}{c}{Commands, replaced by keys}
%   \\\hline
%   \thead{Deleted Command}
%   &amp;
%   \thead{Key Analog}
%   \\\hline
%   \endhead
%    |\floatobjectset| &amp;
%   in current version \emph{do not use for definition of object
%   settings}, use key
%    |objectset=|
%   \\\hline
%    |\alignsidecaption|&amp;
%     |capbesideframe=yes|
%   \\\hline
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%    |\capbesidecenter|,\\ |\capbesidetop|,\\
%    |\capbesidebottom|,\\
%         |\capbesideinside|,\\
%         |\capbesideoutside|,\\
%         |\capbesideleft|,\\ |\capbesideright|
%   \end{tabular}&amp;
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%         |capbesideposition=center|\\
%         |capbesideposition=top|\\
%         |capbesideposition=bottom|\\
%         |capbesideposition=inside|\\
%         |capbesideposition=outside|\\
%         |capbesideposition=left|\\
%         |capbesideposition=right|
%   \end{tabular}
%   \\\hline
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%    |\floatrowsep|,\\ |\floatcapbesidesep|
%   \end{tabular}&amp;
%   in current version \emph{do not use for definition of separation
%   material}, use keys\par
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%    |floatrowsep=|\\
%    |capbesidesep=|
%   \end{tabular}
%   \\\hline
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%    |\FBcenter|\vphantom{g},\\ |\FBleft|\vphantom{g},\\
%    |\FBright|,\\ |\FBnormal|
%   \end{tabular}&amp;
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%         |margins=center|,\\
%         |margins=raggedright|,\\
%         |margins=raggedleft|, \\
%         |margins=center|,\\
%   \end{tabular}
%   \\\hline
%    |\setfloatstyle| &amp; |style=|
%   \\\hline
%   \extrarowheight0pt\begin{tabular}[t]{@{}l}
%    |\Setframe|\\
%    |\setframe|
%   \end{tabular}
%   &amp; use |framestyle=| and |frameset=| keys
%   \\\hline
%    \cmd{\setrules}
%   &amp; use |precode=|, |postcode=|, |midcode=| (also
%   |rowpercode| and |rowpostcode|) keys
%   \\\hline
%   \end{longtable}
%
%   \RestoreSpaces\vskip1pt\pagebreak[3]
%
%   \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}|
%     &gt;{\rightskip0ptplus1fil}p{.35\hsize}|
%     &gt;{\rightskip0ptplus1fil}p{.6\hsize}|}
%   \multicolumn{2}{c}{Renamed keys}
%   \\\hline
%   \thead{Key}
%   &amp;
%   \thead{Changed to}
%   \\\hline
%   \endhead
%    |attachedcapstyle=| &amp; |relatedcapstyle=|
%   \\\hline
%    |floatstyle=| &amp; |style=|
%   \\\hline
%    |floatfont=| &amp; |font=|
%   \\\hline
%    |putcaptionbeside=| &amp; |capposition=beside|
%   \\\hline
%    |besidecapposition=| &amp; |capbesideposition=|
%   \\\hline
%    |besidecapwidth=| &amp; |capbesidewidth=|
%   \\\hline
%    |besidecapframe=| &amp; |capbesideframe=|
%   \\\hline
%    |floatmarginsset=| &amp; |margins=|
%   \\\hline
%    |besidecapsep=| &amp; |capbesidesep=|
%   \\\hline
%    |Precode=| &amp; |rowprecode=|
%   \\\hline
%    |Postcode=| &amp; |rowpostcode=|
%   \\\hline
%    |framereduce=| &amp; |framefit=|
%   \\\hline
%   \extrarowheight0pt\begin{tabular}[t]{@{}l@{}}
%    \vphantom{(}options of |objectset=|\\\quad
%                and |margins=|\\
%    |flushleft|,\\ |flushright|,\\|center|
%   \end{tabular} &amp;
%   \extrarowheight0pt\begin{tabular}[t]{@{}l@{}}
%    \vphantom{(}options of |objectset=| and |margins=|
%      (for unification\\\quad with analogous key options in \package{caption}
%       package)\\
%    |raggedright|,\\ |raggedleft|,\\ |centering|
%   \end{tabular}
%   \\\hline
%   \end{longtable}
%   \endgroup
%   \MakeShortVerb{\|}%
%
% \StopEventually{}
% \hfuzz70pt\clearpage
%
% \section{The Code}
%
% \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}
%
% 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}
%&lt;*floatrow&gt;
\@ifundefined{float@caption}{%
  \@ifundefined{rotfloat@float}{}%
    {\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.\MessageBreak
        The latter will be skipped}{}%
  \@namedef{opt@floatrow.sty}{}\endinput}
%    \end{macrocode}
%
% The next lines emulate already loaded \package{float} and \package{rotfloat}
% packages.
%
% If in preamble, after loading of \package{floatrow} package is used
% |\usepackage| with \package{float} package (the \package{float} package
% doesn't support any options), the defining of command |\ver@float.sty|,
% which emulates loading of package will do not any harm.
%
% Unfortunately the \package{rotfloat} package allows to transfer options of
% \package{rotating} package in the case of appearance
% of both packages in one |\usepackage| line. Thus, if someone loads
% options in \package{rotating}---\package{rotfloat} line, he will get
% `option clash' error. A followed help gives a simple solution of such
% problem---moving options in |\documentclass| line and make them global.
% 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.
%    \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}
%
% 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 (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}
%    \begin{macrocode}
\RequirePackage{caption3}
\@ifpackagelater{caption3}{2007/04/11 v3.0q}{}{\PackageError
    {floatrow}{For a successful cooperation we need at least\MessageBreak
    version `2007/04/11 v3.0q' of package caption,\MessageBreak
        but only version\MessageBreak
          `\csname ver@caption.\@pkgextension\endcsname'\MessageBreak
        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 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}
%
% \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\flrow@caption{%
   \ifx\@captype\@undefined
     \@latex@error{\noexpand\caption outside float}\@ehd
     \expandafter\@gobble
   \else
     \refstepcounter\@captype
     \expandafter\@firstofone
   \fi
   {\@dblarg{\@caption\@captype}}%
}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\float@caption}
% 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 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}
% package and typed with slanted font. Some macros
% were skipped or edited (see \emph{floatrow notes}).
%
% \begin{sl}\medskip
% In \LaTeX, floats are assigned `type numbers' that are powers of~$2$.
% Since there are only two classes of floats, their type numbers are
% hardwired into the document styles. We need to be somewhat more flexible,
% and thus we initialize a counter to hold the next type number to be
% assigned. This counter will be incremented appropriately later.
%    \begin{macrocode}
\newcounter{float@type}
\@ifundefined{c@figure}%
  {\setcounter{float@type}{1}}%
  {\setcounter{float@type}{4}}
%    \end{macrocode}
%
% \begin{macro}{\floatstyle}
% The |\floatstyle| command puts its argument into the
% |\float@style| macro as the name of the new float style.
% But if the argument doesn't denote a float style, an error message
% is output instead: Each float style \meta{style} has a corresponding
% command |\fs@|\meta{style} that contains the appropriate declarations.
% If the control sequence |\fs@|\meta{arg} (which goes with the
% argument \meta{arg} to |\floatstyle|) is undefined, i.e.,
% equals |\relax| under |\ifx|, then the float style \meta{arg}
% is unknown, and we call |\float@error{|\meta{arg}|}| for the
% error message.
%
% \begin{macro}{\flrow@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}
% \end{macro}
%
% \begin{macro}{\flrow@eh}
%   {\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
  at `floatrow' and `caption' package documentations.\MessageBreak
  \@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}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\floatname}
% \begin{macro}{\floatplacement}
% The next two commands are even simpler. \LaTeX\ says that
% |\fps@|\meta{float} contains the default placement specifier for
% 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.)
% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to
%    \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}
%   {\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}
%   [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.
%    \begin{macrocode}
\newif\if@@FS
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FR@redefs}
%   This macro makes temporary redefinitions of |\@makecaption|
%   and |\@floatboxreset| macros.
%    \begin{macrocode}
\newcommand\FR@redefs{%
%  \@ifundefined{sf@end@float}{}{\let\end@float\sf@end@float}%
%  \@ifundefined{sf@end@dblfloat}{}{\let\end@dblfloat\sf@end@dblfloat}%
  \@ifundefined{HyOrg@float@makebox}{}%
    {\let\float@makebox\HyOrg@float@makebox}%
  \ifx\flrow@makecaption\@makecaption\relax
  \else
    \let\FR@makecaption\@makecaption
    \let\@makecaption\flrow@makecaption
  \fi
  \let\@floatboxreset\flrow@flboxreset}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@makecaption}
%   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
      \ifdim\FBc@wd&gt;\z@
        \hsize\FBc@wd
      \else
        \adj@dim\hsize+\FBo@wadj=\hsize
      \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&lt;70mm\sloppy\fi
   \normalsize
   \abovecaptionskip\z@\belowcaptionskip\z@
   \FR@makecaption{#1}{#2}\egroup}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\killfloatstyle}
%   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}
%    \end{macrocode}
% \end{macro}
%
% \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.
%    \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. 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.
%
%   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}%
     {\flrow@restylefloat{yes}\flrow@restyle}}
\newcommand\flrow@restylefloat[3]{%
   \edef\FR@tmp{\noexpand
     \floatsetup[#3]{style=\float@style,relatedcapstyle=#1}}\FR@tmp
   #2{#3}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@restyle}
%   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 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) 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.
%    \begin{macrocode}
    \flrow@setlist{{#1}{widefloat}{wide#1}}%
    \FRifFBOX\@@setframe\fi\@@FStrue\edef\FBB@wd{\the\textwidth}%
%    \end{macrocode}
% {\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.
%    \begin{macrocode}
    \let\@xdblfloat\@xfloat\relax
    \FR@ifdoubleaswide
     {\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 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
    \flrow@setlist{{#1}{rotfloat}{rot#1}}%
    \columnwidth\textheight\edef\FBB@wd{\the\textheight}%
    \FRifFBOX\@@setframe\fi\@@FStrue
    \let\rotfloat@@makebox\float@makebox
    \let\float@makebox\rotfloat@makebox
    \@float{#1}}%
  \@namedef{endsideways#1}{\FBbuildtrue\float@end}
%    \end{macrocode}
%   Two-column rotated floating environment without support.
%    \begin{macrocode}
  \ifx\@rotdblfloat\undefined
   \@namedef{sideways#1*}{%
     \flrow@error{%
      You need rotating version 2.10 or newer to do this}%
     \@nameuse{sideways#1}}%
  \else
%    \end{macrocode}
%   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[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.
%    \begin{macrocode}
     \let\@xdblfloat\@xfloat
     \let\rotfloat@@makebox\float@makebox
     \let\float@makebox\rotdblfloat@makebox
     \@dblfloat{#1}}%
  \fi
  \@namedef{endsideways#1*}{\FBbuildtrue\float@dblend}}
%    \end{macrocode}
%   Wrapped floating environment from \package{wrapfig} package.
%    \begin{macrocode}
 \@ifundefined{wrapfloat}{}{%
   \@ifundefined{flrow@WF@rapt}{\let\flrow@WF@rapt\WF@rapt
   \def\WF@rapt[##1]##2{\FRifFBOX\@@setframe\fi\@@FStrue
     \dimen@##2\relax
     \ifdim\dimen@&gt;\z@
       \edef\FBB@wd{\the\dimen@}\FB@fs@wd\dimen@\FBo@wd
     \fi
     \flrow@WF@rapt[##1]{\dimen@}%
%    \end{macrocode}
% \changes{v0.1k}{2007/05/24}{Commented \cmd{\capstart} for a while}
%    \begin{macrocode}
%       \@ifundefined{capstart}{}{\capstart}%
       \the\FR@everyfloat\ignorespaces}%
   }{}%
   \@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}
%    \begin{macrocode}
     \FR@redefs\FBc@wd\z@
     \flrow@setlist{{#1}{wrapfloat}{wrap#1}}%
%    \end{macrocode}
%   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.)
%    \begin{macrocode}
%^^A       \adj@dim\hsize+\FB@wadj=\hsize
%^^A       \adj@dim\hsize+\FBo@wadj=\hsize
         \global\setbox\WF@box\flrow@FB{\wd\WF@box}%
       \else
         \global\let\flrow@typ@tmpset\undefined
         \global\let\WF@box\@currbox
       \fi}%
     \@ifnextchar[\WF@wr{\WF@wr[]}}%]
%   \expandafter\let\csname endwrap#1\endcsname\endwrapfloat}
   \@namedef{endwrap#1}{\endwrapfloat
     \@ifundefined{FloatHBarrier}{}\FloatHBarrier
     }}
%^^A   \@namedef{endwrap#1}{\ifdim\hsize&gt;\z@
%^^A      \adj@dim\hsize+\FBo@wadj=\hsize\fi\endwrapfloat}}
%    \end{macrocode}
%   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}
% Now we can explain how to define a new class of floats. Recall that
% the three required arguments to |\newfloat| are \meta{type},
% \meta{placement} and \meta{ext}, respectively. First we save the
% latter two; we also maintain a list of active \meta{ext}s so we can
% later iterate over all currently-open lists of floats.
%    \begin{macrocode}
\@ifdefinable\float@exts{\newtoks\float@exts}
%    \end{macrocode}
%   {\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@}}
\newcommand\newfloat@[3]{\@ifnextchar[{\@@newfloat{#1}{#2}{#3}}%
  {\@newfloat{#1}{#2}{#3}}}
\newcommand\@newfloat[3]{%
  \DeclareNewFloatType{#1}{placement=#2,fileext=#3}}
\@ifdefinable\@@newfloat{}
\def\@@newfloat#1#2#3[#4]{%
  \DeclareNewFloatType{#1}{placement=#2,fileext=#3,within=#4}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\float@newx}
%   {\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}
%
% We have to adapt some of \LaTeX's internal macros to our needs.
% There are several things that have to be changed around
% in order to provide the functionality of David Carlisle's \package{here}.
% The following is thus lifted from \package{here}, with changes and with
% David's permission:
%
% \begin{macro}{\@float@Hx}
% We save the original version of |\@xfloat|. (This macro is called from
% |\@float|, which we used above to define the environment commands for a
% new class of floats.)
%    \begin{macrocode}
\let\@float@Hx\@xfloat
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\@xfloat}
% The new version of |\@xfloat| looks for a |[H]| argument.
% If it is present |\@float@HH| is called, otherwise the original macro
% (renamed to |\@float@Hx|) is called.
%    \begin{macrocode}
\def\@xfloat#1[{\@ifnextchar{H}{\@float@HH{#1}[}{\@float@Hx{#1}[}}
%    \end{macrocode}
% \end{macro}
%   {\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}
\newsavebox\float@box
%    \end{macrocode}
%
% \begin{macro}{\@float@HH}
% 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[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}
%   {\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}\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.
%   {\em[floatrow] The special settings for H-floats |floatH| were added.}
%    \begin{macrocode}
  \let\@currbox\float@box
  \flrow@setlist{{floatH}{#1H}}%
%    \end{macrocode}
% Now we save the current float class name for use in constructing the
% |\caption|. The caption box (defined below) is initialized to an empty
% box to avoid trouble with floats not having a caption. Then we start the
% box that'll hold the float itself.
% |\parindent| is set to zero for compatibility with the standard
% \texttt{[h]} option.
%
% {\em [floatrow]
% Here added zeroing of list margins in the case of appearance of |\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{}%
  \setbox\@currbox\color@vbox\normalcolor
    \vbox\bgroup
      \hsize\columnwidth
      \linewidth\columnwidth
      \@parboxrestore\leftmargin\z@\rightmargin\z@
      \@floatboxreset \@setnobreak
%    \end{macrocode}
% The final |\ignorespaces| is needed to gobble any spaces or new lines
% after the {\tt[H]} tokens.
%    \begin{macrocode}
  \ignorespaces}
%    \end{macrocode}
% \end{macro}
%
% \begin{em}
% \begin{macro}{\flrow@flboxreset}
%   [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\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 |minipage|
%   environment or in |\parbox|) mean usage of natural height of components.
%    \begin{macrocode}
\@ifdefinable\FBcheight{\let\FBcheight\relax}
\@ifdefinable\FBoheight{\let\FBoheight\relax}
\@ifdefinable\FBfheight{\let\FBfheight\relax}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FB@fs@wd}
%   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.
%    \begin{macrocode}
  \flrow@setwd\textwidth\@tempdima
  \adj@dim\@tempdima-\FB@wadj=\@tempdima
  \settowidth\@tempdimb{{\FBleftmargin}{\FBrightmargin}}%
  \advance\@tempdima-\@tempdimb
  \global\FBc@wd\@tempdima\global\FB@wd\@tempdima
  \adj@dim\@tempdima-\FBo@wadj={\global\FBo@wd}%
  \hsize\FBo@wd\linewidth\hsize
  \FBifcaptop
    \ifnum\FPOScnt=\z@\columnwidth\hsize\else\columnwidth\FBc@wd\fi
  \else
    \columnwidth\FBc@wd
  \fi}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FC@fs@wd}
%   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}}%
  \advance\@tempdima-\@tempdimb
  \adj@dim\@tempdima-\FB@wadj=\@tempdima
  \settowidth\@tempdimb{{\floatcapbesidesep}}%
  \advance\@tempdima-\@tempdimb
%    \end{macrocode}
%   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 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.
%    \begin{macrocode}
        \FC@ifo@fil\advance\@tempdima-\FBc@wd\fi
     \fi
  \else
    \global\FBc@wd\@tempdima
  \fi
  \FC@ifo@fil\else\@tempdima.5\@tempdima
%    \end{macrocode}
%   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}%
  \FC@ifc@wd\else\global\advance\FBc@wd-\FB@wd\fi
  \hsize\FBo@wd\linewidth\hsize\columnwidth\FBc@wd\linewidth\hsize
  \FCset@vpos}
%    \end{macrocode}
% \end{macro}
% \end{em}
%
% \begin{macro}{\float@makebox}
% Basically, we must arrange for `style commands' to be executed
% at certain points during the generation of the float.
% \LaTeX\ puts a float into a vertical box |\@currbox| which it takes
% off a list of empty boxes for insertions. When the |\float@makebox| macro
% is called, |\@currbox| contains the complete float, minus the caption^^A
% ---we'll see later that we use our own |\caption| command to
% put the caption into a |\vbox| of its own. This is the only way
% 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 [floatrow \ldots Skipped explanation of float package.]}
%
% \begin{em}
%   [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 floating environment in minipage-like mode.
%
%    \begin{macrocode}
\newcommand\float@makebox[1]{%
  \FBifcapbeside\flrow@FC{#1}\else\flrow@FB{#1}\fi}
%    \end{macrocode}
%   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.
%    \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}%
  \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.
%   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}%
  \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.
%    \begin{macrocode}
\newcommand\FCc@box[1]{\def\@parboxto{}\FC@bbox#1\FC@ebox}
\newcommand\FC@bbox{\vbox\@parboxto\bgroup}
\newcommand\FC@ebox{\vskip\z@\egroup}
\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.
%    \begin{macrocode}
\newcommand\FBafil{\vfill}\newcommand\FBbfil{\vfill}
\newcommand\FBw@box[1]{\hsize#1\columnwidth#1\linewidth#1%
  \normalfont\normalcolor}
\newcommand\FB@vbox[3]{\ifx#2\relax\vbox\bgroup\else
  \vbox to#2\bgroup\vsize#2\fi\FBw@box#1#3\vskip\z@\egroup}
\newcommand\FB@vtop[3]{\ifx#2\relax\vtop\bgroup\else
  \vtop to#2\bgroup\vsize#2\fi\vskip\z@\FBw@box#1#3\egroup}
%    \end{macrocode}
%
% \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).
%
%   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
  \adj@dim\FBo@wd+\FBo@wadj=\hsize
  \@tempdima\ht\@currbox\advance\@tempdima\dp\@currbox
  \ifdim\@tempdima=\z@
     \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.
%    \begin{macrocode}
  \@parboxrestore\leftmargin\z@\rightmargin\z@
  \@@FBabove
  \FBifcaptop
%    \end{macrocode}
%   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=\@ne\vbox{\FB@foot}\fi\vfil}%
      \@@FBskip\hrule\@height\z@\@depth\z@
    \fi
%    \end{macrocode}
%   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.
%    \begin{macrocode}
      \vskip\z@
      \ifnum\FPOScnt=\z@
        \FB@vtop\FBo@wd\FBfheight{\FB@foot\vfil}\fi}}\par
      \par\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 |footposition=default| or |footposition=caption|
%   foot material loaded under caption contents.
%    \begin{macrocode}
  \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=\@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
%   |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
  \global\setbox\@floatcapt\box\voidb@x}}
%    \end{macrocode}
%
%   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}
%   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
    \hbox{\floatfacing*%
      {\ifvoid\@floatcapt\else
         \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.
% \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}}}%
       \ifvoid\@floatcapt\else
         \floatcapbesidesep\FCc@box{\FBw@box\FBc@wd
           \unvbox\@floatcapt\FB@foot}\fi
      }}\par\@@FBbelow\vskip\z@
    \end@FBBOX
    \global\setbox\@floatcapt\box\voidb@x}}
%    \end{macrocode}
%    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{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{em}
% \end{macro}
%
% \begin{macro}{\float@end}
% [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
% actual kernel code if we can help it; therefore we finish off the
% float using the kernel |\@endfloatbox|, then replace \LaTeX's
% contents of the |\@currbox| with our own processed version, and then
% hand the thing off to \LaTeX{} again. Of course we have already done
% |\@endfloatbox|, which comes at the beginning of |\end@float|, ourselves;
% therefore we neutralize it before calling |\end@float|. This doesn't
% 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 [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
    \let\@endfloatbox\relax\fi
  \end@float}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\float@endH}
% The |\float@endH| command is, again, derived from \package{here}. It'll
% deal correctly with a non-floating float, inserting the proper amounts
% of white space above and below.
%
%   {\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}\relax
  \vskip\intextsep
  \ifFBbuild\setbox\@currbox\float@makebox\columnwidth\fi
  \box\@currbox\par
  \FR@iffloatHaslist
   {\addpenalty\@endparpenalty\@endpetrue}\relax
  \vskip\intextsep\relax}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\float@dblend}
% The |\float@dblend| command finishes up double-column floats. This
% uses the same approach as |\float@end| above. It seems to work.
%
%   {\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
    \let\@endfloatbox\relax\fi
  \end@dblfloat}
%    \end{macrocode}
% \end{macro}
%
% \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
% is assembled.
%    \begin{macrocode}
\newsavebox\@floatcapt
%    \end{macrocode}
%
% [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([floatrow] the |\float@error| changed to
%   |\flrow@error|)}.
%    \begin{macrocode}
\newcommand*{\listof}[2]{%
  \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
%    \end{macrocode}
% 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}
    \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
% to do the actual work.
% If |\parskip| is non-zero, vertical space would be added between
% the individual list entries. To avoid this, we zero |\parskip|
% locally. This should be done after the |\float@listhead| above since
% |\parskip| also influences the spacing of headings, and the listings
% would look different from other chapters otherwise. (Suggested by
% Markus Kohm.)
%    \begin{macrocode}
    \begingroup\setlength{\parskip}{\z@}%
      \@starttoc{\@nameuse{ext@#1}}%
    \endgroup}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\float@listhead}
% This command generates the beginning of a list of floats.
% Currently the list appears at the chapter or the section level, depending
% on whether chapters are supported in the document class. According to
% a suggestion from Markus Kohm, this is now in a separate command so it
% can be overridden by other packages. We also use |\MakeUppercase| instead
% of |\uppercase|; when this piece of code was first written |\MakeUppercase|
% hadn't been invented yet, and for some reason this never got updated.
%    \begin{macrocode}
\providecommand*{\float@listhead}[1]{%
  \@ifundefined{chapter}{\def\@tempa{\section*}}%
    {\def\@tempa{\chapter*}}%
  \@tempa{#1\@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}}}%
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\float@addtolists}
% This command allows \LaTeX\ programmers to add something to all
% currently-defined lists of floats, such as some extra vertical
% space at the beginning of a new chapter in the main text
% (|\float@addtolists{\protect\addvspace{10pt}}|), without knowing
% exactly which lists of floats are currently being constructed.
% This command currently does \emph{not} operate on the |lot| and |lof|
% lists.
%    \begin{macrocode}
\newcommand\float@addtolists[1]{%
  \def\float@do##1{\addtocontents{##1}{#1}} \the\float@exts}
%    \end{macrocode}
% \end{macro}
%
%   {\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}
%
% ^^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 [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.}
%
% \begin{macro}{\@float@HH}
% We have to extend |\@float@HH|\emph{[\dots]}.
% {\em [floatrow] Since |\rotfloat@endH| was originally defined
% as |\float@endH| in current macro used |\float@endH|}
%    \begin{macrocode}
  \let\rotfloat@HH\@float@HH
  \def\@float@HH#1{%
    \expandafter\let\csname endsideways#1\endcsname\float@endH
%   \expandafter\let\csname endsideways#1*\endcsname\rotfloat@dblendH
    \let\end@float\relax
    \rotfloat@HH{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\rotfloat@endH}
% This one hasn't to be changed. {\em [floatrow] Commented.}
%    \begin{macrocode}
%  \newcommand\rotfloat@endH{\float@endH}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\rotfloat@makebox}
% \begin{macro}{\rotdblfloat@makebox}
% |\float@makebox| has a parameter here which will be set to |\columnwidth|
% or |\textwidth|. (In the \package{float} package $v1.2$ the |\columnwidth| was
% hard wired into |\float@makebox|.) So we have to pass this parameter
% through the original version of |\float@makebox| which we have saved to
% |\rotfloat@@makebox| within |\rotfloat@float|.)
%    \begin{macrocode}
  \newcommand*\rotfloat@makebox[1]{%
    \vbox{\def\@float##1[##2]{}\let\end@float\relax
      \@rotfloat{}[]%
      \ifFBbuild\rotfloat@@makebox{#1}\else\box\@currbox\fi
      \end@rotfloat}}
  \newcommand*\rotdblfloat@makebox[1]{%
    \vbox{\def\@float##1[##2]{}\let\end@dblfloat\relax
      \@rotdblfloat{}[]%
      \ifFBbuild\rotfloat@@makebox{#1}\else\box\@currbox\fi
      \end@rotdblfloat}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% 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
%    \end{macrocode}
%
% \end{sl}
%
% \subsection{Stuff to Load Footnotes and Float Foot Material}
%
% \begin{macro}{\FR@everyfloat}
% These token macros add redefinition of float stuff to arrange usage
% of footnotes inside plain float contents.
%    \begin{macrocode}
\@ifdefinable\FR@everyfloat{\newtoks\FR@everyfloat}
\FR@everyfloat={\let\@footnotetext\@mpfootnotetext
  \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
  \floatobjectset\floatfont}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FR@ifFOOT}
% Flag for placing foot material.
%    \begin{macrocode}
\let\FR@ifFOOT\iffalse
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FB@putfnotes}
% The excerpt from minipage macro (\LaTeX's core stuff) to put footnotes.
%    \begin{macrocode}
\newcommand\FB@putfnotes{%
  \ifvoid\@mpfootins\else\FR@ifFOOT
%    \end{macrocode}
% A special skip (|\skip\@mpfootins|) dimension for footnotes in
% float box changed to |\floatfootskip|.
%    \begin{macrocode}
    \vskip\floatfootskip\normalcolor\FBfootnoterule
    \unvbox\@mpfootins\@@par
  \fi\fi}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FB@putfoots}
% Macro analogous to previous one, but for loading of |\floatfoot| stuff.
% To load float foot material there is defined |\newinsert| for its stuff.
%    \begin{macrocode}
\@ifdefinable\flrow@foot{\newinsert\flrow@foot}
\newcommand\FB@putfoots{%
  \ifvoid\flrow@foot\else\FR@ifFOOT
%    \end{macrocode}
% The |\footnoterule| is not used for float foot.
%    \begin{macrocode}
    \vskip\floatfootskip\normalcolor
    \unvbox\flrow@foot\@@par
  \fi\fi}
%    \end{macrocode}
% \end{macro}
%
% \subsection{New Definitions for Footnotes}
%
% \begin{macro}{\mpfootnotemark}
% There is the definition of |\footnotemark| which creates the same mark as
% |\footnote| inside |minipage| environment. That could be useful in
% multiple footnote marks in tables. Since the same definition was 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
   \protected@xdef\@thefnmark{\thempfn}\@footnotemark}}%
 \@ifundefined{@xmpfootnotemark}
   {\def\@xmpfootnotemark[#1]{\begingroup\c@mpfootnote#1\relax
    \unrestored@protected@xdef\@thefnmark{\thempfn}\endgroup
    \@footnotemark}}{}}
%    \end{macrocode}
% \end{macro}
%
% \subsection{Macro for Legends, Explications, etc.}
%
% \begin{macro}{\floatfoot}
% This command made for the same reasons as \package{ccaption}'s |\legend|
% macro and follows its style. It uses |\caption| mechanism.
%    \begin{macrocode}
\captionsetup[floatfoot]{labelformat=empty,labelsep=none}
\newcommand\floatfoot{\@ifstar
    {\def\FR@tmp{\@parboxrestore\captionfootfont}\floatfoot@}%
    {\def\FR@tmp{\captionfootfont}\floatfoot@}}
\newcommand\floatfoot@[1]{%
  \global\setbox\flrow@foot\vbox{%
  \floatfoot@box{#1}}}%
%    \end{macrocode}
%
% \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.
%    \begin{macrocode}
    \if@@FS\hsize\columnwidth\linewidth\columnwidth\fi
    \@parboxrestore\reset@font\color@begingroup
%    \end{macrocode}
% Apply current float settings.
%    \begin{macrocode}
  \caption@setoptions{\@captype}%
%    \end{macrocode}
% Apply floatfoot settings.
%    \begin{macrocode}
  \caption@setoptions{floatfoot}%
%    \end{macrocode}
% No captionlabel.
%    \begin{macrocode}
     \caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}%
  \color@endgroup}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsection{Defining New Float Box Commands}
%
% \begin{macro}{\newfloatcommand}
% \begin{macro}{\renewfloatcommand}
% 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.
% The definition of command for new float command.
%    \begin{macrocode}%
\newcommand\newfloatcommand[2]{%
  \@ifundefined{#1}{}%
    {\flrow@error{\string#1 already defined}}%
  \@ifnextchar[{\FB@nc{#1}{#2}}{\FB@nc{#1}{#2}[]}}
\newcommand\renewfloatcommand[2]{%
  \@ifundefined{#1}{}%
    {\PackageInfo{floatrow}{Redefining \string#1}}%
  \@ifnextchar[{\FB@nc{#1}{#2}}{\FB@nc{#1}{#2}[]}}
\@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}
% 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]}}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsubsection{Predefined Abbreviations for Figures and Tables}
%
% \begin{macro}{\ffigbox}
% \begin{macro}{\ttabbox}
% \begin{macro}{\fcapside}
% The abbreviations for object---caption combination in float
% figures and tables and also for figures with beside captions
% (there is not given \emph{abbreviation} command for beside
% caption in tables---I can't imagine such book design).
%    \begin{macrocode}
\newfloatcommand{ffigbox}{figure}[\nocapbeside][]
\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]
\newfloatcommand{fcapside}{figure}[\capbeside][]
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \subsection{Building Float Box}
%
% \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). 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}
\@ifdefinable\FBc@wd{\newdimen\FBc@wd}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FBo@ht}
% \begin{macro}{\FBc@ht}
% \begin{macro}{\FBf@ht}
% The internal dimensions for heights of object and caption.
% Third dimension defines height of footnote and float foot stuff.
%    \begin{macrocode}
\newlength\FBo@ht
\newlength\FBc@ht
\newlength\FBf@ht
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FBo@max}
% \begin{macro}{\FBc@max}
% \begin{macro}{\FBf@max}
% These three internal dimensions determine maximum object, caption and
% foot boxes in float row environments for special styles.
%    \begin{macrocode}
\newlength\FBo@max
\newlength\FBc@max
\newlength\FBf@max
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \subsubsection{Commands for Counting Width and Height}
%
% \begin{macro}{\FR@loc@addcnt}
% \begin{macro}{\FR@loc@}
% \begin{macro}{\FBtmp@cap}
% Redefinition of \cmd{\addtocounter} macro---localization of counter change.
%    \begin{macrocode}
\newcommand\FR@loc@addcnt[2]{%
  \@ifundefined{c@#1}{\@nocounterr{#1}}%
    {\advance\csname c@#1\endcsname #2\relax}}
%    \end{macrocode}
% The command for localization of |\refstepcounter|, |\stepcounter| and
% |\refsteponlycounter|.
%    \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.
%    \begin{macrocode}
\newcommand\FR@loc@{\let\label\@gobble
  \let\refstepcounter\FR@loc@refcnt
  \let\stepcounter\FR@loc@refcnt
  \let\refsteponlycounter\FR@loc@refcnt
%    \end{macrocode}
% The |\cl@@ckpt| is macro which ``globalizes'' all counters. It is used by
% |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.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{\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&gt;\@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 calculates widths and heights of caption and
% object boxes accordingly to \meta{width} and \meta{height}
% arguments of |\floatbox| macro.
% \label{code:FBwidth}
%    \begin{macrocode}
\newcommand\FBget@box[3]{%
%    \end{macrocode}
% At first macro defines |\hsize| (which could be used in width definition),
% i.e. change it for fit contents in boxes.
% The |\FBget@box| macro uses the |\FBB@wd| command. In the case of
% |\hsize=0pt| the |\FBB@wd| still defined as |\relax|. It will be
% defined later.
%
% The |\hsize=0pt| can be defined in mandatory argument of \env{wrap...}
% environment in the case of creation space equal to float contents.
% 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).
%    \begin{macrocode}
  \FBiffloatrow\relax
    {\ifx\FBB@wd\relax
      \ifdim\hsize=\z@
%    \end{macrocode}
% The |\floatbox| stuff doesn't use special |\caption| definition inside
% \env{wrap...} environment---|\caption| restores its behavior.
%    \begin{macrocode}
        \@ifundefined{wf@@caption}{}{\let\caption\wf@@caption}%
        \hsize.5\columnwidth\advance\hsize-.5\columnsep
      \else
        \edef\FBB@wd{\the\hsize}%
      \fi
    \else
      \hsize\FBB@wd
    \fi}%
  \adj@dim\hsize-\FB@wadj=\@tempdima
  \FBifcapbeside
    \FCget@@wd{#1}{#3}%
  \else
    \nofilFCOhsize
    \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.
%    \begin{macrocode}
  \FBiffloatrow\relax{\hsize\FBo@wd}%
%    \end{macrocode}
% |\FB@wd| changed only for beside captions.
%    \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)calculates width of object and caption.
%    \begin{macrocode}
  \def\reserved@a{#1}\ifx\reserved@a\empty
    \else\FBget@@wd{#1}{#3}\fi
  \hsize\FBo@wd\linewidth\hsize
  \FBifcapbeside
    \FC@ifc@wd\else\advance\FBc@wd-\FB@wd\fi
  \else
    \FBc@wd\FB@wd
  \fi
%    \end{macrocode}
% From this point macro calculates heights of caption and object if necessary.
%    \begin{macrocode}
  \setbox\z@\vbox{\FR@loc@\hsize\FBo@wd\linewidth\hsize
    \FBifcaptop
      \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\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&gt;\FBf@max\global\FBf@max\FBf@ht\fi
    \ifCADJ
      \FBifcaptop
        \ifnum\FPOScnt=\@ne\global\advance\FBc@ht\FBf@ht\fi
      \else
        \ifnum\FPOScnt=\tw@
          \ifdim\FBf@ht&gt;\FBf@max
            \global\advance\FBc@ht\FBf@ht
          \else
            \global\advance\FBc@ht\FBf@max
          \fi
        \else
          \global\advance\FBc@ht\FBf@ht
        \fi
      \fi
      \ifdim\FBc@ht&gt;\FBc@max\global\FBc@max\FBc@ht\fi
      \gdef\FBcheight{\FBc@ht}\gdef\FBfheight{\FBf@ht}%
    \fi}\relax
  \def\reserved@a{#2}\ifx\reserved@a\empty
    \FBiffloatrow{\ifOADJ
      \ifdim\FBo@ht&gt;\FBo@max\global\FBo@max\FBo@ht\fi
      \FBifcaptop
        \ifnum\FPOScnt=\z@
          \ifdim\FBf@ht&gt;\FBf@max\global\FBf@max\FBf@ht\fi
        \fi
      \fi
      \gdef\FBoheight{\FBo@ht}\gdef\FBfheight{\FBf@ht}%
    \fi}\relax
  \else
%    \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}
%
% \begin{macro}{\FCget@@wd}
% Counts the width of caption if caption was placed beside float object.
%    \begin{macrocode}
\newcommand\FCget@@wd[2]{\flrow@FClist
  \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 calculates
% natural caption width (in this case |\caption| restores plain \LaTeX's
% behavior). The contents of float thrown out in |\box\@ne|.
%    \begin{macrocode}
    \ifx\FCwidth\relax
      \setbox\@ne\vbox{\FR@loc@
        \let\caption\flrow@caption
        \let\@caption\FBtmp@cap
         #2}%
      \FBc@wd=\@tempdimb
    \else
      \FBc@wd=\FCwidth
%    \end{macrocode}
% The |\FCwidth| is local dimension.
%    \begin{macrocode}
    \fi\FC@ifo@fil\advance\FB@wd-\FBc@wd\fi
  \else
    \FBc@wd\@tempdima
  \fi
  \@tempdima.5\@tempdima}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FBget@@wd}
% Counts the width of object if the width optional argument not empty.
%
% There is na\u\i{}ve check of existence of |\FBwidth| and/or
% |\FBheight| commands in optional arguments. I hope it could work
% 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.
%    \begin{macrocode}
\newcommand\FBget@@wd[2]{\@tempswafalse
  \begingroup
    \@tempdima-3000pt\let\FBwidth\@tempdima
    \setlength\dimen@{#1}\ifdim\dimen@&lt;\z@\global\@tempswatrue\fi
  \endgroup
  \if@tempswa
    \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.
%    \begin{macrocode}
    \adj@dim\FBo@wd+\FBo@wadj=\FB@wd
%    \end{macrocode}
% Throw out floatfoot and float footnote contents (if exist).
%    \begin{macrocode}
    \setbox\flrow@foot\box\voidb@x
    \setbox\@mpfootins\box\voidb@x
  \else
    \setlength\FB@wd{#1}%
%    \end{macrocode}
% The width |\FB@wd| localized.
%    \begin{macrocode}
    \adj@dim\FB@wd-\FB@wadj=\FB@wd
    \adj@dim\FB@wd-\FBo@wadj=\FBo@wd
    \let\FBwidth\FBo@wd
  \fi}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FBget@@ht}
% Counts the height of object if the height optional argument not empty.
% \changes{v0.2b}{2007/12/09}{The argument with floatbox contents added. Corrected bug
%   with height calculating.}
%    \begin{macrocode}
\newcommand\FBget@@ht[2]{\@tempswafalse
  \begingroup
    \@tempdimb-3000pt\let\FBheight\@tempdimb
    \setlength\dimen@{#1}\ifdim\dimen@&lt;\z@
      \global\@tempswatrue\fi
  \endgroup
  \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=\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
    \setbox\z@\vbox{\offinterlineskip\vbox{\@@FBabove}%
      \FBifcapbeside\else\@@FBskip\hrule\@height\z@\@depth\z@\fi
      \vtop{\@@FBbelow}}%
    \global\advance\FBo@ht-\ht\z@\global\advance\FBo@ht-\dp\z@
    \FBifcapbeside\else\FBget@@@ht\fi
  \fi
  \FBiffloatrow{\ifOADJ
    \ifdim\FBo@ht&gt;\FBo@max\global\FBo@max\FBo@ht\fi
%    \ifdim\FBf@ht&gt;\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
% 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 |\box\z@| settings moved up in |\FBget@@ht| macro.
%    \begin{macrocode}
%    \global\advance\FBo@ht-\ht\z@\global\advance\FBo@ht-\dp\z@
    \ifdim\FBc@ht&gt;\FBc@max
      \global\advance\FBo@ht-\FBc@ht
    \else
      \global\advance\FBo@ht-\FBc@max
    \fi
    \FBifcaptop\ifnum\FPOScnt=\@ne\else
      \ifdim\FBf@ht&gt;\FBf@max
        \global\advance\FBo@ht-\FBf@ht
      \else
        \global\advance\FBo@ht-\FBf@max
      \fi
    \fi\fi
  }
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Storing Heights for Current Float Box}
%
% \begin{macro}{\FB@writeaux}
% \begin{macro}{\FB@readaux}
% Excerpt from \LaTeX's |\protected@write|. This command is used for
% printing in \texttt{.aux}-file the necessary settings which will work
% in next \LaTeX{} run.
%    \begin{macrocode}
\newcommand\FB@writeaux[1]{%
  \begingroup
    \let\thepage\relax\let\protect\@unexpandable@protect
    \edef\reserved@a{\write\@auxout{\string\gdef
    \expandafter\string\csname @@FBset@\romannumeral
    \the\c@FBl@b\endcsname{#1}}}\reserved@a
  \endgroup
  \addtocounter{FBl@b}{1}}
\newcommand\FB@readaux[1]{%
  \@ifundefined{@@FBset@\romannumeral\the\c@FBl@b}%
    {#1}{\@nameuse{@@FBset@\romannumeral\the\c@FBl@b}}}
%    \end{macrocode}
%
% \begin{macro}{\c@FBl@b}
% This counter helps to define unique
% command for each float row environment or object---caption
% beside box if necessary.
%    \begin{macrocode}
\newcounter{FBl@b}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \subsubsection{Building Caption and Object Boxes}\label{putFB}
%
% \begin{macro}{\FR@ifFCBOX}
% \begin{macro}{\FBs@raise}
% \begin{macro}{\FBf@raise}
% \begin{macro}{\FCset@vpos}
% 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\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
% |minipage| environment.
%    \begin{macrocode}
\newcommand\FCset@vpos{\@FC@vpos
  \ifcase\count@
    \gdef\FC@bbox{$\vcenter\@parboxto\bgroup\vskip\z@}%
    \gdef\FC@ebox{\vskip\z@\egroup$}%
    \gdef\FBf@raise{}%
    \gdef\FBs@raise{\raisebox{-.5\totalheight}}%
  \or\gdef\FC@bbox{\vtop\@parboxto\bgroup\vskip\z@}%
    \gdef\FC@ebox{\vskip\z@\egroup}%
    \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}%
    \FR@ifFCBOX{\gdef\FBf@raise{\raisebox{\depth}}}%
     {\gdef\FBf@raise{}}%
    \gdef\FBs@raise{}\fi}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\adj@dim}
% 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
  \adj@@dim#1#2#3{#4}\fi}
\newcommand\adj@@dim[4]{\@tempdima#1\advance\@tempdima#2\dimen@
  #4=\@tempdima}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Caption---Object Box Building Macro}
%
% \begin{macro}{\floatbox}
% The start of main macro of object---caption box building.
%
% 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}%
  \@ifnextchar[{\@floatbox}{\@floatbox[]}}
\@ifdefinable\@floatbox{}\@ifdefinable\@@floatbox{}
\def\@floatbox[#1]{%
  \@ifnextchar[{\@@floatbox[#1]}{\@@floatbox[#1][]}}
\@ifdefinable\floatbox@depth{\newcount\floatbox@depth}
\def\@@floatbox[#1][#2]{%
  \@ifnextchar[{\@@@floatbox[#1][#2]}{\@@@floatbox[#1][#2][]}}%]
%    \end{macrocode}
%
% \begin{macro}{\@@@floatbox}
% Building object---caption box.
%    \begin{macrocode}
\@ifdefinable\@@@floatbox{}
\long\def\@@@floatbox[#1][#2][#3]#4#5{\advance\floatbox@depth\@ne
  \@FB@vpos{#3}%
%    \end{macrocode}
% If object---caption stays alone here go
% special style settings for current float type.
% Then go the settings for caption layout.
%    \begin{macrocode}
  \if@@FS\else\FR@redefs
    \ifcase\floatbox@depth\or
      \flrow@setlist{{\@captype}}\or
%    \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}
% Put temporary command with option settings
%   for float box.
%    \begin{macrocode}
  \FB@tmpset
%    \end{macrocode}
% Then load settings for beside captions, in the case we use this
% layout---the beside caption could use a bit different layout.
%    \begin{macrocode}
  \FBifcapbeside\flrow@FClist\fi
%    \end{macrocode}
% Restoring standard justified paragraph settings${{}+{}}$|\parindent\z@|.
%    \begin{macrocode}
  \@parboxrestore\leftmargin\z@\rightmargin\z@
  \floatobjectset\floatfont
%    \end{macrocode}
% Here is called macro which calculates widths and heights of caption
% and object.
%    \begin{macrocode}
  \FBget@box{#1}{#2}{#4#5}%
%    \end{macrocode}
% In this point defined macros for building of beside object---caption box.
% \changes{v0.1f}{2005/06/14}{The \cmd{\capstart} added as
%    a)~\cmd{\FR@floatbox} argument (outside float row).}
%    \begin{macrocode}
  \FBifcapbeside\FCset@vpos\fi
  \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. 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).}
%    \begin{macrocode}
   {\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
   }\advance\floatbox@depth\m@ne
%    \end{macrocode}
% End of the group.
%    \begin{macrocode}
  \endgroup\ignorespaces}
%    \end{macrocode}
%
% Code for recounting parameters and building boxes inside |floatrow|
% environment.
%    \begin{macrocode}
\newcommand\FR@floatbox[1]{\@tempswafalse
%    \end{macrocode}
% 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}
    \ifOADJ\@tempswatrue\fi\ifCADJ\@tempswatrue\fi
    \if@tempswa\@ifundefined{FB@@boxmax}{}{\FB@@boxmax}\fi
%    \end{macrocode}
% Here we create boxes of float contents.
%    \begin{macrocode}
    \FBsetbox@obj{#1}\begin@FBBOX
      \FBifcapbeside\flrow@FC@\else\flrow@FB@\fi
    \end@FBBOX
%    \end{macrocode}
% The each float box in float row reduces special counter |FRobj|
% by~1.
%    \begin{macrocode}
    \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}
    \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.
% 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
          \string\FBf@ht\the\FBf@max\fi
          \ifCADJ\string\FBc@ht\the\FBc@max\fi}}\fi
      \global\FBbuildfalse
    \else
%    \end{macrocode}
% Between floats in float row macro puts separation material.
%    \begin{macrocode}
      \FBifcapbeside
        \advance\Xhsize-\FBc@wd
        \advance\Zhsize-\FBc@wd
        \settowidth\@tempdimb{\floatcapbesidesep}%
        \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
% in plain environment. There is added code for possible usage of
% \package{color} package and color boxes.
%    \begin{macrocode}
\newcommand\FBsetbox@obj[1]{%
  \setbox\float@box\color@vbox\normalcolor
  \FBifcaptop
     \FB@vtop\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
      \ifnum\FPOScnt=\z@\columnwidth\FBo@wd\else\columnwidth\FBc@wd\fi
  \else
     \FB@vbox\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
      \columnwidth\FBc@wd
  \fi
  #1\FBbfil\egroup\color@endbox
  \let\@currbox\float@box}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsection{Building Float Row}
%
% \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\@secondoftwo
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\c@FRobj}
% 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}
%
% \begin{environment}{floatrow}
% \label{floatrow}
% Environment for placing beside floats (of one type).
% 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\flrow@to{to\hsize}
\newcommand\floatrow[1][2]{\c@FRobj=#1\relax
  \ifnum\floatbox@depth&gt;\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\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@\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 recalculated |\hsize|.
%    \begin{macrocode}
      \hsize\@tempdimb\ignorespaces}
%    \end{macrocode}
% Macro for float row end.
%    \begin{macrocode}
\def\endfloatrow{\ifdim\lastskip&gt;\z@\unskip\fi
      \endgroup\FRrightmargin\egroup%h box
    \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}}
%    \end{macrocode}
% \end{environment}
%
% \begin{environment}{subfloatrow}\label{subfloatrow}
% Environment for placing beside subfloats. It is simpler than
% |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 from \package{fr-subfig}
%   in main package body}
%    \begin{macrocode}
\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&gt;\z@\unskip\fi
     \@ifundefined{adjustsubfloats}\relax\adjustsubfloats\endfloatrow}
%    \end{macrocode}
% \end{environment}
%
% The definition of subfloat separator.
%    \begin{macrocode}
\newcommand\subfloatrowsep{\hskip\columnsep}
%    \end{macrocode}
%
%    \begin{macrocode}
\@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}
%
% \begin{macro}{\CenterFloatBoxes}
% \begin{macro}{\TopFloatBoxes}
% \begin{macro}{\BottomFloatBoxes}
% \begin{macro}{\PlainFloatBoxes}
% Aligning float boxes.
% Firstly defined plain macros for float boxes.
%    \begin{macrocode}
\newcommand\begin@FBBOX{\vbox\bgroup}
\def\end@FBBOX{\egroup}
%    \end{macrocode}
% Here these boxes are redefined to align floats in desired way.
% First definition for centered.
%    \begin{macrocode}
\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse
  \buildFBBOX{\hbox\bgroup$\vcenter\bgroup\vskip\z@}%
             {\vskip\z@\egroup$\egroup}}
%    \end{macrocode}
% Definition for topped.
%    \begin{macrocode}
\newcommand\TopFloatBoxes{\CADJfalse\OADJfalse
  \buildFBBOX{\vtop\bgroup\vskip\z@}{\egroup}}
%    \end{macrocode}
% Definition for aligned bottom.
%    \begin{macrocode}
\newcommand\BottomFloatBoxes{\CADJfalse\OADJfalse
  \buildFBBOX{\vbox\bgroup}{\vskip\z@\egroup}}
%    \end{macrocode}
% Restoring of plain behavior of boxes in |floatrow|.
%    \begin{macrocode}
\newcommand\PlainFloatBoxes{%
  \gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}}
%    \end{macrocode}
% Macro which defines |\begin@FBBOX| and |\end@FBBOX|.
%    \begin{macrocode}
\newcommand\buildFBBOX[2]{\gdef\begin@FBBOX{#1}\gdef\end@FBBOX{#2}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\newdimentocommand}
% \begin{macro}{\renewdimentocommand}
% \begin{macro}{\newskiptocommand}
% \begin{macro}{\renewskiptocommand}
% \begin{macro}{\newlengthtocommand}
% \begin{macro}{\renewlengthtocommand}
% 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}
\def\newdimentocommand  #1#2#3{%
    #1\@tempdima{#3}\@ifdefinable#2{\xdef#2{\the\@tempdima}}}
\def\renewdimentocommand#1#2#3{%
    #1\@tempdima{#3}\xdef#2{\the\@tempdima}}
\def\newskiptocommand   #1#2#3{%
    #1\@tempskipa{#3}\@ifdefinable#2{\xdef#2{\the\@tempskipa}}}
\def\renewskiptocommand #1#2#3{%
    #1\@tempskipa{#3}\xdef#2{\the\@tempskipa}}
%    \end{macrocode}
% The company to standard |\newlength| command.
%    \begin{macrocode}
\def\newlengthtocommand{\newskiptocommand}
\def\renewlengthtocommand{\renewskiptocommand}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
%    \begin{macrocode}
%&lt;/floatrow&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;*floatsetup&gt;
%    \end{macrocode}
%
% \subsection{Float Settings Stuff}
%
% \FRorisubsubsection{Definitions Analogous to The \package{caption}'s Ones}
%
%
% \begin{macro}{\flrow@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[1]{%
  \expandafter\caption@set@bool\csname FR@if#1\endcsname}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Defining Stuff for Float Layout Settings}
%
% \begin{macro}{\floatsetup}
% This macro analogous to |\captionsetup|.
%    \begin{macrocode}
\def\floatsetup{\@ifnextchar[\flrow@setuptype\flrow@setup}
\def\flrow@setuptype[#1]#2{%
  \@ifundefined{flrow@typ@#1}{\@namedef{flrow@typ@#1}{#2}}%
    {\expandafter\l@addto@macro\csname flrow@typ@#1\endcsname{,#2}}}
%    \end{macrocode}
% Setup for only following float.
%    \begin{macrocode}
\newcommand\thisfloatsetup{\floatsetup[tmpset]}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@setup}
% \begin{macro}{\flrow@esetup}
% \begin{macro}{\flrow@settype}
% Macros analogous to |\caption@setup|, |\caption@esetup| and
% |\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}{}%
  {\flrow@esetup{\csname flrow@typ@#1\endcsname}}}%
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\flrow@setlist}
% \begin{macro}{\flrow@FClist}
% This macro declares list of float and caption settings (like |widefloat|,
% {rotfloat} etc.)
%    \begin{macrocode}
\newcommand\flrow@setlist[1]{\@flrow@setlist#1{tmpset};%
  \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}
% 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}
\newcommand\@cap@setlist[1]{\caption@setoptions{#1}%
   \@ifnextchar;{\let\caption@setfloattype\@gobble\@gobble}\@cap@setlist}
%    \end{macrocode}
% This macro adds list of possible settings for beside captions.
%    \begin{macrocode}
\newcommand\flrow@FClist{\flrow@setlist
  {{floatbeside}{capbesidefloat}{\@captype beside}{capbeside\@captype}}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\clearfloatsetup}
% 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}
%
% \begin{macro}{\DeclareFROpt}
% The |\DeclareCaptionOption|-analog.\\
% Since this command has internal usage (before end of package) it has
% abbreviation-like name.
%    \begin{macrocode}
\newcommand\DeclareFROpt{%
  \@ifstar{\flrow@declopt\AtEndOfPackage}
          {\flrow@declopt\@gobble}}
\newcommand*\flrow@declopt[2]{%
  #1{\undefine@key{floatrow}{#2}}\define@key{floatrow}{#2}}
%    \end{macrocode}
% These macros allowed only in preamble.
%    \begin{macrocode}
\@onlypreamble\DeclareFROpt
\@onlypreamble\flrow@declopt
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{rawfloats}
% The default behavior of floats is like in \package{float}-like mode after
% |\restylefloat|.
%    \begin{macrocode}
\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{rawfloats}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{doublefloataswide}
% Starred environments work like non-starred with special |\floatsetup| settings.
%    \begin{macrocode}
\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{doubleaswide}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{floatHaslist}
% 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\@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{floatHaslist}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Declaring of Float Styles}
%
% \begin{macro}{\DeclareFloatStyle}
% Declares float style using |\floatsetup| mechanism.
%    \begin{macrocode}
\newcommand*\DeclareFloatStyle[2]{%
  \global\@namedef{flrow@sty@#1}{#2}}
%    \end{macrocode}
% This macro is allowed only in preamble.
%    \begin{macrocode}
\@onlypreamble\DeclareFloatStyle
%    \end{macrocode}
% The definition of command which defines settings for new float style.
% 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}
\newcommand*\flrow@setstyle[1]{%
  \@ifundefined{flrow@sty@#1}%
    {\flrow@error{Undefined float style `#1'}}%
    {\FBstyle@reset
     \def\flrow@capsetup{%
        \@ifundefined{caption@sty@#1}{}{\caption@setstyle*{#1}}%
        \caption@setoptions {#1}}%
     \flrow@esetup{\csname flrow@sty@#1\endcsname}}}
%    \end{macrocode}
% Declarations of \package{float} package's emulating styles and new
% \package{floatrow} styles. The |plain| style is consists of default settings.
%    \begin{macrocode}
\DeclareFloatStyle{plain}{}
\DeclareFloatStyle{plaintop}{capposition=top}
\DeclareFloatStyle{boxed}{captionskip=2pt,
  framestyle=fbox,heightadjust=object,framearound=object}
\DeclareFloatStyle{ruled}{precode=thickrule,midcode=rule,postcode=lowrule,
  capposition=top,heightadjust=all}
\DeclareFloatStyle{Ruled}{style=ruled,capposition=TOP}
\DeclareFloatStyle{Plaintop}{capposition=TOP}
\DeclareFloatStyle{Boxed}{style=boxed,framefit=yes}
\DeclareFloatStyle{BOXED}{framestyle=fbox,
  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}
\DeclareFROpt{style}{\flrow@setstyle{#1}}
%    \end{macrocode}
% \end{macro}
%
% 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---|ruled|.
%    \begin{macrocode}
\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{CST}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Defining Font}
%
% \begin{macro}{font}
% \begin{macro}{footfont}
% 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|).
%    \begin{macrocode}
\DeclareFROpt{font}{\flrow@setfont{font}{#1}}
\DeclareFROpt{footfont}{\captionsetup[floatfoot]{font={#1}}}
\DeclareCaptionOption{footfont}{\caption@setfont{footfont}{#1}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\floatfont}
% This command sets the font for float objects (|\floatfont|)
% it could be smaller than caption text.
%    \begin{macrocode}
\newcommand*\floatfont{}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\captionfootfont}
% Font for |\legend|-like command |\floatfoot|. This font is used inside
% macro which uses \package{caption} package mechanism, so the name of this
% font follows rules of font naming in \package{caption} package.
%    \begin{macrocode}
\newcommand*\captionfootfont{\normalfont\footnotesize}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareFloatFont}
% The |\DeclareCaptionFont|-twin (uses
%   caption's key-val settings).\\
% It's usage:\\
% |\DeclareFloatFont{|\meta{name}|}{|\meta{code}|}|.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\let\DeclareFloatFont\DeclareCaptionFont
\@onlypreamble\DeclareFloatFont
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@setfont}
% The |\caption@setfont|-analog.\\
% It's usage:\\
% |\flrow@setfont{|\meta{command}|}{|\meta{keyval-list of names}|}|.
% \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}
%
% \subsubsection{Declaring of Caption Position}
%
% \begin{macro}{capposition}
% Keys for defining caption position in float box.
%    \begin{macrocode}
\DeclareFROpt{capposition}{\flrow@cappos{#1}}
\DeclareFROpt{position}{\flrow@cappos{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@cappos}
% Macro analogous to |\caption@setposition|. Instead of |auto| here is
% used |beside| set. Here are also settings for key |position=| from
% |\captionsetup|.
%    \begin{macrocode}
\newcommand*\flrow@cappos[1]{%
  \caption@ifinlist{#1}{t,top,above}{\captop\nocapbeside
  }{\caption@ifinlist{#1}{T,TOP,ABOVE}{\CAPTOP\nocapbeside
  }{\caption@ifinlist{#1}{b,bottom,below,default}{\capbot\nocapbeside
  }{\caption@ifinlist{#1}{beside,side}{\caption@setposition{a}\capbeside
  }{\flrow@error{Undefined caption position `#1'}%
  }}}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FBifcaptop}
% \begin{macro}{\captop}
% \begin{macro}{\capbot}
% The positions for captions in float box. There are defined
% traditional place of captions at the bottom of
% object---caption box.
%    \begin{macrocode}
\let\FBifcaptop\iffalse
\newcommand\captop{\let\FBifcaptop\iftrue}
\newcommand\capbot{\let\FBifcaptop\iffalse}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FBifCAPTOP}
% \begin{macro}{\CAPTOP}
% Someone, using beside float boxes (see~\ref{floatrow}),
% would prefer the captions, which placed at the top
% of these boxes to align them by top line (the default
% alignment is the bottom line of upper box and the top line of
% lower box).
%    \begin{macrocode}
\let\FBifCAPTOP\iffalse
\newcommand\CAPTOP{\captop\let\FBifCAPTOP\iftrue\CADJtrue}
%    \end{macrocode}
% In this case if you change contents of caption which could enlarge
% or reduce the number of lines, you ought to run \LaTeX{} twice.
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FBifcapbeside}
% \begin{macro}{\capbeside}
% \begin{macro}{\nocapbeside}
% There is flag and commands for printing caption and object beside.
%    \begin{macrocode}
\let\FBifcapbeside\iffalse
\newcommand\capbeside{\let\FBifcapbeside\iftrue}
\newcommand\nocapbeside{\let\FBifcapbeside\iffalse}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \subsubsection{Defining for Beside Captions}
%
% \begin{macro}{capbesideframe}
% This boolean key declares whether near beside caption stays framed
% object.
%    \begin{macrocode}
\DeclareFROpt{capbesideframe}[0]{\flrow@setbool{FCBOX}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{capbesidewidth}
% This key defines width of beside caption.
%    \begin{macrocode}
\DeclareFROpt{capbesidewidth}[1]{\flrow@FCc@wd{#1}}
\let\FC@ifc@wd\iffalse
\newcommand\useFCwidth{\let\FC@ifc@wd\iftrue\let\FCwidth\relax}
\@ifdefinable\FCwidth{\let\FCwidth\relax}
\newcommand\flrow@FCc@wd[1]{%
  \caption@ifinlist{#1}{none,sidefil}{\let\FC@ifc@wd\iffalse
  }{\useFCwidth\def\FCwidth{#1}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{capbesideposition}
% Declares position of beside caption in document.
%    \begin{macrocode}
\DeclareFROpt{capbesideposition}{\flrow@scpos{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareSCPos}
% \begin{macro}{\flrow@scpos}
% The key which defines position of beside captions: vertical and
% horizontal. This macro is allowed only in preamble. This key is
% internal (usage till end of package) so it has abbreviation-like name.
%    \begin{macrocode}
\newcommand\DeclareSCPos[2]{%
  \define@key{flrow@scpos}{#1}[]{\g@addto@macro\FR@tmp{#2}}}
\newcommand*\flrow@scpos[1]{%
  \let\FR@tmp\@empty
  \begingroup\caption@setkeys[floatrow]{flrow@scpos}{#1}\endgroup
  \FR@tmp}
\@onlypreamble\DeclareSCPos
%    \end{macrocode}
% Declaring options.
%    \begin{macrocode}
\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 default key: |capbesideposition=bottom|
%    \begin{macrocode}
\newcommand*\@FC@vpos{\count@\tw@}
%    \end{macrocode}
% 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\FR@iffacing\@secondoftwo\count@\@ne}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\c@FBcnt}
% Count used as flag for facing layouts.
%    \begin{macrocode}
\newcounter{FBcnt}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{footposition}
% Keys for defining foot text position.
%    \begin{macrocode}
\DeclareFROpt{footposition}{\flrow@ftpos{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareFtPos}
% \begin{macro}{\flrow@ftpos}
% Settings for positions of float foot material (footnotes and foot text).
% This macro is allowed only in preamble.
%    \begin{macrocode}
\newcommand\DeclareFtPos[2]{%
  \define@key{flrow@ftpos}{#1}[]{\g@addto@macro\FR@tmp{#2}}}
\newcommand*\flrow@ftpos[1]{%
  \let\FR@tmp\@empty
  \begingroup\caption@setkeys[floatrow]{flrow@ftpos}{#1}\endgroup
  \FR@tmp}
\@onlypreamble\DeclareFtPos
%    \end{macrocode}
% Declaring options.
%    \begin{macrocode}
\@ifdefinable\FPOScnt{\newcount\FPOScnt}
\DeclareFtPos{caption}{\FPOScnt1\relax}
\DeclareFtPos{bottom}{\FPOScnt2\relax}
\DeclareFtPos{default}{\FPOScnt0\relax}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{heightadjust}
% Keys for vertical adjustment and alignment.
%    \begin{macrocode}
\DeclareFROpt{heightadjust}{\flrow@htadj{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\DeclareHtAdj}
% \begin{macro}{\flrow@htadj}
% This key defines adjustment of heights of objects or/and captions
% in float row.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\newcommand\DeclareHtAdj[2]{%
  \define@key{flrow@htadj}{#1}[]{\g@addto@macro\FR@tmp{#2}}}
\newcommand*\flrow@htadj[1]{\let\FR@tmp\@empty
  \begingroup\caption@setkeys[floatrow]{flrow@htadj}{#1}\endgroup
  \FR@tmp}
\@onlypreamble\DeclareHtAdj
%    \end{macrocode}
% Declaring options.
%    \begin{macrocode}
\DeclareHtAdj{all}{\CADJtrue\OADJtrue}
\DeclareHtAdj{caption}{\CADJtrue}
\DeclareHtAdj{object}{\OADJtrue}
\DeclareHtAdj{none}{\CADJfalse\OADJfalse}
\DeclareHtAdj{nocaption}{\CADJfalse}
\DeclareHtAdj{noobject}{\OADJfalse}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\ifCADJ}
% \begin{macro}{\ifOADJ}
% These flags define whether common height is used of captions
% or/and objects in float row.
%    \begin{macrocode}
\newif\ifCADJ
\newif\ifOADJ
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{valign}
% Keys for vertical alignment.
%    \begin{macrocode}
\DeclareFROpt{valign}{\@FB@vpos{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@FB@vpos}
% 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}%
  \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}
\let\FR@iffacing\@secondoftwo
\DeclareFROpt{facing}[1]{\flrow@setbool{facing}{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FB@facing}
% Flag and command for |facing=|.
%    \begin{macrocode}
\newcommand\FB@facing{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsubsection{Float Box and Float Object Settings}
%
% \begin{macro}{margins}
% \begin{macro}{\flrow@FBAlign}
% Declaring of option for |\floatbox| alignment and margins material.
%    \begin{macrocode}
\DeclareFROpt{margins}{\flrow@FBAlign{#1}}
%    \end{macrocode}
% Macros analogous to |\caption@setjustification|.
%    \begin{macrocode}
\newcommand*\flrow@FBAlign[1]{%
  \@ifundefined{flrow@mj@#1}%
    {\flrow@error{Undefined float alignment `#1'}}%
    {\@nameuse{flrow@mj@#1}}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\DeclareMarginSet}
% This macro defines margin filling material.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\newcommand*\DeclareMarginSet[2]{%
  \global\@namedef{flrow@mj@#1}{#2}}
\@onlypreamble\DeclareMarginSet
%    \end{macrocode}
% \end{macro}
%
% 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}%
  \LTleft=\fill \LTright=\fill}
\DeclareMarginSet{raggedright}{\setfloatmargins{}{\hfil}%
  \LTleft=\z@ \LTright=\fill}
\DeclareMarginSet{raggedleft}{\setfloatmargins{\hfil}{}%
  \LTleft=\fill \LTright=\z@}
\newcommand\flrow@mj@default{\flrow@mj@centering}
%    \end{macrocode}
%
% \begin{macro}{\floatfacing}
% Defines settings accordingly to left (even) or right (odd) pages.
% 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]{\ifodd\count@#1\else#2\fi}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\floatboxmargins}
% \begin{macro}{\floatrowmargins}
% \begin{macro}{\floatcapbesidemargins}
% First goes definition for margins around alone float box.
% Second defines margins in float row.
% Third---margins around float box with beside caption.
%
% You may define different settings for each of these layouts, or set
% common margins, using macro |\setfloatmargins|.
%    \begin{macrocode}
\newcommand\floatboxmargins{\def\FR@tmp{FB}\FB@mset}
\newcommand\floatrowmargins{\def\FR@tmp{FR}\FB@mset}
\newcommand\floatcapbesidemargins{\def\FR@tmp{FC}\FB@mset}
%    \end{macrocode}
% To create facing and non-facing layout in macros |\FB@mset@| and
% |\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.
%    \begin{macrocode}
\newcommand\FB@mset{\@ifstar{\FB@mset@}{\FB@@mset}}
\newcommand\FB@mset@[2]{%
  \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{}%
  \@namedef{\FR@tmp leftmargin}{#1}\@namedef{\FR@tmp rightmargin}{#2}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\setfloatmargins}
% Alignment settings for object---caption boxes and float rows.
%    \begin{macrocode}
\newcommand\setfloatmargins{\@ifstar{\FB@allset@}{\FB@@allset}}
\newcommand\FB@allset@[2]{%
  \def\FR@tmp{FR}\FB@mset@{#1}{#2}%
  \def\FR@tmp{FB}\FB@mset@{#1}{#2}%
  \def\FR@tmp{FC}\FB@mset@{#1}{#2}}
\newcommand\FB@@allset[2]{%
  \def\FR@tmp{FR}\FB@@mset{#1}{#2}%
  \def\FR@tmp{FB}\FB@@mset{#1}{#2}%
  \def\FR@tmp{FC}\FB@@mset{#1}{#2}}
%    \end{macrocode}
% Default setting: centering of floats.
%    \begin{macrocode}
\setfloatmargins{\hfill}{\hfill}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{objectset}
% \begin{macro}{justification}
% Declaring of option for float object contents' alignment.
%    \begin{macrocode}
\DeclareFROpt{objectset}{\flrow@FBoAlign{#1}}
\DeclareFROpt{justification}{\flrow@FBoAlign{#1}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\DeclareObjectSet}
% 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.
%    \begin{macrocode}
\let\DeclareObjectSet\DeclareCaptionJustification
\@onlypreamble\DeclareObjectSet
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@FBoAlign}
% |\caption@setjustification|-analog (uses
%   caption's key-val settings).\\
% Command for |objectset=|
%    \begin{macrocode}
\newcommand*\flrow@FBoAlign[1]{%
  \@ifundefined{caption@hj@#1}%
    {\flrow@error{Undefined object setting `#1'}}%
    {\expandafter\let\expandafter\floatobjectset
     \csname caption@hj@#1\endcsname}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\floatobjectset}
% Definition of command for object alignment
%    \begin{macrocode}
\newcommand*\floatobjectset{\centering}
%    \end{macrocode}
% \end{macro}
% \changes{v0.1f}{2005/06/14}{The \cmd{\centerlast} \cmd{\rightlast}
%   commands deleted.}
%
% \subsubsection{Defining Float Width}
%
% \begin{macro}{floatwidth}
% The float width settings mainly for plain floating environments.
%    \begin{macrocode}
\DeclareFROpt{floatwidth}{\flrow@FBo@wd{#1}}
\let\FC@ifo@fil\iffalse
%    \end{macrocode}
% \end{macro}
% \begin{macro}{\filFCOhsize}
% \begin{macro}{\nofilFCOhsize}
% Flags and commands for |floatwidth=|.
%    \begin{macrocode}
\newcommand\filFCOhsize{\let\FC@ifo@fil\iftrue}
\newcommand\nofilFCOhsize{\let\FC@ifo@fil\iffalse}
\newcommand\flrow@setwd{\relax}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \begin{macro}{\flrow@FBo@wd}
% Settings for the width of object.
%    \begin{macrocode}
\newcommand\flrow@FBo@wd[1]{%
  \caption@ifinlist{#1}{none,sidefil}{\filFCOhsize
  }{\nofilFCOhsize\def\flrow@setwd{\@tempdima=#1}}}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Defining Float Separators}
%
% \begin{macro}{floatrowsep}
% \begin{macro}{capbesidesep}
% Option |floatrowsep| sets separations for beside float boxes
% in float row.
%    \begin{macrocode}
\DeclareFROpt{floatrowsep}{\flrow@setFRsep\floatrowsep{#1}}
%    \end{macrocode}
% Option |subfloatrowsep| sets separations for beside captions and objects.
%    \begin{macrocode}
\DeclareFROpt{subfloatrowsep}{\flrow@setFRsep\subfloatrowsep{#1}}
%    \end{macrocode}
% Option |capbesidesep| sets separations for beside captions.
%    \begin{macrocode}
\DeclareFROpt{capbesidesep}{\flrow@setFRsep\floatcapbesidesep{#1}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\DeclareFloatSeparators}
% \begin{macro}{\flrow@setFRsep}
% \begin{macro}{\flrow@setFCsep}
% Next macros  declare material, defined for usage as separator of
% both float boxes in |floatrow| environment and for beside
% object and caption.
%
% The |\DeclareCaptionLabelSeparator|-twin (uses
%   caption's key-val settings).\\
% This macro is allowed only in preamble.
%    \begin{macrocode}
\let\DeclareFloatSeparators\DeclareCaptionLabelSeparator
\@onlypreamble\DeclareFloatSeparators
%    \end{macrocode}
%
% 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.
%    \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. In float settings can be used the caption separators
% |quad| and |none|.
%    \begin{macrocode}
\DeclareFloatSeparators{columnsep}{\hskip\columnsep}
%\DeclareFloatSeparators{quad}{\quad}
\DeclareFloatSeparators{qquad}{\qquad}
\DeclareFloatSeparators{fil}{\hskip\columnsep plus1fil}
\DeclareFloatSeparators{fill}{\hskip\columnsep plus1fill}
%\DeclareFloatSeparators{none}{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\floatrowsep}
% \begin{macro}{\floatcapbesidesep}
% Separators between beside floats, and between object and
% beside caption.
%    \begin{macrocode}
\newcommand\floatrowsep{\hskip\columnsep}
\newcommand\floatcapbesidesep{\hskip\columnsep}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsubsection{Defining Float Rules/Skips}
%
% \begin{macro}{precode}
% \begin{macro}{rowprecode}
% \begin{macro}{midcode}
% \begin{macro}{postcode}
% \begin{macro}{rowpostcode}
% Keys for building of float style (rules).
%    \begin{macrocode}
\DeclareFROpt{precode}{\flrow@FBrule\@@FRabove\@@FBabove{#1}}
\DeclareFROpt{rowprecode}{\flrow@FRrule\@@FRabove\@@FBabove{#1}}
\DeclareFROpt{midcode}{\flrow@FBskip{#1}}
\DeclareFROpt{postcode}{\flrow@FBrule\@@FRbelow\@@FBbelow{#1}}
\DeclareFROpt{rowpostcode}{\flrow@FRrule\@@FRbelow\@@FBbelow{#1}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\DeclareFloatVCode}
% Declaring options for keys of vertical material for building of
% float style. They could be used above and below of float box,
% and between object and caption in the case when caption
% above/below object. This macro is allowed only in preamble.
%    \begin{macrocode}
\newcommand\DeclareFloatVCode[2]{\@namedef{flrow@FBr@#1}{#2}}
\@onlypreamble\DeclareFloatVCode
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@FBrule}
% \begin{macro}{\flrow@FRrule}
% \begin{macro}{\flrow@FBskip}
% Vertical code above/below float box.
%    \begin{macrocode}
\newcommand*\flrow@FBrule[3]{%
  \@ifundefined{flrow@FBr@#3}%
    {\flrow@error{Undefined rule `#3'}}%
    {\let#1\empty
     \expandafter\let\expandafter#2\csname flrow@FBr@#3\endcsname}}
%    \end{macrocode}
% Vertical code above/below float row.
%    \begin{macrocode}
\newcommand*\flrow@FRrule[3]{%
  \@ifundefined{flrow@FBr@#3}%
    {\flrow@error{Undefined rule `#3'}}%
    {\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.
%    \begin{macrocode}
\newcommand*\flrow@FBskip[1]{%
  \@ifundefined{flrow@FBr@#1}%
    {\flrow@error{Undefined rule `#1'}}%
    {\expandafter\let\expandafter\@@FBskip\csname flrow@FBr@#1\endcsname}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% Declared options for keys for building of float style (rules).
%    \begin{macrocode}
\DeclareFloatVCode{none}{}
\DeclareFloatVCode{thickrule}{\par\rule{\hsize}{.8pt}\vskip2pt\par}
\DeclareFloatVCode{rule}{\vskip2pt\hrule\vskip2pt}
\DeclareFloatVCode{lowrule}{\par\vskip2pt\rule\hsize\@wholewidth\par}
\DeclareFloatVCode{captionskip}{\vskip\captionskip}
%    \end{macrocode}
%
% The command for definition of material which you
% could put at the top and bottom of object---caption box
% and between caption and float.
%
% \begin{macro}{\FBstyle@reset}
% 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\@@FBskip{\vskip\captionskip}
\@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}
%
% \subsubsection{Defining Float Frames}
%
% Keys for building of float style (boxes).
%
% \begin{macro}{framestyle}
% This key defines style of frame.
%    \begin{macrocode}
\DeclareFROpt{framestyle}{\@ifundefined{FB@#1@frame}%
  {\let\FRifFBOX\iffalse}{\let\FRifFBOX\iftrue\def\FB@B@{#1}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{framearound}
% This key defines object to be framed.
%    \begin{macrocode}
\DeclareFROpt{framearound}{\flrow@fr@round{#1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\flrow@fr@round}
% Command for |framearound|.
%    \begin{macrocode}
\newcommand*\flrow@fr@round[1]{%
 \caption@ifinlist{#1}{object,contents}{\let\FRifFBOX\iftrue
    \def\FB@BO@{FBo}%
  }{\caption@ifinlist{#1}{floatbox,all}{\let\FRifFBOX\iftrue
    \def\FB@BO@{FB}%
  }{\caption@ifinlist{#1}{none}{\let\FRifFBOX\iffalse
  }{\flrow@error{Undefined framed object `#1'}%
  }}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{framefit}
% \begin{macro}{frameset}
% This boolean key defines whether frame size fits to current |\hsize|.
%    \begin{macrocode}
\let\FR@ifFIT\@secondoftwo
\DeclareFROpt{framefit}[0]{\flrow@setbool{FIT}{#1}}
%    \end{macrocode}
% This key defines parameters for chosen frame.
%    \begin{macrocode}
\DeclareFROpt{frameset}{\def\FB@Bset{#1}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@@setframe}
% Macro which prepares box settings accordingly to predefined float layout.
%    \begin{macrocode}
\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}{\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}
% If box layout used.
%    \begin{macrocode}
\let\FRifFBOX\iffalse
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FB@fbox@frame}
% \begin{macro}{\FB@fbox@adj}
% \begin{macro}{\FB@fbox@reset}
% First macro is the definition of frame style (here is |\fbox|);
% second defines compensating material to get frame fitted to current
% |\hsize|; third defines default values of compensating material.
%    \begin{macrocode}
\newcommand\FB@fbox@frame[1]{\hbox{%
  \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}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \subsection{Macros for Color Frame}
%
% \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\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}
%
% \begin{macro}{captionskip}
% \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). The |\abovecaptionskip| used for compatibility with caption.
%    \begin{macrocode}
\DeclareFROpt{captionskip}{\def\captionskip{#1}%
  \setlength\abovecaptionskip{#1}}
\DeclareFROpt{footskip}{\def\floatfootskip{#1}}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\captionskip}
% \begin{macro}{\floatfootskip}
% The skip between caption and object. Here goes standard value.
%    \begin{macrocode}
\newcommand\captionskip{10\p@}
%    \end{macrocode}
%
% The skip before float footnotes. Here it is equal to
% used skip in mini pages.
%    \begin{macrocode}
\newcommand\floatfootskip{\skip\@mpfootins}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \subsubsection{Defining Float Footnote Rule}
%
% \begin{macro}{footnoterule}
% \begin{macro}{\flrow@footrule}
% The definitions of |\footnoterule| inside floating environment.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\DeclareFROpt{footnoterule}{\flrow@footrule{#1}}
\newcommand\DeclareFloatFootnoterule[2]{%
  \long\@namedef{flrow@fnrule@#1}{#2}}
\newcommand*\flrow@footrule[1]{%
  \@ifundefined{flrow@fnrule@#1}%
    {\flrow@error{Undefined footnoterule `#1'}}%
    {\let\@@FRabove\empty
     \expandafter\let\expandafter\FBfootnoterule\csname
       flrow@fnrule@#1\endcsname}}
\@onlypreamble\DeclareFloatFootnoterule
%    \end{macrocode}
% Here goes standard \LaTeX{} definition used in minipages.
%    \begin{macrocode}
\DeclareFloatFootnoterule{normal}{\kern-3\p@
  \@tempdima.4\columnwidth
  \hrule\@width\@tempdima\kern2.6\p@}
%    \end{macrocode}
% Here goes standard \LaTeX{} definition used in minipages with
% limited maximal width.
%    \begin{macrocode}
\DeclareFloatFootnoterule{limited}{\kern-3\p@
  \@tempdima.4\columnwidth
  \ifdim\@tempdima&gt;\frulemax\@tempdima=\frulemax\fi
  \hrule\@width\@tempdima\kern2.6\p@}
\newcommand\frulemax{1in}
%    \end{macrocode}
% The width of |\footnoterule| equals to full |\hsize|.
%    \begin{macrocode}
\DeclareFloatFootnoterule{fullsize}{\kern-3\p@
  \hrule\@width\hsize\kern2.6\p@}
%    \end{macrocode}
% Absent footnoterule.
%    \begin{macrocode}
\DeclareFloatFootnoterule{none}{}
%    \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FBfootnoterule}
% The definition of special footnote rule.
% By default it defined as standard \LaTeX{} |\footnoterule|
%    \begin{macrocode}
\@ifdefinable\FBfootnoterule{\let\FBfootnoterule\footnoterule}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Loading Fancy Float Styles}
%
% Options for loading of fancy float styles. Commented.
%    \begin{macrocode}
\let\FR@iffancy\@secondoftwo
\DeclareFROpt{fancyboxes}{\flrow@setbool{fancy}{#1}}
%    \end{macrocode}
%
% \subsubsection{New Float Type Setup}
%
% \begin{macro}{\DeclareFNOpt}
% Declaring new float type like |\newfloat| does.
% These macros allowed only in preamble.
%    \begin{macrocode}
\newcommand\DeclareFNOpt{%
   \@ifstar{\flrow@declfnopt\AtBeginDocument}
           {\flrow@declfnopt\@gobble}}
\newcommand*\flrow@declfnopt[2]{%
   #1{\undefine@key{newfloat}{#2}}\define@key{newfloat}{#2}}
\@onlypreamble\DeclareFNOpt
%    \end{macrocode}
% \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}
%   deleted.}
% \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}%
  \expandafter\edef\csname ftype@#1\endcsname{\the\c@float@type}%
  \addtocounter{float@type}{\value{float@type}}%
  \@namedef{#1name}{#1}\newcounter{#1}%
  \expandafter\edef\csname fnum@#1\endcsname
    {\expandafter\noexpand\csname #1name\endcsname\nobreakspace
       \expandafter\noexpand\csname the#1\endcsname}%
  \@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}
\@onlypreamble\DeclareNewFloatType
%    \end{macrocode}
% Key for placement defining.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\DeclareFNOpt*{placement}{\flnew@fps{#1}}
\newcommand\flnew@fps[1]{\@namedef{fps@\FB@captype}{#1}}
\@onlypreamble\flnew@fps
%    \end{macrocode}
% Key for float label name defining.
% This macro is allowed only in preamble.
% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to
%    \cs{}\meta{floatname}\texttt{name} macros redefined locally.}
%    \begin{macrocode}
\DeclareFNOpt*{name}{\flnew@fname{#1}}
\newcommand\flnew@fname[1]{\@namedef{\FB@captype name}{#1}}
\@onlypreamble\flnew@fname
%    \end{macrocode}
% Key for extension of ``toc''-file.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\DeclareFNOpt*{fileext}{\flnew@ext{#1}}
\newcommand\flnew@ext[1]{\@namedef{ext@\FB@captype}{#1}%
  \let\float@do=\relax
  \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#1}}}%
  \@tempa}
\@onlypreamble\flnew@ext
%    \end{macrocode}
% The section of document which resets numbering of float.
% This macro is allowed only in preamble.
%    \begin{macrocode}
\DeclareFNOpt*{within}{\flnew@within{#1}}
\newcommand\flnew@within[1]{\@addtoreset{\FB@captype}{#1}%
  \expandafter\edef\csname the\FB@captype\endcsname{%
      \expandafter\noexpand\csname
        the#1\endcsname.\noexpand\arabic{\FB@captype}}}
\@onlypreamble\flnew@within
%    \end{macrocode}
% \end{macro}
%
%\changes{v0.2b}{2007/10/24}{The double definition of `relatedcapstyle' option deleted}
%
% \subsubsection{Processing of Floatsetup Options}
%
% \begin{macro}{\ProcessOptionsWithKV}
% As in caption style options are processed with usage of the
% \package{keyval} package.
% \changes{v0.1j}{2006/02/24}{Edited by suggestions of A.Sommerfeldt}
%    \begin{macrocode}
\def\ProcessOptionsWithKV#1{%
  \let\@tempc\relax
  \let\FR@tmp\@empty
  \@for\CurrentOption:=\@classoptionslist\do{%
    \@ifundefined{KV@#1@\CurrentOption}%
    {}%
    {%
%    \end{macrocode}
% In the case of co-named global option, appeared in
% |\documentclass| line.
% ^^A added line (|\@ifundefined| stuff)
% ^^A first part of command
%    \begin{macrocode}
      \@ifundefined{KV@#1@\CurrentOption @default}{%
       \PackageInfo{#1}{Global option `\CurrentOption' ignored}%
%    \end{macrocode}
% ^^A doubling of first line from second part of |\@ifundefined|
% ^^A but first line edited (moved |\CurrentOption,|)
% ^^A   \begin{macrocode}
% ^^A     \edef\FR@tmp{\FR@tmp,}%
% ^^A   \end{macrocode}
% ^^A end doubling
% ^^A added line
%    \begin{macrocode}
      }{%
%    \end{macrocode}
% ^^A second part of |\@ifundefined|
%    \begin{macrocode}
      \PackageInfo{#1}{Global option `\CurrentOption' processed}%
      \edef\FR@tmp{\FR@tmp,\CurrentOption,}%
      \@expandtwoargs\@removeelement\CurrentOption
        \@unusedoptionlist\@unusedoptionlist
%    \end{macrocode}
% ^^A end of doubled code
% ^^A added line
%    \begin{macrocode}
        }%
    }%
  }%
  \edef\FR@tmp{%
    \noexpand\caption@setkeys[floatrow]{#1}{%
      \FR@tmp\@ptionlist{\@currname.\@currext}%
    }%
  }%
  \FR@tmp
  \let\CurrentOption\@empty
  \AtEndOfPackage{\let\@unprocessedoptions\relax}}
\ProcessOptionsWithKV{floatrow}
\FR@iffancy{\RequirePackage{fr-fancy}}\relax
\let\ProcessOptionsWithKV\undefined
%    \end{macrocode}
% \end{macro}
%
% At beginning of document there are loaded macros |\flrow@restyle|
% for table and figure floats. (Any new float type gets this command
% when |\newfloat| macro of |\DeclareNewFloatType| are used.)
% \changes{v0.1k}{2007/05/24}{The support for raw float mode added.}
%    \begin{macrocode}
\AtBeginDocument{
 \FR@ifrawfloats
  {\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}
%
%    \begin{macrocode}
%&lt;/floatsetup&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;*frfancy&gt;
\RequirePackage{fancybox}
%    \end{macrocode}
%
% \subsection{Additional Definitions for Fancy Frames}
%
% \FRorisubsubsection{Macros for Fancy Frames}
%
% \begin{macro}{\FB@wshadowbox}
% The variant of shadowbox with white contoured shadow.
%    \begin{macrocode}
\newcommand\wshadowbox{\VerbBox\@wshadowbox}
\newcommand\@wshadowbox[1]{%
  \setbox\@fancybox\hbox{\fbox{#1}}%
  \leavevmode\vbox{\offinterlineskip
    \hbox{\copy\@fancybox\kern-\fboxrule\lower\shadowsize\hbox{%
      \dimen@\ht\@fancybox\advance\dimen@-\fboxrule
      \vrule\@height\ht\@fancybox\@depth-\dimen@\@width\shadowsize
      \vrule\@height\ht\@fancybox\@depth\dp\@fancybox\@width\fboxrule}}%
    \vskip-\fboxrule\vskip-\shadowsize
    \moveright\shadowsize\vbox{%
      \hrule\@width\fboxrule\@height\shadowsize
      \hrule\@width\wd\@fancybox\@height\fboxrule}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\FB@shadowbox@frame}
% \begin{macro}{\FB@shadowbox@adj}
% \begin{macro}{\FB@shadowbox@reset}
% First macro is the definition of frame style (here is |\shadowbox|);
% second defines compensating material to get frame fitted to current
% |\hsize|; third defines default values of compensating material.
%    \begin{macrocode}
\newcommand\FB@shadowbox@frame[1]{\hbox{%
  \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@}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FB@wshadowbox@frame}
% \begin{macro}{\FB@wshadowbox@adj}
% \begin{macro}{\FB@wshadowbox@reset}
% 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{%
  \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}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\FB@doublebox@frame}
% \begin{macro}{\FB@doublebox@adj}
% \begin{macro}{\FB@doublebox@reset}
% First macro is the definition of frame style (here is |\doublerbox|);
% second defines compensating material to get frame fitted to current
% |\hsize|; third defines default values of compensating material.
%    \begin{macrocode}
\newcommand\FB@doublebox@frame[1]{\hbox{%
  \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@}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\fs@shadowbox}
% \begin{macro}{\fs@Shadowbox}
% \begin{macro}{\fs@SHADOWBOX}
% There are going three float styles with usage of |\shadowbox|.
%    \begin{macrocode}
\DeclareFloatStyle{shadowbox}{style=boxed,framestyle=shadowbox}
\DeclareFloatStyle{Shadowbox}{style=Boxed,framestyle=shadowbox}
\DeclareFloatStyle{SHADOWBOX}{style=BOXED,framestyle=shadowbox}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\fs@wshadowbox}
% \begin{macro}{\fs@Wshadowbox}
% \begin{macro}{\fs@WSHADOWBOX}
% There are going three float styles with usage of |\wshadowbox|.
%    \begin{macrocode}
\DeclareFloatStyle{wshadowbox}{style=boxed,framestyle=wshadowbox}
\DeclareFloatStyle{Wshadowbox}{style=Boxed,framestyle=wshadowbox}
\DeclareFloatStyle{WSHADOWBOX}{style=BOXED,framestyle=wshadowbox}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\fs@doublebox}
% \begin{macro}{\fs@Doublebox}
% \begin{macro}{\fs@DOUBLEBOX}
% There are going three float styles with usage of |\doublebox|.
%    \begin{macrocode}
\DeclareFloatStyle{doublebox}{style=boxed,framestyle=doublebox}
\DeclareFloatStyle{Doublebox}{style=Boxed,framestyle=doublebox}
\DeclareFloatStyle{DOUBLEBOX}{style=BOXED,framestyle=doublebox}
%    \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
%
%    \begin{macrocode}
%&lt;/frfancy&gt;
%    \end{macrocode}
%
%
%
%
%    \begin{macrocode}
%&lt;*floatpagestyle&gt;
%    \end{macrocode}
%
% \subsection{Empty Floating Page}
%
% Here goes small sneaky-tricky style to put desired page style
% for one floating page.
%
% \begin{macro}{\floatpagestyle}
% First goes macro which defines desired page style for page with
% current float.
%    \begin{macrocode}
\newcommand\floatpagestyle[1]{\@ifundefined{ps@#1}\undefinedpagestyle
  {\begingroup
   \let\thepage\relax\let\protect\@unexpandable@protect
   \edef\reserved@a{\write\@auxout{\expandafter\string
     \csname @setfloatpage\endcsname{\thepage}{#1}}}\reserved@a
   \endgroup}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\emptyfloatpage}
% The abbreviation for empty float page style.
%    \begin{macrocode}
\newcommand\emptyfloatpage{\floatpagestyle{empty}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@setfloatpage}
% The macro which writes necessary code for changed float page style.
%    \begin{macrocode}
\newcommand\@setfloatpage[2]{%
  \edef\reserved@a{floatpage@\romannumeral#1}%
  \global\expandafter\def\csname\reserved@a\endcsname{#2}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@chkfloatpage}
% The macro which checks whether exists necessary code for changing
% of current float page style.
%    \begin{macrocode}
\newcommand\@chkfloatpage{%
  \edef\reserved@a{floatpage@\romannumeral\the\c@page}%
  \@ifundefined{\reserved@a}{\relax}{\global\@specialpagetrue
   \gdef\@specialstyle{\csname\reserved@a\endcsname}}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@outputpage}
% 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}
  \let\@outputpage\FB@outputpage}
\newcommand\FB@outputpage{\@chkfloatpage\FBori@outputpage}
%    \end{macrocode}
% \end{macro}
%
%    \begin{macrocode}
%&lt;/floatpagestyle&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;*listpen&gt;
%    \end{macrocode}
%
% \subsection{List Penalties Managing}
%
%   The package \package{listpen} is a beta-temp package, which
%   offers commands |\allowprelistbreaks|,
%   |\allowpostlistbreaks| and |\allowitembreaks| which help
%   to manage page breaking at the beginning and the end of
%   lists, and between list items consequently.
%
%   This package follows idea of |\allowdisplaybreaks|
%   (\textsf{amsmath} package) and |\pagebreak|/|\nopagebreak| stuff.
%
% \DescribeMacro{\allowprelistbreaks}
% \DescribeMacro{\allowpostlistbreaks}
% \DescribeMacro{\allowitembreaks}
% These commands set penalties before lists, after lists and between items.
% They set globally or inside group or (also list!)
% environment\footnote{Look also at \cmd{\allowdisplaybreaks}
%   macro from \package{amsmath} package.} penalties accordingly to digits
% from |[-4]| (never break) to |[4]| (always break). The values of optional
% argument in these commands analogous to values of optional arguments
% in, e.g., |\pagebreak| command. The default value of all three commands
% is |[-1]| which equal to \cls{book.cls} etc. class settings (which equal to
% |-\@lowpenalty| value).
%
% \begin{macro}{\allowprelistbreaks}
% Sets penalty before lists.
%    \begin{macrocode}
\newcommand\allowprelistbreaks{\let\LP@penalty\@beginparpenalty
  \@testopt{\LP@setlistbreaks}{-1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\allowpostlistbreaks}
% Sets penalty after lists.
%    \begin{macrocode}
\newcommand\allowpostlistbreaks{\let\LP@penalty\@endparpenalty
  \@testopt{\LP@setlistbreaks}{-1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\allowitembreaks}
% Sets penalty between items.
%    \begin{macrocode}
\newcommand\allowitembreaks{\let\LP@penalty\@itempenalty
  \@testopt{\LP@setlistbreaks}{-1}}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\LP@setlistbreaks}
% This macro reverses the $+/-$ signs before digits.
%    \begin{macrocode}
\@ifdefinable\LP@setlistbreaks{}
\def\LP@setlistbreaks[#1#2]{\def\tempa{-}\def\tempb{#1}\ifx\tempa\tempb
   \LP@nolbk[#2]\else\LP@nolbk-[#1]\fi}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\LP@nolbk}
% Macro for setting necessary penalties.
%    \begin{macrocode}
\@ifdefinable\LP@nolbk{}\@ifdefinable\LP@penalty{}
\def\LP@nolbk#1[#2]{%
    \ifcase#2\LP@penalty\z@
       \or\LP@penalty#1\@lowpenalty
          \or\LP@penalty#1\@medpenalty
             \or\LP@penalty#1\@highpenalty
                \or\LP@penalty#1\@M
    \fi}
%    \end{macrocode}
% \end{macro}
%
% \begin{macro}{\RestoreSpaces}
% \begin{macro}{\RemoveSpaces}
% A simple command to turn off |\if@nobreak| flag.
%    \begin{macrocode}
\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}
%&lt;/listpen&gt;
%    \end{macrocode}
%
%
%
%
%    \begin{macrocode}
%&lt;*floatrow&gt;
\AtBeginDocument{%
\@ifundefined{sf@@@subfloat}{\@tempswafalse}{\@tempswatrue}
\if@tempswa\RequirePackage{fr-subfig}\fi}
%&lt;/floatrow&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;*frforsubfig&gt;
%    \end{macrocode}
%
% \subsection{Support for The \package{subfig} Package}
%
% \changes{v0.2a}{2007/08/24}{Added compatibility check.}
%    \begin{macrocode}
\def\@tempb{2005/06/28 ver: 1.3 subfig package}
\expandafter\let\csname @tempa\expandafter\endcsname
    \csname ver@subfig.\@pkgextension\endcsname
\ifx\@tempa\@tempb\else
    \PackageWarning{fr-subfig}{The additions cooperated with \MessageBreak
        version `2005/06/28 ver: 1.3' of package subfig,\MessageBreak
        but only version\MessageBreak
        \csname ver@subfig.\@pkgextension\endcsname'\MessageBreak
        is available}\relax
    \fi
%    \end{macrocode}
%
% \subsubsection{Building Subfloatrow}
%
% At first defined dimension for maximal height of subcaption. Then macro
% for defining height of subcaption box.
%    \begin{macrocode}
\newlength\FBsc@max
\newlength\FBso@max
\@ifdefinable\FBsubcheight{\let\FBsubcheight\relax}
\@ifdefinable\FBsuboheight{\let\FBsuboheight\relax}
%    \end{macrocode}
%
% \begin{macro}{\adjustsubfloats}
% The user command which loaded at the end of row of subcaptions.
%    \begin{macrocode}
\newcommand\adjustsubfloats{\@tempswafalse
  \ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
  \if@tempswa\FB@writeaux{%
    \string\global\string\c@FBcnt\thepage
    \ifCADJ\string\edef\string\FBsubcheight{\the\FBsc@max}\fi
    \ifOADJ\string\edef\string\FBsuboheight{\the\FBso@max}\fi
   }\fi
  \global\let\FBsubcheight\relax\global\let\FBsuboheight\relax
  \global\FBso@max\z@\global\FBsc@max\z@}
%    \end{macrocode}
% \end{macro}
%
% \subsubsection{Small Correction of The \package{subfig} Macro}
%
% 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{%
    \@ifundefined{FBsc@max}{}%
        {\FB@readaux{\let\FBsuboheight\relax}}%
    \@tempcnta=\@ne
    \if@minipage
      \@tempcnta=\z@
    \else\ifdim \lastskip=\z@ \else
      \@tempcnta=\tw@
    \fi\fi
    \ifmaincaptiontop
      \sf@top=\sf@nearskip
      \sf@bottom=\sf@farskip
    \else
      \sf@top=\sf@farskip
      \sf@bottom=\sf@nearskip
    \fi
    \leavevmode
    \setbox\@tempboxa \hbox{#4}%
%    \end{macrocode}
% In the case of empty contents of subfloat all vertical spaces zeroed.
% subcaption label created like oneline |\vtop|.
%    \begin{macrocode}
    \ifdim\wd\@tempboxa=\z@\ht\@tempboxa\z@\dp\@tempboxa\z@
      \setbox\z@\hbox{{\caption@@@make
           {\caption@lfmt{\@nameuse{sub\@captype name}}%
           {\@nameuse{thesub\@captype}}\relax}{}}}\@tempdima=\wd\z@
      \sf@top=\z@
      \sf@bottom=\z@
      \sf@capskip\z@
      \sf@captopadj\z@
      \let\sf@ifpositiontop\@firstoftwo
    \else
      \@tempdima=\wd\@tempboxa
      \@ifundefined{FBsc@max}{}%
          {\global\advance\Xhsize-\wd\@tempboxa
           \dimen@=\ht\@tempboxa
           \advance\dimen@\dp\@tempboxa
           \ifdim\dimen@&gt;\FBso@max
             \global\FBso@max\dimen@
           \fi}%
    \fi
    \vtop\bgroup
      \vbox\bgroup
        \ifcase\@tempcnta
          \@minipagefalse
        \or
          \vskip\sf@top
        \or
          \ifdim \lastskip=\z@ \else
            \@tempskipb\sf@top\relax\@xaddvskip
          \fi
        \fi
%    \end{macrocode}
% In the case of empty contents there is used only first variant.
%    \begin{macrocode}
        \sf@ifpositiontop{%
          \ifx \@empty#3\relax \else
            \sf@subcaption{#1}{#2}{#3}%
            \vskip\sf@capskip
            \vskip\sf@captopadj
          \fi\egroup
%    \end{macrocode}
% In the case of empty contents the |\@tempboxa| box skipped .
%    \begin{macrocode}
          \hrule width0pt height0pt depth0pt
          \box\@tempboxa
        }{%
        \@ifundefined{FBsc@max}%
            {\box\@tempboxa}%
            {\ifx\FBsuboheight\relax
               \box\@tempboxa
             \else
               \vbox to \FBsuboheight{\FBafil\box\@tempboxa\FBbfil}%
             \fi}%
          \egroup
          \ifx \@empty#3\relax \else
            \vskip\sf@capskip
            \hrule width0pt height0pt depth0pt
            \sf@subcaption{#1}{#2}{#3}%
         \fi
        }%
      \vskip\sf@bottom
    \egroup
    \@ifundefined{FBsc@max}{}%
        {\addtocounter{FRobj}{-1}%
%    \end{macrocode}
% Here is the small correction:
% |\ifnum\c@FRobj&gt;0| instead of |\ifnum\c@FRobj=0\else|.
%    \begin{macrocode}
         \ifnum\c@FRobj&gt;0%  bugfix
           \subfloatrowsep
         \fi}%
    \ifmaincaptiontop\else
      \global\advance\@nameuse{c@\@captype}\m@ne
    \fi
  \endgroup\ignorespaces}
%    \end{macrocode}
%
% \subsubsection{Beside Labels for Subfloats}
%
% New key for beside caption of subfloat label. Beside label of subfloat
% always on the left side.
%    \begin{macrocode}
\DeclareFROpt{subcapbesideposition}{\flrow@SFbesidealign{#1}}
\newcommand*\flrow@SFbesidealign[1]{%
  \caption@ifinlist{#1}{t,top}{%
     \let\flrow@SFBalign\TopFloatBoxes
  }{\caption@ifinlist{#1}{b,bottom,default}{%
     \let\flrow@SFBalign\BottomFloatBoxes
  }{\caption@ifinlist{#1}{c,center}{%
     \let\flrow@SFBalign\CenterFloatBoxes
  }{\PackageError{floatrow}%
     {Undefined sublabel position `#1'}{\flrow@eh}%
  }}}}
\newcommand\flrow@SFBalign{\BottomFloatBoxes}
%    \end{macrocode}
%
% Macro for beside float label. Labels always placed on the left side.
%    \begin{macrocode}
\newcommand\sidesubfloat{%
  \ifx\@captype\@undefined
    \@latex@error{\noexpand\subfloat outside float}\@ehd
     \expandafter\@gobble
  \else
    \expandafter\@firstofone
  \fi
  {\flrow@sidesubfloat}}
%    \end{macrocode}
%
%    \begin{macrocode}
\def\flrow@sidesubfloat{\flrow@SFBalign
  \begingroup
    \@ifundefined{caption@setfloattype}%
      \caption@settype
      \caption@setfloattype
          \@captype
%    \caption@setoptions\@captype
    \sf@ifpositiontop{%
      \maincaptiontoptrue
    }{%
      \maincaptiontopfalse
    }%
    \caption@setoptions{subfloat}%
    \caption@setoptions{sub\@captype}%
    \let\sf@oldlabel=\label
    \let\label=\subfloat@label
%    \end{macrocode}
%
% Next, a decision (based on the \texttt{\char`\\ ifmaincaptiontop}
% flag) is made of how to advance the float counter; then the
% sub-float counter is advanced and saved and a check is made if an
% optional argument is present (if not, one is supplied).
%
%    \begin{macrocode}
    \ifmaincaptiontop\else
      \advance\@nameuse{c@\@captype}\@ne
    \fi
    \refstepcounter{sub\@captype}%
    \setcounter{sub\@captype @save}{\value{sub\@captype}}%
    \@ifnextchar [%  %] match left bracket
      {\flrow@@sidesubfloat}%
      {\flrow@@sidesubfloat[\@empty]}}
%    \end{macrocode}
%
%    \begin{macrocode}
\long\def\flrow@@sidesubfloat[#1]{%
    \@ifnextchar [%  %] match left bracket
      {\flrow@@@sidesubfloat{sub\@captype}[{#1}]}%
      {\flrow@@@sidesubfloat{sub\@captype}[\@empty{#1}][{#1}]}}
%    \end{macrocode}
%
%    \begin{macrocode}
\long\def\flrow@@@sidesubfloat#1[#2][#3]#4{%
    \@ifundefined{FBsc@max}{}%
        {\FB@readaux{\let\FBsuboheight\relax}}%
    \@tempcnta=\@ne
    \if@minipage
      \@tempcnta=\z@
    \else\ifdim \lastskip=\z@ \else
      \@tempcnta=\tw@
    \fi\fi
    \sf@bottom=\z@
    \sf@top=\z@
    \leavevmode
    \setbox\@tempboxa \hbox{#2}%
    \@tempdima\wd\@tempboxa
    \setbox\@tempboxa \hbox{#4}%
    \advance\@tempdima\wd\@tempboxa
    \advance\@tempdima\labelsep
    \@ifundefined{FBsc@max}{}%
        {\global\advance\Xhsize-\wd\@tempboxa
         \dimen@=\ht\@tempboxa
         \advance\dimen@\dp\@tempboxa
         \ifdim\dimen@&gt;\FBso@max
           \global\FBso@max\dimen@
         \fi}%
    \begin@FBBOX
        \ifcase\@tempcnta
          \@minipagefalse
        \or
          \vskip\sf@top
        \or
          \ifdim \lastskip=\z@ \else
            \@tempskipb\sf@top\relax\@xaddvskip
          \fi
        \fi
        \hbox{%
        \begin@FBBOX
           \ifx \@empty#3\relax \else
               \hbox{\caption@@@make
                  {\caption@lfmt{\@nameuse{sub\@captype name}}%
                  {\@nameuse{thesub\@captype}}\relax}{}}%
        \fi
        \end@FBBOX\hskip\labelsep\ignorespaces
        \begin@FBBOX
           \box\@tempboxa
        \end@FBBOX
        }%
        \vskip\sf@bottom
    \end@FBBOX
    \@ifundefined{FBsc@max}{}%
        {\addtocounter{FRobj}{-1}%
         \ifnum\c@FRobj&gt;0
           \subfloatrowsep
         \fi}%
    \ifmaincaptiontop\else
      \global\advance\@nameuse{c@\@captype}\m@ne
    \fi
  \endgroup\ignorespaces}
%    \end{macrocode}
%
% \subsubsection{Alone Labels for Subfloats}
%
% Macro for creation of subfloat label only. That could be useful
% for usage with \package{psfrag} package, placing labels inside
% |picture| environment, using in tabulars etc.
%    \begin{macrocode}
\newcommand\subfloatlabel{\@ifnextchar[%]
    {\flrow@subfloatlabel}{\subfloat[]{}}}
\@ifdefinable\flrow@subfloatlabel{}
\def\flrow@subfloatlabel[#1]{%
  \ifx\@captype\@undefined
    \@latex@error{\noexpand\subfloat outside float}\@ehd
  \fi
  \begingroup
    \count@#1\advance\count@\m@ne
    \csname c@sub\@captype\endcsname\count@\relax
    \@ifnextchar[%]
      {\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[]{\FRsf@Flabel{#2}}\endgroup}
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;/frforsubfig&gt;
%    \end{macrocode}
%
%
%
%
%    \begin{macrocode}
%&lt;*floatrow&gt;
\AtBeginDocument{%
\@ifundefined{LT@array}{\@tempswafalse}{\@tempswatrue}
\if@tempswa\RequirePackage{fr-longtable}\fi}
%&lt;/floatrow&gt;
%    \end{macrocode}
%
%    \begin{macrocode}
%&lt;*forlongtable&gt;
%    \end{macrocode}
%
% \subsection{Support for The \package{longtable} Package}
%
% First goes requirement of necessary packages.
%    \begin{macrocode}
\RequirePackage{longtable}[2004/02/01]
%\RequirePackage{floatrow}[2007/05/24]
%    \end{macrocode}
%
% \subsubsection{Caption Width Settings}
%
% 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
% A.~Sommerfeldt for compact code created as patch of |\LT@array| command).
%
% At first we save macro |\LT@array| under name |\flrow@LT@array|.
% Then start redefinition.
%    \begin{macrocode}
\let\flrow@oriLT@array\LT@array
\renewcommand\LT@array{%
%    \end{macrocode}
% Here are added settings for table font (similar to other table
% environments) skip after caption (\cmd{\belowcaptionskip} is set
%   equal to \cmd{\captionskip}).
%    \begin{macrocode}
   \flrow@setlist{{table}{longtable}}\flrow@useLTcapwidth\normalfont\floatfont
   \belowcaptionskip\captionskip
%    \end{macrocode}
% Here goes safe and redefinition of |\LT@make@row| macro in the way
% of managing of counting of table width.
%    \begin{macrocode}
   \FBifLTcapwidth
     {\let\flrow@LT@make@row\LT@make@row
     \def\LT@make@row{%
       \let\LT@make@row\flrow@LT@make@row
       \LT@make@row
%    \end{macrocode}
% The |\LT@entry| here used for width calculation.
%    \begin{macrocode}
       \ifx\LT@save@row\relax\else\begingroup
         \LTcapwidth\z@
         \def\LT@entry####1####2{\advance\LTcapwidth####2}\LT@save@row\relax
         \ifdim\LTcapwidth=\z@\else\global\LTcapwidth\LTcapwidth\fi
       \endgroup\fi}}%
%    \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}
\providecommand\captionskip{10\p@}
\providecommand\floatfoot@box[1]{%
%    \end{macrocode}
% The |\if@@FS| flag stored for \env{wrap...} environments.
%    \begin{macrocode}
%    \hsize\columnwidth\linewidth\columnwidth
    \@parboxrestore\reset@font\color@begingroup
%    \end{macrocode}
% Apply current float settings.
%    \begin{macrocode}
  \caption@setoptions{\@captype}%
%    \end{macrocode}
% Apply floatfoot settings.
%    \begin{macrocode}
  \caption@setoptions{floatfoot}%
%    \end{macrocode}
% No captionlabel.
%    \begin{macrocode}
    \captionsetup{labelformat=empty,labelsep=none}%
     \caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}%
  \color@endgroup}
%    \end{macrocode}
%
% The definition of caption width for |longtable| environment.
%    \begin{macrocode}
\let\FBifLTcapwidth\@gobble
\providecommand\caption@ifinlist[2]{%
  \let\next\@secondoftwo
  \edef\caption@tempa{#1}%
  \@for\caption@tempb:={#2}\do{%
    \ifx\caption@tempa\caption@tempb
      \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{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}
%
% The box for last head. Defined in the same way as analog macros in
% \package{longtable} package.
%    \begin{macrocode}
\newbox\flrow@LT@lasthead
\newbox\flrow@LT@prelastfoot
%    \end{macrocode}
% This counter register is used for checking of last longtable page.
%    \begin{macrocode}
\newcounter{FBLTpage}
%    \end{macrocode}
%
% Storing of original definition of |\longtable| macro.
% 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{%
  \setcounter{FBLTpage}\@ne
  \FB@ori@longtable}
%    \end{macrocode}
%
% Storing original definition of |\LT@ouput| macro.
% 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}
\@ifdefinable\FB@ori@LT@output{\let\FB@ori@LT@output\LT@output}
\def\LT@output{%
  \@ifundefined{FBLTpage@\romannumeral\c@LT@tables}%
    {\gdef\flrow@LTlastpage{2}}{\@nameuse{FBLTpage@\romannumeral\c@LT@tables}}%
  \addtocounter{FBLTpage}\@ne
  \ifvoid\flrow@LT@lasthead\else
     \ifnum\value{FBLTpage}=\flrow@LTlastpage
        \let\LT@head\flrow@LT@lasthead
     \fi
  \fi
%    \end{macrocode}
% Switching on of the |\LT@prelastfoot| also needs the real value of
% |\flrow@LTlastpage| (why???).
%    \begin{macrocode}
  \ifvoid\flrow@LT@prelastfoot\else
     \count@\flrow@LTlastpage\relax
     \ifnum\value{FBLTpage}=\count@
        \let\LT@foot\flrow@LT@prelastfoot
     \fi
  \fi
  \FB@ori@LT@output}
%    \end{macrocode}
%
% The definition of last head box and foot of the page before last.
% They are defined in the same way as other commands in \package{longtable}
% package, like |\endlastfoot|.
% Here was used |\def| as for all |\end..| commands. I hope if \package{longtable}
% will use these synonyms it will use also synonyms for
% || and || box register commands at the very beginning of package.
% Use command names with the analogous names
% in the hope that their synonyms will appear in the ``host''-package
% and in this case current package stops interfere.
%    \begin{macrocode}
\@tempswafalse
\ifx\endlasthead\undefined\@tempswatrue\else
   \ifx\endlasthead\relax\@tempswatrue
\fi\fi
\if@tempswa
    \def\endlasthead{\LT@end@hd@ft\flrow@LT@lasthead}
\else
\PackageError{fr-longtable}{The command \string\endlasthead\MessageBreak
            already defined by longtable package}
\fi
\@tempswafalse
\ifx\endprelastfoot\undefined\@tempswatrue\else
   \ifx\endprelastfoot\relax\@tempswatrue
\fi\fi
\if@tempswa
    \def\endprelastfoot{\LT@end@hd@ft\flrow@LT@prelastfoot}
\else
\PackageError{fr-longtable}{The command \string\endprelastfoot\MessageBreak
            already defined by longtable package}
\fi
%    \end{macrocode}
%
% Redefined |\endlongtable| command---added code which writes
% the number of pages of long table.
%    \begin{macrocode}
\@ifdefinable\FB@ori@endlongtable{\let\FB@ori@endlongtable\endlongtable}
\def\endlongtable{%
  \FB@ori@endlongtable
%    \end{macrocode}
% Here is additional code.
% Why it is necessary to reduce counter of pages by~1?
%    \begin{macrocode}
  \if@filesw
    {\advance\c@FBLTpage\m@ne
    \immediate\write\@auxout{%
      \gdef\expandafter\noexpand
        \csname FBLTpage@\romannumeral\c@LT@tables\endcsname
          {\string\gdef\string\flrow@LTlastpage{\the\c@FBLTpage}}%
      }}%
  \fi
  }
%    \end{macrocode}
%    \begin{macrocode}
%&lt;/forlongtable&gt;
%    \end{macrocode}
%
%
% \Finale
\endinput
</pre></body></html>