diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/floatrow')
-rw-r--r-- | Master/texmf-dist/tex/latex/floatrow/floatpagestyle.sty | 15 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/floatrow/floatrow.sty | 470 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty | 15 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty | 17 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty | 15 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/floatrow/listpen.sty | 15 |
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 |