summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/floatrow
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-09-08 15:58:47 +0000
committerKarl Berry <karl@freefriends.org>2007-09-08 15:58:47 +0000
commitba8058f661bc514c2d960695ddb21d5501abbf97 (patch)
tree3ed20232ad39107bf24cde0e6795db6da5ee7e38 /Master/texmf-dist/tex/latex/floatrow
parent3ed1ea28cc76e0634ad44d87ef6d963bf25f376e (diff)
float 0.2a (7sep07)
git-svn-id: svn://tug.org/texlive/trunk@4910 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/floatrow')
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/floatrow.sty392
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty8
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty134
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty253
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/listpen.sty3
5 files changed, 635 insertions, 155 deletions
diff --git a/Master/texmf-dist/tex/latex/floatrow/floatrow.sty b/Master/texmf-dist/tex/latex/floatrow/floatrow.sty
index 7db9e3f96a6..69be6d0725e 100644
--- a/Master/texmf-dist/tex/latex/floatrow/floatrow.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/floatrow.sty
@@ -4,7 +4,7 @@
%%
%% The original source files were:
%%
-%% floatrow.dtx (with options: `floatrow,frforsubfig,frforlongtbl,floatsetup')
+%% floatrow.dtx (with options: `floatrow,floatsetup')
%%
%% IMPORTANT NOTICE:
%%
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{floatrow}
- [2006/07/24 v0.1j floatrow: float package extension]
+ [2007/08/24 v0.2a floatrow: float package extension]
\@ifundefined{float@caption}{%
\@ifundefined{rotfloat@float}{}%
{\PackageError{floatrow}{Do not use rotfloat package with floatrow}{}%
@@ -34,7 +34,15 @@
\@namedef{ver@rotfloat.sty}{2004/01/04 v1.2 (excerpt)
Combining float+rotating package (AS)}
\RequirePackage{keyval}
-\RequirePackage{caption3}[2006/01/12]
+\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}
+\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\FB@caption{%
@@ -52,11 +60,16 @@
\@ifundefined{c@figure}%
{\setcounter{float@type}{1}}%
{\setcounter{float@type}{4}}
-\newcommand\flrow@error[1]{\PackageError{floatrow}{%
- Unknown float style `#1'}{\@eha}}
+\newcommand\flrow@package{floatrow}
+\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{#1}}{\edef\float@style{#1}}}
-\newcommand\floatname[2]{\@namedef{fname@#1}{#2}}
+ {\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{%
@@ -83,14 +96,70 @@
\abovecaptionskip\z@\belowcaptionskip\z@
\FR@makecaption{#1}{#2}\egroup}
\newcommand\killfloatstyle{\FBbuildtrue
- \if@@FS\hsize\FB@wd\fi\global\@@FSfalse}
-\newcommand\RawFloats[1][\@captype]{\killfloatstyle
- \@parboxrestore
- \let\@makecaption\FR@makecaption
- \@namedef{end#1}{\end@float}%
- \@namedef{end#1*}{\end@dblfloat}%
- \@namedef{endsideways#1}{\end@rotfloat}%
- \@namedef{endsideways#1*}{\end@rotdblfloat}%
+ \if@@FS\hsize\FB@wd\fi\@@FSfalse}
+\newcommand\RawFloats{\@ifnextchar[%]
+ \flrow@rawfloatschk\flrow@rawfloats}
+\newcommand\flrow@rawfloats{\killfloatstyle\@parboxrestore
+ \let\@makecaption\FR@makecaption
+ \expandafter\ifx\csname end\@captype\endcsname\float@endH
+ \@namedef{end\@captype}{\FBbuildfalse\float@endH}%
+ \else
+ \@namedef{end\@captype}{\end@float}%
+ \fi
+ \@namedef{end\@captype*}{\end@dblfloat}%
+ \@ifundefined{@rotfloat}{}{%
+ \@namedef{endsideways\@captype}{\end@rotfloat}%
+ \@namedef{endsideways\@captype*}{\end@rotdblfloat}%
+ }%
+ \@ifundefined{wrapfloat}{}{%
+ \@namedef{endwrap\@captype}{\endwrapfloat}%
+ }}
+\@ifdefinable\flrow@rawfloatschk{}
+\def\flrow@rawfloatschk[#1]{\@ifnextchar[%]
+ {\flrow@RawFloats[#1]}{\flrow@@RawFloats#1,;}}
+\@ifdefinable\flrow@RawFloats{}
+\def\flrow@RawFloats[#1][#2]{\flrow@RawFloats@[#1]#2,;}
+\def\flrow@RawFloats@[#1]#2,{%
+ \caption@ifinlist{#2}{float}{\@namedef{#1}{\@float{#1}}%
+ }{\caption@ifinlist{#2}{widefloat,wide}{\@namedef{#1*}{%
+ \let\@xdblfloat\@xfloat\@dblfloat{#1}}%
+ }{\caption@ifinlist{#2}{rotfloat,rot}{%
+ \@ifundefined{@rotfloat}{}{\@namedef{sideways#1}{\@rotfloat{#1}}}%
+ }{\caption@ifinlist{#2}{widerotfloat,widerot}{%
+ \@ifundefined{@rotfloat}{}{\@namedef{sideways#1*}{\@rotdblfloat{#1}}}%
+ }{\caption@ifinlist{#2}{wrapfloat,wrap}{%
+ \@ifundefined{wrapfloat}{}{\@namedef{wrap#1}{\wrapfloat{#1}}}}%
+ }{\caption@ifinlist{#2}{all,allfloats}{%
+ \flrow@@RawFloats{#1}%
+ }{\flrow@error{Undefined float subtype `#2'}%
+ }}}}}\@ifnextchar;\@gobble{\flrow@RawFloats@[#1]}}
+\@ifdefinable\flrow@@RawFloats{}
+\def\flrow@@RawFloats#1,{%
+ \@namedef{#1}{\@float{#1}}%
+ \@namedef{#1*}{\let\@xdblfloat\@xfloat\@dblfloat{#1}}%
+ \@ifundefined{@rotfloat}{}{%
+ \@namedef{sideways#1}{\@rotfloat{#1}}%
+ \@namedef{sideways#1*}{\@rotdblfloat{#1}}%
+ }%
+ \@ifundefined{wrapfloat}{}{%
+ \@namedef{wrap#1}{\wrapfloat{#1}}%
+ }\@ifnextchar;\@gobble\flrow@@RawFloats
+}
+\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\flrow@capsetup{}
\edef\float@style{plain}
@@ -110,7 +179,10 @@
\@namedef{#1*}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}{widefloat}{wide#1}}%
\FRifFBOX\@@setframe\fi\@@FStrue\edef\FBB@wd{\the\textwidth}%
- \let\@xdblfloat\@xfloat\@dblfloat{#1}}%
+ \let\@xdblfloat\@xfloat\relax
+ \FR@ifdoubleaswide
+ \if@twocolumn\else\let\@dblfloat\@float\fi\fi
+ \@dblfloat{#1}}%
\expandafter\let\csname end#1\endcsname\float@end
\expandafter\let\csname end#1*\endcsname\float@dblend
\@ifundefined{@rotfloat}{}{%
@@ -124,8 +196,8 @@
\@namedef{endsideways#1}{\FBbuildtrue\float@end}
\ifx\@rotdblfloat\undefined
\@namedef{sideways#1*}{%
- \PackageError{floatrow}{%
- You need rotating version 2.10 or newer to do this}{\@ehd}%
+ \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
@@ -146,24 +218,23 @@
\edef\FBB@wd{\the\dimen@}\FB@fs@wd\dimen@\FBo@wd
\fi
\flrow@WF@rapt[##1]{\dimen@}%
- \@ifundefined{capstart}{}{\capstart}%
\the\FR@everyfloat\ignorespaces}%
}{}%
\@namedef{wrap#1}{\killfloatstyle\def\@captype{#1}%
\FR@redefs\FBc@wd\z@
- \flrow@setlist{{#1}{wrapfloat}{wrap#1}{tmpset}}%
- \global\let\flrow@typ@tmpset\undefined
+ \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{subfloat}{}{\@ifundefined{c@sub#1}{\newsubfloat{#1}}{}}}
+ \@ifundefined{sf@@@subfloat}{}{\@ifundefined{c@sub#1}{\newsubfloat{#1}}{}}}
\@ifdefinable\float@exts{\newtoks\float@exts}
\newcommand\newfloat{\@ifstar{\flrow@restylefloat{no}\newfloat@}%
{\flrow@restylefloat{yes}\newfloat@}}
@@ -180,6 +251,9 @@
\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
+ \fi
\let\@currbox\float@box
\flrow@setlist{{floatH}{#1H}}%
\def\@captype{#1}\setbox\@floatcapt=\vbox{}%
@@ -187,14 +261,13 @@
\vbox\bgroup
\hsize\columnwidth
\linewidth\columnwidth
- \@parboxrestore
+ \@parboxrestore\leftmargin\z@\rightmargin\z@
\@floatboxreset \@setnobreak
\ignorespaces}
\newcommand\flrow@flboxreset{\FR@flboxreset
\@ifundefined{capstart}{}{\capstart}%
\FB@facing\@tempswafalse\FBiffacing\@tempswatrue\fi
\if@tempswa\FB@readaux{\relax}\fi
- \flrow@settype{tmpset}\global\let\flrow@typ@tmpset\undefined
\global\let\FBcheight\relax\global\let\FBoheight\relax
\global\let\FBfheight\relax
\FBifcapbeside\FC@fs@wd\else\FB@fs@wd\fi
@@ -223,8 +296,8 @@
\advance\@tempdima-\@tempdimb
\FC@ifc@wd
\ifx\FCwidth\relax
- \PackageError{You didn't define width of caption\MessageBreak
- for plain float environment.}{\flrow@eh}%
+ \flrow@error{You didn't define width of caption\MessageBreak
+ for plain float environment.}%
\else
\global\FBc@wd=\FCwidth
\FC@ifo@fil\advance\@tempdima-\FBc@wd\fi
@@ -243,13 +316,14 @@
\newcommand\FBaskip{\z@}\newcommand\FBbskip{\z@}
\newif\ifFBbuild\FBbuildtrue
\newcommand\flrow@FB[1]{\vbox{\@tempdima=#1\vskip\FBaskip
- \@parboxrestore\hbox to\@tempdima{\def\FB@zskip{\vskip\z@}%
+ \@parboxrestore\leftmargin\z@\rightmargin\z@
+ \hbox to\@tempdima{\def\FB@zskip{\vskip\z@}%
\FBleftmargin\flrow@FB@\FBrightmargin}%
\FBiffacing\FB@writeaux{\string\global\string\c@FBcnt\thepage}\fi
\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
- \flrow@FClist\vskip\FBaskip
+ \leftmargin\z@\rightmargin\z@\flrow@FClist\vskip\FBaskip
\hbox to\@tempdima{\FCleftmargin\flrow@FC@\FCrightmargin}%
\FBiffacing\FB@writeaux{\string\global\string\c@FBcnt\thepage}\fi
\nocapbeside\global\let\FCwidth\relax
@@ -266,13 +340,15 @@
\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@{\FB@frame{\begin@FBBOX
+\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\@@FBabove
+ \@parboxrestore\leftmargin\z@\rightmargin\z@
+ \@@FBabove
\FBifcaptop
\ifvoid\@floatcapt\else
\FB@vbox\FBc@wd\FBcheight{\FBifCAPTOP\else\vfill\fi
@@ -299,10 +375,12 @@
\ifnum\FPOScnt=2\FB@vtop\FBc@wd\FBfheight{\FB@foot\vfil}\fi
}\fi
\fi\@@FBbelow\FB@zskip\end@FBBOX}}
-\newcommand\flrow@FC@{\FB@frame{\begin@FBBOX
+\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\@@FBabove
+ \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}%
@@ -320,17 +398,24 @@
\global\setbox\@currbox\float@makebox\columnwidth
\let\@endfloatbox\relax\fi
\end@float}
+\newcommand\floatHpenalties{}
\newcommand\float@endH{\@endfloatbox\par
- \addpenalty\@beginparpenalty\vskip\intextsep
+ \FR@iffloatHaslist
+ \floatHpenalties\relax
+ \addpenalty\@beginparpenalty
+ \fi
+ \vskip\intextsep
\ifFBbuild\setbox\@currbox\float@makebox\columnwidth\fi
- \box\@currbox\par\addpenalty\@endparpenalty\vskip\intextsep\relax}
+ \box\@currbox\par
+ \FR@iffloatHaslist\addpenalty\@endparpenalty\@endpetrue\fi
+ \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{#1}}{%
+ \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{%
\@namedef{l@#1}{\@dottedtocline{1}{1.5em}{2.3em}}%
\float@listhead{#2}%
\begingroup\setlength{\parskip}{\z@}%
@@ -385,21 +470,24 @@
{\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@}}
+ {\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@settype{\@captype}%
- \caption@settype{floatfoot}%
- \captionsetup{labelformat=empty,labelsep=none}%
+ \caption@setoptions{\@captype}%
+ \caption@setoptions{floatfoot}%
\caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}%
- \color@endgroup}}%
+ \color@endgroup}
\newcommand\newfloatcommand[2]{%
\@ifundefined{#1}{}%
- {\PackageError{floatrow}{\string#1 already defined}{\@ehd}}%
+ {\flrow@error{\string#1 already defined}}%
\@ifnextchar[{\FB@nc{#1}{#2}}{\FB@nc{#1}{#2}[]}}
\newcommand\renewfloatcommand[2]{%
\@ifundefined{#1}{}%
@@ -410,7 +498,7 @@
\@ifnextchar[{\FB@@nc{#1}{#2}[#3]}{\FB@@nc{#1}{#2}[#3][]}}
\def\FB@@nc#1#2[#3][#4]{%
\@namedef{#1}{\begingroup
- #3\def\@captype{#2}%
+ \def\FB@tmpset{#3}\def\@captype{#2}%
\@ifnextchar[{\@floatbox}{\@floatbox[#4]}}}
\newfloatcommand{ffigbox}{figure}[\nocapbeside][]
\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]
@@ -431,12 +519,14 @@
\@ifundefined{c@#1}{\@nocounterr{#1}}%
{\advance\csname c@#1\endcsname1\relax}}
\newcommand\FR@loc@{\let\label\@gobble
- \let\refstepcounter\FR@loc@refcnt\let\refsteponlycounter\FR@loc@refcnt
+ \let\refstepcounter\FR@loc@refcnt
+ \let\stepcounter\FR@loc@refcnt
+ \let\refsteponlycounter\FR@loc@refcnt
\let\cl@@ckpt\empty\let\addtocounter\FR@loc@addcnt
\def\sf@updatecaptionlist##1##2##3##4{}}
\def\FBtmp@cap#1[#2]#3{\sbox\@tempboxa
{\caption@@@make{\caption@lfmt{\@nameuse{\@captype name}}%
- {\@nameuse{the\@captype}}}{#3}}%
+ {\@nameuse{the\@captype}}\relax}{#3}}%
\global\@tempdimb\wd\@tempboxa}
\newcommand\FBget@box[3]{%
\FBiffloatrow\else
@@ -631,31 +721,37 @@
\newcommand\adj@@dim[4]{\@tempdima#1\advance\@tempdima#2\dimen@
#4=\@tempdima}
\newcommand\floatbox[2][]{\begingroup
- #1\def\@captype{#2}%
+ \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{%
+\long\def\@@@floatbox[#1][#2][#3]#4#5{\advance\floatbox@depth\@ne
\@FB@vpos{#3}%
\if@@FS\else\FR@redefs
- \flrow@setlist{{\@captype}}\FRifFBOX\@@setframe\fi\@@FStrue
+ \ifcase\floatbox@depth\or
+ \flrow@setlist{{\@captype}}\or
+ \flrow@setlist{{subfloat}{subtype}{sub\@captype}}\fi
+ \FRifFBOX\@@setframe\fi\@@FStrue
\fi
+ \FB@tmpset
\FBifcapbeside\flrow@FClist\fi
- \flrow@settype{tmpset}\global\let\flrow@typ@tmpset\undefined
- \@parboxrestore\floatobjectset\floatfont
+ \@parboxrestore\leftmargin\z@\rightmargin\z@
+ \floatobjectset\floatfont
\FBget@box{#1}{#2}{#4#5}%
\FBifcapbeside\FCset@vpos\fi
\FBiffloatrow\FR@floatbox{\@ifundefined{capstart}{}{\capstart}#4#5}\else
\adj@dim\FB@wd+\FB@wadj=\hsize\linewidth\hsize
\ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\fi
- \FBsetbox@obj{\@ifundefined{capstart}{}{\capstart}#4#5}\FBbuildtrue
+ \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
- \fi
+ \fi\advance\floatbox@depth\m@ne
\endgroup\ignorespaces}
\newcommand\FR@floatbox[1]{\@tempswafalse
\ifOADJ\@tempswatrue\fi\ifCADJ\@tempswatrue\fi
@@ -700,7 +796,10 @@
\@tempswafalse\FBiffacing\@tempswatrue\fi
\ifCADJ\@tempswatrue\fi\ifOADJ\@tempswatrue\fi
\if@tempswa\FB@readaux{\relax}\fi
- \vbox\bgroup\vskip\FBaskip\hsize\FBB@wd\@@FRabove
+ \ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\fi
+ \vbox\bgroup\vskip\FBaskip\hsize\FBB@wd
+ \hb@xt@\hsize{\vbox{\settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
+ \settowidth\leftskip\FRleftmargin\@@FRabove}}\hss}\unskip
\hb@xt@\hsize\bgroup\let\FBiffloatrow\iftrue\FRleftmargin\begingroup
\Xhsize\hsize\count@#1\advance\count@-1%
\settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}%
@@ -710,11 +809,25 @@
\@tempdimb\Xhsize\divide\@tempdimb#1%
\FB@wd\@tempdimb\hsize\@tempdimb\ignorespaces}
\def\endfloatrow{\ifdim\lastskip>\z@\unskip\fi
- \endgroup\FRrightmargin\egroup%h box
- \global\let\FBiffloatrow\iffalse\@@FRbelow
- \vskip\FBbskip\gdef\FBaskip{\z@}\gdef\FBbskip{\z@}\egroup%v box
+ \endgroup\FRrightmargin\egroup%h box
+ \global\let\FBiffloatrow\iffalse
+ \hb@xt@\hsize{\vbox{\settowidth\@tempdima{{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
+ \settowidth\leftskip\FRleftmargin\@@FRbelow}}\hss}%
+ \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}}
+\newcommand\subfloatrow[1][2]{\c@FRobj=#1%local
+ \ifdim\parindent<\z@\leavevmode\else\noindent\fi\hbox\bgroup
+ \let\FBiffloatrow\iftrue
+ \Xhsize\hsize\count@#1\advance\count@-1%
+ \settowidth\@tempdima{\subfloatrowsep}\let\floatrowsep\subfloatrowsep
+ \advance\Xhsize-\count@\@tempdima
+ \@tempdimb\Xhsize\divide\@tempdimb#1%
+ \hsize\@tempdimb\ignorespaces\killfloatstyle}
+\def\endsubfloatrow{\ifdim\lastskip>\z@\unskip\fi
+ \egroup\@ifundefined{adjustsubfloats}{}\adjustsubfloats
+ }
+\newcommand\subfloatrowsep{\hskip\columnsep}
\newcommand\begin@FBBOX{\vbox\bgroup}
\def\end@FBBOX{\egroup}
\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse
@@ -727,35 +840,42 @@
\newcommand\PlainFloatBoxes{%
\gdef\begin@FBBOX{\vbox\bgroup}\gdef\end@FBBOX{\egroup}}
\newcommand\buildFBBOX[2]{\gdef\begin@FBBOX{#1}\gdef\end@FBBOX{#2}}
+\providecommand\newdimentocommand [3]{%
+ #1\@tempdima{#3}\@ifdefinable#2{\xdef#2{\the\@tempdima}}}
+\providecommand\renewdimentocommand[3]{%
+ #1\@tempdima{#3}\xdef#2{\the\@tempdima}}
+\providecommand\newskiptocommand [3]{%
+ #1\@tempskipa{#3}\@ifdefinable#2{\xdef#2{\the\@tempskipa}}}
+\providecommand\renewskiptocommand[3]{%
+ #1\@tempskipa{#3}\xdef#2{\the\@tempskipa}}
+\providecommand\newlengthtocommand{\newskiptocommand}
+\providecommand\renewlengthtocommand{\renewskiptocommand}
\newcommand\flrow@setbool[2]{%
\caption@ifinlist{#2}{1,true,yes,on}{\let#1\iftrue
}{\caption@ifinlist{#2}{0,false,no,off}{\let#1\iffalse
- }{\PackageError{floatrow}{Undefined boolean value `#2'}{\flrow@eh}%
+ }{\flrow@error{Undefined boolean value `#2'}%
}}}
\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{\setkeys{floatrow}}
+ \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[1]{\@flrow@setlist#1;%
+\newcommand\flrow@setlist[1]{\@flrow@setlist#1{tmpset};%
\FR@ifCST\flrow@capsetup\fi\@cap@setlist#1;%
\caption@setposition{\FBifcaptop t\else b\fi}}
\newcommand\@flrow@setlist[1]{\flrow@settype{#1}\@ifnextchar;\@gobble
\@flrow@setlist}
-\newcommand\@cap@setlist[1]{\caption@settype{#1}%
+\@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\flrow@eh{%
- If you do not understand this error, please take look\MessageBreak
- at `floatrow' and `caption' package documentations.\MessageBreak
- \@ehc}
\newcommand\DeclareFROpt{%
\@ifstar{\flrow@declopt\AtEndOfPackage}
{\flrow@declopt\@gobble}}
@@ -763,16 +883,22 @@
#1{\undefine@key{floatrow}{#2}}\define@key{floatrow}{#2}}
\@onlypreamble\DeclareFROpt
\@onlypreamble\flrow@declopt
+\let\FR@ifrawfloats\iffalse
+\DeclareFROpt*{rawfloats}[0]{\flrow@setbool{\FR@ifrawfloats}{#1}}
+\let\FR@ifdoubleaswide\iffalse
+\DeclareFROpt{doublefloataswide}[0]{\flrow@setbool{\FR@ifdoubleaswide}{#1}}
+\let\FR@iffloatHaslist\iffalse
+\DeclareFROpt{floatHaslist}[0]{\flrow@setbool{\FR@iffloatHaslist}{#1}}
\newcommand*\DeclareFloatStyle[2]{%
\global\@namedef{flrow@sty@#1}{#2}}
\@onlypreamble\DeclareFloatStyle
\newcommand*\flrow@setstyle[1]{%
\@ifundefined{flrow@sty@#1}%
- {\PackageError{floatrow}{Undefined float style `#1'}{\flrow@eh}}%
+ {\flrow@error{Undefined float style `#1'}}%
{\FBstyle@reset
\def\flrow@capsetup{%
- \@ifundefined{caption@sty@#1}{}{\caption@setstyle{#1}}%
- \caption@settype {#1}}%
+ \@ifundefined{caption@sty@#1}{}{\caption@setstyle*{#1}}%
+ \caption@setoptions {#1}}%
\flrow@esetup{\csname flrow@sty@#1\endcsname}}}
\DeclareFloatStyle{plain}{}
\DeclareFloatStyle{plaintop}{capposition=top}
@@ -796,9 +922,8 @@
\let\DeclareFloatFont\DeclareCaptionFont
\@onlypreamble\DeclareFloatFont
\newcommand*\flrow@setfont[2]{%
- \let\caption@tempa\@empty
- \begingroup\setkeys{caption@fnt}{#2}\endgroup
- \expandafter\let\csname float#1\endcsname\caption@tempa}
+ \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]{%
@@ -806,7 +931,7 @@
}{\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
- }{\PackageError{floatrow}{Undefined caption position `#1'}{\flrow@eh}%
+ }{\flrow@error{Undefined caption position `#1'}%
}}}}}
\let\FBifcaptop\iffalse
\newcommand\captop{\let\FBifcaptop\iftrue}
@@ -814,22 +939,22 @@
\let\FBifCAPTOP\iffalse
\newcommand\CAPTOP{\captop\let\FBifCAPTOP\iftrue\CADJtrue}
\let\FBifcapbeside\iffalse
-\newcommand\capbeside{\global\let\FBifcapbeside\iftrue}
-\newcommand\nocapbeside{\global\let\FBifcapbeside\iffalse}
+\newcommand\capbeside{\let\FBifcapbeside\iftrue}
+\newcommand\nocapbeside{\let\FBifcapbeside\iffalse}
\DeclareFROpt{capbesideframe}[0]{\flrow@setbool{\FC@ifFBOX}{#1}}
\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,sidefill}{\let\FC@ifc@wd\iffalse
+ \caption@ifinlist{#1}{none,sidefil}{\let\FC@ifc@wd\iffalse
}{\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\setkeys{flrow@scpos}{#1}\endgroup
+ \begingroup\caption@setkeys[floatrow]{flrow@scpos}{#1}\endgroup
\FR@tmp}
\@onlypreamble\DeclareSCPos
\DeclareSCPos{left}{\def\@FC@hpos{\let\FBiffacing\iffalse\count@\@ne}}
@@ -849,7 +974,7 @@
\define@key{flrow@ftpos}{#1}[]{\g@addto@macro\FR@tmp{#2}}}
\newcommand*\flrow@ftpos[1]{%
\let\FR@tmp\@empty
- \begingroup\setkeys{flrow@ftpos}{#1}\endgroup
+ \begingroup\caption@setkeys[floatrow]{flrow@ftpos}{#1}\endgroup
\FR@tmp}
\@onlypreamble\DeclareFtPos
\@ifdefinable\FPOScnt{\newcount\FPOScnt}
@@ -860,7 +985,7 @@
\newcommand\DeclareHtAdj[2]{%
\define@key{flrow@htadj}{#1}[]{\g@addto@macro\FR@tmp{#2}}}
\newcommand*\flrow@htadj[1]{\let\FR@tmp\@empty
- \begingroup\setkeys{flrow@htadj}{#1}\endgroup
+ \begingroup\caption@setkeys[floatrow]{flrow@htadj}{#1}\endgroup
\FR@tmp}
\@onlypreamble\DeclareHtAdj
\DeclareHtAdj{all}{\CADJtrue\OADJtrue}
@@ -884,7 +1009,7 @@
\DeclareFROpt{margins}{\flrow@FBAlign{#1}}
\newcommand*\flrow@FBAlign[1]{%
\@ifundefined{flrow@mj@#1}%
- {\PackageError{floatrow}{Undefined float alignment `#1'}{\flrow@eh}}%
+ {\flrow@error{Undefined float alignment `#1'}}%
{\@nameuse{flrow@mj@#1}}}
\newcommand*\DeclareMarginSet[2]{%
\global\@namedef{flrow@mj@#1}{#2}}
@@ -930,7 +1055,7 @@
\@onlypreamble\DeclareObjectSet
\newcommand*\flrow@FBoAlign[1]{%
\@ifundefined{caption@hj@#1}%
- {\PackageError{floatrow}{Undefined object setting `#1'}{\flrow@eh}}%
+ {\flrow@error{Undefined object setting `#1'}}%
{\expandafter\let\expandafter\floatobjectset
\csname caption@hj@#1\endcsname}}
\newcommand*\floatobjectset{\centering}
@@ -940,15 +1065,16 @@
\newcommand\nofilFCOhsize{\let\FC@ifo@fil\iffalse}
\newcommand\flrow@setwd{\relax}
\newcommand\flrow@FBo@wd[1]{%
- \caption@ifinlist{#1}{sidefil}{\filFCOhsize
+ \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}%
- {\PackageError{floatrow}{Undefined float separator `#2'}{\flrow@eh}}%
+ {\flrow@error{Undefined float separator `#2'}}%
{\expandafter\let\expandafter#1\csname caption@lsep@#2\endcsname}}
\DeclareFloatSeparators{columnsep}{\hskip\columnsep}
\DeclareFloatSeparators{qquad}{\qquad}
@@ -968,28 +1094,28 @@
\newcommand\DeclareFloatPostcode{\DeclareFloatVCode}
\newcommand*\flrow@FBrule[3]{%
\@ifundefined{flrow@FBr@#3}%
- {\PackageError{floatrow}{Undefined rule `#3'}{\flrow@eh}}%
+ {\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}%
- {\PackageError{floatrow}{Undefined rule `#3'}{\flrow@eh}}%
+ {\flrow@error{Undefined rule `#3'}}%
{\def#2{\FBiffloatrow\else\@nameuse{flrow@FBr@#3}\fi}%
\expandafter\let\expandafter#1\csname flrow@FBr@#3\endcsname}}
\newcommand*\flrow@FBskip[1]{%
\@ifundefined{flrow@FBr@#1}%
- {\PackageError{floatrow}{Undefined rule `#1'}{\flrow@eh}}%
+ {\flrow@error{Undefined rule `#1'}}%
{\expandafter\let\expandafter\@@FBskip\csname flrow@FBr@#1\endcsname}}
\DeclareFloatVCode{none}{}
-\DeclareFloatVCode{thickrule}{\hrule height.8ptdepth0pt\kern2pt}
-\DeclareFloatVCode{rule}{\kern2pt\hrule\kern2pt}
-\DeclareFloatVCode{lowrule}{\kern2pt\hrule}
+\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\iffalse\OADJfalse\CADJfalse\capbot
\def\@@FBskip{\vskip\captionskip}\def\@@FRabove{}\def\@@FRbelow{}%
\def\@@FBabove{}\def\@@FBbelow{}%
- \def\FB@Bset{}\gdef\FB@frame{}\gdef\FBo@frame{}%
- \gdef\FBo@wadj{}\gdef\FBo@hadj{}\gdef\FB@wadj{}\gdef\FB@hadj{}}
+ \def\FB@Bset{}\def\FB@frame{}\def\FBo@frame{}%
+ \def\FBo@wadj{}\def\FBo@hadj{}\def\FB@wadj{}\def\FB@hadj{}}
\newcommand\@@FRabove{}\newcommand\@@FRbelow{}
\newcommand\@@FBabove{}\newcommand\@@FBbelow{}
\newcommand\@@FBskip{\vskip\captionskip}
@@ -1006,7 +1132,7 @@
}{\caption@ifinlist{#1}{floatbox,all}{\let\FRifFBOX\iftrue
\def\FB@BO@{FB}%
}{\caption@ifinlist{#1}{none}{\let\FRifFBOX\iffalse
- }{\PackageError{floatrow}{Undefined framed object `#1'}{\flrow@eh}%
+ }{\flrow@error{Undefined framed object `#1'}%
}}}}
\DeclareFROpt{framefit}[0]{\flrow@setbool{\FRifFIT}{#1}}
\DeclareFROpt{frameset}{\def\FB@Bset{#1}}
@@ -1036,7 +1162,7 @@
\long\@namedef{flrow@fnrule@#1}{#2}}
\newcommand*\flrow@footrule[1]{%
\@ifundefined{flrow@fnrule@#1}%
- {\PackageError{floatrow}{Undefined footnoterule `#1'}{\flrow@eh}}%
+ {\flrow@error{Undefined footnoterule `#1'}}%
{\let\@@FRabove\empty
\expandafter\let\expandafter\FBfootnoterule\csname
flrow@fnrule@#1\endcsname}}
@@ -1061,29 +1187,28 @@
\newcommand*\flrow@declfnopt[2]{%
#1{\undefine@key{newfloat}{#2}}\define@key{newfloat}{#2}}
\@onlypreamble\DeclareFNOpt
-\newcommand\flnew@setdefault{\setkeys{newfloat}
+\newcommand\flnew@setdefault{\caption@setkeys[floatrow]{newfloat}
{placement=tbp,fileext=lox}}
\@ifdefinable\flrow@types{\newtoks\flrow@types}
\newcommand\DeclareNewFloatType[2]{\def\FB@captype{#1}%
- \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
- \addtocounter{float@type}{\value{float@type}}
- \@namedef{fname@#1}{#1}\newcounter{#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 fname@#1\endcsname\
+ {\expandafter\noexpand\csname #1name\endcsname\
\expandafter\noexpand\csname the#1\endcsname}%
\@namedef{the#1}{\arabic{#1}}%
- \flnew@setdefault\setkeys{newfloat}{#2}%
+ \flnew@setdefault\caption@setkeys[floatrow]{newfloat}{#2}%
\let\FR@tmp=\relax
\xdef\@tempa{\noexpand\flrow@types{\the\flrow@types \FR@tmp{#1}}}%
\@tempa
- \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}%
- \addtocounter{float@type}{\value{float@type}}}
+ }
\@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{fname@\FB@captype}{#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}%
@@ -1098,52 +1223,6 @@
the#1\endcsname.\noexpand\arabic{\FB@captype}}}
\@onlypreamble\flnew@within
\DeclareFNOpt*{relatedcapstyle}[0]{\flrow@setbool{\FR@ifCST}{#1}}
-\newlength\FBsc@max
-\newlength\FBso@max
-\@ifdefinable\FBsubcheight{\let\FBsubcheight\relax}
-\@ifdefinable\FBsuboheight{\let\FBsuboheight\relax}
-\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@}
-\newcommand\subfloatrow[1][2]{\c@FRobj=#1%local
- \ifdim\parindent<\z@\leavevmode\else\noindent\fi\hbox\bgroup
- \Xhsize\hsize\count@#1\advance\count@-1%
- \settowidth\@tempdima{\subfloatrowsep}%
- \advance\Xhsize-\count@\@tempdima
- \@tempdimb\Xhsize\divide\@tempdimb#1%
- \hsize\@tempdimb\ignorespaces}
-\def\endsubfloatrow{\ifdim\lastskip>\z@\unskip\fi
- \egroup\adjustsubfloats}
-\newcommand\subfloatrowsep{\hskip\columnsep}
-\DeclareFROpt{subfloatrowsep}{\flrow@setFRsep\subfloatrowsep{#1}}
-\AtBeginDocument{\@ifundefined{LT@array}{}{\let\flrow@oriLT@array\LT@array
- \let\LT@array\flrow@LT@array}}
-\newcommand\flrow@LT@array{%
- \flrow@setlist{{table}{longtable}}\normalfont\floatfont
- \belowcaptionskip\captionskip
- \FBifLTcapwidth
- \let\flrow@LT@make@row\LT@make@row
- \def\LT@make@row{%
- \let\LT@make@row\flrow@LT@make@row
- \LT@make@row
- \ifx\LT@save@row\relax\else\begingroup
- \LTcapwidth\z@
- \def\LT@entry####1####2{\advance\LTcapwidth####2}\LT@save@row
- \ifdim\LTcapwidth=\z@\else\global\LTcapwidth\LTcapwidth\fi
- \endgroup\fi}%
- \fi
- \flrow@oriLT@array}
-\let\FBifLTcapwidth\iffalse
-\DeclareFROpt{LTcapwidth}{\flrow@LTcapwd{#1}}
-\newcommand*\flrow@LTcapwd[1]{%
- \caption@ifinlist{#1}{table,contents}{\let\FBifLTcapwidth\iftrue
- }{\let\FBifLTcapwidth\iffalse\setlength\LTcapwidth{#1}}}
\def\ProcessOptionsWithKV#1{%
\let\@tempc\relax
\let\FR@tmp\@empty
@@ -1162,7 +1241,7 @@
}%
}%
\edef\FR@tmp{%
- \noexpand\setkeys{#1}{%
+ \noexpand\caption@setkeys[floatrow]{#1}{%
\FR@tmp\@ptionlist{\@currname.\@currext}%
}%
}%
@@ -1172,9 +1251,22 @@
\ProcessOptionsWithKV{floatrow}
\FR@iffancy\RequirePackage{fr-fancy}\fi
\let\ProcessOptionsWithKV\undefined
-\AtBeginDocument{\flrow@restyle{table}\flrow@restyle{figure}%
- \let\FR@tmp\flrow@restyle \the\flrow@types
- \@onlypreamble\flrow@restyle\flrow@types{}}
+\AtBeginDocument{
+ \FR@ifrawfloats
+ \let\FR@tmp\flrow@Raw@restyle
+ \else
+ \flrow@restyle{table}\flrow@restyle{figure}%
+ \let\FR@tmp\flrow@restyle
+ \fi
+ \the\flrow@types
+ \@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 `floatrow.sty'.
diff --git a/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty b/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty
index af067024aa1..df0bf1f15be 100644
--- a/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{fr-fancy}
- [2005/07/15 v0.1g floatrow: fancy boxes]
+ [2005/05/24 v0.1h floatrow: fancy boxes]
\RequirePackage{fancybox}
\newcommand\FB@colorbox@frame[1]{\hbox{%
\FRifFIT\else\kern-\fboxrule\kern-\fboxsep\fi
@@ -35,12 +35,12 @@
\DeclareFROpt{colorframeset}{\flrow@fcolorbox{#1}}
\newcommand*\flrow@fcolorbox[1]{%
\@ifundefined{flrow@fcolorbox@#1}%
- {\PackageError{floatrow}{Undefined color box `#1'}{\flrow@eh}}%
+ {\flrow@error{Undefined color box `#1'}}%
{\expandafter\let\expandafter\FB@fcolorbox
\csname flrow@fcolorbox@#1\endcsname}}
\newcommand*\DeclareColorBox[2]{%
- \@ifundefined{color}{\PackageError{floatrow}%
- {For usage of colored frames\MessageBreak load color package}{}}%
+ \@ifundefined{color}{\flrow@error
+ {For usage of colored frames\MessageBreak load color package}}%
{\long\@namedef{flrow@fcolorbox@#1}{#2}}}
\newcommand\wshadowbox{\VerbBox\@wshadowbox}
\newcommand\@wshadowbox[1]{%
diff --git a/Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty b/Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty
new file mode 100644
index 00000000000..9229b7529df
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty
@@ -0,0 +1,134 @@
+%%
+%% This is file `fr-longtable.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% floatrow.dtx (with options: `forlongtable')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from fr-longtable.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{fr-longtable}
+ [2007/05/24 v0.1a (beta) floatrow: additions for longtable]
+\RequirePackage{longtable}[2004/02/01]
+\let\flrow@oriLT@array\LT@array
+\renewcommand\LT@array{%
+ \flrow@setlist{{table}{longtable}}\flrow@useLTcapwidth\normalfont\floatfont
+ \belowcaptionskip\captionskip
+ \FBifLTcapwidth
+ {\let\flrow@LT@make@row\LT@make@row
+ \def\LT@make@row{%
+ \let\LT@make@row\flrow@LT@make@row
+ \LT@make@row
+ \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}}%
+ \def\floatfoot@{%\par\kern-\normalbaselineskip\kern-\normallineskip
+ \vskip\floatfootskip\def\@captype{table}\floatfoot@box}%
+ \flrow@oriLT@array}
+\providecommand\floatfont{}
+\providecommand\floatfootskip{\skip\@mpfootins}
+\providecommand\captionskip{10\p@}
+\providecommand\floatfoot@box[1]{%
+ \@parboxrestore\reset@font\color@begingroup
+ \caption@setoptions{\@captype}%
+ \caption@setoptions{floatfoot}%
+ \captionsetup{labelformat=empty,labelsep=none}%
+ \caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}%
+ \color@endgroup}
+\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}
+\newcommand*\flrow@useLTcapwidth{}
+\newcommand*\setLTcapwidth[1]{%
+ \caption@ifinlist{#1}{table,contents,LTcapwidthtotable}{\def\flrow@useLTcapwidth
+ {\let\FBifLTcapwidth\@firstofone}}{\def\flrow@useLTcapwidth
+ {\let\FBifLTcapwidth\@gobble\setlength\LTcapwidth{#1}}}}
+\@ifpackageloaded{floatrow}
+ {\DeclareFROpt{LTcapwidth}{\setLTcapwidth{#1}}
+ \DeclareOption{LTcapwidthtotable}{\setLTcapwidth{table}}
+ \ProcessOptions
+ }
+ {\DeclareOption{LTcapwidthtotable}{\setLTcapwidth{table}}
+ \ProcessOptions
+ \let\flrow@setlist\@gobble}
+\newbox\flrow@LT@lasthead
+\newbox\flrow@LT@prelastfoot
+\newcounter{FBLTpage}
+\@ifdefinable\FB@ori@longtable{\let\FB@ori@longtable\longtable}
+\def\longtable{%
+ \setcounter{FBLTpage}\@ne
+ \FB@ori@longtable}
+\@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
+ \ifvoid\flrow@LT@prelastfoot\else
+ \count@\flrow@LTlastpage\relax%\advance\count@\m@ne\relax
+ \ifnum\value{FBLTpage}=\count@
+ \let\LT@foot\flrow@LT@prelastfoot
+ \fi
+ \fi
+ \FB@ori@LT@output}
+\@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
+\@ifdefinable\FB@ori@endlongtable{\let\FB@ori@endlongtable\endlongtable}
+\def\endlongtable{%
+ \FB@ori@endlongtable
+ \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
+ }
+\endinput
+%%
+%% End of file `fr-longtable.sty'.
diff --git a/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty b/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty
new file mode 100644
index 00000000000..ce3ce4d6dc3
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty
@@ -0,0 +1,253 @@
+%%
+%% This is file `fr-subfig.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% floatrow.dtx (with options: `frforsubfig')
+%%
+%% IMPORTANT NOTICE:
+%%
+%% For the copyright see the source file.
+%%
+%% Any modified versions of this file must be renamed
+%% with new filenames distinct from fr-subfig.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{fr-subfig}
+ [2007/08/24 v0.1f (beta) floatrow: additions for subfig]
+\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
+\newlength\FBsc@max
+\newlength\FBso@max
+\@ifdefinable\FBsubcheight{\let\FBsubcheight\relax}
+\@ifdefinable\FBsuboheight{\let\FBsuboheight\relax}
+\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@}
+\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}%
+ \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@>\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
+ \sf@ifpositiontop{%
+ \ifx \@empty#3\relax \else
+ \sf@subcaption{#1}{#2}{#3}%
+ \vskip\sf@capskip
+ \vskip\sf@captopadj
+ \fi\egroup
+ \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}%
+ \ifnum\c@FRobj>0% bugfix
+ \subfloatrowsep
+ \fi}%
+ \ifmaincaptiontop\else
+ \global\advance\@nameuse{c@\@captype}\m@ne
+ \fi
+ \endgroup\ignorespaces}
+\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}
+\newcommand\sidesubfloat{%
+ \ifx\@captype\@undefined
+ \@latex@error{\noexpand\subfloat outside float}\@ehd
+ \expandafter\@gobble
+ \else
+ \expandafter\@firstofone
+ \fi
+ {\flrow@sidesubfloat}}
+\def\flrow@sidesubfloat{\flrow@SFBalign
+ \begingroup
+ \@ifundefined{caption@setfloattype}%
+ \caption@settype
+ \caption@setfloattype
+ \@captype
+ \sf@ifpositiontop{%
+ \maincaptiontoptrue
+ }{%
+ \maincaptiontopfalse
+ }%
+ \caption@setoptions{subfloat}%
+ \caption@setoptions{sub\@captype}%
+ \let\sf@oldlabel=\label
+ \let\label=\subfloat@label
+ \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]}}
+\long\def\flrow@@sidesubfloat[#1]{%
+ \@ifnextchar [% %] match left bracket
+ {\flrow@@@sidesubfloat{sub\@captype}[{#1}]}%
+ {\flrow@@@sidesubfloat{sub\@captype}[\@empty{#1}][{#1}]}}
+\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@>\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>0
+ \subfloatrowsep
+ \fi}%
+ \ifmaincaptiontop\else
+ \global\advance\@nameuse{c@\@captype}\m@ne
+ \fi
+ \endgroup\ignorespaces}
+\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{}
+\def\flrow@@subfloatlabel[#1][#2]{%
+ \subfloat[]{\label{#2}}\endgroup}
+\endinput
+%%
+%% End of file `fr-subfig.sty'.
diff --git a/Master/texmf-dist/tex/latex/floatrow/listpen.sty b/Master/texmf-dist/tex/latex/floatrow/listpen.sty
index 8a84b2c29db..ae28db02a9f 100644
--- a/Master/texmf-dist/tex/latex/floatrow/listpen.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/listpen.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{listpen}
- [2005/02/07 v0.1a list penalty managing]
+ [2007/05/24 v0.1b list penalty managing]
\newcommand\allowprelistbreaks{\let\LP@penalty\@beginparpenalty
\@testopt{\LP@setlistbreaks}{-1}}
\newcommand\allowpostlistbreaks{\let\LP@penalty\@endparpenalty
@@ -40,6 +40,7 @@
\or\LP@penalty#1\@highpenalty
\or\LP@penalty#1\@M
\fi}
+\providecommand\RestoreSpaces{\@nobreakfalse}
\endinput
%%
%% End of file `listpen.sty'.