[PATCH 1/3] Revert commits after "Localize floatrow.sty as floatrowpf.sty"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>From 0303dcbf121ba63c855d59ef98864f4bcc3fe108 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@xxxxxxxxx>
Date: Sat, 5 Aug 2017 11:30:33 +0900
Subject: [PATCH 1/3] Revert commits after "Localize floatrow.sty as floatrowpf.sty"

It turns out that the workaround of floatrow's conflict with
two-column layout causes build failure when the "caption"
package is added in the preamble.
So revert the following 8 commits that relies floatrowpf.sty.

  4f90fe21d9a9 ("Localize floatrow.sty as floatrowpf.sty")
  f91cb12fd082 ("Apply workaround to floatrowpf.sty")
  b3c03d55bbdd ("Define 'listing' environment for style guide")
  fec4c19f0fc0 ("styleguide: Add listing environment examples")
  4a99c22ba7d7 ("Disable 'floatrow' layout in manually aligned code snippets")
  33d239e0ca0c ("styleguide: Add example of grouping code snippets")
  5ac664e8b3e8 ("styleguide: Add example of preferred table layout using
                 'booktabs'")
  c49e4ea4bd06 ("styleguide: Tweak layout of 'Limitation' table")

Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
---
 appendix/styleguide/hello.c        |    9 -
 appendix/styleguide/styleguide.tex |  177 +----
 defer/rcuusage.tex                 |    6 +-
 floatrowpf.sty                     | 1482 ------------------------------------
 howto/howto.tex                    |    4 +-
 perfbook.tex                       |    4 -
 6 files changed, 14 insertions(+), 1668 deletions(-)
 delete mode 100644 appendix/styleguide/hello.c
 delete mode 100644 floatrowpf.sty

diff --git a/appendix/styleguide/hello.c b/appendix/styleguide/hello.c
deleted file mode 100644
index d35d93f..0000000
--- a/appendix/styleguide/hello.c
+++ /dev/null
@@ -1,9 +0,0 @@
-/*
- * Sample Code Snippet
- */
-#include <stdio.h>
-int main(void)
-{
-  printf("Hello world!\n");
-  return 0;
-}
diff --git a/appendix/styleguide/styleguide.tex b/appendix/styleguide/styleguide.tex
index 6f5236f..72b8ca0 100644
--- a/appendix/styleguide/styleguide.tex
+++ b/appendix/styleguide/styleguide.tex
@@ -389,20 +389,15 @@ Table~\ref{tab:app:styleguide:Limitation of Monospace Macro}
 lists such limitations.
 
 \begin{table}[tbh]
-  \renewcommand*{\arraystretch}{1.2}
-  \begin{floatrow}[1]
-    \ttabbox[\columnwidth]{
-\footnotesize
-\begin{tabular}{@{}lll@{}}\toprule
+\centering\footnotesize
+\begin{tabular}{lll}
   Macro &  Need Escape & Should Avoid \\
-  \midrule
+  \hline
   \co{\\co}, \co{\\nbco} & \co{\\}, \%, \{, \} & \\
   \co{\\tco}  & \# & \%, \{, \}, \co{\\} \\
-\bottomrule
 \end{tabular}
-}{\caption{Limitation of Monospace Macro}
-    \label{tab:app:styleguide:Limitation of Monospace Macro}}
-  \end{floatrow}
+\caption{Limitation of Monospace Macro}
+\label{tab:app:styleguide:Limitation of Monospace Macro}
 \end{table}
 
 While \verb|\co{}| requires some characters to be escaped,
@@ -594,21 +589,8 @@ This section lists up such candidates.
 Strictly speaking, code snippets are \emph{not} figures.
 They deserve their own floating environment.
 The ``floatrow'' package would be of help.
-Figure~\ref{fig:app:styleguide:Sample Code Snippet}
-can be typeset as in
-Listing~\ref{lst:app:styleguide:Sample Code Snippet}
-using an experimental environment ``listing''.
 
-\begin{listing}
-{ \scriptsize
-\verbfilebox[{\makebox[5ex][r]{\arabic{VerbboxLineNo}\hspace{2ex}}}]
-	{appendix/styleguide/hello.c}
-}
-\centering
-\theverbbox
-\caption{Sample Code Snippet}
-\label{lst:app:styleguide:Sample Code Snippet}
-\end{listing}
+% TODO: Add example
 
 \subsubsection{Position of Caption}
 \label{sec:app:styleguide:Position of Caption}
@@ -622,39 +604,8 @@ The same can be said of code snippets, which are read from
 top to bottom.
 The floatrow package mentioned above also has the capability
 to adjust layout of caption.
-For example,
-Listing~\ref{lst:app:styleguide:Sample Code Snippet (Top)}
-has the option \qco{cappostion=top} in its preamble.
-
-\begin{listing}\RawFloats
-{ \scriptsize
-\verbfilebox[{\makebox[5ex][r]{\arabic{VerbboxLineNo}\hspace{2ex}}}]
-	{appendix/styleguide/hello.c}
-}
-\begin{floatrow}[1]\thisfloatsetup{capposition=top}
-  \floatbox{listing}[2.5in]{\caption{Sample Code Snippet (Top)}
-    \label{lst:app:styleguide:Sample Code Snippet (Top)}}{
-\theverbbox
-}
-\end{floatrow}
-\end{listing}
 
-For code snippets, the ``ruled'' style would look even better.
-Listing~\ref{lst:app:styleguide:Sample Code Snippet (Ruled)}
-is an example using the option \qco{style=ruled}.
-
-\begin{listing}\RawFloats
-{ \scriptsize
-\verbfilebox[{\makebox[5ex][r]{\arabic{VerbboxLineNo}\hspace{2ex}}}]
-	{appendix/styleguide/hello.c}
-}
-\begin{floatrow}[1]\thisfloatsetup{style=ruled}
-  \floatbox{listing}[2.5in]{\caption{Sample Code Snippet (Ruled)}
-    \label{lst:app:styleguide:Sample Code Snippet (Ruled)}}{
-\theverbbox
-}
-\end{floatrow}
-\end{listing}
+% TODO: Add example
 
 Once the conversion of code sippets to a new environment has
 completed, we would be able to choose one of the style options
@@ -674,84 +625,7 @@ The floatrow package provides the features to do so.\footnote{
   One problem of grouping figures might be the learning curve
   to do so.}
 
-For example,
-Figures~\ref{fig:advsync:Message-Passing Litmus Test}
-and~\ref{fig:advsync:Enforcing Order of Message-Passing Litmus Test}
-can be grouped together as in
-Listings~\ref{lst:app:styleguide:Message-Passing Litmus Test}
-and~\ref{lst:app:styleguide:Enforcing Order of Message-Passing Litmus Test}.
-
-\begin{listing*}\RawFloats
-{ \scriptsize
-\begin{verbbox}
- 1 C C-MP+o-wmb-o+o-o.litmus
- 2
- 3 {
- 4 }
- 5
- 6
- 7 P0(int* x0, int* x1) {
- 8
- 9   WRITE_ONCE(*x0, 2);
-10   smp_wmb();
-11   WRITE_ONCE(*x1, 2);
-12
-13 }
-14
-15 P1(int* x0, int* x1) {
-16
-17   int r2;
-18   int r3;
-19
-20   r2 = READ_ONCE(*x1);
-21   r3 = READ_ONCE(*x0);
-22
-23 }
-24
-25 exists (1:r2=2 /\ 1:r3=0)
-\end{verbbox}
-}
-  \begin{floatrow}[2]\thisfloatsetup{style=ruled}
-    \floatbox{listing}[2.2in]{\caption{Message-Passing Litmus Test}
-      \label{lst:app:styleguide:Message-Passing Litmus Test}}{
-      \theverbbox
-}
-{ \scriptsize
-\begin{verbbox}
- 1 C C-MP+o-wmb-o+o-rmb-o.litmus
- 2
- 3 {
- 4 }
- 5
- 6 P0(int* x0, int* x1) {
- 7
- 8   WRITE_ONCE(*x0, 2);
- 9   smp_wmb();
-10   WRITE_ONCE(*x1, 2);
-11
-12 }
-13
-14 P1(int* x0, int* x1) {
-15
-16   int r2;
-17   int r3;
-18
-19   r2 = READ_ONCE(*x1);
-20   smp_rmb();
-21   r3 = READ_ONCE(*x0);
-22
-23 }
-24
-25 exists (1:r2=2 /\ 1:r3=0)
-\end{verbbox}
-}
-    \thisfloatsetup{style=ruled}\hspace{1em}%
-    \floatbox{listing}[2.2in]{\caption{Enforcing Order of Message\-/Passing Litmus Test}
-      \label{lst:app:styleguide:Enforcing Order of Message-Passing Litmus Test}}{
-      \theverbbox
-}
-  \end{floatrow}
-\end{listing*}
+% TODO: Add example
 
 \subsubsection{Ruled Line in Table}
 \label{sec:app:styleguide:Ruled Line in Table}
@@ -763,40 +637,7 @@ look ugly.\footnote{
 Vertical lines should be avoided and horizontal lines should be
 used sparingly, especially in tables of simple structure.
 
-For example,
-Table~\ref{tab:cpu:Performance of Synchronization Mechanisms on 4-CPU 1.8GHz AMD Opteron 844 System}
-can be tweaked by the help of ``booktabs'' package as is shown in
-Table~\ref{tab:app:styleguide:Performance of Synchronization Mechanisms of 4-CPU 1.8GHz AMD Opteron 844 System},
-with the caption at the top.
-
-\begin{table}[htb]\RawFloats
-\renewcommand*{\arraystretch}{1.2}
-\begin{floatrow}[1]\ttabbox[]{
-\small
-\begin{tabular}{@{}lrr@{}}\toprule
-				& 	 	& Ratio \\
-	Operation		& Cost (ns) 	& (cost/clock) \\
-	\midrule
-	Clock period		&           0.6	&           1.0 \\
-	Best-case CAS		&          37.9	&          63.2 \\
-	Best-case lock		&          65.6	&         109.3 \\
-	Single cache miss	&         139.5	&         232.5 \\
-	CAS cache miss		&         306.0	&         510.0 \\
-	Comms Fabric		&       5,000\textcolor{white}{.0}
-						&       8,330\textcolor{white}{.0}
-								\\
-	Global Comms		& 195,000,000\textcolor{white}{.0}
-						& 325,000,000\textcolor{white}{.0} \\
-\bottomrule
-\end{tabular}}{
-\caption{Performance of Synchronization Mechanisms of 4-CPU 1.8\,GHz AMD Opteron 844 System}
-\label{tab:app:styleguide:Performance of Synchronization Mechanisms of 4-CPU 1.8GHz AMD Opteron 844 System}
-}
-\end{floatrow}
-\end{table}
-
-Note that ruled lines of booktabs can not be mixed with
-vertical lines in a table.
+% TODO: Add example
 
 \subsubsection{Miscellaneous Candidates}
 \label{sec:app:styleguide:Miscellaneous Candidates}
diff --git a/defer/rcuusage.tex b/defer/rcuusage.tex
index f3174f3..af4faff 100644
--- a/defer/rcuusage.tex
+++ b/defer/rcuusage.tex
@@ -603,7 +603,7 @@ and
 all taken from
 Wikipedia~\cite{WikipediaRCU}.
 
-\begin{figure*}[htbp]\RawFloats
+\begin{figure*}[htbp]
 { \scriptsize
 \begin{verbbox}
  1 struct el {                           1 struct el {
@@ -623,7 +623,7 @@ Wikipedia~\cite{WikipediaRCU}.
 \label{fig:defer:Converting Reader-Writer Locking to RCU: Data}
 \end{figure*}
 
-\begin{figure*}[htbp]\RawFloats
+\begin{figure*}[htbp]
 { \scriptsize
 \begin{verbbox}
  1 int search(long key, int *result)     1 int search(long key, int *result)
@@ -649,7 +649,7 @@ Wikipedia~\cite{WikipediaRCU}.
 \label{fig:defer:Converting Reader-Writer Locking to RCU: Search}
 \end{figure*}
 
-\begin{figure*}[htbp]\RawFloats
+\begin{figure*}[htbp]
 { \scriptsize
 \begin{verbbox}
  1 int delete(long key)                  1 int delete(long key)
diff --git a/floatrowpf.sty b/floatrowpf.sty
deleted file mode 100644
index b98af62..0000000
--- a/floatrowpf.sty
+++ /dev/null
@@ -1,1482 +0,0 @@
-%%%
-%%% This is file `floatrowpf.sty', which is a modified version
-%%% of `floatrow.sty' to work around issues in two-column layout.
-%%% The possible workaround was posted at:
-%%% https://tex.stackexchange.com/questions/133127/
-%%%
-%%% Modified by Akira Yokosawa for perfbook project.
-%%%
-%%% Following is the original header:
-%%%
-%% This is file `floatrow.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% floatrow.dtx  (with options: `floatrow,floatsetup')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from floatrow.sty.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file floatrow.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-\NeedsTeXFormat{LaTeX2e}[1995/06/01]
-\ProvidesPackage{floatrowpf}
-       [2017/07/17 v0.3b-ay floatrowpf: customized floatrow for perfbook]
-\@ifundefined{float@caption}{%
-  \@ifundefined{rotfloat@float}{}%
-    {\PackageError{floatrowpf}{Do not use rotfloat package with floatrowpf.\MessageBreak
-        The latter will be skipped}{}%
-  \@namedef{opt@xxxxxxxxxxxxxx}{}\endinput}}%
-  {\PackageError{floatrowpf}{Do not use float package with floatrowpf.\MessageBreak
-        The latter will be skipped}{}%
-  \@namedef{opt@xxxxxxxxxxxxxx}{}\endinput}
-\@namedef{ver@xxxxxxxxx}{2001/11/08 v1.3d (excerpt)
-    Float enhancements (AL)}
-\@namedef{ver@xxxxxxxxxxxx}{2004/01/04 v1.2 (excerpt)
-    Combining float+rotating package (AS)}
-\RequirePackage{keyval}
-\RequirePackage{caption3}
-\@ifpackagelater{caption3}{2007/04/11 v3.0q}{}{\PackageError
-    {floatrowpf}{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}
-\providecommand*\caption@fnum[1]{%
-   \caption@lfmt{\@nameuse{#1name}}{\@nameuse{the#1}}}
-\@ifdefinable\FR@flboxreset{\let\FR@flboxreset\@floatboxreset}
-\@ifdefinable\FR@makecaption{\let\FR@makecaption\@makecaption}
-\newcommand\flrow@caption{%
-   \ifx\@captype\@undefined
-     \@latex@error{\noexpand\caption outside float}\@ehd
-     \expandafter\@gobble
-   \else
-     \refstepcounter\@captype
-     \expandafter\@firstofone
-   \fi
-   {\@dblarg{\@caption\@captype}}%
-}
-\@ifdefinable\float@caption{\let\float@caption\@caption}
-\newcounter{float@type}
-\@ifundefined{c@figure}%
-  {\setcounter{float@type}{1}}%
-  {\setcounter{float@type}{4}}
-\newcommand\flrow@package{floatrowpf}
-\newcommand*\flrow@error[1]{\PackageError\flrow@package{#1}\flrow@eh}
-\newcommand*\flrow@eh{%
-  If you do not understand this error, please take look\MessageBreak
-  at `floatrow' and `caption' package documentations.\MessageBreak
-  \@ehc}
-\newcommand\floatstyle[1]{\@ifundefined{flrow@sty@#1}%
-  {\flrow@error{Unknown float style `#1'}}{\edef\float@style{#1}}}
-\newcommand\floatname[2]{\@namedef{#1name}{#2}}
-\newcommand\floatplacement[2]{\@namedef{fps@#1}{#2}}
-\newif\if@@FS
-\newcommand\FR@redefs{%
-  \@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}
-\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>\z@
-        \hsize\FBc@wd
-      \else
-        \adj@dim\hsize+\FBo@wadj=\hsize
-      \fi
-   \fi
-   \linewidth\hsize
-   \ifdim\hsize<70mm\sloppy\fi
-   \normalsize
-   \abovecaptionskip\z@\belowcaptionskip\z@
-   \FR@makecaption{#1}{#2}\egroup}
-\newcommand\killfloatstyle{\FBbuildtrue\if@@FS\hsize\FB@wd\fi\@@FSfalse}
-\newcommand\flrow@capsetup{}
-\edef\float@style{plain}
-\@ifdefinable\FBB@wd{\let\FBB@wd\relax}
-\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}}
-\newcommand\flrow@restyle[1]{%
-  \@namedef{#1}{\killfloatstyle\def\@captype{#1}\FR@redefs
-    \flrow@setlist{{#1}}%
-    %\textwidth\columnwidth <-- error in two-column layout
-    \edef\FBB@wd{\the\columnwidth}%
-    \FRifFBOX\@@setframe\relax\@@FStrue\@float{#1}}%
-  \@namedef{#1*}{\killfloatstyle\def\@captype{#1}\FR@redefs
-    \flrow@setlist{{#1}{widefloat}{wide#1}}%
-    \FRifFBOX\@@setframe\relax\@@FStrue\edef\FBB@wd{\the\textwidth}%
-    \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
- \@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\relax\@@FStrue
-    \let\rotfloat@@makebox\float@makebox
-    \let\float@makebox\rotfloat@makebox
-    \@float{#1}}%
-  \@namedef{endsideways#1}{\FBbuildtrue\float@end}
-  \ifx\@rotdblfloat\undefined
-   \@namedef{sideways#1*}{%
-     \flrow@error{%
-      You need rotating version 2.10 or newer to do this}%
-     \@nameuse{sideways#1}}%
-  \else
-   \@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\relax\@@FStrue
-     \let\@xdblfloat\@xfloat
-     \let\rotfloat@@makebox\float@makebox
-     \let\float@makebox\rotdblfloat@makebox
-     \@dblfloat{#1}}%
-  \fi
-  \@namedef{endsideways#1*}{\FBbuildtrue\float@dblend}}
- \@ifundefined{wrapfloat}{}{%
-   \@ifundefined{flrow@WF@rapt}{\let\flrow@WF@rapt\WF@rapt
-   \def\WF@rapt[##1]##2{\FRifFBOX\@@setframe\relax\@@FStrue
-     \dimen@##2\relax
-     \ifdim\dimen@>\z@
-       \edef\FBB@wd{\the\dimen@}\FB@fs@wd\dimen@\FBo@wd
-     \fi
-     \flrow@WF@rapt[##1]{\dimen@}%
-       \the\FR@everyfloat\ignorespaces}%
-   }{}%
-   \@namedef{wrap#1}{\killfloatstyle\def\@captype{#1}%
-     \FR@redefs\FBc@wd\z@
-     \flrow@setlist{{#1}{wrapfloat}{wrap#1}}%
-     \def\WF@floatstyhook{\let\@currbox\WF@box
-       \ifFBbuild
-         \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[]}}%]
-   \@namedef{endwrap#1}{\endwrapfloat
-     \@ifundefined{FloatHBarrier}{}\FloatHBarrier
-     }}
- \@ifundefined{sf@@@subfloat}{}{\@ifundefined{c@sub#1}{\newsubfloat{#1}}{}}}
-\newcommand\RawFloats{\@ifnextchar[%]
-    \flrow@rawfloatschk\flrow@rawfloats}
-\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}%
-  }}
-\@ifdefinable\flrow@rawfloatschk{}
-\def\flrow@rawfloatschk[#1]{\@ifnextchar[%]
-    {\flrow@RawFloats[#1]}{\flrow@@RawFloats#1,;}}
-\@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]}}
-\@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
-}
-\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}%
-  }%
- }
-\newcommand\RawCaption[1]{{\let\@makecaption\FR@makecaption #1}}
-\@ifdefinable\float@exts{\newtoks\float@exts}
-\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}}
-\let\@float@Hx\@xfloat
-\def\@xfloat#1[{\@ifnextchar{H}{\@float@HH{#1}[}{\@float@Hx{#1}[}}
-\AtBeginDocument{%
-  \@ifundefined{latex@xfloat}{}{%
-    \let\floatrow@ORI@xfloat\@xfloat
-    \def\@xfloat#1[#2]{%
-      \floatrow@ORI@xfloat{#1}[#2]%
-      \floatfont}}}%
-\newsavebox\float@box
-\def\@float@HH#1[H]{%
-  \@ifundefined{FloatHBarrier}{}\FloatHBarrier
-  \expandafter\let\csname end#1\endcsname\float@endH
-  \FR@ifdoubleaswide
-   {\expandafter\let\csname end#1*\endcsname\float@endH}\relax
-  \let\@currbox\float@box
-  \flrow@setlist*{{floatH}{#1H}}%
-  \def\@captype{#1}%\setbox\@floatcapt=\vbox{}%
-  \setbox\@currbox\color@vbox\normalcolor
-    \vbox\bgroup
-      \hsize\columnwidth
-      \linewidth\columnwidth
-      \@parboxrestore\leftmargin\z@\rightmargin\z@
-      \@floatboxreset \@setnobreak
-  \ignorespaces}
-\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\FB@fs@wd
-  \the\FR@everyfloat}
-\@ifdefinable\FBcheight{\let\FBcheight\relax}
-\@ifdefinable\FBoheight{\let\FBoheight\relax}
-\@ifdefinable\FBfheight{\let\FBfheight\relax}
-\newcommand\FB@fs@wd{\@tempdima\FBB@wd
-  \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}%
-    {\columnwidth\FBc@wd}%
-  }
-\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
-  \FC@ifc@wd\@tempswatrue\@tempswafalse
-  \if@tempswa
-     \ifx\FCwidth\relax
-        \flrow@error{You didn't define width of caption\MessageBreak
-          for plain floating environment.}%
-     \else
-        \global\FBc@wd=\FCwidth
-        \FC@ifo@fil{\advance\@tempdima-\FBc@wd}\relax
-     \fi
-  \else
-    \global\FBc@wd\@tempdima
-  \fi
-  \FC@ifo@fil\relax{\@tempdima.5\@tempdima
-    \flrow@setwd\FB@wd\@tempdima}%
-  \adj@dim\@tempdima-\FBo@wadj={\global\FBo@wd}%
-  \FC@ifc@wd\relax{\global\advance\FBc@wd-\FB@wd}%
-  \hsize\FBo@wd\linewidth\hsize\columnwidth\FBc@wd\linewidth\hsize
-  \FCset@vpos}
-\newcommand\float@makebox[1]{%
-  \FBifcapbeside{\flrow@FC{#1}}{\flrow@FB{#1}}}
-\newcommand\FBaskip{\z@}\newcommand\FBbskip{\z@}
-\newif\ifFBbuild\FBbuildtrue
-\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@}}}
-\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@}}}
-\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}
-\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}
-\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
-  \@parboxrestore\leftmargin\z@\rightmargin\z@
-  \@@FBabove
-  \FBifcaptop\@tempswatrue\@tempswafalse
-  \if@tempswa
-    \ifvoid\@floatcapt\else
-      \FB@vbox\FBc@wd\FBcheight{\FBifCAPTOP\relax\vfill
-        \unvbox\@floatcapt
-        \ifnum\FPOScnt=\@ne\vbox{\FB@foot}\fi\vfil}%
-      \@@FBskip\hrule\@height\z@\@depth\z@
-    \fi
-    \vtop{\vskip\z@\FBo@frame{\FB@vtop\FBo@wd\FBoheight
-      {\FBafil\unvbox\@currbox\FBbfil
-      \vskip\z@
-      \ifnum\FPOScnt=\z@
-        \FB@vtop\FBo@wd\FBfheight{\FB@foot\vfil}\fi}}\par
-      \vskip\z@
-      \ifnum\FPOScnt=\tw@\vskip\z@
-        \FB@vtop\FBc@wd\FBfheight{\FB@foot\vfil}\fi}%
-  \else\ifnum\FPOScnt=\z@\FPOScnt=\@ne\fi
-    \FBo@frame{\FB@vbox\FBo@wd\FBoheight{\FBafil
-       \unvbox\@currbox\FBbfil}}\par
-    \ifvoid\@floatcapt\else
-      \@@FBskip\hrule\@height\z@\@depth\z@
-      \FB@vtop\FBc@wd\FBcheight{\hsize\columnwidth\unvbox\@floatcapt
-        \ifnum\FPOScnt=\@ne\vtop{\FB@foot}%
-    \fi\par
-        \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}}
-\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
-   \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
-       \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}}
-\newcommand\FB@foot{\let\FR@ifFOOT\@firstoftwo\FB@putfoots\@@par\FB@putfnotes}
-\newcommand\FB@zskip{}
-\newcommand\float@end{\ifFBbuild\@endfloatbox
-    \global\setbox\@currbox\float@makebox\columnwidth
-    \let\@endfloatbox\relax\fi
-  \end@float}
-\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}
-\newcommand\float@dblend{\ifFBbuild\@endfloatbox
-    \global\setbox\@currbox\float@makebox\textwidth
-    \let\@endfloatbox\relax\fi
-  \end@dblfloat}
-\newsavebox\@floatcapt
-\newcommand*{\listof}[2]{%
-  \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
-    \expandafter\providecommand\csname l@#1\endcsname
-        {\@dottedtocline{1}{1.5em}{2.3em}}%
-    \float@listhead{#2}%
-    \begingroup\setlength{\parskip}{\z@}%
-      \@starttoc{\@nameuse{ext@#1}}%
-    \endgroup}}
-\providecommand*{\float@listhead}[1]{%
-  \@ifundefined{chapter}{\def\@tempa{\section*}}%
-    {\def\@tempa{\chapter*}}%
-  \@tempa{#1\@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}}}%
-\newcommand\float@addtolists[1]{%
-  \def\float@do##1{\addtocontents{##1}{#1}} \the\float@exts}
-\PackageInfo{floatrowpf}{Modified float package code loaded}
-\IfFileExists{rotating.sty}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
-  \let\rotfloat@HH\@float@HH
-  \def\@float@HH#1{%
-    \expandafter\let\csname endsideways#1\endcsname\float@endH
-    \let\end@float\relax
-    \rotfloat@HH{#1}}
-  \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}}
-\PackageInfo{floatrowpf}{Modified rotfloat package code loaded}
-\fi
-\@ifdefinable\FR@everyfloat{\newtoks\FR@everyfloat}
-\FR@everyfloat={\let\@footnotetext\@mpfootnotetext
-  \def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
-  \floatobjectset\floatfont}
-\@ifdefinable\FR@ifFOOT{\let\FR@ifFOOT\@secondoftwo}
-\newcommand\FB@putfnotes{%
-  \ifvoid\@mpfootins\else\FR@ifFOOT
-    {\vskip\floatfootskip\normalcolor\FBfootnoterule
-    \unvbox\@mpfootins\@@par}\relax
-  \fi}
-\@ifdefinable\flrow@foot{\newinsert\flrow@foot}
-\newcommand\FB@putfoots{%
-  \ifvoid\flrow@foot\else\FR@ifFOOT
-    {\vskip\floatfootskip\normalcolor
-    \unvbox\flrow@foot\@@par}\relax
-  \fi}
-\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}}{}}
-\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}}}%
-\newcommand\floatfoot@box[1]{%
-  \@ifundefined{@captype}{\def\@captype{floatfoot}}{}%
-    \if@@FS\hsize\columnwidth\linewidth\columnwidth\fi
-    \@parboxrestore\reset@font\color@begingroup
-  \caption@setoptions{\@captype}%
-  \caption@setoptions{floatfoot}%
-     \caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}%
-  \color@endgroup}
-\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{floatrowpf}{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][]}}
-\def\FB@@nc#1#2[#3][#4]{%
-  \@namedef{#1}{\begingroup
-  \def\FB@tmpset{#3}\def\@captype{#2}%
-  \@ifnextchar[{\@floatbox}{\@floatbox[#4]}}}
-\newfloatcommand{ffigbox}{figure}[\nocapbeside][]
-\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]
-\newfloatcommand{fcapside}{figure}[\capbeside][]
-\@ifdefinable\FB@wd {\newdimen\FB@wd}
-\@ifdefinable\FBo@wd{\newdimen\FBo@wd}
-\@ifdefinable\FBc@wd{\newdimen\FBc@wd}
-\newlength\FBo@ht
-\newlength\FBc@ht
-\newlength\FBf@ht
-\newlength\FBo@max
-\newlength\FBc@max
-\newlength\FBf@max
-\newcommand\FR@loc@addcnt[2]{%
-  \@ifundefined{c@#1}{\@nocounterr{#1}}%
-    {\advance\csname c@#1\endcsname #2\relax}}
-\newcommand\FR@loc@refcnt[1]{%
-  \@ifundefined{c@#1}{\@nocounterr{#1}}%
-   {\advance\csname c@#1\endcsname1\relax}}
-\newcommand\FR@loc@{%
-  \let\FR@ifunloc\@gobble
-  \let\label\@gobble
-  \let\refstepcounter\FR@loc@refcnt
-  \let\stepcounter\FR@loc@refcnt
-  \let\refsteponlycounter\FR@loc@refcnt
-  \let\FR@ifcountH\@secondoftwo
-  \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{}}
-\def\FBtmp@cap#1[#2]#3{\sbox\@tempboxa{\captionlabel{#3}}%
-  \global\@tempdimb\wd\@tempboxa}
-\newcommand\captionlabel[1]{{\def\FR@tmp{\@captype}\ifnum\floatbox@depth>\@ne
-       \def\FR@tmp{sub\@captype}\caption@setsubtype*{\FR@tmp}\stepcounter{\FR@tmp}\fi
-   \caption@@@make{\caption@fnum\FR@tmp}{#1}}}
-\newcommand\subcaptionlabel[1]{{\floatbox@depth\tw@\captionlabel{#1}}}
-\newcommand\FBget@box[3]{%
-  \FBiffloatrow\relax
-    {\ifx\FBB@wd\relax
-      \ifdim\hsize=\z@
-        \@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}}%
-    {\nofilFCOhsize
-    \FBiffloatrow\relax
-      {\settowidth\@tempdimb{{\FBleftmargin}{\FBrightmargin}}%
-      \advance\@tempdima-\@tempdimb}}%
-  \FC@ifo@fil{\@tempdima\FB@wd}{\FB@wd\@tempdima}%
-  \adj@dim\@tempdima-\FBo@wadj=\FBo@wd
-  \FBiffloatrow\relax{\hsize\FBo@wd}%
-  \FBifcapbeside{\hsize\FB@wd}\relax
-  \linewidth\hsize
-  \def\reserved@a{#1}\ifx\reserved@a\empty
-    \else\FBget@@wd{#1}{#3}\fi
-  \hsize\FBo@wd\linewidth\hsize
-  \FBifcapbeside
-    {\FC@ifc@wd\relax{\advance\FBc@wd-\FB@wd}}%
-    {\FBc@wd\FB@wd}%
-  \setbox\z@\vbox{\let\FR@ifROWFILL\@secondoftwo\FR@loc@\hsize\FBo@wd\linewidth\hsize
-    \FBifcaptop
-      {\ifnum\FPOScnt=\z@\columnwidth\hsize\else\columnwidth\FBc@wd\fi}%
-      {\columnwidth\FBc@wd}%
-    #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>\FBf@max\global\FBf@max\FBf@ht\fi
-    \ifCADJ
-      \FBifcaptop
-        {\ifnum\FPOScnt=\@ne\global\advance\FBc@ht\FBf@ht\fi}%
-        {\ifnum\FPOScnt=\tw@
-          \ifdim\FBf@ht>\FBf@max
-            \global\advance\FBc@ht\FBf@ht
-          \else
-            \global\advance\FBc@ht\FBf@max
-          \fi
-        \else
-          \global\advance\FBc@ht\FBf@ht
-        \fi}%
-      \ifdim\FBc@ht>\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>\FBo@max\global\FBo@max\FBo@ht\fi
-      \FBifcaptop
-        {\ifnum\FPOScnt=\z@
-          \ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
-        \fi}\relax
-      \gdef\FBoheight{\FBo@ht}\gdef\FBfheight{\FBf@ht}%
-    \fi}\relax
-  \else
-     \FBget@@ht{#2}{#3}%
-  \fi}
-\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}\relax
-  \FC@ifc@wd\@tempswatrue\@tempswafalse
-  \if@tempswa
-    \ifx\FCwidth\relax
-      \setbox\@ne\vbox{\FR@loc@
-        \let\caption\flrow@caption
-        \let\@caption\FBtmp@cap
-         #2}%
-      \FBc@wd=\@tempdimb
-    \else
-      \FBc@wd=\FCwidth
-    \fi\FC@ifo@fil{\advance\FB@wd-\FBc@wd}\relax
-  \else
-    \FBc@wd\@tempdima
-  \fi
-  \@tempdima.5\@tempdima}
-\newcommand\flrow@gobble@[2][]{\unskip\ignorespaces}
-\newcommand\flrow@gobble{%
-    \let\caption\flrow@gobble@
-    \let\floatfoot\flrow@gobble@
-    \let\footnote\flrow@gobble@
-    \let\footnotetext\flrow@gobble@
-    }
-\newcommand\FBget@@wd[2]{\@tempswafalse
-  \begingroup
-    \@tempdima-3000pt\let\FBwidth\@tempdima
-    \setlength\dimen@{#1}\ifdim\dimen@<\z@\global\@tempswatrue\fi
-  \endgroup
-  \if@tempswa
-    \setbox\z@\hbox{\let\FR@ifROWFILL\@secondoftwo\FR@loc@#2}%
-    \FBo@wd\wd\z@\let\FBwidth\FBo@wd
-    \setlength\FBo@wd{#1}%
-    \advance\FBo@wd\leftskip\advance\FBo@wd\rightskip
-    \adj@dim\FBo@wd+\FBo@wadj=\FB@wd
-    \setbox\flrow@foot\box\voidb@x
-    \setbox\@mpfootins\box\voidb@x
-  \else
-    \setlength\FB@wd{#1}%
-    \adj@dim\FB@wd-\FB@wadj=\FB@wd
-    \adj@dim\FB@wd-\FBo@wadj=\FBo@wd
-    \let\FBwidth\FBo@wd
-  \fi}
-\newcommand\FBget@@ht[2]{\@tempswafalse
-  \begingroup
-    \@tempdimb-3000pt\let\FBheight\@tempdimb
-    \setlength\dimen@{#1}\ifdim\dimen@<\z@
-      \global\@tempswatrue\fi
-  \endgroup
-  \if@tempswa
-    \setbox\z@\hbox{\let\FR@ifROWFILL\@secondoftwo\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}\relax
-  \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\relax{\@@FBskip\hrule\@height\z@\@depth\z@}%
-      \vtop{\@@FBbelow}}%
-    \global\advance\FBo@ht-\ht\z@\global\advance\FBo@ht-\dp\z@
-    \FBifcapbeside\relax\FBget@@@ht
-  \fi
-  \FBiffloatrow{\ifOADJ
-    \ifdim\FBo@ht>\FBo@max\global\FBo@max\FBo@ht\fi
-  \fi}\relax
-  \def\FBoheight{\FBo@ht}}
-\newcommand\FBget@@@ht{%
-    \ifdim\FBc@ht>\FBc@max
-      \global\advance\FBo@ht-\FBc@ht
-    \else
-      \global\advance\FBo@ht-\FBc@max
-    \fi
-    \FBifcaptop{\ifnum\FPOScnt=\@ne\else
-      \ifdim\FBf@ht>\FBf@max
-        \global\advance\FBo@ht-\FBf@ht
-      \else
-        \global\advance\FBo@ht-\FBf@max
-      \fi
-    \fi}\relax
-  }
-\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}}}
-\newcounter{FBl@b}
-\@ifdefinable\FR@ifFCBOX{\let\FR@ifFCBOX\@secondoftwo}
-\newcommand\FBs@raise{\raisebox{-\totalheight}}
-\newcommand\FBf@raise{}
-\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}
-\@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}
-\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][]}}%]
-\@ifdefinable\@@@floatbox{}
-\long\def\@@@floatbox[#1][#2][#3]#4#5{\advance\floatbox@depth\@ne
-  \@FB@vpos{#3}%
-  \if@@FS\else\FR@redefs
-    \ifcase\floatbox@depth\or
-      \flrow@setlist{{\@captype}}\or
-      \flrow@settype{subfloat}\flrow@settype{subtype}\flrow@settype{sub\@captype}%
-    \fi
-    \FRifFBOX\@@setframe\relax\@@FStrue
-  \fi
-  \FB@tmpset
-  \FBifcapbeside\flrow@FClist\relax
-  \@parboxrestore\leftmargin\z@\rightmargin\z@
-  \floatobjectset\floatfont
-  \FBget@box{#1}{#2}{#4#5}%
-  \FBifcapbeside\FCset@vpos\relax
-  \FBiffloatrow{\FR@floatbox{\@ifundefined{capstart}{}{\capstart}#4#5}}%
-   {\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}{\flrow@FB\FBB@wd}%
-    \global\FBbuildfalse
-    \FR@iffacing{\FB@writeaux{\string\global\string\c@FBcnt\thepage}}\relax
-   }\advance\floatbox@depth\m@ne
-  \endgroup\ignorespaces}
-\newcommand\FR@floatbox[1]{\@tempswafalse
-    \ifOADJ\@tempswatrue\fi\ifCADJ\@tempswatrue\fi
-    \if@tempswa\@ifundefined{FB@@boxmax}{}{\FB@@boxmax}\fi
-    \FBsetbox@obj{#1}\begin@FBBOX
-      \FBifcapbeside\flrow@FC@\flrow@FB@
-    \end@FBBOX
-    \addtocounter{FRobj}\m@ne
-    \@tempswafalse\FR@iffacing\@tempswatrue\relax
-    \ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
-    \advance\Xhsize-\FB@wd
-    \FBifcapbeside
-      {\advance\Xhsize-\FBc@wd
-       \FR@ifcountH{\global\advance\Zhsize-\FBc@wd}\relax
-       \settowidth\@tempdimb{\floatcapbesidesep}%
-       \advance\Xhsize-\@tempdimb
-       \FR@ifcountH{\global\advance\Zhsize-\@tempdimb}\relax}\relax
-    \ifnum\c@FRobj=\z@
-      \if@tempswa
-        \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
-      \floatrowsep
-      \adj@dim\Xhsize-\FB@wadj={\global\Xhsize}%
-      \adj@dim\Zhsize-\FB@wadj={\global\Zhsize}%
-    \fi}
-\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}%
-     {\FB@vbox\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
-      \columnwidth\FBc@wd}%
-  #1\FBbfil\egroup\color@endbox
-  \let\@currbox\float@box}
-\@ifdefinable\FBiffloatrow{\let\FBiffloatrow\@secondoftwo}
-\newcounter{FRobj}
-\newcounter{FRsobj}
-\newlength\Xhsize
-\newlength\sXhsize
-\newlength\Zhsize
-\newlength\sZhsize
-\newcommand\flrow@to{to\hsize}
-\newcommand\flrow@boxset[1]{#1}
-\newcommand\flrow@setrowhbox{%
-\FR@ifROWFILL{\def\flrow@left{\hskip\leftskip}\def\flrow@right{\hskip\rightskip}%
-  }{\let\flrow@to\empty\def\flrow@left{}\def\flrow@right{}}%
-}
-\newcommand\flrow@left{}\newcommand\flrow@right{}
-\newcommand\flrow@hbox@bgroup{\hbox\flrow@to
-    \bgroup\flrow@left}
-\newcommand\flrow@hbox@egroup{\flrow@right
-    \egroup}
-\newbox\flrow@rowbox
-\newcommand\floatrow[1][2]{\c@FRobj=#1\relax
-  \ifcase\floatbox@depth
-    \flrow@setlist*{{floatrow}{\@captype row}}%
-  \or
-    \flrow@settype{subfloat}\flrow@settype{subtype}\flrow@settype{sub\@captype}%
-    \flrow@settype{subfloatrow}\flrow@settype{sub\@captype row}%
-    \ifx\flrow@to\empty\def\flrow@boxset##1{}\fi
-  \fi%
-  \FB@facing\@tempswafalse\FR@iffacing\@tempswatrue\relax
-  \ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
-  \if@tempswa\FB@readaux{\relax}\fi
-  \flrow@boxset{\ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\else\hsize\FBB@wd\fi}%
-  \ifnum\floatbox@depth=\z@\vspace\FBaskip\else\leavevmode\fi
-  \hbox\flrow@to\bgroup%outer h box
-  \FRleftmargin
-  \flrow@boxset{\hsize\FBB@wd
-     \settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}\advance\hsize-\@tempdima}%
-  \bgroup\ifx\FR@frame\empty\else\def\FB@frame{}\def\FB@wadj{}\def\FB@hadj{}\fi%frame set
-  \flrow@boxset{\adj@dim\hsize-\FR@wadj=\hsize}%
-  \setbox\flrow@rowbox\vbox\bgroup%v box
-        \@@FRabove
-    \flrow@setrowhbox
-    \flrow@hbox@bgroup\let\FBiffloatrow\@firstoftwo
-      \Xhsize\hsize\count@#1\advance\count@\m@ne
-      \settowidth\@tempdima{\floatrowsep}\advance\Xhsize-\count@\@tempdima
-      \@tempdimb\Xhsize
-      \FR@iftwolevel
-        {\ifnum\floatbox@depth=\z@\Zhsize\Xhsize\else
-            \ifdim\Zhsize=\z@\Zhsize\Xhsize\sZhsize\Xhsize\fi
-            \FR@ifcountH{\global\advance\Zhsize-\count@\@tempdima}\relax
-         \fi}{\@tempdimb\Xhsize\Zhsize\Xhsize}%
-      \divide\@tempdimb#1\relax\FB@wd\@tempdimb
-      \hsize\@tempdimb\ignorespaces}
-\def\endfloatrow{\ifdim\lastskip>\z@\unskip\fi
-      \flrow@hbox@egroup%h box
-    \@@FRbelow
-    \egroup%v box
-    \FR@frame{\box\flrow@rowbox}%
-    \egroup%frame set
-    \FRrightmargin\egroup%outer h box
-    \ifnum\floatbox@depth=\z@\vspace\FBbskip\fi
-  \gdef\FBaskip{\z@}\gdef\FBbskip{\z@}%
-  \global\FBf@max\z@\global\FBo@max\z@\global\FBc@max\z@
-  \gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}}
-\newenvironment{subfloatrow}{\capsubrowsettings
-    \captionsetup{subtype}\@nameuse{subfloatrow*}}{\@nameuse{endsubfloatrow*}}
-\newcommand\capsubrowsettings{\caption@setoptions{subfloatrow}\caption@setoptions{sub\@captype row}}
-\newenvironment{subfloatrow*}[1][2]{\let\flrow@to\empty
-    \let\Xhsize\sXhsize%\let\Zhsize\sZhsize
-    \FR@ifunloc{\let\FR@ifcountH\@firstoftwo}\let\c@FRobj\c@FRsobj
-    \def\FRleftmargin{}\def\FRrightmargin{}\let\floatrowsep\subfloatrowsep
-    \floatrow[#1]\killfloatstyle}{\ifdim\lastskip>\z@\unskip\fi
-     \@ifundefined{adjustsubfloats}\relax\adjustsubfloats\endfloatrow}
-\newcommand\subfloatrowsep{\hskip\columnsep}
-\@ifdefinable\FR@ifcountH{\let\FR@ifcountH\@firstoftwo}
-\@ifdefinable\FR@ifunloc{\let\FR@ifunloc\@firstofone}
-\@ifdefinable\FR@iftwolevel{\let\FR@iftwolevel\@secondoftwo}
-\newcommand\CommonHeightRow{\@ifstar
-    {\let\FR@iftwolevel\@firstoftwo\CommonHeightRow@
-   }{\let\FR@iftwolevel\@secondoftwo\CommonHeightRow@}}
-\newcommand\DefaultCommonHeight{25pt}
-\newcommand\CommonHeight{\DefaultCommonHeight}
-\newcommand\CommonHeightRow@[2][\DefaultCommonHeight]{\def\CommonHeight{#1}\setbox\z@
-    \hbox{\FR@loc@\let\FR@ifunloc\@firstofone#2}%
-    \ifcase\floatbox@depth\def\@tempa{\Xhsize}\def\@tempb{\Zhsize}\or
-        \def\@tempa{\sXhsize}\def\@tempb{\Zhsize}\fi
-    \FR@calc@CommonHeight#2}
-\@ifdefinable\FR@Zunitlength{\newdimen\FR@Zunitlength}
-\newcommand\FR@calc@CommonHeight{%
-    \@tempdima\@tempb\advance\@tempdima-\@tempa
-    \count@\@tempdima\relax\divide\count@16384\relax
-    \divide\@tempb\count@\relax\FR@Zunitlength\@tempb\relax
-    \@tempdima\CommonHeight\relax
-    \count@\@tempdima\relax\divide\count@16384\relax
-    \@tempdima\count@\FR@Zunitlength\relax
-    \edef\CommonHeight{\the\@tempdima}}
-\newcommand\begin@FBBOX{\vbox\bgroup}
-\def\end@FBBOX{\egroup}
-\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse
-  \buildFBBOX{\hbox\bgroup$\vcenter\bgroup\vskip\z@}%
-             {\vskip\z@\egroup$\egroup}}
-\newcommand\TopFloatBoxes{\CADJfalse\OADJfalse
-  \buildFBBOX{\vtop\bgroup\vskip\z@}{\egroup}}
-\newcommand\BottomFloatBoxes{\CADJfalse\OADJfalse
-  \buildFBBOX{\vbox\bgroup}{\vskip\z@\egroup}}
-\newcommand\PlainFloatBoxes{%
-  \gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}}
-\newcommand\buildFBBOX[2]{\gdef\begin@FBBOX{#1}\gdef\end@FBBOX{#2}}
-\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}}
-\def\newlengthtocommand{\newskiptocommand}
-\def\renewlengthtocommand{\renewskiptocommand}
-\newcommand*\flrow@setbool[1]{%
-  \expandafter\caption@set@bool\csname FR@if#1\endcsname}
-\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}}}
-\newcommand\thisfloatsetup{\floatsetup[tmpset]}
-\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}}}%
-\newcommand\flrow@setlist{\@ifstar\flrow@setlist@@\flrow@setlist@}
-\newcommand\flrow@setlist@[1]{\@flrow@setlist#1{tmpset};%
-  \FR@ifCST{\flrow@capsetup}\relax\@cap@setlist#1;%
-  \caption@setposition{\FBifcaptop tb}}
-\newcommand\flrow@setlist@@[1]{\@flrow@setlist#1;%
-  \FR@ifCST{\flrow@capsetup}\relax\@cap@setlist#1;%
-  \caption@setposition{\FBifcaptop tb}}
-\newcommand\@flrow@setlist[1]{\flrow@settype{#1}\@ifnextchar;\@gobble
-  \@flrow@setlist}
-\@ifundefined{caption@setoptions}{\let\caption@setoptions\caption@settype}{}
-\newcommand\@cap@setlist[1]{\caption@setoptions{#1}%
-   \@ifnextchar;{\let\caption@setfloattype\@gobble\@gobble}\@cap@setlist}
-\newcommand\flrow@FClist{\flrow@setlist
-  {{floatbeside}{capbesidefloat}{\@captype beside}{capbeside\@captype}}}
-\newcommand*\clearfloatsetup[1]{\@nameundef{flrow@typ@#1}}
-\newcommand\DeclareFROpt{%
-  \@ifstar{\flrow@declopt\AtEndOfPackage}
-          {\flrow@declopt\@gobble}}
-\newcommand*\flrow@declopt[2]{%
-  #1{\undefine@key{floatrow}{#2}}\define@key{floatrow}{#2}}
-\@onlypreamble\DeclareFROpt
-\@onlypreamble\flrow@declopt
-\@ifdefinable\FR@ifrawfloats{\let\FR@ifrawfloats\@secondoftwo}
-\DeclareFROpt*{rawfloats}[0]{\flrow@setbool{rawfloats}{#1}}
-\@ifdefinable\FR@ifdoubleaswide{\let\FR@ifdoubleaswide\@secondoftwo}
-\DeclareFROpt{doublefloataswide}[0]{\flrow@setbool{doubleaswide}{#1}}
-\@ifdefinable\FR@iffloatHaslist{\let\FR@iffloatHaslist\@secondoftwo}
-\DeclareFROpt{floatHaslist}[0]{\flrow@setbool{floatHaslist}{#1}}
-\newcommand*\DeclareFloatStyle[2]{%
-  \global\@namedef{flrow@sty@#1}{#2}}
-\@onlypreamble\DeclareFloatStyle
-\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}}}
-\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}
-\DeclareFloatStyle{default}{%
-     style=plain,captionskip=10pt,
-     margins=centering,objectset=centering,
-     capbesideposition=left,facing=no,
-     floatrowsep=columnsep,capbesidesep=columnsep,
-     font=default,footfont=footnotesize}
-\DeclareFROpt{style}{\flrow@setstyle{#1}}
-\@ifdefinable\FR@ifCST{\let\FR@ifCST\@firstoftwo}
-\DeclareFROpt{relatedcapstyle}[0]{\flrow@setbool{CST}{#1}}
-\DeclareFROpt{font}{\flrow@setfont{font}{#1}}
-\DeclareFROpt{footfont}{\captionsetup[floatfoot]{font={#1}}}
-\DeclareCaptionOption{footfont}{\caption@setfont{footfont}{#1}}
-\@ifdefinable\floatfont{\let\floatfont\empty}
-\newcommand*\captionfootfont{\normalfont\footnotesize}
-\let\DeclareFloatFont\DeclareCaptionFont
-\@onlypreamble\DeclareFloatFont
-\newcommand*\flrow@setfont[2]{%
-   \caption@setfont{@tempa}{#2}%
-   \expandafter\let\csname float#1\endcsname\caption@tempa}
-\DeclareFROpt{capposition}{\flrow@cappos{#1}}
-\DeclareFROpt{position}{\flrow@cappos{#1}}
-\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'}%
-  }}}}}
-\@ifdefinable\FBifcaptop{\let\FBifcaptop\@secondoftwo}
-\newcommand\captop{\let\FBifcaptop\@firstoftwo}
-\newcommand\capbot{\let\FBifcaptop\@secondoftwo}
-\@ifdefinable\FBifCAPTOP{\let\FBifCAPTOP\@secondoftwo}
-\newcommand\CAPTOP{\captop\let\FBifCAPTOP\@firstoftwo\CADJtrue}
-\@ifdefinable\FBifcapbeside{}\let\FBifcapbeside\@secondoftwo
-\newcommand\capbeside{\let\FBifcapbeside\@firstoftwo}
-\newcommand\nocapbeside{\let\FBifcapbeside\@secondoftwo}
-\DeclareFROpt{capbesideframe}[0]{\flrow@setbool{FCBOX}{#1}}
-\DeclareFROpt{capbesidewidth}[1]{\flrow@FCc@wd{#1}}
-\@ifdefinable\FC@ifc@wd{\let\FC@ifc@wd\@secondoftwo}
-\newcommand\useFCwidth{\let\FC@ifc@wd\@firstoftwo\let\FCwidth\relax}
-\@ifdefinable\FCwidth{\let\FCwidth\relax}
-\newcommand\flrow@FCc@wd[1]{%
-  \caption@ifinlist{#1}{none,sidefil}{\let\FC@ifc@wd\@secondoftwo
-  }{\useFCwidth\def\FCwidth{#1}}}
-\DeclareFROpt{capbesideposition}{\flrow@scpos{#1}}
-\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
-\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@}}
-\newcommand*\@FC@vpos{\count@\tw@}
-\newcommand*\@FC@hpos{\let\FR@iffacing\@secondoftwo\count@\@ne}
-\newcounter{FBcnt}
-\DeclareFROpt{footposition}{\flrow@ftpos{#1}}
-\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
-\@ifdefinable\FPOScnt{\newcount\FPOScnt}
-\DeclareFtPos{caption}{\FPOScnt1\relax}
-\DeclareFtPos{bottom}{\FPOScnt2\relax}
-\DeclareFtPos{default}{\FPOScnt0\relax}
-\DeclareFROpt{heightadjust}{\flrow@htadj{#1}}
-\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
-\DeclareHtAdj{all}{\CADJtrue\OADJtrue}
-\DeclareHtAdj{caption}{\CADJtrue}
-\DeclareHtAdj{object}{\OADJtrue}
-\DeclareHtAdj{none}{\CADJfalse\OADJfalse}
-\DeclareHtAdj{nocaption}{\CADJfalse}
-\DeclareHtAdj{noobject}{\OADJfalse}
-\newif\ifCADJ
-\newif\ifOADJ
-\DeclareFROpt{valign}{\@FB@vpos{#1}}
-\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}
-\@ifdefinable\FR@iffacing{\let\FR@iffacing\@secondoftwo}
-\DeclareFROpt{facing}[1]{\flrow@setbool{facing}{#1}}
-\newcommand\FB@facing{}
-\DeclareFROpt{margins}{\flrow@FBAlign{#1}}
-\newcommand*\flrow@FBAlign[1]{%
-  \@ifundefined{flrow@mj@#1}%
-    {\flrow@error{Undefined float alignment `#1'}}%
-    {\@nameuse{flrow@mj@#1}}}
-\newcommand*\DeclareMarginSet[2]{%
-  \global\@namedef{flrow@mj@#1}{#2}}
-\@onlypreamble\DeclareMarginSet
-\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@}
-\newskip\LTleft\newskip\LTright
-\DeclareMarginSet{hangleft}{\setfloatmargins
-    {\hskip-\marginparwidth\hskip-\marginparsep\hskip\leftskip}{\hskip\rightskip}%
-  \LTleft-\marginparwidth\advance\LTleft-\marginparsep
-  \LTright=\fill}
-\DeclareMarginSet{hangright}{\setfloatmargins
-    {\hskip\leftskip}{\hskip-\marginparwidth\hskip-\marginparsep\hskip\rightskip}%
-  \LTleft=\fill
-  \LTright-\marginparwidth\advance\LTright-\marginparsep}
-\DeclareMarginSet{hanginside}{\setfloatmargins
-    *{\hskip-\marginparwidth\hskip-\marginparsep\hskip\leftskip}{\hskip\rightskip}%
-  }
-\DeclareMarginSet{hangoutside}{\setfloatmargins
-    *{\hskip\leftskip}{\hskip-\marginparwidth\hskip-\marginparsep\hskip\rightskip}%
-  }
-\newcommand\flrow@mj@default{\flrow@mj@centering}
-\newcommand\floatfacing{\@ifstar
-  {\@FC@hpos\floatfacing@}{\FB@facing\floatfacing@}}
-\newcommand\floatfacing@[2]{\ifodd\count@#1\else#2\fi}
-\newcommand\floatboxmargins{\def\FR@tmp{FB}\FB@mset}
-\newcommand\floatrowmargins{\def\FR@tmp{FR}\FB@mset}
-\newcommand\floatcapbesidemargins{\def\FR@tmp{FC}\FB@mset}
-\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}}
-\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}}
-\setfloatmargins\hfill\hfill
-\DeclareFROpt{objectset}{\flrow@FBoAlign{#1}}
-\DeclareFROpt{justification}{\flrow@FBoAlign{#1}}
-\let\DeclareObjectSet\DeclareCaptionJustification
-\@onlypreamble\DeclareObjectSet
-\newcommand*\flrow@FBoAlign[1]{%
-  \@ifundefined{caption@hj@#1}%
-    {\flrow@error{Undefined object setting `#1'}}%
-    {\expandafter\let\expandafter\floatobjectset
-     \csname caption@hj@#1\endcsname}}
-\newcommand*\floatobjectset{\centering}
-\DeclareFROpt{floatwidth}{\flrow@FBo@wd{#1}}
-\@ifdefinable\FC@ifo@fil{\let\FC@ifo@fil\@secondoftwo}
-\newcommand\filFCOhsize{\let\FC@ifo@fil\@firstoftwo}
-\newcommand\nofilFCOhsize{\let\FC@ifo@fil\@secondoftwo}
-\newcommand\flrow@setwd{\relax}
-\newcommand\flrow@FBo@wd[1]{%
-  \caption@ifinlist{#1}{none,sidefil}{\filFCOhsize
-  }{\nofilFCOhsize\def\flrow@setwd{\@tempdima=#1}}}
-\DeclareFROpt{floatrowsep}{\flrow@setFRsep\floatrowsep{#1}}
-\DeclareFROpt{subfloatrowsep}{\flrow@setFRsep\subfloatrowsep{#1}}
-\DeclareFROpt{capbesidesep}{\flrow@setFRsep\floatcapbesidesep{#1}}
-\let\DeclareFloatSeparators\DeclareCaptionLabelSeparator
-\@onlypreamble\DeclareFloatSeparators
-\newcommand*\flrow@setFRsep[2]{%
-  \@ifundefined{caption@lsep@#2}%
-    {\flrow@error{Undefined float separator `#2'}}%
-    {\expandafter\let\expandafter#1\csname caption@lsep@#2\endcsname}}
-\DeclareFloatSeparators{columnsep}{\hskip\columnsep}
-\DeclareFloatSeparators{qquad}{\qquad}
-\DeclareFloatSeparators{fil}{\hskip\columnsep plus1fil}
-\DeclareFloatSeparators{fill}{\hskip\columnsep plus1fill}
-\newcommand\floatrowsep{\hskip\columnsep}
-\newcommand\floatcapbesidesep{\hskip\columnsep}
-\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}}
-\newcommand\DeclareFloatVCode[2]{\@namedef{flrow@FBr@#1}{#2}}
-\@onlypreamble\DeclareFloatVCode
-\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}}
-\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}}
-\newcommand*\flrow@FBskip[1]{%
-  \@ifundefined{flrow@FBr@#1}%
-    {\flrow@error{Undefined rule `#1'}}%
-    {\expandafter\let\expandafter\@@FBskip\csname flrow@FBr@#1\endcsname}}
-\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}
-\newcommand\FBstyle@reset{\let\FRifFBOX\@secondoftwo\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\FR@frame{}%
-  \def\FBo@wadj{}\def\FBo@hadj{}\def\FB@wadj{}\def\FB@hadj{}\def\FR@wadj{}\def\FR@hadj{}}
-\newcommand\@@FBskip{\vskip\captionskip}
-\@ifdefinable\@@FRabove{\def\@@FRabove{}}
-\@ifdefinable\@@FRbelow{\def\@@FRbelow{}}
-\@ifdefinable\@@FBabove{\def\@@FBabove{}}
-\@ifdefinable\@@FBbelow{\def\@@FBbelow{}}
-\@ifdefinable\FB@frame {\def\FB@frame {}}
-\@ifdefinable\FBo@frame{\def\FBo@frame{}}
-\@ifdefinable\FR@frame {\def\FR@frame {}}
-\@ifdefinable\FBo@wadj {\def\FBo@wadj {}}
-\@ifdefinable\FBo@hadj {\def\FBo@hadj {}}
-\@ifdefinable\FB@wadj  {\def\FB@wadj  {}}
-\@ifdefinable\FB@hadj  {\def\FB@hadj  {}}
-\@ifdefinable\FR@wadj  {\def\FR@wadj  {}}
-\@ifdefinable\FR@hadj  {\def\FR@hadj  {}}
-\@ifdefinable\FB@Bset  {\def\FB@Bset  {}}
-\DeclareFROpt{framestyle}{\@ifundefined{FB@#1@frame}%
-  {\let\FRifFBOX\@secondoftwo}{\let\FRifFBOX\@firstoftwo\def\FB@B@{#1}}}
-\DeclareFROpt{framearound}{\flrow@fr@round{#1}}
-\newcommand*\flrow@fr@round[1]{%
- \caption@ifinlist{#1}{object,contents}{\let\FRifFBOX\@firstoftwo
-    \def\FB@BO@{FBo}%
-  }{\caption@ifinlist{#1}{floatbox,all}{\let\FRifFBOX\@firstoftwo
-    \def\FB@BO@{FB}%
-  }{\caption@ifinlist{#1}{row}{\let\FRifFBOX\@firstoftwo
-    \def\FB@BO@{FR}%
-  }{\caption@ifinlist{#1}{none}{\let\FRifFBOX\@secondoftwo
-  }{\flrow@error{Undefined framed object `#1'}%
-  }}}}}
-\@ifdefinable\FR@ifFIT{\let\FR@ifFIT\@secondoftwo}
-\@ifdefinable\FR@ifROWFILL{\let\FR@ifROWFILL\@secondoftwo}
-\DeclareFROpt{framefit}[0]{\flrow@setbool{FIT}{#1}}
-\@ifdefinable\flrow@@setROWFILL{}
-\@ifdefinable\flrow@leftfill{}\@ifdefinable\flrow@rightfill{}
-\DeclareFROpt{rowfill}[0]{\flrow@setbool{ROWFILL}{#1}}
-\DeclareFROpt{frameset}{\def\FB@Bset{#1}}
-\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}}%
-  \ifx\FR@frame\empty\else%\ifx\FB@frame\empty
-     \def\FB@hadj{\@nameuse{FB@\FB@B@ @reset}\FB@Bset
-       \@nameuse{FB@\FB@B@ @adj}}%
-     \def\FB@wadj{\FR@ifFIT{\@nameuse{FB@\FB@B@ @reset}\FB@Bset
-       \@nameuse{FB@\FB@B@ @adj}}\relax}%
-     \def\FB@frame{\@nameuse{FB@\FB@B@ @reset}\FB@Bset
-       \@nameuse{FB@\FB@B@ @frame}}%
-  \fi%\fi
-  }
-\@ifdefinable\FRifFBOX{\let\FRifFBOX\@secondoftwo}
-\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@}
-\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}
-\newcommand\FB@fcolorcorners{}
-\@ifdefinable\FR@phantom{}\@ifdefinable\FRset@color{}
-\newcommand\FB@FRcolorbox@frame[1]{\hbox{\let\color@block\FRcolor@block
-  \let\FR@phantom\@firstofone\let\FRset@color\set@color\FB@fcolorcorners
-  \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}\FB@fcolorbox{#1}%
-  \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}}\ignorespaces}
-\@ifdefinable\FB@FRcolorbox@adj{\let\FB@FRcolorbox@adj\FB@fbox@adj}
-\newcommand\FB@FRcolorbox@reset{\fboxsep3\p@\fboxrule.4\p@}
-\newcommand\FB@corners@frame[1]{\hbox{\let\color@block\FRcolor@block
-  \let\FR@phantom\phantom\let\FRset@color\relax\FB@fcolorcorners
-  \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}\colorbox{white}{#1}%
-  \FR@ifFIT\relax{\kern-\fboxrule\kern-\fboxsep}}\ignorespaces}
-\@ifdefinable\FB@corners@adj{\let\FB@corners@adj\FB@fbox@adj}
-\newcommand\FB@corners@reset{\fboxsep3\p@\fboxrule\z@}
-\newcommand\flrow@l@color@side[2]{{\let\unitlength\relax
-    \picture(\z@,\z@)(\z@,\z@)
-    \put(\z@,#1){{\flrow@ll@col@put}}
-    \put(\z@,#2){{\flrow@ul@col@put}}
-    \endpicture}}
-\newcommand\flrow@r@color@side[2]{{\let\unitlength\relax
-    \picture(\z@,\z@)(\z@,\z@)
-    \put(\z@,#1){{\flrow@lr@col@put}}
-    \put(\z@,#2){{\flrow@ur@col@put}}
-    \endpicture}}
-\newcommand\flrow@ll@col@put{}
-\newcommand\flrow@ul@col@put{}
-\newcommand\flrow@lr@col@put{}
-\newcommand\flrow@ur@col@put{}
-\newcommand\flrow@cboxcorners[4]{%
-    \def\flrow@ll@col@put{#1}%
-    \def\flrow@lr@col@put{#2}%
-    \def\flrow@ur@col@put{#3}%
-    \def\flrow@ul@col@put{#4}%
-    }
-\newcommand\FRcolorboxwd{\z@}
-\newcommand\FRcolorboxht{\z@}
-\newcommand\FRcolorboxdp{\z@}
-\def\FRcolor@block#1#2#3{%
-  {\FRset@color
-   \rlap{\@tempdima#1\edef\FRcolorboxwd{\the\@tempdima}\@tempdima#2\advance\@tempdima#3%
-   \edef\FRcolorboxht{\the\@tempdima}\@tempdima#3\edef\FRcolorboxdp{\the\@tempdima}%
-   \ifcolors@\else\let\FR@phantom\phantom\fi
-     \flrow@l@color@side{-\FRcolorboxdp}{\FRcolorboxht}%
-     \FR@phantom{\vrule\@width#1\@height#2\@depth#3}%
-     \flrow@r@color@side{-\FRcolorboxdp}{\FRcolorboxht}%
-    }}}
-\DeclareFROpt{colorframeset}{\flrow@fcolorbox{#1}}
-\DeclareFROpt{colorframecorners}{\flrow@fcolorcorners{#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*\flrow@fcolorcorners[1]{%
-  \@ifundefined{flrow@fcolorcorners@#1}%
-    {\flrow@error{Undefined color box corners `#1'}}%
-    {\expandafter\let\expandafter\FB@fcolorcorners
-     \csname flrow@fcolorcorners@#1\endcsname}}
-\newcommand*\DeclareColorBox[2]{%
-  \@ifundefined{color}{}{\let\flrow@load@colorpackage\relax
-   \long\@namedef{flrow@fcolorbox@#1}{#2}}}
-\newcommand*\DeclareCBoxCorners[5]{%
-  \@ifundefined{color}{}{\let\flrow@load@colorpackage\relax
-   \long\@namedef{flrow@fcolorcorners@#1}{\flrow@cboxcorners{#2}{#3}{#4}{#5}}}}
-\@onlypreamble\DeclareColorBox
-\@onlypreamble\DeclareCBoxCorners
-\newcommand\flrow@load@colorpackage{\IfFileExists{color.sty}%
-    {\def\next{\RequirePackage{color}}}{\let\next\relax}\next}
-\AtBeginDocument{\flrow@load@colorpackage\let\flrow@load@colorpackage\relax}
-\DeclareFROpt{captionskip}{\def\captionskip{#1}%
-  \setlength\abovecaptionskip{#1}}
-\DeclareFROpt{footskip}{\def\floatfootskip{#1}}
-\newcommand\captionskip{10\p@}
-\newcommand\floatfootskip{\skip\@mpfootins}
-\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
-\DeclareFloatFootnoterule{normal}{\kern-3\p@
-  \@tempdima.4\columnwidth
-  \hrule\@width\@tempdima\kern2.6\p@}
-\DeclareFloatFootnoterule{limited}{\kern-3\p@
-  \@tempdima.4\columnwidth
-  \ifdim\@tempdima>\frulemax\@tempdima=\frulemax\fi
-  \hrule\@width\@tempdima\kern2.6\p@}
-\newcommand\frulemax{1in}
-\DeclareFloatFootnoterule{fullsize}{\kern-3\p@
-  \hrule\@width\hsize\kern2.6\p@}
-\DeclareFloatFootnoterule{none}{}
-\@ifdefinable\FBfootnoterule{\let\FBfootnoterule\footnoterule}
-\@ifdefinable\FR@iffancy{\let\FR@iffancy\@secondoftwo}
-\DeclareFROpt{fancyboxes}{\flrow@setbool{fancy}{#1}}
-\newcommand\DeclareFNOpt{%
-   \@ifstar{\flrow@declfnopt\AtBeginDocument}
-           {\flrow@declfnopt\@gobble}}
-\newcommand*\flrow@declfnopt[2]{%
-   #1{\undefine@key{newfloat}{#2}}\define@key{newfloat}{#2}}
-\@onlypreamble\DeclareFNOpt
-\@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
-\DeclareFNOpt*{placement}{\flnew@fps{#1}}
-\newcommand\flnew@fps[1]{\@namedef{fps@\FB@captype}{#1}}
-\@onlypreamble\flnew@fps
-\DeclareFNOpt*{name}{\flnew@fname{#1}}
-\newcommand\flnew@fname[1]{\@namedef{\FB@captype name}{#1}}
-\@onlypreamble\flnew@fname
-\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
-\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
-\def\ProcessOptionsWithKV#1{%
-  \let\@tempc\relax
-  \let\FR@tmp\@empty
-  \@for\CurrentOption:=\@classoptionslist\do{%
-    \@ifundefined{KV@#1@\CurrentOption}%
-    {}%
-    {%
-      \@ifundefined{KV@#1@\CurrentOption @default}{%
-       \PackageInfo{#1}{Global option `\CurrentOption' ignored}%
-      }{%
-      \PackageInfo{#1}{Global option `\CurrentOption' processed}%
-      \edef\FR@tmp{\FR@tmp,\CurrentOption,}%
-      \@expandtwoargs\@removeelement\CurrentOption
-        \@unusedoptionlist\@unusedoptionlist
-        }%
-    }%
-  }%
-  \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
-\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={}}
-\AtBeginDocument{%
-\@ifundefined{sf@@@subfloat}{\@tempswafalse}{\@tempswatrue}
-\if@tempswa\RequirePackage{fr-subfig}\fi}
-\AtBeginDocument{%
-\@ifundefined{LT@array}{\@tempswafalse}{\@tempswatrue}
-\if@tempswa\RequirePackage{fr-longtable}\fi}
-\endinput
-%%
-%% End of file `floatrowpf.sty'.
diff --git a/howto/howto.tex b/howto/howto.tex
index 2e95375..90abb14 100644
--- a/howto/howto.tex
+++ b/howto/howto.tex
@@ -361,7 +361,7 @@ Other types of systems have well-known ways of locating files by filename.
 \section{Whose Book Is This?}
 \label{sec:howto:Whose Book Is This?}
 
-\begin{figure*}[tbp]\RawFloats
+\begin{figure*}[tbp]
 {
 \scriptsize
 \begin{verbbox}
@@ -379,7 +379,7 @@ Other types of systems have well-known ways of locating files by filename.
 \label{fig:howto:Creating a Up-To-Date PDF}
 \end{figure*}
 
-\begin{figure*}[tbp]\RawFloats
+\begin{figure*}[tbp]
 {
 \scriptsize
 \begin{verbbox}
diff --git a/perfbook.tex b/perfbook.tex
index 16d30dd..cda014c 100644
--- a/perfbook.tex
+++ b/perfbook.tex
@@ -80,10 +80,6 @@
 \renewcommand{\path}[1]{\nolinkurl{#1}} % workaround of interference with mathastext
 }{}
 
-\usepackage{floatrowpf} % Use customized floatrow
-\DeclareNewFloatType{listing}{placement=htbp,name=Listing,within=chapter,fileext=lst}
-\usepackage{booktabs} % For better looking tables
-
 \usepackage{bm} % for bold math mode fonts --- should be after math mode font choice
 
 \IfLmttForCode{
-- 
2.7.4


--
To unsubscribe from this list: send the line "unsubscribe perfbook" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux