summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/floatrow
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-06-24 16:36:04 +0000
committerKarl Berry <karl@freefriends.org>2009-06-24 16:36:04 +0000
commitf1fef055879de5641d7a1fcfab20d36da85686b2 (patch)
tree723c74d97a0528b89d48a1c4cb7ede2128d9673a /Master/texmf-dist/tex/latex/floatrow
parentd73a503687f31a927aea191ec9ed3cf1c950fd8f (diff)
floatrow 0.3a (22jun09)
git-svn-id: svn://tug.org/texlive/trunk@13942 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/floatrow')
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/floatpagestyle.sty15
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/floatrow.sty470
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty15
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty17
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty15
-rw-r--r--Master/texmf-dist/tex/latex/floatrow/listpen.sty15
6 files changed, 390 insertions, 157 deletions
diff --git a/Master/texmf-dist/tex/latex/floatrow/floatpagestyle.sty b/Master/texmf-dist/tex/latex/floatrow/floatpagestyle.sty
index 9866f52d2a9..3775df81e91 100644
--- a/Master/texmf-dist/tex/latex/floatrow/floatpagestyle.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/floatpagestyle.sty
@@ -24,6 +24,21 @@
\ProvidesPackage{floatpagestyle}
[2005/10/02 v0.1h floating page style]
%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
\newcommand\floatpagestyle[1]{\@ifundefined{ps@#1}\undefinedpagestyle
{\begingroup
\let\thepage\relax\let\protect\@unexpandable@protect
diff --git a/Master/texmf-dist/tex/latex/floatrow/floatrow.sty b/Master/texmf-dist/tex/latex/floatrow/floatrow.sty
index 9667ec9b8f7..c93a0b9b3ac 100644
--- a/Master/texmf-dist/tex/latex/floatrow/floatrow.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/floatrow.sty
@@ -22,8 +22,23 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
\ProvidesPackage{floatrow}
- [2008/03/28 v0.2c floatrow: float package extension]
+ [2009/06/20 v0.3a floatrow: float package extension]
%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
\@ifundefined{float@caption}{%
\@ifundefined{rotfloat@float}{}%
{\PackageError{floatrow}{Do not use rotfloat package with floatrow.\MessageBreak
@@ -116,10 +131,10 @@
\@namedef{#1}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}}%
\textwidth\columnwidth\edef\FBB@wd{\the\columnwidth}%
- \FRifFBOX\@@setframe\fi\@@FStrue\@float{#1}}%
+ \FRifFBOX\@@setframe\relax\@@FStrue\@float{#1}}%
\@namedef{#1*}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}{widefloat}{wide#1}}%
- \FRifFBOX\@@setframe\fi\@@FStrue\edef\FBB@wd{\the\textwidth}%
+ \FRifFBOX\@@setframe\relax\@@FStrue\edef\FBB@wd{\the\textwidth}%
\let\@xdblfloat\@xfloat\relax
\FR@ifdoubleaswide
{\if@twocolumn\else\let\@dblfloat\@float\fi}\relax
@@ -130,7 +145,7 @@
\@namedef{sideways#1}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}{rotfloat}{rot#1}}%
\columnwidth\textheight\edef\FBB@wd{\the\textheight}%
- \FRifFBOX\@@setframe\fi\@@FStrue
+ \FRifFBOX\@@setframe\relax\@@FStrue
\let\rotfloat@@makebox\float@makebox
\let\float@makebox\rotfloat@makebox
\@float{#1}}%
@@ -144,7 +159,7 @@
\@namedef{sideways#1*}{\killfloatstyle\def\@captype{#1}\FR@redefs
\flrow@setlist{{#1}{rotfloat}{rot#1}{widerotfloat}{widerot#1}}%
\columnwidth\textheight\edef\FBB@wd{\the\textheight}%
- \FRifFBOX\@@setframe\fi\@@FStrue
+ \FRifFBOX\@@setframe\relax\@@FStrue
\let\@xdblfloat\@xfloat
\let\rotfloat@@makebox\float@makebox
\let\float@makebox\rotdblfloat@makebox
@@ -153,7 +168,7 @@
\@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\fi\@@FStrue
+ \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
@@ -263,6 +278,16 @@
\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\@xfloat\setspace@xfloat
+}\let\setspace@xfloat\relax}
+\@ifdefinable\setspace@xfloat{}
+\def\setspace@xfloat #1[#2]{%
+ \latex@xfloat #1[#2]%
+ \def\baselinestretch{\setspace@singlespace}%
+ \normalsize
+ \floatfont
+}
\newsavebox\float@box
\def\@float@HH#1[H]{%
\@ifundefined{FloatHBarrier}{}\FloatHBarrier
@@ -285,7 +310,7 @@
\if@tempswa\FB@readaux{\relax}\fi
\global\let\FBcheight\relax\global\let\FBoheight\relax
\global\let\FBfheight\relax
- \FBifcapbeside\FC@fs@wd\else\FB@fs@wd\fi
+ \FBifcapbeside\FC@fs@wd\FB@fs@wd
\the\FR@everyfloat}
\@ifdefinable\FBcheight{\let\FBcheight\relax}
\@ifdefinable\FBoheight{\let\FBoheight\relax}
@@ -299,35 +324,35 @@
\adj@dim\@tempdima-\FBo@wadj={\global\FBo@wd}%
\hsize\FBo@wd\linewidth\hsize
\FBifcaptop
- \ifnum\FPOScnt=\z@\columnwidth\hsize\else\columnwidth\FBc@wd\fi
- \else
- \columnwidth\FBc@wd
- \fi}
+ {\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
+ \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\fi
+ \FC@ifo@fil{\advance\@tempdima-\FBc@wd}\relax
\fi
\else
\global\FBc@wd\@tempdima
\fi
- \FC@ifo@fil\else\@tempdima.5\@tempdima
- \flrow@setwd\FB@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\else\global\advance\FBc@wd-\FB@wd\fi
+ \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}\else\flrow@FB{#1}\fi}
+ \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
@@ -364,9 +389,10 @@
\fi
\@parboxrestore\leftmargin\z@\rightmargin\z@
\@@FBabove
- \FBifcaptop
+ \FBifcaptop\@tempswatrue\@tempswafalse
+ \if@tempswa
\ifvoid\@floatcapt\else
- \FB@vbox\FBc@wd\FBcheight{\FBifCAPTOP\else\vfill\fi
+ \FB@vbox\FBc@wd\FBcheight{\FBifCAPTOP\relax\vfill
\unvbox\@floatcapt
\ifnum\FPOScnt=\@ne\vbox{\FB@foot}\fi\vfil}%
\@@FBskip\hrule\@height\z@\@depth\z@
@@ -376,7 +402,7 @@
\vskip\z@
\ifnum\FPOScnt=\z@
\FB@vtop\FBo@wd\FBfheight{\FB@foot\vfil}\fi}}\par
- \par\vskip\z@
+ \vskip\z@
\ifnum\FPOScnt=\tw@\vskip\z@
\FB@vtop\FBc@wd\FBfheight{\FB@foot\vfil}\fi}%
\else\ifnum\FPOScnt=\z@\FPOScnt=\@ne\fi
@@ -410,7 +436,7 @@
}}\par\@@FBbelow\vskip\z@
\end@FBBOX
\global\setbox\@floatcapt\box\voidb@x}}
-\newcommand\FB@foot{\let\FR@ifFOOT\iftrue\FB@putfoots\@@par\FB@putfnotes}
+\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
@@ -470,18 +496,18 @@
\FR@everyfloat={\let\@footnotetext\@mpfootnotetext
\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@
\floatobjectset\floatfont}
-\let\FR@ifFOOT\iffalse
+\@ifdefinable\FR@ifFOOT{\let\FR@ifFOOT\@secondoftwo}
\newcommand\FB@putfnotes{%
\ifvoid\@mpfootins\else\FR@ifFOOT
- \vskip\floatfootskip\normalcolor\FBfootnoterule
- \unvbox\@mpfootins\@@par
- \fi\fi}
+ {\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
- \fi\fi}
+ {\vskip\floatfootskip\normalcolor
+ \unvbox\flrow@foot\@@par}\relax
+ \fi}
\AtBeginDocument{\providecommand\mpfootnotemark{\@ifnextchar[%]
\@xmpfootnotemark{\stepcounter\@mpfn
\protected@xdef\@thefnmark{\thempfn}\@footnotemark}}%
@@ -537,10 +563,13 @@
\newcommand\FR@loc@refcnt[1]{%
\@ifundefined{c@#1}{\@nocounterr{#1}}%
{\advance\csname c@#1\endcsname1\relax}}
-\newcommand\FR@loc@{\let\label\@gobble
+\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
@@ -565,32 +594,26 @@
\fi}%
\adj@dim\hsize-\FB@wadj=\@tempdima
\FBifcapbeside
- \FCget@@wd{#1}{#3}%
- \else
- \nofilFCOhsize
+ {\FCget@@wd{#1}{#3}}%
+ {\nofilFCOhsize
\FBiffloatrow\relax
{\settowidth\@tempdimb{{\FBleftmargin}{\FBrightmargin}}%
- \advance\@tempdima-\@tempdimb}%
- \fi
- \FC@ifo@fil\@tempdima\FB@wd\else\FB@wd\@tempdima\fi
+ \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\fi
+ \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\else\advance\FBc@wd-\FB@wd\fi
- \else
- \FBc@wd\FB@wd
- \fi
- \setbox\z@\vbox{\FR@loc@\hsize\FBo@wd\linewidth\hsize
+ {\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
- \else
- \columnwidth\FBc@wd
- \fi
+ {\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
@@ -600,9 +623,8 @@
{\ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
\ifCADJ
\FBifcaptop
- \ifnum\FPOScnt=\@ne\global\advance\FBc@ht\FBf@ht\fi
- \else
- \ifnum\FPOScnt=\tw@
+ {\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
@@ -610,8 +632,7 @@
\fi
\else
\global\advance\FBc@ht\FBf@ht
- \fi
- \fi
+ \fi}%
\ifdim\FBc@ht>\FBc@max\global\FBc@max\FBc@ht\fi
\gdef\FBcheight{\FBc@ht}\gdef\FBfheight{\FBf@ht}%
\fi}\relax
@@ -619,10 +640,9 @@
\FBiffloatrow{\ifOADJ
\ifdim\FBo@ht>\FBo@max\global\FBo@max\FBo@ht\fi
\FBifcaptop
- \ifnum\FPOScnt=\z@
+ {\ifnum\FPOScnt=\z@
\ifdim\FBf@ht>\FBf@max\global\FBf@max\FBf@ht\fi
- \fi
- \fi
+ \fi}\relax
\gdef\FBoheight{\FBo@ht}\gdef\FBfheight{\FBf@ht}%
\fi}\relax
\else
@@ -633,8 +653,9 @@
{\settowidth\@tempdimb{{\FCleftmargin}{\FCrightmargin}}%
\advance\@tempdima-\@tempdimb\advance\hsize-\@tempdimb}%
\settowidth\@tempdimb{\floatcapbesidesep}\advance\@tempdima-\@tempdimb
- \FC@ifo@fil\FB@wd\@tempdima\fi
- \FC@ifc@wd
+ \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
@@ -643,18 +664,26 @@
\FBc@wd=\@tempdimb
\else
\FBc@wd=\FCwidth
- \fi\FC@ifo@fil\advance\FB@wd-\FBc@wd\fi
+ \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{\FR@loc@#2}\FBo@wd\wd\z@\let\FBwidth\FBo@wd
+ \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
@@ -673,19 +702,20 @@
\global\@tempswatrue\fi
\endgroup
\if@tempswa
- \setbox\z@\hbox{\FR@loc@#2}\FBo@ht\ht\z@\advance\FBo@ht\dp\z@
+ \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\fi
+ \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\else\@@FBskip\hrule\@height\z@\@depth\z@\fi
+ \FBifcapbeside\relax{\@@FBskip\hrule\@height\z@\@depth\z@}%
\vtop{\@@FBbelow}}%
\global\advance\FBo@ht-\ht\z@\global\advance\FBo@ht-\dp\z@
- \FBifcapbeside\else\FBget@@@ht\fi
+ \FBifcapbeside\relax\FBget@@@ht
\fi
\FBiffloatrow{\ifOADJ
\ifdim\FBo@ht>\FBo@max\global\FBo@max\FBo@ht\fi
@@ -697,13 +727,13 @@
\else
\global\advance\FBo@ht-\FBc@max
\fi
- \FBifcaptop\ifnum\FPOScnt=\@ne\else
+ \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\fi
+ \fi}\relax
}
\newcommand\FB@writeaux[1]{%
\begingroup
@@ -717,7 +747,7 @@
\@ifundefined{@@FBset@\romannumeral\the\c@FBl@b}%
{#1}{\@nameuse{@@FBset@\romannumeral\the\c@FBl@b}}}
\newcounter{FBl@b}
-\let\FR@ifFCBOX\@secondoftwo
+\@ifdefinable\FR@ifFCBOX{\let\FR@ifFCBOX\@secondoftwo}
\newcommand\FBs@raise{\raisebox{-\totalheight}}
\newcommand\FBf@raise{}
\newcommand\FCset@vpos{\@FC@vpos
@@ -757,38 +787,42 @@
\flrow@setlist{{\@captype}}\or
\flrow@settype{subfloat}\flrow@settype{subtype}\flrow@settype{sub\@captype}%
\fi
- \FRifFBOX\@@setframe\fi\@@FStrue
+ \FRifFBOX\@@setframe\relax\@@FStrue
\fi
\FB@tmpset
- \FBifcapbeside\flrow@FClist\fi
+ \FBifcapbeside\flrow@FClist\relax
\@parboxrestore\leftmargin\z@\rightmargin\z@
\floatobjectset\floatfont
\FBget@box{#1}{#2}{#4#5}%
- \FBifcapbeside\FCset@vpos\fi
+ \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\else\flrow@FB\FBB@wd\fi
+ \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@\else\flrow@FB@\fi
+ \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
- \FBifcapbeside
- \advance\Zhsize-\FBc@wd
- \fi
\FB@writeaux{\string\c@FBcnt\thepage
\string\def\string\FB@@boxmax{%
\ifOADJ\string\FBo@ht\the\FBo@max
@@ -796,12 +830,6 @@
\ifCADJ\string\FBc@ht\the\FBc@max\fi}}\fi
\global\FBbuildfalse
\else
- \FBifcapbeside
- \advance\Xhsize-\FBc@wd
- \advance\Zhsize-\FBc@wd
- \settowidth\@tempdimb{\floatcapbesidesep}%
- \advance\Xhsize-\@tempdimb
- \advance\Zhsize-\@tempdimb\fi
\floatrowsep
\adj@dim\Xhsize-\FB@wadj={\global\Xhsize}%
\adj@dim\Zhsize-\FB@wadj={\global\Zhsize}%
@@ -809,15 +837,13 @@
\newcommand\FBsetbox@obj[1]{%
\setbox\float@box\color@vbox\normalcolor
\FBifcaptop
- \FB@vtop\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
- \ifnum\FPOScnt=\z@\columnwidth\FBo@wd\else\columnwidth\FBc@wd\fi
- \else
- \FB@vbox\FBo@wd\FBoheight\bgroup\FBafil\floatobjectset\floatfont
- \columnwidth\FBc@wd
- \fi
+ {\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}
-\let\FBiffloatrow\@secondoftwo
+\@ifdefinable\FBiffloatrow{\let\FBiffloatrow\@secondoftwo}
\newcounter{FRobj}
\newcounter{FRsobj}
\newlength\Xhsize
@@ -825,56 +851,91 @@
\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
- \ifnum\floatbox@depth>\z@
+ \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
- \ifx\flrow@to\empty\else\ifx\FBB@wd\relax\edef\FBB@wd{\the\hsize}\fi\fi
- \vbox\bgroup\vskip\FBaskip\ifx\flrow@to\empty\else\hsize\FBB@wd\fi
- \ifx\flrow@to\empty\else
- \hb@xt@\hsize{\vbox{\settowidth\@tempdima
- {{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
- \settowidth\leftskip\FRleftmargin\@@FRabove}}\hss}\unskip
- \fi
- \hbox\flrow@to\bgroup\let\FBiffloatrow\@firstoftwo\FRleftmargin\begingroup
+ \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{{\FRleftmargin}{\FRrightmargin}}\advance\Xhsize-\@tempdima
\settowidth\@tempdima{\floatrowsep}\advance\Xhsize-\count@\@tempdima
- \@tempdimb\Xhsize\Zhsize\Xhsize\divide\@tempdimb#1\relax\FB@wd\@tempdimb
+ \@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
- \endgroup\FRrightmargin\egroup%h box
- \ifx\flrow@to\empty\else
- \let\FBiffloatrow\@secondoftwo\relax
- \hb@xt@\hsize{\vbox{\settowidth\@tempdima
- {{\FRleftmargin}{\FRrightmargin}}{\advance\hsize-\@tempdima
- \settowidth\leftskip\FRleftmargin\@@FRbelow}}\hss}%
- \fi
- \vskip\FBbskip\gdef\FBaskip{\z@}\gdef\FBbskip{\z@}\egroup%v box
+ \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}{\captionsetup{subtype}\@nameuse{subfloatrow*}}{\@nameuse{endsubfloatrow*}}
+\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\let\c@FRobj\c@FRsobj
+ \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@ifuseCommonHeight{\let\FR@ifuseCommonHeight\@secondoftwo}
-\newcommand\CommonHeightRow[2]{\def\CommonHeight{#1}\setbox\z@\hbox{\FR@loc@#2}%
+\@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{\sZhsize}\fi
+ \def\@tempa{\sXhsize}\def\@tempb{\Zhsize}\fi
\FR@calc@CommonHeight#2}
-\newdimen\FR@Zunitlength
+\@ifdefinable\FR@Zunitlength{\newdimen\FR@Zunitlength}
\newcommand\FR@calc@CommonHeight{%
\@tempdima\@tempb\advance\@tempdima-\@tempa
- \count@\@tempdima\relax\divide\count@131072\relax
+ \count@\@tempdima\relax\divide\count@16384\relax
\divide\@tempb\count@\relax\FR@Zunitlength\@tempb\relax
\@tempdima\CommonHeight\relax
- \count@\@tempdima\relax\divide\count@131072\relax
+ \count@\@tempdima\relax\divide\count@16384\relax
\@tempdima\count@\FR@Zunitlength\relax
\edef\CommonHeight{\the\@tempdima}}
\newcommand\begin@FBBOX{\vbox\bgroup}
@@ -913,7 +974,7 @@
{\flrow@esetup{\csname flrow@typ@#1\endcsname}}}%
\newcommand\flrow@setlist[1]{\@flrow@setlist#1{tmpset};%
\FR@ifCST{\flrow@capsetup}\relax\@cap@setlist#1;%
- \caption@setposition{\FBifcaptop t\else b\fi}}
+ \caption@setposition{\FBifcaptop tb}}
\newcommand\@flrow@setlist[1]{\flrow@settype{#1}\@ifnextchar;\@gobble
\@flrow@setlist}
\@ifundefined{caption@setoptions}{\let\caption@setoptions\caption@settype}{}
@@ -929,11 +990,11 @@
#1{\undefine@key{floatrow}{#2}}\define@key{floatrow}{#2}}
\@onlypreamble\DeclareFROpt
\@onlypreamble\flrow@declopt
-\let\FR@ifrawfloats\@secondoftwo
+\@ifdefinable\FR@ifrawfloats{\let\FR@ifrawfloats\@secondoftwo}
\DeclareFROpt*{rawfloats}[0]{\flrow@setbool{rawfloats}{#1}}
-\let\FR@ifdoubleaswide\@secondoftwo
+\@ifdefinable\FR@ifdoubleaswide{\let\FR@ifdoubleaswide\@secondoftwo}
\DeclareFROpt{doublefloataswide}[0]{\flrow@setbool{doubleaswide}{#1}}
-\let\FR@iffloatHaslist\@secondoftwo
+\@ifdefinable\FR@iffloatHaslist{\let\FR@iffloatHaslist\@secondoftwo}
\DeclareFROpt{floatHaslist}[0]{\flrow@setbool{floatHaslist}{#1}}
\newcommand*\DeclareFloatStyle[2]{%
\global\@namedef{flrow@sty@#1}{#2}}
@@ -964,12 +1025,12 @@
floatrowsep=columnsep,capbesidesep=columnsep,
font=default,footfont=footnotesize}
\DeclareFROpt{style}{\flrow@setstyle{#1}}
-\let\FR@ifCST\@firstoftwo
+\@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}}
-\newcommand*\floatfont{}
+\@ifdefinable\floatfont{\let\floatfont\empty}
\newcommand*\captionfootfont{\normalfont\footnotesize}
\let\DeclareFloatFont\DeclareCaptionFont
\@onlypreamble\DeclareFloatFont
@@ -985,21 +1046,21 @@
}{\caption@ifinlist{#1}{beside,side}{\caption@setposition{a}\capbeside
}{\flrow@error{Undefined caption position `#1'}%
}}}}}
-\let\FBifcaptop\iffalse
-\newcommand\captop{\let\FBifcaptop\iftrue}
-\newcommand\capbot{\let\FBifcaptop\iffalse}
-\let\FBifCAPTOP\iffalse
-\newcommand\CAPTOP{\captop\let\FBifCAPTOP\iftrue\CADJtrue}
-\let\FBifcapbeside\iffalse
-\newcommand\capbeside{\let\FBifcapbeside\iftrue}
-\newcommand\nocapbeside{\let\FBifcapbeside\iffalse}
+\@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}}
-\let\FC@ifc@wd\iffalse
-\newcommand\useFCwidth{\let\FC@ifc@wd\iftrue\let\FCwidth\relax}
+\@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\iffalse
+ \caption@ifinlist{#1}{none,sidefil}{\let\FC@ifc@wd\@secondoftwo
}{\useFCwidth\def\FCwidth{#1}}}
\DeclareFROpt{capbesideposition}{\flrow@scpos{#1}}
\newcommand\DeclareSCPos[2]{%
@@ -1059,7 +1120,7 @@
\if#1s\def\FBafil{\vskip0ptminus1000pt}%
\def\FBbfil{\vskip0ptminus1000pt}%
\fi\fi\fi\fi}
-\let\FR@iffacing\@secondoftwo
+\@ifdefinable\FR@iffacing{\let\FR@iffacing\@secondoftwo}
\DeclareFROpt{facing}[1]{\flrow@setbool{facing}{#1}}
\newcommand\FB@facing{}
\DeclareFROpt{margins}{\flrow@FBAlign{#1}}
@@ -1077,6 +1138,21 @@
\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@}}
@@ -1091,7 +1167,7 @@
\@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\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}%
@@ -1100,7 +1176,7 @@
\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}
+\setfloatmargins\hfill\hfill
\DeclareFROpt{objectset}{\flrow@FBoAlign{#1}}
\DeclareFROpt{justification}{\flrow@FBoAlign{#1}}
\let\DeclareObjectSet\DeclareCaptionJustification
@@ -1112,9 +1188,9 @@
\csname caption@hj@#1\endcsname}}
\newcommand*\floatobjectset{\centering}
\DeclareFROpt{floatwidth}{\flrow@FBo@wd{#1}}
-\let\FC@ifo@fil\iffalse
-\newcommand\filFCOhsize{\let\FC@ifo@fil\iftrue}
-\newcommand\nofilFCOhsize{\let\FC@ifo@fil\iffalse}
+\@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
@@ -1160,31 +1236,45 @@
\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
+\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\FBo@wadj{}\def\FBo@hadj{}\def\FB@wadj{}\def\FB@hadj{}}
+ \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{}\@ifdefinable\@@FRbelow{}
-\@ifdefinable\@@FBabove{}\@ifdefinable\@@FBbelow{}
-\@ifdefinable\FB@frame{}\@ifdefinable\FBo@frame{}
-\@ifdefinable\FBo@wadj{}\@ifdefinable\FBo@hadj{}
-\@ifdefinable\FB@wadj {}\@ifdefinable\FB@hadj{}
-\@ifdefinable\FB@Bset {}
+\@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\iffalse}{\let\FRifFBOX\iftrue\def\FB@B@{#1}}}
+ {\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\iftrue
+ \caption@ifinlist{#1}{object,contents}{\let\FRifFBOX\@firstoftwo
\def\FB@BO@{FBo}%
- }{\caption@ifinlist{#1}{floatbox,all}{\let\FRifFBOX\iftrue
+ }{\caption@ifinlist{#1}{floatbox,all}{\let\FRifFBOX\@firstoftwo
\def\FB@BO@{FB}%
- }{\caption@ifinlist{#1}{none}{\let\FRifFBOX\iffalse
+ }{\caption@ifinlist{#1}{row}{\let\FRifFBOX\@firstoftwo
+ \def\FB@BO@{FR}%
+ }{\caption@ifinlist{#1}{none}{\let\FRifFBOX\@secondoftwo
}{\flrow@error{Undefined framed object `#1'}%
- }}}}
-\let\FR@ifFIT\@secondoftwo
+ }}}}}
+\@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{%
@@ -1193,8 +1283,17 @@
\@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}}}
-\let\FRifFBOX\iffalse
+ \@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}
@@ -1206,16 +1305,75 @@
\@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}{\flrow@error
- {For usage of colored frames\MessageBreak load color package}}%
- {\long\@namedef{flrow@fcolorbox@#1}{#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}}
@@ -1243,7 +1401,7 @@
\hrule\@width\hsize\kern2.6\p@}
\DeclareFloatFootnoterule{none}{}
\@ifdefinable\FBfootnoterule{\let\FBfootnoterule\footnoterule}
-\let\FR@iffancy\@secondoftwo
+\@ifdefinable\FR@iffancy{\let\FR@iffancy\@secondoftwo}
\DeclareFROpt{fancyboxes}{\flrow@setbool{fancy}{#1}}
\newcommand\DeclareFNOpt{%
\@ifstar{\flrow@declfnopt\AtBeginDocument}
diff --git a/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty b/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty
index 1987f320e90..d4c279002bd 100644
--- a/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty
@@ -24,6 +24,21 @@
\ProvidesPackage{fr-fancy}
[2007/11/28 v0.1i floatrow: fancy boxes]
%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
\RequirePackage{fancybox}
\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
index f3a193e59d5..48e991ec2e6 100644
--- a/Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty
@@ -24,8 +24,23 @@
\ProvidesPackage{fr-longtable}
[2007/11/28 v0.1b (beta) floatrow: additions for longtable]
%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
\RequirePackage{longtable}[2004/02/01]
-\let\flrow@oriLT@array\LT@array
+\@ifdefinable\flrow@oriLT@array{\let\flrow@oriLT@array\LT@array}
\renewcommand\LT@array{%
\flrow@setlist{{table}{longtable}}\flrow@useLTcapwidth\normalfont\floatfont
\belowcaptionskip\captionskip
diff --git a/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty b/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty
index 8694c82b9ee..56452ba8132 100644
--- a/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty
@@ -24,6 +24,21 @@
\ProvidesPackage{fr-subfig}
[2007/12/24 v0.1g (beta) floatrow: additions for subfig]
%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
\def\@tempb{2005/06/28 ver: 1.3 subfig package}
\expandafter\let\csname @tempa\expandafter\endcsname
\csname ver@subfig.\@pkgextension\endcsname
diff --git a/Master/texmf-dist/tex/latex/floatrow/listpen.sty b/Master/texmf-dist/tex/latex/floatrow/listpen.sty
index 7925512793c..65cc2ff0bbf 100644
--- a/Master/texmf-dist/tex/latex/floatrow/listpen.sty
+++ b/Master/texmf-dist/tex/latex/floatrow/listpen.sty
@@ -24,6 +24,21 @@
\ProvidesPackage{listpen}
[2007/10/28 v0.1d list penalty managing]
%%^^A|\newcommand\CenterFloatBoxes{\CADJfalse\OADJfalse|
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
+%%^^A
\newcommand\allowprelistbreaks{\let\LP@penalty\@beginparpenalty
\@testopt{\LP@setlistbreaks}{-1}}
\newcommand\allowpostlistbreaks{\let\LP@penalty\@endparpenalty