From ba8058f661bc514c2d960695ddb21d5501abbf97 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 8 Sep 2007 15:58:47 +0000 Subject: float 0.2a (7sep07) git-svn-id: svn://tug.org/texlive/trunk@4910 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/floatrow/floatrow.sty | 392 +++++++++++++-------- Master/texmf-dist/tex/latex/floatrow/fr-fancy.sty | 8 +- .../texmf-dist/tex/latex/floatrow/fr-longtable.sty | 134 +++++++ Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty | 253 +++++++++++++ Master/texmf-dist/tex/latex/floatrow/listpen.sty | 3 +- 5 files changed, 635 insertions(+), 155 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty create mode 100644 Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty (limited to 'Master/texmf-dist/tex/latex/floatrow') 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'. -- cgit v1.2.3