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/doc/latex/floatrow/README | 2 +- .../texmf-dist/doc/latex/floatrow/floatrow-rus.tex | 7620 +++++++++++++------ Master/texmf-dist/doc/latex/floatrow/floatrow.pdf | Bin 544615 -> 457595 bytes Master/texmf-dist/doc/latex/floatrow/fr-sample.tex | 20 +- .../texmf-dist/doc/latex/floatrow/frsample03.tex | 126 +- .../texmf-dist/doc/latex/floatrow/frsample04.tex | 2 + .../texmf-dist/doc/latex/floatrow/frsample05.tex | 4 +- .../texmf-dist/doc/latex/floatrow/frsample10.tex | 3 +- Master/texmf-dist/doc/latex/floatrow/pictures.tex | 234 +- .../doc/latex/floatrow/sample-longtable-rus.tex | 457 ++ .../doc/latex/floatrow/sample-longtable.tex | 395 +- .../texmf-dist/source/latex/floatrow/floatrow.dtx | 7665 +++++++++++++------- .../texmf-dist/source/latex/floatrow/floatrow.ins | 6 +- 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 +- 18 files changed, 11743 insertions(+), 5581 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/floatrow/sample-longtable-rus.tex create mode 100644 Master/texmf-dist/tex/latex/floatrow/fr-longtable.sty create mode 100644 Master/texmf-dist/tex/latex/floatrow/fr-subfig.sty diff --git a/Master/texmf-dist/doc/latex/floatrow/README b/Master/texmf-dist/doc/latex/floatrow/README index 127e89c8990..2ad1a918b44 100644 --- a/Master/texmf-dist/doc/latex/floatrow/README +++ b/Master/texmf-dist/doc/latex/floatrow/README @@ -1,4 +1,4 @@ -floatrow 0.1i +floatrow 0.2a Modifying the layout of floats. The floatrow package provides many ways to customize layouts of diff --git a/Master/texmf-dist/doc/latex/floatrow/floatrow-rus.tex b/Master/texmf-dist/doc/latex/floatrow/floatrow-rus.tex index fa6f8ac5f1c..fc13d8e75a0 100644 --- a/Master/texmf-dist/doc/latex/floatrow/floatrow-rus.tex +++ b/Master/texmf-dist/doc/latex/floatrow/floatrow-rus.tex @@ -2,7 +2,7 @@ % floatrow-rus.tex - The float row package % (extension of float package) % Russian documentation. -% (c) 2004-2005 Olga Lapko (Lapko.O@g23.relcom.ru) +% (c) 2004-2007 Olga Lapko (Lapko.O@g23.relcom.ru) % % This documentation is provided under the terms of the % LaTeX Project Public License distributed from CTAN @@ -21,96 +21,173 @@ \usepackage[cp1251]{inputenc} \usepackage[english,russian]{babel} +\makeatletter%^^A ----------------------- + \usepackage{calc} \usepackage{tabularx,array} +\ifx\pdfoutput\undefined \else + \ifcase\pdfoutput \else +% \usepackage{mathptm}\def\ttdefault{pxtt} +% \usepackage[scaled=0.90]{helvet} + \fi +\fi +\settowidth\marginparwidth{\texttt{0DeclareFloatFootnoterule}} +\advance\textheight4\baselineskip +\advance\topskip-2\baselineskip + \IfFileExists{titlesec.sty}{\usepackage[raggedright]{titlesec}}{} \IfFileExists{footmisc.sty}{\usepackage[perpage]{footmisc}}{} -\usepackage{floatpagestyle} +\IfFileExists{fancyhdr.sty}{\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhead{}\fancyfoot{} +\fancyhead[LE]{\setlength{\dimen@}{\marginparwidth+\marginparsep}%^^A + \leavevmode\hbox to\dimen@{\normalsize\bfseries\thepage\hfil} + \ignorespaces{\nouppercase\leftmark}\hfil\strut} +\fancyhead[LO]{\setlength{\dimen@}{\marginparwidth+\marginparsep}%^^A + \leavevmode\hbox to\dimen@{} + \ignorespaces{\nouppercase\rightmark}\hfill\hbox to2em{\hfil\normalsize\bfseries\thepage}\strut} +\fancyheadoffset[L]{\marginparwidth+\marginparsep} +}{} + +\usepackage[font=small,labelfont=bf,labelsep=period, + justification=centerlast] + {caption}[2007/04/11] -\usepackage[font=small,labelfont=bf,labelsep=period,justification=centerlast]% - {caption}[2004/11/28] -\usepackage[format=default,justification=centerlast,labelfont=up]{subfig}[2005/06/28] +\usepackage[format=default,justification=centerlast, + labelfont=up,captionskip=5pt] + {subfig}[2005/06/28] \IfFileExists{rotating.sty}{\usepackage[figuresright]{rotating}}{} +\usepackage{longtable} \usepackage{wrapfig} +%\usepackage{psfrag} \usepackage[vflt]{floatflt} \usepackage{picins} %^^A\RequirePackage[writefile]{listings}[2004/09/07] -\usepackage[style=plain,font=small,footskip=.5\skip\footins, - footnoterule=fullsize,margins=centering,objectset=centering,floatrowsep=qquad, - captionskip=5pt,capbesidesep=quad,facing=yes,capbesideposition=inside]{floatrow} +\usepackage[font=small,captionskip=5pt,objectset=centering,margins=centering, + footskip=.5\skip\footins,footnoterule=fullsize, + floatrowsep=qquad,capbesidesep=quad, + facing=yes,capbesideposition=inside,floatHaslist=yes,doublefloataswide=yes]{floatrow} + +\usepackage{floatpagestyle,listpen} +\allowprelistbreaks[-4] \usepackage{fr-fancy} -\IfFileExists{hyperref.sty}{\usepackage[unicode]{hyperref} +\IfFileExists{hyperref.sty}{\usepackage[ + linktocpage, + hyperindex,% + plainpages=false,% + bookmarksopenlevel=1,% + bookmarksnumbered=false,% + pdfview=FitH, + pdfstartview=FitH,unicode + ]{hyperref} \IfFileExists{hypcap.sty}{\usepackage{hypcap}}{} }{} + \ifx\pdftexversion\undefined + \IfFileExists{pstricks.sty}{\usepackage{pstricks,pst-eps}}{} +\else\ifcase\pdfoutput \IfFileExists{pstricks.sty}{\usepackage{pstricks}}{} +\or +%^^A \IfFileExists{pdftricks.sty}{ +%^^A \usepackage{pdftricks} +%^^A }{} +\fi\fi +\ifx\pdfdisplay\undefined\else + \begin{psinputs} + \usepackage{pstricks} + \end{psinputs} \fi + \IfFileExists{makecell.sty}{\usepackage{makecell}}{} -\makeatletter + \@ifundefined{thead}% - {\newcommand\thead[1]{\footnotesize - \raisebox{0pt}[\height+\jot][\depth+\jot]{\begin{tabular}{@{}c@{}} #1 - \end{tabular}}} + {\newcommand\thead[1]{\footnotesize\raisebox + {0pt}[\height+\jot][\depth+\jot]{\begin{tabular}{@{}c@{}} #1\end{tabular}}} %^^A For this documentation only \def\multirowthead#1[#2]#3{\raisebox{-1.5ex}{\thead{#3}}}}{} -\makeatother \IfFileExists{multirow.sty}{\usepackage{multirow}}{} \IfFileExists{lscape.sty}{\usepackage{lscape}}{} +\IfFileExists{color.sty}{\usepackage{color}\definecolor{gray}{gray}{.5}}{\let\color\@gobble} \floatsetup[table]{style=Plaintop,footnoterule=none} +%^^A ----------------------- \floatstyle{ruled} \newfloat{Program}{tbp}{lop}[section] -\floatname{Program}{\CYRP\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\cyra} - -\DeclareFloatStyle{MyBoxed}{style=Boxed,captionskip=5pt, - frameset={\fboxrule1pt\fboxsep12pt}} -\DeclareFloatVCode{lowthickrule}{\kern2pt\hrule height.8ptdepth0pt} \DeclareNewFloatType{Example}% - {placement=tb,within=section,fileext=lox,name=\CYRP\cyrr\cyri\cyrm\cyre\cyrr} + {placement=tb,within=section,fileext=lox} + +\newfloatcommand{fcapsideleft}{figure}[{\capbeside + \captionsetup[capbesidefigure]{format=break,labelsep=none, + justification=raggedleft}% + \thisfloatsetup{capbesideposition=left}}][\FBwidth] +\newfloatcommand{fcapsideright}{figure}[{\capbeside + \captionsetup[capbesidefigure]{format=break,labelsep=none, + justification=raggedright}% + \thisfloatsetup{capbesideposition=right}}][\FBwidth] -%^^A for Appendix----------- +\DeclareFloatStyle{MyBoxed}{style=Boxed, + captionskip=5pt,frameset={\fboxrule1pt\fboxsep12pt}} + +\DeclareFloatVCode{lowthickrule}{\par\vskip2pt\rule{\hsize}{.8pt}\par} +\DeclareFloatVCode{grayruleabove}{{\color{gray}\par\rule\hsize{2.8pt}\vskip4pt\par}} +\DeclareFloatVCode{grayrulebelow}{{\color{gray}\par\vskip4pt\rule\hsize{2.8pt}}} + +\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}} + +\DeclareMarginSet{hangleft}% + {\setfloatmargins + {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}} +\DeclareMarginSet{hangtoheads}% + {\setfloatmargins + {\hfil}{\hskip-.7\headheight\hskip-\headsep}} + +\DeclareFloatSeparators{colorsep}% + {\begingroup\color{blue}% + \floatfacing{\hskip6pt\vrule width4.8pt\hskip6pt}% + {\hskip6pt\vrule width4.8pt\hskip6pt}% + \endgroup} \DeclareFloatSeparators{none}{} \DeclareFloatSeparators{cicero}{\hskip1cc} \DeclareFloatSeparators{enskip}{\hskip.5em} \DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth} -\newfloatcommand{fcapsideleft}{figure}[{\capbeside - \captionsetup[capbesidefigure]{format=break,labelsep=none, - justification=raggedleft}\thisfloatsetup{capbesideposition=left}}][\FBwidth] -\newfloatcommand{fcapsideright}{figure}[{\capbeside - \captionsetup[capbesidefigure]{format=break,labelsep=none, - justification=raggedright}\thisfloatsetup{capbesideposition=right}}][\FBwidth] %^^A ----------------------- +%^^A\DeclareCaptionFormat{labelonly}{#1} +\DeclareCaptionLabelFormat{numonly}{#2)} +\DeclareCaptionLabelFormat{list}{\bothIfFirst{#1}{ }#2)} +\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2} + +\DeclareCaptionFont{green}{\color{green}} +\DeclareCaptionFont{magenta}{\color{magenta}} \def\rightlast{\leftskip0ptplus1fil \rightskip0ptplus-1fil\parfillskip0ptplus1fil} \def\leftlast{\leftskip0pt\rightskip0pt\parfillskip0ptplus1fil} + %^^A for all versions of caption 3.x? -\DeclareCaptionFormat{flushrightlabel}{\leavevmode\rightline{#1}#2\par#3\par} -\DeclareCaptionJustification{togglelast} - {\floatfacing*\rightlast\leftlast} -\DeclareCaptionStyle{capbesidefigure}{justification=togglelast} -\captionsetup[table]% - {format=flushrightlabel,textfont=bf,labelsep=none,labelfont=sl,captionskip=5pt} +\DeclareCaptionLabelFormat{rightline}{\rightline{\bothIfFirst{#1}{ }#2}} +\DeclareCaptionJustification{togglelast}{\floatfacing*\rightlast\leftlast} + +\captionsetup[table]{labelformat=rightline,textfont=bf,labelfont={md,sl},labelsep=newline} \captionsetup[capbesidefigure]{justification=togglelast} \captionsetup[floatfoot]{format=default} -%^^A for Appendix----------- \DeclareCaptionFormat{break}{#1#2\par#3\par} + %^^A ----------------------- -\makeatletter +\advance\oddsidemargin.25\marginparwidth \evensidemargin\oddsidemargin \@mparswitchfalse \widowpenalty10000 @@ -125,14 +202,15 @@ \def\l@subsubsection{\@dottedtocline {3}{4.2em}{3.6em}} \newcommand\Resizebox[5]{\setbox0\hbox{\setlength\unitlength{#1/#3}%^^A - \ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi{#5}}%^^A - \@tempdima\ht0\advance\@tempdima\dp0%^^A - \ifdim\@tempdima>#2\setlength\unitlength{#2/#4}\ifx\pspicture\undefined - \else\psset{unit=\unitlength}\fi - {#5}\else\box0\fi} + \ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi{#5}}%^^A + \@tempdima\ht0\advance\@tempdima\dp0%^^A + \ifdim\@tempdima>#2 + \setlength\unitlength{#2/#4}\ifx\pspicture\undefined + \else\psset{unit=\unitlength}\fi + {#5}\else\box0\fi} \providecommand*{\file}[1]{\texttt{#1}} -\providecommand*{\pkg}[1]{\textsf{#1}} +\providecommand*{\package}[1]{\textsf{#1}} \providecommand*{\cls}[1]{\textsf{#1}} \providecommand*{\env}[1]{\texttt{#1}} \providecommand*{\meta}[1]{$\langle$\textit{#1}$\rangle$} @@ -146,6 +224,8 @@ \setlength{\parsep}{0pt}% }}% {\endlist} + +\newenvironment{Quote}{\par\RestoreSpaces\small\begin{quote}\obeylines\parskip0pt}{\end{quote}\par\@endpetrue} \def\OptionLabel{RaggedRight} \DeclareRobustCommand\La{L\kern-.36em% @@ -157,11 +237,33 @@ \vss}% }% } -\makeatother -%\OnlyDescription +%maybe there is better solution? +\def\DescribeMacro{\let\outer@nobreak\@nobreaktrue + \leavevmode\everypar{\@nobreakfalse}\@bsphack + \begingroup\MakePrivateLetters\Describe@Macro} +\def\DescribeEnv{\let\outer@nobreak\@nobreaktrue + \leavevmode\everypar{\@nobreakfalse}\@bsphack + \begingroup\MakePrivateLetters\Describe@Env} +\def\RestoreSpaces{\@nobreakfalse} + +\newcommand\FRmpar{\@ifstar{\@nobreaktrue\xFRmpar}{\xFRmpar}} + +\newcommand\xFRmpar[2]{\label{#2}\marginpar{\footnotesize + \raggedleft\advance\leftskip.3\hsize#1}} + +\providecommand\sectionname{разд.} +\def\SpecialUsageIndex#1{} +\def\SpecialEnvIndex#1{} +\newcommand\seeIntro{\hyperref[sec:intro]{Intro}} + +\makeatother%^^A--------------------------------- + +\OnlyDescription +%\let\PrintChanges\relax +\let\PrintIndex\relax \EnableCrossrefs -\RecordChanges +%\RecordChanges \begin{document} \DocInput{floatrow-rus.tex} \PrintChanges @@ -173,9 +275,9 @@ % % \ifx\pspicture\undefined\else\psset{unit=1pt}\fi % -% \def\fileversion{v0.1g} -% \def\filedate{2005/07/15} -% \title{Документация к пакету \pkg{floatrow}\thanks{Версия +% \def\fileversion{v0.2a} +% \def\filedate{2007/08/24} +% \title{Документация к пакету \package{floatrow}\thanks{Версия % документации \fileversion, датирована % \filedate.}} % @@ -186,67 +288,300 @@ % \maketitle % % \begin{abstract}\openup-.5pt -% Данный пакет создан как расширение или дополнение пакета \pkg{float}. -% \pkg{floatrow} использует коды из пакетов \pkg{float}\footnote{Пакет \pkg{float}, +%^^A% This package was created as extension of the \package{float} +%^^A% package. The \package{floatrow} package borrows core code from +%^^A% the \package{float}\footnote{\package{float} package, version v1.3d dated +%^^A% 2001/11/08, \copyright{} 1991-2000 Anselm Lingnau.} and +%^^A% \package{rotfloat}\footnote{\package{rotfloat} package, version v1.2 +%^^A% dated 2004/01/04, \copyright{} 1995--2004 Axel +%^^A% Sommerfeldt.} packages, so you \emph{must not} load these packages. +% Данный пакет создан как расширение или дополнение пакета \package{float}. +% \package{floatrow} использует коды из пакетов \package{float}\footnote{Пакет \package{float}, % версия v1.3d датирована 2001/11/08, \copyright{} 1991-2000 -% Anselm Lingnau.} и \pkg{rotfloat}\footnote{Пакет \pkg{rotfloat}, +% Anselm Lingnau.} и~\package{rotfloat}\footnote{Пакет \package{rotfloat}, % версия v1.2 датирована 2004/01/04, \copyright{} 1995--2004 Axel -% Sommerfeldt.}, поэтому эти пакеты не должны загружаться. -% -% Пакет \pkg{float} обладает хорошим механизмом для создания (и простой модификации) -% единообразного оформления для всех плавающих объектов (флотов) -% без добавления повторяющихся команд в документации; к сожалению он работает -% только с простыми комбинациями <<объект---подпись>>. -% -% Пакет \pkg{floatrow} расширяет этот механизм и позволяет: +% Sommerfeldt.}, поэтому эти пакеты \emph{не должны} загружаться. +% +%^^A% The \package{float} package has a~good mechanism for the creation (and easy +%^^A% modification) of common layout for all floats without +%^^A% adding any repeated code in the document; besides, this package allows to +%^^A% create new float type; it deals only +%^^A% with alone (plain) combinations ``object (float contents)---caption''. +%^^A% The \package{rotfloat} +%^^A% package changes environments of rotated floats (\package{rotating} package) +%^^A% to adapt them to \package{float}'s settings. +% Пакет \package{float} обладает хорошим механизмом для создания (и~простой +% модификации) единообразного оформления для всех плавающих объектов +% (флотов) без добавления повторяющихся команд в~документации; кроме +% этого пакет позволяет создать новый тип плавающего объекта; он работает +% только с~простыми одиночными комбинациями +% «объект (содержимое флота)\cdash--~подпись». +% Пакет \package{rotfloat} адаптирует окружения развёрнутых плавающих объектов +% (пакета \package{rotating}) под пакет \package{float}. +% +%^^A% Current package extends these possibilities and, at last, it allows: +% Пакет \package{floatrow} расширяет эти возможности и, в~результате, поз\-воляет: % \begin{itemize}\itemsep0pt\parskip0pt -% \item% -% изменять ширину флота; -% \item% -% задать всему флоту ширину, равную ширине объекта; -% \item% +% \item +%^^A% usage of mechanism borrowed from \package{float} package for +%^^A% creation of new float type; +% использовать механизм, взятый из пакета \package{float}, для создания нового +% типа плавающего объекта; +% \item +%^^A% to change width of float box, also +%^^A% to set width for float box, which equals to the width of object; +% изменить ширину бокса всего плавающего объекта, +% а~также задать ширину равную ширине содержимого плавающего объекта; +% \item +%^^A% to put caption beside object; % поместить подпись сбоку объекта; -% \item% +% \item +%^^A% to put a few floats side by side on the row; % поместить несколько флотов рядом; % \item% +%^^A% to put footnotes inside float box (using \env{minipage}-like mode); +%^^A% and also put legend-like text; % поместить сноски внутри плавающего объекта (используя режим, % аналогичный \env{minipage}); поместить текст экспликации; % \item% -% создавать и изменять специальное оформление для каждого типа флотов -% и различных размещений флота и его компонентов (расположенных на две -% колонки или развёрнутых вертикально). +%^^A% to create and/or modify special layout for each type of float and +%^^A% for different positioning of float and its components, e.g. +%^^A% two-column or rotated float. +% создавать и/или изменять специальное оформление для каждого типа флотов +% и~различных размещений флота и~его компонентов, например, расположенных на две +% колонки или развёрнутых вертикально. % \end{itemize} % -% Пакет \pkg{floatrow} объединён с пакетом \pkg{caption} -% (версии 3.0 и выше). Также пакет \pkg{floatrow} (как -% и пакет \pkg{caption}) использует механизм пакета \pkg{keyval} -% ключ---опция для задания оформления. +%^^A% The \package{floatrow} package is cooperated with \package{caption} package +%^^A% (\textit{needs version} 3.0\textbf{q} \textit{and later}). +%^^A% Also the \package{floatrow} package (like +%^^A% \package{caption} one) uses \package{keyval} package mechanism for layout +%^^A% settings. +% Пакет \package{floatrow} объединён с~пакетом \package{caption} +% (\textit{версия должна быть} 3.0\textbf{q} \textit{и~выше}). +% Также пакет \package{floatrow} (как +% и~пакет \package{caption}) использует механизм пакета \package{keyval} +% ключ---опция для задания оформления флотов. % \medskip % -% \emph{Терминология документации}: -% \begin{description}\vskip-\lastskip\itemsep0pt\parskip0pt -% \item[флот] или \textbf{плавающий объект} (float [box]) "--- -% может включать \emph{объект}, -% \emph{подпись} и \emph{дополнительный материал}; -% создаётся внутри окружений \env{figure} или \env{table} (\emph{простой флот}), -% или командой |\floatbox|; +% \begingroup +% \slshape +%^^A% I think I did my best to follow these ideas and I hope that someone +%^^A% likes this idea: helps to maintain this idea anyway, or finds bugs +%^^A% and absurdities in this package or documentation. +% Я~делаю всё что могу для поддержки этого пакета и~надеюсь, что кто-то +% поддержит эту идею и~поможет её развить дальше, даже если это будут +% просто сообщения об ошибках в~пакете или документации. +% \endgroup +% \clearpage % -% \item[объект] (object) "--- таблица (\env{tabular}) или любая графика, являющаяся -% содержимым таблицы (\env{figure}), рисунка (\env{table}) или другого типа -% плавающего объекта; % -% \item[подпись] (caption) "--- подпись или табличный заголовок, заданный командой +%^^A% \centerline{\textbf{Document Terminology}\nopagebreak\vspace{1ex}} +% \centerline{\textbf{Терминология документации}\nopagebreak\vspace{1ex}} +% \begin{description}\itemsep0pt\parskip0pt +%^^A% \item[float] +%^^A% could include \emph{object}, \emph{caption}, and +%^^A% \emph{foot material}; \emph{float} is created by \env{figure} or +%^^A% \env{table} environments (\emph{plain float}), or in |\floatbox| +%^^A% command; +% \item[флот] +% или \textbf{плавающий объект} (float [box]) +% может включать \emph{объект}, +% \emph{подпись} и~\emph{дополнительный материал}; +% создаётся внутри окружений \env{figure} или \env{table} (\emph{простой флот}), +% или командой |\floatbox| и~её модификациями; +% +%^^A% \item[float type] +%^^A% means standard environments \env{figure} and \env{table}, +%^^A% also their subtypes, like e.g.~\env{wrapfigure} (\package{wrapfig} package), +%^^A% \env{sidewaysfigure} (\package{rotating} and \package{rotfloat} packages), +%^^A% \env{longtable} (\package{longtable} package) etc.; +%^^A% command; +% \item[тип флота] (float type) +% означает как стандартные окружения \env{figure} или \env{table}, +% так и~их подвиды, например~\env{wrapfigure} (пакет \package{wrapfig}), +% \env{sidewaysfigure} (пакеты \package{rotating} и~\package{rotfloat}), +% \env{longtable} (\package{longtable}) и~др.; +% +%^^A% \item[object] +%^^A% \env{tabular} or graphics, as contents of table +%^^A% (\env{figure}) or figure (\env{table}) or other type of float; +% \item[объект] +% (object) табличный материал (например, \env{tabular}) или любая +% графика, являющаяся содержимым таблицы (\env{table}), рисунка (\env{figure}) +% или другого типа плавающего объекта; +% +%^^A% \item[caption]text in |\caption|; +% \item[подпись] +% (caption) подпись или табличный заголовок, заданный командой % |\caption|; % -% \item[дополнительный материал] (foot material) "--- экспликации и/или сноски внутри +%^^A% \item[foot material]explications, legends and/or footnotes inside +%^^A% \emph{float} box (|\footnote|/|\mpfootnotemark|/|\footnotetext|, +%^^A% and |\floatfoot| macros). +% \item[дополнительный материал] +% (foot material) экспликации и/или сноски внутри % \emph{флота} (|\footnote|/|\mpfootnotemark|/|\footnotetext| или |\floatfoot|). % \end{description} -% % \end{abstract} % +% \begingroup\small +%^^A% \vspace{2ex}\centerline{\textbf{Frequently Appeared Design}\nopagebreak} +% \vspace{2ex}\centerline{\textbf{\TeX ническое редактирование}\nopagebreak} +% \begin{multicols}{2}\raggedright\advance\rightskip1em +% \makeatletter\let\item\@idxitem\ignorespaces\makeatother +% \item{Оформление типов флотов (|\floatsetup|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatsetup} +% +% \item{Подпись} +% \subitem{сверху (нумерованные таблицы, |\ttabbox|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A; +% %^^A\pageref{FAD:CaptionAbove}, +% %^^A\pageref{FAD:CaptionAboveTable}, +% %^^A\pageref{FAD:CaptionAboveTableII}, +% %^^A\pageref{FAD:CaptionAboveIII} +% +% \subitem{по ширине многостраничной таблицы \env{longtable} +% (ключ~|LTcapwidth=|)} +% \strut\pfill +% \pageref{FAD:LTcapwidth} +% +% \subitem{по ширине объекта} +% \emph{см}.~{флот, задание ширины по ширине объекта}{} +% +% \subitem{сбоку (нумерованные рисунки, |\fcapside|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A;~ +% %^^A\pageref{FAD:BesideCaptionII}, +% %^^A\pageref{ssec:ffigbox:etc}, +% %^^A\pageref{fig:subfig:catsI}, +% +% \item{Подфлот}\nopagebreak +% \subitem{с~номером подфлота сбоку} +% \strut\pfill +% \pageref{FAD:sublabelbeside} +% +% \subitem{с~подподписью сверху} +% \strut\pfill +% \pageref{FAD:subcapabove} +% +% \item{Сноски внутри флота} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatfootnote}%^^A; +% %^^A\pageref{FAD:FnoteInsideFloat} +% +%^^A%^^A% \subitem{текст сноски (|\footnotetext|)} +%^^A%^^A% \strut\pfill +%^^A%^^A% \textsl{\sectionname}~\ref{sec:floatfootnote}; +%^^A%^^A% \pageref{FAD:FnoteInsideFloat} +% +% \subitem{знак сноски (|\mpfootnotemark|)} +% \strut\pfill +% \pageref{FAD:FnoteInsideFloat} +% +% \item{Создание нового типа флотов (|\DeclareNewFloatType|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:newfloat}%^^A; +% %^^A\pageref{FAD:newfloattype} +% +% \item{Флот}\nopagebreak +% \subitem{бокс (|\floatbox|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatbox}; +% +% \subsubitem{рисунок (|\ffigbox|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}; +% +% \subsubitem{таблица (|\ttabbox|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}; +% +% \subitem{в~оборку} +% \strut\pfill +% \textsl{\sectionname}~\ref{ssec:wrapfig}--\ref{ssec:picins} +% +% \subitem{задание ширины}\nopagebreak +%^^A% \subsubitem{ключ |floatwidth=| и~др.} +%^^A% \strut\pfill +%^^A% \textsl{\sectionname}~\ref{sec:wd:object}, +% +% \subsubitem{опция в~|\floatbox| и~др.} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A; +% %^^A\pageref{FAD:FBwidthI}, +% %^^A\pageref{FAD:FBwidthII} +% +% \subsubitem{по оставшемуся месту в~ряду +% (опция |\Xhsize| (|\floatbox|))} +% \strut\pfill +% \pageref{FAD:floatfillspace} +% +% \subsubitem{по ширине объекта (опция |\FBwidth| +% (|\floatbox|))\kern-1em\allowbreak} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A; +% %^^A\pageref{FAD:FBwidthI}, +% %^^A\pageref{FAD:FBwidth}, +% %^^A\pageref{FAD:FBwidthII} +% +% \subitem{развёрнутые (окр.~|sideways..|)\kern-1em\allowbreak} +% \strut\pfill +% \textsl{\sectionname}~\ref{ssec:rotating}%^^A--\ref{ssec:lscape} +% \subsubitem{размещение на развороте} +% \strut\pfill +% \pageref{FAD:ContRotated} +% +% \subsubitem{пустой колонтитул (|\emptyfloatpage|)} +% \strut\pfill +% \pageref{FAD:emptyfloatpage} +% +% \subitem{ряд (окр. |floatrow|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatrow}%^^A; +% %^^A\pageref{FAD:BesideFloat}, +% %^^A\pageref{ssec:app:besidestart}--\pageref{ssec:app:besidefinish} +% +% \subsubitem{флот занимает оставшееся место в~ряду} +% \emph{см.}~{флот, задание ширины по оставшемуся месту в~ряду} +% +%^^A%^^A% \subsubitem{флоты одного вида в~одном ряду} +%^^A%^^A% \strut\pfill +%^^A%^^A% \pageref{FAD:floatrow} +% +% \subsubitem{флоты различных типов в~одном ряду} +% \strut\pfill +% \pageref{FAD:MixedRow}, +% \pageref{FAD:MixedRowII}%^^A%, +% %^^A\pageref{FAD:Mixrow} +% +% \subitem{как в~стандартном \LaTeX'е (|\RawFloats|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:rawfloats}%^^A; +% %^^A\pageref{FAD:PlainFloat}, +% %^^A\pageref{FAD:PlainFloatII} +% +% \subitem{\textbf{сюда!}, или флот «на якоре» (опция~\texttt{H})} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatborrowII} +% +% \item{Экспликации (|\floatfoot|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{subsec:floatfoot} +% \end{multicols}% +% \endgroup +% % \clearpage % \begingroup -% \small +% \small\openup-.5pt % \tableofcontents % \listoffigures % \listoftables @@ -254,22 +589,52 @@ % \clearpage % \suppressfloats[t] % -% \section{Введение} +%^^A% \section{Macros for Building Floats} +% \section{Макрокоманды для построения флотов} % +%^^A% \subsection{Introduction}\label{sec:intro} +% \subsection{Введение}\label{sec:intro} +% +%^^A% One of the first macros of package, created for float contents, +%^^A% is a macro which builds contents of table environment with caption +%^^A% above. The width of caption equals to the width of contents, e.g. +%^^A% of tabular (see table~\ref{intro:table}).%^^A +%^^A% \FRmpar{Caption above table object}{FAD:CaptionAbove}%^^A +%^^A%^^A% \footnote{Table caption in current documentation use a~special layout, +%^^A%^^A% popular in Russian typographic publications, look for +%^^A%^^A% \texttt{flushrightlabel} key of \cs{captionsetup} in the preamble of +%^^A%^^A% source file of this documentation and in sample files +%^^A%^^A% ({\sectionname}~\ref{sec:samples}).} % Одной из первых макрокоманд пакета, созданных для плавающего объекта (флота), -% является команда, которая помещает содержимое таблицы с табличным заголовком -% вверху. Ширина заголовка равна ширине содержимого, здесь "--- таблицы -% (см. табл.~\ref{intro:table}). -%\begin{verbatim} -%\begin{table} -%\ttabbox -% {\caption{Таблица ...}\label{...}} -% {\begin{tabular}...\end{tabular}} -%\end{table} -%\end{verbatim} -% \begin{table}[h] +% является команда, которая помещает содержимое таблицы с~табличным заголовком +% вверху. Ширина заголовка равна ширине содержимого, здесь \cdash--- табличного +% материала (см.~табл.~\ref{intro:table}).%^^A +% \relax\FRmpar{Подпись (заголовок) над таблицей}{FAD:CaptionAbove}%^^A +% \footnote{Табличный заголовок в~данной документации использует оформление, +% популярное в~русской технической литературе.} +%\begin{Quote}\openup-.65pt +%\meta{preamble} +% |\usepackage[|\hyperref[setup:font]{\texttt{font}}|=small,|%^^A +% \hyperref[setup:captionskip]{\texttt{captionskip}}|=5pt,|%^^A +% \hyperref[setup:objectset]{\texttt{objectset}}|=centering,| +% | |\hyperref[setup:margins]{\texttt{margins}}|=centering,...]{floatrow}[2007/08/24]| +% |\|\hyperref[sec:floatsetup]{\texttt{floatsetup}}|[table]{|%^^A +% \hyperref[setup:style]{\texttt{style}}|=Plaintop}| +% |\usepackage[font=small,labelfont=bf,labelsep=period,| +% | justification=centerlast]{caption}[2007/04/11]| +% |\DeclareCaptionLabelFormat{rightline}{\rightline{\bothIfFirst{#1}{ }#2}}| +% |\captionsetup[table]{labelformat=rightline,textfont=bf,| +% | labelfont={md,sl},labelsep=newline}| +%\meta{preamble} +%|\begin{table}| +%|\|\hyperref[floatbox:ttabbox]{\texttt{ttabbox}} +%| {\caption{A small table ...}\label{...}}| +%| {\begin{tabular}...\end{tabular}}| +%|\end{table}| +%\end{Quote} +% \begin{table}[H]\jot1.5pt % \ttabbox -% {\caption{Таблица с заголовком сверху}\label{intro:table}} +% {\caption{Таблица с заголовком сверху (\cmd{\ttabbox})}\label{intro:table}} % {\begin{tabular}{|c|c|c|} % \hline % \thead{First data} & \thead{Second data} & \thead{Third data} \\ @@ -280,383 +645,1679 @@ % \end{tabular}} % \end{table}%^^A % -% Пара этой команде, создающая рисунки "---|\ffigbox| "---помещает -% подрисуночную подпись снизу и ширина по умолчанию равна ширине основного -% текста. Оформление, создаваемое по умолчанию командой |\ffigbox| такое же, -% как в обычном окружении \env{figure}; эта макрокоманда будет -% полезнее для помещения плавающих объектов рядом (см. например, -% рис.~\ref{intro:leftfig} и~\ref{intro:rightfig}) -% -% Третья макрокоманда "---|\fcapside| (рис.~\ref{intro:beside}) "---помещает -% подрисуночную подпись рядом: -% -%\begin{verbatim} -%\begin{figure} -%\fcapside -% {\caption[Подпись рядом]{Подпись рядом ...}\label{...}} -% {...} -%\end{figure} -%\end{verbatim} -% \begin{figure}[h] +%^^A% The pair of this command, which creates figures---|\ffigbox|---puts +%^^A% caption below contents and default width of caption equals +%^^A% to the width of main text. +% Пара этой команде, создающая рисунки \cdash--- |\ffigbox| \cdash--- помещает +% подрисуночную подпись снизу и~её ширина по умолчанию равна ширине основного +% текста или заданной ширине |\hsize|. +%\begin{Quote}\openup-.65pt +%|...| +%|\begin{figure}| +%|\|\hyperref[floatbox:ffigbox]{\texttt{ffigbox}} +%| {\caption{A figure...}\label{...}}| +%| {...}|\nopagebreak +%|\end{figure}| +%\end{Quote} +%\begingroup +% \begin{figure}[H] +% \ffigbox +% {\caption[Простой бокс рисунка (\cmd{\ffigbox})]{Простой бокс рисунка +% с~длинной длинной длинной длинной длинной +% длинной длинной длинной длинной многострочной подписью}\label{intro:figure}} +% {\unitlength1.08\unitlength\input{Doll.picture}} +% \end{figure}%^^A +%\endgroup +%^^A% The default +%^^A% layout of |\ffigbox| (figure~\ref{intro:figure}) is similar to plain +%^^A% \env{figure} environment. If you set option |[\FBwidth]| +% Оформление, создаваемое по умолчанию командой |\ffigbox| такое же, +% как в~обычном окружении \env{figure}. Но если задать опцию|[\FBwidth]| +% \FRmpar{Ширина подписи равна ширине объекта}{FAD:FBwidthI} +% как показано ниже:\par\RestoreSpaces +%\begin{Quote} +%|...| +%|\begin{figure}|\nopagebreak +%|\ffigbox[\|\hyperref[floatbox:FBwidth]{\texttt{FBwidth}}|]| +%| {\caption{A figure}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] +% \ffigbox[\FBwidth] +% {\caption[Простой бокс рисунка по ширине графики (\cmd{\ffigbox})]{Простой бокс рисунка +% по ширине графики с~длинной длинной длинной +% многострочной подписью}\label{intro:figure:FBwidth}} +% {\unitlength1.87\unitlength\input{Horse.picture}} +% \end{figure}%^^A +%^^A% You get caption width equal to the width of picture +%^^A% (see figure~\ref{intro:figure:FBwidth}). +% Ширина подписи станет равной ширине графики +% (см.~рис.~\ref{intro:figure:FBwidth}). +% +%^^A% The third macro---|\fcapside| (figure~\ref{intro:beside})---puts +%^^A% caption beside: +% Третья макрокоманда \cdash--- |\fcapside| (рис.~\ref{intro:beside}) \cdash--- помещает +% подпись сбоку: +%\begin{Quote} +%\meta{preamble} +% |\usepackage[...|\hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=quad,|%^^A +% \hyperref[setup:facing]{\texttt{facing}}|=yes,| +% | |\hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|=inside,...]{floatrow}[2007/06/24]| +%|...| +%\meta{preamble} +%|\begin{figure}| +%|\|\hyperref[floatbox:fcapside]{\texttt{fcapside}} +%| {\caption[...]{...}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] % \fcapside % {\caption[Подпись рядом (ширина равна одной <<колонке>>)]{Подпись рядом, % (ширина подписи равна ширине объекта) and more text % and some more text and a bit more text and -% a little more text and a little peace of text to fill +% a little more text and a little piece of text to fill % space}\label{intro:beside}} -% {{\setlength\unitlength{4cm/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {{\setlength\unitlength{3.68cm/100}%^^A +% \input{Bear.picture}}} +% \end{figure} +%^^A% The width of main text or predefined value of |\hsize| before |\fcapside| command, +%^^A% by default, divided into two columns, their width equals to the half of current |\hsize| +%^^A% (figure~\ref{intro:beside}) excluding float margins and +%^^A% separation material between float and caption. +%^^A% One column is occupied by object, another---by caption and foot material (explications +%^^A% or legends and footnotes). +% Ширина основного текста, или +% предопределённая командой |\hsize| до задания |\fcapside| ширина по умолчанию делится +% на две колонки (рис.~\ref{intro:beside}), исключая +% поля вокруг бокса и~разделитель между объектом и~подписью. В~одну из колонок помещается рисунок, +% в~другую \cdash--- подпись (а~также сноски и~экспликации). +% +%^^A% If you set the |[\FBwidth]| option: +%^^A% \FRmpar{Caption's width equals to object}{FAD:FBwidthII} +% И~если задать опцию |[\FBwidth]|: +% \FRmpar{Ширина подписи равна ширине объекта}{FAD:FBwidthII} +%\begin{Quote} +%|...| +%|\fcapside[\FBwidth]| +%|...| +%\end{Quote} +% \begin{figure}[H] +% \fcapside[\FBwidth] +% {\caption[Подпись сбоку (занимает все свободное место от заданной ширины возле рисунка)]{Подпись сбоку +% (подпись занимает всё оставшееся место рядом с~рисунком) and more text +% and some more text and a bit more text and +% a little more text and a little piece of text to fill +% space}\label{intro:beside:FBwidth}} +% {{\setlength\unitlength{3.68cm/100}%^^A +% \input{Bear.picture}}} +% \end{figure} +%^^A% The graphic column width equals to the graphics and caption occupies the rest space +%^^A% (see figure~\ref{intro:beside:FBwidth}).\medskip +% Ширина <<колонки>> для графики равна её ширине, а~подпись занимает по ширине оставшееся место +% (см.~рис.~\ref{intro:beside:FBwidth}).\medskip +% +% +%^^A% \subsection{The Floatbox Macro}\label{sec:floatbox} +% \subsection{Макрокоманда \cs{floatbox}}\label{sec:floatbox} +% +% \DescribeMacro{\floatbox} +%^^A% This package offers macro, which creates necessary layout of float +%^^A% object contents and caption (see also the introduction). +%^^A% The main macro looks like: +% Данный пакет предлагает команду, создающую +% необходимое размещение элементов +% флота (см. также Введение). +% Она задаётся следующим образом: +% \par\RestoreSpaces +% \begin{Quote} +% |\floatbox[|\meta{preamble}|]{|\meta{captype}|}[|^^A +% \meta{width}|][|\meta{height}|][|\meta{vert pos}|]| +% | {|\meta{caption}|}{|\meta{object}|}|\footnotemark +% \end{Quote}%^^A +%^^A% \footnotetext{The +%^^A% order of mandatory arguments and their contents makes not +%^^A% difference during building of float box. This macro +%^^A% historically needs two mandatory arguments, but they could +%^^A% be filled freely.} +% \footnotetext{Порядок +% обязательных аргументов и их содержимое не имеет значения +% для построения флота. Эта макрокоманда исторически требует +% два обязательных аргумента, но они могут быть заполнены как +% угодно.} +%^^A% where\label{floatboxsets}: +% где\label{floatboxsets}: +% \begin{description}\itemsep0pt +%^^A% \item[\meta{preamble}]there could be |\capbeside|\label{floatbox:capbeside} command which +%^^A% places caption beside float contents; +%^^A% |\nocapbeside|\label{floatbox:nocapbeside} +%^^A% (to put caption above/below, accordingly +%^^A% to float type's style); +%^^A% |\captop|\label{floatbox:captop} +%^^A% (to put caption above); +%^^A% or another systematic command +%^^A% (even with usage of |\captionsetup| +%^^A% and |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}} +%^^A% see examples in documentation and appendix). +% \item[\meta{preamble}]здесь могут быть такие команды, как +% |\capbeside|\label{floatbox:capbeside}, которая размещает подписи сбоку объекта; +% |\nocapbeside|\label{floatbox:nocapbeside} (размещает подписи сверху/снизу, в~зависимости +% от настроек стиля); +% |\captop|\label{floatbox:captop} (размещает подписи сверху); +% или другая повторяющаяся команда +% (даже возможно использование |\captionsetup| +% и~|\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}} "--- +% см. примеры в~документации и~приложении). +%^^A% \item[\meta{captype}]the type of float this command created for; +% \item[\meta{captype}]тип флота, для которого строится оформление; +%^^A% \item[\meta{width}]the width of object---caption box +%^^A% (in case of caption above or below object), +%^^A% or width of object box (if caption stays beside object). +%^^A% Empty width option, |[]|, and option |[\hsize]| mean the same.\par +%^^A% The option |[\FBwidth]|\label{floatbox:FBwidth}%^^A +%^^A% \FRmpar{Caption's width\\ equals to object}{FAD:FBwidthIII} +%^^A% in~the \meta{width} argument +%^^A% allows usage of natural width of float contents: \qquad for full float box in the case of caption +%^^A% above/\allowbreak below; \qquad in~the case of beside caption natural width of float object expands to +%^^A% object box only.\par +%^^A% \emph{Note}. If you use the \verb|\FBwidth| command in the \meta{width} +%^^A% optional argument, please be sure that object contents can be placed +%^^A% in |\hbox| command (you only allowed to use |\vspace| (not |\vskip|!) +%^^A% command at the very +%^^A% beginning and very end of object contents for fine tuning +%^^A% of vertical spaces and position of contents); +% \item[\meta{width}]ширина флота целиком +% (если подпись сверху или снизу объекта), +% или ширина объекта (если подпись сбоку). +% Пустая опция задания ширины, |[]|, и~опция |[\hsize]| \cdash--- одно и~то же.\par +% Опция |[\FBwidth]|\label{floatbox:FBwidth}%^^A +% \FRmpar{Ширина подписи\\ по ширине объекта}{FAD:FBwidthIII} +% в~аргументе \meta{width} +% позволяет использовать натуральную ширину объекта.\par +% \emph{Замечание}. При использовании \verb|\FBwidth| +% в~аргументе \meta{width}, вы должны быть уверены, что +% содержимое объекта может быть помещено внутри |\hbox| +% (вы можете воспользоваться командой |\vspace| (но не |\vskip|!) в~начале +% и/или в~конце содержимого объекта для корректировки +% вертикальных отбивок); +%^^A% \item[\meta{height}]the height of object---caption box +%^^A% (in case of caption above or below object), +%^^A% or height of object box (if caption stays beside object); +% \item[\meta{height}]высота флота +% (если подпись сверху или снизу), +% или высота объекта (если подпись сбоку); +%^^A% \item[\meta{vert pos}]vertical alignment of object contents in +%^^A% object's box in case of \meta{height} argument has larger value than +%^^A% height of object contents, float placed inside \env{floatrow}. +% \item[\meta{vert pos}]вертикальное выравнивание содержимого +% объекта в~боксе в~случае, если аргумент \meta{height} имеет +% б\'ольшую величину чем заданная высота объекта, +% или флот помещён в~ряд в~окружении \env{floatrow}. +%^^A% \item[\meta{caption}]text of caption and legends (you may use +%^^A% |\floatfoot| command (see page~\pageref{subsec:floatfoot}); you +%^^A% may also use |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff +%^^A% for footnotes inside float, or |\floatfoot| command; +% \item[\meta{caption}]подпись и~экспликации (вы можете использовать +% команду |\floatfoot| (см.~с.~\pageref{subsec:floatfoot}); +% вы можете использовать команды +% |\footnote|/\allowbreak|\mpfootnotemark|/%^^A +% \allowbreak|\footnotetext| +% для сносок внутри флота, или команду |\floatfoot|; +%^^A% \item[\meta{object}]Contents of float; you may use +%^^A% |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff or +%^^A% |\floatfoot| command. +% \item[\meta{object}]содержимое флота; вы также можете +% использовать команды +% |\footnote|/\allowbreak|\mpfootnotemark|/%^^A +% \allowbreak|\footnotetext| +% или |\floatfoot|. +% \end{description} +% +%^^A% The commands |\ttabbox|, |\ffigbox|, and |\fcapside| abbreviate |\floatbox| command, which creates +%^^A% float boxes: +%^^A% \begin{itemize}\itemsep0pt\parskip0pt +%^^A% \item[--] the |\ttabbox| command we can replace with the code\\ +%^^A% | \floatbox[\captop]{table}[\FBwidth]|; +%^^A% \item[--] the |\ffigbox| one---with |\floatbox{figure}| (simplest definition); and +%^^A% \item[--] the |\fcapside| one---with |\floatbox[\capbeside]{figure}|. +%^^A% \end{itemize}% +% Команды |\ttabbox|, |\ffigbox|, и~|\fcapside| являются сокращениями команды |\floatbox|, которая +% создаёт различные комбинации объект---подпись: +% \begin{itemize}\itemsep0pt\parskip0pt +% \item[--] команду |\ttabbox| можно +% заменить на \\|\floatbox[\captop]{table}[\FBwidth]|; +% \item[--] |\ffigbox|---на +% |\floatbox{figure}| (простейший вариант); и +% \item[--] |\fcapside| \cdash--- на команду |\floatbox|\allowbreak|[\capbeside]{figure}|. +% \end{itemize}% +% +%^^A% You see in figure~\ref{intro:figure:FBwidth} that you can change width +%^^A% for |\ffigbox| command to get caption (and also full float box) width equal to the width +%^^A% of object. Also you may create a new command based on |\floatbox| command +%^^A% and set float box's width equal to object's, +%^^A% see {\sectionname}~\ref{ssec:ffigbox:etc}. +% Вы видите по рис.~\ref{intro:figure:FBwidth}, что можно изменить ширину +% в~команде~|\ffigbox| так, что ширина подписи (а~заодно и~всего бокса флота) будет +% равна ширине объекта. Можно создать собственную команду, на базе |\floatbox|, +% где определить ширину блока по умолчанию равной ширине объекте, +% см.~об этом {\sectionname}~\ref{ssec:ffigbox:etc}. +% +% \begingroup\allowprelistbreaks[-4] +%^^A% The three examples of float placing. First simplest example: +% Три примера размещения флотов. Первый простейший пример: +% \par\RestoreSpaces +%\begin{quote}\obeylines\parskip0pt +%|\begin{figure}|\nopagebreak +%|\floatbox{figure}[4cm]| +%|{\caption{Простой пример ...}}%| +%|\label{fig:WcatI}}| +%|{\input{TheCat.picture}}| +%|\end{figure}| +%\end{quote} +%^^A% created the picture in the figure~\ref{fig:WcatI}.\pagebreak[3] +% создал картинку на рис.~\ref{fig:WcatI}. Ширина блока задана равной 4~см. +% \begin{figure}[H] +% \floatbox{figure}[4cm] +% {\caption{Простой пример использования команды \cmd{\floatbox}}% +% \label{fig:WcatI}} +% {\unitlength1.28\unitlength\input{TheCat.picture}} +% \end{figure}% +% \endgroup +% +%^^A% The more preferable way for usage of |\floatbox| is to put table +%^^A% caption \emph{above} table contents and set caption width equal +%^^A% to table width. +% Но более актуальный вариант использования команды |\floatbox| +% \cdash--- поместить табличный заголовок \emph{над} таблицей и задать +% ширину заголовка равной ширине +% таблицы. +% \par\RestoreSpaces +%\begin{Quote} +%|\begin{table}|\nopagebreak +%|\floatbox[\captpop]{table}[\FBwidth]| +%| {\caption{Simple tabular ...}\label{...}}| +%| {\begin{tabular}{|l|c|c|}| +%| ...}| +%|\end{table}| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \floatsetup[table]{style=plain} +% \begin{table}[H] +% \floatbox[\captop]{table}[\FBwidth] +% {\caption{Простая таблица в~\cmd{\floatbox} с~заголовком +% сверху (задана команда \cmd{\captop} в~аргументе преамбулы)}\label{tab:tabII}} +% {\begin{tabular}{|l|c|c|} +% \hline +% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ +% \hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} +% \end{table}% +% \endgroup +% \MakeShortVerb{\|}% +%^^A% as shown in table~\ref{tab:tabII}. To fit size of caption%^^A +%^^A% \FRmpar{Caption has the object's width}{FAD:FBwidth} +%^^A% (i.e full +%^^A% float box) to size of \env{tabular} environment there was used +%^^A% |\FBwidth| command in \meta{width} argument. +% как показано в табл.~\ref{tab:tabII}. Для задания ширины%^^A +% заголовка (или всего бокса +% плавающего объекта) равной ширине окружения \env{tabular} +% была использована команда |\FBwidth| +% в аргументе \meta{width}. +% +%^^A% The next example shows \env{figure} environment with beside caption. +%^^A% In this example \meta{preamble} argument consists of rather complex definition, +%^^A% and |\FBwidth| in \meta{width} argument. The caption +%^^A% occupies the rest space of float box's width, |\hsize| (in current +%^^A% example the width float box equals to main text width---|\textwidth|). +% Следующий пример показывает окружение \env{figure} где подпись +% задана сбоку. В~этом примере используется сложное определение +% в~аргументе \meta{preamble}, и~команда |\FBwidth|, в~аргументе +% \meta{width}. Подпись занимает оставшееся место в~боксе +% шириной |\hsize| (в~данном примере ширина бокса равна +% ширине основного текста "---|\textwidth|). +% +% \par\RestoreSpaces +%\begin{Quote} +%|\begin{figure}| +%|\floatbox[{\capbeside| +%| \captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedleft}%| +%| \|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{|\hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|=left}}]{figure}[\FBwidth]| +%| {\caption[...]{...}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] +% \floatbox[{\capbeside +% \captionsetup[capbesidefigure]{format=break,labelsep=none, +% justification=raggedleft}% +% \thisfloatsetup{capbesideposition=left}}]{figure}[\FBwidth] +% {\caption[Подпись сбоку (пример со сложной преамбулой в~аргументе \cmd{\floatbox})]%^^A +% {Подпись сбоку занимает оставшееся место +% and more text and some more text and a bit more text and +% a little more text and a little peace of text to fill +% space}\label{fig:beside:mouse}} +% {{\setlength\unitlength{4cm/58}%^^A % \input{Mouse.picture}}} % \end{figure} +%^^A% Please note that complex preamble, with more than one command option must be placed in group. +%^^A% (See {\sectionname}~\ref{sec:floatsetup} about settings for floats.) +% Обратите внимание, что опция преамбулы содержащая более одной команды должна быть заключена в~группу. +% (О создании настроек для флотов см.~{\sectionname}~\ref{sec:floatsetup}) +% +% \RestoreSpaces +%^^A% \subsubsection{Creation of Personal Commands for Float Boxes}\label{ssec:ffigbox:etc} +% \subsubsection{Создание персональных команд для флотов}\label{ssec:ffigbox:etc} +% +%^^A% The usage of |\floatbox| command with options (which could be cumbersome) sometimes is rather complex. +%^^A% The Introduction demonstrates commands-abbreviations of this commands. +%^^A% You may define commands-abbreviations (or redefine existing) for your own purposes and +%^^A% include there some additional style definitions and settings. +% Использование команды |\floatbox| с~громоздкими опциями, в~свою очередь, тоже получается +% громоздким. Во введении демонстрируются примеры с~командами"=сокращениями +% данной команды. Вы можете определить собственные команды для +% ваших целей и~определить там необходимые настройки. +% +%^^A% The definition of new float abbreviation looks like: +% Определение пользовательской команды выглядит следующим образом:%^^A +% \begin{quote} +% |\newfloatcommand|\marg{command}%^^A\\\strut\qquad +% \marg{captype}\oarg{preamble}\oarg{default width} +% \end{quote} +% где: +% \begin{description} +%^^A% \item[\meta{command}]the user's command name (without backslash); +% \item[\meta{command}]команда пользователя (без обратного слэша); +%^^A% \item[\meta{captype}]the name of float environment +%^^A% this command is created for; +% \item[\meta{captype}]тип флота, для которого создаётся команда; +%^^A% \item[\meta{preamble}] +%^^A% you may use commands, mentioned in page~\pageref{floatboxsets} +%^^A% and other layout commands, like was shown in examples; +%^^A% you may try to add any other regular command (e.g. |\captionsetup| +%^^A% or |\thisfloatsetup| stuff); +% \item[\meta{preamble}] +% вы можете использовать команды, перечисленные на +% с.~\pageref{floatboxsets} +% и~другие команды оформления, как показано в~примерах; +% вы можете попробовать использовать некоторые другие +% повторяющиеся команды (например, +% |\captionsetup| или |\thisfloatsetup|); +%^^A% \item[\meta{default width}]the first reason of usage of this option is +%^^A% to put |\FBwidth| command: \quad in case of +%^^A% caption above or below object (there could be defined +%^^A% |\nocapbeside| in \meta{preamble} option) this command defines width of +%^^A% full float (object---caption) box; \quad in the case of caption +%^^A% beside object (there must be defined |\capbeside| in \meta{preamble} +%^^A% option) this command defines +%^^A% to width of object (caption occupies the rest space). +%^^A% You may put also any dimension like |6cm| +%^^A% or |.75\textwidth| but usage of option by +%^^A% this way is much less reasonable. +% \item[\meta{default width}] основной повод использования этой опции \cdash--- +% задание команды |\FBwidth|: \qquad в~случае размещения +% подписи сверху или снизу +% (может быть определена |\nocapbeside| в~опции \meta{preamble}) +% команда определяет ширину всего флота +% (блока объект\cdash--~подпись); \qquad в~случае подписи +% сбоку (должна быть определена команда |\capbeside| в~\meta{preamble}) +% она определяет ширину объекта. +% Можно задать и любую величину, типа |6cm| +% или |.75\textwidth| но использование таких значений гораздо менее резонно. +% \end{description} % -% Все три команды являются сокращениями команды |\floatbox|, которая -% создаёт комбинации объект---подпись (см. -% разд.~\ref{sec:floatbox}). +%^^A% Let's repeat three already defined commands-abbreviations:\label{abbrcom}%^^A +% Повторим определения следующих пользовательских команд:\label{abbrcom} +% \begin{Quote} +% |\newfloatcommand{ffigbox}{figure}[\nocapbeside]|\label{floatbox:ffigbox}\nopagebreak +% |\newfloatcommand{fcapside}{figure}[\capbeside]|\label{floatbox:fcapside}\nopagebreak +% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]|\label{floatbox:ttabbox} +% \end{Quote} +%^^A% First two defined for figures and last one---for table. You may +%^^A% redefine existing macros using |\renewfloatcommand| command (it uses +%^^A% the same arguments as |\newfloatcommand| one). +% Первые две определены для рисунков, а~последняя \cdash--- для таблицы. +% Вы можете переопределить эти команды, используя команду +% |\renewfloatcommand| (она использует те же +% аргументы, как и~|\newfloatcommand|).\medskip +% +%^^A% Your defined commands you may use in following way (example for |\ffigbox|): +%^^A% \begin{quote} +% Созданные вами команды можно использовать следующим образом +% (на примере |\ffigbox|): +% \begin{Quote} +% |\ffigbox|\oarg{width}\oarg{height}\oarg{vert pos} +% \end{Quote} +%^^A% first option, \oarg{width}, redefines the default width settings, which were +%^^A% used during (re)definition of current command. The other two options +%^^A% are analogous to the |\floatbox|'s ones (see page~\pageref{sec:floatbox}). +% первая опция, \oarg{width}, отменяет значение ширины по умолчанию, +% заданное при создании (или переопределении) данной команды. Две другие опции +% аналогичны тем же опциям в~команде |\floatbox| (см.~с.~\pageref{sec:floatbox}). +% +% \par\RestoreSpaces +%^^A% \subsection{Building Float Row}\label{sec:floatrow} +% \subsection{Размещение флотов рядом}\label{sec:floatrow} +% +%^^A% If you need to put two or more floats of one type side by side,%^^A +%^^A% \FRmpar{Float row: floats of one type side by side}{FAD:floatrow} +%^^A% you may use \env{floatrow} environment. +% Если вам нужно поместить два или более флотов рядом,%^^A +% \FRmpar{Флоты одного типа рядом}{FAD:floatrow} +% вы можете воспользоваться окружением \env{floatrow}. +% +% \par\RestoreSpaces +%^^A% This environment looks like: +% Это окружение выглядит следующим образом: +% \begin{Quote} +% |\begin{floatrow}[|\meta{number of beside floats}|]|\nopagebreak +% |\floatbox...|\nopagebreak +% |\floatbox...|\nopagebreak +% |...|\nopagebreak +% |\end{floatrow}| +% \end{Quote} +% +%^^A% The \env{floatrow} environment allows to put floats side by side. +%^^A% This environment creates necessary number of ``columns'' +%^^A% (usually two), where floats are placed. You may redefine the width of each float box, +%^^A% e.g. the table boxes~\ref{tab:row:tabIII} and~\ref{tab:row:tabIV} have the width of their contents +%^^A% (remember, the |[\FBwidth]| is default option of |\ttabbox|). +% Окружение \env{floatrow} позволяет разместить флоты рядом. +% Это окружение создаёт необходимое число <<колонок>> +% (обычно две), где и~помещаются флоты. Вы можете определить ширину бокса для флота, +% например, боксы таблиц~\ref{tab:row:tabIII} и~\ref{tab:row:tabIV} имеют ширину, равную ширине табличного материала +% (напомним, опция |[\FBwidth]| является опцией по умолчанию в~команде |\ttabbox|). +% +%^^A% Please note that \emph{for each float box} inside \env{floatrow} you must use |\floatbox|, |\ffigbox|, +%^^A% |\ttabbox| or your own command, created with |\newfloatcommand| macro: +% Обратите внимание, что \emph{для каждого флота} внутри окружения \env{floatrow} должны +% использоваться команды |\floatbox|, |\ffigbox|, +% |\ttabbox| или ваша собственная команда, созданная с~помощью |\newfloatcommand|: +%\begin{Quote} +%\meta{preamble} +%| \usepackage[...|\hyperref[setup:floatrowsep]{\texttt{floatrowsep}}|=qquad,...]{floatrow}| +%| \|\hyperref[sec:floatsetup]{\texttt{floatsetup}}|[table]{|%^^A +% \hyperref[setup:style]{\texttt{style}}|=Plaintop}| +%\meta{preamble} +%|\begin{figure}| +%| \begin{table}| +%| \ttabbox| +%| {\caption{...}\label{...}}| +%| {...}| +%| | +%| \ttabbox| +%| {\caption{...}\label{...}}| +%| {...}| +%| \end{floatrow}| +%|\end{table}| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begin{table}[H] +% \begin{floatrow} +% \extrarowheight1pt +% \ttabbox +% {\caption[Первая таблица в~ряду, длинный заголовок]%^^A +% {Первая таблица в~ряду с~длинным, длинным, длинным длиннющим заголовком и~выровненным по верху}%^^A +% \label{tab:row:tabIII}}%^^A +% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} +% \hline +% \multirowthead{2}[-1ex]{Left Column Head} +% & \multicolumn{2}{c|}{\thead{Data}} \\ +% \cline{2-3} +% & \multicolumn{1}{c|}{\thead{I}} +% & \multicolumn{1}{c|}{\thead{II}} +% \\\hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} % -% Окружение \env{floatrow} позволяет поместить плавающие объекты рядом, как -% рис.~\ref{intro:leftfig} и~\ref{intro:rightfig}. По умолчанию \env{floatrow} -% создаёт необходимое число <<колонок>> (обычно две) где и помещает объекты: -%\begin{verbatim} -%\begin{figure} -% \begin{floatrow} -% \ffigbox -% {...}{\caption{...}\label{...}} -% -% \ffigbox -% {...}{\caption{...}\label{...}} -% \end{floatrow} -%\end{figure} -%\end{verbatim} -% \begin{figure}[h] +% \ttabbox +% {\caption{Вторая таблица в~ряду, заголовок выровнен по верху}\label{tab:row:tabIV}}%^^A +% {\begin{tabular}{|l|c|c|c|} +% \hline +% \multirowthead{2}[-1ex]{Column Head} +% & \multicolumn{3}{c|}{\thead{Data}} \\ +% \cline{2-4} +% & \thead{I} & \thead{II} & \thead{III} \\ +% \hline +% First row & 1 & 2 & \phantom01 \\ +% Second row & 3 & 4 & \phantom06 \\ +% Third row & 6 & 8 & 28 \\ +% \hline +% \end{tabular}} +% \end{floatrow} +% \end{table} +% \MakeShortVerb{\|}% +%^^A% Since |\ttabbox| uses |\FBwidth| as default option, the caption width equals to tabular contents. +% Поскольку |\ttabbox| использует команду |\FBwidth| как опцию по умолчанию, +% ширина заголовка равна ширине таблицы. +% +%^^A% The next example with figures uses |[\FBwidth]| for the left float and |[\Xhsize]| for the right. +% Следующий пример с~рисунками задаёт опцию |[\FBwidth]| для левого флота и~|[\Xhsize]| для правого. +%\begin{Quote} +%|...|\nopagebreak +%|\begin{figure}|\nopagebreak +%| \begin{floatrow}|\nopagebreak +%| \ffigbox[\FBwidth]| +%| {...}| +%| {\caption{...}\label{...}}| +%| | +%| \ffigbox[\Xhsize]|%^^A +% \FRmpar{Флоты рядом: флот занимает оставшееся место}{FAD:floatfillspace} +%| {...}| +%| {\caption{...}\label{...}}| +%| \end{floatrow}|\nopagebreak +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] % \begin{floatrow} -% \ffigbox -% {\input{BlackDog.picture}} -% {\caption{Рисунок слева в ряду}% -% \label{intro:leftfig}}% +% \ffigbox[\FBwidth] +% {\caption{Левый рисунок в~ряду, ширина бокса равна ширине графики}% +% \label{intro:leftfig:FBwidth}}% +% {\unitlength1.12\unitlength\input{Bear.picture}} % -% \ffigbox -% {\caption{Рисунок расположенный справа, в простом ряду рисунков}%^^A -% \label{fig:rotrow:FcatI}} -% {\input{TheCat.picture}\label{intro:rightfig}} +% \ffigbox[\Xhsize] +% {\caption[Правый рисунок в~ряду, бокс занимает оставшееся место]{Рисунок в~ряду, с~правой стороны простого ряда +% рисунков, бокс занимает всё оставшееся в~ряду}%^^A +% \label{intro:rightfig:Xhsize}} +% {\unitlength1.44\unitlength\input{Doll.picture}} % \end{floatrow} % \end{figure}%^^A -% Обратите внимание, что внутри окружения \env{floatrow} вы должны использовать -% макрокоманды |\ffigbox| или |\ttabbox| для каждого флота. (См. подробнее -% о командах, используемых в примерах введения и о команде |\floatbox| -% в разд.~\ref{sec:floatbox}; -% об окружении \env{floatrow} "--- в разд.~\ref{sec:floatrow}.) % -% \subsection{Это не допускается пакетом \pkg{floatrow}} +%^^A% \emph{Note}. Usually the command |\Xhsize| is used for the last float +%^^A% box. But if you use \package{calc} package you may try to use |\Xhsize| +%^^A% earlier, if the \emph{absolute} value of the width of float boxes to +%^^A% the right in float row is known, or set something in \meta{width} +%^^A% argument like |\Xhsize/2| and then |\Xhsize| for two last +%^^A% |\floatbox|'es---the next example just uses it. +% \emph{Замечание}. Обычно команда |\Xhsize| используется для +% последнего флота в~ряду. Но +% если вы используете пакет \package{calc} вы можете попытаться +% использовать |\Xhsize| раньше, если известна +% \emph{абсолютная} величина ширины флотов по правую сторону, +% или использовать в~аргументе \meta{width} нечто вроде |\Xhsize/2| +% а~затем |\Xhsize| для последних двух боксов в~|\floatbox|, что и~задано в~следующем примере. +% +%^^A% And here is more complex example. The first float (used |\ffigbox|) has default +%^^A% width equal to ``column'' width, the next uses width of included +%^^A% graphic (uses command |\FBwidth| in optional argument \meta{width}), +%^^A% the last two occupy the rest horizontal space of page which was +%^^A% counted with command |\Xhsize| and \package{calc} package.%^^A +% И~теперь пример чуть посложнее. Первый флот (в~|\ffigbox|) имеет ширину +% по умолчанию, равную <<колонке>> +% ряда, следующий использует ширину включённой графики (использована +% команда |\FBwidth| в~дополнительном аргументе \meta{width}), +% а~два последних занимают оставшееся место в~ряду, +% подсчитанное командой |\Xhsize| и~пакетом \package{calc}.%^^A +% \par\RestoreSpaces +%\begin{Quote} +%\meta{preamble} +% |\DeclareMarginSet{hangleft}{\setfloatmargins| +% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}| +% |\floatsetup[|\hyperref[setup:widefigure]{\texttt{widefigure}}|]{|%^^A +% \hyperref[setup:margins]{\texttt{margins}}|=hangleft}| +%\meta{preamble} +%|\begin{figure*}| +%|\begin{floatrow}[4]| +%| \ffigbox| +%| {\caption{Beside figure~I...}...}| +%| {...}| +%| | +%| \ffigbox[\FBwidth]| +%| {\caption{Beside figure~II...}...}| +%| {...}| +%| | +%| \ffigbox[\Xhsize]| +%| {\caption{Beside figure~III...}...}| +%| {...}| +%|\end{floatrow}| +%|\end{figure*}| +%\end{Quote} +% \floatsetup[widefloat]{margins=hangleft} +% \begin{figure*}% +% \begin{floatrow}[4] +% \ffigbox +% {\caption{Первый рисунок в~ряду (\env{floatrow}), ширина <<колонки>>}% +% \label{fig:row:Dog}} +% {\input{TheDog.picture}} % -% Пакет \pkg{floatrow} создаёт некоторые особенности и ограничения -% в построении плавающих объектов. Если вы запишете: -%\begin{verbatim} -%\begin{figure} -%\caption{A figure caption} -%\centering \input{Mouse.picture} -%\end{figure} -%\end{verbatim} -% не ожидайте что получите подрисуночную подпись сверху рисунка. Если -% вы хотите, например, поместить подрисуночные подписи сверху, вы должны -% задать в преамбуле |\floatsetup[figure]{style=plaintop}| (см. также -% разд.~\ref{sec:floatsetup} о механизме команды |\floatsetup|). +% \ffigbox[\FBwidth] +% {\caption{Второй рисунок в~ряду (\env{floatrow}), ширина графики}% +% \label{fig:row:WcatI}} +% {\input{TheCat.picture}} % -%^^A \begin{figure} -%^^A \caption{A figure caption}\label{Wrong:expect} -%^^A \centering \input{Mouse.picture} -%^^A \end{figure} +% \ffigbox[\Xhsize/2] +% {\caption{Третий рисунок в~ряду, занимает +% половину оставшегося места}% +% \label{fig:row:BcatI}} +% {{\setlength\unitlength{\hsize/58}%^^A +% {\input{Mouse.picture}}}} % -% Другой пример. Если вы поместите плавающие объекты следующим образом: -%\begin{verbatim} -%\begin{figure} -%\begin{minipage}{0.5\textwidth} -%\centering \input{Mouse.picture} -%\caption{A figure caption} -%\end{minipage} -%\begin{minipage}{0.5\textwidth} -%\captionof{table}{A table caption} -%\centering \begin{tabular}{cc} A & B \\ C & D \end{tabular} -%\end{minipage} -%\end{figure} -%\end{verbatim} -% вы также не получите ожидаемого результата. Чтобы получить верный результат, -% используйте окружение \env{floatrow}, как в примере -% с рис.~\ref{intro:leftfig} и~\ref{intro:rightfig}\footnote{См. также -% с.~\pageref{mixrow} о размещении рядом флотов разных типов }. +% \ffigbox[\Xhsize] +% {\caption{Четвёртый рисунок в~ряду, +% занимает оставшееся место}% +% \label{fig:row:mouseI}} +% {\input{Cheese.picture}} +% \end{floatrow} +% \end{figure*}% +%^^A% The result you see in the row of +%^^A% figures~\ref{fig:row:WcatI}--\ref{fig:row:mouseI}. The vertical +%^^A% alignment of floats lays on the bottom of upper part (here: objects) +%^^A% of float and the top of lower part (captions). +% Результат вы видите в~ряду +% рисунков~\ref{fig:row:Dog}--\ref{fig:row:mouseI}. Вертикальное +% выравнивание флотов лежит по нижней линии верхней части +% (здесь: графики) и~верху нижней части (подписи). +% +% \RestoreSpaces +%^^A% \subsubsection{Mixed Row}\label{sec:mixrow} +% \subsubsection{Смешанные ряды}\label{sec:mixrow} +% +%^^A% The problem in mixed row is that you must put different types of float in +%^^A% one float environment, which sets its own layout for included float +%^^A% box(es). For creation of right layouts write +%^^A% |\|\hyperref[setup:killfloatstyle]{\texttt{killfloatstyle}} command at the beginning of \env{floatrow} +%^^A% environment or just before first ``foreign'' |\floatbox| macro (in +%^^A% current example---before |\ttabbox|; the |\ffigbox| macro is +%^^A% ``native'' for \env{figure} environment). +% Проблема смешанного ряда заключается в~том, что нужно поместить разные +% типы флотов в~одно окружение флота, которое задаёт своё оформление +% для содержимого. Для создания верного оформления задайте команду +% |\|\hyperref[setup:killfloatstyle]{\texttt{killfloatstyle}} в~начале окружения \env{floatrow} +% или до первой <<чужой>> макрокоманды |\floatbox| (в~данном +% примере "--- до |\ttabbox|; команда |\ffigbox| является +% <<родной>> для окружения \env{figure}). % -% \section{Настройка оформления плавающих объектов}\label{sec:floatsetup} +%^^A% Another problem is that figures usually have captions below +%^^A% graphics, but tables could have caption \emph{above} their contents. +%^^A% The alignment of all floats is similar: the bottom of upper part and +%^^A% top of lower part. In this case if you want to put such beside figure +%^^A% and table you'll get undesirable result. For such situations you may +%^^A% use one of following commands: +% Другая проблема состоит в~том, что подпись к~рисункам обычно +% помещают снизу, а~табличный заголовок помещается сверху таблиц. +% Выравнивание всех флотов одинаково: по нижней линии верхней части +% и~по верхней "--- у~нижней. В~таком случае, если вы захотите +% поместить такие рисунок и~таблицу, +% вы получите не лучший вариант вёрстки. В~таких ситуациях +% вы можете использовать одну из приведённых команд: +%\begin{Quote} +%|\CenterFloatBoxes|\label{floatbox:CenterFloatBoxes} +%|\TopFloatBoxes|\label{floatbox:TopFloatBoxes} +%|\BottomFloatBoxes|\label{floatbox:BottomFloatBoxes} +%\end{Quote} +%^^A% which align \emph{full} float boxes by center, top or bottom lines. +%^^A% These macros were created by |\buildFBBOX| macro. +%^^A% There is also |\PlainFloatBoxes|\label{floatbox:PlainFloatBoxes} which restores standard behavior of +%^^A% |\floatbox|'es. +% Которые выравнивают флоты \emph{целиком} по центральной линии, +% по верху или по низу. Эти команды +% были созданы командой |\buildFBBOX|\label{floatbox:buildFBBOX}. Существует +% также команда |\PlainFloatBoxes|\label{floatbox:PlainFloatBoxes}, которая восстанавливает +% <<поведение>> флотов внутри команд |\floatbox|. % -% Идея пакета \pkg{floatrow} заключается в том, чтобы избежать множества -% повторяющихся команд внутри документа для создания желаемого оформления -% плавающих объектов (которые к тому же снижают читаемость документа), -% и упростить изменения, если вам нужно изменить оформление книги. -% В этом случае вы уделяете внимание только \emph{разметке} -% флотов и их содержанию. +%^^A% The usage of |\CenterFloatBoxes| and |\killfloatstyle| you'll see in +%^^A% mixed float row with figure~\ref{fig:rowmixspec:WcatI} and +%^^A% table~\ref{tab:rowmixspec:tabI}\label{mixrow}: +% Использование |\CenterFloatBoxes| и~|\killfloatstyle| вы видите +% в~смешанном ряду, состоящем из рис.~\ref{fig:rowmixspec:WcatI} +% и~табл.~\ref{tab:rowmixspec:tabI}\label{mixrow}: +%\begin{Quote} +%|\begin{figure}\CenterFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%| \ffigbox[\FBwidth]| +%| ...| +%| \killfloatstyle\ttabbox| +%| ...| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \begin{figure}[H]\CenterFloatBoxes +% \begin{floatrow} +% \ffigbox[\FBwidth] +% {\unitlength1.86\unitlength\input{Horse.picture}} +% {\caption{Рисунок в~смешанном ряду}\label{fig:rowmixspec:WcatI}}% +% \extrarowheight1pt +% \ttabbox +% {\caption{Таблица в~смешанном \hbox{ряду}}\label{tab:rowmixspec:tabI}} +% {\tabcolsep5\tabcolsep\begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline\end{tabular}} +% \end{floatrow} +% \end{figure} +% \endgroup +% \MakeShortVerb{\|}% +% \par\RestoreSpaces +% +%^^A% \emph{Note.} Both figure and table boxes have got width equal to +%^^A% contents of objects. The |\ffigbox| command has optional argument +%^^A% |[\FBwidth]|, but |\ttabbox| have not any option---it uses +%^^A% |[\FBwidth]| option as default (see definitions on page +%^^A% \pageref{abbrcom}).\label{FAD:MixedRowII} +% \emph{Замечание.} Как рисунок, так и~таблица имеют ширину, равную +% содержимому объектов. Команда |\ffigbox| имеет дополнительный +% аргумент |[\FBwidth]|, но у~команды |\ttabbox| нет никакой опции +% "--- опция |[\FBwidth]| используется по умолчанию (см. определения +% на с.~\pageref{abbrcom}).\label{FAD:MixedRowII} +% +%^^A% \subsection{Running Floats In The Raw \LaTeX\ mode}\label{sec:rawfloats} +% \subsection{Плавающие объекты в~режиме стандартного \LaTeX'а}\label{sec:rawfloats} +% +%^^A% The\label{FAD:PlainFloat} +%^^A% \package{floatrow} package redefines float environments for the case +%^^A% of creation of common layout for all floats. This redefinition creates +%^^A% some limitations for source document file, which were mentioned in +%^^A% introduction. If you still need a raw behavior of float environment, +%^^A% you may do that by one of three ways. +% Пакет\label{FAD:PlainFloat} +% \package{floatrow} переопределяет окружение флотов так, чтобы +% на выходе получалось единообразное +% оформление всех флотов. Это накладывает некоторые ограничения +% на запись флота в~исходном файле, о~которых, в~частности, +% говорилось во введении. Если вам всё +% же нужно окружение, работающее как в~обычном \LaTeX'е +% это можно сделать тремя способами. +% +%^^A% 1.\enskip If you want \LaTeX\ behavior for \emph{just for one environment}, +%^^A% input a |\RawFloats| command \emph{inside} environment: +% 1.\enskip Если нужно, чтобы \emph{лишь одно окружение} работало как в~обычном +% \LaTeX'е, задайте команду |\RawFloats| \emph{внутри} окружения: +% \par\RestoreSpaces +%\begin{Quote}\openup.5pt +%|\begin{figure}\RawFloats|\nopagebreak +%|\captionsetup[table]{position=top}| +%|\begin{minipage}{0.45\textwidth}| +%| \centering ...| +%| \caption{...}\label{...}| +%|\end{minipage}| +%|\begin{minipage}{0.45\textwidth}| +%| \captionof{table}{...}\label{...}| +%| \centering ...| +%|\end{minipage}|\nopagebreak +%|\end{figure}| +%\end{Quote} +%^^A% And you'll get figure~\ref{Right:expect:fig} +%^^A% and table~\ref{Right:expect:tab}\footnote{That could work correct if +%^^A% you do not use any fancy float layout at least for one of floats.}. +% и~вы получите рис.~\ref{Right:expect:fig} +% и~табл.~\ref{Right:expect:tab}\footnote{Это будет работать, +% если вы не используете необычного оформления.}. +% \begin{figure}[H]\RawFloats +% \captionsetup[table]{position=top} +% \begin{minipage}{0.45\textwidth} +% \centering {\unitlength1.86\unitlength\input{Horse.picture}} +% \caption{Рисунок в~ряду в~режиме обычного \LaTeX'а}\label{Right:expect:fig} +% \end{minipage}\quad\hfill +% \killfloatstyle\begin{minipage}{0.45\textwidth} +% \captionof{table}{Таблица в~ряду в~режиме обычного \LaTeX'а}\label{Right:expect:tab} +% \centering\tabcolsep5\tabcolsep +% \begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline\end{tabular} +% \end{minipage} +% \end{figure} +% \par\RestoreSpaces +%^^A% Compare this example with example in the {\sectionname}~\ref{sec:mixrow} and the example below. +% Сравните этот пример с~примером из {\sectionname}~\ref{sec:mixrow} и~следующим примером. +%\begin{Quote}\openup.65pt +%|\begin{figure}\RawFloats\CenterFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%| \ffigbox[\FBwidth]|\nopagebreak +%| {...}|\nopagebreak +%| {\caption{...}\label{...}}| +%| | +%| \ttabbox|\nopagebreak +%| {...}|\nopagebreak +%| {\caption{...}\label{...}}| +%|\end{floatrow}|\nopagebreak +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H]\RawFloats\CenterFloatBoxes +% \begin{floatrow} +% \ffigbox[\FBwidth] +% {\unitlength1.86\unitlength\input{Horse.picture}} +% {\caption{Рисунок в~ряду внутри команды \cmd{\floatbox} и~в~окружении \env{floatrow} в~режиме обычного \LaTeX'а}%^^A +% \label{intro:leftfig:raw}}% % +% \ttabbox +% {\caption{Таблица в~ряду внутри \cmd{\floatbox} и~в~окружении \env{floatrow} в~режиме обычного \LaTeX'а}%^^A +% \label{intro:righttab:raw}} +% {\tabcolsep5\tabcolsep +% \begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline +% \end{tabular}} +% \end{floatrow} +% \end{figure}%^^A +% +%^^A% 2.\enskip Canceling of \package{floatrow}'s behavior of \emph{all floats of one type} +%^^A% is set outside any float environment, this settings are better for +%^^A% preamble. In this case the |\RawFloats| command needs optional +%^^A% argument with name(s) of float type. You may set that by two ways: +% Отмена установок пакета \package{floatrow} для \emph{всех флотов данного типа} +% задаётся вне окружений флотов и~такие установки лучше задать +% в~преамбуле. В~таком случае команда |\RawFloats| задаётся с~опцией +% задающей названия типа флотов. Это можно задать двумя способами: +% \par\RestoreSpaces +% \begin{Quote} +% |\RawFloats|\oarg{type,type,\ldots}\quad or\nopagebreak +% |\RawFloats|\oarg{type}\oarg{subtype,subtype,\ldots} +% \end{Quote} +%^^A% So, if you set |\RawFloats[figure]|, that will return to all figures +%^^A% in all subtype environments (\texttt{figure}, \texttt{figure*}, +%^^A% \texttt{sidewaysfigure}, etc.) plain \LaTeX{} behavior. If there is also a table, +%^^A% |\RawFloats[figure,table]|, you also will set the same for all table +%^^A% subtypes. +% Итак, если вы зададите |\RawFloats[figure]|, это вернёт всем рисункам +% во всех относящимся к~ним окружениях (\texttt{figure}, \texttt{figure*}, +% \texttt{sidewaysfigure} и~др.) установки \LaTeX{}. Если ещё добавить таблицы: +% |\RawFloats[figure,table]|, вы также отмените установки \package{floatrow} +% и~для всех окружений таблиц. +% +%^^A% The second way, with second optional argument, cancels \package{floatrow}'s +%^^A% behavior for mentioned float ``subtype(s)'' of \emph{one} float type +%^^A% in second optional argument you may use \texttt{float}, \texttt{widefloat}, +%^^A% \texttt{rotfloat}, \texttt{widerotfloat}---the meaning of this options +%^^A% analogous to options of |\floatsetup| macro +%^^A% (see {\sectionname}~\ref{sec:floatsetup}) but you may use here only options which +%^^A% include ``float'' word\label{FAD:PlainFloatII}%^^A +%^^A% %^^A(or short variants without ``float'', like +%^^A% %^^A\texttt{rot} or \texttt{widerot})%^^A +%^^A% .%^^A +% Второй вариант, со второй опцией, отменяет установки \package{floatrow} +% заданных в~ней окружений данного типа флота. Во второй опции +% можно задать \texttt{float}, \texttt{widefloat}, +% \texttt{rotfloat}, \texttt{widerotfloat}---значение этих опций аналогично +% опциям команды |\floatsetup| +% (см. {\sectionname}~\ref{sec:floatsetup}) но в~данном случае можно использовать +% опции только со словом «float»\label{FAD:PlainFloatII}%^^A +% %^^A(or short variants without ``float'', like +% %^^A\texttt{rot} or \texttt{widerot})%^^A +% .%^^A +% +% \DescribeMacro{rawfloats}\label{setup:rawfloats}%^^A +%^^A% This option stores the plain \LaTeX{} mode (i.e. stores usage of standard +%^^A% \LaTeX{} float macros) for all standard and new +%^^A% user defined float types. This option can be used only in +%^^A% |\usepackage| line. +% Данная опция сохраняет режим plain \LaTeX'а (т.\,е. использование +% стандартных команд \LaTeX'а) для всех стандартных и~вновь созданных +% типов флотов. Опция может использоваться только в~строке +% |\usepackage|. +% +%^^A% The \env{floatrow} environment ({\sectionname}~\ref{sec:floatrow}) +%^^A% and commands of |\floatbox| stuff ({\sectionname}~\ref{sec:floatbox}) +%^^A% still work after |\RawFloats|' settings (see figure~\ref{intro:leftfig:raw} +%^^A% and table~\ref{intro:righttab:raw})\label{FAD:MixedRow}%^^A +% Окружение \env{floatrow} ({\sectionname}~\ref{sec:floatrow}) +% и~команды базирующиеся на |\floatbox| ({\sectionname}~\ref{sec:floatbox}) +% всё равно работают после задания команды |\RawFloats| +% и~опции |rawfloats=| (рис.~\ref{intro:leftfig:raw} +% и~табл.~\ref{intro:righttab:raw})\label{FAD:MixedRow}%^^A +% +% \RestoreSpaces +%^^A% \subsection{Usage of Footnotes Inside Float Environment} +% \subsection{Сноски внутри окружения +% флота}\label{sec:floatfootnote} +% +%^^A% Sometimes table +%^^A% or figure contents have material, which authors mark +%^^A% and then write some explanation like footnotes. Current package has +%^^A% mechanism which allows to put footnotes inside float environment, in +%^^A% the same way as is in \env{minipage} environment. +% Иногда таблица или рисунок может содержать +% материал, который помечается а~снизу даётся объяснение в~виде сноски. +% Пакет имеет механизм, позволяющий размещение сносок внутри окружения флота, +% как это сделано в~окружении \env{minipage}. +% +%^^A% In the case of few elements have the same footnote, we cannot +%^^A% use standard |\footnotemark|---|\footnotetext| combination, because +%^^A% of |\footnotemark| in standard \LaTeX\ always creates the sign of main text footnote. +%^^A% For these cases current package offers |\mpfootnotemark| +%^^A% \FRmpar{Footnotemark inside float}{FAD:FnoteInsideFloat} +%^^A% macro instead of |\footnotemark|% +%^^A% \footnote{The same macro also is defined in \package{footmisc} package, +%^^A% version 4.10, dated 2003/01/20.}. +% В~тех случаях, когда несколько элементов +% имеют одинаковую сноску, мы не можем воспользоваться стандартной +% комбинацией |\footnotemark|---|\footnotetext|, потому что команда +% |\footnotemark| +% \FRmpar{Знак сноски внутри флота}{FAD:FnoteInsideFloat} +% в~стандартном \LaTeX'е всегда создаёт знак для сноски основного текста. +% Для этих случаев данный пакет предлагает макрокоманду +% |\mpfootnotemark| вместо |\footnotemark|%%^^A +% \footnote{Та же макрокоманда также определена в~пакете +% \package{footmisc}, версия 4.10, датированная 2003/01/20.}. +% \begin{Quote}\openup-.35pt% +% \meta{preamble} +% |\floatsetup{...,|\hyperref[setup:footnoterule]{\texttt{footnoterule}}|=limited,|%^^A +% \hyperref[setup:footskip]{\texttt{footskip}}|=\skip\footins,...}| +% \meta{preamble} +% |\begin{table}| +% |\ttabbox| +% | {\caption{...}\label{...}}%| +% \verb+ {\begin{tabular}{...}+ +% | \hline| +% | First row & \phantom01 & 2\mpfootnotemark[1] \\| +% | Second row & \phantom06\mpfootnotemark[1] & 4\mpfootnotemark[1] \\| +% | ...| +% | \hline| +% | \end{tabular}%| +% | \footnotetext[1]{Even numbers.}}| +% |\end{table}| +% \end{Quote}% +% \DeleteShortVerb{\|}% +% \begin{table}[H]\floatsetup{footnoterule=limited,footskip=\skip\footins} +% \ttabbox +% {\caption{Таблица со сноской}%^^A +% \label{tab:floatfnote}}%^^A +% {\extrarowheight1pt +% \begin{tabular}{|l|c|c|} +% \hline +% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ +% \hline +% First row & \phantom01 & 2\mpfootnotemark[1] \\ +% Second row & \phantom06\mpfootnotemark[1] & 4\mpfootnotemark[1] \\ +% Third row & 28\mpfootnotemark[1] & 8\mpfootnotemark[1] \\ +% \hline +% \end{tabular}%^^A +% \footnotetext[1]{Even numbers.}} +% \end{table}% +% \MakeShortVerb{\|}% +% +% +%^^A% The |\floatbox| macro uses special own definition of footnote rule +%^^A% (the \hyperref[setup:footnoterule]{\texttt{footnoterule}}|=| key) and skip before footnotes and +%^^A% explications or legends (\hyperref[setup:footskip]{\texttt{footskip}}|=|). (See also +%^^A% page~\pageref{sec:footnotestyle} for variants of footnote rule.) +% Макрокоманда |\floatbox| использует собственное определение линейки для +% сноски (ключ \hyperref[setup:footnoterule]{\texttt{footnoterule}}|=|) и~отбивку до сносок +% и~экспликаций (ключ \hyperref[setup:footskip]{\texttt{footskip}}|=|). (См. также +% с.~\pageref{sec:footnotestyle} о~вариантах линейки для сносок под флотами.) +% +% \RestoreSpaces +%^^A% \subsubsection{The Legend-Like Macro}\label{subsec:floatfoot} +% \subsubsection{Макрокоманда для экспликаций}\label{subsec:floatfoot} +% +%^^A% In the case of table or figure have some additional explanations +%^^A% which could not put in caption contents and they are definitely not +%^^A% a footnote you may use |\floatfoot|\label{FAD:Legend} +%^^A% command. The |\floatfoot| is +%^^A% build by usage of |\caption| stuff and uses caption's justification, +%^^A% but star form (|\floatfoot*|) prints its contents as plain unindented +%^^A% paragraph (see table~\ref{tab:floatfoot}). +% Если таблица или рисунок имеют дополнительные объяснения +% которые не должны быть в~подписи и~они не являются сноской +% вы можете использовать команду |\floatfoot|\label{FAD:Legend}. Команда |\floatfoot| +% использует механизм оформления команд |\caption| и~использует +% выключку, заданную для текста подписей; +% «звёздная» форма (|\floatfoot*|) печатает содержимое в~виде обычного +% абзаца без отступа (см. табл.~\ref{tab:floatfoot}). +% +%^^A% For defining of explication font use \hyperref[setup:footfont]{\texttt{footfont=}} option +%^^A% (page~\pageref{setup:footfont}) in |\floatsetup|. You may try to +%^^A% define special settings for float foot using +%^^A% \cmd{\captionsetup[floatfoot]} setup. +% Для определения шрифта для экспликаций используйте соответствующую опцию +% \hyperref[setup:footfont]{\texttt{footfont=}} (с.~\pageref{setup:footfont}) в~команде +% |\floatsetup|. Вы можете задать +% дополнительные настройки оформления задав командную +% последовательность \cmd{\captionsetup[floatfoot]}. +%\begin{Quote}\openup.5pt +%|\begin{table}| +%|\ttabbox| +%| {\caption{...}\label{...}}| +% \verb+ {\begin{tabular}{...}+ +%| ...| +%| \end{tabular}%| +%| \floatfoot*{`Data I' column ...}}| +%|\end{table}| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begin{table}[H] +% \ttabbox +% {\caption{Таблица с экспликацией}%^^A +% \label{tab:floatfoot}}%^^A +% {\extrarowheight1pt\tabcolsep2\tabcolsep +% \begin{tabular}{|l|c|c|} +% \hline +% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ +% \hline +% First row & \phantom01 & 2 \\ +% Second row & \phantom06 & 4 \\ +% Third row & 28 & 8 \\ +% \hline +% \end{tabular}%^^A +% \floatfoot*{`Data I' column---numbers which equal to sum of all +% their divisors; `Data II' column---$2^n$ values}} +% \end{table}% +% \MakeShortVerb{\|}% +% +%^^A% \emph{Notes.} 1)\enskip The \package{float} package defines additional +%^^A% optional argument after main caption text, possibly for explications. +%^^A% Since this possibility +%^^A% didn't declared in user part of documentation the current version of +%^^A% \package{caption} (3.0 and later), and also \package{float\-row} package, +%^^A% doesn't support this possibility. You may use |\floatfoot| and +%^^A% |\footnote|/\allowbreak|\footnotemark|/\allowbreak|\footnotetext| stuffs instead. +% \emph{Замечания.} 1)\enskip Пакет \package{float} определяет +% дополнительный аргумент после текста подписи. Поскольку эта +% возможность не была документирована в~части документации для +% пользователей текущая версия пакета \package{caption} (3.0 и~выше), +% а~также пакет \package{floatrow}, не поддерживают эту возможность. +% Используйте команду |\floatfoot| и~команды +% |\footnote|/\allowbreak|\footnotemark|/\allowbreak|\footnotetext|. +% +%^^A% 2)\enskip If you use both |\floatfoot| command and |\footnote| +%^^A% inside one float box, the |\floatfoot| appears above |\footnote| +%^^A% contents. +% 2)\enskip Если вы используете одновременно команды |\floatfoot| +% и~|\footnote| внутри одного флота, содержимое команды |\floatfoot| +% появится над |\footnote|. +% +%^^A% 3)\enskip Foot material (footnotes and text in floatfoot) can be placed +%^^A% in several variants: at the very bottom of float box, below caption +%^^A% (even if caption is above float object). See page \pageref{setup:footposition} +%^^A% and sample file \file{frsample01.tex}. In case of caption beside +%^^A% float object, footnotes and foot text always placed below caption. +% 3)\enskip Сноски и~экспликации могут быть размещены несколькими +% способами: в~самом низу флота, под подписью +% (даже в~случае подписи сверху). См. с.~\pageref{setup:footposition} +% и~файл примера \file{frsample01.tex}. В~случае подписи сбоку, +% сноски и~экспликации всегда помещаются под подписью. +% +% \RestoreSpaces +%^^A% \subsection{Fine Tuning of Vertical Spaces of Float} +%^^A% \label{sec:FBabskips} +% \subsection{Корректировка вертикальных отбивок +% в~флоте}\label{sec:FBabskips} +% +%^^A% At the final variant of document you may need to correct vertical +%^^A% spaces between float and main text, between float object and +%^^A% caption. +% В~заключительном варианте документа вам возможно понадобится +% откорректировать вертикальные отбивки между флотом и~основным +% текстом, между содержимым объекта и~подписью. +% +%^^A% To change space between float box and main text there you may use +%^^A% two simple commands |\FBaskip| and |\FBbskip|. For example define +% Изменить отбивки между флотом и~основным текстом можно, +% используя две простые команды |\FBaskip| и~|\FBbskip|. +% Например, определите +% \begin{verse} +% |\renewcommand\FBaskip{-4pt}| +% \end{verse} +%^^A% to move up float box up (or reduce space above) by 4pt. In current +%^^A% document the |\FBaskip| command was necessary for moving up +%^^A% some of wrapped figures. +% чтобы передвинуть флот вверх (уменьшить отбивку сверху) +% на 4pt. В~данном документе +% команда |\FBaskip| понадобилась для корректировки +% рисунков в~оборку. +% +%^^A% Use |\vspace| command for vertical space correction around float +%^^A% object\footnote{The plain float environment allows usage of +%^^A% \cmd{\vskip} command. But \cmd{\floatbox} stuff +%^^A% (\cmd{\floatbox} itself, \cmd{\ffigbox} etc.) in case +%^^A% of usage of the \cmd{\FBwidth} option, gets error message +%^^A% when \cmd{\vskip} appears.}. +% Для корректировки отбивок вокруг объекта +% используйте |\vspace|\footnote{В~простом окружении флота можно +% пользоваться и~командой \cmd{\vskip}. Но команды \cmd{\floatbox} +% (сама \cmd{\floatbox}, \cmd{\ffigbox}\dots) в~случае использования +% в~аргументе \meta{width} опции \cmd{\FBwidth}, выдадут сообщение +% об ошибке если встретят команду \cmd{\vskip}.}.\par +% +% \RestoreSpaces +%^^A% \subsection{Do not write that with \package{floatrow} package} +% \subsection{Это не допускается пакетом \package{floatrow}} +% +%^^A% The \package{floatrow} package creates some features or limitations +%^^A% of float layout building. If you'll write something like +% Пакет \package{floatrow} создаёт некоторые особенности и~ограничения +% в~построении плавающих объектов. Если вы запишете: +%\begin{Quote} +%\meta{preamble} +%|\usepackage{floatrow}| +%\meta{preamble} +%|\begin{figure}| +%| \caption{Табличный заголовок должен быть вверху, но это не так}| +%| \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}| +%|\end{figure}| +%\end{Quote} +%^^A% please do not expect that caption appears at the top of figure. +% не ждите что подрисуночная подпись получится сверху рисунка. +% +% \begingroup\clearfloatsetup{table} +% \begin{table}[H] +% \caption{Табличный заголовок должен быть вверху, но это не так}\label{Wrong:expect} +% \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular} +% \end{table} +% \endgroup +% +%^^A% If you want, e.g. to put figure captions above its contents, you must +%^^A% write in preamble |\floatsetup[figure]{style=plaintop}| +%^^A% (see also +%^^A% {\sectionname}~\ref{sec:floatsetup} about |\floatsetup| mechanism). +% Если вы хотите, например, поместить подрисуночные подписи сверху, вы должны +% задать в~преамбуле |\floatsetup[figure]{style=plaintop}|%^^A +% (см.~также {\sectionname}~\ref{sec:floatsetup} о~механизме команды |\floatsetup|). +%^^A% Another example. If you put beside floats by following way: +% Другой пример. Если вы поместите плавающие объекты как в~примере: +%\begin{Quote} +%\meta{preamble} +%|\usepackage{floatrow}| +%\meta{preamble} +%|\begin{figure}|\nopagebreak\parskip0pt +%|\begin{minipage}{0.5\textwidth}| +%| \centering ...| +%| \caption{Пропавшая подрисуночная подпись, неверно заданный ряд}| +%|\end{minipage}| +%|\begin{minipage}{0.5\textwidth}| +%| \captionof{table}{Табличный заголовок, неверно заданный ряд}}| +%| \centering | +%| \begin{tabular}{cc}| +%| A & B \\ C & D | +%| \end{tabular}| +%|\end{minipage}|\nopagebreak +%|\end{figure}| +%\end{Quote} +%^^A% you also won't get expected result. Use \env{floatrow}, like in +%^^A% example with figures~\ref{intro:leftfig} and~\ref{intro:rightfig}. +%^^A% Also you would need, e.g., |\CenterFloatBoxes| command just before +%^^A% \env{floatrow} environment to get correct +%^^A% vertical alignment (see page~\pageref{mixrow} +%^^A% about mixed float rows). +% вы также не получите ожидаемого результата. +%\begin{figure}[H] +%\begin{minipage}{0.5\textwidth} +%\centering \input{Horse.picture} +%\caption{Пропавшая подрисуночная подпись, неверно заданный ряд} +%\end{minipage} +%\begin{minipage}{0.5\textwidth} +%\captionof{table}{Табличный заголовок, неверно заданный ряд} +%\centering \begin{tabular}{cc} A & B \\ C & D \end{tabular} +%\end{minipage} +%\end{figure} +%^^A% Read back the {\sectionname}s~\ref{sec:mixrow} и~\ref{sec:rawfloats} and correct the error. +% Вернитесь к~{\sectionname}~\ref{sec:mixrow} и~\ref{sec:rawfloats} чтобы исправить ошибку. +% +% \clearpage +%^^A% \section{Float Layout Settings}\label{sec:floatsetup} +% \section{Настройка оформления плавающих объектов}\label{sec:floatsetup} +% +%^^A% The idea of \package{floatrow} package is to avoid a lot of repeated code +%^^A% inside document for creation of desired layout for floats (which also +%^^A% lowers readability of document), and make layout modification easier +%^^A% if you ought to change book layout. In this case you could think only +%^^A% about \emph{markup} of floats and their contents. +% Идея пакета \package{floatrow} состоит в~том, чтобы избежать множества +% повторяющихся команд в~документе для оформления флотов +% и~упростить возможные изменения, если понадобится изменить оформление книги. +% В~результате вы уделяете внимание только \emph{разметке} +% флотов и~их содержанию. +% +%^^A% The easy modification of common layout of all float of for one type of +%^^A% float is possible because of the borrowed code from the \package{float} +%^^A% package, which allows to modify layout of float boxes as a whole. % Простота изменения общего оформления флотов одного типа возможна -% благодаря коду, взятому из пакета \pkg{float}, который позволяет +% благодаря коду, взятому из пакета \package{float}, который позволяет % изменять целиком оформление плавающего объекта. % -% Единое оформление и изменение подписей флотов и настройки для каждого -% типа флотов, поддерживается пакетом -% \pkg{caption}, версии~3.x. -% -% Настройки оформления пакета \pkg{floatrow} построены аналогично пакету -% \pkg{caption} и используют механизм |\floatsetup|\footnote{Некоторые имена -% ключей и опций изменены после версии 0.1d, для упорядочения и создания более +%^^A% The common layout and its modification for captions and special +%^^A% settings for +%^^A% each type of float supported by \package{caption} package, version~3.x. +% Единое оформление и~изменение подписей флотов и~настройки для каждого +% типа флотов, поддерживается пакетом \package{caption}, версии~3.x. +% +%^^A% The layout settings of \package{floatrow} package are built similarly +%^^A% to \package{caption} ones and use |\floatsetup|\footnote{Some key and +%^^A% option names were changed from version 0.1d, the reason was +%^^A% to arrange and make names more memorable, and, sometimes, reduction +%^^A% of their names (see {\sectionname}~\ref{sec:changed}).} mechanism which is +%^^A% analog to |\captionsetup| one\footnote{Look also at \package{caption} +%^^A% documentation (version 3.0 and later)}. +% Настройки оформления пакета \package{floatrow} построены аналогично +% \package{caption} и~используют механизм |\floatsetup|\footnote{Некоторые имена +% ключей и~опций изменены после версии 0.1d, для упорядочения и~создания более % запоминаемых названий, и, иногда, сокращения их имён -% (см. разд.~\ref{sec:changed}).}, который аналогичен механизму -% |\captionsetup|\footnote{См. также документацию пакета \pkg{caption} -% (версии 3.0 и выше)}. +% (см.~{\sectionname}~\ref{sec:changed}).}, аналогичный механизму +% |\captionsetup|\footnote{См.~также документацию пакета \package{caption} +% (версии~3.0 и~выше)}. % % \DescribeMacro{\floatsetup} +%^^A% You may use layout settings stuff as \package{floatrow} option in +%^^A% |\usepackage| line. % Вы можете использовать настройки оформления флотов как опции пакета -% \pkg{floatrow} в строке |\usepackage|. -% \begin{quote} -% |\usepackage[|\meta{options}|]{floatrow}| -% \end{quote} +% \package{floatrow} в~строке |\usepackage|. +% \begin{Quote} +% |\usepackage[|\meta{options}|]{floatrow}|\quad. +% \end{Quote} +%^^A% You may write % Вы можете записать -% \begin{quote} -% |\usepackage[style=boxed,font=small]{floatrow}| -% \end{quote} +% \begin{Quote} +% |\usepackage[style=boxed,font=small]{floatrow}|\quad. +% \end{Quote} +%^^A% The same result you get with % Тот же результат вы получите при -% \begin{quote} -% |\floatsetup{style=boxed,font=small}| -% \end{quote} +% \begin{Quote} +% |\floatsetup{style=boxed,font=small}|\quad. +% \end{Quote} +%^^A% The lines above declare \texttt{boxed} style and |\small| font for +%^^A% float contents. These settings were loaded for \emph{all} float types. % Строки выше определяют стиль \texttt{boxed} (рамка |\fbox| вокруг объекта) -% и шрифт |\small| для содержимого +% и~шрифт |\small| для содержимого % объектов. Эти установки заданы для \emph{всех} типов плавающих объектов. % +%^^A% The |\floatsetup| command has following form: % Команда |\floatsetup| имеет следующую форму задания: -% \begin{quote} -% |\floatsetup|\oarg{float type}\marg{options} -% \end{quote} -% -% Для задания специальных настроек для плавающих объектов одного типа используется -% дополнительный аргумент в котором указывается тип флота. Следующая команда -% \begin{quote} +% \begin{Quote} +% |\floatsetup|\oarg{float type}\marg{options}\quad. +% \end{Quote} +% +%^^A% For defining of a special style for float of one type use optional +%^^A% argument with name of necessary float type. The following command +% Для задания специальных настроек для флотов одного типа используется +% опция, в~которой указывается его тип. Следующая команда +% \begin{Quote} % |\floatsetup[table]{style=Plaintop}| -% \end{quote} -% задаёт специальный стиль для таблиц (табличный заголовки помещаются над -% объектами; если таблицы стоят рядом внутри окружения \env{floatrow}, -% табличные заголовки выравниваются по верхней строке)\footnote{Ключи, -% используемые в специальной настройке для плавающих объектов одного -% типа, всегда <<сильнее>> их синонимов, заданных в общей настройке. Другими -% словами, если вы захотите, после приведённого примера переопределить стиль -% для всех флотов, -% с помощью \cmd{\floatsetup\{style={\normalfont \meta{option}}\}} -% вы не измените оформления таблицы "--- используйте опять -% \cmd{\floatsetup[table]}\allowbreak\texttt{\{style={\normalfont -% \meta{option}}\}}.}. -% +% \end{Quote} +%^^A% sets a special float style for tables: captions are placed above +%^^A% float objects; in the case of beside floats inside \env{floatrow} +%^^A% environment captions aligned by top line.%^^A +%^^A% %^^A \footnote{The keys, +%^^A% %^^A used in special settings for float of one type, are always +%^^A% %^^A ``stronger'' than synonym keys in common setting. In other words, +%^^A% %^^A if you want after example above to redefine float style for all +%^^A% %^^A floats with \cmd{\floatsetup\{style={\normalfont \meta{option}}\}} +%^^A% %^^A you won't change tables---use +%^^A% %^^A \cmd{\floatsetup[table]}\allowbreak +%^^A% %^^A \texttt{\{style={\normalfont \meta{option}}\}} again.}. +% задаёт специальный стиль для таблиц: табличные заголовки помещаются +% сверху; если таблицы стоят рядом внутри окружения \env{floatrow}, +% табличные заголовки выравниваются по верхней строке.%^^A +% %^^A \footnote{Ключи, +% %^^A используемые в~специальной настройке для плавающих объектов одного +% %^^A типа, всегда <<сильнее>> их синонимов, заданных в~общей настройке. Другими +% %^^A словами, если вы захотите, после приведённого примера переопределить стиль +% %^^A для всех флотов, +% %^^A с~помощью \cmd{\floatsetup\{style={\normalfont \meta{option}}\}} +% %^^A вы не измените оформления таблицы "--- используйте опять +% %^^A \cmd{\floatsetup[table]}\allowbreak\texttt{\{style={\normalfont +% %^^A \meta{option}}\}}.} +% +%^^A% There are also special options of |\floatsetup| for settings for floats +%^^A% in different positioning: two-column floats (starred environment, like +%^^A% \env{figure*}, you may also use, for example, for wide floats) rotated +%^^A% floats etc. The ``strength'' of options in the lists below decreases +%^^A% from previous item to next one (examples based on \env{figure} +%^^A% environment)\footnote{In the case of the boolean key \texttt{rawfloats=} is switched to \texttt{true}, +%^^A% the options below for float layout are canceled.}: % Созданы также специальные опции команды |\floatsetup| для настройки флотов -% с разными вариантами размещения: -% для набора в две колонки (в одноколонной книге |*|-окружение, типа +% с~разными вариантами размещения: +% для набора в~две колонки (в~одноколонной книге «звёздное» окружение, типа % \env{figure*}, можно использовать % для вёрстки, например, широких рисунков) для флотов, развёрнутых -% вертикально и других. -% <<Сила>> приведённых ниже в перечнях опций убывает от предыдущего -% к следующему пункту -% (в качестве примера использовано окружение \env{figure}): +% вертикально и~др. +% <<Сила>> приведённых ниже в~перечнях опций убывает от предыдущего +% к~следующему пункту +% (как пример используется окружение \env{figure})\footnote{В~случае +% если ключ \texttt{rawfloats=} задан как \texttt{true}, +% опции будут отменены.}: % \begin{itemize}\label{stsetorder}\itemsep0pt\parskip0pt -% \item Широкие флоты или флоты вразрез двух колонок +% \item +%^^A% Wide or two-column floats (e.g. \env{figure*}, +%^^A% you may load special +%^^A% settings for starred environments even in one-column document): +% Широкие флоты или флоты вразрез двух колонок % (например, \env{figure*}, вы можете определить специальные настройки для -% |*|-окружений и в одноколонном документе): +% «звёздных» окружений и~в~одноколонном документе): % \begin{itemize} -% \item |\floatsetup[widefigure]|---самые <<сильные>> настройки; +% \item +%^^A% |\floatsetup[widefigure]|---the ``strongest'' settings; +%^^A% if they absent, package uses settings from next item; +% |\floatsetup[widefigure]|\label{setup:widefigure} "---самые <<сильные>> настройки; % если они отсутствуют, % пакет использует настройки из следующего пункта; -% \item |\floatsetup[widefloat]|---эти настройки <<сильнее>> чем настройки +% \item +%^^A% |\floatsetup[widefloat]|\label{setup:widefloat}---these settings ``stronger'' +%^^A% than settings from next item (|\floatsetup[figure]|); +%^^A% if they absent, package uses settings from next item; +% |\floatsetup[widefloat]| "---эти настройки <<сильнее>> чем настройки % из следующего пункта (|\floatsetup[figure]|); если они отсутствуют, пакет % использует настройки из следующего пункта; -% \item |\floatsetup[figure]|; если эти настройки отсутствуют, пакет +% \item +%^^A% |\floatsetup[figure]|; +%^^A% if they absent, package uses settings from +%^^A% optional argument in |\usepackage| line or |\floatsetup{...}| +%^^A% command; if they absent---default package settings +%^^A% (see page~\pageref{sec:default}); +% |\floatsetup[figure]|; если эти настройки отсутствуют, пакет % использует настройки, -% заданные в опции в строке |\usepackage| или как |\floatsetup{...}|; -% если и эти установки отсутствуют "--- установки пакета +% заданные в~опции в~строке |\usepackage| или как |\floatsetup{...}|; +% если и~эти установки отсутствуют "--- установки пакета % по умолчанию (см.~с.~\pageref{sec:default}); % \end{itemize} -% \item Плавающие объекты в оборку (использующие окружение типа -% \env{wrapfigure}): +% \item +%^^A% Wrapped floats (\env{wrapfigure}, used width \package{wrapfig} package): +% Флоты в~оборку (окружение +% \env{wrapfigure} пакета \package{wrapfig}): % \begin{itemize}\itemsep0pt\parskip.5\parskip -% \item |\floatsetup[wrapfigure]|; -% \item |\floatsetup[wrapfloat]|; +% \item |\floatsetup[wrapfigure]|\label{setup:wrapfigure}; +% \item |\floatsetup[wrapfloat]|\label{setup:wrapfloat}; % \item |\floatsetup[figure]|; % \end{itemize} -% \item Плавающие объекты развёрнутые вертикально (\env{sidewaysfigure}): +% \item +%^^A% Rotated floats (in environments, like \env{sidewaysfigure}, +%^^A% used width \package{rotating} package): +% Флоты развёрнутые вертикально (\env{sidewaysfigure} +% пакета \package{rotating}): % \begin{itemize}\itemsep0pt\parskip.5\parskip -% \item |\floatsetup[rotfigure]|; -% \item |\floatsetup[rotfloat]|; +% \item |\floatsetup[rotfigure]|\label{setup:rotfigure}; +% \item |\floatsetup[rotfloat]|\label{setup:rotfloat}; % \item |\floatsetup[figure]|; % \end{itemize} -% \item Развёрнутые плавающие объекты вразрез двух колонок +% \item +%^^A% Wide rotated floats +%^^A% (\env{sidewaysfigure*})\footnote{The settings +%^^A% for wide float (\texttt{widefloat}, \texttt{widefigure}) +%^^A% removed---use settings for \texttt{widerotfloat} +%^^A% and---here---\texttt{widerotfigure}}: +% Развёрнутые флоты вразрез двух колонок % (\env{sidewaysfigure*})\footnote{Настройки -% для флотов на две колонки (или широких в одноколонной вёрстке) +% для флотов на две колонки (или широких в~одноколонной вёрстке) % (\texttt{widefloat}, \texttt{widefigure}) удалены "--- используйте % настройки для \texttt{widerotfloat} и "--- здесь % "---\texttt{widerotfigure}}: % \begin{itemize}\itemsep0pt\parskip.5\parskip -% \item |\floatsetup[widerotfigure]|; -% \item |\floatsetup[widerotfloat]|; +% \item |\floatsetup[widerotfigure]|\label{setup:widerotfigure}; +% \item |\floatsetup[widerotfloat]|\label{setup:widerotfloat}; % \item |\floatsetup[rotfigure]|; % \item |\floatsetup[rotfloat]|; % \item |\floatsetup[figure]|; % \end{itemize} -% \item Плавающие объекты с подписями рядом: +% \item +%^^A% Floats with beside captions (settings in these options are limited, see below): +% Флоты с~подписями сбоку (здесь есть ограничения, см.~ниже): % \begin{itemize}\itemsep0pt -% \item |\floatsetup[capbesidefigure]|; -% \item |\floatsetup[capbesidefloat]|; -% \item настройки окружений перечисленных выше, где помещён флот: +% \item |\floatsetup[capbesidefigure]|\label{setup:capbesidefigure}; +% \item |\floatsetup[capbesidefloat]|\label{setup:capbesidefloat}; +% \item +%^^A% setting of outer environments from previous items: +%^^A% \env{sidewaysfigure*}, \env{sidewaysfigure}, and \env{figure*}. +% настройки окружений перечисленных выше, где помещён флот: % \env{sidewaysfigure*}, \env{sidewaysfigure}, и \env{figure*}. % \end{itemize} -% Обратите внимание, что ключ \texttt{style=} (см. начало следующего раздела) -% отменяет настройку для размещения подписи сбоку. % \end{itemize} +%^^A% You can also create and change special settings for captions, using +%^^A% the same \meta{float~type} options in |\captionsetup| stuff. % Вы можете создать специальные настройки для подрисуночных подписей, используя -% те же названия опций \meta{float~type} в команде |\captionsetup|. +% те же названия опций \meta{float~type} в~команде |\captionsetup|. % -% Следующие несколько разделов описывают ключи, используемые командой |\floatsetup|. +%^^A% The next few sections describe keys of |\floatsetup| macro. +% Разделы ниже описывают ключи, используемые командой |\floatsetup|. % -% \subsection{Ключи Floatsetup}\label{sec:floatsetup} +% \clearpage +%^^A% \subsection{Floatsetup Keys}\label{sec:floatkeys} +% \subsection{Ключи Floatsetup}\label{sec:floatkeys} % +%^^A% \subsubsection{Float Style} % \subsubsection{Стиль плавающего объекта} % -% \DescribeMacro{style=} -% Ключ \emph{float style} задаётся следующим образом: -% \begin{quote} -% |style=|\meta{float style name}\quad , -% \end{quote} +% \DescribeMacro{style}\label{setup:style}%^^A +%^^A% The \emph{float style} could include alignment of float contents, margins, boxes or lines, +%^^A% if necessary, and other options. +%^^A% The \emph{float style} is specified by following way: +% Ключ \emph{float style} включает выравнивание содержимого объекта, поля (или материал на полях), +% рамки или линейки и~некоторые опции, если необходимо. Опция \emph{float style} задаётся следующим образом: +% \par\RestoreSpaces +% \begin{Options}{style=float style name } +% \item[style=\rmfamily\mdseries\meta{float style name}\ ,\quad] +%^^A% the \meta{float style name} you may take from +%^^A% table~\ref{tab:floatlayouts}. % где \meta{float style name} вы можете взять из табл.~\ref{tab:floatlayouts}. +% \item[...] +%^^A% You may create your own options with |\DeclareFloatStyle| command, +%^^A% see page~\pageref{ssec:declstyle}. +% Вы можете создать свои опции с~помощью команды \\|\DeclareFloatStyle|, +% см.~с.~\pageref{ssec:declstyle}. +% \end{Options} % -% -% Стиль для подписи, \texttt{ruled}, единственный из пакета \pkg{float}, -% который также предопределён в пакете \pkg{caption}. Для его использования, +%^^A% As you may see in the table~\ref{tab:floatlayouts}, there are included all float styles +%^^A% which emulate co-named ones from the \package{float} package. +% Как вы видите, в~табл.~\ref{tab:floatlayouts} включены все стили, эмулирующие +% соответствующие стили из пакета~\package{float}. +% +%^^A% Please note, that usage of \texttt{style=} key for floats with beside captions, +%^^A% i.e.~using |\floatsetup| settings with options like, e.g., +%^^A% |[capbesidefigure]| or |[capbesidefloat]| +%^^A% cancels settings for beside position of caption. Usually the floats with beside captions +%^^A% can set different alignment of captions, so the radical changes for float layout +%^^A% with beside caption in current version could get wrong results (see also +%^^A% {\sectionname}~\ref{page:killfloatstyle} how to get different settings for floats with beside captions).\medskip +% Обратите внимание, что использование ключа \texttt{style=} для флотов с~подписями сбоку, т.\,е. +% использование настроек |\floatsetup| с~опциями типа +% |[capbesidefigure]| или |[capbesidefloat]| +% отменяет установки для подписей сбоку. Обычно для флотов с~подписями сбоку задаётся только другое выравнивание +% текста подписи или оформление её метки (например задание её отдельной строкой), поэтому радикальные изменения для +% подписи сбоку могут дать неверные результаты (см.~%^^A +% {\sectionname}~\ref{page:killfloatstyle} для решения этой проблемы).\medskip +% +%^^A% The \package{caption} package uses its own settings and names for caption layout styles. +%^^A% The caption's \texttt{ruled} style is the only one from \package{float} +%^^A% package, which was predefined in \package{caption} package. To use it, +%^^A% write +% Пакет \package{caption} использует собственные настройки и~названия для стилей подписей. +% Стиль для подписи, \texttt{ruled}, единственный из пакета \package{float}, +% который также предопределён в~пакете \package{caption}. Для его использования, % запишите, например % \begin{quote} % |\captionsetup[figure]{style=ruled}|\quad . % \end{quote} % -% \begin{sidewaystable}%[p]% -% \extrarowheight1pt\tabcolsep.5\tabcolsep -% \newcommand\leftcell[2][16.5mm]{\extrarowheight0pt\def\arraystretch{.75} -% \hspace*{-\tabcolsep}\begin{tabular}[t]{>{\footnotesize -% \ttfamily\noindent\vphantom{\small()\mpfootnotemark[1]}}p{#1}}#2\end{tabular}% -% \hspace*{-\tabcolsep}\ignorespaces} -% \emptyfloatpage -% \begin{tabularx}\hsize{|@{}l@{}|@{}l@{}|X|} +% \begingroup +% \extrarowheight1pt\jot3pt\tabcolsep1.25\tabcolsep% +% \newlengthtocommand\settowidth\Icolumn{\small\texttt{wshadowboxx}} +% \newlengthtocommand\settowidth\IIcolumn{\small\texttt{framestyle=wshadowbox}} +% \newlengthtocommand\setlength\IIIcolumn{\textwidth-\Icolumn-\IIcolumn +% -6\tabcolsep} +% \newcommand\leftcell[2][16.5mm]{%^^A% +% \hspace*{-\tabcolsep}\begin{tabular}[t]{>{% +% \noindent +% \vphantom{\small()\mpfootnotemark[1]}} +% p{\hsize}} +% #2\unskip\botstrut\end{tabular}\hspace*{-\tabcolsep}% +% } +% \begin{longtable}{|>{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\Icolumn} +% |>{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\IIcolumn} +% |>{\parindent1em\topstrut}p{\IIIcolumn}<{\botstrut}|} +%^^A% \caption{Float layout styles}\label{tab:floatlayouts}\\ +% \caption{Стили плавающих объектов}\label{tab:floatlayouts}\\ +% \hline +% \hfil\thead{Style} & +% \hfil\thead{\cmd{\floatsetup} keys} & +% \hfil\thead{Description} \\ +% \hline +% \endfirsthead +%^^A% \caption{Float layout styles \textmd{(\emph{Continued})}}\label{tab:floatlayouts}\\ +% \caption[]{Стили плавающих объектов \textmd{(\emph{Продолжение})}}\\ +% \hline +% \hfil\thead{Style} & +% \hfil\thead{\cmd{\floatsetup} keys} & +% \hfil\thead{Description} \\ % \hline -% \hfil\thead{Стиль} & -% \hfil\thead{Ключи \cmd{\floatsetup}} & -% \hfil\thead{Описание} \\ +% \endhead +%^^A% \caption{Float layout styles \textmd{(\emph{Finished})}}\label{tab:floatlayouts}\\ +% \caption[]{Стили плавающих объектов \textmd{(\emph{Окончание})}}\\ % \hline -% \multicolumn{3}{|c|}{Определено в пакете \pkg{floatrow}}\\ -% \hline \leftcell{\texttt{plain}{\mpfootnotemark[1]}} +% \hfil\thead{Style} & +% \hfil\thead{\cmd{\floatsetup} keys} & +% \hfil\thead{Description} \\ +% \hline +% \endlasthead +%^^A% \multicolumn{3}{r@{}}{\emph{Continued on next page}} +% \multicolumn{3}{r@{}}{\emph{продолжение на следующей странице}} +% \endfoot +%^^A% \multicolumn{3}{r@{}}{\emph{Finished on next page}} +% \multicolumn{3}{r@{}}{\emph{окончание на следующей странице}} +% \endprelastfoot +% \endlastfoot +% \multicolumn{3}{|c|}{Определено в пакете \package{floatrow}}\\ +% \hline \leftcell{\texttt{plain}\label{setup:plain}{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]}} % & \leftcell{\meta{none}} -% &Стандартное оформление \LaTeX'а +% &Стиль \texttt{plain} создаёт стандартное оформление \LaTeX'а. Подрисуночные подписи всегда снизу +% \\\hline % \\\hline % \leftcell{\texttt{plaintop}{\mpfootnotemark[1]} -% \\\hline\texttt{Plaintop}{\mpfootnotemark[2]}} -% & \leftcell[50mm]{capposition=top\\\hline +% \botstrut\\ \hline\topstrut\texttt{Plaintop}} +% & \leftcell[50mm]{capposition=top\botstrut\\ \hline\topstrut % capposition=TOP} -% &То же что и стиль \texttt{plain} но помещает подпись сверху "--- +% &Стиль \texttt{plaintop} \cdash---то же что и~стиль \texttt{plain} но помещает подпись сверху "--- % аналог стиля из пакета -% \pkg{float}. Стиль, записанный с прописной выравнивает подписи -% у флотов, помещённых в окружение \env{floatrow}, по верхней строке +% \package{float}.\par Стиль с~прописной, \texttt{Plaintop}, помещает +% флоты рядом (в~окр.~\env{floatrow}) и~выравнивает подписи по верхней строке +% (см.~пример на~с.~\pageref{tab:row:tabIII}) % \\\hline -% \leftcell{\texttt{ruled}{\mpfootnotemark[1]} -% \\ \\ \\\hline\texttt{Ruled}} -% & \leftcell[50mm]{capposition=top,precode=thickrule,\\ -% midcode=rule,postcode=lowrule,\\ -% heightadjust=all\\\hline -% style=ruled,capposition=TOP} -% &Первый повторяет оформление одноимённого стиля из пакета \pkg{float}. -% Стиль, записанный с прописной выравнивает подписи в окружении -% \env{floatrow} по верхней строке +% \leftcell{\texttt{ruled}\label{setup:ruled}{\mpfootnotemark[1]\mpfootnotemark[3]} +% \\ \\ \\ \\ \botstrut\\ \hline\topstrut\texttt{Ruled}\smash{\mpfootnotemark[2]}} +% & \leftcell[50mm]{capposition=top,\\ precode=thickrule,\\ +% midcode=rule,\\ postcode=lowrule,\\ +% heightadjust=all\botstrut\\ \hline\topstrut +% style=ruled,\\ capposition=TOP} +% &Первый стиль, \texttt{ruled}, повторяет оформление одноимённого стиля из пакета \package{float}. +% Он создаёт толстую линию +% над флотом, и~тонкие линии между подписью и~объектом и~снизу бокса флота.\par +% Стиль с~прописной, |Ruled|, выравнивает подписи флотов, в~случае размещения их +% рядом (в~окружении \env{floatrow}), +% по верхней строке (см.~пример на~с.~\pageref{example:ruledcapposTOP}) % \\\hline -% \leftcell{\texttt{boxed}\smash{\mpfootnotemark[1]\mpfootnotemark[2]} -% \\ \\ \\\hline\texttt{Boxed} -% \\\hline\texttt{BOXED}} -% & \leftcell[50mm]{captionskip=2pt,framestyle=fbox,\\ -% heightadjust=object,\\framearound=object\\\hline -% style=boxed,framefit=yes\\\hline -% framestyle=fbox,framefit=yes,\\ -% heightadjust=all,framearound=all} -% &Первый повторяет стиль пакета \pkg{float}: -% ширина объекта равна \cmd{\hsize} или -% предопределённой ширине бокса; рамка выступает по сторонам. -% В форме с прописной буквы ширина рамки совпадает с -% \cmd{\hsize} или заданной шириной; ширина объекта при этом уменьшается, -% чтобы поместиться внутри рамки. Прописная форма создаёт рамку -% которая равна \cmd{\hsize} или заданной ширине, -% уже вокруг всего флота: подписи, объекта и возможных экспликаций. +% \leftcell{\texttt{boxed}\smash{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]\mpfootnotemark[4]} +% \\ \\ \\ \botstrut\\ \hline\topstrut\texttt{Boxed}\label{setup:Boxed}\smash{\mpfootnotemark[2]\mpfootnotemark[3]} +% \\ \botstrut\\ \hline\topstrut\texttt{BOXED}\smash{\mpfootnotemark[2]}\mpfootnotemark[3]} +% & \leftcell[50mm]{captionskip=2pt,\\framestyle=fbox,\\ +% heightadjust=object,\\framearound=object\botstrut\\ \hline\topstrut +% style=boxed,\\ framefit=yes\botstrut\\ \hline\topstrut +% framestyle=fbox,\\ framefit=yes,\\ +% heightadjust=all,\\ framearound=all} +% &Первый, \texttt{boxed}, повторяет стиль пакета \package{float}: +% ширина объекта равна |\textwidth|, предварительно заданной \cmd{\hsize} или +% предопределённой ширине заданной внутри команды |\floatbox|; +% рамка выступает по сторонам (см.~пример на~с.~\pageref{fig:setup:boxed}). Расстояние от текста до рамки +% и~толщина рамки определяются параметрами \cmd{\fboxsep} и~\cmd{\fboxrule} +% (значения по умолчанию \texttt{3\,pt} и~\texttt{.4\,pt} соответственно).\par +% В~стиле с~прописной буквы, |Boxed|, ширина рамки совпадает +% с~\cmd{\textwidth}, предварительно заданной \cmd{\hsize} или заданной шириной в~опции команды |\floatbox|; +% ширина объекта при этом уменьшается, +% чтобы поместиться внутри рамки (см.~пример на~с.~\pageref{fig:plain:MyBoxed}).\par +% Прописная форма, |BOXED|, создаёт рамку +% которая равна \cmd{\textwidth}, предварительно заданной \cmd{\hsize} или заданной шириной в~опции команды |\floatbox| +% уже вокруг всех элементов бокса флота: подписи, объекта и~возможных экспликаций +% (см.~пример на~с.~\pageref{fig:wrapfig:WcatII}) % \\\hline -% \multicolumn{3}{|c|}{Определено в пакете \pkg{fr-fancy}. -% Эти стили также требуют пакет \pkg{fancybox}.}\\ -% \hline \leftcell{\texttt{shadowbox}\smash{\mpfootnotemark[2]} -% \\\hline\texttt{Shadowbox} -% \\\hline\texttt{SHADOWBOX}} -% & \leftcell[50mm]{style=boxed,framestyle=shadowbox\\ \hline -% style=Boxed,framestyle=shadowbox\\ \hline -% style=BOXED,framestyle=shadowbox} +% \multicolumn{3}{|c|}{Определено в пакете \package{fr-fancy}. +% Эти стили также требуют пакет \package{fancybox}.}\\ +% \hline \leftcell{\texttt{shadowbox}\smash{\mpfootnotemark[4]} +% \\ \botstrut\\ \hline\topstrut\texttt{Shadowbox} +% \\ \botstrut\\ \hline\topstrut\texttt{SHADOWBOX}} +% & \leftcell[50mm]{style=boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut +% style=Boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut +% style=BOXED,\\framestyle=shadowbox} % &То же, что и \texttt{boxed}, \texttt{Boxed} и \texttt{BOXED} % соответственно. Рамка \cmd{\fbox} заменена на \cmd{\shadowbox} -% из пакета \pkg{fancybox}. +% из пакета \package{fancybox} (см.~пример на~с.~\pageref{fig:subfig:catsI}). +% Помимо \cmd{\fboxsep} и~\cmd{\fboxrule}, здесь ещё задаётся параметр \cmd{\shadowsize} \cdash--- ширина тени +% (по умолчанию равна 4\,pt). % \\\hline -% \leftcell{\texttt{doublebox}\smash{\mpfootnotemark[2]} -% \\\hline\texttt{Doublebox}\\\hline\texttt{DOUBLEBOX}} -% & \leftcell[50mm]{style=boxed,framestyle=doublebox\\\hline -% style=Boxed,framestyle=doublebox\\\hline -% style=BOXED,framestyle=doublebox} +% \leftcell{\texttt{doublebox}\smash{\mpfootnotemark[4]} +% \\ \botstrut\\ \hline\topstrut\texttt{Doublebox}\\ +% \botstrut\\ \hline\topstrut\texttt{DOUBLEBOX}} +% & \leftcell[50mm]{style=boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut +% style=Boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut +% style=BOXED,\\ framestyle=doublebox} % &То же, что и \texttt{boxed}, \texttt{Boxed} и \texttt{BOXED} % соответственно. Рамка \cmd{\fbox} заменена на \cmd{\doublebox} -% из пакета \pkg{fancybox}. +% из пакета \package{fancybox}. Рамка определяется параметрами \cmd{\fboxsep} и~\cmd{\fboxrule} % \\\hline % \multicolumn{3}{|c|}{Дополнительный стиль. Он также требует пакет -% \pkg{fancybox}.}\\\hline -% \leftcell{\texttt{wshadowbox}\smash{\mpfootnotemark[2]} -% \\\hline\texttt{Wshadowbox} -% \\\hline\texttt{WSHADOWBOX}} -% & \leftcell[50mm]{style=boxed,framestyle=wshadowbox\\\hline -% style=Boxed,framestyle=wshadowbox\\\hline -% style=BOXED,framestyle=wshadowbox} -% &То же, что и \texttt{boxed}, \texttt{Boxed} и \texttt{BOXED} +% \package{fancybox}.}\\\hline +% \leftcell{\texttt{wshadowbox}\smash{\mpfootnotemark[4]} +% \\ \botstrut\\ \hline\topstrut\texttt{Wshadowbox} +% \\ \botstrut\\ \hline\topstrut\texttt{WSHADOWBOX}} +% & \leftcell[50mm]{style=boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut +% style=Boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut +% style=BOXED,\\framestyle=wshadowbox} +% &То же, что и~\texttt{boxed}, \texttt{Boxed} и~\texttt{BOXED} % соответственно. Рамка \cmd{\fbox} заменена на \cmd{\wshadowbox}, % похожую на \cmd{\shadowbox} (но создаёт белую тень, или -% края <<второй копии>>) из пакета \pkg{fancybox}. +% края <<второй копии>>) из пакета \package{fancybox} (см.~пример на~с.~{fig:floatflt:WcatI}), для задания рамки +% используются те же параметры, что и~в~стиле \texttt{wshadowbox} % \\\hline -% \end{tabularx} -% -% \caption{Стили плавающих объектов}\label{tab:floatlayouts}% -% -% \floatfoot{Если задан стиль флота с рамкой вокруг объекта, равной ширине +%^^A% {\floatfoot*{When there is set float style with frame around object of +%^^A% fitted to the text width (like \texttt{Boxed}, etc.), and +%^^A% \cmd{\floatbox} macro uses \cmd{\FBwidth} command as \meta{width} +%^^A% option, which sets box width equal to float object's width (see +%^^A% page~\pageref{sec:floatbox}), the width of all float other elements +%^^A% in this case enlarged to get width of framed object.\vspace{-3pt}\par +%^^A% \rule{1in}{.4pt}\vspace{2pt}\parindent15pt +% \noalign{\floatfoot*{Если задан стиль флота, где ширина рамки вокруг объекта, равна ширине % основного текста или предопределённой ширине (как \texttt{Boxed}, etc.), -% и в опции \meta{width} макрокоманды \cmd{\floatbox} определена команда +% и~в~опции \meta{width} макрокоманды \cmd{\floatbox} определена команда % \cmd{\FBwidth}, устанавливающая ширину всех элементов флота равной % ширине объекта (см.~с.~\pageref{sec:floatbox}), ширина остальных элементов -% флота в этом случае увеличивается, до ширины равной обрамлённому объекту.} +% флота в~этом случае увеличивается, до ширины равной обведённому рамкой объекту.\vspace{-3pt}\par +% \rule{1in}{.4pt}\vspace{2pt}\parindent15pt +% +%^^A% \mpfootnotemark[1]{The styles co-named and analogous to \package{float} package style.} +%^^A% +%^^A% \mpfootnotemark[2]{This style used in the sample file \file{frsmaple01.tex}} +%^^A% +%^^A% \mpfootnotemark[3]{This style used in the sample file \file{frsmaple02.tex}} +%^^A% +%^^A% \mpfootnotemark[4]{During usage of these styles in +%^^A% \env{floatrow} environment you ought to enlarge +%^^A% space between floats, using key \texttt{floatrowsep}.} +% \mpfootnotemark[1]{Стили аналогичны предложенным пакетом \package{float}.} +% +% \mpfootnotemark[2]{Этот стиль используется в~файле образцов \file{frsmaple01.tex}} +% +% \mpfootnotemark[3]{Этот стиль используется в~файле образцов \file{frsmaple02.tex}} % -% \footnotetext[1]{Стили аналогичны предложенным пакетом \pkg{float}.} -% \footnotetext[2]{При использовании этих стилей в окружении \env{floatrow} +% \mpfootnotemark[4]{При использовании этих стилей в~окружении \env{floatrow} % вам необходимо увеличить расстояние между флотами (переопределив -% ключ \texttt{floatrowsep}).} -% \end{sidewaystable} -% \label{setup:start} +% ключ \texttt{floatrowsep}).}}} +% \end{longtable} % -%^^A\pagebreak[4] +% \endgroup +% +% +% +% \RestoreSpaces % -% \subsubsection{Настройки шрифта} +%^^A%\pagebreak[4]%^^A%protect clubs % -% \DescribeMacro{font=} +%^^A% \subsubsection{Font settings}\label{setup:start} +% \subsubsection{Настройки шрифта}\label{setup:start} +% +% \DescribeMacro{font=}\label{setup:font}%^^A +%^^A% Defines font for float object contents. Option +%^^A% analogous to |font| key in |\captionsetup| stuff.\nopagebreak % Определяет шрифт для содержимого плавающего объекта. Опции аналогичны % ключу \texttt{font=} -% в команде |\captionsetup|.\nopagebreak +% в~команде |\captionsetup|.\nopagebreak % +%^^A% Available font setting options: % Существующие уже опции настройки шрифта: % % \begin{Options}{\OptionLabel} % \item[scriptsize] {\scriptsize очень маленький размер} -% \item[footnotesize] {\footnotesize размер, используемый сносками} -% \item[small] {\small маленький размер, в русских изданиях -% рекомендуется для плавающих объектов} +% \item[footnotesize] {\footnotesize для сносок; \textit{используется в~сносках и~экспликациях}} +% \item[small] {\small маленький размер; \textit{используется в~объектах флотов}} % \item[normalsize] {\normalsize нормальный размер} % \item[large] {\large большой размер} % \item[Large] {\Large б\'ольший размер} @@ -669,11 +2330,18 @@ % \item[md] {\mdseries нормальная насыщенность} % \item[bf] {\bfseries полужирный шрифт} % -% \item[rm] {\rmfamily романский шрифт или шрифт с засечками} +% \item[rm] {\rmfamily романский шрифт или шрифт с~засечками} % \item[sf] {\sffamily рубленый шрифт} % \item[tt] {\ttfamily шрифт пишущей машинки} +%^^A% \item[...] +%^^A% You may create your own options with |\DeclareFloatFont| command, +%^^A% see page~\pageref{ssec:declfont}. +% \item[...] +% Вы можете создать свои определения с~помощью команды~|\DeclareFloatFont|, +% см.~с.~\pageref{ssec:declfont}. % \end{Options} % +%^^A% You may set font for float object like % Вы можете определить шрифт для объекта как % \begin{quote} % |font=small| @@ -683,46 +2351,132 @@ % |font={small,sf}|\quad . % \end{quote} % -% \DescribeMacro{footfont=}\label{sec:setfloatfoot}%^^A -% Определяет шрифт для экспликаций. -% Эта макрокоманда использует механизм команды |\captionsetup| (поскольку -% |\floatfoot| использует механизм пакета \pkg{caption}). -% По умолчанию размер шрифта для экспликации эквивалентен -% размеру сносок: |footfont=footnotesize|. -% -% \subsubsection{Размещение подписей и других элементов} -% -% \DescribeMacro{capposition=} +% \addvspace\medskipamount\noindent +% \DescribeMacro{footfont}\label{setup:footfont}%^^A +%^^A% Defines font for legends or explications (defined by |\floatfoot| command. +%^^A% see~\textsl{\sectionname}~\ref{subsec:floatfoot}). This macro +%^^A% uses |\captionsetup| mechanism (because |\floatfoot| macro +%^^A% uses \package{caption} mechanism). By default the font size +%^^A% of float foot text equals to footnote text: |footfont=footnotesize|. +% Определяет шрифт для экспликаций (задаваемые командой |\floatfoot|, +% см.~\textsl{\sectionname}~\ref{subsec:floatfoot}). +% Эта команда использует настройки, заданные командой |\captionsetup| (определение +% |\floatfoot| базируется на командах из \package{caption}). +% По умолчанию шрифт для экспликаций аналогичен +% шрифту сносок: |footfont=footnotesize|. +% +% \RestoreSpaces +%^^A% \subsubsection{Position of Caption and of Other Elements} +% \subsubsection{Размещение подписей и~других элементов} +% +% \DescribeMacro{capposition}\label{setup:capposition}%^^A +%^^A% Defines position of captions. It is similar to \texttt{position=} +%^^A% key in \package{caption} package, but it has two additional +%^^A% options\footnote{The option \texttt{auto} isn't used by +%^^A% \texttt{capposition=}.}: \texttt{TOP}%^^A +%^^A% \FRmpar{Caption above table object}{FAD:CaptionAboveTableII}, +%^^A% if you prefer to align captions +%^^A% above objects, in the case of beside floats (in \env{floatrow} +%^^A% environment), by the top line; and \texttt{beside} to put caption +%^^A% beside object (this option could be more preferable in settings +%^^A% for one environment, see about |\thisfloatsetup| on the +%^^A% page~\pageref{thisfloatsetup}): % Определяет расположение подписей. Ключ похож -% на ключ \texttt{position=} пакета \pkg{caption}, но он имеет +% на ключ \texttt{position=} пакета \package{caption}, но он имеет % две дополнительные опции\footnote{Опция \texttt{auto} не используется ключом -% \texttt{capposition=}.}: \texttt{TOP}, если вы предпочитаете выровнять подписи, -% расположенные сверху объектов, при расположении флотов рядом -% (в окружении \env{floatrow}), -% по верхней строке; и \texttt{beside} для размещения подписи +% \texttt{capposition=}.}: \qquad\texttt{TOP},%^^A +% \FRmpar{Подпись над таблицей}{FAD:CaptionAboveTableII} +% если вы хотите выровнять подписи, +% расположенные сверху объектов, расположенных в~одном ряду +% (окружение \env{floatrow}), +% по верхней строке; \qquad и~\texttt{beside} для размещения подписи % сбоку от объекта (эта опция -% может быть более предпочтительна для настроек отдельного окружения, см. о команде -% |\thisfloatsetup| на с.~\pageref{thisfloatsetup}): +% может быть более предпочтительна для настроек отдельного окружения флота, см. о~команде +% |\thisfloatsetup| на~с.~\pageref{thisfloatsetup}): +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} -% \item[top] подпись сверху объекта (соответствует команде |\captop|); -% \item[TOP] подпись сверху объекта и при размещении флотов рядом -% (в окружении \env{floatrow}) подписи выравниваются -% по верхней строке (соответствует команде |\CAPTOP|). -% Например, стиль \texttt{Plaintop} является вариантом стиля \texttt{plaintop} +%^^A% \item[top] caption above object (or |\captop| command, +%^^A% for |\floatbox|'s option, see below); +% \item[top] подписи сверху объекта; +%^^A% \item[TOP] caption above object and also aligned by top line in float +%^^A% row (or |\CAPTOP| command). +%^^A% For example the \texttt{Plaintop} style is the variant of +%^^A% \texttt{plaintop} where used |capposition=TOP| settings, +%^^A% see tables~\ref{tab:row:tabIII}--\ref{tab:row:tabIV}; +% \item[TOP] подписи сверху объекта и~при размещении флотов рядом +% (\env{floatrow}) они выравниваются +% по верху. +% Так, стиль \texttt{Plaintop} \cdash--- вариант стиля \texttt{plaintop} % где определена |capposition=TOP|, -% см. табл.~\ref{tab:row:tabIII}--\ref{tab:row:tabIV}; -% \item[bottom] подпись снизу объекта (соответствует команде |\capbot|); -% \item[beside] подпись сбоку объекта (соответствует команде |\capbeside|). +% см. табл.~\ref{tab:row:tabIII:CAPTOP}--\ref{tab:row:tabIV:CAPTOP}; +%^^A% \item[bottom] caption below object (or |\capbot| command); +% \item[bottom] подпись снизу объекта; +%^^A% \item[beside] caption beside object (equals to |\capbeside| +%^^A% command).%^^A +% \item[beside] подпись сбоку объекта.%^^A +% %^^A\FRmpar{Подпись сбоку}{FAD:BesideCaptionII} % \end{Options} % +% \begin{Quote} +% |\floatsetup[table]{|\hyperref[setup:style]{\texttt{style}}%^^A +% |=plain,capposition=top}%|${}\equiv\texttt{style=plaintop}$ +% \end{Quote} % \DeleteShortVerb{\|}% -% \begin{table}[h] -% \begin{floatrow} +% \begingroup +% \floatsetup[table]{style=plain,capposition=top} +% \begin{table}[H] +% \begin{floatrow}\tabcolsep2\tabcolsep +% \extrarowheight1pt +% \ttabbox +% {\caption[Таблица~I с длинным заголовком]%^^A +% {Таблица~I в~ряду с~длинным, длинным, длинным заголовком}\label{tab:row:tabIII:captop}}%^^A +% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} +% \hline +% \multirowthead{2}[-1ex]{Left Column Head} +% & \multicolumn{2}{c|}{\thead{Data}} \\ +% \cline{2-3} +% & \multicolumn{1}{c|}{\thead{I}} +% & \multicolumn{1}{c|}{\thead{II}} +% \\\hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} +% +% \ttabbox +% {\caption{Таблица~II в ряду}\label{tab:row:tabIV:captop}}%^^A +% {\begin{tabular}{|l|c|c|c|} +% \hline +% \multirowthead{2}[-1ex]{Column Head} +% & \multicolumn{3}{c|}{Data} \\ +% \cline{2-4} +% & \thead{I} & \thead{II} & \thead{III} \\ +% \hline +% First row & 1 & 2 & \phantom01 \\ +% Second row & 3 & 4 & \phantom06 \\ +% Third row & 6 & 8 & 28 \\ +% \hline +% \end{tabular}} +% \end{floatrow} +% \end{table} +% \endgroup +% \MakeShortVerb{\|}% +% +% \begin{Quote} +% |\floatsetup[table]{|\hyperref[setup:style]{\texttt{style}}|=plain,capposition=TOP}%|${}\equiv\texttt{style=Plaintop}$ +% \end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \floatsetup[table]{style=plain,capposition=TOP} +% \begin{table}[H] +% \begin{floatrow}\tabcolsep2\tabcolsep % \extrarowheight1pt % \ttabbox -% {\caption[Длинный заголовок таблицы~I]%^^A -% {Таблица~I в ряду с длинным, длинным, длинным заголовком, -% выровненным по верхней строке}\label{tab:row:tabIII}}%^^A +% {\caption[Таблица~I с длинным заголовком, выровненным по верху]%^^A +% {Таблица~I в~ряду с~длинным, длинным, длинным заголовком, +% выровненным по верхней строке}\label{tab:row:tabIII:CAPTOP}}%^^A % {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} % \hline % \multirowthead{2}[-1ex]{Left Column Head} @@ -739,8 +2493,7 @@ % \end{tabular}} % % \ttabbox -% {\caption{Таблица~II в ряду с заголовком, выровненным по верхней -% строке}\label{tab:row:tabIV}}%^^A +% {\caption{Таблица~II в ряду с заголовком, выровненным по верху}\label{tab:row:tabIV:CAPTOP}}%^^A % {\begin{tabular}{|l|c|c|c|} % \hline % \multirowthead{2}[-1ex]{Column Head} @@ -755,413 +2508,872 @@ % \end{tabular}} % \end{floatrow} % \end{table} +% \endgroup % \MakeShortVerb{\|}% % +%^^A% \emph{Note}. The option \texttt{TOP} uses |\label|---|\ref| +%^^A% mechanism, so to get necessary result with it you must run \LaTeX{} +%^^A% twice (when you make changes in contents which could change number +%^^A% of lines you get correct result also on the second run). % \emph{Замечание}. Опция \texttt{TOP} использует механизм |\label|---|\ref|, -% поэтому, чтобы получить нужный результат, нужно дважды обработать текст \LaTeX'ом -% (если вы внесли изменения, которые изменили количество строк вы также -% получите результат после второй обработки). +% поэтому нужный результат получится после второй обработки \LaTeX'а +% (изменения, которые изменили количество строк также требуют +% двойной обработки). % -% \DescribeMacro{capbesideposition=} -% Определяет вертикальное и горизонтальное расположение подписи рядом с объектом. -% Для горизонтального расположения определены четыре опции: +% \medskip\noindent +% \DescribeMacro{capbesideposition}\label{setup:capbesideposition}%^^A +%^^A% Defines position of beside captions: vertical and horizontal. +%^^A% For horizontal position there are defined four options: +% Определяет вертикальное и~горизонтальное расположение подписи рядом с~объектом. +% Для горизонтального расположения определены следующие четыре опции: +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} % \item[left] -% подпись помещается с левой стороны от объекта; +%^^A% caption is printed to the left side of object; +% подпись помещается с~левой стороны от объекта; % \item[right] -% подпись помещается с правой стороны от объекта; +%^^A% caption is printed to the right side of object; +% подпись помещается с~правой стороны от объекта; % \item[inside] +%^^A% caption is printed in binding side of page if |twoside| option +%^^A% switched on in document class; % подпись помещается со стороны корешкового поля, если включена опция |twoside| -% в классе документа; +% в~классе документа; % \item[outside] +%^^A% least popular option: caption printed in +%^^A% outer side of page if |twoside| option switched on +%^^A% in document class. % менее популярная опция: подпись помещается со стороны внешнего поля, % если опция |twoside| включена. % \end{Options} % +%^^A% For vertical position there are defined three options % Для вертикального расположения определены три опции % \begin{Options}{\OptionLabel}\samepage % \item[top] +%^^A% caption aligned to the top of object; % подпись выравнивается по верху объекта; % \item[bottom] +%^^A% caption aligned to the bottom of object; % подпись выравнивается по низу объекта; % \item[center] +%^^A% caption aligned to the center of float contents. % подпись и объекта выравниваются по средней линии. % \end{Options} +%^^A% You may define position of beside caption by following: % Вы можете определить расположение подписи рядом следующим образом: % \begin{quote} % |capbesideposition={top,outside}|\quad. % \end{quote} +%^^A% See examples in file \file{frsample02.tex} with all variants of +%^^A% position of beside captions. +% См.~примеры в~файле \file{frsample02.tex} со всеми возможными вариантами +% размещения подписей сбоку. % -% \noindent -% \DescribeMacro{capbesidewidth=} -% Определяет ширину подписи рядом (эта опция может быть более предпочтительна для -% настройки отдельного окружения, см. о команде |\thisfloatsetup| на -% с.~\pageref{thisfloatsetup}). Вы можете задать: +% \medskip\noindent +% \DescribeMacro{capbesidewidth}\label{setup:capbesidewidth}%^^A +%^^A% Defines width of beside caption (this option could be more preferable +%^^A% in settings for one environment, see about |\thisfloatsetup| on the +%^^A% page~\pageref{thisfloatsetup}). You may set: +% Определяет ширину подписи сбоку. Эта опция более предпочтительна для +% отдельного окружения, см.~о~команде |\thisfloatsetup| на +% с.~\pageref{thisfloatsetup}. Можно задать: +% \par\RestoreSpaces % \begin{quote} % |capbesidewidth=4cm|\quad. % \end{quote} -% Если вы напишете \texttt{capbesidewidth=none} или +%^^A% If you'll write \texttt{capbesidewidth=none} or +%^^A% \texttt{capbesidewidth=sidefill} (this is default key setting), the +%^^A% width of caption will be counted by usual way, accordingly +%^^A% to float width (i.e. occupies the rest width of float box, see +%^^A% figure~\ref{fig:beside:mouse} on the page~\pageref{fig:beside:mouse}). +% Если вы зададите \texttt{capbesidewidth=none} или % \texttt{capbesidewidth=sidefill} -% (это настройка по умолчанию), ширина подписи будет рассчитана -% относительно ширины объекта (то есть займет остальное пространство -% в боксе, см. рис.~\ref{fig:beside:mouse} на с.~\pageref{fig:beside:mouse}). +% (настройка по умолчанию), ширина подписи будет рассчитана +% относительно ширины объекта (т.\,е. займёт остальное пространство +% в~боксе, см.~рис.~\ref{intro:beside:FBwidth} на с.~\pageref{intro:beside:FBwidth}). % -% \noindent -% \DescribeMacro{capbesideframe=} +% \medskip\noindent +% \DescribeMacro{capbesideframe}\label{setup:capbesideframe}%^^A +%^^A% This boolean key declares whether beside caption stays near framed object +%^^A% (\texttt{capbesideframe=yes}) in this case caption lines aligned by top +%^^A% or bottom of frame; otherwise caption lines will be aligned with top or +%^^A% bottom of framed object's \emph{contents} (\texttt{capbesideframe=no}). % Этот ключ (работает как булев параметр) декларирует, размещена ли подпись рядом -% с объектом, заключённым в рамку (\texttt{capbesideframe=yes}): в этом случае +% с~объектом, заключённым в~рамку (\texttt{capbesideframe=yes}): в~этом случае % строки подписи будут выравнивается по верху или низу рамки; -% в противном случае верх или низ -% \emph{содержимого} объекта в рамке будет выровнено со строками -% подписи (\texttt{capbesideframe=no}). +% в~противном случае со строками +% подписи будут выровнены верх или низ +% \emph{содержимого} объекта (\texttt{capbesideframe=no}). +%^^A% This key was switched on in the example on the page~\pageref{fig:subfig:catsI}. +% Данный ключ включён в~примере на~с.~\pageref{fig:subfig:catsI}. +% \newcommand\TEXTBOX[1][]{\par +% Here goes first line of text \text\par +% There goes second line of text#1\par +% Thence goes third line of text \text\par +% Hence goes fourth line of text} +% \def\text{{\mdseries And more text and some more text and a bit more text and +% a little more text and a little piece of text to fill space}} +%\begingroup +% \begin{Quote}\openup.5pt +% \meta{preamble} +% |\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=Boxed,|%^^A +% \hyperref[setup:frameset]{\texttt{frameset}}|={\fboxsep8pt},| +% | |\hyperref[setup:objectset]{\texttt{objectset}}|=justified,|%^^A +% |capbesideframe=no,capbesideposition={right,top}}| +% |\captionsetup[figure]{...,strut=no}| +% \meta{preamble} +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{|\hyperref[setup:capposition]{\texttt{capposition}}|=beside,| +% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=sidefil,|%^^A +% \hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=4cm}| +% |\begin{figure}| +% |\fcapside| +% | {...}| +% | {\caption{...}\label{...}}| +% |\end{figure}| +% \end{Quote}% +% \floatsetup[figure]{style=Boxed,frameset={\fboxsep8pt},capbesideframe=no,objectset=justified, +% capbesideposition={right,top},footnoterule=limited} +% \captionsetup[figure]{strut=no} +% \thisfloatsetup{capposition=beside,floatwidth=sidefil,capbesidewidth=4cm} +% \begin{figure}[H] +% {\TEXTBOX} +% {\caption{Подпись сбоку объекта в~рамке, выровнена по верху содержимого объекта}%%^^A +% \label{capbesideframeI}}% +% \end{figure} +% \begin{Quote}\openup.5pt +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{|\hyperref[setup:capposition]{\texttt{capposition}}|=beside,| +% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=9cm,|%^^A +% \hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=sidefil}| +% \end{Quote}% +% \thisfloatsetup{capposition=beside,floatwidth=9cm,capbesidewidth=sidefil} +% \captionsetup{strut=no} +% \begin{figure}[H] +% {\TEXTBOX} +% {\caption{Подпись сбоку объекта в~рамке, выровнена по верху рамки}% +% \label{row:text:I}}% +% \end{figure} +%\endgroup +% +%^^A% \emph{Floatrow note.} For examples above was also used |\captionsetup{strut=no}| sentence, +%^^A% which cancels struts at the beginning and end of caption (|\strut|: the rules with height +%^^A% and depth, which are set accordingly to current |\baselineskip|). +% \noindent\emph{Замечание \textsf{floatrow}}. +% Для примеров выше также был задан специальный ключ |\captionsetup{strut=no}|, который +% отменяет <<распорки>> вначале и~в~конце подрисуночной подписи (|\strut|: специальные невидимые линейки, +% высота и~ширина которых изменяется в~зависимости от заданного в~данный момент интерлиньяжа, |\baselineskip|). +% % % \penalty-5000 -% \subsubsection{Определение расположения экспликаций (и сносок)} +% \RestoreSpaces +%^^A% \subsubsection{Defining Float Foot Position (Legends and Footnotes)}% +% \subsubsection{Определение расположения экспликаций (и~сносок)} % \label{sec:footposition} % -% \DescribeMacro{footposition=}\label{foot:pos}%^^A -% Определяет расположение содержимого команд |\footnote| и |\floatfoot| внутри -% бокса плавающего объекта с подписями сверху/снизу. +% \DescribeMacro{footposition}\label{setup:footposition}%^^A +%^^A% Defines position of |\footnote|'s and |\floatfoot|'s in float box +%^^A% with above/below captions. +% Определяет расположение содержимого команд |\footnote| и~|\floatfoot| внутри +% бокса плавающего объекта с~подписями сверху/снизу. % \begin{Options}{\OptionLabel} +% \par\RestoreSpaces % \item[default] -% если подпись сверху, экспликации и сноски помещаются под объектом; -% в противном случае -% "--- под подписью; +%^^A% if caption above float object foot material is placed below float +%^^A% object otherwise---below caption; +% если подпись сверху, экспликации и~сноски помещаются под объектом; +% в~противном случае "--- под подписью; % \item[caption] +%^^A% always placed below caption; % всегда помещаются под подписью; % \item[bottom] +%^^A% always placed at the bottom of float box. % всегда помещаются внизу бокса. % \end{Options} -% См. примеры в файле \file{frsample01.tex}. В случае подписи стоящей сбоку, -% сноски и экспликации всегда помещаются под подписью. +%^^A% See examples in file \file{frsample01.tex}. In the case of caption +%^^A% beside float object, footnotes and foot text always placed below +%^^A% caption. +% См.~примеры в~файле \file{frsample01.tex}. В~случае подписи стоящей сбоку, +% сноски и~экспликации всегда помещаются под подписью. % +%^^A% \subsubsection{Defining Vertical Alignment}\label{sec:heightadjust} % \subsubsection{Определение вертикального выравнивания}\label{sec:heightadjust} % -% \DescribeMacro{heightadjust=} -% Определяет будет ли использоваться в ряду (\env{floatrow}) максимальная +% \DescribeMacro{heightadjust}\label{setup:heightadjust}%^^A +%^^A% Defines whether the common maximum height of objects +%^^A% or/and captions in \env{floatrow} will be used. It has +%^^A% following options +% Определяет будет ли использоваться в~ряду (\env{floatrow}) максимальная % высота объекта -% и/или подписи в качестве общей. ключ имеет следующие опции +% и/или подписи в~качестве общей. ключ имеет следующие опции +% \par\RestoreSpaces % \begin{Options}{\OptionLabel}\samepage % \item[all] +%^^A% adjust both caption and object heights (e.g. for styles +%^^A% \texttt{Ruled} and \texttt{BOXED}); % выровнять высоты объектов и подписей по максимальной % высоте (например, используется стилями \texttt{Ruled} и \texttt{BOXED}); % \item[caption] +%^^A% adjust caption heights (e.g. for styles \texttt{Plaintop}); % выровнять высоты подписей по максимальной высоте % (используется стилем \texttt{Plaintop}); % \item[object] +%^^A% adjust object heights (e.g. for styles \texttt{Boxed}); % выровнять высоты объектов по максимальной высоте % (используется стилем \texttt{Boxed}); % \item[none] +%^^A% nothing to be adjusted; % никакие высоты не изменяются (используется стилем \texttt{plain}); % \item[nocaption] +%^^A% no adjusting for captions; % высоты подписей не изменяются; % \item[noobject] +%^^A% no adjusting for objects; % высоты объектов не изменяются; % \end{Options} +%^^A% You may define height adjustment even as followed: % Вы можете определить, как делать общие высоты, даже так: % \begin{quote} % |heightadjust={caption,noobject}|\quad. % \end{quote} % -% \noindent -% \DescribeMacro{valign=} -% Определяет вертикальное выравнивание объектов в ряду +% \addvspace\medskipamount\noindent +% \DescribeMacro{valign}\label{setup:valign}%^^A +%^^A% Defines vertical alignment of +%^^A% float objects in \env{floatrow} if |heightadjust=all| or +%^^A% |heightadjust=object|, or |\floatbox| stuff uses \meta{height} +%^^A% argument with value, which differs from the height of object. +%^^A% The options of this key analogous to vertical +%^^A% alignment option in \env{minipage} environment and |\parbox| +%^^A% command. Default option is |c| (centered vertical alignment). +% Определяет вертикальное выравнивание объектов в~ряду % (\env{floatrow}) если задан ключ |heightadjust=all| или -% |heightadjust=object| или в командах |\floatbox| используется +% |heightadjust=object| или в~командах |\floatbox| используется % аргумент \meta{height} -% с величиной б\'ольшей высоты объекта. Опции этого ключа аналогичны +% с~величиной б\'ольшей высоты объекта. Опции этого ключа аналогичны % опции вертикального -% выравнивания в окружении \env{minipage} и команде |\parbox|. +% выравнивания в~окружении \env{minipage} и~команде |\parbox|. % Опция по умолчанию: |c| % (центрированное вертикальное выравнивание). -% \begin{Options}{\OptionLabel}\samepage +% \par\RestoreSpaces +% \begin{Options}{cc}\samepage % \item[t] +%^^A% aligns objects by top line; % выравнивает объекты по верхней линии; % \item[c] +%^^A% aligns objects by center line; % выравнивает объекты по средней линии; % \item[b] +%^^A% aligns objects by bottom line; % выравнивает объекты по нижней линии; % \item[s] +%^^A% stretches objects by full height (if it is possible). % растягивает объекты на всю высоту (если возможно). % \end{Options} % +%^^A% The settings |heightadjust=object,valign=c| were used +%^^A% in the example with figures \ref{intro:leftfig:valigned} +%^^A% and \ref{intro:rightfig:valigned}. (Please look at the width options of |\ffigbox| commands: +%^^A% you may set the widths in this way with \package{calc} package.) +% Настройки |heightadjust=object,valign=c| использованы +% в~примере с~рисунками \ref{intro:leftfig:valigned} +% и~\ref{intro:rightfig:valigned}. (Посмотрите на задание ширины в~командах |\ffigbox|: +% такое задание ширины можно использовать при загруженном пакете \package{calc}.) +%\begin{Quote}% +%\meta{preamble}\nopagebreak +%|\floatsetup{...,heightadjust=object,valign=c,...}|\nopagebreak +%\meta{preamble} +% |\begin{figure}| +% |\begin{floatrow}| +% | \ffigbox[\FBwidth+2cm]| +% | {...}| +% | {\caption{Левый ...}\label{...}}%| +%| | +% | \ffigbox[\FBwidth+2cm]| +% | {\caption{Рисунок ...}\label{...}}| +% | {...}| +% |\end{floatrow}| +% |\end{figure}| +%\end{Quote}% +% \begin{figure}[h!]\floatsetup{heightadjust=object,valign=c}\killfloatstyle +% \begin{floatrow} +% \ffigbox[\FBwidth+2cm] +% {\input{BlackCat.picture}} +% {\caption{Левый рисунок в~ряду использует вертикальное выравнивание по \hbox{центру}}%^^A +% \label{intro:leftfig:valigned}}% +% +% \ffigbox[\FBwidth+2cm] +% {\caption{Рисунок рядом тоже использует вертикальное выравнивание по \hbox{центру}}%^^A +% \label{intro:rightfig:valigned}} +% {\unitlength1.25\unitlength\input{Cat.picture}} +% \end{floatrow} +% \end{figure}%^^A +% +%^^A% \subsubsection{Facing Layout} % \subsubsection{Оформление для разворотов} % -% \DescribeMacro{facing=} +% \DescribeMacro{facing}\label{setup:facing}%^^A +%^^A% This key defines whether facing layout used +%^^A% for floats. This key works if |twoside| option switched on in +%^^A% document class. % Этот ключ определяет будет ли использоваться оформление флотов -% для разворотов (зеркальное -% отображение чётных и нечётных полос). -% Этот ключ работает, если включена опция |twoside| в классе документа. -% -% \subsubsection{Определение полей вокруг флотов и настройка +% для разворотов (различное +% оформление чётных и нечётных полос). +% Этот ключ работает, если включена опция |twoside| в~классе документа. +% +%^^A% The most popular usage of |facing| key is in the case, when beside captions are placed to the inner sides +%^^A% of pages. The figures~\ref{intro:beside} and~\ref{intro:beside:FBwidth} at beginning of the document +%^^A% illustrate these options---%^^A +%^^A% \texttt{facing=yes,\allowbreak capbesideposition=inside}. +% Наиболее популярное использование ключа |facing|: размещение подрисуночных подписей сбоку к~корешку. +% Рисунки~\ref{intro:beside} и~\ref{intro:beside:FBwidth} +% иллюстрируют применение этой опции \cdash--- +% \texttt{facing=yes,\allowbreak capbesideposition=inside}. +% +% +% \RestoreSpaces +%^^A% \subsubsection{Defining Float Margins and Object Settings} +% \subsubsection{Поля вокруг флотов и~настройка % для содержимого объекта}\label{sec:set:box} % -% \DescribeMacro{margins=} -% Определяет поля для отдельных флотов с подписями сверху/снизу, -% для отдельных флотов с подписями сбоку, и для окружения +% \DescribeMacro{margins}\label{setup:margins}%^^A +%^^A% Defines margins of alone float boxes with +%^^A% captions above/below, of float boxes with beside captions, and of +%^^A% \env{floatrow} environments. It has following three predefined +%^^A% options: +% Определяет поля для отдельных флотов с~подписями сверху/снизу, +% для отдельных флотов с~подписями сбоку, и~для окружения % \env{floatrow}. Ключ уже имеет три предопределённые опции: +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} % \item[centering] +%^^A% float box centered; % плавающий объект центрируется; % \item[raggedright] +%^^A% float box flushed to the left; % плавающий объект выключается влево; % \item[raggedleft] +%^^A% float box flushed to the right. % плавающий объект выключается вправо. +% \item[...] +%^^A% You may create your own alignment settings with \\|\DeclareMarginSet| command, see +%^^A% page~\pageref{ssec:decl:marg}. +% Вы можете задать специальное выравнивание с~помощью команды~|\DeclareMarginSet|, +% см.~с.~\pageref{ssec:decl:marg}. % \end{Options} -% Вы можете задать специальное выравнивание, см.~с.~\pageref{ssec:decl:marg}. % % \noindent -% \DescribeMacro{objectset=}\DescribeMacro{justification=} +% \DescribeMacro{objectset}\DescribeMacro{justification}\label{setup:objectset}%^^A +%^^A% Defines justification of float object +%^^A% (float contents). Predefined options are similar to +%^^A% \texttt{justification=} key in |\captionsetup|. % Определяет выключку содержимого объекта. -% Предопределённые опции те же, что и для ключа +% Предопределённые опции те же, что и~для ключа % \texttt{justification=} команды |\captionsetup|. +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} % \item[justified] -% Печатает текст объекта как обычный абзац. (Задано по умолчанию.) +%^^A% Blocks (in the case of a~picture or text box) +%^^A% moved to the left, the object text aligned as a normal paragraph (without paragraph +%^^A% indentation). (This is the default.) +% Блоки (рисунки или бокс с~текстом) сдвигаются влево, +% текст объекта печатается как обычный абзац, но без отступа. (Задано по умолчанию.) % % \item[centering] -% Строки объекта центрируются. +%^^A% Each line of the object text will be centered. +% Блоки и строки текста объекта центрируются. % % \item[raggedright] -% Строки объекта выключаются влево. +%^^A% Each line of the object text will be moved to the left margin. +% Блоки и строки текста объекта выключаются влево. % % \item[RaggedRight] -% Строки объекта также выключаются влево. -% Но в этом случае используется команда |\RaggedRight| пакета \pkg{ragged2e}. -% Разница заключается в том, что задействован алгоритм переносов внутри текста. +%^^A% As in previous item, each line of the object text will be moved to the +%^^A% left margin, too. +%^^A% But this time the command |\RaggedRight| of the \package{ragged2e} package +%^^A% will be used to achieve this. This difference is that this time +%^^A% the word breaking algorithm of \TeX\ will work inside the object text. +% Как и~в~предыдущем пункте, блоки и строки текста объекта также выключаются влево. +% Но в~этом случае используется команда |\RaggedRight| пакета \package{ragged2e}. +% Разница состоит в~том, что задействован алгоритм переносов внутри текста +% как в plain~\TeX'е. % % \item[raggedleft] -% Строки выключаются вправо. +%^^A% Each line of the object text will be moved to the right margin. +% Блоки и строки выключаются вправо. % % \item[RaggedLeft] +%^^A% Analogous to |RaggedRight|. % Аналогична |RaggedRight|. % +% \item[...] +%^^A% You may also create your own settings with |\DeclareObjectSet| command (see +%^^A% page~\pageref{ssec:decl:rule}) +% Вы можете задать свои собственные настройки с~помощью команды~|\DeclareObjectSet| +% (см.~с.~\pageref{ssec:decl:rule}) % \end{Options} -% Вы можете задать свои собственные настройки (см.~с.~\pageref{ssec:decl:rule}) +% +% \RestoreSpaces +%^^A% \subsubsection{Defining Width of Object}\label{sec:wd:object} +% \subsubsection{Определение ширины объекта, содержимого флота}\label{sec:wd:object} % % \noindent -% \DescribeMacro{floatwidth=} -% Вы можете использовать этот ключ для переопределения ширины флотов. Можно задать -% \begin{quote} -% |floatwidth=.6\hsize| -% \end{quote} +% \DescribeMacro{floatwidth}\label{setup:floatwidth}%^^A +%^^A% It is used for redefinition of width of objects. +%^^A% This key, similar to |captionwidth=|, page~\pageref{setup:capbesidewidth}, +%^^A% could be used at first +%^^A% for settings of one float environment: +% Используется для переопределения ширины объектов, содержимого флотов. +% Этот ключ, как и~|captionwidth=|, см.~с.~\pageref{setup:capbesidewidth}, +% в~первую очередь предназначен для +% настроек одного окружения: +% \par\RestoreSpaces +% \begin{Quote} +% |floatwidth=.3\hsize| +% \end{Quote} % или -% \begin{quote} +% \begin{Quote} % |floatwidth=7cm| -% \end{quote} -% Этот ключ удобно использовать в настройке для отдельного окружения -% (см. о команде |\thisfloatsetup| на с.~\pageref{thisfloatsetup}). +% \end{Quote} +%^^A% (see page~\pageref{thisfloatsetup} about settings for current float environment and |\thisfloatsetup|).\pagebreak[1] +% (см.~о~настройках для конкретного окружения флота и~о~команде |\thisfloatsetup| +% на~с.~\pageref{thisfloatsetup}). % -% Если вы используете опцию \texttt{floatwidth=sidefill} для флотов с подписью -% сбоку (в случае если в \texttt{capbesidewidth=} задано абсолютное значение -% ширины, как \texttt{4cm}) объект (вместо подписи) займет остальное -% пространство в боксе (см. приложение, рис.~\ref{fig:capbeside:trick} на -% с.~\pageref{fig:capbeside:trick}) +% \begingroup +% \begin{Quote}\openup-.65pt +% \meta{preamble}\nopagebreak +% |\floatsetup[figure]{|\hyperref[setup:capposition]{\texttt{capposition}}|=bottom}|\nopagebreak +% \meta{preamble} +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |[figure]{floatwidth=.3\hsize,capposition=bottom}|\nopagebreak +% |\begin{figure}| +% | \includegraphics[width=\hsize]{Bear}| +% | \caption{...}\label{...}| +% |\end{figure}| +% \end{Quote}% +% +% \floatsetup[figure]{capposition=bottom} +% \thisfloatsetup{floatwidth=.3\hsize} +% \begin{figure}[H] +% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A +% \caption{Рисунок с~шириной \texttt{floatwidth=0.3}\cmd{\hsize}}% +% \label{fig:rot} +% \end{figure}% +% \endgroup +% +% \begingroup +% \begin{Quote}% +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{floatwidth=.3\hsize,|\hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=sidefil,| +% | capposition=beside}| +% \end{Quote}% +% +% \floatsetup[figure]{floatwidth=.3\hsize,capbesidewidth=sidefil, +% capposition=beside} +% \begin{figure}[H] +% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A +% \caption{Подпись сбоку рисунка шириной \texttt{floatwidth=0.3}\cmd{\hsize}}%^^A +% \label{fig:bear} +% \end{figure}% +% \endgroup % -% \subsubsection{Определение разделителей в боксах флотов}\label{sec:set:sep} +%^^A% If you use option \texttt{floatwidth=sidefill} for objects with beside +%^^A% captions (in the case of key \texttt{capbesidewidth=}, +%^^A% \DescribeMacro{capbesidewidth}\label{setup:capbesidewidth}%^^A +%^^A% page~\ref{setup:capbesidewidth}, uses absolute +%^^A% value, like \texttt{capbesidewidth=4cm}) the object (instead of caption) +%^^A% occupies the rest space of float box (see appendix, +%^^A% figure~\ref{fig:capbeside:trick} on the page~\pageref{fig:capbeside:trick}) +% Если вы используете опцию \texttt{floatwidth=sidefill} для флотов с~подписью +% сбоку (в~случае если в~\texttt{capbesidewidth=}, +% \DescribeMacro{capbesidewidth}%^^A +% задано абсолютное значение +% ширины, например, \texttt{capbesidewidth=4cm}) содержимому объекта (вместо подписи) будет отведено остальное +% пространство в~боксе (см. также рис.~\ref{capbesideframeI} на~с.~\pageref{capbesideframeI} +% приложение, рис.~\ref{fig:capbeside:trick} на +% с.~\pageref{fig:capbeside:trick}) % -% \noindent -% \DescribeMacro{floatrowsep=} -% Задаёт разделительный материал между флотами рядом -% (заданных командой |\floatbox| и её -% производными, см.~с.~\pageref{sec:floatbox}) внутри окружения \env{floatrow} -% (см.~с.~\pageref{sec:floatrow}). +% \RestoreSpaces +%^^A% \subsubsection{Defining Float Separators}\label{sec:set:sep} +% \subsubsection{Определение разделителей в~боксах флотов}\label{sec:set:sep} % % \noindent -% \DescribeMacro{capbesidesep=} -% Задаёт разделительный материал между объектом и подписью сбоку. -% +% \DescribeMacro{floatrowsep}\label{setup:floatrowsep}%^^A +%^^A% Sets separation material between beside float boxes (defined +%^^A% by |\floatbox| macro etc., see page~\pageref{sec:floatbox}) +%^^A% inside \env{floatrow} environment (see page~\pageref{sec:floatrow}). +% Задаёт разделительный материал между плавающими объектами в~одном ряду, +% внутри окружения \env{floatrow}, (см.~с.~\pageref{sec:floatrow}). +% +% \addvspace\smallskipamount\noindent +% \DescribeMacro{capbesidesep}\label{setup:capbesidesep}%^^A +%^^A% Sets separation material between object and beside caption. +% Задаёт разделительный материал между объектом и~подписью сбоку. +% +% \RestoreSpaces +%^^A% Both key settings work similarly to |labelsep=| key +%^^A% from |\captionsetup|. % Настройки обоих ключей работают аналогично настройкам ключа |labelsep=| % в команде |\captionsetup|. -% +%%^^A +%^^A% They use following predefined options: % Они используют следующие предопределённые опции: % \begin{Options}{\OptionLabel} % \item[columnsep] +%^^A% horizontal skip${}={}$|\columnsep|; % горизонтальная отбивка${}={}$|\columnsep| (межколонник при двух- -% и многоколонном наборе); +% и~многоколонном наборе); % \item[quad] +%^^A% horizontal skip${}={}1$\,em; % горизонтальная отбивка${}={}1$\,em (одна кегельная); % \item[qquad] +%^^A% horizontal skip${}={}2$\,em; % горизонтальная отбивка${}={}2$\,em (две кегельные); % \item[hfil] -% горизонтальная отбивка${}={}1$\,fil (растяжимая длина |\hfil|); +%^^A% horizontal skip${}={}1$\,fil (like |\hfil|); +% горизонтальная отбивка${}={}1$\,fil (то же, что и~|\hfil|); % \item[hfill] -% горизонтальная отбивка${}={}1$\,fill (ещё более растяжимая длина |\hfill|); +%^^A% horizontal skip${}={}1$\,fill (like |\hfill|); +% горизонтальная отбивка${}={}1$\,fill (то же, что и~|\hfill|); % \item[none] +%^^A% empty separator. % пустой разделитель. +% \item[...] +%^^A% You may also create your own settings with\\ |\DeclareFloatSeparators| command (see +%^^A% page~\pageref{setup:DeclareFloatSeparators}) +% Вы можете задать свои установки с~помощью команды~\\|\DeclareFloatSeparators| +% (см.~с.~\pageref{setup:DeclareFloatSeparators}) % \end{Options} +%^^A% This documentation uses settings |floatrowsep=qquad,capbesidesep=quad|. +% Данная документация использует настройки |floatrowsep=qquad,| для флотов рядом и~|capbesidesep=quad| +% для флотов с~подписью сбоку. % +%^^A% \subsubsection{Defining Float Rules/Skips}\label{sec:set:rule} % \subsubsection{Определение вертикальных отбивок или линеек}\label{sec:set:rule} % -% \DescribeMacro{precode=} -% Определяет отбивку, линейку или другой подобный материал сверху флота. -% -% \noindent -% \DescribeMacro{rowprecode=} -% Определяет отбивку, линейку или другой подобный материал -% сверху отдельного флота и, при -% размещении флотов рядом в окружении \env{floatrow}, сверху ряда флотов. +% \DescribeMacro{precode}\label{setup:precode}%^^A +%^^A% Defines skip, rule or other analogous code above float box. +% Определяет отбивку, линейку или аналогичный материал сверху флота. +% +% \addvspace\smallskipamount\noindent +% \DescribeMacro{rowprecode}\label{setup:rowprecode}%^^A +%^^A% Defines skip, rule or other analogous code above alone float box, +%^^A% or, in the case of beside floats inside \env{floatrow} environment, +%^^A% above float row (see page~\pageref{fig:rotrow:WcatI}). +% Определяет отбивку, линейку или аналогичный материал +% сверху отдельного флота или сверху ряда флотов в~окружении \env{floatrow}. % (см.~с.~\pageref{fig:rotrow:WcatI}). % -% \noindent -% \DescribeMacro{midcode=} -% Определяет отбивку, линейку или другой подобный материал -% между подписью сверху/снизу и объектом. -% -% \noindent -% \DescribeMacro{postcode=} -% Определяет отбивку, линейку или другой подобный материал снизу флота. -% -% \noindent -% \DescribeMacro{rowpostcode=} -% Определяет отбивку, линейку или другой подобный материал снизу -% отдельного флота и, при -% размещении флотов рядом в окружении \env{floatrow}, -% снизу ряда флотов (см.~с.~\pageref{fig:rotrow:WcatI}). -% +% \addvspace\smallskipamount\noindent +% \DescribeMacro{midcode}\label{setup:midcode}%^^A +%^^A% Defines skip, rule or other analogous code between +%^^A% caption above/below and float object. +% Определяет отбивку, линейку или аналогичный материал +% между подписью сверху/снизу и~объектом. +% +% \addvspace\smallskipamount\noindent +% \DescribeMacro{postcode}\label{setup:postcode}%^^A +%^^A% Defines skip, rule or other analogous code below float box. +% Определяет отбивку, линейку или аналогичный материал снизу флота. +% +% \addvspace\smallskipamount\noindent +% \DescribeMacro{rowpostcode}\label{setup:rowpostcode}%^^A +%^^A% Defines skip, rule or other analogous code below alone float box, or, +%^^A% in the case of beside floats inside \env{floatrow} environment, +%^^A% below float row (see page~\pageref{fig:rotrow:WcatI}). +% Определяет отбивку, линейку или аналогичный материал снизу +% отдельного флота или +% снизу ряда флотов в~окружении \env{floatrow} (см.~с.~\pageref{fig:rotrow:WcatI}). +% +%^^A% For all these keys there are predefined following options (settings +%^^A% were taken from styles created in \package{float} package): % Для всех этих ключей предопределены следующие опции (настройки -% взяты из стилей, созданных пакетом \pkg{float}): +% взяты из стилей, созданных пакетом \package{float}): % \begin{Options}{\OptionLabel}\makeatletter\@itempenalty10000\makeatother % \item[none] +%^^A% absent code; % отбивка отсутствует; % \item[thickrule] -% толстая линия (.8pt) с отбивкой снизу в 2pt "--- верхняя линейка +%^^A% thick rule (.8pt) with 2pt vertical skip below---rule above float box +%^^A% in \texttt{ruled} style; +% толстая линия (.8pt) с~отбивкой снизу в~2pt "--- верхняя линейка % над флотов в стиле \texttt{ruled}; % \item[rule] -% линейка обычной толщины (.4pt), с отбивками сверху и снизу -% в 2pt "---средняя линейка в стиле \texttt{ruled}; +%^^A% rule of default thickness (.4pt), with 2pt vertical skips above and +%^^A% below---middle rule in \texttt{ruled} style; +% линейка обычной толщины (.4pt), с~отбивками сверху и~снизу +% в~2pt "---средняя линейка в~стиле \texttt{ruled}; % \item[lowrule] -% линейка обычной толщины (.4pt), с отбивкой сверху в -% 2pt "--- нижняя линейка в стиле \texttt{ruled}; +%^^A% rule of default thickness (.4pt), with 2pt vertical skip above---rule +%^^A% below float box in \texttt{ruled} style; +% линейка обычной толщины (.4pt), с~отбивкой сверху +% в~2pt "--- нижняя линейка в~стиле \texttt{ruled}; % \item[captionskip] -% вертикальная отбивка равная величине, заданной в ключе |captionskip=|. +%^^A% vertical skip equal to value, defined in |captionskip=| key. +% вертикальная отбивка, задаваемая в~ключе |captionskip=|. +% \item[...] +%^^A% You may create your own options with |\DeclareFloatVCode| command, +%^^A% see page~\pageref{ssec:decl:rule}. +% Вы можете задать свои установки с~помощью команды~\\|\DeclareFloatVCode|, +% см.~с.~\pageref{ssec:decl:rule}. % \end{Options} -% Вы можете задать свои опции, см.~с.~\pageref{ssec:decl:rule}. % +%^^A% \subsubsection{Defining Float Frames} % \subsubsection{Задание рамок для флотов} % -% \DescribeMacro{framestyle=} +% \DescribeMacro{framestyle}\label{setup:framestyle}%^^A +%^^A% Defines type of frame; the +%^^A% \package{floatrow} package offers only one type of frame: % Определяет тип рамки; пакет -% \pkg{floatrow} предлагает только один вид рамки: +% \package{floatrow} предлагает только один вид рамки: +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} % \item[fbox] % стандартная рамка. % \end{Options} +%^^A% There are options for additional frames, offered by \package{fr-fancy} +%^^A% package, installed with \env{floatrow}: % Далее идут опции для задания дополнительных вариантов рамок, -% предлагаемых пакетом \pkg{fr-fancy}, -% который инсталлируется вместе с \pkg{floatrow}: +% предлагаемых пакетом \package{fr-fancy}, +% который инсталлируется вместе с~\package{floatrow}: % \begin{Options}{\OptionLabel} % \item[colorbox] -% цветная рамка, для неё нужен пакет \pkg{color}; +%^^A% colored frame, needs also \package{color} package; +%^^A% if not defined, there is used |\fbox|; +% цветная рамка, для неё нужен пакет \package{color}; % если эта рамка не определена, используется обычная |\fbox|; % \item[doublebox] -% двойная рамка, для неё нужен пакет \pkg{fancybox}; +%^^A% double frame, needs also \package{fancybox} package; +% двойная рамка, для неё нужен пакет \package{fancybox}; % \item[shadowbox] -% рамка с тенью, для неё нужен пакет \pkg{fancybox}; +%^^A% frame with shadow, needs also \package{fancybox} package; +% рамка с~тенью, для неё нужен пакет \package{fancybox}; % \item[wshadowbox] -% изменённая рамка \texttt{shadowbox} (с <<белой тенью>>), -% для неё нужен пакет \pkg{fancybox}; -% \end{Options} -% -% \noindent -% \DescribeMacro{framearound=} -% Задаёт элемент флота, вокруг которого нужно создать рамку: -% \begin{Options}{\OptionLabel} -% \item[object] -% только содержимое объекта; -% \item[all] -% флот полностью, включая объект, подпись и дополнительный материал. +%^^A% modified \texttt{shadowbox} frame (frame with ``white shadow''), +%^^A% needs also \package{fancybox} package; +% изменённая рамка \texttt{shadowbox} (с~<<белой тенью>>), +% для неё нужен пакет \package{fancybox}; % \end{Options} % -% \noindent -% \DescribeMacro{framefit=} -% Переключатель (работает как булев параметр) который определяет -% нужно ли ширину рамки делать равной ширине -% текста |\hsize| или предопределённой ширине (\texttt{framefit=yes}), -% объект в этом случае -% сужается; или рамка выступает в обе стороны и, -% в этом случае ширина объекта равна |\hsize| -% или предопределённой ширине (\texttt{framefit=no}) -% -% \noindent -% \DescribeMacro{frameset=} +% \addvspace\medskipamount\noindent +% \DescribeMacro{frameset}\label{setup:frameset}%^^A +%^^A% The parameters for chosen frame; there are no options +%^^A% for this key, just write something like: % Параметры выбранной рамки; для этого ключа нет предопределённых опций, % он определяется следующим образом: +% \par\RestoreSpaces % \begin{quote} % |frameset={\fboxrule1pt\fboxsep12pt}|\quad. % \end{quote} % -% \noindent -% \DescribeMacro{colorframeset=} -% Ключ предлагается пакетом \pkg{fr-fancy}: определяет -% цветную рамку (по умолчанию это обычная |\fbox|). -% В текущей версии вы можете использовать только команду |\fcolorbox| -% для цветной рамки. Вы -% можете определить цветную рамку следующим образом: +% \addvspace\medskipamount\noindent +% \DescribeMacro{framearound}\label{setup:framearound}%^^A +%^^A% Declares element of float box to be framed: +% Задаёт элемент флота, вокруг которого нужно создать рамку: +% \par\RestoreSpaces +% \begin{Options}{RaggedRigh} +% \item[object] +%^^A% float object contents; +% только содержимое объекта; +% \item[all] +%^^A% full float box including object, caption, and any foot text. +% весь бокс флота, включая объект, подпись, сноски/экспликации. +% \end{Options} +% +% \addvspace\medskipamount\noindent +% \DescribeMacro{framefit}\label{setup:framefit}%^^A +%^^A% Boolean which sets whether the \textit{frame width} will +%^^A% be equal to current |\hsize| or predefined width of +%^^A% float box (\texttt{framefit=yes}), in this case object size reduced +%^^A% see~page~\pageref{fig:plain:MyBoxed} (all boxed figures in current +%^^A% documentation use true value of this key); +%^^A% or the frame climbs out in the left and +%^^A% right sides, and \textit{width of object} has current +%^^A% |\hsize| or predefined width of float box (\texttt{framefit=no}). +% Переключатель (булев параметр) определяет, +% нужно ли ширину рамки делать равной ширине +% текста или предопределённой ширине |\hsize| (\texttt{framefit=yes}), +% объект в~этом случае +% сужается, (см.~пример на с.~\pageref{fig:plain:MyBoxed} +% и~все рисунки в~рамке в~данной документации); +% или рамка выступает в~обе стороны и +% в~этом случае ширина объекта равна |\hsize| +% или предопределённой ширине (\texttt{framefit=no}). +% \begingroup +% \begin{Quote}\openup.5pt +% |\floatsetup[figure]{framestyle=fbox,|\hyperref[setup:heightadjust]{\texttt{heightadjust}}|=object,| +% | framearound=object,frameset={\fboxrule1pt\fboxsep10pt},| +% | framefit=no}%|$\approx\texttt{style=boxed}$ +% |\begin{figure}| +% |\ffigbox[4cm]| +% | {...}{\caption{...}}| +% |\end{figure}| +% \end{Quote}% +% \floatsetup[figure]{framestyle=fbox,heightadjust=object, +% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=no}%^^A$\equiv\texttt{style=boxed}$ +% \begin{figure}[H]% +% \ffigbox[4cm] +% {\unitlength1.44\unitlength\input{Cat.picture}}{\caption[Рамка вокруг графики выступает за края]{Рамка вокруг содержимого +% объекта выступает за края бокса \hbox{флота}}\label{fig:setup:boxed}} +% \end{figure}% +% \begin{Quote}\openup.5pt +% |\floatsetup[figure]{...,framefit=yes}%|$\approx\texttt{style=Boxed}$ +% |\begin{figure}|% +% |\ffigbox[4cm]| +% | {...}{\caption{...}}|\nopagebreak +% |\end{figure}|% +% \end{Quote}% +% \floatsetup[figure]{framestyle=fbox,heightadjust=object, +% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=yes}%%^^A$\equiv\texttt{style=Boxed}$ +% \begin{figure}[H]% +% \ffigbox[4cm] +% {\unitlength1.4\unitlength\input{Cat.picture}}{\caption[Ширина рамки равна ширине бокса]{Ширина рамки равна +% ширине бокса (здесь: ширине подрисуночной подписи)}} +% \end{figure}% +% \endgroup +% +% \addvspace\medskipamount\noindent +% \DescribeMacro{colorframeset}\label{setup:colorframeset}%^^A +%^^A% Offered by \package{fr-fancy} package\footnote{Use +%^^A% \texttt{fancyboxes=yes} option in \cmd{\usepackage} line.}: defines +%^^A% concrete color box (default is standard |\fbox|). +%^^A% In current version you may use only |\fcolorbox| as color box. You +%^^A% may define your color box like +% Ключ предлагается пакетом \package{fr-fancy}\footnote{Для его загрузки нужно задать +% ключ \texttt{fancyboxes=yes} в~строке \cmd{\usepackage}, а~также необходимо +% загрузить пакет \package{color}.}: определяет +% цветную рамку (по умолчанию это команда |\fbox|). +% Для цветной рамки используется +% команда |\fcolorbox|. +% Её можно определить следующим образом: +% \par\RestoreSpaces % \begin{quote} % |colorframeset={\fcolorbox{white}{yellow}}|\quad. % \end{quote} % -% \subsubsection{Определение отбивок} +%^^A% \subsubsection{Defining Float Skips} +% \subsubsection{Определение отбивок внутри флота} % -% \DescribeMacro{captionskip=} -% Определяет размер вертикальной отбивки между подписью и объектом +% \DescribeMacro{captionskip}\label{setup:captionskip}%^^A +%^^A% Defines vertical space between caption and float object +%^^A% in case of |midcode| key defined as |midcode=captionskip|; +%^^A% or in case of usage of float styles (\texttt{style=} +%^^A% key) \texttt{plain}, \texttt{plaintop} or \texttt{Plaintop}: +% Определяет размер вертикальной отбивки между подписью и~объектом % если ключ |midcode| определён как -% |midcode=captionskip|; или в случае использования стилей (ключ \texttt{style=}) +% |midcode=captionskip|; или в~случае использования стилей (ключ \texttt{style=}) % \texttt{plain}, \texttt{plaintop} или \texttt{Plaintop}, пример: -% \begin{quote} +% \par\RestoreSpaces +% \begin{Quote} % |captionskip=10pt|\quad. -% \end{quote} -% -% \noindent -% \DescribeMacro{footskip=} -% Определяет вертикальную отбивку до сносок и экспликаций. -% \begin{quote} +% \end{Quote} +%^^A% The settings above are default. +%^^A% The settings of current documentation: |captionskip=5pt|. +% Установки отбивки выше используются по умолчанию. +% Установки, используемые данной документацией: |captionskip=5pt|. +% +% \addvspace\medskipamount\noindent +% \DescribeMacro{footskip}\label{setup:footskip}%^^A +%^^A% Defines vertical space before foot material and footnotes. +% Определяет вертикальную отбивку до сносок и~экспликаций. +% \par\RestoreSpaces +% \begin{Quote} % |footskip=4pt|\quad, -% \end{quote} -% or -% \begin{quote} +% \end{Quote} +% или +% \begin{Quote} % |footskip=\skip\footins|\quad. -% \end{quote} +% \end{Quote} % +%^^A% \subsubsection{Defining Float Footnote Rule's Style} % \subsubsection{Задание стиля для линейки над сноской}\label{sec:footnotestyle} % -% \DescribeMacro{footnoterule=} +% \DescribeMacro{footnoterule}\label{setup:footnoterule}%^^A +%^^A% Defines type of footnote rule for footnotes inside float environment. % Определяет тип линейки над сноской внутри бокса плавающего элемента. +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} % \item[normal] -% стандартное определение \LaTeX'а, используемое в окружении -% \env{minipage}, ширина её равна -% 0.4 текущей ширины текста (|\columnwidth|); +%^^A% standard \LaTeX{} definition, used in \env{minipage} environments, the +%^^A% width of it equals to 0.4 of current with of text (|\columnwidth|); +% стандартное определение \LaTeX'а, +% ширина линейки составляет +% 0.4 от ширины текста (|\columnwidth|); % \item[limited] +%^^A% like previous one but max width of footnote rule equals to the value +%^^A% defined by |\frulemax| command, like: % аналогична предыдущей, но максимальная ширина сноски равна -% величине определённой в -% команде |\frulemax|, следующим образом: +% величине определённой +% в~команде |\frulemax|: % \begin{quote} % |\renewcommand\frulemax{1in}| % \end{quote} % \item[fullsize] +%^^A% rule to full current text width. % линейка на всю ширину текста. % \item[none] +%^^A% Absent rule. % нет линейки. +% \item[...] +%^^A% You may create your own options with |\DeclareFloatFootnoterule| command, +%^^A% see page~\pageref{ssec:fnoterule}. +% Вы можете создать собственные настройки с~помощью команды~|\DeclareFloatFootnoterule|, +% см.~с.~\pageref{ssec:fnoterule}. % \end{Options} % % \label{setup:end} % % %^^A ???needed? +%^^A% \subsubsection{Loading Style for Fancy Boxes} % \subsubsection{Загрузка пакета для необычных рамок} % -% \DescribeMacro{fancyboxes=} +% \DescribeMacro{fancyboxes}\label{setup:fancyboxes}%^^A +%^^A% This boolean key loads \package{fr-fancy} package. This key you may use +%^^A% only in optional argument in |\usepackage| line. % Переключатель (работает как булев параметр) загружает пакет -% \pkg{fr-fancy}. Этот ключ можно использовать -% только в дополнительном аргументе строки |\usepackage|. +% \package{fr-fancy}. Этот ключ можно использовать +% только в~опции строки |\usepackage|. +% +% \RestoreSpaces +%^^A% \subsubsection{Managing Floats with \texttt{[H]} placement option} +% \subsubsection{Управление флотами с~опцией~\texttt{[H]}} +% +% \DescribeMacro{doublefloataswide}\label{setup:doublefloataswide}%^^A +%^^A% This boolean key redefines starred float in onecolumn layout +%^^A% like non-starred ones. (In this case the \texttt{[H]} option works +%^^A% in starred environments also; layout settings from |\floatsetup| +%^^A% as \texttt{widefloat} are not cancelled.) +% Данный переключатель делает \LaTeX'овское поведение «звёздных» +% окружений флотов в~одноколонном макете аналогичным «незвёздным». +% (В~этом случае опция \texttt{[H]} может действовать и~на «звёздные» окружения; при +% этом действие опций оформления|\floatsetup| типа \texttt{widefloat} не отменяется.) % +% \medskip\noindent +% \DescribeMacro{floatHaslist}%^^A +%^^A% This boolean key adds values of penalties before and after +%^^A% this ``anchored'' float like in the list environment and cancels +%^^A% paragraph indentation, if no blank line appears after environment +%^^A% (see also section~\pageref{sec:listpen}). +% Данный переключатель значения штрафов (penalties) до и~после +% флотов «на якоре» равные штрафам в~окружениях перечней и~отменяет +% абзацный отступ, если после окружения флота нет пустой строки +% (см.~также {\sectionname}~\pageref{sec:listpen}). +% +% \RestoreSpaces +%^^A% \subsection{Settings for Current Float Environment} % \subsection{Настройки для одного флота} % -% \DescribeMacro{\thisfloatsetup}\label{thisfloatsetup}%^^A -% Вы можете задать некоторые настройки только для одного флота -% перед необходимым окружением. Команда |\thisfloatsetup| может -% включать в себя те же ключи и опции как и |\floatsetup|. Она содержит +% \DescribeMacro{\thisfloatsetup}\label{thisfloatsetup}\label{setup:thisfloatsetup}%^^A +%^^A% You may define some settings only for one float just +%^^A% before necessary environment. Command |\thisfloatsetup| could +%^^A% contain the same keys and options as in |\floatsetup|. It has +%^^A% only mandatory argument\footnote{The \cmd{\thisfloatsetup} defined +%^^A% as abbreviation of \cmd{\floatsetup[tmpset]} command.}.\par\strut +%^^A% \par\kern-\baselineskip +% Можно задать некоторые настройки только для одного флота +% перед необходимым окружением. Команда |\thisfloatsetup| +% включает в~себя те же ключи и~опции, что и~|\floatsetup|, но использует % только обязательный аргумент\footnote{Команда \cmd{\thisfloatsetup} определена % как аббревиатура \cmd{\floatsetup[tmpset]}.}.\par\strut\par\kern-\baselineskip % @@ -1171,26 +3383,75 @@ %^^A keys \texttt{captionwidth=} %^^A \texttt{floatwidth} do not used usually in |\floatsetup| stuff. % -% \subsection{<<Очистка>> предыдущих настроек для определённого +% \RestoreSpaces +%^^A% \subsection{Clearing of Previous Float Type Settings} +% \subsection{Отмена настроек для определённого % типа плавающих объектов} % -% \DescribeMacro{\clearfloatsetup} +% \DescribeMacro{\clearfloatsetup}\label{setup:clearfloatsetup}%^^A +%^^A% If you want to get rid of parameters marked +%^^A% for an automatic use within a particular environment +%^^A% you can use the command\footnote{See also documentation +%^^A% of \package{caption} package about \cmd{\clearcaptionsetup} command}: % Если вы хотите отменить параметры, определённые для -% использования в определённом окружении -% вы можете использовать команду\footnote{См. также в документации пакета -% \pkg{caption} о команду \cmd{\clearcaptionsetup}}: +% использования в~окружении определённого типа +% вы можете использовать команду\footnote{Сделана как «сопровождение» +% команде \cs{clearcaptionsetup}, см.~также документацию пакета +% \package{caption} о~команду \cmd{\clearcaptionsetup}}: +% \par\RestoreSpaces +% \begin{quote} +% |\clearfloatsetup|\marg{float type}\quad. +% \end{quote} +%^^A% where \marg{float type}---types as \texttt{figure}, \texttt{widefloat} etc. +% где \marg{float type} \cdash--- тип флота, например, \texttt{figure}, +% \texttt{widefloat} и~т.\,д. +% +% %^^A !!!for footnotes! +% %^^A \newpage +% +%^^A% \subsection{Temporary Clearing of All Float Settings}\label{page:killfloatstyle} +% \subsection{Временная очистка всех установок для флотов}\label{page:killfloatstyle} +% +% \DescribeMacro{\killfloatstyle}\label{setup:killfloatstyle}%^^A +%^^A% In some cases like mixed rows of floats where figure stays beside table +%^^A% you need to cancel layout of ``foreign'' float (see page~\pageref{mixrow}). +%^^A% The |\killfloatstyle| command is used before any +%^^A% command of |\floatbox| stuff (see {\sectionname}~\ref{sec:floatbox}). +%^^A% This command will be useful for layout with beside captions in the cases +%^^A% of usage of quite different styles for, e.g. |[figure]| option of +%^^A% floatsetup with \texttt{style=plain} and +%^^A% |[cabesidefigure]| with \texttt{style=boxed}. +%^^A% In this case you may define your command, based on predefined +%^^A% |\fcapside|: +% Первый случай, когда нужна эта команда \cdash--- рисунок нужно поместить рядом с~таблицей +% и~нужно отключить настройки «чужого» флота (см.с.~\pageref{mixrow}). +% Команда |\killfloatstyle| используется до +% команды, созданной на базе |\floatbox|, (см.~{\sectionname}~\ref{sec:floatbox}). +% Другой случай \cdash--- макет флота с~подписями сбоку +% имеет сильно отличающиеся настройки от других подтипов: опция |[figure]| +% команды |\floatsetup| задана как \texttt{style=plain}, +% а~|[cabesidefigure]| \cdash--- как \texttt{style=boxed}. +% Для~этих случаев можно определить новую команду, например, на основе +% |\fcapside|: +% \par\RestoreSpaces % \begin{quote} -% |\clearfloatsetup|\marg{Typ}\quad. +% |\newcommand\myfcapside{\killfloatstyle|\\ +% | \floatsetup[figure]{style=Boxed}\fcapside}|\quad. % \end{quote} +% Опция |[figure]| необходима, если определены установки с~такой опцией +% в~преамбуле. % % %^^A !!!for footnotes! % %^^A \newpage % +%^^A% \subsection{The Default Float Type Settings}\label{sec:default} % \subsection{Установки для флотов заданные по умолчанию}\label{sec:default} % -% Следующие ключи и опции включаются, при загрузке пакета \pkg{floatrow}. +%^^A% The following keys and options are switched on when \package{floatrow} +%^^A% package loaded. They equal to \texttt{plain} style: +% Следующие ключи и~опции включаются, при загрузке пакета \package{floatrow}. % Они эквивалентны стилю \texttt{plain}: -% \begin{Options}{\OptionLabel} +% \begin{Options}{\OptionLabel}\openup-.5pt % \item[font=normalsize] % \item[footfont=footnotesize] % \item[capposition=bottom] @@ -1211,30 +3472,36 @@ % \item[captionskip=10pt] % \end{Options} % +%^^A% \subsection{Defining new options} +% \subsection{Определение новых опций (Делаем сами!)} % -% \subsection{Определение новых опций} +%^^A% In the next few sections goes a small list of commands, which +%^^A% define key options for |\floatsetup|. +% В~следующих разделах перечисляются команды, которые определяют опции +% ключей команды |\floatsetup|. % -% В следующих разделах перечисляются команды, которые определяют опции -% ключей команды |\floatsetup|. Примеры опций взяты, как правило, -% из определений опций пакета \pkg{floatrow}. +%^^A% \subsubsection{Float Style (\texttt{style=})}\label{ssec:declstyle} +% \subsubsection{Опция стиля флота (\texttt{style=})}\label{ssec:declstyle} % -% \subsubsection{Стиль флота} -% -% \DescribeMacro{\DeclareFloatStyle} +% \DescribeMacro{\DeclareFloatStyle}\label{setup:DeclareFloatStyle}%^^A +%^^A% Defines new float style. Example shows definition of new float +%^^A% style \texttt{MyBoxed}. The figures~\ref{fig:plain:MyBoxed}, and +%^^A% some others in current documentation show result. % Определяет новый стиль. Пример демонстрирует задание нового стиля -% \texttt{MyBoxed}. Рисунок~\ref{fig:plain:MyBoxed}, и -% некоторые другие в данной документации показывают результат. -%\begin{verbatim} -%\DeclareFloatStyle{MyBoxed}{style=Boxed,captionskip=5pt, -% frameset={\fboxrule1pt\fboxsep12pt}} -%\floatsetup[figure]{style=MyBoxed} -%\end{verbatim} +% \texttt{MyBoxed}. Рисунок~\ref{fig:plain:MyBoxed}, +% и~некоторые другие в~данной документации демонстрируют результат. +% \par\RestoreSpaces +%\begin{Quote} +%|\DeclareFloatStyle{MyBoxed}{|\hyperref[setup:style]{style}|=Boxed,|\hyperref[setup:captionskip]{captionskip}|=5pt,| +%| |\hyperref[setup:frameset]{frameset}|={\fboxrule1pt\fboxsep12pt}}| +%|\floatsetup[figure]{style=MyBoxed}| +%\end{Quote} % % \begingroup % % \floatsetup[figure]{style=MyBoxed} -% \begin{figure}[!t] -% {\input{BlackCat.picture}}% +% \begin{figure}[H] +% {\unitlength1.44\unitlength\input{Horse.picture}}% % \caption{%^^A % Простой рисунок в стиле \texttt{MyBoxed}}% % \label{fig:plain:MyBoxed}% @@ -1242,1076 +3509,1014 @@ % more and more text inside macro \cmd{\floatfoot}}% % \end{figure} % +%^^A% The same result you get with: % Тот же результат вы можете получить: -%\begin{verbatim} -%\floatsetup[figure]{style=Boxed,captionskip=5pt, -% frameset={\fboxsep12pt\fboxrule1pt}} -%\end{verbatim} +% \par\RestoreSpaces +%\begin{Quote}\openup-.65pt +%|\floatsetup[figure]{style=Boxed,captionskip=5pt,| +%| frameset={\fboxsep12pt\fboxrule1pt}}| +%\end{Quote} % \endgroup % -% \subsubsection{Определение новых линеек или отбивок}\label{ssec:decl:rule} +%^^A% \subsubsection{Defining Float Rules/Skips}\label{ssec:decl:rule} +% \subsubsection{Опция задания линеек или отбивок (\texttt{precode=} и~др.)} +% \label{ssec:decl:rule} % -% \DescribeMacro{\DeclareFloatVCode} +% \DescribeMacro{\DeclareFloatVCode}\label{setup:DeclareFloatVCode}%^^A +%^^A% This command defines the skip, rule or other analogous code above +%^^A% and below full float box and between caption above/below and +%^^A% object. The defined option you may use in \texttt{rowprecode}, +%^^A% \texttt{precode}, \texttt{midcode}, \texttt{postcode}, and +%^^A% \texttt{rowpostcode} keys. % Эта команда создаёт определение отбивки, линейки или другого подобного материала -% сверху и снизу всего бокса объект---подпись и между -% подписью сверху/снизу и объектом. -% Созданную опцию вы можете использовать в ключах \texttt{rowprecode}, -% \texttt{precode}, \texttt{midcode}, \texttt{postcode} и -% \texttt{rowpostcode}. -% \begin{quote} -% |\DeclareFloatVCode{thickrule}{\hrule height.8ptdepth0pt%|\\ -% \strut\qquad|\kern2pt}| -% \end{quote} +% сверху и~снизу всего бокса объект---подпись и~между +% подписью сверху/снизу и~объектом. +% Созданную опцию вы можете использовать в~ключах \texttt{rowprecode}, +% \texttt{precode}, \texttt{midcode}, \texttt{postcode} +% и~\texttt{rowpostcode}. +% \par\RestoreSpaces +% \begin{Quote}\openup.5pt +% \meta{preamble} +% |\DeclareFloatVCode{grayruleabove}%| +% | {{\color{gray}\hrule height2.8ptdepth0pt\vskip4pt}}| +% |\DeclareFloatVCode{grayrulebelow}%| +% | {{\color{gray}\vskip4pt\hrule height2.8ptdepth0pt}}| +% |\floatsetup{...,| +% | |\hyperref[setup:rowprecode]{rowprecode}|=grayruleabove,|%^^A +% \hyperref[setup:rowpostcode]{rowpostcode}|=grayrulebelow}| +% \meta{preamble} +% |\begin{figure}| +% |\begin{floatrow}| +% | \ffigbox| +% | {...}{\caption{The left ...}\label{...}}%| +%| | +% | \ffigbox|\nopagebreak +% | {...}{\caption{The beside ...}\label{...}}| +% | \end{floatrow}|\nopagebreak +% |\end{figure}| +%| | +%| | +% |\begin{figure}| +% | ...| +% | \caption{The figure ...}\label{...}%| +% |\end{figure}| +% \end{Quote} +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,rowprecode=grayruleabove, +% rowpostcode=grayrulebelow}\killfloatstyle +% \begin{floatrow} +% \ffigbox +% {\unitlength.65\unitlength\input{BlackCat.picture}} +% {\caption{Левый рисунок в~ряду с~заданными линейками сверху и~снизу, заданными для ряда}% +% \label{intro:leftfig:row}}% +% +% \ffigbox +% {\caption{Правый рисунок в~ряду с~заданными линейками сверху и~снизу, заданными для ряда}%^^A +% \label{intro:rightfig:row}} +% {\unitlength.85\unitlength\input{Cat.picture}} +% \end{floatrow} +% \end{figure}%^^A +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,rowprecode=grayruleabove, +% rowpostcode=grayrulebelow}\killfloatstyle +% \ffigbox +% {\caption{Отдельный рисунок с~линейками сверху и~снизу, заданными для ряда}%^^A +% \label{intro:alone:row}} +% {\unitlength.85\unitlength\input{TheCat.picture}} +% \end{figure}%^^A +% \begin{Quote}\openup-.65pt +% \meta{preamble}\nopagebreak +% |...|\nopagebreak +% |\floatsetup{...,|\hyperref[setup:precode]{precode}|=grayruleabove,| +% | |\hyperref[setup:postcode]{postcode}|=grayrulebelow}| +% \meta{preamble} +% |...| +% \end{Quote} +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c, +% precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle +% \begin{floatrow} +% \ffigbox +% {\unitlength.65\unitlength\input{BlackCat.picture}} +% {\caption{Левый рисунок в~ряду с~линейками сверху и~снизу рисунка, заданными для бокса флота}% +% \label{intro:leftfig:box}}% +% +% \ffigbox +% {\caption{Правый рисунок в~ряду с~линейками сверху и~снизу рисунка, заданными для бокса флота}%^^A +% \label{intro:rightfig:box}} +% {\unitlength.85\unitlength\input{Cat.picture}} +% \end{floatrow}% +% \end{figure}\kern-\lastskip%^^A +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c, +% precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle +% \ffigbox +% {\caption{Отдельный рисунок с~линейками сверху и~снизу рисунка, заданными для бокса флота}%^^A +% \label{intro:alone:box}} +% {\unitlength.85\unitlength\input{TheCat.picture}} +% \end{figure}%^^A % -% \subsubsection{Определение выключки содержимого объекта}\label{ssec:decl:marg} +% \RestoreSpaces +%^^A% \subsubsection{Object Justification Option (\texttt{objectset=})}\label{ssec:decl:oset} +% \subsubsection{Опция выключки содержимого объекта (\texttt{objectset=})} +% \label{ssec:decl:oset} % -% \DescribeMacro{\DeclareObjectSet} +% \DescribeMacro{\DeclareObjectSet}\label{setup:DeclareObjectSet}%^^A +%^^A% You may define justification for \texttt{objectset=} key like\nopagebreak: % Вы можете определить свою опцию выключки для ключа \texttt{objectset=} -% следующим образом: -% \begin{quote} +% так: +% \par\RestoreSpaces +% \begin{Quote} % |\DeclareObjectSet{centering}{\centering}| -% \end{quote} -% В определении опции вы можете попробовать задать и другие повторяющие команды, +% \end{Quote} +%^^A% In option's definition you may try to include any regular commands +%^^A% which you need to put before each object contents in float +%^^A% environment\footnote{You may also use key options declared by +%^^A% \cmd{\DeclareCaptionJustification} command of \package{caption} package +%^^A% as options for \texttt{objectset=} key.}.\par +%^^A% \strut\par\kern-\baselineskip +% В~определении опции вы можете попробовать задать и~другие повторяющие команды, % которые вам нужны при оформлении содержимого % объекта\footnote{Вы можете использовать % опции ключей, заданные \cmd{\DeclareCaptionJustification} "--- -% командой из пакета \pkg{caption}, +% командой из пакета \package{caption}, % как опции ключа \texttt{objectset=}.}.\par\strut\par\kern-\baselineskip % -% \subsubsection{Определение выключки (и другого материала) -% для всего бокса флота}\label{ssec:decl:marg} +%^^A% \subsubsection{Option for Float Box Alignment/Settings (\texttt{margins=})} +% \subsubsection{Определение выключки/настроек +% для бокса флота (\texttt{margins=})}\label{ssec:decl:marg} % -% \DescribeMacro{\DeclareMarginSet}\label{fsetup:besmarg}%^^A +% \DescribeMacro{\DeclareMarginSet}\label{setup:DeclareMarginSet}%^^A +%^^A% You may define box alignment for float box (\texttt{margins=} key) like: % Вы можете определить выключку всего бокса (ключ \texttt{margins=}) -% следующим образом: -% \begin{quote} -% |\DeclareMarginSet{center}{%|\\ +% так: +% \par\RestoreSpaces +% \begin{Quote} +% |\DeclareMarginSet{center}{%| % | \setfloatmargins{\hfil}{\hfil}}| -% \end{quote} +% \end{Quote} +%^^A% or like (see also sample files) % или (см. также файлы примеров); -% \begin{quote} -% |\DeclareMarginSet{outside}{%|\\ +% \begin{Quote} +% |\DeclareMarginSet{outside}{%| % | \setfloatmargins*{\hfil}{}}| -% \end{quote} +% \end{Quote} % +%^^A% Non-starred form of |\setfloatmargins| defines left and right +%^^A% margin. % Команда |\setfloatmargins| определяет левое и правое поля. % \begin{quote} % |\setfloatmargins{|\meta{left margin}|}{|\meta{right margin}|}| % \end{quote} % -% |*|-форма команды, |\setfloatmargins*|, определяет оформление -% для разворота: внутреннее и внешнее поля. +%^^A% Starred form, |\setfloatmargins*|, defines facing layout: inside and +%^^A% outside margin. +% «Звёздная» форма команды, |\setfloatmargins*|, определяет оформление +% для разворота: внутреннее и~внешнее поля. % \begin{quote} % |\setfloatmargins*{|\meta{inside margin}|}{|\meta{outside margin}|}| % \end{quote} % +%^^A% You may set even much more complex definition: % Вы можете сделать ещё более сложное определение: -% \begin{quote}\leftmargin0pt +% \begin{Quote}\leftmargin0pt % |\DeclareObjectSet{facingrule}{%| -% |\setfloatmargins*{%|\\ -% | \floatfacing{\hskip-12pt\vrule width4pt\hskip8pt\hfill}%|\\ +% |\setfloatmargins*{%| +% | \floatfacing{\hskip-12pt\vrule width4pt\hskip8pt\hfill}%| % | {\hfill\hskip8pt\vrule width4pt\hskip-12pt}}{}}| -% \end{quote} +% \end{Quote} +%^^A% the |\floatfacing| defines following % Команда |\floatfacing| определяет следующее % \begin{quote} % |\floatfacing{|\meta{odd page definition}|}{|\meta{even page definition}|}| % \end{quote} -% Эта макрокоманда также имеет |*|-форму |\floatfacing*|, -% которой вы можете воспользоваться в опциях ключей для команды |\captionsetup|. +%^^A% This macro has also starred form |\floatfacing*|, +%^^A% which you can use in key options for |\captionsetup| stuff. +% Эта макрокоманда также имеет «звёздную» форму |\floatfacing*|, +% которой вы можете воспользоваться в~опциях ключей для команды |\captionsetup|. % +%^^A% The |\setfloatmargins| consists of three macros which set margins +%^^A% for three main variants of float positions: % Команда |\setfloatmargins| состоит из трёх макрокоманд, которые определяют -% поля (выключку и другой материал) для трёх вариантов расположения флота: +% поля (выключку и~другой материал) для трёх вариантов расположения флота: % \begin{Options}{\OptionLabel} +%^^A% \item[\cmd{\floatboxmargins}]sets left/right margins around alone +%^^A% float box; % \item[\cmd{\floatboxmargins}]задаёт левое/правое поля для отдельного флота; +%^^A% \item[\cmd{\floatrowmargins}]sets left/right margins around +%^^A% \env{floatrow} environment; % \item[\cmd{\floatrowmargins}]задаёт левое/правое поля для -% флотов рядом в окружении \env{floatrow}; +% флотов рядом в~окружении \env{floatrow}; +%^^A% \item[\cmd{\floatcapbesidemargins}]sets left/right margins around +%^^A% alone float box with beside caption. % \item[\cmd{\floatcapbesidemargins}]задаёт левое/правое -% поля для отдельного флота с подписью сбоку. +% поля для отдельного флота с~подписью сбоку. % \end{Options} -% Грамматика использования этих трёх команд такая же как и у -% |\setfloatmargins|. Настройки, использующие команду |\floatfacing| +%^^A% The grammar for using three mentioned commands is similar to +%^^A% |\setfloatmargins|. The settings which use |\floatfacing| command +%^^A% work only in the case when key \texttt{facing=yes} used. +% Грамматика использования этих трёх команд такая же как +% и~у~|\setfloatmargins|. Настройки, использующие команду |\floatfacing| % будут работать если включён ключ \texttt{facing=yes}. % -% \emph{Замечание}. Пакет \pkg{floatrow} задаёт некоторые настройки +%^^A% \emph{Notes}. 1)\enskip The \package{floatrow} expands some settings of table layout +%^^A% to the \env{longtable} environment, so you may set |\LTleft| and +%^^A% |\LTright| parameters inside |\setfloatmargins| command. For example, +%^^A% \texttt{centering} option was defined like: +% \emph{Замечания}. 1)\enskip Пакет \package{floatrow} задаёт некоторые настройки % оформления таблиц для окружения \env{longtable}, -% поэтому вы можете задать параметры |\LTleft| и |\LTright| -% в команде |\DeclareMarginSet|. +% поэтому вы можете задать параметры |\LTleft| и~|\LTright| +% в~команде |\DeclareMarginSet|. % Например, опция \texttt{centering} была определена следующим образом: % \begin{quote} % |\DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}%|\\ % | \LTleft=\fill \LTright=\fill}| % \end{quote} -% -% \subsubsection{Определение разделителей флотов} -% -% \DescribeMacro{\DeclareFloatSeparators}\label{decl:sep}%^^A -% Вы можете определить разделитель между флотами рядом (в окружении \env{floatrow}) -% или между флотом и подписью сбоку, пример разделителя: -% \begin{quote} +%^^A% 2)\enskip The font settings loaded in |\floatsetup| +%^^A% in \env{longtable} environment expand to captions. +%^^A% In this case, when you write something like +% 2)\enskip Установки шрифта, заданные в~команде~|\floatsetup| +% в~окружении \env{longtable} распространяются и~на подписи. +% В~этом случае, когда вы задаёте, что-то типа +% \begin{Quote} +% |\floatsetup{font={sf,scriptsize,it}...| +% \end{Quote} +% или +% \begin{Quote} +% |\floatsetup[longtable]{font={sf,scriptsize,it}...| +% \end{Quote} +%^^A% for floats (or for [long]tables only), you ought to restore correct +%^^A% font size, family, shape (here) and series for caption contents and write\footnote +%^^A% {The version 3.1 of \package{caption} package will correct that.}: +% для объектов (или только в~опции [longtable] команды~|\floatsetup|), +% нужно вернуть нужные +% размер, семейство, начертание (в~данном случае) и~насыщенность шрифта, хотя бы так\footnote +% {Версия 3.1 пакета \package{caption} это исправляет.}: +% \begin{Quote} +% |\captionsetup{font={rm,small,up}...| +% \end{Quote} +% или +% \begin{Quote} +% |\captionsetup[longtable]{font={rm,small,up}...| +% \end{Quote} +% +%^^A% \subsubsection{Float Separators Options (\texttt{floatrowsep=}, \texttt{capbesidesep=})} +% \subsubsection{Опции разделителей флотов (\texttt{floatrowsep=}, \texttt{capbesidesep=})} +% +% \DescribeMacro{\DeclareFloatSeparators}\label{setup:DeclareFloatSeparators}%^^A +%^^A% You may to define separator +%^^A% between float boxes, or float object and beside caption, for example: +% Вы можете определить разделитель между флотами рядом (в~окружении \env{floatrow}) +% или между флотом и~подписью сбоку, пример разделителя: +% \par\RestoreSpaces +% \begin{Quote} % |\DeclareFloatSeparators{columnsep}{\hskip\columnsep}| -% \end{quote} -% или более сложный, с использованием пакета \pkg{color} и -% макрокоманды |\floatfacing| -% (не забудьте также ключ \texttt{facing=yes}): -% \begin{quote} -% |\DeclareFloatSeparators{colorsep}%|\\ -% | {\begingroup\color{blue}%|\\ -% | \floatfacing{\hskip14pt\vrule width1.8pt\hskip2pt}%|\\ -% | {\hskip2pt\vrule width1.8pt\hskip14pt}%|\\ -% | \endgroup}| -% \end{quote} -% -% Вы можете использовать заданные опции в ключах \texttt{floatrowsep=} и -% \texttt{capbesidesep=}\footnote{Вы можете воспользоваться опциями, заданными -% \cmd{\DeclareCaptionLabelSeparator} "--- командой из \pkg{caption}.}.\par -% \strut\par\kern-\baselineskip -% -% \subsubsection{Шрифт содержимого объекта} -% -% \DescribeMacro{\DeclareFloatFont} -% Этой макрокомандой вы можете определить новую опцию -% для шрифта (ключ \texttt{font=}) содержимого объекта. Эта макрокоманда работает -% также как |\DeclareCaptionFont| из пакета \pkg{caption}. (Вы можете также -% воспользоваться опциями, заданными в команде |\DeclareCaptionFont|.) -% -% \subsubsection{Определение линейки для сносок} -% -% \DescribeMacro{\DeclareFloatFootnoterule} -% Вы можете определить новую линейку для сноски (ключ \texttt{footnoterule=}) -% следующим образом: -% \begin{quote} -% |\DeclareFloatFootnoterule{fullsize}{%|\\ -% | \kern-3\p@|\\ -% | \hrule \@width\hsize\kern 2.6\p@}| -% \end{quote} -% Помните, что суммарный вертикальный пробел для линейки должен составлять~0pt. -%\newpage -% \section{Создание нового типа плавающих объектов (флотов)} -% -% \DescribeMacro{\DeclareNewFloatType} -% Для создания нового типа флотов создана команда -% |\DeclareNewFloatType|, которая также использует механизм -% \meta{key}${}=\nobreak {}$\meta{value}: -% \begin{quote} -% |\DeclareNewFloatType{|\meta{type}|}{|\meta{options}|}| -% \end{quote} -% Аргумент \meta{type} включает имя нового окружения флота.\\ -% Аргумент \meta{options} может включать следующие ключи: -% -% \noindent -% \DescribeMacro{placement=} -% (размещение) опцией этого ключа может быть любая комбинация букв -% \texttt{t}, \texttt{b}, \texttt{h}, и \texttt{p}, которые -% определяют размещение данного типа флотов на странице -% в случае, если не используется дополнительный аргумент в окружении. -% (По умолчанию определено \texttt{placement=tbp}.) -% -% \noindent -% \DescribeMacro{name=} -% Определяет имя флота в нумерационном заголовке подписи. -% (По умолчанию для нумерационного заголовка используется имя окружения.) -% -% \noindent -% \DescribeMacro{fileext=} -% Определяет расширение файла, где будет собираться список флотов. -% (По умолчанию, подписи собираются в файле с расширением \texttt{lox}). -% -% \noindent -% \DescribeMacro{within=} -% Определяет раздел, внутри которого будет производиться перенумерация. -% Если ключ отсутствует, задаётся сквозная нумерация по всему документу. -% -% \noindent -% \DescribeMacro{relatedcapstyle=} -% В пакете \pkg{float} команды \cmd{\newfloat}/\cmd{\restylefloat} -% присоединяют специальный стиль подписи, связанный с данным стилем флота (см. -% разд.~\ref{sec:floatst}). Если вы используете механизм |\DeclareNewFloatType|, -% и имеется (вы создали с помощью |\captionsetup|) одноимённый, связанный, -% стиль подписи, вы можете присоединить этот стиль с помощью ключа -% \texttt{relatedcapstyle=yes}. -% %^^A \begin{quote} -% %^^A |\captionsetup[figure]{style=ruled}| -% %^^A \end{quote} -% -% Команда |\DeclareNewFloatType| была использована для определения окружения -% \env{Example} (см. с.~\pageref{exa1.1}). Она была задана следующим образом: -% \begin{quote} -% |\DeclareNewFloatType{Example}%|\\ -% | {placement=t,within=section,fileext=lox,|\\ -% | name=\CYRP\cyrr\cyri\cyrm\cyre\cyrr}}| -% \end{quote} -% Для русской документации пришлось в примере добавить ключ \texttt{name=}. -% -% \section{Заимствованный код} -% -% \subsection{Пакет \pkg{float}: совместимость}\label{sec:floatst} -% -% Пакет \pkg{floatrow} включает некоторые макрокоманды пакета \pkg{float} (версии -% v1.3d, датированной 2001/11/08) -% с необходимыми изменениями. Если вы загрузили пакет \pkg{float} -% до \pkg{floatrow} выдаётся сообщение об ошибке. -% -% \emph{Замечание}. -% Поскольку некоторые пакеты могут вызывать -% пакет \pkg{float}\footnote{Мне известен пакет \pkg{algorithm}.} -% пакет \pkg{floatrow} вводит некоторый код, который эмулирует -% уже загруженный пакет \pkg{float} v1.3 и последующие запросы пакета игнорируются. -% Это поможет избежать сообщений об ошибках, -% если эти пакеты загружены \emph{после} \pkg{floatrow}. -% Обратите внимание, что пакеты, загружающие пакет \pkg{float}, должны быть -% загружены \emph{после} \pkg{floatrow}. -% -% Я надеюсь что старые документы будут работать с \pkg{floatrow}. Первое -% ограничение или особенность "--- если вы не использовали команд |\restylefloat| -% "--- все рисунки и таблицы будут выводиться в стиле \texttt{plain} -% с подписями снизу. Другое ограничение "--- вы должны перенести все команды -% |\newfloat|, |\floatstyle| и |\restylefloat| в преамбулу, -% до команды |\begin{document}|. Команды |\newfloat|, |\floatstyle| и -% |\restylefloat| устаревшие, хотя и поддерживаются\footnote{Всё же лучше заменить -% их на команды \cmd{\floatsetup}, -% Пакет \pkg{floatrow} поддерживает старые команды, но не даёт гарантии.}. -% См. также разд.~\ref{float-obs} о том как переводятся эти команды в команду -% |\floatsetup|. -% -% Разделы, помеченные текстом <<[\pkg{float}]>>, были заимствованы из -% документации пакета -% \pkg{float}\footnote{Настоятельно рекомендуется читать эти разделы в оригинале. -% За корректность перевода не ручаюсь.}. -% -% \subsubsection{Интерфейс пользователя "--- новые плавающие объекты -% (флоты) [\pkg{float}]}\label{sec:floatborrowI} -% -% \DescribeMacro{\newfloat} -% Самой важной командой в пакете \pkg{float} -% является команда |\newfloat|\footnote{Она дублируется командой -% \cmd{\DeclareNewFloatType}.}. -% Она сделана по образцу -% |\newtheorem|. Команда |\newfloat| имеет три основных и один дополнительный -% аргумент; форма задания: -% \begin{quote} -% \hspace*{\MacroIndent}|\newfloat{|\meta{type}|}{|^^A -% \meta{placement}|}{|\meta{ext}|}[|\meta{within}{\tt]} -% \end{quote} -% \begin{itemize} -% \item \marg{type} задаёт тип нового класса флотов, таких как -% \texttt{program} (программа) или \texttt{algorithm} (алгоритм). -% Определив эти слова в аргументе -% |\newfloat|, вы можете задать команды, как |\begin{program}| -% или |\end{algorithm*}|. -% \item \marg{placement} задаёт размещение по умолчанию -% для данного класса флотов. Параметры те же самые, -% что и в стандартном \LaTeX'е, например, \texttt{t}, \texttt{b}, -% \texttt{p} и \texttt{h} для `top' (вверху), `bottom' (внизу), -% `page' (отдельная страницы) и `here' (здесь), -% соответственно. -% \item \marg{ext}. Когда \LaTeX\ записывает подписи во вспомогательный файл -% для списка рисунков (или любого другого флота), он использует -% имя рабочего файла (документа) -% с расширением \marg{ext} как имя файла. -% \item \oarg{within}. Наконец, дополнительный -% аргумент \meta{within} определяет будут ли плавающие объекты -% данного класса нумероваться -% внутри указанного раздела документа. Например, -% если \oarg{within}${}={}$\texttt{chapter}, флоты будут перенумеровываться -% по главам. (В стандартном \LaTeX'е, это задано для рисунков и таблиц -% в классах документов \cls{report} и \cls{book}.) Как -% пример, программа~\ref{prog1.1} была создана командной последовательностью -% похожей на продемонстрированную в следующем -% примере\footnote{Настройки для этого окружения примера -% были созданы командой \cmd{\DeclareNewFloatType}.}. -% \end{itemize} -% \emph{Floatrow замечание.} -% Также создана команда-пара |\newfloat*|, которая работает аналогично команде -% |\restylefloat*| (см. ниже). -% \begin{Program} -%\begin{verbatim} -%#include -% -%int main(int argc, char **argv) { -% int i; -% for (i = 0; i < argc; ++i) -% printf("argv[%d] = %s\n", i, argv[i]); -% return 0; -%} -%\end{verbatim} -% \caption{Первая программа. Она ничего не делает в пакете, -% просто включена в него как пример. -% Обратите внимание на стиль \texttt{ruled}% -% \label{prog1.1}} -% \end{Program} -% \begin{Example}[H] -% \begin{verse} -% |\floatstyle{ruled}|\\ -% |\newfloat{Program}{tbp}{lop}[section]|\\ -% |\floatname{Program}{\CYRP\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\cyra}|\\ -% \dots\ loads o' stuff \dots\\ -% |\begin{Program}|\\ -% |\begin{verbatim}|\\ -% \dots\ program text \dots\\ -% |\end{verbatim}|\\ -% |\caption{|\dots\ caption \dots|}|\\ -% |\end{Program}| -% \end{verse} -% \caption{Это ещё один простенький плавающий пример. Исключая -% то, что он плавает, так как использует параметр {\tt[H]}, чтобы -% появиться \textbf{Здесь}. (Обратите внимание, что в примере -% настроек программы определено -% имя флота для нумерационного заголовка подписи.)}\label{exa1.1} -% \end{Example} -% -% \DescribeMacro{\floatstyle} -% Команда |\floatstyle| определяет стиль флота по -% умолчанию. Этот стиль будет использоваться для всех типов флотов -% которые впоследствии будут определены в команде |\newfloat|, до появления другой -% команды |\floatstyle|. Команда |\floatstyle| имеет один аргумент, -% имя стиля флота. Например, -% |\floatstyle{ruled}|. Указание названия несуществующего стиля приведёт к ошибке. -% -% \DescribeMacro{\floatname} -% Команда |\floatname| позволяет вам определить -% \emph{имя флота}, которое \LaTeX\ использует в подписи флота, -% например, `Figure' для окружения рисунков и тому подобное. Например, -% |\floatname{program}{Program}| (или |\floatname|\nobreak -% \hfil|{Program}|\allowbreak\hfil -% |{\CYRP\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\cyra}|).\allowbreak{} -% Команда |\newfloat| определяет -% имя флота по аргументу определяющему имя окружения (\meta{type}) если не было -% определено другого имени до этого. -% -% \DescribeMacro{\floatplacement} -% Команда |\floatplacement| переопределяет -% размещения флота по умолчанию для данного класса флотов. Например, -% |\floatplacement{figure}{tp}|. -% -% \DescribeMacro{\restylefloat}\nopagebreak -% Команда |\restylefloat| необходима для -% изменения стиля для стандартных типов флотов -% \texttt{figure} и \texttt{table}. Так как они не определяются -% через команду |\newfloat|, они не имеют стиля, связанного с ними. -% Поэтому вы должны задать, например, -% \begin{quote} -% \hspace*{\MacroIndent}|\floatstyle{ruled}|\\ -% \hspace*{\MacroIndent}|\restylefloat{table}| -% \end{quote} -% чтобы получить таблицы в стиле \texttt{ruled}. Команда также позволяет -% изменить стиль флота, определённого командой |\newfloat|, хотя -% это, по типографским правилам, не лучшая идея. См. -% табл.~\ref{table1} для примера\footnote{В пакете \pkg{float} -% создан специальный стиль подписи с полужирным нумерационным заголовком -% для стиля \texttt{boxed}. -% Обратите внимание, что стили флота \texttt{plain} и \texttt{boxed} -% не имеют специальных настроек в пакете \pkg{caption} 3.x. -% Для эмуляции стиля \texttt{boxed} из документации пакета \pkg{float} были: -% отменены все специальные установки для таблиц, и восстановлено двоеточие -% как разделитель после нумерационного заголовка.}. Существует -% команда |\restylefloat*|, -% которая переопределяет стиль флота, но не затрагивает стиля подписи. -% В этом случае пользователь сам отвечает за создание оформления подписей. -% \DeleteShortVerb{\|} -% %^^AEmulation of float's documentation settings -% %^^A\floatstyle{boxed} -% %^^A\restylefloat{table} -% \begingroup -% \clearcaptionsetup{table} -% \captionsetup{labelsep=default,labelfont=bf} -% \floatsetup[table]{style=boxed} -% \begin{table} \def\B#1{$\displaystyle{n\choose#1}$} -% \begin{center} \begin{tabular}{c|cccccccc} -% $n$&\B0&\B1&\B2&\B3&\B4&\B5&\B6&\B7\\ \hline -% 0 & 1\\ -% 1 & 1&1\\ -% 2 & 1&2&1\\ -% 3 & 1&3&3&1\\ -% 4 & 1&4&6&4&1\\ -% 5 & 1&5&10&10&5&1\\ -% 6 & 1&6&15&20&15&6&1\\ -% 7 & 1&7&21&35&35&21&7&1 -% \end{tabular} \end{center} -% \caption{Треугольник Паскаля. Это переоформленное окружение -% \LaTeX'а \texttt{table}.%^^A -% \label{table1}} -% \end{table} -% \endgroup -% \MakeShortVerb{\|} -% -% \subsubsection{Как макрокоманды из пакета \pkg{float} -% работают в \pkg{floatrow}}\label{float-obs} -% -% Комбинация команды |\floatstyle|\marg{style} и любой из -% \cmd{\newfloat}\marg{float} или -% \cmd{\restylefloat}\marg{float} означает в пакете \pkg{floatrow} -% определение стиля флота следующим образом: -% \begin{quote} -% |\floatsetup|\oarg{float}|{style=|\meta{style}|}| -% \end{quote} -% Обратите внимание, что одноимённые ключи из |\floatsetup|\oarg{float}|{...}| -% перепишут настройки из общей команды |\floatsetup{...}|. Это означает, -% если вы задали оформление, используя эти устаревшие команды, дальнейшую -% настройку оформления вы должны делать с помощью |\floatsetup|\oarg{float}|{...}|. -% -% \subsubsection{Печать списка плавающих объектов (флотов) -% [\pkg{float}]}\label{sec:floatborrowIa} -% -% \nobreak\DescribeMacro{\listof} -% \nopagebreak -% Команда |\listof| создаёт список всех флотов данного -% класса. Её синтаксис\\[2pt] -% \hspace*{\MacroIndent}|\listof{|\meta{type}|}{|\meta{title}^^A -% |}|\\[2pt] -% \meta{type} это тип флота, заданный командой |\newfloat|. -% \meta{title} задаёт заголовок списка флотов и колонтитулы -% если стиль страницы задаёт их. В противном случае, команда -% |\listof| работает аналогично встроенным командам \LaTeX'а -% |\listoffigures| и |\listoftables|. -% -% \subsubsection{Пользовательский интерфейс "--- указатель -% размещения флота \texttt{[H]} [\pkg{float}]}\label{sec:floatborrowII} -% -% Многие находят набор указателей размещения флотов в \LaTeX'е -% ограниченным. Commonly Uttered Complaint (CUC) призвала найти путь -% поместить флот точно в то место, где он появляется в исходном файле, -% иными словами не делать плавающим его вообще. С первого взгляда указатель -% \texttt{[h]} должен делать это, но фактически он только предлагает -% \LaTeX'у <<поместить здесь если получится>>. -% На самом деле \LaTeX\ едва склонен в действительности -% делать это. (Эта ситуация может быть исправлена только хитроумными -% манипуляциями параметров флота.) -% -% Тот же эффект может быть достигнут изменением метода -% размещения флотов. Опция \pkg{here} (David Carlisle) предлагает -% новый указатель размещения флота, названный \texttt{[H]}, -% который, при добавлении в опции флота, -% говорит \LaTeX'у <<поставить ЗДЕСЬ, точка>>. Если места на -% странице недостаточно, флот переносится на другую страницу -% вместе с последующим текстом, даже в случае, если этот текст -% мог бы там разместиться. Пакет поддерживает эту опцию, указатель -% \texttt{[H]}, как для новых классов флотов так и для -% предопределённых \texttt{figure} и \texttt{table}, вместо -% \pkg{here}. David предполагает, что пакет \pkg{here} -% может быть со временем удалён из архивов. -% -% Указатель {\tt[H]} может быть просто добавлен к флоту -% как опция, как другие указатели. Он \emph{не} -% может быть использован совместно с другими указателями, поэтому -% {\tt[Hhtbp]} неверно. Также он не может быть использован как -% параметр по умолчанию для класса флотов. Следующая таблица -% определена следующим образом: -% \begin{verse} -% |\begin{table}[H]| \\* -% |\begin{tabular}{cl}|\\ -% |\tt t & Top of the page\\|\\* -% \dots\ more stuff \dots\\ -% |\end{tabular}| -% \end{verse} -% (Кажется мне пришлось добавить здесь немного ненужной болтовни -% чтобы флот был помещён точно посередине страницы. -% Когда документация обрабатывалась -% \LaTeX'ом\footnote{Пакета \pkg{float}.} -% обнаружилось что разрыв страницы приходится между строкой -% <<Итак теперь>> и флотом. Это ничего не доказывает. -% Bother.) Итак теперь мы имеем следующие указатели размещения -% флота: -% \begin{table}[H] -% \begin{tabular}{cl} -% \tt t & вверх полосы\\ -% \tt b & вниз полосы\\ -% \tt p & на отдельную страницу\\ -% \tt h & здесь, если возможно\\ -% \tt H & только здесь, (после этого текста) -% \end{tabular} -% ^^A\caption{Could it be that this just needs a caption?} -% \end{table} -% -% \subsubsection{Опция {[H]} -% "--- настройка разрывов на страницы}\label{sec:listpen} -% -% При использовании опции |[H]| мне понадобилось задать -% общие запреты на разрывы до и после <<привязанных>> флотов. -% -% В одной книге запреты на разрывы на страницы вокруг таких -% флотов и вокруг перечней должны быть одинаковыми. -% -% Используя идею команды |\allowdisplaybreaks| из пакета -% \pkg{amsmath} создан небольшой (beta-temp) пакет -% \pkg{listpen}, который предлагает следующие команды: -% \begin{Options}{\OptionLabel} -% \item[\cmd{\allowprelistbreaks}]устанавливает разрывы до перечней -% (а также привязанных флотов); -% \item[\cmd{\allowpostlistbreaks}]устанавливает разрывы -% после перечней (привязанных флотов); -% \item[\cmd{\allowitembreaks}]устанавливает разрывы между -% пунктами перечня. -% \end{Options} -% Все эти команды задают глобально, внутри группы или -% окружения разрывы, задаваемые цифрами -% от |[-4]| (нет разрыва) до |[4]| (всегда разрыв). Положительные -% значения опций команд аналогичны значениям опций -% команды |\pagebreak|. Отрицательные соответствуют -% опциям |[1]|--|[4]| в команде |\nopagebreak|. -% Значение по умолчанию для всех трёх команд |[-1]|, что -% равно установкам стандартных классов \LaTeX'а: \cls{book}, \cls{article} -% и других (|[-1]| соответствует значению |-\@lowpenalty|). -% -% \subsection{Пакет \pkg{rotfloat}} -% -% Код пакета \pkg{rotfloat} был также позаимствован -% пакетом \pkg{floatrow}. -% Если пакет \pkg{rotfloat} был загружен до \pkg{floatrow}, -% вы получите сообщение об ошибке. -% -% Пакет \pkg{floatrow} вводит код, который эмулирует уже загруженный -% пакет \pkg{rotfloat} и последующая его загрузка игнорируется. -% Пакет \pkg{rotfloat} построен таким образом, что может быть -% загружен в одной строке \verb|\usepackage| вместе с -% пакетом \pkg{rotating}, который может иметь опции. Необходимо -% также удалить пакет \pkg{rotfloat} из строки \verb|\usepackage|, -% где задан пакет \pkg{rotating} с опциями: в противном случае -% вы получите сообщение об ошибке со словами `option clash'. -% -% \section{Макрокоманды для построения флотов} -% -% \subsection{Макрокоманда Floatbox}\label{sec:floatbox} -% -% Данный пакет предлагает макрокоманду, которая создаёт -% необходимое размещение компонентов -% содержимого и подписи плавающего объекта (см. также введение). -% Эта макрокоманда выглядит следующим образом: -% \begin{quote} -% |\floatbox[|\meta{preamble}|]{|\meta{captype}|}[|^^A -% \meta{width}|][|\meta{height}|][|\meta{vert pos}|]|\\ -% | {|\meta{caption}|}{|\meta{object}|}|\footnote{Порядок -% обязательных аргументов и их содержимое не имеет значения -% для построения флота. Эта макрокоманда исторически требует -% два обязательных аргумента, но они могут быть заполнены как -% угодно.} -% \end{quote} -% где\label{floatboxsets}: -% \begin{description}\itemsep0pt -% \item[\meta{preamble}]здесь могут быть такие команды, как -% |\capbeside|, которая размещает подписи сбоку объекта; -% |\nocapbeside| (размещает подписи сверху/снизу, в зависимости -% от настроек стиля); или другая повторяющаяся команда -% (даже возможно использование |\captionsetup| и -% |\thisfloatsetup| "--- см. примеры в документации и приложении). -% \item[\meta{captype}]тип флота, для которого строится оформление; -% \item[\meta{width}]ширина флота -% (если подпись сверху или снизу объекта), -% или ширина объекта (если подпись сбоку). -% Команда |\FBwidth| в аргументе \meta{width} -% позволяет использовать натуральную ширину объекта.\par -% \emph{Замечание}. Если вы используете \verb|\FBwidth| в -% аргументе \meta{width}, вы должны быть уверены, что -% содержимое объекта может быть помещено внутри |\hbox| -% (вы можете воспользоваться командой |\vspace| в начале -% и/или в конце содержимого объекта для корректировки -% вертикальных отбивок); -% \item[\meta{height}]высота флота -% (если подпись сверху или снизу), -% или высота объекта (если подпись сбоку); -% \item[\meta{vert pos}]вертикальное выравнивание содержимого -% объекта в боксе в случае, если аргумент \meta{height} имеет -% б\'ольшую величину чем заданная высота объекта, -% или флот помещён в ряд в окружении \env{floatrow}. -% \item[\meta{caption}]подпись и экспликации (вы можете использовать -% команду |\floatfoot| (см.~с.~\pageref{subsec:floatfoot}); -% вы можете использовать команды -% |\footnote|/\allowbreak|\mpfootnotemark|/%^^A -% \allowbreak|\footnotetext| -% для сносок внутри флота, или команду |\floatfoot|; -% \item[\meta{object}]содержимое флота; вы также можете -% использовать команды -% |\footnote|/\allowbreak|\mpfootnotemark|/%^^A -% \allowbreak|\footnotetext| -% или |\floatfoot|. -% \end{description} -% -% \begingroup -% Первый простейший пример: -%\begin{verbatim} -%\begin{figure} -%\floatbox{figure}[4cm] -%{\caption{Простой пример ...}}% -%\label{fig:WcatI}} -%{\input{TheCat.picture}} -%\end{figure} -%\end{verbatim} -% создал картинку на рис.~\ref{fig:WcatI}.\pagebreak[3] -% \begin{figure} -% \floatbox{figure}[4cm] -% {\caption{Простой пример использования команды \cmd{\floatbox}}% -% \label{fig:WcatI}} -% {\unitlength1.28\unitlength\input{TheCat.picture}} -% \end{figure}% -% \endgroup -% -% Но более актуальный вариант использования команды |\floatbox| -% "--- поместить табличный заголовок \emph{над} таблицей и задать -% ширину заголовка равной ширине -% таблицы. Расположение заголовка определяется в преамбуле документа -% командой |\floatsetup[table]{style=Plaintop}| -%\begin{verbatim} -%\begin{table} -%\floatbox{table}[\FBwidth] {\caption{Simple tabular in -%\cmd{\floatbox} -% with caption above}\label{tab:tabII}} -%{\begin{tabular}{|l|c|c|} -% \hline -% Column head & Data I & Data II \\ -% \hline -% First row & 1 & 2 \\ -%... -% \hline -%\end{tabular}} -%\end{table} -%\end{verbatim} -% \DeleteShortVerb{\|}% -% \begin{table} -% \floatbox{table}[\FBwidth] -% {\caption{Простая таблица с заголовком -% сверху}\label{tab:tabII}} -% {\begin{tabular}{|l|c|c|} -% \hline -% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ -% \hline -% First row & 1 & 2 \\ -% Second row & 3 & 4 \\ -% Third row & 6 & 8 \\ -% Fourth row & \llap{1}0 & \llap{1}6 \\ -% \hline -% \end{tabular}} -% \end{table}% -% \MakeShortVerb{\|}% -% как показано в табл.~\ref{tab:tabII}. Для задания ширины -% заголовка (или всего бокса -% плавающего объекта) равной ширине окружения \env{tabular} -% была использована команда |\FBwidth| -% в аргументе \meta{width}. -% -% Следующий пример показывает окружение \env{figure} где подпись -% задана сбоку. В этом примере используются команды |\capbeside|, -% в аргументе \meta{preamble}, и |\FBwidth|, в аргументе -% \meta{width}. Подпись занимает оставшееся место в боксе -% шириной |\hsize| (в данном примере ширина бокса равна -% ширине основного текста "---|\textwidth|). -% -%\begin{verbatim} -%\begin{figure} -%\floatbox[\capbeside]{figure}[\FBwidth] -% {\caption[Beside caption]{Beside caption ...}\label{...}} -% {...} -%\end{figure} -%\end{verbatim} -% \begin{figure}[h] -% \floatbox[\capbeside]{figure}[\FBwidth] -% {\caption[Подпись сбоку]{Подпись сбоку and more text -% and some more text and a bit more text and -% a little more text and a little peace of text to fill -% space}\label{fig:beside:mouse}} -% {{\setlength\unitlength{4cm/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}} -% \end{figure} -% -% Ширина подписи сбоку и объекта по умолчанию равна одной -% <<колонке>>, иными словами половине ширины текущего значения -% |\hsize| (рис.~\ref{intro:beside}) исключая -% поля вокруг бокса и разделитель между объектом и подписью. -% (См. также другие примеры с подписью сбоку в приложении, -% с.~\pageref{fig:Idog:w}.) -% -% \subsubsection{Пользовательские команды для флотов} -% -% Использование команды |\floatbox| иногда получается очень -% сложным. Вы можете определить пользовательские команды для -% ваших целей и определить там необходимые настройки. -% -% Определение пользовательской команды выглядит следующим образом: -% \begin{quote} -% |\newfloatcommand|\marg{command}%^^A\\\strut\qquad -% \marg{captype}\oarg{preamble}\oarg{default width} -% \end{quote} -% где: -% \begin{description} -% \item[\meta{command}]команда пользователя (без обратного слэша); -% \item[\meta{captype}]тип флота, для которого создаётся команда; -% \item[\meta{preamble}] -% вы можете использовать команды, перечисленные на -% с.~\pageref{floatboxsets} -% и другие команды оформления, как показано в примерах; -% вы можете попробовать использовать некоторые другие -% повторяющиеся команды (например, -% |\captionsetup| или |\thisfloatsetup|); -% \item[\meta{default width}]здесь вы можете определить любую -% величину, типа |6cm| -% или |.75\textwidth|\footnote{Есть также возможность установить -% постоянную ширину -% для данного типа флота, используя ключ \texttt{floatwidth=} -% в команде \cmd{\floatsetup}.}; если вы зададите команду -% |\FBwidth| ширина флота (если подпись сверху или снизу -% "--- должна быть определена |\nocapbeside| -% в \meta{preamble}) или ширина объекта (если подпись -% стоит сбоку "--- команда |\capbeside| в \meta{preamble}) будет -% равна ширине содержимого плавающего объекта. -% \end{description} -% -% Уже определены следующие пользовательские команды:\label{abbrcom} -% \begin{quote} -% |\newfloatcommand{ffigbox}{figure}[\nocapbeside]|\\* -% |\newfloatcommand{fcapside}{figure}[\capbeside]|\\* -% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]| -% \end{quote} -% Первые две определены для рисунков, а последняя "--- для таблицы. -% Вы можете переопределить эти команды, используя команду -% |\renewfloatcommand| (она использует те же -% аргументы, как и |\newfloatcommand|). -% -% -% \subsection{Помещение флотов рядом}\label{sec:floatrow} -% -% Если вам нужно поместить два или более флотов рядом, вы -% можете воспользоваться окружением \env{floatrow}. -% -% Это окружение выглядит следующим образом: -% \begin{quote} -% |\begin{floatrow}[|\meta{number of beside floats}|]|\\ -% |\floatbox...|\\ -% |...|\\ -% |\floatbox...|\\ -% |...|\\ -% |\end{floatrow}| -% \end{quote} -% -% И теперь пример. Первый флот (в |\ffigbox|) имеет ширину -% по умолчанию, равную <<колонке>> -% ряда, следующий использует ширину включённой графики (использована -% команда |\FBwidth| в дополнительном аргументе \meta{width}), -% третий занимает оставшееся место в ряду -% которое подсчитывается командой |\Xhsize|. -% -% \emph{Замечание}. Обычно команда |\Xhsize| используется для -% последнего флота в ряду. Но -% если вы используете пакет \pkg{calc} вы можете попытаться -% использовать |\Xhsize| раньше, если известна -% \emph{абсолютная} величина ширины флотов по правую сторону, -% или использовать в аргументе \meta{width} нечто вроде |\Xhsize/2| -% а затем |\Xhsize| для последних двух боксов в |\floatbox|, -% см. также примеры \file{frsample10}--\file{frsample12}, -% и файл \file{fr-sample.tex}. -%\begin{verbatim} -%\begin{floatrow}[3] -%\ffigbox -%{\caption{Рисунок рядом~I...}...} -%{...} -% -%\ffigbox[\FBwidth] -%{\caption{Рисунок рядом~II...}...} -%{...} -% -%\ffigbox[\Xhsize] -%{\caption{Рисунок рядом~III...}...} -%{...} -%\end{floatrow} -%\end{figure} -%\end{verbatim} -% \begin{figure} -% \begin{floatrow}[3] -% \ffigbox -% {\caption{Рисунок рядом~I, ширина <<колонки>>}% -% \label{fig:row:WcatI}} -% {\unitlength1.25\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% -% \ffigbox[\FBwidth] -% {\caption{Рисунок рядом~II в окружении \env{floatrow}, -% ширина бокса равна ширине графики}\label{fig:row:BcatI}} -% {\unitlength1.25\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheBlackCat.picture}} -% -% \ffigbox[\Xhsize] -% {\caption{Рисунок рядом~III в \env{floatrow}, -% занимает остальное место в ряду}% -% \label{fig:row:mouseI}} -% {{\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}} -% \end{floatrow} -% \end{figure}% -% Результат вы видите в ряду -% рисунков~\ref{fig:row:WcatI}--\ref{fig:row:mouseI}. Вертикальное -% выравнивание флотов лежит по нижней линии верхней части -% (здесь: графики) и верху нижней части (подписи). -% -% \subsection{Сноски внутри окружения -% флота}\label{sec:floatfootnote} -% -% Иногда таблица или рисунок может содержать материал, который -% помечается а снизу даётся объяснение в виде сноски. Пакет имеет -% механизм, позволяющий размещение сносок внутри окружения флота, -% как это сделано в окружении \env{minipage}. -% -% В тех случаях, когда несколько элементов -% имеют одинаковую сноску, мы не можем воспользоваться стандартной -% комбинацией |\footnotemark|---|\footnotetext|, потому что команда -% |\footnotemark| создаёт знак для сноски основного текста. -% Для этих случаев данный пакет предлагает макрокоманду -% |\mpfootnotemark| вместо |\footnotemark|% -% \footnote{Та же макрокоманда также определена в пакете -% \pkg{footmisc}, версия 4.10, датированная 2003/01/20.}. -% -% Макрокоманда |\floatbox| использует определение линейки для -% сноски (команда |\FBfootnoterule|) и отбивку до сносок и -% экспликаций (ключ |footskip=|). (См. также -% с.~\pageref{sec:footnotestyle} о вариантах линейки для сносок.) +% \end{Quote} +%^^A% or more complex, using \package{color} package, and |\floatfacing| macro +%^^A% (do not forget the \texttt{facing=yes} key): +% или более сложный, с~использованием пакета \package{color} +% и~макрокоманды |\floatfacing| +% (не забудьте также ключ \texttt{facing=yes}): +%^^A% You may use defined option by both \texttt{floatrowsep=} and +%^^A% \texttt{capbesidesep=} keys\footnote{You may use key options declared +%^^A% by \cmd{\DeclareCaptionLabelSeparator} command.}.\par\strut\par +%^^A% \kern-\baselineskip +% Вы можете использовать заданные опции в~ключах \texttt{floatrowsep=} +% и~\texttt{capbesidesep=}\footnote{Вы можете воспользоваться опциями, заданными +% \cmd{\DeclareCaptionLabelSeparator} "--- командой из \package{caption}.}.\par +% \strut\par\kern-\baselineskip % -% \subsection{Макрокоманда для экспликаций}\label{subsec:floatfoot} +% \begin{Quote} +% \meta{preamble} +% |\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}}| +% |\DeclareMarginSet{hangleft}%| +% | {\setfloatmargins| +% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}| +% |\DeclareFloatSeparators{colorsep}%| +% | {\begingroup\color{blue}%| +% | \floatfacing{\hskip6pt\vrule width4.8pt\hskip6pt}%| +% | {\hskip6pt\vrule width4.8pt\hskip6pt}%| +% | \endgroup}| +% |\floatsetup[|\hyperref[setup:widefigure]{\texttt{widefigure}}|]{|%^^A +% \hyperref[setup:margins]{\texttt{margins}}|=hangleft,|%^^A +% \hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=colorsep,| +% \hyperref[setup:objectset]{\texttt{objextset}}|=colorred,| +% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=\textwidth,|%^^A +% \hyperref[setup:facing]{\texttt{facing}}|=yes}| +% |\captionsetup[figure]{justification=justified,| +% | labelfont={magenta,bf},textfont=green,labelsep=newline}| +% \meta{preamble} +% |\begin{figure*}|\nopagebreak +% |...|\nopagebreak +% |\end{figure*}| +% \end{Quote} +% \begingroup +% \floatsetup[widefigure]{margins=hangleft,capbesidesep=colorsep,objectset=colorred, +% floatwidth=\textwidth,facing=yes,capposition=beside,capbesideposition=left} +% \captionsetup[figure]{justification=justified, +% labelfont={magenta,bf},textfont=green,labelsep=newline} +% \begin{figure*}[H]% +% {\TEXTBOX}{\caption[Разноцветные рисунок и~подпись сбоку]{Разноцветные рисунок и~подпись. And A bit more text, and some more text}} +% \end{figure*}% +% \endgroup % -% Если таблица или рисунок имеют дополнительные объяснения -% которые не должны быть в подписи и они не являются сноской -% вы можете использовать команду |\floatfoot|. Команда |\floatfoot| -% использует механизм оформления команд |\caption| и использует -% выключку, заданную для подписей; -% |*|-форма (|\floatfoot*|) печатает содержимое в виде обычного -% абзаца без отступа (см. табл.~\ref{tab:floatfoot}). +%^^A% \subsubsection{Float font}\label{ssec:declfont} +% \subsubsection{Опция шрифта содержимого объекта (\texttt{font=})}\label{ssec:declfont} % -% Для определения шрифта для экспликаций используйте ключ -% \texttt{footfont=} (с.~\pageref{sec:setfloatfoot}) в команде -% |\floatsetup|. Вы можете задать -% дополнительные настройки оформления задав командную -% последовательность \cmd{\captionsetup[floatfoot]}. -%\begin{verbatim} -%\begin{table} -%\ttabbox -%{\caption{Таблица с экспликацией}% -%\label{tab:floatfoot}} -%{\extrarowheight1pt -% \tabcolsep2\tabcolsep -% \begin{tabular}{|l|c|c|} -% \hline -% ... -% \end{tabular}% -% \floatfoot*{`Data I' column ...}} -%\end{table} -%\end{verbatim} -% \DeleteShortVerb{\|}% -% \begin{table} -% \ttabbox -% {\caption{Таблица с экспликацией}%^^A -% \label{tab:floatfoot}}%^^A -% {\extrarowheight1pt\tabcolsep2\tabcolsep -% \begin{tabular}{|l|c|c|} -% \hline -% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ -% \hline -% First row & \phantom01 & 2 \\ -% Second row & \phantom06 & 4 \\ -% Third row & 28 & 8 \\ -% \hline -% \end{tabular}%^^A -% \floatfoot*{`Data I' column---numbers which equal to sum of all -% their divisors; `Data II' column---$2^n$ values}} -% \end{table}% -% \MakeShortVerb{\|}% +% \DescribeMacro{\DeclareFloatFont}\label{setup:DeclareFloatFont}%^^A +%^^A% With this macro you may define new option +%^^A% for font (\texttt{font=} key) of float contents. This macro works +%^^A% like |\DeclareCaptionFont| in \package{caption} package. (You may also +%^^A% use key options declared by |\DeclareCaptionFont| command.)\par +% Этой макрокомандой вы можете определить новую опцию +% для шрифта (ключ \texttt{font=}) содержимого объекта. Эта макрокоманда работает +% также как |\DeclareCaptionFont| из пакета \package{caption}. (Вы можете также +% воспользоваться опциями, заданными в~команде |\DeclareCaptionFont|.) +% +%^^A% To get red color for text in the example above, you may define the red color by following way: +% Чтобы получить текст красного цвета в~примере выше, определите красный цвет: +% \begin{Quote}% +% |\DeclareFloatFont{red}{\color{red}}| +% \end{Quote}% +% а~затем задайте его в~команде |\floatsetup| +% \begin{Quote}% +% |\floatsetup[figure]{font={small,red},...}|\quad. +% \end{Quote}% +% +% \RestoreSpaces +%^^A% \subsubsection{Option for Float Footnote Rule's Style}\label{ssec:fnoterule} +% \subsubsection{Опция линейки для сносок (\texttt{footnoterule=})}\label{ssec:fnoterule} +% +% \DescribeMacro{\DeclareFloatFootnoterule}\label{setup:DeclareFloatFootnoterule}%^^A +%^^A% You may define new footnoterule (\texttt{footnoterule=} key) like: +% Вы можете определить новую линейку для сноски (ключ \texttt{footnoterule=}) +% следующим образом: +% \par\RestoreSpaces +% \begin{Quote} +% |\DeclareFloatFootnoterule{limited}{\kern-3pt| +% | \@tempdima.4\columnwidth| +% | \ifdim\@tempdima>\frulemax\@tempdima=\frulemax\fi| +% | \hrule width\@tempdima\kern2.6pt}| +% \end{Quote} +%^^A% Remember, that summary vertical height for footnote rule must be +%^^A% equal to~0pt. +% Помните, что суммарный вертикальный пробел для линейки должен составлять~0pt. % -% \emph{Замечания.} 1)\enskip Пакет \pkg{float} определяет -% дополнительный аргумент после текста подписи. Поскольку эта -% возможность не была документирована в части документации для -% пользователей текущая версия пакета \pkg{caption} (3.0 и выше), -% а также пакет \pkg{floatrow}, не поддерживают эту возможность. -% Используйте команду |\floatfoot| и команды -% |\footnote|/|\footnotemark|/|\footnotetext|. +%\clearpage +%^^A% \section{Creation of New Float Type}\label{sec:newfloat} +% \section{Создание нового типа плавающих объектов (флотов)}\label{sec:newfloat} % -% 2)\enskip Если вы используете одновременно команды |\floatfoot| -% и |\footnote| внутри одного флота, содержимое команды |\floatfoot| -% появится над |\footnote|. +% \DescribeMacro{\DeclareNewFloatType}\label{setup:DeclareNewFloatType}%^^A +%^^A% For creation of new float type there was created +%^^A% |\DeclareNewFloatType|\label{FAD:newfloattype} +%^^A% command which also uses +%^^A% \meta{key}${}=\nobreak {}$\meta{value} mechanism: +% Для создания нового типа флотов создана команда +% |\DeclareNewFloatType|\label{FAD:newfloattype}, +% которая также использует механизм +% \meta{key}${}=\nobreak {}$\meta{value}: +% \par\RestoreSpaces +% \begin{quote} +% |\DeclareNewFloatType{|\meta{type}|}{|\meta{options}|}| +% \end{quote} +%^^A% The \meta{type} argument includes the new float environment name.\\ +%^^A% The \meta{options} could include following keys: +% Аргумент \meta{type} включает имя нового окружения флота.\\ +% Аргумент \meta{options} может включать следующие ключи: % -% 3)\enskip Сноски и экспликации могут быть размещены несколькими -% способами: в самом низу флота, под подписью -% (даже в случае подписи сверху). См. с.~\pageref{foot:pos} -% и файл примера \file{frsample01.tex}. В случае подписи сбоку, -% сноски и экспликации всегда помещаются под подписью. +% \noindent +% \DescribeMacro{placement}\label{setup:placement}%^^A +%^^A% The option of this key could have any combination of letters +%^^A% \texttt{t}, \texttt{b}, \texttt{h}, and \texttt{p}, which +%^^A% define placement of current float type on the page in +%^^A% the case float environment has no any option argument. +%^^A% (As default is declared \texttt{placement=tbp}.) +% (размещение) опцией этого ключа может быть любая комбинация букв +% \texttt{t}, \texttt{b}, \texttt{h}, и~\texttt{p}, которые +% определяют размещение данного типа флотов на странице +% в~случае, если не используется дополнительный аргумент в~окружении. +% (По умолчанию определено \texttt{placement=tbp}.) % +% \noindent +% \DescribeMacro{name}\label{setup:name}%^^A +%^^A% Defines the name of environment in the caption +%^^A% label. (As default for caption label is declared the +%^^A% name of environment.) +% Определяет имя флота в~нумерационном заголовке подписи. +% (По умолчанию для нумерационного заголовка используется имя окружения.) % -% \subsection{Корректировка вертикальных отбивок -% в флоте}\label{sec:FBabskips} +% \noindent +% \DescribeMacro{fileext}\label{setup:fileext}%^^A +%^^A% Defines the file extension from which +%^^A% gathered list of floats. (As default, new captions +%^^A% are gathered in \texttt{lox}-file). This option is required in the case of +%^^A% creation of a~separate float lists. +% Определяет расширение файла, где будет собираться список флотов. +% (По умолчанию, подписи собираются в~файле с~расширением \texttt{lox}). +% Если предполагается создание отдельных списков флотов, задание нового +% расширения с~помощью этой опции обязательно. % -% В заключительном варианте документа вам возможно понадобится -% откорректировать вертикальные отбивки между флотом и основным -% текстом, между содержимым объекта и подписью. +% \noindent +% \DescribeMacro{within}\label{setup:within}%^^A +%^^A% Declares the section head of document, by which +%^^A% current float resets its numbering to zero. If this key absent, +%^^A% float increases during whole documentation. +% Определяет раздел, внутри которого будет производиться перенумерация. +% Если ключ отсутствует, задаётся сквозная нумерация по всему документу. % -% Для изменения отбивок между флотом и основным текстом вы можете -% использовать две простые команды |\FBaskip| и |\FBbskip|. -% Например, определите -% \begin{verse} -% |\renewcommand\FBaskip{-4pt}| -% \end{verse} -% чтобы передвинуть флот вверх (или уменьшить отбивку сверху) -% на 4pt. В данном документе -% команда |\FBaskip| понадобилась для корректировки положения -% некоторых рисунков в оборку. +% \noindent +% \DescribeMacro{relatedcapstyle}\label{setup:relatedcapstyle}%^^A +%^^A% In \package{float} package the non-starred +%^^A% \cmd{\newfloat}/\cmd{\restylefloat} macros attach related +%^^A% caption style for float styles (see {\sectionname}~\ref{sec:floatst}). +%^^A% If you use |\DeclareNewFloatType| mechanism and exists (you created +%^^A% it by |\captionsetup|) co-named, i.e. related, caption style +%^^A% you may attach this style with key \texttt{relatedcapstyle=yes}. +% В~пакете \package{float} команды \cmd{\newfloat}/\cmd{\restylefloat} +% присоединяют специальный стиль подписи, связанный с~данным стилем флота +% (см.~{\sectionname}~\ref{sec:floatst}). Если вы используете механизм |\DeclareNewFloatType|, +% и~имеется (вы создали с~помощью |\captionsetup|) одноимённый, связанный, +% стиль подписи, вы можете присоединить этот стиль с~помощью ключа +% \texttt{relatedcapstyle=yes}. +% %^^A \begin{quote} +% %^^A |\captionsetup[figure]{style=ruled}| +% %^^A \end{quote} % -% Используйте команду |\vspace| для корректировки отбивок вокруг -% содержимого объекта\footnote{В простом окружении флота можно -% пользоваться и командой \cmd{\vskip}. Но команды \cmd{\floatbox} -% (сама \cmd{\floatbox}, \cmd{\ffigbox}\dots) в случае использования -% в аргументе \meta{width} опции \cmd{\FBwidth}, выдадут сообщение -% об ошибке если встретят команду \cmd{\vskip}.}. +%^^A% The |\DeclareNewFloatType| was used for defining of \env{Example} +%^^A% environment (see page \pageref{exa1.1}). It consists of following +%^^A% code: +% Команда |\DeclareNewFloatType| была использована для определения окружения +% \env{Example} (см.~с.~\pageref{exa1.1}). Она была задана следующим образом: +% \begin{quote} +% |\DeclareNewFloatType{Example}%|\\ +% | {placement=t,within=section,fileext=lox,|\\ +% | name=\CYRP\cyrr\cyri\cyrm\cyre\cyrr}}| +% \end{quote} +% Для русской документации пришлось в примере добавить ключ \texttt{name=}. % -% \subsection{Плавающие объекты как в обычном \LaTeX'е} +%^^A% \subsection{How to change \cmd{\newfloat} with +%^^A% \cmd{\DeclareNewFloatType}}\label{sec:oldtonew} +% \subsection{Как заменить \cmd{\newfloat} на +% \cmd{\DeclareNewFloatType}}\label{sec:oldtonew} +% +%^^A% The |\newfloat| command takes three required and +%^^A% one optional argument: +% Команда |\newfloat| использует три обязательных +% и~один дополнительный аргумент: +% \begin{Quote} +% |\newfloat|\marg{type}^^A +% \marg{placement}\marg{ext}\oarg{within} +% \end{Quote} +%^^A% which could be replaced with +% что можно заменить на: +% \begin{Quote} +% |\DeclareNewFloatType|\marg{type}|%|\\ +% | {placement=|\meta{placement}|,fileext=|\marg{ext}|,widthin=|\oarg{within}|}| +% \end{Quote} % -% Пакет \pkg{floatrow} переопределяет окружение флотов так, чтобы -% на выходе получалось единообразное -% оформление всех флотов. Это накладывает некоторые ограничения -% на запись флота в исходном файле, о которых, в частности, -% говорилось во введении. Если вам всё -% же нужно окружение, работающее как в обычном \LaTeX'е -% поместите команду |\RawFloats| \emph{внутри} окружения: -%\begin{verbatim} -%\begingroup -%\captionsetup[table]{position=top} -%\begin{figure}\RawFloats -%\begin{minipage}{0.45\textwidth} -%\centering ... -%\caption{...}\label{...} -%\end{minipage} -%\begin{minipage}{0.45\textwidth} -%\captionof{table}{...}\label{...} -%\centering ... -%\end{minipage} -%\end{figure} -%\endgroup -%\end{verbatim} -% и вы получите рис.~\ref{Right:expect:fig} -% и табл.~\ref{Right:expect:tab}\footnote{Это будет работать, -% если вы не используете необычного оформления.}. -% \begingroup -% \captionsetup[table]{position=top} -% \begin{figure}\RawFloats -% \begin{minipage}{0.45\textwidth} -% \centering \input{Mouse.picture} -% \caption{Подрисуночная подпись в обычном \LaTeX'е}% -% \label{Right:expect:fig} -% \end{minipage} -% \begin{minipage}{0.45\textwidth} -% \captionof{table}{Табличный заголовок в обычном -% \LaTeX'е}\label{Right:expect:tab} -% \centering\tabcolsep3\tabcolsep -% \begin{tabular}{|c|c|} A & B \\ C & D \end{tabular} -% \end{minipage} -% \end{figure} -% \endgroup +% \clearpage +% %^^A\section{Borrowed code}\label{sec:borrow} +% \section{Заимствованный код}\label{sec:borrow} % -% Из приведённого ниже примера видно, что окружение \env{floatrow} -% и команды |\floatbox| всё равно -% работают после |\RawFloats| (рис.~\ref{intro:leftfig:raw} -% и табл.~\ref{intro:righttab:raw}) -%\begin{verbatim} -%\begin{figure}\RawFloats\CenterFloatBoxes -% \begin{floatrow} -% \floatbox{figure} -% {...}{\caption{...}\label{...}} +%^^A% \subsection{\package{float} Package: Compatibility}\label{sec:floatst} +% \subsection{Пакет \package{float}: совместимость}\label{sec:floatst} % -% \floatbox{table}[\FBwidth] -% {...}{\caption{...}\label{...}} -% \end{floatrow} -%\end{figure} -%\end{verbatim} -% \begin{figure}\RawFloats\CenterFloatBoxes -% \begin{floatrow} -% \floatbox{figure} -% {\input{Mouse.picture}} -% {\caption{Подрисуночная подпись внутри \cmd{\floatbox} в обычном -% \LaTeX'е}\label{intro:leftfig:raw}}% +%^^A% The \package{floatrow} package includes some macros of \package{float} +%^^A% (version v1.3d, dated 2001/11/08) +%^^A% with necessary modifications. In the case of loaded \package{float} +%^^A% package before \package{floatrow} you'll get error message. +% Пакет \package{floatrow} включает некоторые макрокоманды пакета \package{float} (версии +% v1.3d, датированной 2001/11/08) +% с~необходимыми изменениями. Если вы загрузили пакет \package{float} +% до \package{floatrow} выдаётся сообщение об ошибке. +% +%^^A% \emph{Note}. +%^^A% In the case of some packages +%^^A% could call \package{float} package\footnote{I'm aware about \package{algorithm} +%^^A% package.} the \package{floatrow} package loads code which emulates +%^^A% already loaded \package{float} package v1.3, so next requests for +%^^A% \package{float} are ignored. This will help to avoid strange error messages +%^^A% in the case of these packages loaded \emph{after} \package{floatrow}. +%^^A% Please note that packages, which load \package{float} must be loaded +%^^A% \emph{after} \package{floatrow}. +% \emph{Замечание}. +% Поскольку некоторые пакеты могут вызывать +% пакет \package{float}\footnote{Мне известен пакет \package{algorithm}.} +% пакет \package{floatrow} вводит код, эмулирующий +% загрузку пакета \package{float} v1.3 и~последующие запросы пакета игнорируются. +% Это поможет избежать сообщений об ошибках, +% если эти пакеты загружены \emph{после} \package{floatrow}. +% Обратите внимание, что пакеты, загружающие пакет \package{float}, должны быть +% загружены \emph{после} \package{floatrow}. +% +%^^A% I hope that old documents could work with \package{floatrow}. The first +%^^A% limitation or feature is---if you didn't use any |\restylefloat| +%^^A% command---all figures and tables appear in \texttt{plain} float style +%^^A% with bottomed captions. Another limitation---you ought to put all +%^^A% |\newfloat| and |\floatstyle| and |\restylefloat| commands in +%^^A% preamble, before |\begin{document}|. The commands |\restylefloat|, +%^^A% |\newfloat| and |\floatstyle| are obsolete but +%^^A% supported\footnote{The better +%^^A% way is to use \cmd{\floatsetup} macros. The \package{floatrow} package +%^^A% supports obsolete macros but there is no guarantee.}. See also +%^^A% section~\ref{float-obs} about translation of these commands +%^^A% into |\floatsetup| command. +% Надеюсь что старые документы будут работать с~\package{floatrow}. Первое +% ограничение/особенность "--- если команды |\restylefloat| не заданы +% "--- все рисунки и~таблицы выведутся в~стиле \texttt{plain} +% с~подписями снизу. Другое ограничение "--- нужно перенести все команды +% |\newfloat|, |\floatstyle| и~|\restylefloat| в~преамбулу, +% до команды |\begin{document}|. Команды |\newfloat|, |\floatstyle| +% и~|\restylefloat| устаревшие, хотя и~поддерживаются\footnote{Всё же лучше заменить +% их на команды \cmd{\floatsetup}, +% Пакет \package{floatrow} поддерживает старые команды, но не даёт гарантии. +% См.~также {\sectionname}~\ref{float-obs} о~том как переводятся эти команды в~команду +% \cmd{\floatsetup}.}. +% +%^^A% Sections, signed with ``[\package{float}]'' were borrowed from +%^^A% \package{float}'s documentation. The section about commands which +%^^A% describes setting commands of \package{float} package was moved +%^^A% in the section~\ref{sec:changed} +%^^A% (subsection~\ref{sec:floatborrowI}, ``The User Interface---New +%^^A% Floats [\package{float}]''). +% Разделы, помеченные «[\package{float}]», заимствованы из +% документации пакета +% \package{float}\footnote{Настоятельно рекомендуется читать эти разделы +% в~английском варианте документации. +% За корректность перевода не ручаюсь.}. Раздел, описывающий команды +% настроек флотов и~создания нового типа флотов перемещён в~конец, +% в~разд.~\ref{sec:changed} (подраздел~\ref{sec:floatborrowI}, +% «Интерфейс пользователя \cdash--- новые плавающие объекты») +% +% +% \RestoreSpaces +%^^A% \subsubsection{How macros from \package{float} package +%^^A% work in \package{floatrow}}\label{float-obs} +% \subsubsection{Как макрокоманды из пакета \package{float} +% работают в~\package{floatrow}}\label{float-obs} +% +%^^A% The combination of |\floatstyle|\marg{style} and any of +%^^A% \cmd{\newfloat}\marg{float} or +%^^A% \cmd{\restylefloat}\marg{float} commands in \package{floatrow} package +%^^A% set float layout in the way: +% Комбинация команды |\floatstyle|\marg{style} и~любой из +% \cmd{\newfloat}\marg{float} или +% \cmd{\restylefloat}\marg{float} превращается в~пакете \package{floatrow} +% в~настройки \hbox{вида}: +% \begin{Quote} +% |\floatsetup|\oarg{float}|{style=|\meta{style}|}| +% \end{Quote} +%^^A% Please note that there is used |\floatsetup|\oarg{float}|{...}| +%^^A% but not |\floatsetup{...}|. +% Обратите внимание, что используются настройки |\floatsetup|\oarg{float}|{...}|, +% а~не просто |\floatsetup{...}|. +% +%^^A% The |\floatname| command replaces the |name=| key of |\DeclareNewFlotaType| +%^^A% command. The |\floatplacement|---|placement=| key. +% Команда |\floatname| заменяется на ключ |name=| в~установках команды |\DeclareNewFlotaType|, +% а~|\floatplacement| \cdash--- ключ |placement=|. +% +%^^A% \subsubsection{Printing of Float List [\package{float}]} +%^^A% \label{sec:floatborrowIa} +% \subsubsection{Печать списка плавающих объектов (флотов) +% [\package{float}]}\label{sec:floatborrowIa} % -% \floatbox{table}[\FBwidth] -% {\caption{Табличный заголовок внутри \cmd{\floatbox} -% в обычном \LaTeX'е}\label{intro:righttab:raw}} -% {\tabcolsep3\tabcolsep\begin{tabular}{|c|c|} A & B \\ C & D -% \end{tabular}} -% \end{floatrow} -% \end{figure}%^^A -% См. также с.~\pageref{mixrow} о том как задать и выровнять -% различные типы флотов как рис.~\ref{intro:leftfig:raw} и -% табл.~\ref{intro:righttab:raw} в одном ряду -% (окружении \env{floatrow}). +% \nobreak\DescribeMacro{\listof} +% \nopagebreak +%^^A% The |\listof| command produces a list of all the floats +%^^A% of a given class. Its syntax~is\\[2pt] +% Команда |\listof| создаёт список всех флотов данного +% класса. Её синтаксис +% \par\RestoreSpaces +% \begin{quote} +% \hspace*{\MacroIndent}|\listof{|\meta{type}|}{|\meta{title}|}|^^A +% \end{quote} +%^^A% \meta{type} is the float type given in the |\newfloat| command. +%^^A% \meta{title} is used for the title of the list as well as the +%^^A% headings if the current page style includes them. Otherwise, the +%^^A% |\listof| command is analogous to the built-in \LaTeX\ commands +%^^A% |\listoffigures| and |\listoftables|. +% \meta{type} это тип флота, заданный командой |\newfloat|. +% \meta{title} задаёт заголовок списка флотов и~колонтитулы +% если стиль страницы задаёт их. В~противном случае, команда +% |\listof| работает аналогично встроенным командам \LaTeX'а +% |\listoffigures| и~|\listoftables|. +% +%^^A% \noindent\emph{Floatrow note}. +%^^A% Please remember that for each float type list +%^^A% you must set file extension where the entries of each float type gathered. +%^^A% Use key \texttt{fileext=...} in |\DeclareNewFloatType|. +%^^A% If two or more float types will have the same file +%^^A% for list of floats, you will get all floats in the +%^^A% first appeared |\listof|, and all next will be empty. +% \noindent\emph{Замечание \textsf{floatrow}}. +% Помните, что для каждого списка флотов +% нужно задать расширение файла, где будут собираться вхождения этого флота. +% Используйте ключ \texttt{fileext=...} в~команде~|\DeclareNewFloatType|. +% Если два или более типов флотов будут иметь один файл (заданное расширение) +% списка флотов, все флоты соберутся в~первом +% списке |\listof|, оставив остальные пустыми. +% +%^^A% \subsubsection{The User Interface---\texttt{[H]} +%^^A% Placement Specifier [\package{float}]}\label{sec:floatborrowII} +% \subsubsection{Интерфейс пользователя "--- указатель +% размещения \texttt{[H]} [\package{float}]}\label{sec:floatborrowII} +% +%^^A% Many%^^A +%^^A% \FRmpar{Anchored float}{FAD:AnchoredFloat} +%^^A% people find \LaTeX's float placement specifiers too +%^^A% restrictive. A Commonly Uttered Complaint (CUC) calls for a way to +%^^A% place a float exactly at the spot where it occurs in the input file, +%^^A% i.e., to \emph{not} have it float at all. It seems that the +%^^A% \texttt{[h]} specifier should do that, but in fact it only suggests +%^^A% to \LaTeX\ something along the lines of ``put the float here if it's +%^^A% OK with you''. As it turns out, \LaTeX\ hardly ever feels inclined +%^^A% to actually do that. This situation can be improved by judicious +%^^A% manipulation of float style parameters. +% Многие%^^A% +% \FRmpar{Флот «на якоре»}{FAD:AnchoredFloat} +% находят набор указателей размещения флотов в~\LaTeX'е +% ограниченным. Общество \textit{Commonly Uttered Complaint} (CUC) призвало найти путь +% поместить флот точно в~то место, где он появляется в~исходном файле, +% иными словами не делать плавающим его вообще. С~первого взгляда указатель +% \texttt{[h]} должен делать это, но фактически он только предлагает +% \LaTeX'у~<<поместить здесь если получится>>. +% На самом деле \LaTeX\ едва склонен в~действительности +% делать это. (Эта ситуация может быть исправлена только хитроумными +% манипуляциями параметров флота.) % +% \RestoreSpaces +%^^A% The same effect can be achieved by changing the actual method of +%^^A% placing floats. David Carlisle's \package{here} option introduces a new +%^^A% float placement specifier, namely \texttt{[H]}, which, when added to +%^^A% a float, tells \LaTeX\ to ``put it HERE, period''. If there isn't +%^^A% enough space left on the page, the float is carried over to the next +%^^A% page together with whatever follows, even though there might still +%^^A% be room left for some of that. This style option provides the +%^^A% \texttt{[H]} specifier for newly defined classes of floats as well +%^^A% as the predefined \texttt{figure}s and \texttt{table}s, thereby +%^^A% superseding \package{here}. David suggests that the \package{here} option be +%^^A% withdrawn from the archives in due course. +% Тот же эффект может быть достигнут изменением метода +% размещения флотов. Опция \package{here} (David Carlisle) предлагает +% новый указатель размещения флота, названный \texttt{[H]}, +% который, при добавлении в~опции флота, +% говорит \LaTeX'у~<<поставить СЮДА, точка>>. Если места на +% странице недостаточно, флот переносится на другую страницу +% вместе с~последующим текстом, даже в~случае, если этот текст +% мог бы там разместиться. Пакет поддерживает эту опцию, указатель +% \texttt{[H]}, как для новых классов флотов так и~для +% предопределённых \texttt{figure} и~\texttt{table}, вместо +% \package{here}. David предполагает, что пакет \package{here} +% может быть со временем удалён из архивов. % -% \section{Тандемы стилей} +%^^A% The {\tt[H]} specifier may simply be added to the float as an +%^^A% optional argument, like all the other specifiers. It may \emph{not} +%^^A% be used in conjunction with any other placement specifiers, so +%^^A% {\tt[Hhtbp]} is illegal. Neither may it be used as the default +%^^A% placement specifier for a whole class of floats. The following table +%^^A% is defined like this: +% Указатель {\tt[H]} может быть просто добавлен к~флоту +% как опция, как другие указатели. Он \emph{не} +% может быть использован совместно с~другими указателями, поэтому +% {\tt[Hhtbp]} неверно. Также он не может быть использован как +% параметр по умолчанию для класса флотов. Следующая таблица +% определена следующим образом: +% \begin{verse} +% |\begin{table}[H]| \\* +% |\begin{tabular}{cl}|\\ +% |\tt t & Top of the page\\|\\* +% \dots\ more stuff \dots\\ +% |\end{tabular}| +% \end{verse} +%^^A% (It seems that I have to add some extraneous chatter here just so +%^^A% that the float actually comes out right in the middle of a printed +%^^A% page. When I \LaTeX ed the documentation\footnote{For \package{float} +%^^A% package.} just now it turned out that there was a page break that +%^^A% fell exactly between the ``So now'' line and the float. This +%^^A% wouldn't Prove Anything. Bother.) So now we have the following float +%^^A% placement specifiers: +% (Кажется мне пришлось добавить здесь немного ненужной болтовни +% чтобы флот был помещён точно посередине страницы. +% Когда документация обрабатывалась +% \LaTeX'ом\footnote{Пакета \package{float}.} +% обнаружилось что разрыв страницы приходится между строкой +% <<Итак теперь>> и~флотом. Это ничего не доказывает. +% Итак теперь мы имеем следующие указатели размещения +% флота:\nopagebreak +% \par\RestoreSpaces +% \begin{table}[H] +% \begin{tabular}{cl} +% \tt t & вверх полосы\\ +% \tt b & вниз полосы\\ +% \tt p & на отдельную страницу\\ +% \tt h & здесь, если возможно\\ +% \tt H & только здесь, (после этого текста) +% \end{tabular} +% ^^A\caption{Could it be that this just needs a caption?} +% \end{table} % -% Несколько следующих разделов показывают примеры и объясняют -% некоторые замеченные особенности с использованием пакета -% \pkg{floatrow} вместе с другими пакетами. Это не полный -% список таких пакетов. Возможно совмещение и с другими версиями -% указанных пакетов, и с неуказанными пакетами тоже. +%^^A% \emph{Floatrow note}. Please don't mix meaning of +%^^A% \texttt{[H]} and \texttt{[h]} options. +%^^A% Float with \texttt{[h]} and \texttt{[!h]} option, if succeed, appears +%^^A% \emph{after completing line} of text, +%^^A% where it was appeared in the source file. That could be visible if you +%^^A% put float environment at the middle of paragraph. +% \emph{Замечание \textsf{floatrow}}. Не путайте значение опций +% \texttt{[H]} и~\texttt{[h]}. +% Опции~\texttt{[h]} или~\texttt{[!h]}, если выполняются, помещают флот +% \emph{после того, как завершена строка} текста, +% где появилось окружение в~исходном файле. Это легко увидеть, если +% вы поместите окружение флота внутри абзаца. +% +%^^A% The [H] option places float just \emph{in the point} where it appeared +%^^A% in the source file, it is used (\emph{but this method for floats strongly +%^^A% not recommended}!), for floats after text like ``\dots{}shown in this +%^^A% \textbf{figure:}'', i.e. the \texttt{[H]} floats continue current +%^^A% paragraph. +% Опция~[H] помещает флот \emph{в~точке} где +% окружение появилось в~исходном файле, +% это используется (\emph{такие вещи в~книгах настоятельно +% не рекомендуются}!) для «флотов» после текста типа «\dots{}показано на этом +% \textbf{рисунке:}», т.\,е. флоты с~опцией~\texttt{[H]} фактически продолжают +% данный абзац. +% \RestoreSpaces +% +%^^A% \subsubsection{The {[H]} +%^^A% Placement Specifier---Managing of Page Breaks}\label{sec:listpen} +% \subsubsection{Опция {[H]} +% "--- настройка разрывов на страницы}\label{sec:listpen} % -% \subsection{Пакет \pkg{caption}} +%^^A% During usage of |[H]| option I found that it is necessary +%^^A% to set common penalties before and after ``anchored'' floats. +% При использовании опции |[H]| мне понадобилось задать +% общие запреты на разрывы до и~после флотов «на якоре». +% +%^^A% The rules for page breaking around such floats similar to +%^^A% page breaking of lists in the book. +% В~одной книге запреты на разрывы на страницы вокруг таких +% флотов и~вокруг перечней могут быть одинаковыми. +% +%^^A% To follow the idea of |\allowdisplaybreaks| command from +%^^A% \package{amsmath} package there is created a \emph{beta-temp}\footnote{I +%^^A% hope that such support sooner or later could appear in +%^^A% \package{paralist} package and think it is better to follow +%^^A% grammar of master-package for similar situations.} version +%^^A% of \package{listpen} package, which offers following commands: +% Используя идею команды |\allowdisplaybreaks| из пакета +% \package{amsmath} создан небольшой (beta-temp) пакет +% \package{listpen}\footnote{Я~надеюсь +% что подобная поддержка рано или поздно появится в~пакете +% \package{paralist} и~считаю, что лучше следовать грамматике +% этого пакет для таких ситуаций.}, +% который предлагает \hbox{команды}: +% \begin{Options}{\OptionLabel} +%^^A% \item[\cmd{\allowprelistbreaks}]sets penalty before lists +%^^A% (and also ``anchored'' floats); +% \item[\cmd{\allowprelistbreaks}]устанавливает разрывы до перечней +% (а~также флотов «на якоре»); +%^^A% \item[\cmd{\allowpostlistbreaks}]sets penalty after lists; +% \item[\cmd{\allowpostlistbreaks}]устанавливает разрывы +% после перечней (флотов «на якоре»); +%^^A% \item[\cmd{\allowitembreaks}]sets penalty between list items. +% \item[\cmd{\allowitembreaks}]устанавливает разрывы между +% пунктами перечня (флотам, естественно, это не нужно!). +% \end{Options} +%^^A% All they set globally, inside group or inside +%^^A% environments. These penalties are set accordingly to digits +%^^A% from |[-4]| (never break) to |[4]| (always break). The positive +%^^A% values of optional argument in these commands analogous to values +%^^A% of optional arguments in |\pagebreak| command. The negative +%^^A% ones---to optional arguments |[1]|--|[4]| in |\nopagebreak| command. +%^^A% The default value of all three commands is |[-1]| which equal +%^^A% to settings of standard \LaTeX{} classes: \cls{book}, \cls{article} +%^^A% etc. (|[-1]| option equal to |-\@lowpenalty| value). +% Все эти команды задают глобально, внутри группы или +% окружения разрывы, задаваемые цифрами +% от |[-4]| (нет разрыва) до |[4]| (всегда разрыв). Положительные +% значения опций команд аналогичны значениям опций +% команды |\pagebreak|. Отрицательные соответствуют +% опциям |[1]|--|[4]| в~команде |\nopagebreak|. +% Значение по умолчанию равно |[-1]|, что +% равно установкам стандартных классов \LaTeX'а +% (|[-1]| соответствует значению |-\@lowpenalty|). +% +% \DescribeMacro{floatHaslist}\label{setup:floatHaslist}%^^A +%^^A% This is the late attempts of backwards compatibility. The key, if true, +%^^A% uses list penalties, otherwise anchored float works like +%^^A% defined in \package{float} package and in \package{floatrow}'s version 0.0g +%^^A% and earlier. (I hope there could not much difference, +%^^A% unless you redefined penalties of lists.) +% Здесь описана запоздавшая попытка обратной совместимости. +% Ключ, в~значении \texttt{true}, +% использует штрафы (penalties) задаваемые для перечней, +% в~противном случае флот «на якоре» +% и~работает как в~пакете~\package{float} и~версии~0.0g пакета~\package{floatrow} +% и~старше. (Надеюсь большой разницы не будет, +% только если штрафы для перечней не переопределялись.) +% +%^^A% Also (added in version 0.1k with current key): +%^^A% since list environments do \emph{not make indentation} in following +%^^A% paragraph, in the case of \emph{no blank} line after environment, +%^^A% the ``anchored'' float environment does +%^^A% the same, if this option is true. Default value of \texttt{floatHaslist} +%^^A% is \texttt{false} +%^^A% (for backward compatibility with previous version 0.1j). +% Также (добавлено в~версии 0.1k наряду с~данным ключом): +% поскольку после перечня \emph{не делается абзацного отступа} в~тексте +% в~случае, если \emph{не задана пустая строка} после окружения, +% флот «на якоре» делает то же самое, +% если включена опция. По умолчанию опция \texttt{floatHaslist} отключена (\texttt{false}) +% (для обратной совместимости с~предыдущей версией~0.1j). +% +% \DescribeMacro{\floatHpenalties}\label{setup:floatHpenalties}%^^A +%^^A% This macro, defined with |\renewcommand| can include settings for +%^^A% list penalties around anchored float. If you define +% Это макро, определённое с~помощью |\renewcommand| может содержать установки +% штрафов вокруг перечней вокруг флота «на якоре». Если вы определите в~преамбуле документа +% \RestoreSpaces\begin{Quote} +% |\renewcommand\floatHpenalties{\@beginparpenalty\@M}| +% \end{Quote} +%^^A% or, with \package{listpen} package +% или, с~пакетом \package{listpen},\allowpostlistbreaks[-4] +% \begin{quote} +% |\renewcommand\floatHpenalties{\allowprelistbreaks[-4]}|\quad, +% \end{quote} +%^^A% you'll never get page breaks before anchored float. +%^^A% \subsection{Пакет \package{rotfloat}} +% вы запретите разрыв до флота «на якоре». +% +% \allowpostlistbreaks\medskip\noindent +% \DescribeMacro{\RestoreSpaces} +%^^A% The external version of abbreviation of internal command |\@nobreakfalse|. +%^^A% It switches off |\if@nobreak| flag. +%^^A% The main (and most visible) usage of this flag---managing of +%^^A% vertical spaces between two sectioning commands (it cancels the space before for next +%^^A% section command of the pair); spaces before list environments (cancels the space +%^^A% before list just after sectioning command) and other similar cases. +% Добавлена ещё одна простая команда, пользовательский вариант внутренней +% команды |\@nobreakfalse|. +% Команда отключает флаг |\if@nobreak|. +% Основное (и~самое заметное) действие этого флага \cdash--- управление +% вертикальными отбивками между двумя элементами рубрикации (он отменяет отбивку сверху +% для следующего из двух стоящих подряд заголовков); +% отбивки до окружений перечней (отменяет отбивку +% до перечня сразу после заголовка) и~в~других подобных ситуациях. +% +%^^A% Usually this flag turned off at the next paragraph (or |\par| command), +%^^A% but in some cases this turn off cannot be happen in necessary point. +%^^A% The |\RestoreSpaces| command would help. +% По правилам этот флаг отключается в~начале следующего абзаца (или командой |\par|), +% но в~некоторых случаях этого не происходит в~нужный момент. +% Команда |\RestoreSpaces| в~этих случаях должна помочь. +% +%^^A% \subsection{The \package{rotfloat} Package} +% \subsection{Пакет \package{rotfloat}} +% +%^^A% Code of \package{rotfloat} package was also borrowed by \package{floatrow} +%^^A% package. In the case of loaded \package{rotfloat} package before +%^^A% \package{floatrow} you will get error message. +% Код пакета \package{rotfloat} был также позаимствован +% пакетом \package{floatrow}. +% Если пакет \package{rotfloat} был загружен до \package{floatrow}, +% вы получите сообщение об ошибке. % -% Тестировалось с версиями v3.0a--v3.0i. +%^^A% The \package{floatrow} package loads code which pretends that +%^^A% \package{rotfloat} already loaded, so next loads are ignored. +%^^A% The \package{rotfloat} allowed in the |\usepackage| +%^^A% line with \package{rotating} package, which could have options. It is +%^^A% necessary to delete \package{rotfloat} package from |\usepackage| line +%^^A% where also \package{rotating} package loaded with options: otherwise +%^^A% you may get `option clash' error message. +% Пакет \package{floatrow} вводит код, который эмулирует уже загруженный +% пакет \package{rotfloat} и~последующая его загрузка игнорируется. +% Пакет \package{rotfloat} построен таким образом, что может быть +% загружен в~одной строке \verb|\usepackage| вместе +% с~пакетом \package{rotating}, который может иметь опции. Необходимо +% также удалить пакет \package{rotfloat} из строки \verb|\usepackage|, +% где задан пакет \package{rotating} с~опциями: в~противном случае +% вы получите сообщение об ошибке со словами `option clash'. % -% Пакет \pkg{caption} обладает сильным механизмом создания -% оформления подписей, поэтому \pkg{floatrow} адресует создание -% новых стилей для подписей этому пакету (см. документацию для -% пакета \pkg{caption}). +% \clearpage +%\newpage +% \section{Тандемы стилей} % -% Пакет \pkg{floatrow} добавляет возможность создать варианты -% оформления подписей для флотов с различным размещением (например +%^^A% The next few sections show examples and explain some noticed +%^^A% features with usage of \package{floatrow} and another package. There is not +%^^A% the full list of style compatibilities. You may succeed with other +%^^A% versions of mentioned packages, and maybe with not mentioned +%^^A% packages too. +% Несколько следующих разделов показывают примеры и~объясняют +% некоторые замеченные особенности с~использованием пакета +% \package{floatrow} вместе с~другими пакетами. Это не полный +% список таких пакетов. Возможна совместимость и~с~другими версиями +% указанных пакетов, и~с~неуказанными пакетами тоже. +% +%^^A% \subsection{The \package{caption} Package}\label{ssec:caption} +% \subsection{Пакет \package{caption}} +% +%^^A% Tested (and compatible) with version v3.0q. +% Тестировалось (и~совместимо) с~версией v3.0q. +% +%^^A% The \package{caption} package has strong mechanism of creating of +%^^A% caption layout, so \package{floatrow} addresses the creation of new +%^^A% caption styles to this package (see documentation for \package{caption} +%^^A% package). +% Пакет \package{caption} обладает сильным механизмом создания +% оформления подписей, поэтому \package{floatrow} адресует создание +% новых стилей для подписей этому пакету (см.~документацию для +% пакета \package{caption}). +% +%^^A% The \package{floatrow} adds possibility to create a variations of captions +%^^A% for floats in different positions or layouts (e.g. like wide or +%^^A% two-column floats or rotated floats) using optional argument of +%^^A% |\captionsetup|. +% Пакет \package{floatrow} добавляет возможность создать варианты +% оформления подписей для флотов с~различным размещением (например % для флотов вразрез двух колонок или широких флотов, % или развёрнутых вертикально флотов) за счёт использования -% дополнительного аргумента в команде +% дополнительного аргумента в~команде % |\captionsetup|. % +%^^A% For example you want to create special caption layout for wide or +%^^A% two-column floats. In this case you may use % Например вы желаете создать специальное оформление для подписи % под широким флотом или -% флотом вразрез двух колонок. В этом случае вы можете использовать +% флотом вразрез двух колонок. В~этом случае вы можете использовать % \begin{quote} % |\captionsetup[widefloat]|\marg{options} % \end{quote} +%^^A% or for wide or two-column figures: % или, для широких или рисунков вразрез двух колонок: % \begin{quote} % |\captionsetup[widefigure]|\marg{options} % \end{quote} -% Приоритет опций в команде |\captionsetup| такой же, как в опциях -% команды |\floatsetup|. В приведённых примерах настройки +%^^A% The priority of |\captionsetup| optional arguments is similar to +%^^A% |\floatsetup| ones. In current examples |\captionsetup[widefigure]| +%^^A% will be stronger than |\captionsetup[widefloat]|. The priority +%^^A% and usage of ``\meta{float subtypes}'' in optional arguments +%^^A% see on the page~\pageref{stsetorder}\label{cap:beside:order}). +% Приоритет опций в~команде |\captionsetup| такой же, как в~опциях +% команды |\floatsetup|. В~приведённых примерах настройки % |\captionsetup[widefigure]| будут <<сильнее>>, чем -% |\captionsetup[widefloat]|. Приоритет и использование -% <<\meta{float subtype}>> в дополнительных аргументах -% см. на с.~\pageref{stsetorder}\label{cap:beside:order}. +% |\captionsetup[widefloat]|. Приоритет и~использование +% <<\meta{float subtype}>> в~дополнительных аргументах +% см.~на с.~\pageref{stsetorder}\label{cap:beside:order}. +% +% +% +% +% % +%^^A% \subsection{The \package{subfig} Package}\label{ssec:subfig} +% \subsection{Пакет \package{subfig}}\label{ssec:subfig} % -% \subsection{Пакет \pkg{subfig}} +%^^A% Tested (and compatible) with version 1.3, +%^^A% dated 2005/06/28. For the \package{subfig} package there are additional +%^^A% macros in \package{floatrow} which create of row of subfloats; +%^^A% put subcaption label beside contents of subfloat; put alone +%^^A% subcaption label. +% Тестировалось (и~совместимо) с~версией~1.3 +% датированной 2005/06/28. В~пакете \package{floatrow} добавлены +% макрокоманды для размещения частей флота рядом; помещения +% номера подподписи сбоку; задания номера подподписи +% отдельно. % -% Тестировалось с версиями 1.2, датированной 2003/12/20 и 1.3 -% датированной 2005/06/28.\nopagebreak +%^^A% \subsubsection{Additions in \package{floatrow}} +%^^A% \label{ssec:sidelabelsubfloat} +% \subsubsection{Добавления в~пакете \package{floatrow}} +% \label{ssec:sidelabelsubfloat} % -% Пример с \cmd{\subfloat}'ами (табл.~\ref{tab:tabIII}). -% Команда настройки оформления в преамбуле, -% |\floatsetup[table]{style=Plaintop}|, включает +%^^A% The example with \cmd{\subfloat}'s (table~\ref{tab:tabIII}). The +%^^A% setting command in preamble |\floatsetup[table]{style=Plaintop}|%^^A +%^^A% \FRmpar{Subcaption above subtable}{FAD:subcapabove} +%^^A% includes also settings for subcaption positions used with +%^^A% \package{subfloat} package (like |\captionsetup[table]{position=top}| in +%^^A% \package{caption} package): +% Пример с~\cmd{\subfloat}'ами (табл.~\ref{tab:tabIII}). +% Команда настройки оформления в~преамбуле, +% |\floatsetup[table]{style=Plaintop}|,%^^A +% \FRmpar{Подподпись над частью таблицы}{FAD:subcapabove} +% включает % также настройки для положения подподписей, задаваемых пакетом -% \pkg{subfloat} (аналогично |\captionsetup[table]{position=top}| в -% пакете \pkg{caption}): -%\begin{verbatim} -%\begin{table}\extrarowheight1pt -% \floatbox{table}[\FBwidth] -% {\caption{Two ...}\label{...}} -% {\begin{subfloatrow} -% \subfloat[First table] -% {\begin{tabular}{|l|c|c|} -% ... -% \end{tabular}} -% \subfloat[Second table] -% {\begin{tabular}{|l|c|c|} -% ... -% \end{tabular}% -% \end{subfloatrow}}} -%\end{table} -%\end{verbatim} +% \package{subfloat} (аналогично |\captionsetup[table]{position=top}| +% в~пакете \package{caption}): +%\begin{Quote}\obeylines\parskip-.15pt +%|\begin{table}\extrarowheight1pt|\nopagebreak +%| \floatbox{table}[\FBwidth]| +%| {\caption{Two ...}\label{...}}| +%| {\begin{subfloatrow}| +%| \subfloat[First table]| +%\verb+ {\begin{tabular}{|l|c|c|}+ +%| ...\end{tabular}}| +%| \subfloat[Second table...]| +%\verb+ {\begin{tabular}{|l|c|c|}+ +%| ...\end{tabular}%| +%| \end{subfloatrow}}}| +%|\end{table}| +%\end{Quote} % \DeleteShortVerb{\|}% % \captionsetup[subtable]{textfont=md} -% \begin{table}[h]\extrarowheight1pt +% \begin{table}[h]\extrarowheight1pt\tabcolsep1.5\tabcolsep % \floatbox{table}[\FBwidth] % {\caption{Две подтаблицы (\cmd{\subtable}) -% (созданные с пакетом \pkg{subfig})}\label{tab:tabIII}} +% (созданные с пакетом \package{subfig})}\label{tab:tabIII}} % {\begin{subfloatrow} % \subfloat[Первая подтаблица] % {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} @@ -2329,7 +4534,7 @@ % \hline % \end{tabular}} % -% \subfloat[Вторая подтаблица with long long long subcaption] +% \subfloat[Вторая подтаблица с~длинным длинным заголовком] % {\begin{tabular}{|l|c|c|} % \hline % \multirowthead{2}[-1ex]{Column Head} @@ -2348,85 +4553,378 @@ % \end{table}% % \MakeShortVerb{\|}% % -% \emph{Замечание.} В данном примере было использовано окружение -% \env{subfloatrow}. Это упрощённый вариант окружения +%^^A% The \env{subfloatrow} is simplified \env{floatrow} environment, which +%^^A% expands vertical alignment of float contents to subfloats and +%^^A% puts horizontal separator, defined by \texttt{subfloatrowsep=} +%^^A% key. This key and uses the same options +%^^A% as \texttt{floatrowsep=} and \texttt{capbesidesep=} keys (options of +%^^A% these keys defined by |\DeclareFloatSeparators| command, +%^^A% page~\pageref{setup:DeclareFloatSeparators}). +% Окружение \env{subfloatrow} \cdash--- это упрощённый вариант окружения % \env{floatrow}, который распространяет вертикальное выравнивание -% содержимого объектов и подписей, а между подфлотами +% содержимого объектов и~подписей, а~между подфлотами % создаёт разделитель, заданный ключом \texttt{subfloatrowsep=}. -% Этот ключ использует те же опции, что и ключи -% \texttt{floatrowsep=} и \texttt{capbesidesep=} (опции этих ключей +% Этот ключ использует те же опции, что и~ключи +% \texttt{floatrowsep=} и~\texttt{capbesidesep=} (опции этих ключей % задаются командой |\DeclareFloatSeparators|, -% с.~\pageref{decl:sep}). +% с.~\pageref{setup:DeclareFloatSeparators}). % %^^A To use \env{subfloatrow} environment load -%^^A \pkg{fr-subfig}\footnote{This package could have only beta-status, -%^^A because of it redefines two macros of \pkg{subfig} package for +%^^A \package{fr-subfig}\footnote{This package could have only beta-status, +%^^A because of it redefines two macros of \package{subfig} package for %^^A creation of subcaption and subfloat boxes.} package installed -%^^A together with \pkg{floatrow}.\pagebreak[3] -% -% См. примеры с окружениями \env{subfloatrow} в файлах примеров -% \file{frsample03.tex}, \file{frsample05.tex}; а также +%^^A together with \package{floatrow}.\pagebreak[3] +% +%^^A% See examples with \env{subfloatrow} environment in sample files +%^^A% \file{frsample03.tex}, \file{frsample05.tex}; and also +%^^A% \file{frsample10.tex}--\file{frsample12.tex} where aligned contents +%^^A% of beside subfloats are used in different layouts.) +% См. примеры с~окружениями \env{subfloatrow} в~файлах примеров +% \file{frsample03.tex}, \file{frsample05.tex}; а~также % \file{frsample10.tex}--\file{frsample12.tex} где подфлоты -% даны в различных оформлениях и размещениях.) -% -% Следующий пример с подписью сбоку -% (рис.~\ref{fig:subfig:catsI}).%^^A -% \footnote{В версии 1.2 подобъекты рядом, один из которых помещён в -% \cmd{\fbox}, а другой "--- нет (как -% рис.~\ref{fig:subfig:catsI}), и в других подобных ситуациях -% могут дать невыровненные по низу (верху) -% подподписи. В данном примере (когда загружен пакет -% \pkg{pstricks}) при использовании версии -% 1.2 пришлось задать следующие строки для -% подрисунка~\ref{subfig:b}:\\[2ex]\ttfamily -% \cmd{\raisebox}\{\cmd{\depth}\}\{\cmd{\input}\{\texttt{TheBlackCat.picture}\}\}} -%\begin{verbatim} -%\floatsetup{style=Shadowbox,capbesidesep=columnsep, -% capbesideframe=yes,capbesideposition={top,inside}} -%\fcapside[\FBwidth] -%{\begin{subfloatrow} -% \subfloat[White ...]{...} -% \subfloat[Black ...]{...} -%\end{subfloatrow}} -%{\caption{...}} -%\end{verbatim} -% \floatsetup[figure]{style=Shadowbox,capbesidesep=columnsep,capbesideframe=yes, -% capbesideposition={top,inside}} +% даны в~различных оформлениях и~размещениях.) +% +%^^A% The next goes example with beside caption (see +%^^A% figure~\ref{fig:subfig:catsI}).%^^A +%^^A%^^A% \footnote{In version 1.2 the beside boxed and non-boxed subfloat +%^^A%^^A% contents (like in figure~\ref{fig:subfig:catsI}) could not get aligned +%^^A%^^A% bottom (top) subcaptions. In this example I ought to use following +%^^A%^^A% lines for subfigure~\ref{subfig:b}, when \package{pstricks} package is +%^^A%^^A% loaded:\\[2ex]\ttfamily +% Следующим идёт пример рисунка с~подписью сбоку (рис.~\ref{fig:subfig:catsI}).%^^A +%^^A% \footnote{В~версии 1.2 подобъекты рядом, один из которых помещён +%^^A% \cmd{\fbox}, а~другой \cdash--- нет (как +%^^A% в~рис.~\ref{fig:subfig:catsI}), и~в~других подобных ситуациях +%^^A% могут дать невыровненные по низу (верху) +%^^A% подподписи. В~данном примере (когда загружен пакет +%^^A% \package{pstricks}) при использовании версии~1.2 +%^^A% пришлось задать следующие строки для +%^^A% подрисунка~\ref{subfig:b}:\\[2ex]\ttfamily +%^^A% \cmd{\raisebox}\{\cmd{\depth}\}\{\cmd{\input}\{\texttt{Cat.picture}\}\}} +%\begin{Quote} +%\meta{preamble}\nopagebreak +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=Shadowbox,|%^^A +% \hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=columnsep,| +%| |\hyperref[setup:capbesideframe]{\texttt{capbesideframe}}|=yes,|%^^A +% \hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|={left,top}}| +%|\floatsetup[subfigure]{|\hyperref[setup:style]{\texttt{style}}|=plain}| +%|\DeclareCaptionLabelFormat{list}{\bothIfFirst{#1}{ }#2)}| +%|\captionsetup[subfigure]{labelformat=list,justification=centerlast,| +%| strut=no}|\nopagebreak +%\meta{preamble} +%|\fcapside[\FBwidth]| +%| {\begin{subfloatrow}| +%| \subfloat[...\label{...}]{...}| +%| \subfloat[...\label{...}]{...}%| +%| \end{subfloatrow}}| +%|{\caption{...}}| +%\end{Quote} +% \floatsetup[figure]{style=Shadowbox,capbesidesep=columnsep, +% capbesideframe=yes,capbesideposition={left,top}} +% \floatsetup[subfigure]{style=plain} +% \captionsetup[subfigure]{labelformat=list,justification=centerlast,strut=no} % \begin{figure}[h] % \fcapside[\FBwidth] % {\begin{subfloatrow} -% \subfloat[Белая кошка\label{subfig:w}]{\input{TheCat.picture}} +% \subfloat[Кот\label{subfig:w}]{\unitlength.99\unitlength\input{Cat.picture}} +% +% \subfloat[Другой кот\label{subfig:b}]%^^A +% {\unitlength.9\unitlength\input{TheCat.picture}}% +% \end{subfloatrow}} +% {\caption[Ряд подфлотов]{Подпись сбоку +% выровнена по верху; стиль оформления флота +% \texttt{Shadowbox}. Помещены две части рисунка: +% \protect\ref{subfig:w} и~\protect\ref{subfig:b}}\label{fig:subfig:catsI}} +% \end{figure} +% +% \DescribeMacro{\sidesubfloat} +%^^A% Another addition in \package{floatrow} for subfloats is command,%^^A +%^^A% \FRmpar{Subcaption beside subfloat}{FAD:sublabelbeside} +%^^A% which puts subcaption label beside subfloat. The subcaption label always +%^^A% appears on the left side. The key |subcapbesideposition=| +%^^A% \DescribeMacro{subcapbesideposition}\label{setup:subcapbesideposition}%^^A +%^^A% sets vertical alignment of beside subcaption and subfloat. +%^^A% The options analogous to options for |capbesideposition=| key: +% Ещё одно определение \package{floatrow} для подфлотов \cdash--- команда,%^^A +% \FRmpar{Метка подподписи сбоку подфлота}{FAD:sublabelbeside} +% которая помещает метку подподписи сбоку подфлота. Метка подподписи +% всегда располагается слева от подфлота. Ключ |subcapbesideposition=| +% \DescribeMacro{subcapbesideposition}\label{setup:subcapbesideposition}%^^A +% определяет взаимное вертикальное выравнивание метки и~подфлота. +% Название опций аналогично опциям вертикального выравнивания в~ключе +% |capbesideposition=|:%^^A +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel}\samepage +% \item[top] +%^^A% subcaption label aligned to the top of object; +% метка выровнена по верху объекта; +% \item[bottom] +%^^A% subcaption label aligned to the bottom of object; +% метка по середине объекта; +% \item[center] +%^^A% subcaption label aligned to the center of float contents. +% метка по низу объекта (задана по умолчанию). +% \end{Options} +% +%^^A% The figure~\ref{fig:subfig:catsII} shows layout with subfloat labels beside. +% Рисунок~\ref{fig:subfig:catsII} демонстрирует оформление с~метками частей рисунка слева. +% \begingroup +% \begin{Quote}% +%\meta{preamble}\nopagebreak +%|...| +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=plain,|%^^A +% \hyperref[setup:subcapbesideposition]{\texttt{subcapbesideposition}}|=top}| +%\meta{preamble} +% |\begin{figure}[H]| +% | \ffigbox[\FBwidth]| +% | {\begin{subfloatrow}| +% | \sidesubfloat[]{...\label{...}}%| +% | | +% | \sidesubfloat[]{...\label{...}}%| +% | \end{subfloatrow}}| +% |{\caption[...]{...}\label{...}}| +% |\end{figure}| +% \end{Quote} +% \floatsetup[figure]{style=plain,subcapbesideposition=top} +% \begin{figure}[h] +% \ffigbox[\FBwidth] +% {\begin{subfloatrow} +% \sidesubfloat[]{% +% {\unitlength.9\unitlength\input{Cat.picture}\label{subfig:wI}}} % -% \subfloat[Чёрный кот\label{subfig:b}]%^^A -% {\input{TheBlackCat.picture}}% +% \sidesubfloat[]{\unitlength.9\unitlength\input{TheCat.picture}\label{subfig:bI}}% % \end{subfloatrow}} -% {\caption{Подпись сбоку выровненная по верху, оформление флота в -% стиле \texttt{Shadowbox}}\label{fig:subfig:catsI}} +% {\caption[Ряд подфлотов (метки сбоку)]{Подпись сбоку выровнена по средней линии. +% Помещены две части рисунка: +% \protect\ref{subfig:wI} и~\protect\ref{subfig:bI}}\label{fig:subfig:catsII}} +% \end{figure} +% \endgroup +% +% \DescribeMacro{\subfloatlabel} +%^^A% There are cases when usage of something like |\subfloat[]\label{..}}}| +%^^A% is needed. The first case shows the figure~\ref{fig:subfig:catsIII}---the +%^^A% funny picture environment where subfloat labels were |\put| +%^^A% as a part of subfigures. +%^^A% Other---when you use mechanism of \package{psfrag} package and replace text entries +%^^A% from PostScript file with \LaTeX{} ones. Unfortunately, the \package{subfig} package +%^^A% creates unnecessary spaces around alone subfloat label in the +%^^A% |\subfloat[]\label{..}}}| combination. The \package{fr-subfig} tries to fix this problem. +% Иногда бывает нужна комбинация |\subfloat[]{\label{..}}|. +% Первый случай демонстрирует рис.~\ref{fig:subfig:catsIII} \cdash--- забавное +% окружение \env{picture}, где метки подфлота помещены командой |\put|, +% внутри рисунка. +% Другой случай \cdash--- использование пакета \package{psfrag} для замены текста +% PostScript-файлов на \LaTeX'овский. К~сожалению, при задании |\subfloat[]{\label{..}}| +% пакет \package{subfig} создаёт ненужные отбивки +% вокруг метки подфлота. Пакет \package{fr-subfig} пытается решить проблему. +% +%^^A% This command based on |\subfloat[]\label{..}}}| sentence and +%^^A% puts alone subcaption label with necessary number. The full variant +%^^A% of |\subfloatlabel| +% Данная команда базируется на комбинации |\subfloat[]{\label{..}}| +% и~помещает метку части рисунка с~нужным номером. Полный вариант +% команды |\subfloatlabel|: +% \par\RestoreSpaces +% \begin{quote} +% |\subfloatlabel|\oarg{subfloat number}\oarg{label entry} +% \end{quote} +% является сокращением следующего кода: +% \begin{Quote} +% |\setcounter|\marg{sub{\upshape\texttt{\char`\\@captype}}}\marg{subfloat number-1}\\ +% |\subfloat[]{\label{|\meta{label entry}|}}| +% \end{Quote} +% +% \begingroup +% \begin{Quote}% +%\meta{preamble}\nopagebreak +%|...| +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=plain}| +%|\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2}| +%|\captionsetup[subfigure]{listofformat=comma-separated}| +% |\begin{figure}[h]| +% |\fcapside[\FBwidth]| +% | {\unitlength2\unitlength\fboxsep-.4pt| +% | \begin{picture}(90,30)(0,0)| +% | \put(0,0){\framebox(40,30)[bl]{}}| +%|...| +%\meta{preamble} +% \end{Quote} +% \floatsetup[figure]{style=plain} +% \captionsetup[subfigure]{listofformat=comma-separated} +% \begin{figure}[h] +% \fcapside[\FBwidth] +% {\unitlength2\unitlength\fboxsep-.4pt +% \begin{picture}(90,30)(0,0) +% \put(0,0){\framebox(40,30)[bl]{}} +% \put(2,2){\makebox(0,0)[bl]{\subfloat[]{\label{subfig:wII}}}} +% \put(0,0){ +% \put(6,18){\put(0,0){\line(2,3){5}} +% \put(10,0){\line(-2,3){5}}} +% \put(24,18){\put(0,0){\line(2,3){5}} +% \put(10,0){\line(-2,3){5}}}} +% +% \put(50,0){\framebox(40,30)[bl]{}} +% \put(52,2){\makebox(0,0)[bl]{\subfloatlabel[3][subfig:bII]{}%^^A +% }}%^^A\label{} +% \put(50,0){ +% \put(8,10){\put(4.5,4.5){\circle{9}} +% \put(4.5,0){\line(0,1){9}}} +% \put(23,10){\put(4.5,4.5){\circle{9}} +% \put(4.5,0){\line(0,1){9}}}} +% \end{picture}} +% {\caption[Графика с~метками частей рисунка]{%^^A +% Нарисованы два простых рисунка. +% На первом \protect\cdash--- кошачьи уши (\protect\subref{subfig:wII}), помеченные как +% \cs{subfloat}\texttt{[]\char`\{\char`\}}; +% а~\cs{subfloatlabel}\texttt{[3][subfig:bII]} помечает кошачьи глаза на втором +% (\protect\subref{subfig:bII})}%^^A +% \label{fig:subfig:catsIII}} % \end{figure} +%^^A% Please look at the definition of reference to the subfigure, key |listofformat=|. +%^^A% This format is used, in particular, by |\subref| command: the |\subref{subfig:bII}| gives +%^^A% reference to the subfigure \subref{subfig:bII}. +% Обратите внимание на определение формата ссылки на подрисунок, заданный ключом |listofformat=|. +% Данный формат используется, в~частности, командой |\subref|: |\subref{subfig:bII}| выдал ссылку +% на часть рисунка \subref{subfig:bII}. +% \endgroup +% % +% \clearpage +% \par\RestoreSpaces +%^^A% \subsection{The \package{longtable} Package}\label{ssec:longtable} +% \subsection{Пакет \package{longtable}}\label{ssec:longtable} +% +%^^A% Tested with version v4.11, dated 2004/02/01. +% Тестировалось с~версией v4.11, датированной 2004/02/01. +% В~русских публикациях +% рекомендуется использовать версию не ниже указанной. +% +%^^A% \subsubsection{Additions in \package{floatrow}} +%^^A% \label{ssec:LTcapwidth} +% \subsubsection{Добавления в~пакете \package{floatrow}} +% \label{ssec:LTcapwidth} +% +%^^A% There was added a patch to the |\LT@array| macro (\package{longtable} +%^^A% package)\footnote{Thanks to A. Sommerfeldt for help to make this +%^^A% code compact.}: this patch adds the same font settings +%^^A% as for \env{table} environments, and adds code which helps +%^^A% to get width of \env{longtable} caption equal to the +%^^A% width of table. For settings of caption width there was created a key. +% Был добавлен код в~макрокоманду |\LT@array| пакета +% \package{longtable}\footnote{Спасибо +% A.\,Sommerfeldt за помощь в~создании компактного кода.}: +% этот код задаёт настройки того +% же шрифта, что и~в~таблицах в~окружении \env{table}, +% а~также возможность задать ширину +% табличного заголовка в~окружении \env{longtable} равной ширине +% таблицы. Для задания ширины +% табличного заголовка задан ключ. +% +% \DescribeMacro{LTcapwidth}\label{setup:LTcapwidth}%^^A +% \FRmpar{Ширина подписи по ширине таблицы longtable}{FAD:LTcapwidth} +%^^A% This key could have any value, like |5cm| or |\hsize|. In this cases this +%^^A% key does work of |\LTcapwidth| command. If you'll write +%^^A% \texttt{LTcapwidth=table} or \texttt{LTcapwidth=contents}, you will get +%^^A% caption width equal to the width of table. In this case settings for +%^^A% width of caption use information from \texttt{aux}-file, so you'll get +%^^A% correct caption width at the time when the width of full table become +%^^A% stable. +% Этот ключ может иметь любое значение типа |5cm| или |\textwidth| \cdash--- в~этом +% случае он дублирует команду |\LTcapwidth|. +% Если же вы зададите \texttt{LTcapwidth=table} или +% \texttt{LTcapwidth=contents}, +% ширина табличного заголовка будет равна ширине таблицы. Настройка +% ширины табличного заголовка в~этом случае производится +% по информации из \texttt{aux}-файла, +% поэтому вы получите правильный результат только тогда, +% когда ширина всей таблицы будет стабильной. % -% \vfil\pagebreak[4] -% \subsection{Пакет \pkg{wrapfig}} +%^^A% The \env{longtable} environment uses layout settings from +%^^A% |\floatsetup[table]| and |\floatsetup[longtable]| macros. +%^^A% The |\floatsetup[longtable]| will be ``strongest'' in this pair. +% Окружение \env{longtable} использует настройки, +% заданные в~опциях команды |\floatsetup[table]| +% и~|\floatsetup[longtable]|. Последние настройки, |\floatsetup[longtable]|, +% будет <<сильнейшими>> в~этой паре.\medskip +% +%^^A% \emph{The addition with version 0.1k}. There is added a +%^^A% \textrm{beta-temp}\footnote{Again, like with \package{listpen} package, I +%^^A% hope that such support sooner or later could appear in +%^^A% \package{longtable} and think it is better to follow +%^^A% grammar of master-package for similar situations.} package +%^^A% with simple additions, which allow creation of special head for last +%^^A% page of longtable environment and special foot for pages before last. +% \emph{Добавление в~версии~0.1k}. Добавлен +% \textrm{beta-temp}\footnote{Опять, как и~с~пакетом~\package{listpen}, +% я~надеюсь что подобная поддержка рано или поздно появится в~самом пакете +% \package{longtable} и~думаю, что лучше использовать названия +% аналогичные «мастер»-пакету.} пакет +% с~простыми добавлениями, которые позволяют создание специальной шапки +% для последней страницы таблицы \texttt{longtable} и~специального подвала +% для предпоследней. +% +% \DescribeMacro{\endlasthead} +% \DescribeMacro{\endprelastfoot} +%^^A%%^^A The command |\LTlastpage| defined by hand tells to \package{longtable}'s +%^^A%%^^A redefined macro the number of pages in longtable environment. +%^^A% The |\FBendlasthead| command defined for last head of longtable; the +%^^A% |\FBendprelastfoot| command defined for foot on the page before last. +%^^A% The syntax analogous as for commands |\endhead|, |\endfirsthead| etc. +%^^A% (See examples and additional explanation in the sample file +%^^A% \texttt{sample-longtable.tex} file.) +%^^A% Команда |\FBLTlastpage| определяется вручную, и~задаёт для изменённой +%^^A% команды \package{longtable} число страниц занятых окружением \texttt{longtable}. +% Команда |\endlasthead| определяет последнюю шапку для \texttt{longtable}; +% команда |\endprelastfoot| определяет подвал для предпоследней страницы. +% Синтаксис определения аналогичен командам |\endhead|, |\endfirsthead| и~т.\,д. +% (См.~примеры и~дополнительные разъяснения в~файле \texttt{sample-longtable.tex} +% приложенном к~данному пакету.) +% +%^^A% \DescribeMacro{\floatfoot} +%^^A% The footnote stuff inside \env{longtable} works like in main +%^^A% text and put text of footnotes +%^^A% at the bottom of page\footnote{See also \env{longtable} documentation.}. +%^^A% The command for legends or explications, |\floatfoot|, in current version +%^^A% inside \env{longtable} has emulation mode, and needs stuff, +%^^A% similar to |\multicolumn|\meta{n}\allowbreak|{@{}p{\textwidth}@{}}|\allowbreak +%^^A% |{\floatfoot{..}}|. Since default font definition for explications (|\floatfoot|) also +%^^A% set to |\footnotesize|, like for footnotes, you may put footnotes-emulations at this +%^^A% explication block, using |\mpfootnotemark| commands. +% Механизм создания сносок внутри окружения \env{longtable} работает как +% в~основном тексте и~помещает текст сносок +% вниз полосы\footnote{См.~также документацию к~пакету \package{longtable}.}. +% Команда экспликации, |\floatfoot|, внутри окружения \env{longtable} в~данной версии +% эмулируется и~для размещения экспликаций требуется код +% типа |\noalign{\floatfoot{...}}|. Кроме того, поскольку для экспликации по умолчанию задан +% шрифт |\footnotesize|, как и~для сносок, можно создать эмуляцию сносок +% в~таблице и~блоке экспликаций, используя команды |\mpfootnotemark|. +% +% +% \clearpage +%^^A% \subsection{The \package{wrapfig} Package}\label{ssec:wrapfig} +% \subsection{Пакет \package{wrapfig}}\label{ssec:wrapfig} % % \begingroup -% \def\FBaskip{-14pt} +% \def\FBaskip{-12pt} % \floatsetup[figure]{style=ruled,relatedcapstyle=yes,footposition=caption} -% \begin{wrapfigure}[13]{O}{48mm} +% \begin{wrapfigure}[10]{O}{42mm} %^^A \ffigbox[40mm] -% {\caption{Простой рисунок в оборку (пакет \pkg{wrapfig})}% +% {\caption{Простой рисунок в оборку (пакет \package{wrapfig})}% % \floatfoot{Обычный рисунок может не получиться в версии % 3.3}\label{fig:wrapfig:WcatI}} -% {\unitlength1.728\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\unitlength1.095\unitlength % \input{TheCat.picture}} % \end{wrapfigure} % -% Тестировано с версией 3.3 датированной 1999/10/12 -% (стиль из группы пакетов \pkg{ltxmisc}) -% и версией 3.6 датированной 2003/01/31 (отдельный пакет). +%^^A% Tested with version 3.3 dated 1999/10/12 (style from \package{ltxmisc} +%^^A% bundle) and 3.6 dated 2003/01/31 (the separate \LaTeX\ package). +% Тестировано с~версией 3.3 датированной 1999/10/12 +% (стиль из группы пакетов \package{ltxmisc}) +% и~версией 3.6 датированной 2003/01/31 (отдельный пакет). % +%^^A% Options for environment (text borrowed from package comments): % Аргументы при задании окружения (текст взят из комментариев -% к пакету): +% к~пакету): % \begin{quote} % |\begin{wrapfigure}%|\\* % \strut\quad\oarg{number}\marg{placement}|%|\\* @@ -2434,16 +4932,24 @@ % |...|\\* % |\end{wrapfigure}| % \end{quote} -% \meta{Placement} это может быть \texttt{r}, \texttt{l}, +%^^A% \meta{Placement} is one of \texttt{r}, \texttt{l}, \texttt{i}, +%^^A% \texttt{o}, \texttt{R}, \texttt{L}, \texttt{I}, \texttt{O}, for +%^^A% right, left, inside, outside. Lowercase letters set unfloated +%^^A% positioning, uppercase---floated variant. The figure sticks into +%^^A% the margin by \meta{overhang}, if given, or by the length +%^^A% |\wrapoverhang|, which is normally zero. The \meta{number} of +%^^A% wrapped text lines is normally calculated from the height of the +%^^A% figure, but may be specified manually, e.g. +% \meta{Placement} \cdash--- \texttt{r}, \texttt{l}, % \texttt{i}, \texttt{o}, \texttt{R}, \texttt{L}, \texttt{I}, -% \texttt{O}, для расположения справа, слева, к внутреннему полю, к -% внешнему полю. Строчные буквы задают неплавающее размещение, -% прописные "--- плавающий вариант. Рисунок может выступать -% в поле на величину \meta{overhang}, если она задана, -% или на величину заданную в параметре |\wrapoverhang|, -% который обычно равен нулю. Параметр \meta{number} задаёт число -% строк в оборку, которое обычно рассчитывается автоматически из -% высоты рисунка, но может быть задан и вручную, например +% \texttt{O}, для расположения справа, слева, к~внутреннему или +% внешнему полю. Строчные буквы задают неплавающие варианты, +% прописные \cdash--- плавающие. Рисунок может выступать +% в~поле на величину \meta{overhang}, если опция задана, +% выступ можно задать через параметр |\wrapoverhang|, +% обычно равный нулю. Параметр \meta{number} задаёт число +% строк в~оборку, которое обычно рассчитывается автоматически из +% высоты рисунка, но может быть задан и~вручную: % \begin{quote} % |\begin{wrapfigure}[10]{r}[34pt]{5cm}|\\* \meta{figure}\\* % |\end{wrapfigure}| @@ -2452,205 +4958,281 @@ % % \begingroup % \def\FBaskip{-14pt} -% \floatsetup[figure]{style=BOXED,frameset={\fboxsep9pt}} -% \begin{wrapfigure}{O}{0mm} -% \ffigbox[48mm] -% {\par{\setlength\unitlength{\hsize/64}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}}} -% {\caption{Рисунок в оборку с командой \cmd{\ffigbox} -% (пакет \pkg{wrapfig})}% +% \floatsetup[figure]{style=BOXED,frameset={\fboxsep6pt}} +% \begin{wrapfigure}[11]{o}{0mm} +% \ffigbox[40mm] +% {\par{\setlength\unitlength{.7\hsize/48}%^^A +% \input{Cat.picture}}} +% {\caption{Рисунок в~оборку с~командой \cmd{\ffigbox} +% (пакет \package{wrapfig})}% % \label{fig:wrapfig:WcatII}} % \end{wrapfigure} % -% \emph{Замечание Floatrow.} -% Для рисунка, помещённого в окружение \env{wrap...} вы должны -% задать ширину в обязательном аргументе. Если вы зададите -% |0mm| как аргумент \marg{width of figure}, пакет \pkg{wrapfig} -% рассчитает ширину по натуральной ширине содержимого объекта. -% -% Иногда над (под) флотом в окружении \env{wrap...} может появиться -% нежелательный пробел. Для корректировки вертикальной отбивки -% используйте определение команд |\FBaskip| и -% |\FBbskip| (см. разд.~\ref{sec:FBabskips}). -% -% \emph{Специальные настройки}. -% +%^^A% \emph{Floatrow note.} +%^^A% For figure, placed in \env{wrap...} environment you must set width +%^^A% in mandatory argument. If you'll write \texttt{0mm} as \marg{width +%^^A% of figure} argument, \package{wrapfig} package will count natural width +%^^A% of float contents. +% \emph{Замечание \textsf{floatrow}.} +% Для рисунка, помещённого в~окружение \env{wrap...} вы должны +% задать ширину в~обязательном аргументе. Если вы зададите +% |0mm| как аргумент \marg{width of figure}, пакет \package{wrapfig} +% рассчитает ширину по ширине объекта. +% +%^^A% Sometimes above (below) float box in \env{wrap...} environment +%^^A% appears unwanted space. To correct vertical position, use |\FBaskip| +%^^A% (|\FBbskip|) commands (see {\sectionname}~\ref{sec:FBabskips}). +% Иногда над (под) флотом в~окружении \env{wrap...} может появиться +% ненужный пробел. Для корректировки вертикальной отбивки +% используйте команды |\FBaskip| +% и~|\FBbskip| ({\sectionname}~\ref{sec:FBabskips}).\pagebreak[3] +% +%^^A% \emph{Special settings}. +% \emph{Специальные настройки}.\par\penalty10000 +% +%^^A% You may create settings for \env{wrap...} environment, there are +%^^A% following priorities +%^^A% (Please note that you can load also special caption settings with +%^^A% |\captionsetup| stuff.): % Вы можете создать настройки для окружения \env{wrap...}, здесь % существуют следующие приоритеты -% (обратите внимание, что вы можете задать и специальные настройки -% оформления подписей в команде |\captionsetup|.): +% (обратите внимание, что вы можете задать и~специальные настройки +% оформления подписей в~команде |\captionsetup|.): % \begin{itemize}\itemsep0pt +%^^A% \item % +%^^A% if exists |\floatsetup[wrap|\meta{captype}|]{...}| +%^^A% \package{floatrow} uses these settings---they are the ``strongest'' +%^^A% settings; if they absent---uses settings of next item; % \item % % если существуют настройки % |\floatsetup[wrap|\meta{captype}|]{...}| -% \pkg{floatrow} использует эти настройки "--- они <<сильнейшие>> +% \package{floatrow} использует эти настройки "--- они <<сильнейшие>> % настройки; если они отсутствуют "--- использует настройки из % следующего пункта; %^^A \end{itemize} % %^^A \begin{itemize} +%^^A% \item +%^^A% if exists |\floatsetup[wrapfloat]{...}| +%^^A% \package{floatrow} uses these settings---these settings ``stronger'' +%^^A% than next ones; if they absent---settings of current +%^^A% float\\[\medskipamount] +%^^A% |\floatsetup[|\meta{captype}|]{...}|\,;\\[\medskipamount] +%^^A% if they absent---uses default settings +%^^A% (|\floatsetup{...}| or package settings). % \item % если существуют настройки |\floatsetup[wrapfloat]{...}| -% \pkg{floatrow} использует эти настройки "--- эти настройки +% \package{floatrow} использует эти настройки "--- эти настройки % <<сильнее>> чем следующие; если они -% отсутствуют "--- настройки данного типа флотов\\[\medskipamount] -% |\floatsetup[|\meta{captype}|]{...}|\,;\\[\medskipamount] -% если и они отсутствуют "--- настройки по умолчанию +% отсутствуют "--- настройки данного типа флотов +% \begin{quote} +% |\floatsetup[|\meta{captype}|]{...}|\,; +% \end{quote} +% если и~они отсутствуют "--- настройки по умолчанию % (|\floatsetup{...}| или настройки пакета). % \end{itemize} % -% -% \emph{Обнаруженные ограничения}. -% -% Использование простого окружения в версии 3.3 не -% даст правильного результата с текущей версией \pkg{floatrow} -% "---используйте |\floatbox|. -% Версия 3.6 позволяет использование простых окружений -% \env{wrap...} со стилями \texttt{plain} (или -% \texttt{ruled}), но -% стили с рамками, как \texttt{Boxed} (где текст внутри рамки -% изменяет свою ширину под рамку, ширина которой равна -% текущему значению |\hsize|) -% может работать только с командой |\floatbox|, в противном -% случае вы получите некорректное -% оформление и ширину флота. +%\pagebreak[2] +%^^A% \emph{Founded limitations}. +% \emph{Обнаруженные ограничения}.\nopagebreak +% +%^^A% The usage of plain float environment in version 3.3 will +%^^A% not succeed with current version of \package{floatrow}---use |\floatbox| +%^^A% stuff. The version 3.6 allows usage of plain \env{wrap...} +%^^A% environment with \texttt{plain} (or \texttt{ruled}) styles, but +%^^A% the framed styles, like \texttt{Boxed} (where text inside frames +%^^A% changes its |\hsize| to fit frames, fitted to defined |\hsize|) +%^^A% could work only with |\floatbox| macro, otherwise you'll get +%^^A% incorrect widths and layout. +%^^A% \endgroup +% В~версии 3.3 нужно использовать команды |\floatbox|. +% В~версии 3.6 можно создавать простые окружения +% \env{wrap...} со стилями \hyperref[setup:plain]{\texttt{plain}} (или +% \hyperref[setup:ruled]{\texttt{ruled}}), но флоты +% со стилем типа \hyperref[setup:Boxed]{\texttt{Boxed}} (где текст объекта +% сужается под рамку) тоже +% нужно помещать в~|\floatbox|, иначе +% создастся неверная вёрстка. % \endgroup % % \begingroup % \floatsetup[figure]{style=WSHADOWBOX,captionskip=8pt} -% \subsection{Пакет \pkg{floatflt}} +%^^A% \subsection{The \package{floatflt} package}\label{ssec:floatflt} +% \subsection{Пакет \package{floatflt}}\label{ssec:floatflt} % -% \begin{floatingfigure}[v]{54mm}\def\FBaskip{-2.5pt} -% \ffigbox[54mm] -% {\setlength\unitlength{.85\hsize/60}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% \begin{floatingfigure}[v]{44mm}\def\FBaskip{-2.5pt} +% \ffigbox[44mm] +% {\setlength\unitlength{.85\hsize/60}%%^^A % \input{BlackDog.picture}} % {\caption{\hyphenpenalty-100\pretolerance-1% -% Рисунок в оборку внутри окружения \env{floating\-figure} -% (\pkg{floatflt})}\label{fig:floatflt:WcatI}} +% Рисунок в оборку внутри \env{floating\-figure} +% (\package{floatflt})}\label{fig:floatflt:WcatI}} % \end{floatingfigure}%\FBbuildtrue % -% \noindent Тестировалось с версией v.1.3, +%^^A% \noindent Tested with version v\kern-1pt.1.3 dated +%^^A% 1996/02/27\kern-1pt. +% \noindent Тестировалось с~версией v.1.3, % 1996/02/27. % -% \emph{Обнаруженные ограничения} 1)\enskip У данного пакета нет +%^^A% \emph{Founded limitations} 1)\enskip There is not support for +%^^A% creation of new \env{floating...} environment. Since \env{floatflt} +%^^A% environments need usage of |\floatbox| in any case, you can use +%^^A% either \env{floatingfigure} or \env{floatingtable} and put +%^^A% necessary float type in |\floatbox| argument (or use necessary +%^^A% macro-abbreviation). +% \emph{Обнаруженные ограничения} 1)\enskip У~пакета нет % поддержки для создания нового окружения \env{floating...}. % Но поскольку окружение \env{floatflt} -% требует использование команд |\floatbox| в любом случае, вы -% можете использовать как \env{floatingfigure} так и -% \env{floatingtable} и задавать необходимый -% тип флота в аргументе команды |\floatbox| (или использовать -% соответствующую пользовательскую команду, типа |\ffigbox|). +% требует использование команд |\floatbox| в~любом случае, вы +% можете использовать как команду \env{floatingfigure} так +% и~\env{floatingtable} и~задавать необходимый +% тип флота в~аргументе команды |\floatbox| (или использовать +% пользовательскую команду, типа |\ffigbox|). % % +%^^A% The next limitations could not tied with \package{floatrow} package. % Следующие ограничения могут быть не связаны с пакетом -% \pkg{floatrow}. +% \package{floatrow}. % +%^^A% 2)\enskip If you put \env{floatingfigure} environment just after +%^^A% |\...section| command you need (if you do not indentation after +%^^A% heads) to put |\noindent| for the first paragraph. % 2)\enskip Если вы поместите окружение \env{floatingfigure} сразу % после команд |\...section| вы должны (если вы не задаёте абзацного -% отступа после заголовков) поставить |\noindent| в первом абзаце. +% отступа после заголовков) поставить |\noindent| в~первом абзаце. % +%^^A% 3)\enskip The \env{floatflt} environments could fail with list +%^^A% environments. % 3)\enskip Окружения \env{floatflt} могут дать неверный результат -% с окружениями перечней (\env{list}). +% с~окружениями перечней (\env{list}). % +%^^A% 4)\enskip To get correct space before next |\...section| head you +%^^A% may need to put following commands +%^^A% |\makeatletter\@nobreakfalse\makeatother| (as was made in just +%^^A% before next section). % 4)\enskip Чтобы получить корректную отбивку перед заголовком % следующего раздела |\...section| вам % может быть придётся задать следующие команды; % |\makeatletter\@nobreakfalse\makeatother| (как было сделано -% в английской документации перед следующим разделом). +% в~английской документации перед следующим разделом). % -% \makeatletter\@nobreakfalse\makeatother +% \par\RestoreSpaces % -% \penalty-10000 +% %^^A\newpage % -% \subsection{Пакет \pkg{picins}} +%^^A% \subsection{The \package{picins} Package}\label{ssec:picins} +% \subsection{Пакет \package{picins}}\label{ssec:picins} % % \floatsetup[figure]{style=ruled} % % \parpic[l]{{%\def\floatrowsep{}\let\FBiffloatrow\iftrue -% \def\FBbskip{12pt} +% \def\FBaskip{6pt}\def\FBbskip{12pt} % \ffigbox[42mm] -% {{\setlength\unitlength{18mm/61}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{BlackCat.picture}}} +% {{\setlength\unitlength{12mm/61}%^^A +% \input{TheDog.picture}}} % {\caption{Рисунок в оборку (\cmd{\parpic}); -% \cmd{\floatbox} -% с опцией \cmd{\FBwidth}}\label{fig:parpic:BcatI}}% +% \cmd{\floatbox}}\label{fig:parpic:BcatI}}% % }} % +%^^A% \noindent Tested with version v\,3.0 dated 1999/10/12. % \noindent Тестировано с версией v\,3.0, 1999/10/12. % +%^^A% This package produces pictures inside paragraph. This package +%^^A% supports usage of captions with command |\piccaption|. It also allows +%^^A% the \package{caption} package settings. % Этот пакет создаёт рисунки внутри абзаца. Он предлагает -% использование подписей с помощью команд |\piccaption|. +% использование подписей с~помощью команд |\piccaption|. % Также он поддерживает настройки -% пакета \pkg{caption}. +% пакета \package{caption}. % -% В макрокоманде \cmd{\parpic} можно использовать макрокоманду +%^^A% The \cmd{\parpic} macro usually allows usage of |\floatbox| macro +%^^A% inside of its mandatory argument. +% В~макрокоманде \cmd{\parpic} можно использовать макрокоманду % |\floatbox| внутри обязательного % аргумента. % %^^A \emph{Founded limitations}.\nopagebreak % %^^A 1)\enskip In |\parpic| argument you ought to put before |\floatbox| -%^^A following commands:\\[\medskipamount] -%^^A |\def\floatrowsep{}|\allowbreak|\let\FBiffloatrow\iftrue|\\[\medskipamount] +%^^A following commands: +%^^A \begin{Quote}% +%^^A |\def\floatrowsep{}|\allowbreak +%^^A |\let\FBiffloatrow\iftrue| +%^^A \end{Quote}% %^^A to get correct layout. % -% Следующие ограничения могут быть не связаны с пакетом \pkg{floatrow}. +%^^A% The next limitations could not tied with \package{floatrow} package. +% Следующие ограничения могут быть не связаны с~пакетом \package{floatrow}. % %^^A \floatsetup[figure]{style=DOUBLEBOX} % %^^A \parpic[r]{{%\def\floatrowsep{}\let\FBiffloatrow\iftrue %^^A \hsize36mm %^^A \ffigbox[\hsize] -%^^A {{\setlength\unitlength{16mm/61}\ifx\pspicture\undefined -%^^A \else\psset{unit=\unitlength}\fi +%^^A {{\setlength\unitlength{16mm/61}%^^A %^^A \input{BlackCat.picture}}} %^^A {\caption{Wrapped figure (\cmd{\parpic})}\label{fig:parpic:BcatII}}% %^^A }} % +%^^A% 1)\enskip If you put \cmd{\parpic} just after |\...section| command +%^^A% you need (if you do not indentation after heads) to put |\noindent| +%^^A% for the first paragraph. % 1)\enskip Если вы задаёте \cmd{\parpic} сразу после команды |\...section| % вам придётся (если вы отменяете абзацный отступ после заголовков) % задать команду |\noindent| % для первого абзаца. % +%^^A% 2)\enskip You may try to use \cmd{\parpic} inside list environment, +%^^A% but in some cases usage of \cmd{\parpic} in +%^^A% the list gets bad or wrong layout. % 2)\enskip Вы можете попытаться использовать \cmd{\parpic} внутри % окружения перечня, -% но в некоторых случаях использование \cmd{\parpic} в окружении +% но в~некоторых случаях использование \cmd{\parpic} в~окружении % перечня может дать неверный результат. % +%^^A% 3)\enskip This package has not options \meta{outside} or +%^^A% \meta{inside}, like previous two packages (the option |[o]| means +%^^A% oval box around picture), so you ought to set horizontal position +%^^A% manually. % 3)\enskip Этот пакет не имеет опции \meta{outside} или % \meta{inside}, как предыдущие два пакета (опция |[o]| означает % овальную рамку вокруг картинки), поэтому вы должны задавать % горизонтальное расположение -% вручную. +% вручную. Или определить несложное условие, используя флаг |\ifodd|. % % \endgroup % -% \subsection{Пакет \pkg{rotating} и окружение -% \env{sideways\ldots}} +%^^A% \subsection{The \package{rotating} Package and \env{sideways\ldots} +%^^A% Environment}\label{ssec:rotating} +% \subsection{Пакет \package{rotating} и~окружение +% \env{sideways\ldots}}\label{ssec:rotating} % +%^^A% Tested with version v2.13 dated Sep. 1992. % Тестировано с версией v2.13 датированной Sep. 1992. % -% Далее идёт пример (рис.~\ref{fig:rot}) с развёрнутым вертикально +%^^A% There is example (figure~\ref{fig:rot}) with rotated float, using +%^^A% \env{sidewaysfigure}. +% Далее идёт пример (рис.~\ref{fig:rot}) с~развёрнутым вертикально % флотом, использующим окружение % \env{sidewaysfigure}. -%\begin{verbatim} -%\floatsetup[figure]{style=WSHADOWBOX} -%\begin{sidewaysfigure}\emptyfloatpage -%\ffigbox[\FBwidth] -%{\includegraphics[width=4in]{pslearn.eps}} -%{\caption{Figure inside \env{sidewaysfigure} environment}% -%\label{fig:rot}} -%\end{sidewaysfigure}% -%\end{verbatim} -% \floatsetup[figure]{style=WSHADOWBOX} +%\begin{Quote}\openup-.5pt +%\meta{preamble} +%|\floatsetup[|\hyperref[setup:rotfigure]{\texttt{rotfigure}}|]{|%^^A +% \hyperref[setup:style]{\texttt{style}}|=WSHADOWBOX}| +%\meta{preamble} +%|\begin{sidewaysfigure}\emptyfloatpage| +%|\ffigbox[\FBwidth]| +%| {...}| +%| {\caption{Figure ...}%| +%| \label{...}}| +%|\end{sidewaysfigure}%| +%\end{Quote} +% \floatsetup[rotfigure]{style=WSHADOWBOX} % \begin{sidewaysfigure}\emptyfloatpage % \ffigbox[\FBwidth] {\includegraphics[width=4in]{pslearn}} % {\caption{Рисунок развёрнутый вертикально внутри окружения % \env{sidewaysfigure}}% -% \label{fig:rot}} +% \label{fig:rot:ii}} % \end{sidewaysfigure}% % %^^A For rotating floats on right side (like in % %^^A current documentation) put in preamble @@ -2659,49 +5241,78 @@ % %^^A \end{quote} % % +%^^A% \emph{Special settings}.\nopagebreak % \emph{Специальные настройки}.\nopagebreak % +%^^A% You may create special settings for all rotated floats, which use +%^^A% \env{sideways...} environment (see page \pageref{stsetorder}). % Вы можете создать специальные настройки для всех флотов, % развёрнутых вертикально, которые используют % окружение \env{sideways...} (см.~с.~\pageref{stsetorder}). % +%^^A% For one-column rotated float % Для одноколонного флота -% \begin{itemize} +% \par\RestoreSpaces +% \begin{itemize}\itemsep0pt\parskip0pt +%^^A% \item % +%^^A% if exists |\floatsetup[rot|\meta{captype}|]{...}| +%^^A% package uses these settings---the ``strongest'' settings; if they +%^^A% absent---uses settings from next item; % \item % % если существуют настройки % |\floatsetup[rot|\meta{captype}|]{...}| % пакет использует эти настройки "--- <<сильнейшие>> настройки; % если они отсутствуют "--- % используются настройки из следующего пункта; +%^^A% \item +%^^A% if exists |\floatsetup[rotfloat]{...}| +%^^A% package uses these settings---these settings ``stronger'' than next +%^^A% ones; if they absent---settings for current float +%^^A% (|\floatsetup[|\meta{captype}|]{...}|); +%^^A% if they absent---uses default settings +%^^A% (|\floatsetup{...}| or package settings). % \item % если существуют настройки |\floatsetup[rotfloat]{...}| % пакет использует эти настройки "--- эти настройки <<сильнее>> чем -% следующие; если они отсутствуют "--- настройки для данного типа +% следующие; если они отсутствуют "--- настройки для % флота (|\floatsetup[|\meta{captype}|]{...}|); -% если и они отсутствуют "--- используются настройки по умолчанию -% в команде (|\floatsetup{...}| или настройки пакета). +% если и~они отсутствуют "--- используются настройки по умолчанию +% в~команде (|\floatsetup{...}| или настройки пакета). % \end{itemize} % -% Для флота вразрез двух колонок или широкого флота (|*|-окружение) -% \begin{itemize} +%^^A% For two-column or wide rotated float (starred environment) +% Для флота вразрез двух колонок или широкого флота («звёздное» окружение) +% \begin{itemize}\itemsep0pt\parskip0pt % \item % +%^^A% if exists |\floatsetup[widerot|\meta{captype}|]{...}| +%^^A% package uses these settings---the ``strongest'' settings; +%^^A% if they absent---uses settings of next item; % если существуют настройки % |\floatsetup[widerot|\meta{captype}|]{...}| % пакет использует эти настройки "--- <<сильнейшие>> настройкиt; % если они отсутствуют "---используются настройки из следующего % пункта; % \item % +%^^A% if exists |\floatsetup[widerotfloat]{...}| package +%^^A% uses these settings---these settings ``stronger'' than settings +%^^A% in next item; if they absent---uses settings of next item; % если существуют настройки |\floatsetup[widerotfloat]{...}| % пакет использует эти настройки "--- эти настройки <<сильнее>> % чем следующие; если они отсутствуют % "--- используются настройки из следующего пункта; % \item % +%^^A% if exists |\floatsetup[rot|\meta{captype}|]{...}| package +%^^A% uses these settings---these settings ``stronger'' than settings +%^^A% in next item; if they absent---uses settings of next item; % если существуют настройки % |\floatsetup[rot|\meta{captype}|]{...}| % пакет использует эти настройки "---эти настройки <<сильнее>> % чем следующие; если они отсутствуют % "---используются настройки из следующего пункта; % \item % +%^^A% if exists |\floatsetup[rotfloat]{...}| +%^^A% package uses these settings---these settings ``stronger'' than next +%^^A% ones; % если существуют настройки |\floatsetup[rotfloat]{...}| % пакет использует эти настройки "---эти настройки <<сильнее>> % чем следующие; @@ -2713,178 +5324,226 @@ % %^^A \item % % %^^A if exists |\floatsetup[widefloat]{...}| % %^^A package uses these settings; -% если они отсутствуют "--- настройки для данного типа флота +%^^A% if they absent---uses settings for current float +%^^A% (|\floatsetup|\marg{captype}|{...}|); +%^^A% if they absent---uses default settings +%^^A% (|\floatsetup{...}| or package settings). +% если они отсутствуют "--- настройки для флота % (|\floatsetup|\marg{captype}|{...}|); -% если и они отсутствуют "--- используются настройки по умолчанию -% в команде (|\floatsetup{...}| или настройки пакета). +% если и~они отсутствуют "--- используются настройки по умолчанию +% в~команде (|\floatsetup{...}| или настройки пакета). % \end{itemize} -% +%\enlargethispage{\baselineskip} +%^^A% \emph{Notes}.\nopagebreak % \emph{Замечания}.\nopagebreak % -% 1)\enskip Если вы помещаете два продолжающихся флота, развёрнутых -% вертикально, на развороте, лучше будет их собрать у корешкового -% поля. Для этого вы можете определить\footnote{Если пакет -% \pkg{rotating} использует опцию |[figuresright]|, см. также +%^^A% 1)\enskip If you place two continued rotated floats%^^A +%^^A% \FRmpar{Continued rotated floats}{FAD:ContRotated} on facing pages, +%^^A% the better way is to gather them to binder margin. For this reason you +%^^A% may define\footnote{In case of \package{rotating} package has |[figuresright]| +%^^A% option, see also files \file{frsample10.tex}--\file{frsample12.tex} +%^^A% and code in \file{fr-sample.tex}.} before first float +% 1)\enskip Если вы помещаете два продолжающихся флота,%^^A +% \FRmpar{Продолжающиеся развёрнутые флоты на развороте}{FAD:ContRotated} +% развёрнутых вертикально, на развороте, лучше будет их собрать +% у~корешкового поля. Для этого вы можете определить\footnote{Если пакет +% \package{rotating} использует опцию |[figuresright]|, см.~также % файлы примеров \file{frsample10.tex}--\file{frsample12.tex} -% и код файла \file{fr-sample.tex}.} до первого флота -% \begin{quote} +% и~код файла \file{fr-sample.tex}.} до первого флота\allowpostlistbreaks[2] +% \par\RestoreSpaces +% \begin{Quote} % |\buildFBBOX{\vbox to\rottextwidth\bgroup\vss}{\egroup}| -% \end{quote} -% а перед вторым -% \begin{quote} +% \end{Quote} +%^^A% and before second one +% а~перед вторым +% \begin{Quote} % |\buildFBBOX{\vbox to\rottextwidth\bgroup}{\vss\egroup}| -% \end{quote} +% \end{Quote} % \medskip +%^^A% The |\rottextwidth| dimension---here is saved |\textwidth| of +%^^A% document---the |\columnwidth| and |\textwidth| inside +%^^A% \texttt{sideways...} environment are redefined and equal to +%^^A% |\textheight|. % Величина |\rottextwidth| "---здесь сохранённое значение % |\textwidth| документа "--- параметры |\columnwidth| -% и |\textwidth| внутри окружения \texttt{sideways...} равны +% и~|\textwidth| внутри окружения \texttt{sideways...} равны % |\textheight|. % -% 2)\enskip В данном примере вы можете видеть команду -% |\emptyfloatpage|. Эта команда предлагается -% пакетом \pkg{floatpagestyle}, (инсталлируемым -% вместе с пакетом \pkg{floatrow}). Макрокоманда +%^^A% 2)\enskip In current example you may see command |\emptyfloatpage|.%^^A +%^^A% \FRmpar{Empty page style for rotated floats}{FAD:emptyfloatpage} +%^^A% It is offered by \package{floatpagestyle} package, (installed with +%^^A% \package{floatrow} package). Macro |\emptyfloatpage| is abbreviation of +%^^A% |\floatpagestyle{empty}|. The last macro redefines page style for +%^^A% the page where \emph{current} float environment appears. +% 2)\enskip В~данном примере вы можете видеть команду |\emptyfloatpage|.%^^A +% \FRmpar{Пустой колонтитул для развёрнутых флотов}{FAD:emptyfloatpage} +% Эта команда предлагается +% пакетом \package{floatpagestyle}, (инсталлируемым +% вместе с~пакетом \package{floatrow}). Макрокоманда % |\emptyfloatpage| является сокращением команды % |\floatpagestyle{empty}|. Последняя макрокоманда переопределяет % стиль страницы когда появляется на ней данное окружение флота. % -% Версия 0.1h добавляет дополнительный код к макрокоманде -% |\@outputpage| из ядра \LaTeX'а и я надеюсь что это будет +%^^A% The version 0.1h patches the core \LaTeX{} macro +%^^A% |\@outputpage|\footnote{At the start of document +%^^A% \package{floatpagestyle} package puts additional code at the very beginning +%^^A% of this output routine.} +%^^A% and I hope that it could work.\footnote{If you know more honest +%^^A% way to get the same result---the redefinition of \emph{alone} +%^^A% \emph{float} page style (in the case when this page can \emph{float} +%^^A% inside document)---please let me know.} Since this package uses +%^^A% |\label|---|\ref| mechanism, the |\floatpagestyle| command works +%^^A% after \emph{second} \LaTeX{} run. +% Версия 0.1h только добавляет дополнительный код к~макрокоманде +% |\@outputpage| из ядра \LaTeX'а и~я~надеюсь что это будет % работать.\footnote{Если вам известен более честный путь -% получить тот же результат "--- переопределение -% стиля отдельной страницы с плавающим флотом (учитывая, что и она +% получить тот же результат \cdash--- переопределение +% стиля отдельной страницы с~плавающим флотом (учитывая, что и~она % сама может плавать по документу) "--- дайте, пожалуйста, знать.} -% Поскольку пакет \pkg{floatpagestyle} использует +% Поскольку пакет \package{floatpagestyle} использует % механизм |\label|---|\ref|, команда |\floatpagestyle| даёт -% результат после \emph{второй} (и более) обработок \LaTeX'ом. +% результат после \emph{второй} (и~более) обработок \LaTeX'ом. % -% \subsection{Пакет \pkg{lscape} и окружение \env{landscape}} +% \RestoreSpaces +%^^A% \subsection{The \package{lscape} Package and \env{landscape} +%^^A% Environment}\label{ssec:lscape} +% \subsection{Пакет \package{lscape} и окружение \env{landscape}}\label{ssec:lscape} % -% Тестировалось с версией v3.0a датированной +%^^A% Tested with version v3.0a dated 1999/02/16.\nopagebreak +% Тестировалось с~версией v3.0a датированной % 1999/02/16.\nopagebreak % %\ifx\landscape\undefined\else % \ifx\landscape\relax\else +%^^A% The example with usage of \env{landscape} environment from +%^^A% \package{lscape} package on the page~\pageref{fig:rotrow:WcatI}, figures +%^^A% \ref{fig:rotrow:WcatI}--\ref{fig:rotrow:FcatI}): % Пример с использованием окружения \env{landscape} из пакета -% \pkg{lscape} на с.~\pageref{fig:rotrow:WcatI}, +% \package{lscape} на с.~\pageref{fig:rotrow:WcatI}, % рис.\ref{fig:rotrow:WcatI}--\ref{fig:rotrow:FcatI}): -%\begin{verbatim} -%\DeclareFloatVCode{lowthickrule}{\kern2pt\hrule height.8ptdepth0pt} -%\floatsetup[figure]{style=ruled,rowprecode=thickrule, -% rowpostcode=lowthickrule,capposition=TOP} -%\begin{landscape} -%\begin{figure}\emptyfloatpage -%... -%\end{verbatim} +% \par\RestoreSpaces +%\begin{Quote} +%\meta{preamble} +%|\DeclareFloatVCode{lowthickrule}{\kern2pt\rule{\hsize}{.8pt}}| +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=ruled,|%^^A +% \hyperref[setup:rowprecode]{\texttt{rowprecode}}|=thickrule,| +%| |\hyperref[setup:rowpostcode]{\texttt{rowpostcode}}|=lowthickrule,|%^^A +% \hyperref[setup:capposition]{\texttt{capposition}}|=TOP}| +%\meta{preamble} +%|\begin{landscape}| +%|\begin{figure}\emptyfloatpage| +%|...| +%\end{Quote} +%^^A% |\floatsetup| code sets \texttt{ruled} float style, +%^^A% then settings for above and below material are redefined: +%^^A% \texttt{rowprecode=} and \texttt{rowpostcode=} keys define thick +%^^A% rules but for floatrow as whole (the `individual' |\hrule|'s +%^^A% above/below float boxes absent). % Команда |\floatsetup| определяет стиль флота \texttt{ruled}, -% затем настройки для материала сверху и снизу переопределены: -% ключи \texttt{rowprecode=} и \texttt{rowpostcode=} определяют +% затем настройки для материала сверху и~снизу переопределены: +% ключи \texttt{rowprecode=} и~\texttt{rowpostcode=} определяют % толстые линейки для всего ряда рисунков (<<индивидуальные>> -% линейки сверху/снизу в ряду отменены). +% линейки сверху/снизу в~ряду отменены). %\fi\fi % -% +%^^A% The \env{landscape} environment creates a new page. It would be +%^^A% useful to start new section of document, e.g., appendix. (In current +%^^A% document it was placed just before appendix) % Окружение \env{landscape} создаёт новую страницу. Оно полезно для -% задания нового раздела документа, например, приложения. (В данном +% разворота целиком нового раздела документа, например, приложения. (В~данном % документе окружение было помещено перед приложением) % %^^A \emph{Founded limitations}.\nopagebreak %^^A The tested version works incorrect (does not rotates contents) -%^^A with \pkg{hypcap} package. +%^^A with \package{hypcap} package. % -% \subsection{Пакет \pkg{listings}} -% -% Тестировалось с версией v1.3 датированной 2004/09/07.\nopagebreak -% -% Этот пакет имеет свой сильный механизм создания плавающих -% алгоритмов. Использование команды |\lstset| и настроек пакета -% \pkg{caption} даст нужный результат оформления\footnote{Обратите -% внимание и прочтите документацию -% \pkg{caption}: кооперация пакета \pkg{caption}3.x -% и \pkg{listings} будет успешной только с версией -% последнего не ниже 1.2.} для флотов типа алгоритмов. -% -%\iffalse -% В случаях появления листингов внутри других окружений, -% например, внутри окружения \env{figure} со стилями использующими -% рамки, типа \texttt{Boxed} и \texttt{BOXED} -% и при предопределённой шириной флота, вы должны задать: -% \begin{quote} -% |\lstset{linewidth=\hsize}| -% \end{quote} -% в преамбуле, или прямо перед окружением \env{lstlisting}. -% Или в дополнительном аргументе -% окружения \env{lstlisting} "---здесь вы должны определить -% ширину следующим образом: -% \begin{quote} -% |\begin{lstlisting}[linewidth=\hsize]| -% \end{quote} -%\fi -% -% В случаях появления листингов внутри других окружений, которые -% оформляются пакетом \pkg{floatrow}, ограничение заключается -% в том, что вы не можете поместить окружение \env{lstlisting} -% внутрь команды |\floatbox|. -% -% \subsection{Пакет \pkg{longtable}} -% -% Был добавлен код в макрокоманду |\LT@array| из пакета -% \pkg{longtable}\footnote{Спасибо -% A. Sommerfeldt за помощь в создании компактного кода.}: -% этот код задаёт настройки того -% же шрифта, что и в таблицах в окружении \env{table}, -% а также при возможность задать ширину -% табличного заголовка в окружении \env{longtable} равной ширине -% таблицы. Для задания ширины -% табличного заголовка задан ключ. +%^^A% \subsection{The \package{listings} Package}\label{ssec:listings} +% \subsection{Пакет \package{listings}}\label{ssec:listings} % -% \DescribeMacro{LTcapwidth=} -% Этот ключ может иметь любое значение типа |5cm| или |\textwidth|. -% Если же вы зададите \texttt{LTcapwidth=table} или -% \texttt{LTcapwidth=contents}, -% ширина табличного заголовка будет равна ширине таблицы. Настройка -% ширины табличного заголовка в этом случае производится -% по информации из \texttt{aux}-файла, -% поэтому вы получите правильный результат только тогда, -% когда ширина всей таблицы будет -% стабильной. +%^^A% Tested with version v1.3 dated 2004/09/07.\nopagebreak +% Тестировалось с~версией v1.3 датированной 2004/09/07.\nopagebreak % -% Окружение \env{longtable} использует настройки, -% заданные в командах |\floatsetup[table]| -% и |\floatsetup[longtable]|. Настройки из |\floatsetup[longtable]| -% будет <<сильнейшими>> -% в этой паре. +%^^A% This package has its strong layout mechanism for creation for floating +%^^A% algorithms itself. The usage of |\lstset| command and \package{caption} +%^^A% package settings gives you necessary result\footnote{Please note and read +%^^A% \package{caption} documentation: the co-operation of \package{caption}3.x and +%^^A% \package{listings} succeeds with version of last one not older than 1.2.} +%^^A% for algorithm type of float. +% Этот пакет имеет свой сильный механизм создания плавающих +% алгоритмов. Использование команды |\lstset| и~настроек пакета +% \package{caption} даст нужный результат оформления\footnote{Обратите +% внимание и~прочтите документацию +% \package{caption}: кооперация пакета \package{caption}3.x +% и~\package{listings} будет успешной только с~версией +% последнего не ниже 1.2.} для флотов типа алгоритмов. % -% \subsection{Пакеты \pkg{hyperref} и \pkg{hypcap}} +%^^A% For the cases of appearance of listings inside of other float +%^^A% environments, which get settings from \package{floatrow}package, +%^^A% there is a limitation: you can't put \env{lstlisting} inside +%^^A% |\floatbox| contents. +% В~случаях появления листингов внутри других окружений, которые +% оформляются пакетом \package{floatrow}, ограничение заключается +% в~том, что вы не можете поместить окружение \env{lstlisting} +% внутрь команды |\floatbox|. % -% Тестированы версии v6.74i (\pkg{hyperref}) и v1.3 (\pkg{hypcap}). +%^^A% \subsection{The \package{hyperref} and \package{hypcap} Packages} +% \subsection{Пакеты \package{hyperref} и \package{hypcap}} % -% Пакет \pkg{floatrow} пытается не распространять свой -% код на команды |\caption|. Я надеюсь что окружения, поддерживаемые -% пакетом \pkg{floatrow} не навредят тандему пакетов -% \pkg{caption}---\pkg{hyperref}/\pkg{hypcap}. +%^^A% There were tested versions v6.74i (\package{hyperref}) +%^^A% and v1.3 (\package{hypcap}). +% Тестированы версии v6.74i (\package{hyperref}) и v1.3 (\package{hypcap}). % -% \subsection{Несовместимости} +%^^A% The \package{floatrow} tries not to expand its code to |\caption| stuff. +%^^A% I hope that environments supported by \package{floatrow} won't +%^^A% make harm to \package{caption}---\package{hyperref}/\package{hypcap} tandem. +% Пакет \package{floatrow} пытается не распространять свой +% код на команды |\caption|. Я~надеюсь что окружения, поддерживаемые +% пакетом \package{floatrow} не навредят тандему пакетов +% \package{caption}---\package{hyperref}/\package{hypcap}. % -% Несовместимости в первую очередь совпадают с несовместимостями -% пакета \pkg{caption} 3.x: -% \begin{quote} -% \pkg{ccaption}, \pkg{hvfloat}, \pkg{nonfloat} -% \end{quote} +%^^A% \subsection{The Incompatibilities} +% \subsection{Несовместимости} % -% Известная несовместимость пакета \pkg{floatrow} "--- это пакет -% \pkg{sidecap}\footnote{Несмотря на это я пыталась получить +%^^A% The incompatibilities at first could follow the incompatibilities of +%^^A% \package{caption} 3.x package: +% Несовместимости в~первую очередь совпадают с~несовместимостями +% пакета \package{caption} 3.x: +% \begin{Quote} +% \package{ccaption}, \package{hvfloat}, \package{nonfloat}, \package{captcont}, \package{ccaption}, +% \package{ftcapt}, (\package{hvfloat}), \package{multicap}, \package{topcapt}, \package{nonfloat} +% \end{Quote} +% +%^^A% The known incompatibilities of \package{floatrow} package itself: +%^^A% \quad 1)\nobreak\enskip \package{sidecap} package\footnote{Despite that +%^^A% I'm trying to follow all offered layouts of this package. Great thanks +%^^A% for Rolf Niepraschk and Hubert G\"{a}\ss{}lein for package with +%^^A% rich implementation of such float +%^^A% layouts.}: the \package{floatrow} package doesn't expands its +%^^A% layouts to \env{SCfigure} and \env{SCtable} environments. +%^^A% \quad 2)\nobreak\enskip \package{ctable} package; if you used to use +%^^A% \package{ctable}'s tools, e.g. for tables, please set |\RawFloats[table]| +%^^A% in the preamble, and remember that commands like |\ttabbox| won't +%^^A% loose its strength (see also {\sectionname}~\ref{sec:rawfloats}). +% Известные несовместимости пакета \package{floatrow} \quad 1)\nobreak\enskip это пакет +% \package{sidecap}\footnote{Несмотря на это я~пыталась получить % все предложенные этим пакетом оформления размещения подписей -% сбоку. Большое спасибо Rolf Niepraschk и Hubert G\"{a}\ss{}lein -% за пакет в котором дана полная гамма таких оформлений.}: -% пакет \pkg{floatrow} не распространяет -% своё оформление на окружения \env{SCfigure} и \env{SCtable}. +% сбоку. Большое спасибо Rolf Niepraschk и~Hubert G\"{a}\ss{}lein +% за пакет в~котором дана полная гамма таких оформлений.}: +% пакет \package{floatrow} не распространяет +% своё оформление на окружения \env{SCfigure} и~\env{SCtable}. +% \quad 2)\nobreak\enskip пакет~\package{ctable}; если вы привыкли использовать +% инструменты \package{ctable}, например. для таблиц, задайте |\RawFloats[table]| +% в~преамбуле, и~помните, что команды типа |\ttabbox| не +% теряют своей силы (см.~также {\sectionname}~\ref{sec:rawfloats}). % % \addtocontents{toc}{\string\pagebreak[3]} +%^^A% \section{Limitations} % \section{Ограничения} % +%^^A% There are known limitations, which were found during usage of +%^^A% \package{floatrow}: % Здесь даны ограничения, которые были обнаружены при пользовании -% пакетом \pkg{floatrow}: +% пакетом \package{floatrow}: % \begin{itemize} % %^^A \item % % %^^A Limitations for boxed and ruled styles in beside floats: @@ -2894,93 +5553,145 @@ % %^^A added \texttt{minipage} could get wrong layout (vertical % %^^A alignment). But, as I found, you may use a few % %^^A \texttt{minipage}s in object without harm. +%^^A% \item % +%^^A% You cannot use |\floatbox| stuff for floats with \texttt{verbatim} +%^^A% environment and/or |\verb|. % \item % % Вы не можете использовать команды типа |\floatbox| для флотов -% с окружением \texttt{verbatim} или командой |\verb|. +% с~окружением \texttt{verbatim} или командой |\verb|. % \item % +%^^A% This limitation was mentioned above: some tools of the package use +%^^A% |\label|---|\ref| mechanism, thus, if you use float layout which +%^^A% demands common height of objects and/or captions in float row, +%^^A% you'll get correct result after second or more runs. If you change +%^^A% contents of float which change its height you must run \LaTeX{} +%^^A% twice or more times too. % Это ограничение упоминалось выше: пакет использует механизм % |\label|---|\ref|, поэтому, если вы используете оформление, % которое требует задания общей высоты для объектов и/или подписей -% в ряду флотов, вы получите верный результат только после второй -% (и более) обработки. Если вы измените содержимое так, +% в~ряду флотов, вы получите верный результат только после второй +% (и~более) обработки. Если вы измените содержимое так, % что изменяется высота объекта/подписи вы также должны -% обработать \LaTeX'ом дважды и более раз. +% обработать \LaTeX'ом дважды и~более раз. % -% Подписи сбоку и другое оформление для разворотов также даст верный -% результат только после второй (и более) обработки \LaTeX'ом. +%^^A% Beside captions and other facing layout will appears correctly only +%^^A% after second \LaTeX's run (sometimes you need to run more times). +% Подписи сбоку и~другое оформление для разворотов также даст верный +% результат только после второй (и~более) обработки \LaTeX'ом. % \item % -% Версия 3.0a (и выше) пакета \pkg{caption} и пакет -% \pkg{floatrow} не поддерживают дополнительный аргумент +%^^A% The version 3.0a (and newer) of \package{caption} package and +%^^A% \package{floatrow} package do not support optional argument \emph{after} +%^^A% caption ``title''. You may use |\floatfoot| +%^^A% macro after main caption argument. +% Версия 3.0a (и~выше) пакета \package{caption} и~пакет +% \package{floatrow} не поддерживают дополнительный аргумент % \emph{после} текста подписи. Вы можете использовать команду % |\floatfoot| вместо этого. % \item % +%^^A% Do not use |\FBwidth| option for complex float contents (which you +%^^A% could not put inside |\hbox|). (But you allowed to use |\vspace| +%^^A% macro at the very end/very beginning of object contents for fine +%^^A% vertical tuning.) % Не используйте команду |\FBwidth| для сложного содержимого флота % (которое вы не можете поместить внутри |\hbox|). (Но вы можете -% использовать команды |\vspace| в самом начале или в -% самом конце содержимого объекта для корректировки отбивок.) +% использовать команды |\vspace| в~самом начале или +% в~самом конце содержимого объекта для корректировки отбивок.) % \item % -% Внутри окружения \env{floatrow} возможны пробелы (и даже +%^^A% The \texttt{floatrow} environment allows spaces (and even empty +%^^A% lines, which sometimes create better and correct result!) between +%^^A% |\floatbox|'es, but if you add some code between them you +%^^A% must put |%| after this command. +% Внутри окружения \env{floatrow} возможны пробелы (и~даже % пустые строки, что даёт иногда более корректный результат!) между % командами |\floatbox|, но если вы добавите код между флотами, вы % должны поставить знак процента |%| после такой команды. % \item % -% Это общее правило "--- будьте внимательны с пробелами в конце -% строк внутри окружения флота (см. документ +%^^A% This is common rule---be careful with spaces at the end of lines +%^^A% inside float contents (see \texttt{CTAN:/info/epslatex.ps} for more +%^^A% explanations). +% Это общее правило "--- будьте внимательны с~пробелами в~конце +% строк внутри окружения флота (см.~документ % \texttt{CTAN:/info/epslatex.ps} для % дополнительной информации). % +%^^A% When you build plain float environment the better way is to separate +%^^A% |\caption| and object contents (and also +%^^A% |\floatfoot|/|\footnotetext| contents) each by empty lines or (if +%^^A% not empty lines) end each part (and arguments of mentioned commands) +%^^A% by percent sign. In this case you'll avoid unwanted spaces/lines at +%^^A% the end of contents of each part, or wrong justification of float +%^^A% components. % Когда вы строите простое окружение (без |\floatbox|) лучше всего -% разделить |\caption| и содержимое объекта (а заодно и содержимое +% разделить |\caption| и~содержимое объекта (а~заодно и~содержимое % |\floatfoot|/|\footnotetext|) каждое пустой строкой или (если не -% пустые строки) завершить каждую часть (и аргументы указанных -% команд) знаком процента. В этом случае вы избежите ненужных -% пробелов и пустых строк в конце каждой из частей, или неверную +% пустые строки) завершить каждую часть (и~аргументы указанных +% команд) знаком процента. В~этом случае вы избежите ненужных +% пробелов и~пустых строк в~конце каждой из частей, или неверную % выключку содержимого объекта. % %^^A \item % % %^^A Usage of fancy boxes \texttt{shadowbox} and % %^^A \texttt{wshadowbox} could get wrong layout with % %^^A beside captions. % \item Если вы используете внутри команды |\floatbox| окружения -% \env{tabularx} или \env{tabular*} (или им подобные) с командой +% \env{tabularx} или \env{tabular*} (или им подобные) с~командой % |\hsize| внутри аргумента \meta{width}, вы должны повторить -% аргумент |\hsize| в аргументе \meta{width} команды |\floatbox|. -% +% аргумент |\hsize| в~аргументе \meta{width} команды |\floatbox|. +% +%^^A% If you want to set width of \env{tabularx} or \env{tabular*} +%^^A% environments (or any other) like |.8\hsize| (or |1.2\hsize|) and +%^^A% these environments placed inside any |\floatbox| macro, load +%^^A% |.8\hsize| in \meta{width} argument of |\floatbox| macro, and in +%^^A% \meta{width} argument of \env{tabularx} or \env{tabular*} load only +%^^A% |\hsize| macro (see also sample file \file{frsample03.tex}). % Если вы хотите задать ширину окружения \env{tabularx} или -% \env{tabular*} (или другого) как |.8\hsize| (или |1.2\hsize|) и -% эти окружения помещены внутри команды |\floatbox|, поместите -% |.8\hsize| в аргумент \meta{width} макрокоманды |\floatbox| (или -% другой), а в аргументе \meta{width} команды \env{tabularx} или +% \env{tabular*} (или другого) как |.8\hsize| (или |1.2\hsize|) +% и~эти окружения помещены внутри команды |\floatbox|, поместите +% |.8\hsize| в~аргумент \meta{width} макрокоманды |\floatbox| (или +% другой), а~в~аргументе \meta{width} команды \env{tabularx} или % \env{tabular*} поставьте только % |\hsize| (см. также код файла \file{frsample03.tex}). % -% В иных случаях (особенно при использовании необычных оформлений) +%^^A% In other cases (especially in fancy layout or settings) be careful +%^^A% with usage of |\hsize| as \meta{width} option of |\floatbox|. +% В~иных случаях (особенно при использовании необычных оформлений) % будьте внимательны при использовании % |\hsize| как опции \meta{width} команды |\floatbox|. % \end{itemize} % % \addtocontents{toc}{\string\nopagebreak} % +%^^A% \section{Acknowledgements} % \section{Благодарности} % -% Спасибо Steven Cochran и Axel Sommerfeldt за советы и поддержку. +%^^A% Thanks for Steven Cochran and Axel Sommerfeldt for all their advices +%^^A% and spirit. Special thanks for Axel for the patient answering, code, and +%^^A% help in \emph{all} my questions and problems in \package{floatrow} package. +% Спасибо Steven Cochran и~Axel Sommerfeldt за советы и~поддержку. % Особая благодарность Axel Sommerfeldt за терпеливые ответы, код, -% и помощь во \emph{всех} вопросах и проблемах в пакете -% \pkg{floatrow}. +% и~помощь во \emph{всех} вопросах и~проблемах в~пакете +% \package{floatrow}. % % \medskip\noindent +%^^A% Thanks for \emph{all} involuntary (\La)\TeX{} teachers, who teaches +%^^A% me with their program code all these years. % Спасибо \emph{всем} невольным учителям по (\La)\TeX'у, кто обучал % меня программному коду всё время. % % \medskip\noindent +%^^A% Thanks for Keith Reckdahl, author of \file{epslatex}, which +%^^A% documentation, at last, encouraged me to create the CTAN version of +%^^A% this package. % Спасибо Keith Reckdahl, автору документации \file{epslatex}, -% которая, в конце концов, дала отвагу поместить создать версию +% которая, в~конце концов, дала отвагу поместить создать версию % пакета для CTAN. % % \medskip\noindent +%^^A% \emph{Thanks for \emph{all} authors of second edition of \LaTeX{} +%^^A% Companion for this book.} % \emph{Спасибо \emph{всем} авторам второго издания \LaTeX{} % Companion за эту книгу.} % -%\ifx\landscape\undefined\else +%\ifx\landscape\undefined\else\begingroup % \ifx\landscape\relax\else % \clearfloatsetup{figure} % \floatsetup[figure]{style=ruled,rowprecode=thickrule, @@ -2992,154 +5703,76 @@ % % \begin{figure}\emptyfloatpage % -% \begin{floatrow}[4] +% \begin{floatrow}[4]\label{example:ruledcapposTOP}%^^A % \ffigbox[][][t] % {{\input{TheCat.picture}}%^^A % \footnotetext[1]{Картинка % нарисована макрокомандой % \cmd{\qbezier}}}% -% {\caption[Рисунок рядом~I, внизу бокса объекта]% +% {\caption[Рисунок в~ряду~I, внизу бокса объекта]% % {Рисунок рядом~I, внизу бокса объекта\protect\mpfootnotemark}% % \label{fig:rotrow:WcatI}}% % % \floatbox{figure}[2\FBwidth][][b] -% {\caption{Рисунок рядом~II, вверху бокса объекта}% +% {\caption{Рисунок в~ряду~II, вверху бокса объекта}% % \label{fig:rotrow:BcatI}% % \floatfoot{Всё нарисовано макрокомандами \cmd{\qbezier} и двумя % вертикальными линиями}}% % {\input{BlackCat.picture}}% % % \ffigbox[\FBwidth] -% {{\unitlength2.5\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}\footnote[2] +% {{\unitlength2.5\unitlength +% \input{Cat.picture}}\footnote[2] % {Гляньте на чудную сноску!}} -% {\caption{Рисунок рядом~III, в центре бокса объекта}% +% {\caption{Рисунок в~ряду~III, в центре бокса объекта}% % \label{fig:rotrow:mouseI}\floatfoot{Изображение мыши}}% % % \floatbox{figure}[\Xhsize][\Mylen] -% {\caption{Рисунок рядом~IV}\label{fig:rotrow:FcatI}} +% {\caption{Рисунок в~ряду~IV}\label{fig:rotrow:FcatI}} % {\Resizebox\hsize\vsize{35}{136}{\input{BlackCat2.picture}}} % \end{floatrow} % % \end{figure} % % \end{landscape} -%\fi\fi +%\endgroup\fi\fi % % \clearpage % \suppressfloats[t] +%^^A% \section{Appendix} % \section{Приложение} % % \subsection{Miscellaneous} % -% \subsubsection{Смешанные ряды} -% -% \floatsetup[figure]{style=Boxed,midcode=captionskip, -% frameset={\fboxsep12pt\fboxrule1pt}} -% Иногда автор (или дизайнер) желает поместить разные типы флотов, -% например, таблицу и рисунок рядом в одном ряду. Такая ситуация -% создаёт некоторые проблемы. -% -% Первая проблема заключается в том, что вы должны поместить разные -% типы флотов в одно окружение флота, которое задаёт своё оформление -% для содержимого. Для создания верного оформления задайте команду -% |\killfloatstyle| в начале окружения \env{floatrow} -% или до первой <<чужой>> макрокоманды |\floatbox| (в данном -% примере "--- до |\ttabbox|; команда |\ffigbox| является -% <<родной>> для окружения \env{figure}). -% -% Следующая проблема состоит в том, что подпись к рисункам обычно -% помещают снизу, а табличный заголовок помещается сверху таблиц. -% Выравнивание всех флотов одинаково: по нижней линии верхней части и -% по верхней "--- у нижней. В таком случае, если вы захотите -% поместить такие рисунок и таблицу, -% вы получите не лучший вариант вёрстки. В таких ситуациях -% вы можете использовать одну из приведённых команд: -%\begin{verbatim} -%\CenterFloatBoxes -%\TopFloatBoxes -%\BottomFloatBoxes -%\end{verbatim} -% Которые выравнивают флоты \emph{целиком} по центральной линии, -% по верху или по низу. Эти команды -% были созданы командой |\buildFBBOX|. Существует -% также команда |\PlainFloatBoxes|, которая восстанавливает -% <<поведение>> флотов внутри команд |\floatbox|. -% -% Использование |\CenterFloatBoxes| и |\killfloatstyle| вы видите -% в смешанном ряду, состоящем из рис.~\ref{fig:rowmixspec:WcatI} и -% табл.~\ref{tab:rowmixspec:tabI}\label{mixrow}: -% \DeleteShortVerb{\|}% -% \begin{figure} -% \begin{floatrow} -% \CenterFloatBoxes \killfloatstyle -% \ffigbox[\FBwidth] -% {{\unitlength1.15\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}}} -% {\caption{Рисунок (\texttt{Boxed} style) рядом с таблицей -% (центрирован вертикально)}\label{fig:rowmixspec:WcatI}}% -% \extrarowheight1pt -% \ttabbox -% {\caption{Таблица рядом с рисунком в стиле \texttt{Boxed} -% (центрирована вертикально)}\label{tab:rowmixspec:tabI}} -% {\begin{tabular}{|l|c|c|c|} -% \hline -% \multirowthead{2}[-1ex]{Column Head} -% & \multicolumn{3}{c|}{\thead{Data}} \\ -% \cline{2-4} -% & \thead{I} -% & \thead{II} -% & \thead{III} \\ -% \hline -% First row & 1 & 2 & \phantom01 \\ -% Second row & 3 & 4 & \phantom06 \\ -% Third row & 6 & 8 & 28 \\ -% \hline -% \end{tabular}} -% \end{floatrow} -% \end{figure} -% \MakeShortVerb{\|}% -%\begin{verbatim} -%\begin{figure} -%\begin{floatrow} -%\CenterFloatBoxes\killfloatstyle -%\ffigbox[\FBwidth] -% ... -%\ttabbox -% ... -%\end{verbatim} -% -% \emph{Замечание.} Как рисунок, так и таблица имеют ширину, равную -% содержимому объектов. Команда |\ffigbox| имеет дополнительный -% аргумент |[\FBwidth]|, но у команды |\ttabbox| нет никакой опции -% "--- опция |[\FBwidth]| используется по умолчанию (см. определения -% на с.~\pageref{abbrcom}). -% -% -% \subsubsection{Использование команд Captionsetup и Thisfloatsetup -% внутри дополнительного аргумента команды Floatbox} -% -% Пример рисунков рядом (рис.~\ref{floatbox:FR:lfig} и -% \ref{floatbox:FR:fig}). В примере были использованы +%^^A% \subsubsection{Usage of Captionsetup +%^^A% Inside Floatbox Stuff}\label{ssec:app:besidestart} +% \subsubsection{Captionsetup и~Thisfloatsetup +% в~опции команды Floatbox}\label{ssec:app:besidestart} +% +%^^A% Example of figures in row (figures~\ref{floatbox:FR:lfig} and +%^^A% \ref{floatbox:FR:fig}). There were used predefined float commands +%^^A% |\fcapsideleft| and |\fcapsideright| with added |\captionsetup| and +%^^A% |\thisfloatsetup|: +% Пример рисунков рядом (рис.~\ref{floatbox:FR:lfig} +% и~\ref{floatbox:FR:fig}). В~примере были использованы % предопределённые команды -% постройки флотов |\fcapsideleft| и |\fcapsideright|, в которых -% добавлены команды |\captionsetup| и |\thisfloatsetup|: -%\begin{verbatim} -%\newfloatcommand{fcapsideleft}{figure}[{\capbeside -% \captionsetup[capbesidefigure]{format=break,labelsep=none, -% justification=raggedleft}% -% \thisfloatsetup{capbesideposition=left}}]% -% [\FBwidth] -%\newfloatcommand{fcapsideright}{figure}[{\capbeside -% \captionsetup[capbesidefigure]{format=break,labelsep=none, -% justification=raggedright}% -% \thisfloatsetup{capbesideposition=right}}]% -% [\FBwidth] -%\end{verbatim} +% постройки флотов |\fcapsideleft| и~|\fcapsideright|, в~которых +% добавлены команды |\captionsetup| и~|\thisfloatsetup|: +%\begin{Quote} +%|\newfloatcommand{fcapsideleft}{figure}[{\capbeside| +%| \captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedleft}%| +%| \thisfloatsetup{capbesideposition=left}}]%| +%| [\FBwidth]| +%|\newfloatcommand{fcapsideright}{figure}[{\capbeside| +%| \captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedright}%| +%| \thisfloatsetup{capbesideposition=right}}]%| +%| [\FBwidth]| +%\end{Quote} % -% \clearfloatsetup{figure} \floatsetup[figure] +% \clearfloatsetup{figure} +% \floatsetup[figure] % {style=Boxed,capposition=beside,objectset=centering, % floatwidth=\columnwidth,capbesidewidth=5.75cc, % capbesidesep=cicero,margins=centering, @@ -3148,102 +5781,132 @@ % \begin{figure}[b!] % \begin{floatrow} % \fcapsideleft -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% {\unitlength1.44\unitlength +% \input{Cat.picture}} +% {\caption[Флот в~ряду с~подписью сбоку (бокс графики по её ширине)]{%^^A % Флот (\cmd{\fcapsideleft}) бокс для объекта % имеет ширину включённой графики}\label{floatbox:FR:lfig}}% % \hsize\Xhsize \fcapsideright[\hsize] -% {\setlength\unitlength{\hsize/61}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\setlength\unitlength{\hsize/61}%%^^A % \input{BlackCat.picture}}% -% {\caption{%^^A +% {\caption[Флот в~ряду с~подписью сбоку (занимает оставшееся место)]{%^^A % Флот (\cmd{\fcapsideright}) % ширина всего флота занимает оставшееся пространство в ряду}%^^A % \label{floatbox:FR:fig}}% % \end{floatrow}% % \end{figure}% % Формат подписи \texttt{break} был определён следующим образом: -%\begin{verbatim} -%\DeclareCaptionFormat{break}{#1#2\par#3\par} -%\end{verbatim} +%\begin{Quote} +%|\DeclareCaptionFormat{break}{#1#2\par#3\par}| +%\end{Quote} % +%^^A% For these figures created following \verb|\floatsetup| settings: % Для этих рисунков были заданы следующие настройки в команде \verb|\floatsetup|: -%\begin{verbatim} -%\floatsetup[figure] -% {style=Boxed,capposition=beside, -% objectset=centering,floatwidth=\columnwidth, -% capbesidewidth=5.75cc,capbesidesep=cicero,margins=centering, -% capbesideframe=yes,floatwidth=sidefil} -%\end{verbatim} +%\begin{Quote} +%|\floatsetup[figure]| +%| {style=Boxed,capposition=beside,| +%| objectset=centering,floatwidth=\columnwidth,| +%| capbesidewidth=5.75cc,capbesidesep=cicero,margins=centering,| +%| capbesideframe=yes,floatwidth=sidefil}| +%\end{Quote} +%^^A% The key \texttt{floatwidth=sidefill} means that in the case of +%^^A% caption has predefined width, object occupies the rest space of +%^^A% \verb|\hsize| (in the case of no \meta{width} option used, or used +%^^A% \verb|\hsize| option). % Ключ \texttt{floatwidth=sidefill} означает, что в случае заданной % ширины для подписи сбоку, объект занимает остальное место % \verb|\hsize| (если не задана опция \meta{width}, или используется % опция \verb|\hsize|). % +%^^A% Left figure uses width of graphics, left one occupies the rest of +%^^A% float row---for this reason just before \verb|\fcapsideright| +%^^A% command was written tricky setting: % Правый рисунок использует ширину графики, левый занимает -% остальное место в ряду "--- для этого перед командой -% \verb|\fcapsideright| была задана команда: -%\begin{verbatim} -%\hsize\Xhsize -%\end{verbatim} -% которая, в случае подписи сбоку определяет ширину всего флота. -% -% В качестве опции ширины по умолчанию, \meta{width}, в командах -% \verb|\fcapsideleft| и \verb|\fcapsideright| задана команда +% остальное место в~ряду "--- для этого перед командой +% \verb|\fcapsideright| была задана команда:\allowpostlistbreaks[-4] +%\begin{Quote} +%|\hsize\Xhsize| +%\end{Quote} +%^^A% which, in case of caption placed beside float object defines width +%^^A% of full float box. +% которая, в случае подписи сбоку определяет ширину всего флота.\allowpostlistbreaks +% +%^^A% The default \meta{width} option of \verb|\fcapsideleft| and +%^^A% \verb|\fcapsideright| commands is \verb|\FBwidth|, so for +%^^A% figure~\ref{floatbox:FR:fig} on the right (created by +%^^A% \verb|\fcapsideright| command) in the \meta{width} option was set +%^^A% \verb|\hsize| command to fill the rest space of float row. +% В~качестве опции ширины по умолчанию, \meta{width}, в~командах +% \verb|\fcapsideleft| и~\verb|\fcapsideright| задана команда % \verb|\FBwidth|, поэтому для рисунка~\ref{floatbox:FR:fig} -% справа (созданном командой \verb|\fcapsideright|) в опции +% справа (созданном командой \verb|\fcapsideright|) в~опции % \meta{width} задана команда -% \verb|\hsize|, чтобы заполнить остальное пространство в ряду. +% \verb|\hsize|, чтобы заполнить остальное пространство в~ряду. % -% Поскольку в стиле флота ключ \texttt{heightadjust=object} -% (заданный в определения стиля \texttt{Boxed}), оба объекта +%^^A% Since in float style the key \texttt{heightadjust=object} (included +%^^A% in definition of \texttt{Boxed} style), both objects have the same +%^^A% height. +% Поскольку в~стиле флота ключ \texttt{heightadjust=object} +% (заданный в~определения стиля \texttt{Boxed}), оба объекта % имеют одинаковую высоту. % +%^^A% \subsubsection{Predefined Beside Caption Width} % \subsubsection{Предопределённая ширина подписи сбоку} % +%^^A% This example includes |\useFCwidth| command, which switches on usage +%^^A% of previously defined caption width with \texttt{capbesidewidth=} key +%^^A% (in command |\thisfloatsetup| before |\floatbox| macro) or, if you +%^^A% didn't set caption width (like in current example), macro counts natural +%^^A% width of caption contents (see figure~\ref{fig:Idog:w}\footnote{Inside +%^^A% \cmd{\floatbox} you may not set predefined width of caption, but remember +%^^A% that you \emph{must} define width of caption in case of usage of plain +%^^A% float environment.}). The object---caption box in this case aligned +%^^A% using alignment settings from |margins| key (its options defined +%^^A% by |\setfloatmargins| or |\floatcapbesidemargins| macro). In this +%^^A% documentation they are centered (see page~\\pageref{setup:DeclareMarginSet}). % Этот пример включает команду |\useFCwidth|, которая включает -% предварительно определённую ширину подписи с заданным значением +% предварительно определённую ширину подписи с~заданным значением % ключа \texttt{capbesidewidth=} -% в команде |\thisfloatsetup| до команды |\floatbox|) или, если +% в~команде |\thisfloatsetup| до команды |\floatbox|) или, если % вы не определили ширину подписи -% (как в данном примере), рассчитывается натуральная ширина подписи +% (как в~данном примере), рассчитывается натуральная ширина подписи % (см. рис.~\ref{fig:Idog:w}\footnote{Внутри команды \cmd{\floatbox} % не обязательно определять ширину подписи заранее, но помните, что % ширину подписи \emph{нужно} определить, если это простое окружение -% флота.}). Флот в этом случае выровнен горизонтально с -% использованием настроек выравнивания, взятых из ключа +% флота.}). Флот в~этом случае выровнен горизонтально +% с~использованием настроек выравнивания, взятых из ключа % \texttt{margins=} (опции определяются командами -% |\setfloatmargins| или |\floatcapbesidemargins|). В этой +% |\setfloatmargins| или |\floatcapbesidemargins|). В~этой % документации задано центрирование (см. -% с.~\pageref{fsetup:besmarg}). -%\begin{verbatim} -%\begin{figure} -%\floatbox[\capbeside\useFCwidth]{figure}[\FBwidth] -% ... -%\end{figure} -%\end{verbatim} -% \clearfloatsetup{figure} \floatsetup[figure]{style=plain} +% с.~\pageref{setup:DeclareMarginSet}). +%\begin{Quote} +%\meta{preamble} +%|\floatsetup[figure]{style=plain}| +%\meta{preamble} +%|\begin{figure}| +%|\floatbox[\capbeside\useFCwidth]{figure}[\FBwidth]| +%| ...| +%|\end{figure}| +%\end{Quote} +% \clearfloatsetup{figure} +% \floatsetup[figure]{style=plain} % -% \begin{figure}[h] +% \begin{figure}[H] % \floatbox[\capbeside\useFCwidth]{figure}[\FBwidth] % {\caption[Подпись сбоку % бокс которой равен тексту подписи]{Подпись % сбоку}\label{fig:Idog:w}} -% {{\setlength\unitlength{{4cm}/60}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {{\setlength\unitlength{{4cm}/60}%^^A % \input{BlackDog.picture}}} % \end{figure}% % -% Настройки данного флота: -%\begin{verbatim} -%\floatsetup[figure]{style=plain} -%\end{verbatim} % -% \subsubsection{Предопределённая ширина подписи и остальное +%^^A% \subsubsection{Predefined Beside Caption Width with +%^^A% The Rest Space for Object}\label{FAD:RestSpaceforObject} +% \subsubsection{Предопределённая ширина подписи и~остальное % "--- для объекта} % +%^^A% The figure \ref{fig:capbeside:trick} uses following float style:%^^A % Рисунок \ref{fig:capbeside:trick} использует следующий стиль % флота:%^^A %^^A \footnote{There are also addition settings for captions: @@ -3251,25 +5914,25 @@ %^^A \texttt{\{format=default,}\allowbreak %^^A \texttt{labelsep=none\}} %^^A which is necessary for current documentation: the -%^^A \pkg{hyperref} creates unwanted result with empty argument +%^^A \package{hyperref} creates unwanted result with empty argument %^^A of caption title. The same settings used for %^^A figures~\ref{floatrow:pre:figI} and %^^A \ref{floatrow:pre:figII}} -%\begin{verbatim} -%\floatsetup[figure] -% {style=Boxed,capposition=beside,objectset=centering, -% floatwidth=\columnwidth,capbesidewidth=\Mylen, -% capbesideposition=left,capbesidesep=cicero, -% margins=centering,capbesideframe=yes, -% floatwidth=sidefil} -%\end{verbatim} +%\begin{Quote} +%\meta{preamble} +%|\renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont| +%| \figurename\ \thefigure}| +%\meta{preamble} +%|\floatsetup[figure]| +%| {style=Boxed,capposition=beside,objectset=centering,| +%| floatwidth=\columnwidth,capbesidewidth=\Mylen,| +%| capbesideposition=left,capbesidesep=cicero,| +%| margins=centering,capbesideframe=yes,| +%| floatwidth=sidefil}| +%\end{Quote} +%^^A% The \verb|\Mylen| dimension was defined as width of caption label. % Величина \verb|\Mylen| была определена как ширина нумерационного -% заголовка подписи: -%\begin{verbatim} -%\newdimen\Mylen -%\settowidth\Mylen{\captionfont\captionlabelfont -% \figurename\ \thefigure} -%\end{verbatim} +% заголовка подписи. % % \clearfloatsetup{figure} % \floatsetup[figure] @@ -3277,42 +5940,49 @@ % floatwidth=\columnwidth,capbesidewidth=\Mylen, % capbesideposition=left,capbesidesep=cicero, % margins=centering,capbesideframe=yes,floatwidth=sidefil} -% \newdimen\Mylen\settowidth\Mylen{\captionfont\captionlabelfont\figurename\ +% \renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont\figurename\ % \thefigure} % -% \begin{figure} +%\begingroup +% \begin{figure}[H] %^^A \captionsetup[capbesidefigure]{format=default,labelsep=none} % \fcapside -% {\unitlength1.1\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{}\label{fig:capbeside:trick}} +% {\unitlength1.1\unitlength +% \input{Horse.picture}} +% {\caption[Бокс подрисуночной подписи равен ширине её содержимого (здесь: её метки)]{}\label{fig:capbeside:trick}} % \end{figure}% +%\endgroup % % -% \subsubsection{Подпись рядом с отцентрированным объектом} +%^^A% \subsubsection{Caption Beside with Centered Object}\label{FAD:CapandCenterObj} +% \subsubsection{Подпись рядом с~отцентрированным на всю ширину объектом}\label{FAD:CapandCenterObj} % +%^^A% The figure \ref{fig:plain:trick} uses tricky float style: % Рисунок \ref{fig:plain:trick} использует хитроумный вариант % оформления: -%\begin{verbatim} -%\floatsetup[figure] -% {style=plain,capposition=beside,objectset=centering, -% floatwidth=\columnwidth,capbesidewidth=6cc, -% capbesideposition=left,capbesidesep=mcapwidth, -% margins=centering,capbesideframe=yes, -% floatwidth=sidefil} -%\end{verbatim} -% опция \texttt{mcapwidth} задаёт отрицательную отбивку, равную -% ширине подписи: -%\begin{verbatim} -%\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth} -%\end{verbatim} -% В этом случае все рисунки с подписями сбоку будут центрированы +%\begin{Quote} +%\meta{preamble} +%|\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth}| +%\meta{preamble} +%|\floatsetup[figure]| +%| {style=plain,capposition=beside,objectset=centering,| +%| floatwidth=\columnwidth,capbesidewidth=6cc,| +%| capbesideposition=left,capbesidesep=mcapwidth,| +%| margins=centering,capbesideframe=yes,| +%| floatwidth=sidefil}| +%\end{Quote} +%^^A% the \texttt{mcapwidth} option is a negative skip equal to caption +%^^A% width: +%^^A% I this case all figures with beside captions centered accordingly to +%^^A% text \verb|\hsize|. Usage of such float layout supposes that all +%^^A% float objects are narrower than |\textwidth| by at least 2~caption +%^^A% widths. +% В~этом случае все рисунки с~подписями сбоку будут центрированы % относительно текущей величине \verb|\hsize|. Использование такого % оформления флота предполагает что все объекты флота \'уже чем % |\textwidth|, как минимум на 2~ширины подписи. % -% \clearfloatsetup{figure} \floatsetup[figure] +% \clearfloatsetup{figure}\floatsetup[figure] % {style=plain,capposition=beside,objectset=centering, % floatwidth=\columnwidth,capbesidewidth=6cc, % capbesideposition=left,capbesidesep=mcapwidth, @@ -3320,124 +5990,148 @@ % \begingroup % \captionsetup[capbesidefigure]{format=break,labelsep=none, % justification=raggedright} -% \begin{figure} -% \unitlength1.1\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture} -% \caption{%^^A -% Обычный рисунок}\label{fig:plain:trick} +% \begin{figure}[H] +% \unitlength1.1\unitlength +% \input{Doll.picture} +% \caption[Просто рисунок, ширина (\texttt{=6сс}) подписи <<скрыта>>, рисунок центрируется на весь формат]{%^^A +% Просто рисунок}\label{fig:plain:trick} % \end{figure}% % \endgroup % -% Здесь также временно, в группе, заменены настройки для -% подрисуночной подписи~\ref{fig:plain:trick}: -%\begin{verbatim} -%\captionsetup[capbesidefigure]{format=break,labelsep=none, -% justification=raggedright} -%\end{verbatim} -% -% \subsubsection{Определение ширины для блока подпись сбоку---объект -% в окружении \env{floatrow}} -% -% Ряд с предопределёнными ширинами для боксов подпись -% сбоку---объект (рис.~\ref{floatrow:pre:figI} и -% \ref{floatrow:pre:figII}): просто определите перед командами +%^^A% There were also temporarily, in group, changed settings for caption +%^^A% in figure~\ref{fig:plain:trick}:\label{ssec:app:besidefinish} +% Здесь также временно, в~группе, заменены настройки для +% подрисуночной подписи~\ref{fig:plain:trick}:\label{ssec:app:besidefinish} +% \par\RestoreSpaces +%\begin{Quote} +%|\captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedright}| +%\end{Quote} +% +%^^A% \subsubsection{Width Definition for Beside +%^^A% Caption---Object Box in Float Row} +% \subsubsection{Ширина для блока подпись сбоку---объект +% внутри \env{floatrow}} +% +%^^A% The float row with predefined width of beside object---caption +%^^A% boxes (figures~\ref{floatrow:pre:figI} and +%^^A% \ref{floatrow:pre:figII}): just define before \verb|\fcapside| +%^^A% command something like +% Ряд с~предопределёнными ширинами для боксов подпись +% сбоку---объект (рис.~\ref{floatrow:pre:figI} +% и~\ref{floatrow:pre:figII}): просто определите перед командами % \verb|\fcapside| что-то типа -%\begin{verbatim} -%\setlength\hsize{1.098\hsize}% -%\end{verbatim} +%\begin{Quote} +%|\setlength\hsize{1.2\hsize}%| +%\end{Quote} +%^^A% as was defined for first figure, or % как было определено для первого рисунка, или -%\begin{verbatim} -%\setlength\hsize\Xhsize -%\end{verbatim} +%\begin{Quote} +%|\setlength\hsize\Xhsize| +%\end{Quote} +%^^A% before second (here is clear that you can set +%^^A% |\setlength\hsize{.8\hsize}|). % перед вторым (здесь видно, что можно задать и -% |\setlength\hsize{.902\hsize}|). -% -% В начале окружения \env{floatrow} была задана команда -% \verb|\useFCwidth| которая включает механизм использования и -% расчёта ширины подписи сбоку и, поскольку используются +% |\setlength\hsize{.8\hsize}|). +% +%^^A% Since there were used \verb|\fcapside| commands at the beginning of +%^^A% \env{floatrow} environment the \verb|\FCwidth| command was defined +%^^A% as \verb|\relax|---in this case the width of caption equals to the +%^^A% width of their contents. +% В~начале окружения \env{floatrow} была задана команда +% \verb|\useFCwidth| которая включает механизм использования +% и~расчёта ширины подписи сбоку и, поскольку используются % команды \verb|\fcapside|, ширину подписей можно не определять % (ключ \texttt{capbesidewidth=} не задан), поэтому ширина боксов % подписей будет равна их содержимому. % +%\begingroup % \clearfloatsetup{figure} % \floatsetup[figure] % {style=plain,capposition=beside,objectset=centering, % capbesideposition=left,capbesidesep=enskip, % margins=centering,capbesideframe=yes,floatwidth=sidefil} -% \begin{figure}[h]\useFCwidth +% \begin{figure}[H]\useFCwidth %^^A \captionsetup[capbesidefigure]{format=default,labelsep=none} % \begin{floatrow} -% \setlength\hsize{1.098\hsize}% +% \setlength\hsize{1.2\hsize}% % \fcapside -% {\setlength\unitlength{\hsize/64}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% {\setlength\unitlength{\hsize/100}%^^A +% \input{Bear.picture}} +% {\caption[Левый рисунок в~ряду с~подписью сбоку]{%^^A % }\label{floatrow:pre:figI}} % \setlength\hsize\Xhsize % \fcapside -% {\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}} -% {\caption{%^^A +% {\setlength\unitlength{\hsize/44}%^^A +% \input{Doll.picture}} +% {\caption[Правый рисунок в~ряду с~подписью сбоку]{%^^A % }\label{floatrow:pre:figII}} % \end{floatrow}% % \end{figure}% +%\endgroup +%^^A% There was used following setup for figures: % Были использованы следующие настройки для рисунков: -%\begin{verbatim} -%\floatsetup[figure] -% {style=plain,capposition=beside,objectset=centering, -% capbesideposition=left,capbesidesep=enskip, -% margins=centering,capbesideframe=yes,floatwidth=sidefil} -%\end{verbatim} -% -% \subsubsection{Флот с подписью сверху/снизу и флот -% с подписью сбоку в одном ряду} -% -% В ряду совмещены бокс объект---подпись сбоку и бокс с -% объект---подпись снизу (рис.~\ref{flrow:mix:figI} и -% \ref{flrow:mix:figII}). Здесь приходится опять использовать +%\begin{Quote} +%|\floatsetup[figure]| +%| {style=plain,capposition=beside,objectset=centering,| +%| capbesideposition=left,capbesidesep=enskip,| +%| margins=centering,capbesideframe=yes,floatwidth=sidefil}| +%\end{Quote} +% +%^^A% \subsubsection{Caption Above/Below Float and Caption Beside Float at +%^^A% The One Float Row}\label{FAD:CapBesideandBelow} +% \subsubsection{Подпись сверху/снизу +% и~подпись сбоку в~одном ряду}\label{FAD:CapBesideandBelow} +% +%^^A% The float row with object and beside caption combined with object +%^^A% and caption below (figures~\ref{flrow:mix:figI} and +%^^A% \ref{flrow:mix:figII}). There we ought to use +%^^A% \verb|\TopFloatBoxes|, \verb|\CenterFloatBoxes|, or +%^^A% |\BottomFloatBoxes| commands to get correct layout---since the +%^^A% \meta{height} argument in both float boxes defined as \texttt{4cm} +%^^A% you may use each of these three commands. Unfortunately you must set +%^^A% height of such beside floats by hand. The lines which create +%^^A% described float row: +% В~ряду совмещены бокс объект---подпись сбоку и~бокс +% объект---подпись снизу (рис.~\ref{flrow:mix:figI} +% и~\ref{flrow:mix:figII}). Здесь приходится опять использовать % команды \verb|\TopFloatBoxes|, \verb|\CenterFloatBoxes|, или % |\BottomFloatBoxes|, чтобы получить нужную вёрстку "--- поскольку -% аргумент \meta{height} в обоих флотах определён как \texttt{4cm} -% вы можете использовать любую из этих трёх команд. К сожалению вам +% аргумент \meta{height} в~обоих флотах определён как \texttt{4cm} +% вы можете использовать любую из этих трёх команд. К~сожалению вам % приходится задать высоту таких флотов рядом вручную. Строки, % которые создают описанный выше ряд флотов: -%\begin{verbatim} -%\begin{figure}\CenterFloatBoxes -%\begin{floatrow} -%\hsize1.098\hsize -% \fcapside[\FBwidth][4cm] -% ... -% -% \ffigbox[\Xhsize][4cm] -% ... -%\end{floatrow}% -%\end{figure} -%\end{verbatim} +%\begin{Quote} +%|\begin{figure}\CenterFloatBoxes| +%|\begin{floatrow}| +%|\hsize1.098\hsize| +%| \fcapside[\FBwidth][4cm]| +%| ...| +%| | +%| \ffigbox[\Xhsize][4cm]| +%| ...| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} % % \clearfloatsetup{figure} % \floatsetup[figure] -% {style=Boxed,frameset={\fboxsep6pt}, -% captionskip=5pt,capposition=bottom, -% objectset=centering,capbesidewidth=none, -% capbesideposition=inside, +% {style=Boxed,frameset={\fboxsep6pt},captionskip=5pt,capposition=bottom, +% objectset=centering,capbesidewidth=none,capbesideposition=inside, % capbesidesep=enskip,margins=centering,capbesideframe=yes} % -% \begin{figure}\CenterFloatBoxes +% \begin{figure}[H]\CenterFloatBoxes % \begin{floatrow} % \hsize1.098\hsize \fcapside[\FBwidth][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% {\unitlength1.44\unitlength +% \input{Cat.picture}} +% {\caption[Флот \cmd{\fcapside} в ряду с +% флотом \cmd{\ffigbox}]{%^^A % Флот (\cmd{\fcapside}) с подписью сбоку в ряду с -% флотом с подписью снизу}\label{flrow:mix:figI}}% +% флотом с подписью \hbox{снизу}}\label{flrow:mix:figI}}% % % \ffigbox[\Xhsize][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\unitlength1.44\unitlength % \input{BlackDog.picture}} % {\caption{%^^A % Флот (\cmd{\ffigbox}), занимает оставшееся в ряду @@ -3445,127 +6139,146 @@ % \end{floatrow}% % \end{figure} % +%^^A% The ``mirror layout'' (but not identical) looks like: % <<Зеркальная вёрстка>> (но не идентичная) выглядит так: -%\begin{verbatim} -%\begin{figure}\CenterFloatBoxes -%\begin{floatrow} -% \ffigbox[1.2\FBwidth][4cm] -% ... -% -% \hsize\Xhsize -% \fcapside[\FBwidth][4cm] -% ... -%\end{floatrow}% -%\end{figure} -%\end{verbatim} -% -% \begin{figure}\CenterFloatBoxes +% \par\RestoreSpaces +%\begin{Quote} +%|\begin{figure}\CenterFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%| \ffigbox[1.2\FBwidth][4cm]| +%| ...| +%| | +%| \hsize\Xhsize| +%| \fcapside[\FBwidth][4cm]| +%| ...| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} +% +% \begin{figure}[H]\CenterFloatBoxes % \begin{floatrow} % \ffigbox[1.2\FBwidth][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\unitlength1.44\unitlength % \input{BlackDog.picture}} % {\caption{%^^A -% Флот (\cmd{\ffigbox})}\label{floatrow:mirrmix:figII}}% +% Флот (\cmd{\ffigbox}) в~«зеркальном» ряду}\label{floatrow:mirrmix:figII}}% % \hsize\Xhsize % % \fcapside[\FBwidth][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% {\unitlength1.44\unitlength +% \input{Cat.picture}} +% {\caption[Флот \cmd{\fcapside} в~«зеркальном» ряду]{%^^A % Флот с подписью сбоку (\cmd{\fcapside}) в зеркальном ряду -% с флотом с подписью снизу}\label{floatrow:mirrmix:figI}} +% с флотом с подписью \hbox{снизу}}\label{floatrow:mirrmix:figI}} % \end{floatrow}% % \end{figure} % +%^^A% The figures~\ref{floatrow:mirrmix:figII}--\ref{floatrow:mirrmix:figI} +%^^A% use following float style settings: % Рисунки~\ref{floatrow:mirrmix:figII}--\ref{floatrow:mirrmix:figI} % использовали следующие настройки: -%\begin{verbatim} -%\floatsetup[figure] -% {style=Boxed,frameset={\fboxsep4pt},captionskip=5pt, -% capposition=bottom,objectset=centering,capbesidewidth=none, -% capbesideposition=inside,capbesidesep=enskip,margins=centering, -% capbesideframe=yes} -%\end{verbatim} -% +% \par\RestoreSpaces +%\begin{Quote} +%|\floatsetup[figure]| +%| {style=Boxed,frameset={\fboxsep4pt},captionskip=5pt,| +%| capposition=bottom,objectset=centering,capbesidewidth=none,| +%| capbesideposition=inside,capbesidesep=enskip,margins=centering,| +%| capbesideframe=yes}| +%\end{Quote} +% +%^^A% \subsubsection{Photo-Album-like Layouts} % \subsubsection{Вёрстка под фотоальбом} % +%^^A% Another example of miscellaneous float row +%^^A% (figures~\ref{flrow:three:figIII}--\ref{floatrow:threemirr:figII}, +%^^A% and, ``mirror layout''---^^A +%^^A% \ref{floatrow:threemirr:figI}--\ref{floatrow:threemirr:figIII}) were +%^^A% created by following lines: % Другой пример необычного ряда флотов % (рис.~\ref{flrow:three:figIII}--\ref{floatrow:threemirr:figII}, % и, <<зеркальная вёрстка>>, "--- % \ref{floatrow:threemirr:figI}--\ref{floatrow:threemirr:figIII}) % были созданы следующим кодом: -%\begin{verbatim} -%\begin{figure}[t]\BottomFloatBoxes -%\begin{floatrow} -%\hsize1.2\hsize \ffigbox[][6.7cm] -% ... -% -%\vbox to6.7cm -% {\floatsetup[figure]{floatrowsep=none}\killfloatstyle -% \ffigbox[.8\hsize] -% ... -% \vss -% \ffigbox[.8\hsize] -% ...% -% }% -%\end{floatrow}% -%\end{figure} -%\end{verbatim} +%\begin{Quote} +%|\begin{figure}[t]\BottomFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%|\hsize1.2\hsize \ffigbox[][6.7cm]| +%| ...| +%| | +%|\vbox to6.7cm| +%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle| +%| \ffigbox[.8\hsize]| +%| ...| +%| \vss| +%| \ffigbox[.8\hsize]| +%| ...%| +%| }%| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} % % \floatsetup[figure]{heightadjust=none} -% \begin{figure}\BottomFloatBoxes +% \begin{figure}[H]\BottomFloatBoxes % \begin{floatrow} % \hsize1.2\hsize % \ffigbox[][6.7cm] -% {\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\setlength\unitlength{\hsize/58}%^^A % \input{Mouse.picture}}% -% {\caption{Бокс флота в вёрстке под фотоальбом: -% один в левой колонке}\label{flrow:three:figIII}}% +% {\caption[Вёрстка фотоальбома: левый флот]{Бокс флота в~вёрстке под фотоальбом: +% один в~левой колонке}\label{flrow:three:figIII}}% % % \vbox to6.7cm % {\floatsetup[figure]{floatrowsep=none}\killfloatstyle % \ffigbox[.8\hsize] % {\input{TheCat.picture}} -% {\caption{%^^A +% {\caption[Вёрстка фотоальбома: правый верхний флот]{%^^A % Бокс флота в вёрстке под фотоальбом: верхний флот в правой % колонке}\label{floatrow:three:figI}} \vss \ffigbox[.8\hsize] % {\input{BlackDog.picture}}% -% {\caption{%^^A +% {\caption[Вёрстка фотоальбома: правый верхний флот]{%^^A % Нижний флот в правой колонке}% % \label{floatrow:threemirr:figII}}}% % \end{floatrow}% % \end{figure} % +%^^A% The ``mirror'' layout created by following commands: % <<Зеркальная вёрстка>> создана следующими командами: -%\begin{verbatim} -%\begin{figure}[t]\TopFloatBoxes -%\begin{floatrow} -%\vtop to7cm -% {\floatsetup[figure]{floatrowsep=none}\killfloatstyle -% \ffigbox[.8\hsize] -% ... -% \vss -% \ffigbox[.8\hsize] -% ...% -% \vskip0pt}\floatrowsep -% -%\ffigbox[\Xhsize][7cm-11pt] -% ... -%\end{floatrow}% -%\end{figure} -%\end{verbatim} -% Обратите внимание, что во втором примере с <<зеркальной вёрсткой>> -% был использован трюк с определением высоты в аргументе -% \meta{height} "--- подпись в левой колонке длиннее на одну строку, +% \par\RestoreSpaces +%\begin{Quote} +%|\begin{figure}\TopFloatBoxes| +%|\begin{floatrow}| +%|\vtop to7cm| +%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle| +%| \ffigbox[.8\hsize]| +%| ...| +%| \vss| +%| \ffigbox[.8\hsize]| +%| ...%| +%| \vskip0pt}\floatrowsep| +%| | +%|\ffigbox[\Xhsize][7cm-11pt]| +%| ...| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} +%^^A% Note that in second example with ``mirror'' layout there was used +%^^A% trick with \meta{height} definition---caption of float in the left +%^^A% column is one line longer, so for the right column height of float +%^^A% was reduced by 11pt---|\baselineskip| for |\small| +%^^A% size\footnote{You get correct height with such calculations for +%^^A% beside floats with \package{caption}'s version not older than 3.0d.} +%^^A% (here were used \package{calc} package possibilities). The |\vtop| of +%^^A% left column ends with |\vskip0pt|, otherwise you get fanny unwanted +%^^A% layout. +% Обратите внимание, что во втором примере с~<<зеркальной вёрсткой>> +% был использован трюк с~определением высоты в~аргументе +% \meta{height} "--- подпись в~левой колонке длиннее на одну строку, % поэтому для правой колонки высота флота была уменьшена на 22pt % "---2|\baselineskip| для шрифта размером -% |\small|\footnote{Вы получите корректную высоту с такими расчётами -% для флотов рядом при использовании версией пакета \pkg{caption} +% |\small|\footnote{Вы получите корректную высоту с~такими расчётами +% для флотов рядом при использовании версией пакета \package{caption} % не ниже 3.0d.} (здесь были использованы возможности пакета -% \pkg{calc}). Бокс |\vtop| в левой колонке завершён командой +% \package{calc}). Бокс |\vtop| в~левой колонке завершён командой % |\vskip0pt|, иначе вы получите неожиданный результат. % % @@ -3574,99 +6287,388 @@ % \vtop to8cm {\floatsetup[figure]{floatrowsep=none}\killfloatstyle % \ffigbox[.8\hsize] % {\input{TheCat.picture}} -% {\caption{%^^A -% Бокс флота в зеркальной вёрстке под фотоальбом: -% верхний флота в левой +% {\caption[Зеркальная вёрстка фотоальбома: верхний левый флот]{%^^A +% Бокс флота в~зеркальной вёрстке под фотоальбом: +% верхний флот в~левой % колонке}\label{floatrow:threemirr:figI}} % \vss % \ffigbox[.8\hsize] % {\input{BlackDog.picture}}% -% {\caption{%^^A -% Бокс флота в зеркальной вёрстке под фотоальбом: -% нижний флот в левой колонке}% +% {\caption[Зеркальная вёрстка фотоальбома: нижний левый флот]{%^^A +% Бокс флота в~зеркальной вёрстке под фотоальбом: +% нижний флот в~левой колонке}% % \label{floatrow:three:figII}}\vskip0pt}\floatrowsep % % \ffigbox[\Xhsize][8cm-22pt] -% {\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\setlength\unitlength{\hsize/58}%^^A % \input{Mouse.picture}}% -% {\caption{%^^A -% Бокс флота в зеркальной вёрстке под фотоальбом: -% отдельный в правой колонке}\label{floatrow:threemirr:figIII}} +% {\caption[Зеркальная вёрстка фотоальбома: правый флот]{%^^A +% Бокс флота в~зеркальной вёрстке под фотоальбом: +% отдельный в~правой колонке}\label{floatrow:threemirr:figIII}} % \end{floatrow}% % \end{figure} % -% В обоих примерах для двух флотов друг под другом была отменена +%^^A% In both examples for two floats one above another was cancelled +%^^A% |\floatrowsep| code inside |\vbox|/|\vtop|. +% В~обоих примерах для двух флотов друг под другом была отменена % команда |\floatrowsep| внутри |\vbox|/|\vtop|. % +%^^A% Note that these examples are rather specific---you may try with +%^^A% other combinations (e.g. more-``columned''), but maybe these layouts +%^^A% need more care with usage of |\Xhsize| and/or |\floatrowsep|. % Обратите внимание, что эти примеры довольно специфичны "--- можно % попробовать создать другие комбинации (например, % <<многоколонные>>), но возможно такая вёрстка потребует большей -% внимательности по отношению к использованию |\Xhsize| и/или +% внимательности по отношению к~использованию |\Xhsize| и/или % |\floatrowsep|. % -% Я предполагаю, что два последних примера конфликтуют с <<девизом>> -% данного пакета "--- уменьшить и переместить код оформления из -% текста документа; но вёрстка под фотоальбом довольно редка в -% технической литературе (или это не так?). +%^^A% I suppose that last two examples could conflict with ``motto'' of +%^^A% this package---to reduce and remove layout code from document; but +%^^A% photo-album-like layout is rather rare in technical literature (It +%^^A% isn't?). +% Я~предполагаю, что два последних примера конфликтуют с~<<девизом>> +% данного пакета \cdash--- уменьшить и~переместить код оформления из +% текста документа; но вёрстка под фотоальбом довольно редка +% в~технической литературе (или это не так?). % -% \subsection{Файлы примеров} -% -% Дистрибутив пакета \env{floatrow} предлагает несколько файлов с -% примерами, которые демонстрируют настройки, не описанные в данном -% документе (некоторые из них несколько экзотичны и ненатуральны). +% \clearpage +% \par\RestoreSpaces +%^^A% \subsection{Sample files}\label{sec:samples} +% \subsection{Файлы примеров}\label{sec:samples} +% +%^^A% The \env{floatrow} package distribution offers a few files with +%^^A% examples, which show settings, not covered by current document (some +%^^A% of them are bit exotic and unnatural). The samples have not aim to +%^^A% create perfect layout, but to show easy modification for all float +%^^A% types, and show goals and drawbacks in combinations of chosen layout +%^^A% with different float types and their contents. +% Дистрибутив пакета \env{floatrow} предлагает несколько файлов +% с~примерами, которые демонстрируют настройки, не описанные в~данном +% документе (некоторые из них несколько экзотичны и~ненатуральны). % Примеры не имеют цели создать совершенную вёрстку, только показать -% быстроту и простоту модификации оформления для флотов всех -% типов, и показывает достоинства и недостатки в комбинациях +% быстроту и~простоту модификации оформления для флотов всех +% типов, и~показывает достоинства и~недостатки в~комбинациях % выбранного оформления при разных размещениях флотов. % +%^^A% \emph{Note}. All miscellaneous float styles (i.e. almost +%^^A% all sample files) need at least two \LaTeX{} runs. % \emph{Замечание}. Все нестандартные стили флотов (фактически все % файлы примеров) требуют как минимум две обработки \LaTeX'ом. % +%^^A% The list of samples: % Перечень файлов примеров: % % \begin{Options}{\OptionLabel} +%^^A% \item[frsample01.tex] all possible combinations of predefined +%^^A% \package{floatrow} styles for captions above/below floats with foot +%^^A% material; there were created plain float environments and +%^^A% \env{floatrow}s, also there were created boxes with +%^^A% alone objects and alone captions; % \item[frsample01.tex] все возможные комбинации -% предопределённых стилей пакета \pkg{floatrow} -% для подписей сверху/снизу с экспликациями; были созданы -% простые флоты, окружения с рядом флотов (окружение -% \env{floatrow}), а также варианты объекта без подписи -% и подписи без объекта; -% \item[frsample02.tex] все возможные комбинации с -% предопределёнными стилями пакета \pkg{floatrow} для подписей -% сбоку и все возможные расположения подписей; -% \item[frsample03.tex] различные тесты с таблицами; -% \item[frsample04.tex] пример с необычным оформлением и -% размещением подписей сбоку; +% предопределённых стилей пакета \package{floatrow} +% для подписей сверху/снизу с~экспликациями; были созданы +% простые флоты, окружения с~рядом флотов (окружение +% \env{floatrow}), а~также варианты объекта без подписи +% и~подписи без объекта; +%^^A% \item[frsample02.tex] all possible combinations of predefined +%^^A% \package{floatrow} styles for beside captions and all possible +%^^A% caption positions; +% \item[frsample02.tex] все возможные комбинации +% с~предопределёнными стилями пакета \package{floatrow} для подписей +% сбоку и~все возможные расположения подписей; +%^^A% \item[frsample03.tex] different tests with tables; +% \item[frsample03.tex] различные тесты с~таблицами; +%^^A% \item[frsample04.tex] sample with fancy layout with usage of +%^^A% beside captions; +% \item[frsample04.tex] пример с~необычным оформлением +% и~размещением подписей сбоку; +%^^A% \item[frsample05.tex] one-column facing layout; miscellaneous +%^^A% caption settings. % \item[frsample05.tex] одноколонная вёрстка, зеркальный макет % на развороте; необычные настройки для подписей. % \end{Options} % +%^^A% The next bundle of samples is a few file-headers with different +%^^A% preamble which run the same file with various float +%^^A% layouts. For these examples there was created a new float type of +%^^A% float \texttt{textbox}---which includes text in its object contents. % Следующий связанный ряд файлов-примеров имеют несколько -% файлов"=заголовков с различной преамбулой, которые -% обрабатывают файл с различным размещением флотов. -% В этих примерах был создан новый тип флота -% \texttt{textbox} "--- который включает в себя текст. +% файлов"=заголовков с~различной преамбулой, которые +% обрабатывают файл с~различным размещением флотов. +% В~этих примерах был создан новый тип флота +% \texttt{textbox} "--- который включает в~себя текст. % \begin{Options}{\OptionLabel} +%^^A% \item[frsample10.tex] one column non-facing layout; figures +%^^A% printed in \texttt{plain} style; text boxes use miscellaneous +%^^A% ruled style; % \item[frsample10.tex] одноколонная вёрстка; рисунки оформлены -% в стиле \texttt{plain}; боксы текста -% (\texttt{textbox}) используют необычный стиль с линейками; -% \item[frsample11.tex] одноколонная вёрстка с элементами +% в~стиле \texttt{plain}; боксы текста +% (\texttt{textbox}) используют необычный стиль с~линейками; +%^^A% \item[frsample11.tex] one-column non-facing layout with elements +%^^A% hanged on left margin (e.g. wide floats, in starred environments, +%^^A% like \env{figure*}); +% \item[frsample11.tex] одноколонная вёрстка с~элементами % выхода на левое поле (например, широкие -% флоты в |*|-окружениях, как \env{figure*}); -% \item[frsample12.tex] двухколонная вёрстка с попытками +% флоты в~«звёздных» окружениях, как \env{figure*}); +%^^A% \item[frsample12.tex] two-column layout with attempts of +%^^A% colored float styles. +% \item[frsample12.tex] двухколонная вёрстка с~попытками % использования расцвеченных стилей флотов. % \end{Options} % -% \section{Устаревшие команды}\label{sec:changed} +%^^A% There is also added [temporary] sample file \file{sample-longtable.tex} +%^^A% with \emph{beta-temp} package-patch for \env{longtable} +%^^A% with defined commands |\endlasthead| and |\endprelastfoot| which +%^^A% defines captions for continued and last pages of long table in three +%^^A% possible ways. +% Также добавлен файл-пример \file{sample-longtable.tex} +% использующий \emph{beta-temp} пакет \package{fr-longtable}, где +% определены команды |\endlasthead| и~|\endprelastfoot|, где даны три +% варианта определения подписей (табличных заголовков) для продолжающейся +% и~последней страниц \texttt{longtable}. +%\vfil +% +%^^A% \subsection{Obsolete Commands}\label{sec:changed} +% \subsection{Устаревшие команды}\label{sec:changed} +% +% \begin{small} +% +% \subsubsection{Интерфейс пользователя \protect\cdash--- новые плавающие объекты +% [\package{float}]}\label{sec:floatborrowI} +% +% \DescribeMacro{\newfloat} +%^^A% The most important command in \package{float} +%^^A% is the |\newfloat| command\footnote{It doubles the +%^^A% \cmd{\DeclareNewFloatType} command.}. It is patterned on +%^^A% |\newtheorem|. The |\newfloat| command takes three required and +%^^A% one optional argument; it is of the form +% Самой важной командой в~пакете \package{float} +% является команда |\newfloat|\footnote{Она дублируется командой +% \cmd{\DeclareNewFloatType}.}. +% Она сделана по образцу +% |\newtheorem|. Команда |\newfloat| имеет три основных и~один дополнительный +% аргумент; форма задания: +% \par\RestoreSpaces +% \begin{Quote} +% \hspace*{\MacroIndent}|\newfloat{|\meta{type}|}{|^^A +% \meta{placement}|}{|\meta{ext}|}[|\meta{within}{\tt]} +% \end{Quote} +% \begin{itemize}\itemsep0pt\parskip0pt +% \item +%^^A% \marg{type} is the `type' of the new class of floats, like +%^^A% \texttt{program} or \texttt{algorithm}. After the appropriate +%^^A% |\newfloat|, commands like |\begin{program}| or |\end{algorithm*}| +%^^A% will be available. +% \marg{type} задаёт тип нового класса флотов, таких как +% \texttt{program} (программа) или \texttt{algorithm} (алгоритм). +% Определив эти слова в~аргументе +% |\newfloat|, вы можете задать команды, как |\begin{program}| +% или |\end{algorithm*}|. +% \item +%^^A% \marg{placement} gives the default placement +%^^A% parameters for this class of floats. The placement parameters are +%^^A% the same as in standard \LaTeX, i.e., \texttt{t}, \texttt{b}, +%^^A% \texttt{p} and \texttt{h} for `top', `bottom', `page' and `here', +%^^A% respectively. +% \marg{placement} задаёт размещение по умолчанию +% для данного класса флотов. Параметры те же самые, +% что и~в~стандартном \LaTeX'е, например, \texttt{t}, \texttt{b}, +% \texttt{p} и~\texttt{h} для `top' (вверху), `bottom' (внизу), +% `page' (отдельная страницы) и~`here' (здесь), +% соответственно. +% \item +%^^A% \marg{ext} When \LaTeX\ writes the captions to an auxiliary file +%^^A% for the list of figures (or whatever), it'll use the job name +%^^A% followed by \marg{ext} as a file name. +% \marg{ext}. Когда \LaTeX\ записывает подписи во вспомогательный файл +% для списка рисунков (или любого другого флота), он использует +% имя рабочего файла (документа) +% с~расширением \marg{ext} как имя файла. +% \item +%^^A% \oarg{within} Finally, the optional +%^^A% argument \meta{within} determines whether floats of this class will +%^^A% be numbered within some sectional unit of the document. For example, +%^^A% if \oarg{within}${}={}$\texttt{chapter}, the floats will be numbered +%^^A% within chapters. (In standard \LaTeX, this happens with figures and +%^^A% tables in the \cls{report} and \cls{book} document styles.) As an +%^^A% example, Program~\ref{prog1.1} was created by a command sequence +%^^A% similar to that shown in the following +%^^A% Example\footnote{Settings for Example float +%^^A% environment were created by \cmd{\DeclareNewFloatType} macro stuff.}. +% \oarg{within}. Наконец, дополнительный +% аргумент \meta{within} определяет будут ли плавающие объекты +% данного класса нумероваться +% внутри указанного раздела документа. Например, +% если \oarg{within}${}={}$\texttt{chapter}, флоты будут перенумеровываться +% по главам. (В~стандартном \LaTeX'е, это задано для рисунков и~таблиц +% в~классах документов \cls{report} и~\cls{book}.) Как +% пример, программа~\ref{prog1.1} была создана командной последовательностью +% похожей на продемонстрированную в~следующем +% примере\footnote{Настройки для этого окружения примера +% были созданы командой \cmd{\DeclareNewFloatType}.}. +% \end{itemize} +%^^A% \emph{Floatrow note.} +%^^A% There is also created a |\newfloat*| pair, which works similar to +%^^A% |\restylefloat*| command (see below). +% \emph{Замечание \textsf{floatrow}.} +% Также создана команда-пара |\newfloat*|, которая работает аналогично команде +% |\restylefloat*| (см.~ниже). +% \begin{Example}[H] +% \begin{verse} +% |\floatstyle{ruled}|\\ +% |\newfloat{Program}{tbp}{lop}[section]|\\ +% \dots\ loads o' stuff \dots\\ +% |\begin{Program}|\\ +% |\begin{verbatim}|\\ +% \dots\ program text \dots\\ +% |\end{verbatim}|\\ +% |\caption{|\dots\ caption \dots|}|\\ +% |\end{Program}| +% \end{verse} +% \caption{Это ещё один простенький плавающий пример. Исключая +% то, что он плавает, так как использует параметр {\tt[H]}, чтобы +% появиться \textbf{Здесь}.}\label{exa1.1} +% \end{Example} +% \begin{Program} +%\begin{verbatim} +%#include +% +%int main(int argc, char **argv) { +% int i; +% for (i = 0; i < argc; ++i) +% printf("argv[%d] = %s\n", i, argv[i]); +% return 0; +%} +%\end{verbatim} +% \caption{Первая программа. Она ничего не делает в~пакете, +% просто включена в~него как пример. +% Обратите внимание на стиль \texttt{ruled}% +% \label{prog1.1}} +% \end{Program} +% +% \DescribeMacro{\floatstyle} +%^^A% The |\floatstyle| command sets a default +%^^A% float style. This float style will be used for all the floats that +%^^A% are subsequently defined using |\newfloat|, until another +%^^A% |\floatstyle| command appears. The |\floatstyle| command takes one +%^^A% argument, the name of a float style. For instance, +%^^A% |\floatstyle{ruled}|. Specifying a string that does not name a valid +%^^A% float style is an error. +% Команда |\floatstyle| определяет стиль флота по +% умолчанию. Этот стиль будет использоваться для всех типов флотов +% которые впоследствии будут определены в~команде |\newfloat|, до появления другой +% команды |\floatstyle|. Команда |\floatstyle| имеет один аргумент, +% имя стиля флота. Например, +% |\floatstyle{ruled}|. Указание названия несуществующего стиля приведёт к~ошибке. +% +% \DescribeMacro{\floatname} +%^^A% The |\floatname| command lets you define +%^^A% the \emph{float name} that \LaTeX\ uses in the caption of a float, +%^^A% i.e., `Figure' for a figure and so on. For example, +%^^A% |\floatname{program}{Program}|. The |\newfloat| command sets the +%^^A% float name to its argument \meta{type} if no other name has been +%^^A% specified before. +% Команда |\floatname| позволяет вам определить +% \emph{имя флота}, которое \LaTeX\ использует в~подписи флота, +% например, `Figure' для окружения рисунков и~тому подобное. Например, +% |\floatname{program}{Program}| (или |\floatname|\nobreak +% |{Program}|\allowbreak +% |{\CYRP\cyrr\cyro\cyrg\cyrr\cyra\cyrm\cyrm\cyra}|).\allowbreak{} +% Команда |\newfloat| определяет +% имя флота по аргументу определяющему имя окружения (\meta{type}) если не было +% определено другого имени до этого. +% +% \DescribeMacro{\floatplacement} +%^^A% The |\floatplacement| command resets +%^^A% the default placement specifier of a class of floats. E.g., +%^^A% |\floatplacement{figure}{tp}|. +% Команда |\floatplacement| переопределяет +% размещения флота по умолчанию для данного класса флотов. Например, +% |\floatplacement{figure}{tp}|. +% +% \DescribeMacro{\restylefloat}\nopagebreak +%^^A% The |\restylefloat| command is necessary +%^^A% to change styles for the standard float types +%^^A% \texttt{figure} and \texttt{table}. Since these aren't usually +%^^A% defined via |\newfloat|, they don't have a style associated with +%^^A% them. Thus you have to say, for example, +% Команда |\restylefloat| необходима для +% изменения стиля для стандартных типов флотов +% \texttt{figure} и~\texttt{table}. Так как они не определяются +% через команду |\newfloat|, они не имеют стиля, связанного с~ними. +% Поэтому вы должны задать, например, +% \par\RestoreSpaces +% \begin{Quote} +% \hspace*{\MacroIndent}|\floatstyle{ruled}|\\ +% \hspace*{\MacroIndent}|\restylefloat{table}| +% \end{Quote} +%^^A% to have tables come out \texttt{ruled}. The command also lets you +%^^A% change style for floats that you define via |\newfloat|, although +%^^A% this is, typographically speaking, not a good idea. See +%^^A% table~\ref{table1} for an example\footnote{The \package{float} package +%^^A% created special caption style with bold label for \texttt{boxed} +%^^A% style. Please note that \texttt{plain} and \texttt{boxed} float +%^^A% styles have not any special settings in \package{caption} 3.x package. +%^^A% To emulate \texttt{boxed} style from \package{float} documentation there +%^^A% were: cleared all special caption settings for tables, and restored +%^^A% default colon separator after label.}. There is a |\restylefloat*| +%^^A% command which will restyle an existing float type but will keep the +%^^A% new float style from taking over the |\caption| command. In this +%^^A% case the user is responsible for handling their own captions. +% чтобы получить таблицы в~стиле \texttt{ruled}. Команда также позволяет +% изменить стиль флота, определённого командой |\newfloat|, хотя +% это, по типографским правилам, не лучшая идея. См. +% табл.~\ref{table1} для примера\footnote{В~пакете \package{float} +% создан специальный стиль подписи с~полужирным нумерационным заголовком +% для стиля \texttt{boxed}. +% Обратите внимание, что стили флота \texttt{plain} и~\texttt{boxed} +% не имеют специальных настроек в~пакете \package{caption} 3.x. +% Для эмуляции стиля \texttt{boxed} из документации пакета \package{float} были: +% отменены все специальные установки для таблиц, и~восстановлено двоеточие +% как разделитель после нумерационного заголовка.}. Существует +% команда |\restylefloat*|, +% которая переопределяет стиль флота, но не затрагивает стиля подписи. +% В~этом случае пользователь сам отвечает за создание оформления подписей. +% \DeleteShortVerb{\|} +% %^^AEmulation of float's documentation settings +% %^^A\floatstyle{boxed} +% %^^A\restylefloat{table} +% \begingroup +% \clearcaptionsetup{table} +% \captionsetup{labelsep=default,labelfont=bf} +% \floatsetup[table]{style=boxed} +% \begin{table}[h] \def\B#1{$\displaystyle{n\choose#1}$} +% \begin{center} \begin{tabular}{c|cccccccc} +% $n$&\B0&\B1&\B2&\B3&\B4&\B5&\B6&\B7\\ \hline +% 0 & 1\\ +% 1 & 1&1\\ +% 2 & 1&2&1\\ +% 3 & 1&3&3&1\\ +% 4 & 1&4&6&4&1\\ +% 5 & 1&5&10&10&5&1\\ +% 6 & 1&6&15&20&15&6&1\\ +% 7 & 1&7&21&35&35&21&7&1 +% \end{tabular} \end{center} +% \caption{Треугольник Паскаля. Это переоформленное окружение +% \LaTeX'а \texttt{table}.%^^A +% \label{table1}} +% \end{table} +% \endgroup +% \MakeShortVerb{\|} +% +% \end{small} % +%^^A% |\floatsetup|, renamed or deleted after version 0.1b. +%\RestoreSpaces +% \begingroup\extrarowheight1.75pt\small\openup-.5pt\tabcolsep.5\tabcolsep\LTpre=0ptplus3pt\LTpost\LTpre +% \subsubsection{Команды и~ключи \cmd{\floatsetup}, +% удалённые после версии 0.1b} % Здесь приведены устаревшие макрокоманды, которые были заменены % ключами из команды |\floatsetup|, % переименованы или удалены после версии 0.1b. % -% \begingroup\extrarowheight1.75pt\small\tabcolsep.5\tabcolsep -% \medskip\parindent0pt -% \begin{tabular*}\hsize{@{\extracolsep{-.3ptplus1fill}}| +% \parindent0pt +% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}| % >{\rightskip0ptplus1fil}p{.35\hsize}| % >{\rightskip0ptplus1fil}p{.6\hsize}|} % \multicolumn{2}{c}{Удалённые или заменённые команды} @@ -3689,10 +6691,10 @@ % \\\hline % \cmd{\floatfootskip} & команда, а не величина % \\\hline -% \end{tabular*} +% \end{longtable} % % \vskip1pt -% \begin{tabular*}\hsize{@{\extracolsep{-.3ptplus1fill}}| +% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}| % >{\rightskip0ptplus1fil}p{.35\hsize}| % >{\rightskip0ptplus1fil}p{.6\hsize}|} % \multicolumn{2}{c}{Команды, заменённые на ключи} @@ -3763,11 +6765,10 @@ % \texttt{midcode=} (а также % \texttt{rowpercode} и \texttt{rowpostcode}) ключи % \\\hline -% \end{tabular*} +% \end{longtable} % % \vskip1pt -% -% \begin{tabular*}\hsize{@{\extracolsep{-.3ptplus1fill}}| +% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}| % >{\rightskip0ptplus1fil}p{.35\hsize}| % >{\rightskip0ptplus1fil}p{.6\hsize}|} % \multicolumn{2}{c}{Переименованные ключи} @@ -3776,6 +6777,7 @@ % & % \thead{Заменён на} % \\\hline +% \endhead % \texttt{attachedcapstyle=} & \texttt{relatedcapstyle=} % \\\hline % \texttt{floatstyle=} & \texttt{style=} @@ -3807,15 +6809,15 @@ % \end{tabular} & % \extrarowheight0pt\begin{tabular}[t]{@{}l@{}} % \vphantom{(}опции ключей \texttt{objectset=} -% и \texttt{margins=}\\\quad +% и~\texttt{margins=}\\\quad % (для унификации -% с аналогичными опциями\\\quad ключей в пакете -% \pkg{caption})\\ +% с~аналогичными опциями\\\quad ключей в~пакете +% \package{caption})\\ % \texttt{raggedright},\\ \texttt{raggedleft},\\ % \texttt{centering} % \end{tabular} % \\\hline -% \end{tabular*} +% \end{longtable} % \endgroup % \MakeShortVerb{\|}% % diff --git a/Master/texmf-dist/doc/latex/floatrow/floatrow.pdf b/Master/texmf-dist/doc/latex/floatrow/floatrow.pdf index 852b3950990..81745b6b811 100644 Binary files a/Master/texmf-dist/doc/latex/floatrow/floatrow.pdf and b/Master/texmf-dist/doc/latex/floatrow/floatrow.pdf differ diff --git a/Master/texmf-dist/doc/latex/floatrow/fr-sample.tex b/Master/texmf-dist/doc/latex/floatrow/fr-sample.tex index 1319e2be916..32574396229 100644 --- a/Master/texmf-dist/doc/latex/floatrow/fr-sample.tex +++ b/Master/texmf-dist/doc/latex/floatrow/fr-sample.tex @@ -217,9 +217,8 @@ Here was also used \env{subfloatrow} environment: \end{verbatim} \begin{figure} -\fcapside[\FBwidth] -{\begin{subfloatrow} -\subfloat[The simple PostScript file\label{subfig:A}]{\includegraphics{pslearn.eps}} +\fcapside[\FBwidth] {\begin{subfloatrow} \subfloat[The simple +PostScript file\label{subfig:A}]{\includegraphics{pslearn}} \subfloat[Black dog\label{subfig:B}]{\input{Blackdog.picture}} \end{subfloatrow}} @@ -366,10 +365,12 @@ graphics. \text}% \Text -\clearpage -Example of two-column or wide figure with caption below (see figure~\ref{floatbox:wbeside:fig}) -with two subfigures~\subref{subfig:wA} and \subref{subfig:wB}. +\clearpage Example of two-column or wide plain figure with caption +beside (see figure~\ref{plain:wbeside:fig}) with two +subfigures~\subref{subfig:wA} and \subref{subfig:wB} (the with for graphics equal 184pt). +\begingroup +\thisfloatsetup{capposition=beside,capbesidewidth=sidefil,floatwidth=184pt} \begin{figure*}[!t] %\fcapside[\FBwidth] {\begin{subfloatrow} @@ -379,8 +380,9 @@ with two subfigures~\subref{subfig:wA} and \subref{subfig:wB}. \end{subfloatrow}} {\caption{Wide beside caption width of object equals to width of graphics. \text}% -\label{floatbox:wbeside:fig}} +\label{plain:wbeside:fig}} \end{figure*} +\endgroup \Text @@ -405,7 +407,7 @@ Example of text box in \verb|\tcapside| with beside caption (see text box~\ref{f \begin{textbox*} \tcapside[1.2\hsize] {\TEXTBOX} -{\caption{Wide beside caption with of object box equals to 1.2``column'' width. \text}% +{\caption{Wide beside caption width of object box equals to 1.2``column'' width. \text}% \label{floatbox:wbeside:text}} \end{textbox*} @@ -417,7 +419,7 @@ Example of plain text box with beside caption (see text box~\ref{floatbox:wbesid \thisfloatsetup{capposition=beside} \begin{textbox*} {\TEXTBOX} -{\caption{Wide beside caption with of object box equals to 1.2``column'' width. \text}% +{\caption{Wide beside caption. \text}% \label{floatbox:wbeside:text}} \end{textbox*} diff --git a/Master/texmf-dist/doc/latex/floatrow/frsample03.tex b/Master/texmf-dist/doc/latex/floatrow/frsample03.tex index 07305ada627..8f79954157d 100644 --- a/Master/texmf-dist/doc/latex/floatrow/frsample03.tex +++ b/Master/texmf-dist/doc/latex/floatrow/frsample03.tex @@ -47,7 +47,7 @@ \IfFileExists{subfig.sty}{\usepackage[justification=centerlast]{subfig} \captionsetup[subtable]{format=default,labelfont=bf,textfont=sl} -\floatsetup{subfloatrowsep=quad} +\AtBeginDocument{\floatsetup{subfloatrowsep=quad}} \LoadSubfigtrue}{\LoadSubfigfalse} \let\wideemptyfloatpage\emptyfloatpage @@ -482,129 +482,5 @@ There were used \env{tabularx} environment in first row and \Text \Text -\normalfont -\begin{longtable}{@{}lll} - \caption{The ISOGRK3 entity set and more more more more more more more more more - more more more more more more more more more text}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endfirsthead -\noalign{\gdef\Continued{. \emph{Continued}}} -\caption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endhead - \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}} -\endfoot -\noalign{\gdef\Continued{}} - \hline -\endlastfoot -alpha & GREEK SMALL LETTER ALPHA & 03B1\\ -beta & GREEK SMALL LETTER BETA & 03B2\\ -chi & GREEK SMALL LETTER CHI & 03C7\\ -\empty -Delta & GREEK CAPITAL LETTER DELTA & 0394\\ -delta & GREEK SMALL LETTER DELTA & 03B4\\ -epsi & GREEK SMALL LETTER EPSILON & 03B5\\ -epsis & GREEK LUNATE EPSILON SYMBOL & 03F5\\ -epsiv & GREEK SMALL LETTER EPSILON & 03B5\\ -eta & GREEK SMALL LETTER ETA & 03B7\\ -Gamma & GREEK CAPITAL LETTER GAMMA & 0393\\ -gamma & GREEK SMALL LETTER GAMMA & 03B3\\ -gammad & GREEK SMALL LETTER DIGAMMA & 03DD\\ -iota & GREEK SMALL LETTER IOTA & 03B9\\ -kappa & GREEK SMALL LETTER KAPPA & 03BA\\ -kappav & GREEK KAPPA SYMBOL & 03F0\\ -Lambda & GREEK CAPITAL LETTER LAMDA & 039B\\ -lambda & GREEK SMALL LETTER LAMDA & 03BB\\ -mu & GREEK SMALL LETTER MU & 03BC\\ -nu & GREEK SMALL LETTER NU & 03BD\\ -Omega & GREEK CAPITAL LETTER OMEGA & 03A9\\ -omega & GREEK SMALL LETTER OMEGA & 03C9\\ -Phi & GREEK CAPITAL LETTER PHI & 03A6\\ -phis & GREEK PHI SYMBOL & 03D5\\ -phiv & GREEK SMALL LETTER PHI & 03C6\\ -Pi & GREEK CAPITAL LETTER PI & 03A0\\ -pi & GREEK SMALL LETTER PI & 03C0\\ -piv & GREEK PI SYMBOL & 03D6\\ -Psi & GREEK CAPITAL LETTER PSI & 03A8\\ -psi & GREEK SMALL LETTER PSI & 03C8\\ -rho & GREEK SMALL LETTER RHO & 03C1\\ -rhov & GREEK RHO SYMBOL & 03F1\\ -Sigma & GREEK CAPITAL LETTER SIGMA & 03A3\\ -sigma & GREEK SMALL LETTER SIGMA & 03C3\\ -sigmav & GREEK SMALL LETTER FINAL SIGMA & 03C2\\ -tau & GREEK SMALL LETTER TAU & 03C4\\ -Theta & GREEK CAPITAL LETTER THETA & 0398\\ -thetas & GREEK SMALL LETTER THETA & 03B8\\ -thetav & GREEK THETA SYMBOL & 03D1\\ -Upsi & GREEK UPSILON WITH HOOK SYMBOL & 03D2\\ -upsi & GREEK SMALL LETTER UPSILON & 03C5\\ -Xi & GREEK CAPITAL LETTER XI & 039E\\ -xi & GREEK SMALL LETTER XI & 03BE\\ -zeta & GREEK SMALL LETTER ZETA & 03B6\\ -\end{longtable} - -\begin{longtable}{!{\vrule width6pt}l|l|l!{\vrule width6pt}} - \caption{The ISOGRK3 entity set and more more more more more more more more more - more more more more more more more more more text}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endfirsthead -%>>> -\noalign{\gdef\Continued{. \emph{Continued}}} -%<<< -\caption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endhead - \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}} -\endfoot -%>>> -\noalign{\gdef\Continued{}} -%<<< - \hline -\endlastfoot -alpha & SMALL LETTER ALPHA & 03B1\\ -beta & SMALL LETTER BETA & 03B2\\ -chi & SMALL LETTER CHI & 03C7\\ -\empty -Delta & CAPITAL LETTER DELTA & 0394\\ -delta & SMALL LETTER DELTA & 03B4\\ -epsi & SMALL LETTER EPSILON & 03B5\\ -epsis & LUNATE EPSILON SYMBOL & 03F5\\ -epsiv & SMALL LETTER EPSILON & 03B5\\ -eta & SMALL LETTER ETA & 03B7\\ -Gamma & CAPITAL LETTER GAMMA & 0393\\ -gamma & SMALL LETTER GAMMA & 03B3\\ -gammad & SMALL LETTER DIGAMMA & 03DD\\ -iota & SMALL LETTER IOTA & 03B9\\ -kappa & SMALL LETTER KAPPA & 03BA\\ -kappav & KAPPA SYMBOL & 03F0\\ -Lambda & CAPITAL LETTER LAMDA & 039B\\ -lambda & SMALL LETTER LAMDA & 03BB\\ -mu & SMALL LETTER MU & 03BC\\ -nu & SMALL LETTER NU & 03BD\\ -Omega & CAPITAL LETTER OMEGA & 03A9\\ -omega & SMALL LETTER OMEGA & 03C9\\ -Phi & CAPITAL LETTER PHI & 03A6\\ -phis & PHI SYMBOL & 03D5\\ -phiv & SMALL LETTER PHI & 03C6\\ -Pi & CAPITAL LETTER PI & 03A0\\ -pi & SMALL LETTER PI & 03C0\\ -piv & PI SYMBOL & 03D6\\ -Psi & CAPITAL LETTER PSI & 03A8\\ -psi & SMALL LETTER PSI & 03C8\\ -rho & SMALL LETTER RHO & 03C1\\ -rhov & RHO SYMBOL & 03F1\\ -Sigma & CAPITAL LETTER SIGMA & 03A3\\ -sigma & SMALL LETTER SIGMA & 03C3\\ -sigmav & SMALL LETTER FINAL SIGMA & 03C2\\ -tau & SMALL LETTER TAU & 03C4\\ -Theta & CAPITAL LETTER THETA & 0398\\ -thetas & SMALL LETTER THETA & 03B8\\ -thetav & THETA SYMBOL & 03D1\\ -Upsi & UPSILON WITH HOOK SYMBOL & 03D2\\ -upsi & SMALL LETTER UPSILON & 03C5\\ -Xi & CAPITAL LETTER XI & 039E\\ -xi & SMALL LETTER XI & 03BE\\ -zeta & SMALL LETTER ZETA & 03B6\\ -\end{longtable} \end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/floatrow/frsample04.tex b/Master/texmf-dist/doc/latex/floatrow/frsample04.tex index b157441c1d4..99761839ec4 100644 --- a/Master/texmf-dist/doc/latex/floatrow/frsample04.tex +++ b/Master/texmf-dist/doc/latex/floatrow/frsample04.tex @@ -6,6 +6,7 @@ \usepackage{calc} \usepackage{tabularx,array} +\usepackage{graphicx} \IfFileExists{pstricks.sty}{\usepackage{pstricks}\psset{unit=1pt}}{} @@ -86,6 +87,7 @@ Thence goes third line of text \text Hence goes fourth line of text} \parskip0pt +\listfiles \begin{document} \chapter{Beside and Other Captions (Beta-Version Example)} diff --git a/Master/texmf-dist/doc/latex/floatrow/frsample05.tex b/Master/texmf-dist/doc/latex/floatrow/frsample05.tex index c5e5a1876de..25511b5aeaf 100644 --- a/Master/texmf-dist/doc/latex/floatrow/frsample05.tex +++ b/Master/texmf-dist/doc/latex/floatrow/frsample05.tex @@ -58,8 +58,8 @@ \makeatletter \DeclareCaptionFormat{hangorbreak}{\FBiffloatrow#1#2#3\par \else\@hangfrom{#1#2}% - \advance\captionparindent\hangindent - \advance\captionhangindent\hangindent + \advance\caption@parindent\hangindent + \advance\caption@hangindent\hangindent #3\par\fi} \makeatother diff --git a/Master/texmf-dist/doc/latex/floatrow/frsample10.tex b/Master/texmf-dist/doc/latex/floatrow/frsample10.tex index 37813e8bb31..881a48abcf7 100644 --- a/Master/texmf-dist/doc/latex/floatrow/frsample10.tex +++ b/Master/texmf-dist/doc/latex/floatrow/frsample10.tex @@ -62,7 +62,8 @@ \newif\ifLoadSubfig \IfFileExists{subfig.sty} {\usepackage[justification=centerlast,captionskip=7pt]{subfig} -\floatsetup{subfloatrowsep=columnsep} + +\AtBeginDocument{\floatsetup{subfloatrowsep=columnsep}} \LoadSubfigtrue}{\LoadSubfigfalse} diff --git a/Master/texmf-dist/doc/latex/floatrow/pictures.tex b/Master/texmf-dist/doc/latex/floatrow/pictures.tex index 9dbe06f2d33..395226c561b 100644 --- a/Master/texmf-dist/doc/latex/floatrow/pictures.tex +++ b/Master/texmf-dist/doc/latex/floatrow/pictures.tex @@ -66,6 +66,9 @@ showpage \end{picture}% \endgroup \else +\ifx\pdfdisplay\undefined\newenvironment{pdfdisplay}{}{}\fi +\begin{pdfdisplay}%^^A +\psset{unit=\unitlength}%^^A \begin{pspicture}(0,0)(61,103) \psset{linewidth=.125,linestyle=none,fillstyle=solid,fillcolor=black} \psellipse(20,85)(14,14) @@ -76,12 +79,14 @@ showpage \psbezier[linewidth=5.125,linestyle=solid,linecolor=black,fillstyle=none](16,19.5)(16,7.35)(25,2.5)(56,2.5) \psbezier[linewidth=5.125,linestyle=solid,linecolor=black,fillstyle=none](20,19.5)(20,7.35)(25,2.5)(56,2.5) \psellipse(56,2.5)(5,2.5) -\end{pspicture}% +\end{pspicture}%^^A +\end{pdfdisplay}%^^A \fi \endinput \end{filecontents*} % \begin{filecontents*}{BlackCat2.picture} +\ifx\pdfdisplay\undefined\newenvironment{pdfdisplay}{}{}\fi \ifx\pspicture\undefined \begin{picture}(35,136)(11,0) \put(28.5,3){\oval(24,6)[b]} @@ -101,8 +106,11 @@ showpage \put(22.67,136.33){\line(5,-6){8}} \qbezier(30.67,126.67)(33.67,122.6)(31,119.5) \put(39,64){\oval(11.67,16)[tr]} -\end{picture}% +\end{picture}%^^A \else +\ifx\pdfdisplay\undefined\newenvironment{pdfdisplay}{}{}\fi +\begin{pdfdisplay}%^^A +\psset{unit=\unitlength}%^^A \begin{pspicture}(11,0)(46,136) \psset{linewidth=.125,fillstyle=solid,fillcolor=black} \psframe[framearc=4](18,0)(42,8) @@ -112,7 +120,8 @@ showpage \psellipse(21.4,123.2)(11.4,7.2) \pspolygon[linestyle=none,fillstyle=solid,fillcolor=white] (10,123)(22,128)(22,136.2)(10,130.2) -\end{pspicture}% +\end{pspicture}%^^A +\end{pdfdisplay}%^^A \fi \endinput \end{filecontents*} @@ -159,8 +168,11 @@ showpage \qbezier[32](13.8,3.7)(10.8,3.7)(7.7,3.3) \qbezier[32](7.7,3.3)(5.7,3.3)(4.6,2.8) \qbezier[32](4.6,2.8)(2.2,2.5)(0.0,0.0) -\end{picture}% +\end{picture}%^^A \else +\ifx\pdfdisplay\undefined\newenvironment{pdfdisplay}{}{}\fi +\begin{pdfdisplay}%^^A +\psset{unit=\unitlength}%^^A \begin{pspicture}(0,0)(58,36) \psset{linewidth=.25} \psccurve(25.1,15.0)(16.7,16.8)(15.3,21.5)(18.7,26.8)(31.1,24.3)(32.0,18.0) @@ -181,7 +193,8 @@ showpage \pscurve(24.0,18.6)(26.9,14.0)(35.2,12.0) \pscurve(23.3,18.2)(24.2,16.5)(27.9,13.3)(35.2,12.0)(51.8,12.2)(57.7,8.3) (58.1,5.6)(47.7,1.9)(13.8,3.7)(7.7,3.3)(4.6,2.8)(2.2,2.0)(0.0,0.0) -\end{pspicture}% +\end{pspicture}%^^A +\end{pdfdisplay}%^^A \fi \endinput \end{filecontents*} @@ -265,9 +278,12 @@ showpage \Qbezier[0](23.7,16.9)(24.4,16.5)(24.5,16.0) \Qbezier[0](24.5,16.0)(25.5,14.6)(26.5,15.4) \Qbezier[0](23.7,16.9)(24.0,16.4)(24.5,16.0) -\end{picture}% +\end{picture}%^^A \endgroup \else +\ifx\pdfdisplay\undefined\newenvironment{pdfdisplay}{}{}\fi +\begin{pdfdisplay}%^^A +\psset{unit=\unitlength}%^^A \begin{pspicture}(0,0)(64,57) \psset{linewidth=.5,linestyle=solid,fillstyle=none} %^^A "checks" @@ -331,18 +347,8 @@ showpage (29.2,16.0)(27.5,18.0)(25.2,18.4)(22.9,17.2) (23.7,16.9)(24.4,16.5)(24.5,16.0)(25.5,14.6)(26.5,15.4) \psbezier(23.7,16.9)(24.0,16.4)(24.0,16.2)(24.5,16.0) -\end{pspicture}% -\fi -\endinput -\end{filecontents*} -% -\begin{filecontents*}{TheBlackCat.picture} -\ifx\pspicture\undefined -{\def\Qbezier[#1](#2,#3)(#4,#5)(#6,#7){\qbezier[#1](-#2,#3)(-#4,#5)(-#6,#7)}% -\thicklines\def\MOVERIGHT{-64}\fboxrule0pt\fbox{\input{TheCat.picture}}}% -\else -{\psset{linecolor=white,fillcolor=white} -\psframebox[fillstyle=solid,fillcolor=black]{\input{TheCat.picture}}}% +\end{pspicture}%^^A +\end{pdfdisplay}%^^A \fi \endinput \end{filecontents*} @@ -369,14 +375,204 @@ showpage \qbezier(55.7,14.4)(55.7,14.4)(59.7,18.4) \end{picture}% \else +\ifx\pdfdisplay\undefined\newenvironment{pdfdisplay}{}{}\fi +\begin{pdfdisplay}%^^A +\psset{unit=\unitlength}%^^A \begin{pspicture}(0,0)(60,37) \psset{linewidth=.25,linestyle=solid,linecolor=black,fillstyle=solid,fillcolor=black} \pspolygon(0,25.1)(13.4,26.3)(13.4,28.5)(19.3,28.5) (18.5,37.3)(26.7,28.5)(26.7,18.5)(54.0,18.5) (56.6,22.3)(56.6,28.0)(59.7,20.2)(55.7,14.4) (55.7,0)(16.7,0)(16.7,14.6)(1.8,12.2)(1.8,21.3) -\end{pspicture}% +\end{pspicture}%^^A +\end{pdfdisplay}%^^A \fi \endinput \end{filecontents*} +\begin{filecontents*}{Bear.picture} +\resizebox{100\unitlength}{106\unitlength}% +{{\unitlength1pt\begin{picture}(100,106)(-10,-18) +\put(40,60){\circle{40}} +\put(32,64){\circle*{6}} +\put(48,64){\circle*{6}} +\put(40,56){\circle*{5}} +\put(40,48){\line(0,1){8}} +\put(40,52){\oval(12,8)[b]} +% +\put(21.5,78) + {\put(0,0){\oval(20,20)[t]} + \put(0,0){\oval(20,20)[bl]} + \put(0,0){\circle{10}}} +\put(58.5,78) + {\put(0,0){\oval(20,20)[t]} + \put(0,0){\oval(20,20)[br]} + \put(0,0){\circle{10}}} +% +\put(40,-3){\oval(30,86)[t]} +% +\put(10,33) + {\put(0,0){\oval(32,16)} + \put(-8,0){\circle{8}} + \put(-18,0){\circle*{4}} + \put(-16,5){\circle*{4}} + \put(-16,-5){\circle*{4}}} +\put(70,33) + {\put(0,0){\oval(32,16)} + \put(8,0){\circle{8}} + \put(18,0){\circle*{4}} + \put(16,5){\circle*{4}} + \put(16,-5){\circle*{4}}} +% +\put(12,-10) + {{\put(4,0){\oval(30,16)[r]} + \put(4,2){\oval(42,20)[bl]} + \put(-8,11){\oval(18,18)[t]} + \put(4,11){\oval(6,6)[bl]} + \put(-17,0){\line(0,1){12}}} + \put(-8,20){\circle*{4}} + \put(-14,18){\circle*{4}} + \put(-2,18){\circle*{4}} + \put(-8,6){\oval(8,14)}} +\put(68,-10) + {{\put(-4,0){\oval(30,16)[l]} + \put(-4,2){\oval(42,20)[br]} + \put(8,11){\oval(18,18)[t]} + \put(-4,11){\oval(6,6)[br]} + \put(17,0){\line(0,1){12}}} + \put(8,20){\circle*{4}} + \put(14,18){\circle*{4}} + \put(2,18){\circle*{4}} + \put(8,6){\oval(8,14)}} +\put(40,-10){\oval(18,16)[b]} +\end{picture}}}%^^A +\endinput +\end{filecontents*} +\begin{filecontents*}{Cat.picture} +\resizebox{48\unitlength}{48\unitlength}% +{\unitlength1pt\begin{picture}(48,48)(-4,0) +\put(20,20){\oval(48,40)} +\put(10,20){\oval(12,12)[t]} +\put(30,20){\oval(12,12)[t]} +\put(10,20){\line(0,1){6}} +\put(30,20){\line(0,1){6}} +\put(4,20){\line(1,0){12}} +\put(36,20){\line(-1,0){12}} +\put(20,18){\oval(4,4)[b]} +\put(18,18){\line(1,0){4}} +\put(16,16){\oval(8,8)[b]} +\put(24,16){\oval(8,8)[b]} +\put(20,12){\oval(8,8)[b]} +\put(-4,20){\line(0,1){27.8}} +\put(44,20){\line(0,1){27.8}} +\put(-4,47.8){\line(1,-1){10}} +\put(44,47.8){\line(-1,-1){10}} +\end{picture}}%^^A +\endinput +\end{filecontents*} +\begin{filecontents*}{Cheese.picture} +\resizebox{80\unitlength}{40\unitlength}% +{\unitlength2pt\begin{picture}(40,20) +\put(20,20){\oval(40,40)[b]} +\put(20.2,20){\oval(40,40)[b]} +\put(19.8,20){\oval(40,40)[b]} +\put(20,19.8){\oval(40,40)[b]} +%\put(20,20){\oval(36,36)[b]} +% +\put(10,10){\circle{4}} +\put(20,5){\circle{3}} +\put(24,14){\circle{6}} +% +\put(14,20){\oval(8,8)[b]} +\put(32,20){\oval(4,4)[b]} +% +\put(0,20){\line(1,0){10}} +\put(18,20){\line(1,0){12}} +\put(34,20){\line(1,0){6}} +\end{picture}}%^^A +\endinput +\end{filecontents*} +\begin{filecontents*}{Doll.picture} +\resizebox{44\unitlength}{72\unitlength}% +{{\unitlength1pt\begin{picture}(44,72)(-22,1) +\put(0,57){\circle{24}} +\put(0,57){\circle{32}} +\put(5,57){\circle{5}}\put(-5,57){\circle{5}} +\put(-4.5,57){\circle*{3.6}} +\put(5.5,57){\circle*{3.6}} +\put(-1,54){\circle*{.5}} +\put(1,54){\circle*{.5}} +\put(-3,51){\line(1,0){6}} +\put(0,51){\oval(4,4)[b]} +\put(0,21){\circle{40}} +\put(-16,41.5){\circle{12}} +\put(16,41.5){\circle{12}} +\put(5,69){\oval(9,9.75)[bl]} +\put(4,69){\oval(9,9.75)[bl]} +\put(6,69){\oval(9,9.75)[bl]} +\put(7,68.75){\oval(9,9.25)[bl]} +\put(3,68.75){\oval(9,9.25)[bl]} +\put(8,68.5){\oval(9,9)[bl]} +\put(2,68.5){\oval(9,9)[bl]} +\put(0,36){\circle*{6}} +\put(0,27){\circle*{6}} +\end{picture}}}%^^A +\endinput +\end{filecontents*} +\begin{filecontents*}{Horse.picture} +\resizebox{54\unitlength}{62\unitlength}% +{{\unitlength1pt\begin{picture}(54,62)(1,-3) +\put(55,50){\line(0,-1){25}} +\put(55,25){\line(-1,0){5}} +\put(50,25){\line(0,1){5}} +\put(50,38){\oval(10,16)[bl]} +\put(45,-3){\oval(10,82)[tl]} +\put(40,-3){\line(-1,0){6}} +\put(34,-3){\line(0,1){22}} +\put(5,-3){\line(0,1){16}} +\put(5,-3){\line(1,0){6}} +\put(11,-3){\line(0,1){14}} +\put(11,19){\oval(16,16)[br]} +\put(19,19){\line(1,0){15}} +\put(5.8,15){\oval(3,3)[br]} +\put(1,15){\line(1,0){6.5}} +\put(1,15){\line(0,1){16}} +\put(9,30){\oval(16,16)[t]} +\put(38,45){\oval(28,28)[t]} +\put(24,45){\line(0,-1){15}} +\put(24,30){\line(-1,0){7}} +\end{picture}}}%^^A +\endinput +\end{filecontents*} +\begin{filecontents*}{TheDog.picture} +\resizebox{72\unitlength}{84\unitlength}% +{\unitlength1pt\begin{picture}(72,84) +\put(36,36){\circle*{12}} +\put(20,42){\circle*{12}} +\put(52,42){\circle*{12}} +\put(36,24){\oval(72,24)[t]} +\put(36,48){\oval(60,32)[t]} +\put(0,0){\line(0,1){24}} +\put(72,0){\line(0,1){24}} +\put(6,34){\line(0,1){14}} +\put(66,34){\line(0,1){14}} +\put(6,84){\oval(12,72)[bl]} +\put(66,84){\oval(12,72)[br]} +\put(0,84){\line(1,-1){20}} +\put(72,84){\line(-1,-1){20}} +\put(36,11){\line(0,1){25}} +\put(36,3){\oval(24,16)[t]} +\put(36,3){\oval(24,4)[b]} +\put(0,3){\oval(48,6)[br]} +\put(72,3){\oval(48,6)[bl]} +\end{picture}}%^^A +\endinput +\end{filecontents*} +\ifx\pdfoutput\undefined \else + \ifcase\pdfoutput \else + \IfFileExists{pslearn.pdf}{}{\PackageError{floatrow}{%^^A + For creation of PDF file\MessageBreak + you need to create pslearn.pdf file.\MessageBreak + Convert pslearn.eps to pslearn.pdf\MessageBreak + then run pdflatex}{}}%^^A +\fi\fi \endinput diff --git a/Master/texmf-dist/doc/latex/floatrow/sample-longtable-rus.tex b/Master/texmf-dist/doc/latex/floatrow/sample-longtable-rus.tex new file mode 100644 index 00000000000..23c8fb6e965 --- /dev/null +++ b/Master/texmf-dist/doc/latex/floatrow/sample-longtable-rus.tex @@ -0,0 +1,457 @@ +% This file installs three samples-variants of setting +% of Continued and Finished pages of long table +\begin{filecontents}{r-longtable.tex} +\begin{longtable}{@{}lll} +\caption{The ISOGRK3 entity set and more more more more more more more more more more more more more more more more more more text}\\ + \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline +\endfirsthead +\LTcontcaption{}\\ + \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline +\endhead +\LTfincaption{}\\ + \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline +\endlasthead + \hline \multicolumn{3}{@{}r@{}}{(\emph{продолжение на сл. странице})} +\endfoot + \hline \multicolumn{3}{@{}r@{}}{(\emph{окончание на сл. странице})} +\endprelastfoot +\noalign{\gdef\Continued{}\gdef\ContTable{}} + \hline +\endlastfoot +alpha & GREEK SMALL LETTER ALPHA & 03B1\\ +beta & GREEK SMALL LETTER BETA & 03B2\\ +chi & GREEK SMALL LETTER CHI & 03C7\\ +\empty +Delta & GREEK CAPITAL LETTER DELTA & 0394\\ +delta & GREEK SMALL LETTER DELTA & 03B4\\ +epsi & GREEK SMALL LETTER EPSILON & 03B5\\ +epsis & GREEK LUNATE EPSILON SYMBOL & 03F5\\ +epsiv & GREEK SMALL LETTER EPSILON & 03B5\\ +eta & GREEK SMALL LETTER ETA & 03B7\\ +Gamma & GREEK CAPITAL LETTER GAMMA & 0393\\ +gamma & GREEK SMALL LETTER GAMMA & 03B3\\ +gammad & GREEK SMALL LETTER DIGAMMA & 03DD\\ +iota & GREEK SMALL LETTER IOTA & 03B9\\ +kappa & GREEK SMALL LETTER KAPPA & 03BA\\ +kappav & GREEK KAPPA SYMBOL & 03F0\\ +Lambda & GREEK CAPITAL LETTER LAMDA & 039B\\ +lambda & GREEK SMALL LETTER LAMDA & 03BB\\ +mu & GREEK SMALL LETTER MU & 03BC\\ +nu & GREEK SMALL LETTER NU & 03BD\\ +Omega & GREEK CAPITAL LETTER OMEGA & 03A9\\ +omega & GREEK SMALL LETTER OMEGA & 03C9\\ +Phi & GREEK CAPITAL LETTER PHI & 03A6\\ +phis & GREEK PHI SYMBOL & 03D5\\ +phiv & GREEK SMALL LETTER PHI & 03C6\\ +Pi & GREEK CAPITAL LETTER PI & 03A0\\ +pi & GREEK SMALL LETTER PI & 03C0\\ +piv & GREEK PI SYMBOL & 03D6\\ +Psi & GREEK CAPITAL LETTER PSI & 03A8\\ +psi & GREEK SMALL LETTER PSI & 03C8\\ +rho & GREEK SMALL LETTER RHO & 03C1\\ +rhov & GREEK RHO SYMBOL & 03F1\\ +Sigma & GREEK CAPITAL LETTER SIGMA & 03A3\\ +sigma & GREEK SMALL LETTER SIGMA & 03C3\\ +sigmav & GREEK SMALL LETTER FINAL SIGMA & 03C2\\ +tau & GREEK SMALL LETTER TAU & 03C4\\ +Theta & GREEK CAPITAL LETTER THETA & 0398\\ +thetas & GREEK SMALL LETTER THETA & 03B8\\ +thetav & GREEK THETA SYMBOL & 03D1\\ +Upsi & GREEK UPSILON WITH HOOK SYMBOL & 03D2\\ +upsi & GREEK SMALL LETTER UPSILON & 03C5\\ +Xi & GREEK CAPITAL LETTER XI & 039E\\ +xi & GREEK SMALL LETTER XI & 03BE\\ +zeta & GREEK SMALL LETTER ZETA & 03B6\\ +% +% +% +alpha & SMALL LETTER ALPHA & 03B1\\ +beta & SMALL LETTER BETA & 03B2\\ +chi & SMALL LETTER CHI & 03C7\\ +\empty +Delta & CAPITAL LETTER DELTA & 0394\\ +delta & SMALL LETTER DELTA & 03B4\\ +epsi & SMALL LETTER EPSILON & 03B5\\ +epsis & LUNATE EPSILON SYMBOL & 03F5\\ +epsiv & SMALL LETTER EPSILON & 03B5\\ +eta & SMALL LETTER ETA & 03B7\\ +Gamma & CAPITAL LETTER GAMMA & 0393\\ +gamma & SMALL LETTER GAMMA & 03B3\\ +gammad & SMALL LETTER DIGAMMA & 03DD\\ +iota & SMALL LETTER IOTA & 03B9\\ +kappa & SMALL LETTER KAPPA & 03BA\\ +kappav & KAPPA SYMBOL & 03F0\\ +Lambda & CAPITAL LETTER LAMDA & 039B\\ +lambda & SMALL LETTER LAMDA & 03BB\\ +mu & SMALL LETTER MU & 03BC\\ +nu & SMALL LETTER NU & 03BD\\ +Omega & CAPITAL LETTER OMEGA & 03A9\\ +omega & SMALL LETTER OMEGA & 03C9\\ +Phi & CAPITAL LETTER PHI & 03A6\\ +phis & PHI SYMBOL & 03D5\\ +phiv & SMALL LETTER PHI & 03C6\\ +Pi & CAPITAL LETTER PI & 03A0\\ +pi & SMALL LETTER PI & 03C0\\ +piv & PI SYMBOL & 03D6\\ +Psi & CAPITAL LETTER PSI & 03A8\\ +psi & SMALL LETTER PSI & 03C8\\ +rho & SMALL LETTER RHO & 03C1\\ +rhov & RHO SYMBOL & 03F1\\ +Sigma & CAPITAL LETTER SIGMA & 03A3\\ +sigma & SMALL LETTER SIGMA & 03C3\\ +sigmav & SMALL LETTER FINAL SIGMA & 03C2\\ +tau & SMALL LETTER TAU & 03C4\\ +Theta & CAPITAL LETTER THETA & 0398\\ +thetas & SMALL LETTER THETA & 03B8\\ +thetav & THETA SYMBOL & 03D1\\ +Upsi & UPSILON WITH HOOK SYMBOL & 03D2\\ +upsi & SMALL LETTER UPSILON & 03C5\\ +Xi & CAPITAL LETTER XI & 039E\\ +xi & SMALL LETTER XI & 03BE\\ +zeta & SMALL LETTER ZETA & 03B6\\ +% +% +% +alpha & SMALL LETTER ALPHA & 03B1\\ +beta & SMALL LETTER BETA & 03B2\\ +chi & SMALL LETTER CHI & 03C7\\ +\empty +Delta & CAPITAL LETTER DELTA & 0394\\ +delta & SMALL LETTER DELTA & 03B4\\ +epsi & SMALL LETTER EPSILON & 03B5\\ +epsis & LUNATE EPSILON SYMBOL & 03F5\\ +epsiv & SMALL LETTER EPSILON & 03B5\\ +eta & SMALL LETTER ETA & 03B7\\ +Gamma & CAPITAL LETTER GAMMA & 0393\\ +gamma & SMALL LETTER GAMMA & 03B3\\ +gammad & SMALL LETTER DIGAMMA & 03DD\\ +iota & SMALL LETTER IOTA & 03B9\\ +kappa & SMALL LETTER KAPPA & 03BA\\ +kappav & KAPPA SYMBOL & 03F0\\ +Lambda & CAPITAL LETTER LAMDA & 039B\\ +lambda & SMALL LETTER LAMDA & 03BB\\ +mu & SMALL LETTER MU & 03BC\\ +nu & SMALL LETTER NU & 03BD\\ +Omega & CAPITAL LETTER OMEGA & 03A9\\ +omega & SMALL LETTER OMEGA & 03C9\\ +Phi & CAPITAL LETTER PHI & 03A6\\ +phis & PHI SYMBOL & 03D5\\ +phiv & SMALL LETTER PHI & 03C6\\ +Pi & CAPITAL LETTER PI & 03A0\\ +pi & SMALL LETTER PI & 03C0\\ +piv & PI SYMBOL & 03D6\\ +Psi & CAPITAL LETTER PSI & 03A8\\ +psi & SMALL LETTER PSI & 03C8\\ +rho & SMALL LETTER RHO & 03C1\\ +rhov & RHO SYMBOL & 03F1\\ +Sigma & CAPITAL LETTER SIGMA & 03A3\\ +sigma & SMALL LETTER SIGMA & 03C3\\ +sigmav & SMALL LETTER FINAL SIGMA & 03C2\\ +tau & SMALL LETTER TAU & 03C4\\ +Theta & CAPITAL LETTER THETA & 0398\\ +thetas & SMALL LETTER THETA & 03B8\\ +thetav & THETA SYMBOL & 03D1\\ +Upsi & UPSILON WITH HOOK SYMBOL & 03D2\\ +upsi & SMALL LETTER UPSILON & 03C5\\ +Xi & CAPITAL LETTER XI & 039E\\ +xi & SMALL LETTER XI & 03BE\\ +zeta & SMALL LETTER ZETA & 03B6\\ +% +% +% +alpha & SMALL LETTER ALPHA & 03B1\\ +beta & SMALL LETTER BETA & 03B2\\ +chi & SMALL LETTER CHI & 03C7\\ +\empty +Delta & CAPITAL LETTER DELTA & 0394\\ +delta & SMALL LETTER DELTA & 03B4\\ +epsi & SMALL LETTER EPSILON & 03B5\\ +epsis & LUNATE EPSILON SYMBOL & 03F5\\ +epsiv & SMALL LETTER EPSILON & 03B5\\ +eta & SMALL LETTER ETA & 03B7\\ +Gamma & CAPITAL LETTER GAMMA & 0393\\ +gamma & SMALL LETTER GAMMA & 03B3\\ +gammad & SMALL LETTER DIGAMMA & 03DD\\ +iota & SMALL LETTER IOTA & 03B9\\ +kappa & SMALL LETTER KAPPA & 03BA\\ +kappav & KAPPA SYMBOL & 03F0\\ +Lambda & CAPITAL LETTER LAMDA & 039B\\ +lambda & SMALL LETTER LAMDA & 03BB\\ +mu & SMALL LETTER MU & 03BC\\ +nu & SMALL LETTER NU & 03BD\\ +Omega & CAPITAL LETTER OMEGA & 03A9\\ +omega & SMALL LETTER OMEGA & 03C9\\ +Phi & CAPITAL LETTER PHI & 03A6\\ +phis & PHI SYMBOL & 03D5\\ +phiv & SMALL LETTER PHI & 03C6\\ +Pi & CAPITAL LETTER PI & 03A0\\ +pi & SMALL LETTER PI & 03C0\\ +piv & PI SYMBOL & 03D6\\ +Psi & CAPITAL LETTER PSI & 03A8\\ +psi & SMALL LETTER PSI & 03C8\\ +rho & SMALL LETTER RHO & 03C1\\ +rhov & RHO SYMBOL & 03F1\\ +Sigma & CAPITAL LETTER SIGMA & 03A3\\ +sigma & SMALL LETTER SIGMA & 03C3\\ +sigmav & SMALL LETTER FINAL SIGMA & 03C2\\ +tau & SMALL LETTER TAU & 03C4\\ +Theta & CAPITAL LETTER THETA & 0398\\ +thetas & SMALL LETTER THETA & 03B8\\ +thetav & THETA SYMBOL & 03D1\\ +Upsi & UPSILON WITH HOOK SYMBOL & 03D2\\ +upsi & SMALL LETTER UPSILON & 03C5\\ +Xi & CAPITAL LETTER XI & 039E\\ +xi & SMALL LETTER XI & 03BE\\ +zeta & SMALL LETTER ZETA & 03B6\\ +\end{longtable} +\endinput +% end of r-longtable.tex +\end{filecontents} +\documentclass{book} + +\usepackage{mathtext} +\usepackage[T2A]{fontenc} +\usepackage[cp1251]{inputenc} +\usepackage[english,russian]{babel} + +\advance\textwidth.5in +\advance\evensidemargin-.25in +\advance\oddsidemargin-.25in + +\usepackage{array,fr-longtable} +\usepackage{floatrow} +\usepackage[labelsep=newline]{caption} +\floatsetup[longtable]{font={small,sf},LTcapwidth=table,margins=centering, + captionskip=5pt} +\captionsetup[longtable]{font={small,rm}} + +\DeclareCaptionLabelFormat{LTrightlabelcont}% + {\rightline{\bothIfFirst{#1}{ }#2\ContTable}} +\DeclareCaptionLabelFormat{labelcont}% + {\rightline{\bothIfFirst{\ContTable}{ }#2}} +% +% Then define text for continued/finished table head, \ldots +\newcommand\ContTable{} +% +% caption for continued head, \ldots +\newcommand\LTcontcaptionI[1]{% + \noalign{\gdef\ContTable{\captioncontinued}} + \caption[]{#1}} +% +% and caption for finished head. (At the |\lastfoot| definition the |\ContTable| +% must be defined as empty). +\newcommand\LTfincaptionI[1]{% + \noalign{\gdef\ContTable{\captionfinished}} + \caption[]{#1}} +% +% caption for continued head, \ldots +\newcommand\LTcontcaptionII{% + \caption[]{\emph{Продолжение}}} +% +% and caption for finished head. +\newcommand\LTfincaptionII{% + \caption[]{\emph{Окончание}}} +% +% caption for continued head, \ldots +\newcommand\LTcontcaptionIII[1]{% + \noalign{\gdef\ContTable{\emph{Продолжение табл.}}} + \caption[]{#1}} +% +% and caption for finished head. (At the |\lastfoot| definition the +% |\ContTable| must be defined as empty). +\newcommand\LTfincaptionIII[1]{% + \noalign{\gdef\ContTable{\emph{Окончание табл.}}} + \caption[]{#1}} + +% +% The examples of continued and finished heads. +\newcommand\captioncontinued{. \emph{Продолжение}} +\newcommand\captionfinished{. \emph{Окончание}} + +% +% Then define text for continued/finished table head, \ldots + +\begin{document} + +\chapter[Шапки и~подвалы в~окружении \texttt{longtable}]{Последняя шапка и~предпоследний подвал в~окружении \texttt{longtable}} + +Данный файл демонстрирует примеры задания последней шапки и~предпоследнего подвала +в~многостраничной таблице \texttt{longtable}. Все примеры распечатываются различными кеглями только для того чтобы протестировать алгоритм подсчёта числа страниц в~таблице. + +Общие настройки: +\begin{quote}\obeylines\parskip0pt +\verb|\floatsetup[longtable]{font={small,sf},LTcapwidth=table,| +\verb| margins=centering,captionskip=5pt}| +\verb|\captionsetup[longtable]{font={small,rm}}| +\end{quote} +В~данном файле в~таблице используется рубленый шрифт, чтобы восстановить семейство +шрифта основного текста для подписи в~настройках подписи задана опция, восстанавливающая +нормальный шрифт. + +Начало таблицы во всех примерах выглядит следующим образом: +\begin{quote}\obeylines\parskip0pt +\verb|\begin{longtable}{@{}lll}| +\verb|\caption{The ISOGRK3 entity set and more more more more more more| +\verb| more more more more more more more more more more more text}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endfirsthead| +\verb|\LTcontcaption{}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endhead| +\verb|\LTfincaption{}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endlasthead| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}}| +\verb|\endfoot| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Finished on next page}}| +\verb|\endprelastfoot| +\verb|\noalign{\gdef\Continued{}\gdef\ContTable{}}| +\verb| \hline| +\verb|\endlastfoot| +\end{quote} +В~блоке команды \verb|\lastfoot| определения используемых в~примерах команд \verb|\Continued| и~\verb|\ContTable| глобально «опустошаются». + +Помимо команд, определённых пакетом \textsf{fr-longtable}: \verb|\endlasthead| +для задания последней шапки и~\verb|\endprelastfoot| \cdash--- для предпоследнего подвала, +в~данном файле используются две специальные команды для табличных заголовков, использующих +стандартную команду \verb|\caption|: \verb|\LTcontcaption| \cdash--- для шапках"=продолжениях +и~\verb|\LTfincaption| для последней шапки. Во всех трёх примерах используются +различные их определения. + +\section{Вариант~I} + +Для первого примера определены специальные настройки \texttt{LTrightlabelcont} для +нумерационной части табличного заголовка +(в~данном файле они заданы в~группе с~многостраничной таблицей, но в~обычном документе +это задаётся в~преамбуле в~настройках \verb|\captionsetup[longtable]|): +\begin{quote}\obeylines\parskip0pt +\verb|\DeclareCaptionLabelFormat{LTrightlabelcont}%| +\verb| {\rightline{\bothIfFirst{#1}{ }#2\ContTable}}| +\end{quote} + +Следующие определения даются в~командах \verb|\LTcontcaption| и~\verb|\LTfincaption|: +табличный заголовок, \verb|\caption|, для шапок"=продолжений: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTcontcaption[1]{%| +\verb| \noalign[]{\gdef\ContTable{\captioncontinued}}| +\verb| \caption{#1}}| +\end{quote} +и~табличный заголовок для последней шапки: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTfincaption[1]{%| +\verb| \noalign[]{\gdef\ContTable{\captionfinished}}| +\verb| \caption{#1}}| +\end{quote} +Команды \verb|\captioncontinued| и~\verb|\captionfinished| определяют слова +«Продолжение» и~«Окончание». + +\begingroup +\captionsetup[longtable]{labelformat=LTrightlabelcont} +\floatsetup[longtable]{font={Large,sf}} +%\def\LTlastpage{5} +\let\LTcontcaption\LTcontcaptionI +\let\LTfincaption\LTfincaptionI +\input r-longtable.tex + +\endgroup + +\clearpage +\section{Вариант~II} + +Для второго примера +заданы такие определения \verb|\LTcontcaption| и~\verb|\LTfincaption|: +для шапки"=продолжения: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTcontcaption{%| +\verb| \caption[]{\emph{Продолжение}}}| +\end{quote} +для последней шапки: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTfincaption{%| +\verb| \caption[]{\emph{Окончание}}}| +\end{quote} +Слова +«Продолжение» и~«Окончание» заданы в~определениях \verb|\LTcontcaption| и~\verb|\LTfincaption|. + +В~данном примере видно, что в~использовании специальных команд + \verb|\LTcontcaption| и~\verb|\LTfincaption| нет необходимости. + И~преамбула таблицы может быть задана в~виде: +\begin{quote}\obeylines\parskip0pt +\verb|\begin{longtable}{@{}lll}| +\verb|\caption{The ISOGRK3 entity set and more more more more more more| +\verb| more more more more more more more more more more more text}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endfirsthead| +\verb|\caption[]{\emph{Continued}}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endhead| +\verb|\caption[]{\emph{Finished}}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endlasthead| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}}| +\verb|\endfoot| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Finished on next page}}| +\verb|\endprelastfoot| +\verb|\noalign{\gdef\Continued{}\gdef\ContTable{}}| +\verb| \hline| +\verb|\endlastfoot| +\end{quote} + +\begingroup +\captionsetup[table]{labelsep=period,singlelinecheck=no} +%\def\LTlastpage{5} +\let\LTcontcaption\LTcontcaptionII +\let\LTfincaption\LTfincaptionII +\input r-longtable.tex + +\endgroup + +\clearpage +\section{Вариант~III} + +Для третьего варианта используется формат нумерационной части заголовка +\texttt{LTrightlabelcont} +(опять же, в~данном файле они заданы в~группе с~многостраничной таблицей, но в~обычном документе +это задаётся в~преамбуле в~настройках \verb|\captionsetup[longtable]|): +\begin{quote}\obeylines\parskip0pt +\verb|\DeclareCaptionLabelFormat{labelcont}%| +\verb| {\rightline{\bothIfFirst{\ContTable}{ }#2}}| +\end{quote} + +Определения \verb|\LTcontcaption| и~\verb|\LTfincaption|: +для шапок"=продолжений: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTcontcaptionIII[1]{%| +\verb| \noalign{\gdef\ContTable{\emph{Continuation of \tablename}}}| +\verb| \caption[]{#1}}| +\end{quote} +для последней шапки: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTfincaptionIII[1]{%| +\verb| \noalign{\gdef\ContTable{\emph{Finishing of \tablename}}}| +\verb| \caption[]{#1}}| +\end{quote} + +\begingroup +\captionsetup[table]{labelformat=labelcont} +\floatsetup[longtable]{font={scriptsize,sf}} +%\def\LTlastpage{5} +\let\scriptsize\tiny +\let\LTcontcaption\LTcontcaptionIII +\let\LTfincaption\LTfincaptionIII +\renewcommand\ContTable{\tablename} + +\input r-longtable.tex + +\endgroup + +\listoftables + +\end{document} +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/floatrow/sample-longtable.tex b/Master/texmf-dist/doc/latex/floatrow/sample-longtable.tex index 06cd012b883..10195f2fe28 100644 --- a/Master/texmf-dist/doc/latex/floatrow/sample-longtable.tex +++ b/Master/texmf-dist/doc/latex/floatrow/sample-longtable.tex @@ -8,59 +8,24 @@ % 3) s-longtable3.tex % Redefines \tablename command: ``Continuation of table 1. % and ``Finishing of table 1.'' (Is that correct English form?) -\begin{filecontents}{t-longtable.sty} -% \iffalse -% t-longtable.sty - Patch to longtable package -\ProvidesPackage{t-longtable} - [2006/06/23 v0.0a (ALPHA-temp) Patch to longtable package] -% \fi -% \begin{macrocode} -\RequirePackage{longtable}[2004/02/01] -% \end{macrocode} -% The box for last head. Defined in the same way as others. -% \begin{macrocode} -\newbox\LT@lasthead -% \end{macrocode} -% This counter register to count long table pages. -% \begin{macrocode} -\newcounter{LTpage} -% \end{macrocode} -% This command (number of longtable's page) defined by hand for -% each table. The default number is~2. -% \begin{macrocode} -\newcommand\LTlastpage{2} -% \end{macrocode} -% Storing of original definition of |\longtable|. -% In new definition was added counter of longtable's pages. -% \begin{macrocode} -\@ifdefinable\TeXr@ori@longtable{\let\TeXr@ori@longtable\longtable} -\def\longtable{% - \setcounter{LTpage}\@ne - \TeXr@ori@longtable} -% \end{macrocode} -% Storing original definition of |\LT@ouput|. -% Here, in new definition, added increasing of \texttt{LTpage}. -% In the case of defined |\lasthead| contents and last page was -% checked, the contents of last head loaded. -% \begin{macrocode} -\@ifdefinable\TeXr@ori@LT@output{\let\TeXr@ori@LT@output\LT@output} -\def\LT@output{% - \addtocounter{LTpage}\@ne - \ifvoid\LT@lasthead\else - \ifnum\value{LTpage}=\LTlastpage - \let\LT@head\LT@lasthead - \fi - \fi - \TeXr@ori@LT@output} -% \end{macrocode} -% The definition of last head box. Defined in the same way as others. -% \begin{macrocode} -\def\endlasthead{\LT@end@hd@ft\LT@lasthead} -% \end{macrocode} -% -\endinput -\end{filecontents} \begin{filecontents}{s-longtable.tex} +\begin{longtable}{@{}lll} +\caption{The ISOGRK3 entity set and more more more more more more more more more more more more more more more more more more text}\\ + \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline +\endfirsthead +\LTcontcaption{}\\ + \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline +\endhead +\LTfincaption{}\\ + \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline +\endlasthead + \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}} +\endfoot + \hline \multicolumn{3}{@{}r@{}}{\emph{Finished on next page}} +\endprelastfoot +\noalign{\gdef\Continued{}\gdef\ContTable{}} + \hline +\endlastfoot alpha & GREEK SMALL LETTER ALPHA & 03B1\\ beta & GREEK SMALL LETTER BETA & 03B2\\ chi & GREEK SMALL LETTER CHI & 03C7\\ @@ -246,197 +211,245 @@ upsi & SMALL LETTER UPSILON & 03C5\\ Xi & CAPITAL LETTER XI & 039E\\ xi & SMALL LETTER XI & 03BE\\ zeta & SMALL LETTER ZETA & 03B6\\ +\end{longtable} \endinput % end of s-longtable.tex \end{filecontents} -\begin{filecontents}{s-longtable1.tex} \documentclass{book} -\usepackage{array,t-longtable} +\advance\textwidth.5in +\advance\evensidemargin-.25in +\advance\oddsidemargin-.25in + \usepackage{floatrow} +\usepackage{array,fr-longtable} \usepackage[labelsep=newline]{caption} \floatsetup[longtable]{font={small,sf},LTcapwidth=table,margins=centering, captionskip=5pt} \captionsetup[longtable]{font={small,rm}} -\DeclareCaptionLabelFormat{rightlabelcont}% +\DeclareCaptionLabelFormat{LTrightlabelcont}% {\rightline{\bothIfFirst{#1}{ }#2\ContTable}} +\DeclareCaptionLabelFormat{labelcont}% + {\rightline{\bothIfFirst{\ContTable}{ }#2}} % % Then define text for continued/finished table head, \ldots \newcommand\ContTable{} % % caption for continued head, \ldots -\newcommand\LTcontcaption[1]{% +\newcommand\LTcontcaptionI[1]{% \noalign{\gdef\ContTable{\captioncontinued}} - \caption{#1}} + \caption[]{#1}} % % and caption for finished head. (At the |\lastfoot| definition the |\ContTable| % must be defined as empty). -\newcommand\LTfincaption[1]{% +\newcommand\LTfincaptionI[1]{% \noalign{\gdef\ContTable{\captionfinished}} - \caption{#1}} + \caption[]{#1}} +% +% caption for continued head, \ldots +\newcommand\LTcontcaptionII{% + \caption[]{\emph{Continued}}} +% +% and caption for finished head. +\newcommand\LTfincaptionII{% + \caption[]{\emph{Finished}}} +% +% caption for continued head, \ldots +\newcommand\LTcontcaptionIII[1]{% + \noalign{\gdef\ContTable{\emph{Continuation of \tablename}}} + \caption[]{#1}} +% +% and caption for finished head. (At the |\lastfoot| definition the +% |\ContTable| must be defined as empty). +\newcommand\LTfincaptionIII[1]{% + \noalign{\gdef\ContTable{\emph{Finishing of \tablename}}} + \caption[]{#1}} + % % The examples of continued and finished heads. \newcommand\captioncontinued{. \emph{Continued}} \newcommand\captionfinished{. \emph{Finished}} +% +% Then define text for continued/finished table head, \ldots + \begin{document} -\chapter{Defining head of last page of long table: variant~1} +\chapter[Heads and Foots in Longtable]{Last Head And Last But One Foot In Longtable} -Here is example of defining of last head in long table. The words ``Continued'' and ``Finished'' defined by \verb|\ContTable| and added at the label of table caption: label format \texttt{rightlabelcont} (it will be defined for long table in group). These definitions are loaded in \verb|\LTcontcaption| and \verb|\LTfincaption| macros. At the \verb|\lastfoot| set \verb|\ContTable| emptied. +This file shows three examples of defining of last head and foot before last of +long table. They are printed in different sizes just to check work of page counting +algorithm. -The last page (number of table pages) of table defined ``by hand'' by command \verb|\LTlastpage|. Here: -\begin{verbatim} -\def\LTlastpage{5} -\end{verbatim} +The common settings: +\begin{quote}\obeylines\parskip0pt +\verb|\floatsetup[longtable]{font={small,sf},LTcapwidth=table,| +\verb| margins=centering,captionskip=5pt}| +\verb|\captionsetup[longtable]{font={small,rm}}| +\end{quote} +Here table font family settings are different from caption. In this case +font family settings were loaded in both setups. -\begingroup -\captionsetup[table]{labelformat=rightlabelcont} -\def\LTlastpage{5} +The body of long table is written in following way: +\begin{quote}\obeylines\parskip0pt +\verb|\begin{longtable}{@{}lll}| +\verb|\caption{The ISOGRK3 entity set and more more more more more more| +\verb| more more more more more more more more more more more text}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endfirsthead| +\verb|\LTcontcaption{}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endhead| +\verb|\LTfincaption{}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endlasthead| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}}| +\verb|\endfoot| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Finished on next page}}| +\verb|\endprelastfoot| +\verb|\noalign{\gdef\Continued{}\gdef\ContTable{}}| +\verb| \hline| +\verb|\endlastfoot| +\end{quote} +At the \verb|\lastfoot| set definitions of macros \verb|\Continued| and +\verb|\ContTable| globally emptied. -\begin{longtable}{@{}lll} -\caption{The ISOGRK3 entity set and more more more more more more more more more more more more more more more more more more text}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endfirsthead -\LTcontcaption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endhead -\LTfincaption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endlasthead - \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}} -\endfoot -\noalign{\gdef\Continued{}} - \hline -\endlastfoot -\input s-longtable.tex -\end{longtable} - -\endgroup -\end{document} -% end of s-longtable1.tex -\end{filecontents} -\begin{filecontents}{s-longtable2.tex} -\documentclass{book} - -\usepackage{array,t-longtable} -\usepackage{floatrow} -\usepackage[labelsep=period,singlelinecheck=no]{caption} -\floatsetup[table]{LTcapwidth=table,margins=raggedright,captionskip=5pt} - -\DeclareCaptionLabelFormat{rightlabelcont}% - {\rightline{\bothIfFirst{#1}{ }#2\ContTable}} -% -% caption for continued head, \ldots -\newcommand\LTcontcaption[1]{% - \caption{\emph{Continued}. #1}} -% -% and caption for finished head. -\newcommand\LTfincaption[1]{% - \caption{\emph{Finished}. #1}} +Besides of \verb|\endlasthead| command defined by \textsf{fr-longtable} package for +last head of table and \verb|\endprelastfoot|---for foot before last, there are +defined two special commands for captions: \verb|\LTcontcaption|---for continued pages +and \verb|\LTfincaption| for finishing page in this sample file. In the three examples +below they are defined in different way. -\begin{document} +\section{Variant~I} -\chapter{Defining head of last page of long table: variant~2} +For the first variant defined the label format \texttt{LTrightlabelcont} +(it will be defined for long table in group): +\begin{quote}\obeylines\parskip0pt +\verb|\DeclareCaptionLabelFormat{LTrightlabelcont}%| +\verb| {\rightline{\bothIfFirst{#1}{ }#2\ContTable}}| +\end{quote} -Here is example of defining of last head in long table. The words ``Continued'' and ``Finished'' added in caption text. The last page (number table of pages) of table defined by hand by command \verb|\LTlastpage|. Here: -\begin{verbatim} -\def\LTlastpage{5} -\end{verbatim} -(If you use \verb|\caption| instead of \verb|\LTcontcaption| and \verb|\LTfincaption| definitions, you ought to reduce \verb|\LTlastpage| by~1, in this example equal~4.) -\def\LTlastpage{5} +These definitions are loaded in \verb|\LTcontcaption| and \verb|\LTfincaption| macros: +caption for continued head: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTcontcaption[1]{%| +\verb| \noalign[]{\gdef\ContTable{\captioncontinued}}| +\verb| \caption{#1}}| +\end{quote} +and caption for finished head: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTfincaption[1]{%| +\verb| \noalign[]{\gdef\ContTable{\captionfinished}}| +\verb| \caption{#1}}| +\end{quote} +The \verb|\captioncontinued| and \verb|\captionfinished| commands define words +``Continued'' and ``Finished'' consequently. \begingroup -%\captionsetup[table]{labelformat=rightlabelcont} - -\begin{longtable}{@{}lll} -\caption{The ISOGRK3 entity set and more more more more more more more more more more more more more more more more more more text}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endfirsthead -\LTcontcaption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endhead -\LTfincaption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endlasthead - \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}} -\endfoot -\noalign{\gdef\Continued{}} - \hline -\endlastfoot +\captionsetup[longtable]{labelformat=LTrightlabelcont} +\floatsetup[longtable]{font={Large,sf}} +%\def\LTlastpage{5} +\let\LTcontcaption\LTcontcaptionI +\let\LTfincaption\LTfincaptionI \input s-longtable.tex -\end{longtable} \endgroup -\end{document} -% end of s-longtable2.tex -\end{filecontents} -\begin{filecontents}{s-longtable3.tex} -\documentclass{book} -\usepackage{array,t-longtable} -\usepackage{floatrow} -\usepackage[labelsep=newline]{caption} -\floatsetup[table]{font={small,sf},LTcapwidth=table,margins=raggedright, - captionskip=5pt} -\captionsetup[longtable]{font={small,rm}} +\clearpage +\section{Variant~II} -\DeclareCaptionLabelFormat{labelcont}% - {\rightline{\bothIfFirst{\ContTable}{ }#2}} -% -% Then define text for continued/finished table head, \ldots -\newcommand\ContTable{\tablename} -% -% caption for continued head, \ldots -\newcommand\LTcontcaption[1]{% - \noalign{\gdef\ContTable{\emph{Continuation of \tablename}}} - \caption{#1}} -% -% and caption for finished head. (At the |\lastfoot| definition the -% |\ContTable| must be defined as empty). -\newcommand\LTfincaption[1]{% - \noalign{\gdef\ContTable{\emph{Finishing of \tablename}}} - \caption{#1}} +For the second there +are loaded definitions of \verb|\LTcontcaption| and \verb|\LTfincaption| macros: +caption for continued head: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTcontcaption{%| +\verb| \caption[]{\emph{Continued}}}| +\end{quote} +and caption for finished head: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTfincaption{%| +\verb| \caption[]{\emph{Finished}}}| +\end{quote} +The words +``Continued'' and ``Finished'' defined in \verb|\LTcontcaption| and \verb|\LTfincaption| +macros. -\begin{document} +You may see that usage of \verb|\LTcontcaption| and \verb|\LTfincaption| is rather unnecessary. And preamble of \textsf{longtable} could be +\begin{quote}\obeylines\parskip0pt +\verb|\begin{longtable}{@{}lll}| +\verb|\caption{The ISOGRK3 entity set and more more more more more more| +\verb| more more more more more more more more more more more text}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endfirsthead| +\verb|\caption[]{\emph{Continued}}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endhead| +\verb|\caption[]{\emph{Finished}}\\| +\verb| \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\| +\verb|\hline| +\verb|\endlasthead| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}}| +\verb|\endfoot| +\verb| \hline \multicolumn{3}{@{}r@{}}{\emph{Finished on next page}}| +\verb|\endprelastfoot| +\verb|\noalign{\gdef\Continued{}\gdef\ContTable{}}| +\verb| \hline| +\verb|\endlastfoot| +\end{quote} -\chapter{Defining head of last page of long table: variant~3} +\begingroup +\captionsetup[table]{labelsep=period,singlelinecheck=no} +%\def\LTlastpage{5} +\let\LTcontcaption\LTcontcaptionII +\let\LTfincaption\LTfincaptionII +\input s-longtable.tex + +\endgroup -Here is example of defining of last head in long table. The words ``Continuation of'' and ``Finishing of'' added in the \verb|\ContTable| definition. This command used instead of \verb|\tablename| in tale label. The last page (number of table pages) of table defined by hand by command \verb|\LTlastpage|. Here: -\begin{verbatim} -\def\LTlastpage{5} -\end{verbatim} +\clearpage +\section{Variant~III} -\def\LTlastpage{5} +For the first variant defined the label format \texttt{LTrightlabelcont} +(it will be defined for long table in group): +\begin{quote}\obeylines\parskip0pt +\verb|\DeclareCaptionLabelFormat{labelcont}%| +\verb| {\rightline{\bothIfFirst{\ContTable}{ }#2}}| +\end{quote} -\begingroup\sffamily +There are definitions of \verb|\LTcontcaption| and \verb|\LTfincaption| macros: +caption for continued head: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTcontcaptionIII[1]{%| +\verb| \noalign{\gdef\ContTable{\emph{Continuation of \tablename}}}| +\verb| \caption[]{#1}}| +\end{quote} +and caption for finished head: +\begin{quote}\obeylines\parskip0pt +\verb|\newcommand\LTfincaptionIII[1]{%| +\verb| \noalign{\gdef\ContTable{\emph{Finishing of \tablename}}}| +\verb| \caption[]{#1}}| +\end{quote} + +\begingroup \captionsetup[table]{labelformat=labelcont} +\floatsetup[longtable]{font={scriptsize,sf}} +%\def\LTlastpage{5} +\let\scriptsize\tiny +\let\LTcontcaption\LTcontcaptionIII +\let\LTfincaption\LTfincaptionIII +\renewcommand\ContTable{\tablename} -\begin{longtable}{@{}lll} -\caption{The ISOGRK3 entity set and more more more more more more more more more more more more more more more more more more text}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endfirsthead -\LTcontcaption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endhead -\LTfincaption{}\\ - \bfseries Entity&\bfseries Unicode Name&\bfseries Unicode\\ \hline -\endlasthead - \hline \multicolumn{3}{@{}r@{}}{\emph{Continued on next page}} -\endfoot -\noalign{\gdef\Continued{}} - \hline -\endlastfoot \input s-longtable.tex -\end{longtable} \endgroup + +\listoftables + \end{document} -% end of s-longtable3.tex -\end{filecontents} -%Run LaTeX trough one of the following files -\input s-longtable1.tex -%\input s-longtable2.tex -%\input s-longtable3.tex \endinput \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/floatrow/floatrow.dtx b/Master/texmf-dist/source/latex/floatrow/floatrow.dtx index 3b1c2bed19c..7f4c2684946 100644 --- a/Master/texmf-dist/source/latex/floatrow/floatrow.dtx +++ b/Master/texmf-dist/source/latex/floatrow/floatrow.dtx @@ -1,6 +1,6 @@ % \iffalse % floatrow.dtx - The float row package (extension of float package) -% (c) 2004-2006 Olga Lapko (Lapko.O@g23.relcom.ru) +% (c) 2004-2007 Olga Lapko (Lapko.O@g23.relcom.ru) % % This package borrowed code (core parts) from: % float package 2001/11/08 v1.3d, @@ -9,7 +9,7 @@ % Copyright (c) 1995-2002 Axel Sommerfeldt % % During creation of floatsetup stuff there was borrowed code structure -% from caption package v3.x ((c) 1994-2006 Axel Sommerfeldt) +% from caption package v3.x ((c) 1994-2007 Axel Sommerfeldt) % % This program is provided under the terms of the % LaTeX Project Public License distributed from CTAN @@ -18,89 +18,130 @@ %<*dtx> \ProvidesFile{floatrow.dtx} % -%\NeedsTeXFormat{LaTeX2e}[1995/06/01] +%\NeedsTeXFormat{LaTeX2e}[1995/06/01] %\ProvidesPackage{floatrow} %\ProvidesPackage{fr-fancy} %\ProvidesPackage{floatpagestyle} %\ProvidesPackage{listpen} +%\ProvidesPackage{fr-subfig} +%\ProvidesPackage{fr-longtable} % % \ProvidesFile{floatrow.dtx} -% [2006/07/24 v0.1j floatrow: float package extension] -% [2005/07/15 v0.1g floatrow: fancy boxes] +% [2007/08/24 v0.2a floatrow: float package extension] +% [2005/05/24 v0.1h floatrow: fancy boxes] % [2005/10/02 v0.1h floating page style] -% [2005/02/07 v0.1a list penalty managing] +% [2007/05/24 v0.1b list penalty managing] +% [2007/08/24 v0.1f (beta) floatrow: additions for subfig] +% [2007/05/24 v0.1a (beta) floatrow: additions for longtable] % %<*driver> \input pictures -\listfiles \documentclass[twoside]{ltxdoc} +\makeatletter%^^A ----------------------- + \usepackage{calc} \usepackage{tabularx,array} +\ifx\pdfoutput\undefined \else + \ifcase\pdfoutput \else + \usepackage{mathptm}\def\ttdefault{pxtt} + \usepackage[scaled=0.90]{helvet} + \fi +\fi +\settowidth\marginparwidth{\texttt{0DeclareFloatFootnoterule}} + \IfFileExists{titlesec.sty}{\usepackage[raggedright]{titlesec}}{} \IfFileExists{footmisc.sty}{\usepackage[perpage]{footmisc}}{} -\usepackage{floatpagestyle,flafplins} +\IfFileExists{fancyhdr.sty}{\usepackage{fancyhdr} +\pagestyle{fancy} +\fancyhead{}\fancyfoot{} +\fancyhead[LE]{\setlength{\dimen@}{\marginparwidth+\marginparsep}%^^A + \leavevmode\hbox to\dimen@{\normalsize\bfseries\thepage\hfil} + \ignorespaces{\nouppercase\leftmark}\hfil\strut} +\fancyhead[LO]{\setlength{\dimen@}{\marginparwidth+\marginparsep}%^^A + \leavevmode\hbox to\dimen@{} + \ignorespaces{\nouppercase\rightmark}\hfill\hbox to2em{\hfil\normalsize\bfseries\thepage}\strut} +\fancyheadoffset[L]{\marginparwidth+\marginparsep} +}{} \usepackage[font=small,labelfont=bf,labelsep=period, justification=centerlast] - {caption}[2004/11/28] + {caption}[2007/04/11] + \usepackage[format=default,justification=centerlast, - labelfont=up] + labelfont=up,captionskip=5pt] {subfig}[2005/06/28] \IfFileExists{rotating.sty}{\usepackage[figuresright]{rotating}}{} +\usepackage{longtable} \usepackage{wrapfig} +%\usepackage{psfrag} \usepackage[vflt]{floatflt} \usepackage{picins} %^^A\RequirePackage[writefile]{listings}[2004/09/07] -\usepackage[style=plain,font=small,footskip=.5\skip\footins, - footnoterule=fullsize,margins=centering,objectset=centering, - floatrowsep=qquad,captionskip=5pt,capbesidesep=quad, - facing=yes,capbesideposition=inside]{floatrow} +\usepackage[font=small,captionskip=5pt,objectset=centering,margins=centering, + footskip=.5\skip\footins,footnoterule=fullsize, + floatrowsep=qquad,capbesidesep=quad, + facing=yes,capbesideposition=inside,floatHaslist=yes,doublefloataswide=yes]{floatrow} + +\usepackage{floatpagestyle,listpen} +\allowprelistbreaks[-4] \usepackage{fr-fancy} -\IfFileExists{hyperref.sty}{\usepackage{hyperref} +\IfFileExists{hyperref.sty}{\usepackage[ + linktocpage, + hyperindex,% + plainpages=false,% + bookmarksopenlevel=1,% + bookmarksnumbered=false,% + pdfview=FitH, + pdfstartview=FitH, + ]{hyperref} \IfFileExists{hypcap.sty}{\usepackage{hypcap}}{} }{} + \ifx\pdftexversion\undefined + \IfFileExists{pstricks.sty}{\usepackage{pstricks,pst-eps}}{} +\else\ifcase\pdfoutput \IfFileExists{pstricks.sty}{\usepackage{pstricks}}{} +\or +%^^A \IfFileExists{pdftricks.sty}{ +%^^A \usepackage{pdftricks} +%^^A }{} +\fi\fi +\ifx\pdfdisplay\undefined\else + \begin{psinputs} + \usepackage{pstricks} + \end{psinputs} \fi + \IfFileExists{makecell.sty}{\usepackage{makecell}}{} -\makeatletter + \@ifundefined{thead}% {\newcommand\thead[1]{\footnotesize\raisebox {0pt}[\height+\jot][\depth+\jot]{\begin{tabular}{@{}c@{}} #1\end{tabular}}} %^^A For this documentation only \def\multirowthead#1[#2]#3{\raisebox{-1.5ex}{\thead{#3}}}}{} -\makeatother \IfFileExists{multirow.sty}{\usepackage{multirow}}{} \IfFileExists{lscape.sty}{\usepackage{lscape}}{} +\IfFileExists{color.sty}{\usepackage{color}\definecolor{gray}{gray}{.5}}{\let\color\@gobble} \floatsetup[table]{style=Plaintop,footnoterule=none} +%^^A ----------------------- \floatstyle{ruled} \newfloat{Program}{tbp}{lop}[section] -\DeclareFloatStyle{MyBoxed}{style=Boxed, - captionskip=5pt,frameset={\fboxrule1pt\fboxsep12pt}} -\DeclareFloatVCode{lowthickrule}{\kern2pt\hrule height.8ptdepth0pt} - \DeclareNewFloatType{Example}% {placement=tb,within=section,fileext=lox} -%^^A for Appendix----------- -\DeclareFloatSeparators{none}{} -\DeclareFloatSeparators{cicero}{\hskip1cc} -\DeclareFloatSeparators{enskip}{\hskip.5em} -\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth} - \newfloatcommand{fcapsideleft}{figure}[{\capbeside \captionsetup[capbesidefigure]{format=break,labelsep=none, justification=raggedleft}% @@ -109,27 +150,59 @@ \captionsetup[capbesidefigure]{format=break,labelsep=none, justification=raggedright}% \thisfloatsetup{capbesideposition=right}}][\FBwidth] + +\DeclareFloatStyle{MyBoxed}{style=Boxed, + captionskip=5pt,frameset={\fboxrule1pt\fboxsep12pt}} + +\DeclareFloatVCode{lowthickrule}{\par\vskip2pt\rule{\hsize}{.8pt}\par} +\DeclareFloatVCode{grayruleabove}{{\color{gray}\par\rule\hsize{2.8pt}\vskip4pt\par}} +\DeclareFloatVCode{grayrulebelow}{{\color{gray}\par\vskip4pt\rule\hsize{2.8pt}}} + +\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}} + +\DeclareMarginSet{hangleft}% + {\setfloatmargins + {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}} +\DeclareMarginSet{hangtoheads}% + {\setfloatmargins + {\hfil}{\hskip-.7\headheight\hskip-\headsep}} + +\DeclareFloatSeparators{colorsep}% + {\begingroup\color{blue}% + \floatfacing{\hskip6pt\vrule width4.8pt\hskip6pt}% + {\hskip6pt\vrule width4.8pt\hskip6pt}% + \endgroup} +\DeclareFloatSeparators{none}{} +\DeclareFloatSeparators{cicero}{\hskip1cc} +\DeclareFloatSeparators{enskip}{\hskip.5em} +\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth} + %^^A ----------------------- +%^^A\DeclareCaptionFormat{labelonly}{#1} +\DeclareCaptionLabelFormat{numonly}{#2)} +\DeclareCaptionLabelFormat{list}{\bothIfFirst{#1}{ }#2)} +\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2} + +\DeclareCaptionFont{green}{\color{green}} +\DeclareCaptionFont{magenta}{\color{magenta}} \def\rightlast{\leftskip0ptplus1fil \rightskip0ptplus-1fil\parfillskip0ptplus1fil} \def\leftlast{\leftskip0pt\rightskip0pt\parfillskip0ptplus1fil} + %^^A for all versions of caption 3.x? -\DeclareCaptionFormat{flushrightlabel}{\leavevmode\rightline{#1}#2\par#3\par} -\DeclareCaptionJustification{togglelast} - {\floatfacing*\rightlast\leftlast} -\DeclareCaptionStyle{capbesidefigure}{justification=togglelast} -\captionsetup[table] - {format=flushrightlabel,textfont=bf,labelsep=none, - labelfont=sl,captionskip=5pt} +\DeclareCaptionLabelFormat{rightline}{\rightline{\bothIfFirst{#1}{ }#2}} +\DeclareCaptionJustification{togglelast}{\floatfacing*\rightlast\leftlast} + +\captionsetup[table]{labelformat=rightline,textfont=bf,labelfont={md,sl},labelsep=newline} \captionsetup[capbesidefigure]{justification=togglelast} \captionsetup[floatfoot]{format=default} -%^^A for Appendix----------- \DeclareCaptionFormat{break}{#1#2\par#3\par} + %^^A ----------------------- -\makeatletter +\advance\oddsidemargin.25\marginparwidth \evensidemargin\oddsidemargin \@mparswitchfalse \widowpenalty10000 @@ -144,14 +217,15 @@ \def\l@subsubsection{\@dottedtocline {3}{4.2em}{3.6em}} \newcommand\Resizebox[5]{\setbox0\hbox{\setlength\unitlength{#1/#3}%^^A - \ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi{#5}}%^^A - \@tempdima\ht0\advance\@tempdima\dp0%^^A - \ifdim\@tempdima>#2\setlength\unitlength{#2/#4}\ifx\pspicture\undefined - \else\psset{unit=\unitlength}\fi - {#5}\else\box0\fi} + \ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi{#5}}%^^A + \@tempdima\ht0\advance\@tempdima\dp0%^^A + \ifdim\@tempdima>#2 + \setlength\unitlength{#2/#4}\ifx\pspicture\undefined + \else\psset{unit=\unitlength}\fi + {#5}\else\box0\fi} \providecommand*{\file}[1]{\texttt{#1}} -\providecommand*{\pkg}[1]{\textsf{#1}} +\providecommand*{\package}[1]{\textsf{#1}} \providecommand*{\cls}[1]{\textsf{#1}} \providecommand*{\env}[1]{\texttt{#1}} \providecommand*{\meta}[1]{$\langle$\textit{#1}$\rangle$} @@ -165,6 +239,8 @@ \setlength{\parsep}{0pt}% }}% {\endlist} + +\newenvironment{Quote}{\par\RestoreSpaces\small\begin{quote}\obeylines\parskip0pt}{\end{quote}\par\@endpetrue} \def\OptionLabel{RaggedRight} \DeclareRobustCommand\La{L\kern-.36em% @@ -176,7 +252,27 @@ \vss}% }% } -\makeatother + +%maybe there is better solution? +\def\DescribeMacro{\let\outer@nobreak\@nobreaktrue + \leavevmode\everypar{\@nobreakfalse}\@bsphack + \begingroup\MakePrivateLetters\Describe@Macro} +\def\DescribeEnv{\let\outer@nobreak\@nobreaktrue + \leavevmode\everypar{\@nobreakfalse}\@bsphack + \begingroup\MakePrivateLetters\Describe@Env} +\def\RestoreSpaces{\@nobreakfalse} + +\newcommand\FRmpar{\@ifstar{\@nobreaktrue\xFRmpar}{\xFRmpar}} + +\newcommand\xFRmpar[2]{\label{#2}\marginpar{\footnotesize + \raggedleft\advance\leftskip.3\hsize#1}} + +\providecommand\sectionname{section} +\def\SpecialUsageIndex#1{} +\def\SpecialEnvIndex#1{} +\newcommand\seeIntro{\hyperref[sec:intro]{Intro}} + +\makeatother%^^A--------------------------------- \OnlyDescription \let\PrintChanges\relax @@ -185,12 +281,12 @@ \RecordChanges \begin{document} \DocInput{floatrow.dtx} - \PrintChanges +\PrintChanges \end{document} % % \fi % -% \CheckSum{4187} +% \CheckSum{5209} % % % \changes{v0.1e}{2005/03/22}{The user documentation loaded inside @@ -200,9 +296,9 @@ % % \ifx\pspicture\undefined\else\psset{unit=1pt}\fi % -% \def\fileversion{v0.1j} -% \def\filedate{2006/07/24} -% \title{The \pkg{floatrow} package\thanks{This +% \def\fileversion{v0.2a} +% \def\filedate{2007/08/24} +% \title{The \package{floatrow} package\thanks{This % file has version number \fileversion, last revised % \filedate.}} % @@ -212,98 +308,292 @@ % \date{\filedate} % \maketitle % -% \begin{abstract} -% This package was created like extension or addition of \pkg{float} -% package. The \pkg{floatrow} borrows core code from -% \pkg{float}\footnote{\pkg{float} package, version v1.3d dated +% \begin{abstract}\openup.5pt +% This package was created as extension of the \package{float} +% package. The \package{floatrow} package borrows core code from +% the \package{float}\footnote{\package{float} package, version v1.3d dated % 2001/11/08, \copyright{} 1991-2000 Anselm Lingnau.} and -% \pkg{rotfloat}\footnote{\pkg{rotfloat} package, version v1.2 +% \package{rotfloat}\footnote{\package{rotfloat} package, version v1.2 % dated 2004/01/04, \copyright{} 1995--2004 Axel -% Sommerfeldt.} packages, so you must not load these packages. +% Sommerfeldt.} packages, so you \emph{must not} load these packages. % -% The \pkg{float} package has good mechanism for creation (and easy +% The \package{float} package has a~good mechanism for the creation (and easy % modification) of common layout for all floats without -% adding any repeated code in document; unfortunately it deals only -% with alone (plain) object---caption combinations. -% -% Current package extends this mechanism and allows: +% adding any repeated code in the document; besides, this package allows to +% create new float type; it deals only +% with alone (plain) combinations ``object (float contents)---caption''. +% The \package{rotfloat} +% package changes environments of rotated floats (\package{rotating} package) +% to adapt them to \package{float}'s settings. +% +% Current package extends these possibilities and, at last, it allows: % \begin{itemize}\itemsep0pt\parskip0pt -% \item% -% to change width of float box; -% \item% +% \item +% to use mechanism, borrowed from \package{float} package, for +% creation of new float type; +% \item +% to change width of float box, also % to set width for float box, which equals to the width of object; -% \item% +% \item % to put caption beside object; -% \item% +% \item % to put a few floats side by side on the row; -% \item% +% \item % to put footnotes inside float box (using \env{minipage}-like mode); % and also put legend-like text; -% \item% -% to create or modify special layout for each type of float and -% for different positioning of float and its components -% (two-column or rotated float). +% \item +% to create and/or modify special layout for each type of float and +% for different positioning of float and its components, e.g. +% two-column or rotated float. % \end{itemize} % -% The \pkg{floatrow} package is cooperated with \pkg{caption} package -% (version 3.0 and later). Also the \pkg{floatrow} package (like -% \pkg{caption} one) uses \pkg{keyval} package mechanism for layout +% The \package{floatrow} package is cooperated with \package{caption} package +% (\textit{needs version} 3.0\textbf{q} \textit{and later}). +% Also the \package{floatrow} package (like +% \package{caption} one) uses \package{keyval} package mechanism for layout % settings. % \medskip % % \begingroup % \slshape -% I think I did my best to follow this idea and I hope that someone +% I think I did my best to follow these ideas and I hope that someone % likes this idea: helps to maintain this idea anyway, or finds bugs % and absurdities in this package or documentation. % \endgroup % \medskip % -% {Document terminology}: +% \centerline{\textbf{Document Terminology}\nopagebreak\vspace{1ex}} % \begin{description}\itemsep0pt\parskip0pt -% \item[float] could include \emph{object}, \emph{caption}, and +% \item[float] +% could include \emph{object}, \emph{caption}, and % \emph{foot material}; \emph{float} is created by \env{figure} or -% \env{table} environments (\emph{plain float}), or in |\floatbox| -% command; +% \env{table} environments (\emph{plain float}), or by |\floatbox| +% command and its modifications; +% +% \item[float type] +% means standard environments \env{figure} and \env{table}, +% also their subtypes, like e.g.~\env{wrapfigure} (\package{wrapfig} package), +% \env{sidewaysfigure} (\package{rotating} and \package{rotfloat} packages), +% \env{longtable} (\package{longtable} package) etc.; % % \item[object]\env{tabular} or graphics, as contents of table -% (\env{figure}) or figure (\env{table}) or other type of float; +% (\env{table}) or figure (\env{figure}) or other type of float; % % \item[caption]text in |\caption|; % % \item[foot material]explications, legends and/or footnotes inside -% \emph{float} box (|\footnote|/|\mpfootnotemark|/|\footnotetext|, +% \emph{float} box (|\footnote|/\allowbreak|\mpfootnotemark|/\allowbreak|\footnotetext|, % and |\floatfoot| macros). % \end{description} % \end{abstract} % +% \begingroup\small +% \vspace{2ex}\pdfbookmark[1]{Frequently Appeared Design}{FAD}\nopagebreak\centerline{\textbf{Frequently Appeared Design}\nopagebreak} +% \begin{multicols}{2}\raggedright\advance\rightskip1em +% \makeatletter\let\item\@idxitem\ignorespaces\makeatother +% \def\sectionname{sec.} +%^^A% \item{``Anchored'' float (option~\texttt{H})} +%^^A% \strut\pfill +%^^A% \textsl{\sectionname}~\ref{sec:floatborrowII} +% +% \item{Caption} +% \subitem{above float (\env{table}'s object, |\ttabbox|)\kern-1em\allowbreak} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A; +% %^^A\pageref{FAD:CaptionAbove}, +% %^^A\pageref{FAD:CaptionAboveTable}, +% %^^A\pageref{FAD:CaptionAboveTableII}, +% %^^A\pageref{FAD:CaptionAboveIII} +% +% \subitem{beside float (\env{figure}'s object, |\fcapside|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A;~ +% %^^A\pageref{FAD:BesideCaptionII}, +% %^^A\pageref{ssec:ffigbox:etc}, +% %^^A\pageref{fig:subfig:catsI}, +% +% \subitem{width equals to \env{longtable}'s (|LTcapwidth=| key)} +% \strut\pfill +% \pageref{FAD:LTcapwidth} +% +% \subitem{width equals to object's} +% \emph{see}~{float box width equals to object's}{} +% +% \item{Creation of new float type (|\DeclareNewFloatType|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:newfloat}%;~^^A +% %^^A\pageref{FAD:newfloattype} +% +% \item{Layout of Float types (|\floatsetup|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatsetup}\nopagebreak +% +% \item{Float}\nopagebreak +% \subitem{box (|\floatbox|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatbox}; +% \subsubitem{figure box (|\ffigbox|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}; +% +% \subsubitem{table box (|\ttabbox|)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}; +% +% \subitem{rotated (|sideways..|~env.)}\nopagebreak +% \strut\pfill +% \textsl{\sectionname}~\ref{ssec:rotating}%^^A--\ref{ssec:lscape} +% \subsubitem{empty (special) page style (|\emptyfloatpage|)} +% \strut\pfill +% \pageref{FAD:emptyfloatpage} +% +% \subsubitem{placing on the facing pages} +% \strut\pfill +% \pageref{FAD:ContRotated} +% +% \subitem{\textbf{here!} (option \texttt{H})} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatborrowII} +% +% \subitem{row (|floatrow| env.)} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatrow}%^^A; +% %^^A\pageref{FAD:BesideFloat}, +% %^^A\pageref{ssec:app:besidestart}--\pageref{ssec:app:besidefinish} +% +% \subsubitem{float(box) in the row occupies the rest space} +% \emph{see}~{float width, the rest space of the row} +% +% \subsubitem{floats of different types side by side} +% \strut\pfill +% \pageref{FAD:MixedRow}, +% \pageref{FAD:MixedRowII}%^^A%, +% %^^A\pageref{FAD:Mixrow} +% +%^^A%^^A% \subsubitem{floats of one type side by side} +%^^A%^^A% \strut\pfill +%^^A%^^A% \pageref{FAD:floatrow} +% +% \subitem{like in plain \LaTeX\ (|\RawFloats|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:rawfloats}%^^A; +% %^^A\pageref{FAD:PlainFloat}, +% %^^A\pageref{FAD:PlainFloatII} +% +% \subitem{width} +%^^A% \subsubitem{|floatwidth=| key etc.} +%^^A% \strut\pfill +%^^A% \textsl{\sectionname}~\ref{sec:wd:object} +% +% \subsubitem{option in |\floatbox| commands} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A; +% %^^A\pageref{FAD:FBwidthI}, +% %^^A\pageref{FAD:FBwidthII} +% +% \subsubitem{equals to object's (option |\FBwidth| (|\floatbox|))} +% \strut\pfill +% \textsl{{\seeIntro}},~%^^A +% \textsl{\sectionname}~\ref{sec:floatbox}%^^A; +% %^^A\pageref{FAD:FBwidthI}, +% %^^A\pageref{FAD:FBwidth}, +% %^^A\pageref{FAD:FBwidthII} +% +% \subsubitem{the rest space in the row +% (option |\Xhsize| (|\floatbox|))} +% \strut\pfill +% \pageref{FAD:floatfillspace} +% +% \subitem{wrapped} +% \strut\pfill +% \textsl{\sectionname}~\ref{ssec:wrapfig}--\ref{ssec:picins} +% +% \item{Footnote inside float} +% \strut\pfill +% \textsl{\sectionname}~\ref{sec:floatfootnote}%^^A; +% %^^A\pageref{FAD:FnoteInsideFloat} +% +%^^A%^^A% \subitem{footnote text (|\footnotetext|)} +%^^A%^^A% \strut\pfill +%^^A%^^A% \textsl{\sectionname}~\ref{sec:floatfootnote}; +%^^A%^^A% \pageref{FAD:FnoteInsideFloat} +% +% \subitem{footnote mark +% (|\mpfootnotemark|)\kern-1em\allowbreak} +% \strut\pfill +% \pageref{FAD:FnoteInsideFloat} +% +% \item{Legend-like macro (|\floatfoot|)} +% \strut\pfill +% \textsl{\sectionname}~\ref{subsec:floatfoot} +% +% \item{Subfloat} +% \strut\pfill +% \subitem{subcaption above} +% \strut\pfill +% \pageref{FAD:subcapabove} +% \subitem{subfloat label beside} +% \strut\pfill +% \pageref{FAD:sublabelbeside} +% \end{multicols}% +% \endgroup +% % \clearpage % \begingroup -% \small -% \tableofcontents -% \listoffigures -% \listoftables +% \small\openup-.75pt +% \pdfbookmark[1]{Contents}{TOC}\nopagebreak\tableofcontents +% \pdfbookmark[1]{List of Figures}{LOF}%^^A\setcounter{lofdepth}2 +% \nopagebreak\listoffigures +% \pdfbookmark[1]{List of Tables}{LOT}%^^A\setcounter{lotdepth}2 +% \nopagebreak\listoftables % \endgroup +% % \clearpage % \suppressfloats[t] % -% \section{Introduction} +% \section{Macros for Building Floats} +% +% \subsection{Introduction}\label{sec:intro} % % One of the first macros of package, created for float contents, -% is a macro which builds contents of table environment with caption +% is a macro which builds contents of the table environment with caption % above. The width of caption equals to the width of contents, e.g. -% of tabular (see table~\ref{intro:table}). -%\begin{verbatim} -%\begin{table} -%\ttabbox -% {\caption{A table ...}\label{...}} -% {\begin{tabular}...\end{tabular}} -%\end{table} -%\end{verbatim} -% \begin{table}[h] +% of tabular (see table~\ref{intro:table}).%^^A +% \FRmpar{Caption above table object}{FAD:CaptionAbove}%^^A +%^^A% \footnote{The table caption in current documentation use a~special layout, +%^^A% popular in Russian typographic publications, look for +%^^A% \texttt{flushrightlabel} key of \cs{captionsetup} in the preamble of +%^^A% source file of this documentation and in sample files +%^^A% ({\sectionname}~\ref{sec:samples}).} +%\begin{Quote}\openup-.65pt +%\meta{preamble} +% |\usepackage[|\hyperref[setup:font]{\texttt{font}}|=small,|%^^A +% \hyperref[setup:captionskip]{\texttt{captionskip}}|=5pt,|%^^A +% \hyperref[setup:objectset]{\texttt{objectset}}|=centering,| +% | |\hyperref[setup:margins]{\texttt{margins}}|=centering,...]{floatrow}[2007/08/24]| +% |\|\hyperref[sec:floatsetup]{\texttt{floatsetup}}|[table]{|%^^A +% \hyperref[setup:style]{\texttt{style}}|=Plaintop}| +% |\usepackage[font=small,labelfont=bf,labelsep=period,| +% | justification=centerlast]{caption}[2007/04/11]| +% |\DeclareCaptionLabelFormat{rightline}{\rightline{\bothIfFirst{#1}{ }#2}}| +% |\captionsetup[table]{labelformat=rightline,textfont=bf,| +% | labelfont={md,sl},labelsep=newline}| +%\meta{preamble} +%|\begin{table}| +%|\|\hyperref[floatbox:ttabbox]{\texttt{ttabbox}} +%| {\caption{A small table ...}\label{...}}| +%| {\begin{tabular}...\end{tabular}}| +%|\end{table}| +%\end{Quote} +% \begin{table}[H] % \ttabbox -% {\caption{A table with caption above}\label{intro:table}} -% {\begin{tabular}{|c|c|c|} +% {\caption{A small table with caption text above (\cmd{\ttabbox})}\label{intro:table}} +% {\jot2pt\begin{tabular}{|c|c|c|} % \hline % \thead{First data} & \thead{Second data} & \thead{Third data} \\ % \hline @@ -315,449 +605,381 @@ % % The pair of this command, which creates figures---|\ffigbox|---puts % caption below contents and default width of caption equals -% to the width of main text. The default -% layout of |\ffigbox| is similar to plain \env{figure} environment; -% this macro will be useful for creation of beside floats (see -% example with figures~\ref{intro:leftfig} and~\ref{intro:rightfig}) +% to the width of main text or predefined |\hsize|. +%\begin{Quote}\openup-.65pt +%|...| +%|\begin{figure}| +%|\|\hyperref[floatbox:ffigbox]{\texttt{ffigbox}} +%| {\caption{A figure...}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +%\begingroup +% \begin{figure}[H] +% \ffigbox +% {\caption[A simple figure box (\cmd{\ffigbox})] {A plain figure box +% with long long long long long long long long +% long long long long long long long long long long multilined caption}\label{intro:figure}} +% {\unitlength.88\unitlength\input{Doll.picture}} +% \end{figure}%^^A +%\endgroup +% The default +% layout of |\ffigbox| (figure~\ref{intro:figure}) is similar to the plain +% \env{figure} environment. But if you set option |[\FBwidth]| like below: +% \FRmpar{Caption's width equals to object}{FAD:FBwidthI} +%\begin{Quote} +%|...| +%|\begin{figure}|\nopagebreak +%|\ffigbox[\|\hyperref[floatbox:FBwidth]{\texttt{FBwidth}}|]| +%| {\caption{A figure}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] +% \ffigbox[\FBwidth] +% {\caption[A figure box (\cmd{\ffigbox}) with the width equal to graphics]{A figure with +% the width equal to graphics with long +% long long long long multilined +% caption}\label{intro:figure:FBwidth}} +% {\unitlength1.78\unitlength\input{Horse.picture}} +% \end{figure}%^^A +% You get caption width equal to the width of picture +% (figure~\ref{intro:figure:FBwidth}). % % The third macro---|\fcapside| (figure~\ref{intro:beside})---puts % caption beside: -% -%\begin{verbatim} -%\begin{figure} -%\fcapside -% {\caption[Beside caption]{Beside caption ...}\label{...}} -% {...} -%\end{figure} -%\end{verbatim} -% \begin{figure}[h] +%\begin{Quote} +%\meta{preamble} +% |\usepackage[...|\hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=quad,|%^^A +% \hyperref[setup:facing]{\texttt{facing}}|=yes,| +% | |\hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|=inside,...]{floatrow}[2007/06/24]| +%|...| +%\meta{preamble} +%|\begin{figure}| +%|\|\hyperref[floatbox:fcapside]{\texttt{fcapside}} +%| {\caption{...}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] % \fcapside % {\caption[Beside caption (`one-column' width)]{Beside caption % (width of caption equals to the width of object) and more text % and some more text and a bit more text and -% a little more text and a little peace of text to fill +% a little more text and a little piece of text to fill % space}\label{intro:beside}} -% {{\setlength\unitlength{4cm/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}} +% {{\setlength\unitlength{3.68cm/100}%^^A +% \input{Bear.picture}}} % \end{figure} +% The width of main text or predefined value of |\hsize| before |\fcapside| command, +% by default, divided into two columns, their width equals to the half of current |\hsize| +% (figure~\ref{intro:beside}) excluding float margins and +% separation material between float and caption. +% One column is occupied by object, another---by caption and foot material (explications +% or legends and footnotes). +% +% +% If you set the |[\FBwidth]| option: +% \FRmpar{Caption's width equals to object}{FAD:FBwidthII} +%\begin{Quote} +%|...| +%|\fcapside[\FBwidth]| +%|...| +%\end{Quote} +% \begin{figure}[H] +% \fcapside[\FBwidth] +% {\caption[Beside caption (occupies rest space of defined width beside float object)]{Beside caption +% (the caption text occupies the rest space of \cs{hsize}) and more text +% and some more text and a bit more text and +% a little more text and a little piece of text to fill +% space}\label{intro:beside:FBwidth}} +% {{\setlength\unitlength{3.68cm/100}%^^A +% \input{Bear.picture}}} +% \end{figure} +% The graphic column width will be equal to the graphics and caption occupies the rest space +% (see figure~\ref{intro:beside:FBwidth}).\medskip % -% These three commands abbreviate |\floatbox| command, which creates -% float boxes (see section~\ref{sec:floatbox}). -% -% The \env{floatrow} environment allows to put floats side by side, -% like figures~\ref{intro:leftfig} and~\ref{intro:rightfig}. -% By default \env{floatrow} creates necessary number of ``columns'' -% (usually two) where floats are placed: -%\begin{verbatim} -%\begin{figure} -% \begin{floatrow} -% \ffigbox -% {...}{\caption{...}\label{...}} -% -% \ffigbox -% {...}{\caption{...}\label{...}} -% \end{floatrow} -%\end{figure} -%\end{verbatim} -% \begin{figure}[h] -% \begin{floatrow} -% \ffigbox -% {\input{BlackDog.picture}} -% {\caption{Left beside figure of simple row}% -% \label{intro:leftfig}}% -% -% \ffigbox -% {\caption{Beside figure at the right side of simple figure row}%^^A -% \label{fig:rotrow:FcatI}} -% {\input{TheCat.picture}\label{intro:rightfig}} -% \end{floatrow} -% \end{figure}%^^A -% Please note that inside \env{floatrow} you must use |\ffigbox| -% or |\ttabbox| macros for each float box. (See also -% sections~\ref{sec:floatbox} for more information about commands -% used in introduction and |\floatbox| command; -% and \ref{sec:floatrow} about \env{floatrow} environment.) -% -% \subsection{Do not write that with \pkg{floatrow} package} -% -% The \pkg{floatrow} package creates some features or limitations -% of float layout building. If you'll write something like -%\begin{verbatim} -%\begin{figure} -%\caption{A figure caption} -%\centering \input{Mouse.picture} -%\end{figure} -%\end{verbatim} -% please do not expect that caption appears at the top of figure. If -% you want, e.g. to put figure captions above its contents, you must -% write in preamble |\floatsetup[figure]{style=plaintop}| (see also -% section~\ref{sec:floatsetup} about |\floatsetup| mechanism). -% -%^^A \begin{figure} -%^^A \caption{A figure caption}\label{Wrong:expect} -%^^A \centering \input{Mouse.picture} -%^^A \end{figure} -% -% Another example. If you put beside floats by following way: -%\begin{verbatim} -%\begin{figure} -%\begin{minipage}{0.5\textwidth} -%\centering \input{Mouse.picture} -%\caption{A figure caption} -%\end{minipage} -%\begin{minipage}{0.5\textwidth} -%\captionof{table}{A table caption} -%\centering \begin{tabular}{cc} A & B \\ C & D \end{tabular} -%\end{minipage} -%\end{figure} -%\end{verbatim} -% you also won't get expected result. Use \env{floatrow}, like in -% example with figures~\ref{intro:leftfig} and~\ref{intro:rightfig} -% to get correct result\footnote{See also the page~\pageref{mixrow} -% about mixed float rows}. +% \subsection{The \cs{floatbox} Macro}\label{sec:floatbox} % -% \section{Float Layout Settings}\label{sec:floatsetup} +% \DescribeMacro{\floatbox} +% This package offers macro, which creates necessary layout of float +% object contents and caption (see also the Introduction). +% The main macro looks like: +% \begin{Quote} +% |\floatbox[|\meta{preamble}|]{|\meta{captype}|}[|^^A +% \meta{width}|][|\meta{height}|][|\meta{vert pos}|]| +% | {|\meta{caption}|}{|\meta{object}|}|\footnotemark +% \end{Quote}%^^A +% \footnotetext{The +% order of mandatory arguments and their contents makes not +% difference during building of float box. This macro +% historically needs two mandatory arguments, but they could +% be filled freely.} +% where\label{floatboxsets}: +% \begin{description}\itemsep0pt +% \item[\meta{preamble}]there could be |\capbeside|\label{floatbox:capbeside} command which +% places caption beside float contents; +% |\nocapbeside|\label{floatbox:nocapbeside} +% (to put caption above/below, accordingly +% to float type's style); +% |\captop|\label{floatbox:captop} +% (to put caption above); +% or another systematic command +% (even with usage of |\captionsetup| +% and |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}} +% see examples in documentation and appendix). +% \item[\meta{captype}]the type of float this command created for; +% \item[\meta{width}]the width of object---caption box +% (in case of caption above or below object), +% or width of object box (if caption stays beside object). +% Empty width option, |[]|, and option |[\hsize]| mean the same.\par +% The option |[\FBwidth]|\label{floatbox:FBwidth}%^^A +% \FRmpar{Caption's width\\ equals to object}{FAD:FBwidthIII} +% in~the \meta{width} argument +% allows usage of natural width of float contents: \qquad for full float box in the case of caption +% above/\allowbreak below; \qquad in~the case of beside caption natural width of float object expands to +% object box only.\par +% \emph{Note}. If you use the \verb|\FBwidth| command in the \meta{width} +% optional argument, please be sure that object contents can be placed +% in |\hbox| command (you only allowed to use |\vspace| (not |\vskip|!) +% command at the very +% beginning and very end of object contents for fine tuning +% of vertical spaces and position of contents); +% \item[\meta{height}]the height of object---caption box +% (in case of caption above or below object), +% or height of object box (if caption stays beside object); +% \item[\meta{vert pos}]vertical alignment of object contents in +% object's box in case of \meta{height} argument has larger value than +% height of object contents, float placed inside \env{floatrow}. +% \item[\meta{caption}]text of caption and legends (you may use +% |\floatfoot| command (see page~\pageref{subsec:floatfoot}); you +% may also use |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff +% for footnotes inside float, or |\floatfoot| command; +% \item[\meta{object}]Contents of float; you may use +% |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff or +% |\floatfoot| command. +% \end{description} % -% The idea of \pkg{floatrow} package is to avoid a lot of repeated code -% inside document for creation of desired layout for floats (which also -% lowers readability of document), and make layout modification easier -% if you ought to change book layout. In this case you could think only -% about \emph{markup} of floats and their contents. +% The commands |\ttabbox|, |\ffigbox|, and |\fcapside|, used in Introduction, abbreviate |\floatbox| command, which creates +% float boxes: +% \begin{itemize}\itemsep0pt\parskip0pt +% \item[--] the |\ttabbox| command we can replace with the code\\ +% | \floatbox[\captop]{table}[\FBwidth]|; +% \item[--] the |\ffigbox| one---with |\floatbox{figure}| (simplest definition); and +% \item[--] the |\fcapside| one---with |\floatbox[\capbeside]{figure}|. +% \end{itemize}% +% +% You see in example with figure~\ref{intro:figure:FBwidth} that you can change width +% for |\ffigbox| command to get caption (and also full float box) width equal to the width +% of object. Also you may create your own command based on |\floatbox| command +% and set float box's width equal to object's, +% see {\sectionname}~\ref{ssec:ffigbox:etc} about this. % -% The easy modification of common layout of all float of for one type of -% float is possible because of the borrowed code from the \pkg{float} -% package, which allows to modify layout of float boxes as a whole. +% \begingroup +% The three examples of float placing. First simplest example: +%\begin{Quote} +%|\begin{figure}| +%|\floatbox{figure}[4cm]| +%| {\caption{The simple example ...}%| +%| \label{fig:WcatI}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% created the picture in the figure~\ref{fig:WcatI}. The width of box equals to 4cm. +% \begin{figure}[H] +% \floatbox{figure}[4cm] +% {\caption{The simple example of \cmd{\floatbox}}% +% \label{fig:WcatI}} +% {\unitlength1.24\unitlength\input{TheCat.picture}} +% \end{figure}% +% \endgroup % -% The common layout and its modification for captions and special -% settings for -% each type of float supported by \pkg{caption} package, version~3.x. +% The more preferable way for usage of |\floatbox| is to put table +% caption \emph{above} table contents and set caption width equal +% to table width. +%\begin{Quote} +%|\begin{table}|\nopagebreak +%|\floatbox[\captpop]{table}[\FBwidth]| +%| {\caption{Simple tabular ...}\label{...}}| +%| {\begin{tabular}{|l|c|c|}| +%| ...}| +%|\end{table}| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \floatsetup[table]{style=plain} +% \begin{table}[H] +% \floatbox[\captop]{table}[\FBwidth] +% {\caption{Simple tabular with caption +% above (\cmd{\floatbox} with \cmd{\captop} in preamble argument)}\label{tab:tabII}} +% {\begin{tabular}{|l|c|c|} +% \hline +% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ +% \hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} +% \end{table}% +% \endgroup +% \MakeShortVerb{\|}% +% as shown in table~\ref{tab:tabII}. To fit size of caption (i.e full +% float box) to size of \env{tabular} environment there was used +% |\FBwidth| command in \meta{width} argument. % -% The layout settings of \pkg{floatrow} package are built similarly -% to \pkg{caption} ones and use |\floatsetup|\footnote{Some key and -% option names were changed from version 0.1d, the reason was -% to arrange and make names more memorable, and, sometimes, reduction -% of their names (see section~\ref{sec:changed}).} mechanism which is -% analog to |\captionsetup| one\footnote{Look also at \pkg{caption} -% documentation (version 3.0 and later)}. +% The next example shows \env{figure} environment with beside caption. +% In this example \meta{preamble} argument consists of rather complex definition, +% and |\FBwidth| in \meta{width} argument. The caption +% occupies the rest space of float box's width, |\hsize| (in current +% example the width float box equals to main text width---|\textwidth|). % -% \DescribeMacro{\floatsetup} -% You may use layout settings stuff as \pkg{floatrow} option in -% |\usepackage| line. -% \begin{quote} -% |\usepackage[|\meta{options}|]{floatrow}| -% \end{quote} -% You may write -% \begin{quote} -% |\usepackage[style=boxed,font=small]{floatrow}| -% \end{quote} -% The same result you get with -% \begin{quote} -% |\floatsetup{style=boxed,font=small}| -% \end{quote} -% The lines above declare \texttt{boxed} style and |\small| font for -% float contents. These settings were loaded for \emph{all} float types. +%\begin{Quote} +%|\begin{figure}| +%|\floatbox[{\capbeside| +%| \captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedleft}%| +%| \|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{|\hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|=left}}]{figure}[\FBwidth]| +%| {\caption{...}\label{...}}| +%| {...}| +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] +% \floatbox[{\capbeside +% \captionsetup[capbesidefigure]{format=break,labelsep=none, +% justification=raggedleft}% +% \thisfloatsetup{capbesideposition=left}}]{figure}[\FBwidth] +% {\caption[Beside caption (example width complex preamble in \cmd{\floatbox})]{Beside caption and more text +% and some more text and a bit more text and +% a little more text and a little peace of text to fill +% space}\label{fig:beside:mouse}} +% {{\setlength\unitlength{4cm/58}%^^A +% \input{Mouse.picture}}} +% \end{figure} +% Please note that complex preamble, with more than one command option must be placed in group. +% (See {\sectionname}~\ref{sec:floatsetup} about settings for floats.) % -% The |\floatsetup| command has following form: -% \begin{quote} -% |\floatsetup|\oarg{float type}\marg{options} -% \end{quote} +% \RestoreSpaces +% \subsubsection{Creation of Personal Commands for Float Boxes}\label{ssec:ffigbox:etc} % -% For defining of a special style for float of one type use optional -% argument with name of necessary float type. The following command -% \begin{quote} -% |\floatsetup[table]{style=Plaintop}| -% \end{quote} -% sets a special float style for tables (captions are placed above -% float objects; in the case of beside floats inside \env{floatrow} -% environment captions aligned by top line)\footnote{The keys, -% used in special settings for float of one type, are always -% ``stronger'' than synonym keys in common setting. In other words, -% if you want after example above to redefine float style for all -% floats with \cmd{\floatsetup\{style={\normalfont \meta{option}}\}} -% you won't change tables---use -% \cmd{\floatsetup[table]}\allowbreak -% \texttt{\{style={\normalfont \meta{option}}\}} again.}. +% The usage of |\floatbox| command with options (which could be cumbersome) sometimes is rather complex. +% The Introduction demonstrates commands-abbreviations of this commands. +% You may define commands-abbreviations (or redefine existing) for your own purposes and +% include there some additional style definitions and settings. % -% There are also special options of |\floatsetup| for settings for floats -% in different positioning: two-column floats (starred environment, like -% \env{figure*}, you may also use, for example, for wide floats) rotated -% floats etc. The ``strength'' of options in the lists below decreases -% from previous item to next one (examples based on \env{figure} -% environment): -% \begin{itemize}\label{stsetorder}\itemsep0pt\parskip0pt -% \item Wide or two-column floats (e.g. \env{figure*}, -% you may load special -% settings for starred environments even in one-column document): -% \begin{itemize} -% \item |\floatsetup[widefigure]|---the ``strongest'' settings; -% if they absent, package uses settings from next item; -% \item |\floatsetup[widefloat]|---these settings ``stronger'' -% than settings from next item (|\floatsetup[figure]|); -% if they absent, package uses settings from next item; -% \item |\floatsetup[figure]|; -% if they absent, package uses settings from -% optional argument in |\usepackage| line or |\floatsetup{...}| -% command; if they absent---default package settings -% (see page~\pageref{sec:default}); -% \end{itemize} -% \item Wrapped floats (\env{wrapfigure}): -% \begin{itemize}\itemsep0pt\parskip.5\parskip -% \item |\floatsetup[wrapfigure]|; -% \item |\floatsetup[wrapfloat]|; -% \item |\floatsetup[figure]|; -% \end{itemize} -% \item Rotated floats (in environments, like \env{sidewaysfigure}): -% \begin{itemize}\itemsep0pt\parskip.5\parskip -% \item |\floatsetup[rotfigure]|; -% \item |\floatsetup[rotfloat]|; -% \item |\floatsetup[figure]|; -% \end{itemize} -% \item Wide rotated floats -% (\env{sidewaysfigure*})\footnote{The settings -% for wide float (\texttt{widefloat}, \texttt{widefigure}) -% removed---use settings for \texttt{widerotfloat} -% and---here---\texttt{widerotfigure}}: -% \begin{itemize}\itemsep0pt\parskip.5\parskip -% \item |\floatsetup[widerotfigure]|; -% \item |\floatsetup[widerotfloat]|; -% \item |\floatsetup[rotfigure]|; -% \item |\floatsetup[rotfloat]|; -% \item |\floatsetup[figure]|; -% \end{itemize} -% \item Floats with beside captions: -% \begin{itemize}\itemsep0pt -% \item |\floatsetup[capbesidefigure]|; -% \item |\floatsetup[capbesidefloat]|; -% \item setting of outer environments from previous items: -% \env{sidewaysfigure*}, \env{sidewaysfigure}, and \env{figure*}. -% \end{itemize} -% Please note, that usage of \texttt{style=} key (see beginning of next -% section) cancels settings for beside position of caption. -% \end{itemize} -% You can also create and change special settings for captions, using -% the same \meta{float~type} options in |\captionsetup| stuff. +% The definition of new float abbreviation looks like: +% \begin{Quote} +% |\newfloatcommand|\marg{command}%^^A\\\strut\qquad +% \marg{captype}\oarg{preamble}\oarg{default width} +% \end{Quote} +% where: +% \begin{description}\itemsep0pt\parskip1ptplus1pt +% \item[\meta{command}]the user's command name (without backslash); +% \item[\meta{captype}]the name of float environment +% this command is created for; +% \item[\meta{preamble}] +% you may use commands, mentioned in page~\pageref{floatboxsets} +% and other layout commands, like was shown in examples; +% you may try to add any other regular command (e.g. |\captionsetup| +% or |\thisfloatsetup| stuff); +% \item[\meta{default width}]the first reason of usage of this option is +% to put |\FBwidth| command: \qquad in case of +% caption above or below object (there could be defined +% |\nocapbeside| in \meta{preamble} option) this command defines width of +% full float (object---caption) box (see figure~\ref{intro:figure:FBwidth}); \qquad in the case of caption +% beside object (there must be defined |\capbeside| in \meta{preamble} +% option) this command defines +% width of object (caption occupies the rest space, see figure~\ref{intro:beside:FBwidth}).\par +% You may put also any dimension like |6cm| +% or |.75\textwidth| but usage of option by +% this way is much less reasonable. +% \end{description} % -% The next few sections describe keys of |\floatsetup| macro. +% Let's repeat three already defined commands-abbreviations:\label{abbrcom}%^^A +% \begin{Quote} +% |\newfloatcommand{ffigbox}{figure}[\nocapbeside]|\label{floatbox:ffigbox}\nopagebreak +% |\newfloatcommand{fcapside}{figure}[\capbeside]|\label{floatbox:fcapside}\nopagebreak +% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]|\label{floatbox:ttabbox} +% \end{Quote} +% First two defined for figures and last one---for table. You may +% redefine existing macros using |\renewfloatcommand| command (it uses +% the same arguments as |\newfloatcommand| one).\medskip % -% \subsection{Floatsetup Keys}\label{sec:floatsetup} +% Your defined commands you may use in following way (example for |\ffigbox|): +% \begin{Quote} +% |\ffigbox|\oarg{width}\oarg{height}\oarg{vert pos} +% \end{Quote} +% first option, \oarg{width}, cancels the default width settings, which were +% used during (re)definition of current command. The other two options +% are analogous to the |\floatbox|'s ones (see page~\pageref{sec:floatbox}). % -% \subsubsection{Float Style} +% \par\RestoreSpaces +% \subsection{Building Float Row}\label{sec:floatrow} % -% \DescribeMacro{style=} -% The \emph{float style} is specified by -% following way: -% \begin{quote} -% |style=|\meta{float style name}\quad , -% \end{quote} -% the \meta{float style name} you may take from -% table~\ref{tab:floatlayouts}. +% If you need to put two or more floats of one type side by side,%^^A +% \FRmpar{Floats of one type\\ side by side}{FAD:floatrow} +% you may use \env{floatrow} environment. % -% -% The caption's \texttt{ruled} style is the only one from \pkg{float} -% package, which was predefined in \pkg{caption} package. To use it, -% write -% \begin{quote} -% |\captionsetup[figure]{style=ruled}|\quad . -% \end{quote} -% -% \begin{sidewaystable}%[p]% -% \extrarowheight1pt\tabcolsep.5\tabcolsep -% \newcommand\leftcell[2][16.5mm]{\extrarowheight0pt\def\arraystretch{.75} -% \hspace*{-\tabcolsep}\begin{tabular}[t]{>{\footnotesize -% \ttfamily\noindent -% \vphantom{\small()\mpfootnotemark[1]}}p{#1}}#2\end{tabular}% -% \hspace*{-\tabcolsep}\ignorespaces} -% \emptyfloatpage -% \begin{tabularx}\hsize{|@{}l@{}|@{}l@{}|X|} -% \hline -% \hfil\thead{Style} & -% \hfil\thead{\cmd{\floatsetup} keys} & -% \hfil\thead{Description} \\ -% \hline -% \multicolumn{3}{|c|}{Offered by \pkg{floatrow} package}\\ -% \hline \leftcell{\texttt{plain}{\mpfootnotemark[1]}} -% & \leftcell{\meta{none}} -% &Standard \LaTeX's layout -% \\\hline -% \leftcell{\texttt{plaintop}{\mpfootnotemark[1]} -% \\\hline\texttt{Plaintop}{\mpfootnotemark[2]}} -% & \leftcell[50mm]{capposition=top\\\hline -% capposition=TOP} -% &The same as \texttt{plain} but puts caption at the top---analog of -% \pkg{float} package style. Capitalized form aligns captions above -% object by top line in \env{floatrow} environment -% \\\hline -% \leftcell{\texttt{ruled}{\mpfootnotemark[1]} -% \\ \\ \\\hline\texttt{Ruled}} -% & \leftcell[50mm]{capposition=top,precode=thickrule,\\ -% midcode=rule,postcode=lowrule,\\ -% heightadjust=all\\\hline -% style=ruled,capposition=TOP} -% &The first one emulates \pkg{float} package's co-named style. -% Capitalized form aligns captions above object by top line in -% \env{floatrow} environment -% \\\hline -% \leftcell{\texttt{boxed}\smash{\mpfootnotemark[1]\mpfootnotemark[2]} -% \\ \\ \\\hline\texttt{Boxed} -% \\\hline\texttt{BOXED}} -% & \leftcell[50mm]{captionskip=2pt,framestyle=fbox,\\ -% heightadjust=object,\\framearound=object\\\hline -% style=boxed,framefit=yes\\\hline -% framestyle=fbox,framefit=yes,\\ -% heightadjust=all,framearound=all} -% &The first one emulates \pkg{float} package's style: -% object's width equals to \cmd{\hsize} or -% predefined width of float box; frame climbs out to the right and -% left sides. In capitalized form frame fits the -% \cmd{\hsize} or predefined width; width of -% object reduced to fit inside frame. Uppercase form -% draws frame which fits to current \cmd{\hsize} or predefined width, -% but around full float: caption, object and foot material. -% \\\hline -% \multicolumn{3}{|c|}{Offered by \pkg{fr-fancy} package. -% They also need \pkg{fancybox} package.}\\ -% \hline \leftcell{\texttt{shadowbox}\smash{\mpfootnotemark[2]} -% \\\hline\texttt{Shadowbox} -% \\\hline\texttt{SHADOWBOX}} -% & \leftcell[50mm]{style=boxed,framestyle=shadowbox\\ \hline -% style=Boxed,framestyle=shadowbox\\ \hline -% style=BOXED,framestyle=shadowbox} -% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED} -% consequently. The \cmd{\fbox} frame changed to \cmd{\shadowbox} -% from \pkg{fancybox} package. -% \\\hline -% \leftcell{\texttt{doublebox}\smash{\mpfootnotemark[2]} -% \\\hline\texttt{Doublebox}\\\hline\texttt{DOUBLEBOX}} -% & \leftcell[50mm]{style=boxed,framestyle=doublebox\\\hline -% style=Boxed,framestyle=doublebox\\\hline -% style=BOXED,framestyle=doublebox} -% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED} -% consequently. The \cmd{\fbox} frame changed to \cmd{\doublebox} -% from \pkg{fancybox} package. -% \\\hline -% \multicolumn{3}{|c|}{Additional float style. It also needs -% \pkg{fancybox} package.}\\\hline -% \leftcell{\texttt{wshadowbox}\smash{\mpfootnotemark[2]} -% \\\hline\texttt{Wshadowbox} -% \\\hline\texttt{WSHADOWBOX}} -% & \leftcell[50mm]{style=boxed,framestyle=wshadowbox\\\hline -% style=Boxed,framestyle=wshadowbox\\\hline -% style=BOXED,framestyle=wshadowbox} -% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED} -% consequently. The \cmd{\fbox} frame changed to \cmd{\wshadowbox}, -% based on \cmd{\shadowbox} (but drops white shade from frame, or -% draws edges of ``second copy'') from \pkg{fancybox} package. -% \\\hline -% \end{tabularx} -% -% \caption{Float layout styles}\label{tab:floatlayouts}% -% -% \floatfoot{When there is set float style with frame around object of -% fitted to the text width (like \texttt{Boxed}, etc.), and -% \cmd{\floatbox} macro uses \cmd{\FBwidth} command as \meta{width} -% option, which sets box width equal to float object's width (see -% page~\pageref{sec:floatbox}), the width of all float other elements -% in this case enlarged to get width of framed object.} -% -% \footnotetext[1]{The styles analogous to \pkg{float} package style.} -% \footnotetext[2]{During usage of these styles in -% \env{floatrow} environment you ought to enlarge -% space between floats, using key \texttt{floatrowsep}).} -% \end{sidewaystable} -% \label{setup:start} -% -%^^A\pagebreak[4] -% -% \subsubsection{Font settings} -% -% \DescribeMacro{font=} -% Defines font for float object contents. Option -% analogous to |font| key in |\captionsetup| stuff.\nopagebreak -% -% Available font setting options: -% -% \begin{Options}{\OptionLabel} -% \item[scriptsize] {\scriptsize Very small size} -% \item[footnotesize] {\footnotesize The size usually used for footnotes} -% \item[small] {\small Small size} -% \item[normalsize] {\normalsize Normal size} -% \item[large] {\large Large size} -% \item[Large] {\Large Even larger size} -% -% \item[up] {\upshape Upright shape} -% \item[it] {\itshape Italic shape} -% \item[sl] {\slshape Slanted shape} -% \item[sc] {\scshape Small Caps shape} -% -% \item[md] {\mdseries Medium series} -% \item[bf] {\bfseries Bold series} -% -% \item[rm] {\rmfamily Roman family} -% \item[sf] {\sffamily Sans Serif family} -% \item[tt] {\ttfamily Typewriter family} -% \end{Options} -% -% You may set font for float object like -% \begin{quote} -% |font=small| -% \end{quote} -% or -% \begin{quote} -% |font={small,sf}|\quad . -% \end{quote} -% -% \DescribeMacro{footfont=}\label{sec:setfloatfoot}%^^A -% Defines font for legends or explications. This macro -% uses |\captionsetup| mechanism (because |\floatfoot| macro -% uses \pkg{caption} mechanism). By default the font size -% of float foot text equals to footnote text: |footfont=footnotesize|. -% -% \subsubsection{Position of Caption and of Other Elements} -% -% \DescribeMacro{capposition=} -% Defines position of captions. It is similar to \texttt{position=} -% key in \pkg{caption} package, but it has two additional -% options\footnote{The option \texttt{auto} isn't used by -% \texttt{capposition=}.}: \texttt{TOP}, if you prefer to align captions -% above objects, in the case of beside floats (in \env{floatrow} -% environment), by the top line; and \texttt{beside} to put caption -% beside object (this option could be more preferable in settings -% for one environment, see about |\thisfloatsetup| on the -% page~\pageref{thisfloatsetup}): -% \begin{Options}{\OptionLabel} -% \item[top] caption above object (equals to |\captop| command); -% \item[TOP] caption above object and also aligned by top line in float -% row (equals to |\CAPTOP| command). -% For example the \texttt{Plaintop} style is the variant of -% \texttt{plaintop} where used |capposition=TOP| settings, -% see tables~\ref{tab:row:tabIII}--\ref{tab:row:tabIV}; -% \item[bottom] caption below object (equals to |\capbot| command); -% \item[beside] caption beside object (equals to |\capbeside| command). -% \end{Options} -% -% \DeleteShortVerb{\|}% -% \begin{table}[h] -% \begin{floatrow} -% \extrarowheight1pt -% \ttabbox -% {\caption[Beside table~I long header]%^^A -% {Beside table~I with long long long top aligned caption}%^^A -% \label{tab:row:tabIII}}%^^A -% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} -% \hline -% \multirowthead{2}[-1ex]{Left Column Head} -% & \multicolumn{2}{c|}{\thead{Data}} \\ -% \cline{2-3} -% & \multicolumn{1}{c|}{\thead{I}} -% & \multicolumn{1}{c|}{\thead{II}} -% \\\hline -% First row & 1 & 2 \\ -% Second row & 3 & 4 \\ -% Third row & 6 & 8 \\ -% Fourth row & \llap{1}0 & \llap{1}6 \\ -% \hline -% \end{tabular}} +% \par\RestoreSpaces +% This environment looks like: +% \begin{Quote} +% |\begin{floatrow}[|\meta{number of beside floats}|]|\nopagebreak +% |\floatbox...|\nopagebreak +% |\floatbox...|\nopagebreak +% |...|\nopagebreak +% |\end{floatrow}| +% \end{Quote} +% +% The \env{floatrow} environment allows to put floats side by side. +% This environment creates necessary number of ``columns'' +% (usually two), where floats are placed. You may redefine the width of each float box, +% e.g. the table boxes~\ref{tab:row:tabIII} and~\ref{tab:row:tabIV} have the width of their contents +% (remember, the |[\FBwidth]| is default option of |\ttabbox|). +% +% Please note that \emph{for each float box} inside \env{floatrow} you must use |\floatbox|, |\ffigbox|, +% |\ttabbox| or your own command, created with |\newfloatcommand| macro: +%\begin{Quote} +%\meta{preamble} +%| \usepackage[...|\hyperref[setup:floatrowsep]{\texttt{floatrowsep}}|=qquad,...]{floatrow}| +%| \|\hyperref[sec:floatsetup]{\texttt{floatsetup}}|[table]{|%^^A +% \hyperref[setup:style]{\texttt{style}}|=Plaintop}| +%\meta{preamble} +%|\begin{figure}| +%| \begin{table}| +%| \ttabbox| +%| {\caption{...}\label{...}}| +%| {...}| +%| | +%| \ttabbox| +%| {\caption{...}\label{...}}| +%| {...}| +%| \end{floatrow}| +%|\end{table}| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begin{table}[H] +% \begin{floatrow} +% \extrarowheight1pt +% \ttabbox +% {\caption[Beside table~I long header]%^^A +% {Beside table~I with long long long long long long and top aligned caption}%^^A +% \label{tab:row:tabIII}}%^^A +% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} +% \hline +% \multirowthead{2}[-1ex]{Left Column Head} +% & \multicolumn{2}{c|}{\thead{Data}} \\ +% \cline{2-3} +% & \multicolumn{1}{c|}{\thead{I}} +% & \multicolumn{1}{c|}{\thead{II}} +% \\\hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} % % \ttabbox % {\caption{Beside table~II with top aligned @@ -777,1534 +999,2395 @@ % \end{floatrow} % \end{table} % \MakeShortVerb{\|}% +% Since |\ttabbox| uses |\FBwidth| as default option, the caption width equals to tabular contents. +% +% The next example with figures uses |[\FBwidth]| for the left float and |[\Xhsize]| for the right. +%\begin{Quote} +%|...|\nopagebreak +%|\begin{figure}|\nopagebreak +%| \begin{floatrow}|\nopagebreak +%| \ffigbox[\FBwidth]| +%| {...}| +%| {\caption{...}\label{...}}| +%| | +%| \ffigbox[\Xhsize]|%^^A +% \FRmpar{Float occupies the rest space in the row}{FAD:floatfillspace} +%| {...}| +%| {\caption{...}\label{...}}| +%| \end{floatrow}|\nopagebreak +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H] +% \begin{floatrow} +% \ffigbox[\FBwidth] +% {\caption[Left beside figure (\env{floatrow}), the float box has width of graphic]{Left beside figure, +% the width of graphic}% +% \label{intro:leftfig:FBwidth}}% +% {\unitlength1.12\unitlength\input{Bear.picture}} % -% \emph{Note}. The option \texttt{TOP} uses |\label|---|\ref| -% mechanism, so to get necessary result with it you must run \LaTeX{} -% twice (when you make changes in contents which could change number -% of lines you get correct result also on the second run). +% \ffigbox[\Xhsize] +% {\caption[Right beside figure (\env{floatrow}), occupies the rest space of row]{Beside figure at the right side of simple figure row, +% the box width occupies the rest space of row}%^^A +% \label{intro:rightfig:Xhsize}} +% {\unitlength1.44\unitlength\input{Doll.picture}} +% \end{floatrow} +% \end{figure}%^^A % -% \DescribeMacro{capbesideposition=} -% Defines position of beside captions: vertical and horizontal. -% For horizontal position there are defined four options: -% \begin{Options}{\OptionLabel} -% \item[left] -% caption is printed to the left side of object; -% \item[right] -% caption is printed to the right side of object; -% \item[inside] -% caption is printed in binding side of page if |twoside| option -% switched on in document class; -% \item[outside] -% least popular option: caption printed in -% outer side of page if |twoside| option switched on -% in document class. -% \end{Options} +% \emph{Note}. Usually the command |\Xhsize| is used for the last float +% box. But if you use \package{calc} package you may try to use |\Xhsize| +% earlier, if the \emph{absolute} value of the width of float boxes to +% the right in float row is known, or set something in \meta{width} +% argument like |\Xhsize/2| and then |\Xhsize| for two last +% |\floatbox|'es---the next example just uses it. % -% For vertical position there are defined three options -% \begin{Options}{\OptionLabel}\samepage -% \item[top] -% caption aligned to the top of object; -% \item[bottom] -% caption aligned to the bottom of object; -% \item[center] -% caption aligned to the center of float contents. -% \end{Options} -% You may define position of beside caption by following: -% \begin{quote} -% |capbesideposition={top,outside}|\quad. -% \end{quote} +% And here is more complex example. The first float (used |\ffigbox|) has default +% width equal to ``column'' width, the next uses width of included +% graphic (uses command |\FBwidth| in optional argument \meta{width}), +% the last two occupy the rest horizontal space of page which was +% counted with command |\Xhsize| and \package{calc} package.%^^A +%\begin{Quote} +%\meta{preamble} +% |\DeclareMarginSet{hangleft}{\setfloatmargins| +% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}| +% |\floatsetup[|\hyperref[setup:widefigure]{\texttt{widefigure}}|]{|%^^A +% \hyperref[setup:margins]{\texttt{margins}}|=hangleft}| +%\meta{preamble} +%|\begin{figure*}| +%|\begin{floatrow}[4]| +%| \ffigbox| +%| {\caption{Beside figure~I...}...}| +%| {...}| +%| | +%| \ffigbox[\FBwidth]| +%| {\caption{Beside figure~II...}...}| +%| {...}| +%| | +%| \ffigbox[\Xhsize]| +%| {\caption{Beside figure~III...}...}| +%| {...}| +%|\end{floatrow}| +%|\end{figure*}| +%\end{Quote} +% \floatsetup[widefloat]{margins=hangleft} +% \begin{figure*}% +% \begin{floatrow}[4] +% \ffigbox +% {\caption{Figure~I in the row (\env{floatrow}), ``column'' width}% +% \label{fig:row:Dog}} +% {\input{TheDog.picture}} % -% \noindent -% \DescribeMacro{capbesidewidth=} -% Defines width of beside caption (this option could be more preferable -% in settings for one environment, see about |\thisfloatsetup| on the -% page~\pageref{thisfloatsetup}). You may set: -% \begin{quote} -% |capbesidewidth=4cm|\quad. -% \end{quote} -% If you'll write \texttt{capbesidewidth=none} or -% \texttt{capbesidewidth=sidefill} (this is default key setting), the -% width of caption will be counted by usual way, accordingly -% to float width (i.e. occupies the rest width of float box, see -% figure~\ref{fig:beside:mouse} on the page~\pageref{fig:beside:mouse}). +% \ffigbox[\FBwidth] +% {\caption{Figure~II in the row (\env{floatrow}), graphics width}% +% \label{fig:row:WcatI}} +% {\input{TheCat.picture}} % -% \noindent -% \DescribeMacro{capbesideframe=} -% This boolean key declares whether beside caption stays near framed object -% (\texttt{capbesideframe=yes}) in this case caption lines aligned by top -% or bottom of frame; otherwise caption lines will be aligned with top or -% bottom of framed object's \emph{contents} (\texttt{capbesideframe=no}). +% \ffigbox[\Xhsize/2] +% {\caption{Figure~III in the row, float's width box has the +% half of the rest space of row}% +% \label{fig:row:BcatI}} +% {{\setlength\unitlength{\hsize/58}%^^A +% {\input{Mouse.picture}}}} % -% \penalty-5000 -% \subsubsection{Defining Float Foot Position (Legends and Footnotes)}% -% \label{sec:footposition} +% \ffigbox[\Xhsize] +% {\caption{Figure~IV in the row, +% occupies the rest space of row}% +% \label{fig:row:mouseI}} +% {\input{Cheese.picture}} +% \end{floatrow} +% \end{figure*}% +% The result you see in the row of +% figures~\ref{fig:row:Dog}--\ref{fig:row:mouseI}. Please note that in all examples the vertical +% alignment of floats lays on the bottom of upper part (here: objects) +% of float and the top of lower part (captions). % -% \DescribeMacro{footposition=}\label{foot:pos}%^^A -% Defines position of |\footnote|'s and |\floatfoot|'s in float box -% with above/below captions. -% \begin{Options}{\OptionLabel} -% \item[default] -% if caption above float object foot material is placed below float -% object otherwise---below caption; -% \item[caption] -% always placed below caption; -% \item[bottom] -% always placed at the bottom of float box. -% \end{Options} -% See examples in file \file{frsample01.tex}. In the case of caption -% beside float object, footnotes and foot text always placed below -% caption. +% \RestoreSpaces +% \subsubsection{Mixed Row}\label{sec:mixrow} % -% \subsubsection{Defining Vertical Alignment}\label{sec:heightadjust} +% The problem in mixed row is that you must put different types of float in +% one float environment, which sets its own layout for included float +% box(es). For creation of right layouts write +% |\|\hyperref[setup:killfloatstyle]{\texttt{killfloatstyle}} command at the beginning of \env{floatrow} +% environment or just before first ``foreign'' |\floatbox| macro (in +% current example---before |\ttabbox|; the |\ffigbox| macro is +% ``native'' for \env{figure} environment). % -% \DescribeMacro{heightadjust=} -% Defines whether the common maximum height of objects -% or/and captions in \env{floatrow} will be used. It has -% following options -% \begin{Options}{\OptionLabel}\samepage -% \item[all] -% adjust both caption and object heights (e.g. for styles -% \texttt{Ruled} and \texttt{BOXED}); -% \item[caption] -% adjust caption heights (e.g. for styles \texttt{Plaintop}); -% \item[object] -% adjust object heights (e.g. for styles \texttt{Boxed}); -% \item[none] -% nothing to be adjusted; -% \item[nocaption] -% no adjusting for captions; -% \item[noobject] -% no adjusting for objects; -% \end{Options} -% You may define height adjustment even as followed: -% \begin{quote} -% |heightadjust={caption,noobject}|\quad. -% \end{quote} +% Another problem is that figures usually have captions below +% graphics, but tables could have caption \emph{above} their contents. +% The alignment of all floats is similar: the bottom of upper part and +% top of lower part. In this case if you want to put such beside figure +% and table you'll get undesirable result. For such situations you may +% use one of the following commands: +%\begin{Quote} +%|\CenterFloatBoxes|\label{floatbox:CenterFloatBoxes} +%|\TopFloatBoxes|\label{floatbox:TopFloatBoxes} +%|\BottomFloatBoxes|\label{floatbox:BottomFloatBoxes} +%\end{Quote} +% which align \emph{full} float boxes by center, top or bottom lines. +% These macros were created by |\buildFBBOX|\label{floatbox:buildFBBOX} macro. +% There is also |\PlainFloatBoxes|\label{floatbox:PlainFloatBoxes} which restores standard behavior of +% |\floatbox|'es. % -% \noindent -% \DescribeMacro{valign=} -% Defines vertical alignment of -% float objects in \env{floatrow} if |heightadjust=all| or -% |heightadjust=object|, or |\floatbox| stuff uses \meta{height} -% argument with value, which differs from the height of object. -% The options of this key analogous to vertical -% alignment option in \env{minipage} environment and |\parbox| -% command. Default option is |c| (centered vertical alignment). -% \begin{Options}{\OptionLabel}\samepage -% \item[t] -% aligns objects by top line; -% \item[c] -% aligns objects by center line; -% \item[b] -% aligns objects by bottom line; -% \item[s] -% stretches objects by full height (if it is possible). -% \end{Options} +% The usage of |\CenterFloatBoxes| and |\killfloatstyle| you'll see in +% mixed float row with figure~\ref{fig:rowmixspec:WcatI} and +% table~\ref{tab:rowmixspec:tabI}\label{mixrow}: +%\begin{Quote}\openup-.5pt +%|\begin{figure}\CenterFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%| \ffigbox[\FBwidth]| +%| ...| +%| \killfloatstyle\ttabbox| +%| ...| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \begin{figure}[H]\CenterFloatBoxes +% \begin{floatrow} +% \ffigbox[\FBwidth] +% {\unitlength1.86\unitlength\input{Horse.picture}} +% {\caption{A figure in the mixed row}\label{fig:rowmixspec:WcatI}}% +% \extrarowheight1pt +% \killfloatstyle +% \ttabbox +% {\caption{A table in the mixed row}\label{tab:rowmixspec:tabI}} +% {\tabcolsep5\tabcolsep\begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline\end{tabular}} +% \end{floatrow} +% \end{figure} +% \endgroup +% \MakeShortVerb{\|}% +% \par\RestoreSpaces % -% \subsubsection{Facing Layout} +% \emph{Note.} Both figure and table boxes have got width equal to +% contents of objects. The |\ffigbox| command has optional argument +% |[\FBwidth]|, but |\ttabbox| have not any option---it uses +% |[\FBwidth]| option as default (see definitions on page +% \pageref{abbrcom}).\label{FAD:MixedRowII} % -% \DescribeMacro{facing=} This key defines whether facing layout used -% for floats. This key works if |twoside| option switched on in -% document class. +% \subsection{Running Floats In The Raw \LaTeX\ mode}\label{sec:rawfloats} % -% \subsubsection{Defining Float Margins and Object Settings} -% \label{sec:set:box} +% The\label{FAD:PlainFloat} +% \package{floatrow} package redefines float environments for the case +% of creation of common layout for all floats. This redefinition creates +% some limitations for source document file, which were mentioned in +% introduction. If you still need a raw behavior of float environment, +% you may do that by one of three ways. +% +% 1.\enskip If you want \LaTeX\ behavior for \emph{just for one environment}, +% input a |\RawFloats| command \emph{inside} environment: +%\begin{Quote}\openup-.5pt +%|\begin{figure}\RawFloats|\nopagebreak +%|\captionsetup[table]{position=top}| +%|\begin{minipage}{0.45\textwidth}| +%| \centering ...| +%| \caption{...}\label{...}| +%|\end{minipage}| +%|\begin{minipage}{0.45\textwidth}| +%| \captionof{table}{...}\label{...}| +%| \centering ...| +%|\end{minipage}|\nopagebreak +%|\end{figure}| +%\end{Quote} +% And you'll get figure~\ref{Right:expect:fig} +% and table~\ref{Right:expect:tab}\nopagebreak\footnote{That could work correct if +% you do not use any fancy float layout at least for one of floats.}. +% \begin{figure}[H]\RawFloats +% \captionsetup[table]{position=top} +% \begin{minipage}{0.45\textwidth} +% \centering {\unitlength1.86\unitlength\input{Horse.picture}} +% \caption{A figure in raw \LaTeX's mode}\label{Right:expect:fig} +% \end{minipage}\quad\hfill +% \killfloatstyle\begin{minipage}{0.45\textwidth} +% \captionof{table}{A table in raw \LaTeX's mode}\label{Right:expect:tab} +% \centering\tabcolsep5\tabcolsep +% \begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline\end{tabular} +% \end{minipage} +% \end{figure} +% Compare this example with example in the {\sectionname}~\ref{sec:mixrow} and the following example. +%\begin{Quote}\openup-.5pt +%|\begin{figure}\RawFloats\CenterFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%| \ffigbox[\FBwidth]|\nopagebreak +%| {...}|\nopagebreak +%| {\caption{...}\label{...}}| +%| | +%| \ttabbox|\nopagebreak +%| {...}|\nopagebreak +%| {\caption{...}\label{...}}| +%|\end{floatrow}|\nopagebreak +%|\end{figure}| +%\end{Quote} +% \begin{figure}[H]\RawFloats\CenterFloatBoxes +% \begin{floatrow} +% \ffigbox[\FBwidth] +% {\unitlength1.86\unitlength\input{Horse.picture}} +% {\caption{A figure in \cmd{\floatbox} and inside \env{floatrow} in raw \LaTeX's mode}% +% \label{intro:leftfig:raw}}% % -% \DescribeMacro{margins=} -% Defines margins of alone float boxes with -% captions above/below, of float boxes with beside captions, and of -% \env{floatrow} environments. It has following three predefined -% options: -% \begin{Options}{\OptionLabel} -% \item[centering] -% float box centered; -% \item[raggedright] -% float flushed to the left; -% \item[raggedleft] -% float flushed to the right. -% \end{Options} -% You may create your own alignment settings, see -% page~\pageref{ssec:decl:marg}. +% \ttabbox +% {\caption{A table in \cmd{\floatbox} and inside \env{floatrow} in raw +% \LaTeX's mode}\label{intro:righttab:raw}} +% {\tabcolsep5\tabcolsep +% \begin{tabular}{|c|c|}\hline A & B \\ C & D \\ \hline +% \end{tabular}} +% \end{floatrow} +% \end{figure}%^^A % -% \noindent -% \DescribeMacro{objectset=}\DescribeMacro{justification=} -% Defines justification of float object -% (float contents). Predefined options are similar to -% \texttt{justification=} key in |\captionsetup|. -% \begin{Options}{\OptionLabel} -% \item[justified] -% Typesets the object text as a normal paragraph. (This is the default.) +% 2.\enskip Canceling of \package{floatrow}'s behavior of \emph{all floats of one type} +% is set outside any float environment, these settings are better for +% preamble. In this case the |\RawFloats| command needs optional +% argument with name(s) of float type. You may set that by two ways: +% \begin{Quote} +% |\RawFloats|\oarg{type,type,\ldots}\quad or\nopagebreak +% |\RawFloats|\oarg{type}\oarg{subtype,subtype,\ldots} +% \end{Quote} +% So, if you set |\RawFloats[figure]|, that will return to all figures +% in all subtype environments (\texttt{figure}, \texttt{figure*}, +% \texttt{sidewaysfigure}, etc.) plain \LaTeX{} mode. If there is also a table, +% |\RawFloats[figure,table]|, you also will set the same for all table +% subtypes. +% +% The second way, with second optional argument, cancels \package{floatrow}'s +% behavior for mentioned float ``subtype(s)'' of \emph{one} float type +% in second optional argument you may use \texttt{float}, \texttt{widefloat}, +% \texttt{rotfloat}, \texttt{widerotfloat}---the meaning of this options +% analogous to options of |\floatsetup| macro +% (see {\sectionname}~\ref{sec:floatsetup}) but you may use here only options which +% include ``float'' word\label{FAD:PlainFloatII}%^^A +% %^^A(or short variants without ``float'', like +% %^^A\texttt{rot} or \texttt{widerot})%^^A +% .%^^A +% +% \DescribeMacro{rawfloats}\label{setup:rawfloats}%^^A +% 3.\enskip This option stores the plain \LaTeX{} mode (i.e. stores usage of standard +% \LaTeX{} float macros) for all standard and new +% user defined float types. This option can be used only in +% |\usepackage| line. % -% \item[centering] -% Each line of the object text will be centered. +% The \env{floatrow} environment ({\sectionname}~\ref{sec:floatrow}) +% and commands of |\floatbox| stuff ({\sectionname}~\ref{sec:floatbox}) +% still work after |\RawFloats|' and |rawfloats=| settings +% (see example width figure~\ref{intro:leftfig:raw} +% and table~\ref{intro:righttab:raw})\label{FAD:MixedRow}%^^A % -% \item[raggedright] -% Each line of the object text will be moved to the left margin. +% \RestoreSpaces +% \subsection{Usage of Footnotes Inside Float Environment} +% \label{sec:floatfootnote} % -% \item[RaggedRight] -% Each line of the object text will be moved to the left margin, too. -% But this time the command |\RaggedRight| of the \pkg{ragged2e} package -% will be used to achieve this. This difference is that this time -% the word breaking algorithm of \TeX\ will work inside the object text. +% Sometimes table +% or figure contents have material, which authors mark +% and then write some explanation like footnotes. Current package has +% mechanism which allows to put footnotes inside float environment, in +% the same way as is in \env{minipage} environment. % -% \item[raggedleft] -% Each line of the object text will be moved to the right margin. +% In the case of few elements have the same footnote, we cannot +% use standard |\footnotemark|---|\footnotetext| combination, because +% of |\footnotemark| in standard \LaTeX\ always creates the sign of main text footnote. +% For these cases current package offers |\mpfootnotemark|%^^A +% \FRmpar{Footnotemark \\inside float}{FAD:FnoteInsideFloat} +% macro instead of |\footnotemark|%^^A% +% \footnote{The same macro also is defined in \package{footmisc} package, +% version 4.10, dated 2003/01/20.}. +% \begin{Quote}\openup-.35pt% +% \meta{preamble} +% |\floatsetup{...,|\hyperref[setup:footnoterule]{\texttt{footnoterule}}|=limited,|%^^A +% \hyperref[setup:footskip]{\texttt{footskip}}|=\skip\footins,...}| +% \meta{preamble} +% |\begin{table}| +% |\ttabbox| +% | {\caption{...}\label{...}}%| +% \verb+ {\begin{tabular}{...}+ +% | \hline| +% | First row & \phantom01 & 2\mpfootnotemark[1] \\| +% | Second row & \phantom06\mpfootnotemark[1] & 4\mpfootnotemark[1] \\| +% | ...| +% | \hline| +% | \end{tabular}%| +% | \footnotetext[1]{Even numbers.}}| +% |\end{table}| +% \end{Quote}% +% \DeleteShortVerb{\|}% +% \begin{table}[H]\floatsetup{footnoterule=limited,footskip=\skip\footins} +% \ttabbox +% {\caption{Table with footnote}%^^A +% \label{tab:floatfnote}}%^^A +% {\extrarowheight1pt +% \begin{tabular}{|l|c|c|} +% \hline +% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ +% \hline +% First row & \phantom01 & 2\mpfootnotemark[1] \\ +% Second row & \phantom06\mpfootnotemark[1] & 4\mpfootnotemark[1] \\ +% Third row & 28\mpfootnotemark[1] & 8\mpfootnotemark[1] \\ +% \hline +% \end{tabular}%^^A +% \footnotetext[1]{Even numbers.}} +% \end{table}% +% \MakeShortVerb{\|}% % -% \item[RaggedLeft] -% Analogous to |RaggedRight|. +% The |\floatbox| macro uses special own definition of footnote rule +% (the \hyperref[setup:footnoterule]{\texttt{footnoterule}}|=| key) and skip before footnotes and +% explications or legends (\hyperref[setup:footskip]{\texttt{footskip}}|=|). (See also +% page~\pageref{sec:footnotestyle} for variants of footnote rule.) % -% \end{Options} -% You may also create your own settings (see -% page~\pageref{ssec:decl:rule}) +% \RestoreSpaces +% \subsubsection{The Legend-Like Macro}\label{subsec:floatfoot} % -% \noindent -% \DescribeMacro{floatwidth=} -% You may use this key for redefinition of width of floats below. -% You may use -% \begin{quote} -% |floatwidth=.6\hsize| -% \end{quote} -% or -% \begin{quote} -% |floatwidth=7cm| -% \end{quote} -% This key could be useful in settings for one float -% environment (see about |\thisfloatsetup| on the page -% \pageref{thisfloatsetup}). +% In the case of table or figure have some additional explanations +% which could not put in caption contents and they are definitely not +% a footnote you may use |\floatfoot|\label{FAD:Legend} +% command. The |\floatfoot| is +% build by usage of |\caption| stuff and uses caption's text justification, +% but star form (|\floatfoot*|) prints its contents as plain unindented +% paragraph (see table~\ref{tab:floatfoot}). % -% If you use option \texttt{floatwidth=sidefill} for objects with beside -% captions (in the case of key \texttt{capbesidewidth=} uses absolute -% value, like \texttt{4cm}) the object (instead of caption) occupies the -% rest space of float box (see appendix, figure~\ref{fig:capbeside:trick} -% on the page~\pageref{fig:capbeside:trick}) +% For defining of explication font use \hyperref[setup:footfont]{\texttt{footfont=}} option +% (page~\pageref{setup:footfont}) in |\floatsetup|. You may try to +% define special settings for float foot using +% \cmd{\captionsetup[floatfoot]}. +%\begin{Quote} +%|\begin{table}| +%|\ttabbox| +%| {\caption{...}\label{...}}| +% \verb+ {\begin{tabular}{...}+ +%| ...| +%| \end{tabular}%| +%| \floatfoot*{`Data I' column ...}}| +%|\end{table}| +%\end{Quote} +% \DeleteShortVerb{\|}% +% \begin{table}[H] +% \ttabbox +% {\caption[Table with foot material (e.g. legend)]{Table with foot material}%^^A +% \label{tab:floatfoot}}%^^A +% {\extrarowheight1pt%^^A\tabcolsep2\tabcolsep +% \begin{tabular}{|l|c|c|} +% \hline +% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ +% \hline +% First row & \phantom01 & 2 \\ +% Second row & \phantom06 & 4 \\ +% Third row & 28 & 8 \\ +% \hline +% \end{tabular}%^^A +% \floatfoot*{`Data I' column---numbers which equal to sum of all +% their divisors; `Data II' column---$2^n$ values}} +% \end{table}% +% \MakeShortVerb{\|}% % -% \subsubsection{Defining Float Separators}\label{sec:set:sep} +% \emph{Notes.} 1)\enskip The \package{float} package defines additional +% optional argument after main caption text, possibly for explications. +% Since this possibility +% didn't declared in user part of documentation the current version of +% \package{caption} (3.0 and later), and also \package{float\-row} package, +% doesn't support this possibility. You may use |\floatfoot| and +% |\footnote|/\allowbreak|\footnotemark|/\allowbreak|\footnotetext| stuffs instead. % -% \noindent -% \DescribeMacro{floatrowsep=} -% Sets separation material between beside float boxes (defined -% by |\floatbox| macro etc., see page~\pageref{sec:floatbox}) -% inside \env{floatrow} environment (see page~\pageref{sec:floatrow}). +% 2)\enskip If you use both commands |\floatfoot| and |\footnote| +% inside one float box, the |\floatfoot| appears above |\footnote| +% contents. % -% \noindent -% \DescribeMacro{capbesidesep=} -% Sets separation material between object and beside caption. +% 3)\enskip Foot material (footnotes and text in floatfoot) can be placed +% in several variants: at the very bottom of float box, below caption +% (even if caption is above float object). See page \pageref{setup:footposition} +% and sample file \file{frsample01.tex}. In case of caption beside +% float object, footnotes and foot text always placed below caption. % -% Both key settings work similarly to |labelsep=| key -% from |\captionsetup|. % -% They use following predefined options: -% \begin{Options}{\OptionLabel} -% \item[columnsep] -% horizontal skip${}={}$|\columnsep|; -% \item[quad] -% horizontal skip${}={}1$\,em; -% \item[qquad] -% horizontal skip${}={}2$\,em; -% \item[hfil] -% horizontal skip${}={}1$\,fil (like |\hfil|); -% \item[hfill] -% horizontal skip${}={}1$\,fill (like |\hfill|); -% \item[none] -% empty separator. -% \end{Options} +% \RestoreSpaces +% \subsection{Fine Tuning of Vertical Spaces of Float} +% \label{sec:FBabskips} % -% \subsubsection{Defining Float Rules/Skips}\label{sec:set:rule} +% At the final variant of document you may need to correct vertical +% spaces between float and main text, between float object and +% caption. % -% \DescribeMacro{precode=} -% Defines skip, rule or other analogous code above float box. +% To change space between float box and main text there you may use +% two simple commands |\FBaskip| and |\FBbskip|. For example define +% \begin{verse} +% |\renewcommand\FBaskip{-4pt}| +% \end{verse} +% to move up float box up (or reduce space above) by 4pt. In current +% document the |\FBaskip| command was necessary for moving up +% some of wrapped figures.\nopagebreak % -% \noindent -% \DescribeMacro{rowprecode=} -% Defines skip, rule or other analogous code above alone float box, -% or, in the case of beside floats inside \env{floatrow} environment, -% above float row (see page~\pageref{fig:rotrow:WcatI}). +% Use |\vspace| command for vertical space correction around float +% object\footnote{The plain float environment allows usage of +% \cmd{\vskip} command. But \cmd{\floatbox} stuff +% (\cmd{\floatbox} itself, \cmd{\ffigbox} etc.) in case +% of usage of the \cmd{\FBwidth} option, gets error message +% when \cmd{\vskip} appears.}. % -% \noindent -% \DescribeMacro{midcode=} -% Defines skip, rule or other analogous code between -% caption above/below and float object. +% \RestoreSpaces +% \subsection{Do not write that with \package{floatrow} package} +% +% The \package{floatrow} package creates some features or limitations +% of float building. If you'll write something like +%\begin{Quote} +%\meta{preamble} +%|\usepackage{floatrow}| +%\meta{preamble} +%|\begin{figure}| +%| \caption{A table caption...}| +%| \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular}| +%|\end{figure}| +%\end{Quote} +% please do not expect that caption appears at the top of table. +% +% \begingroup\clearfloatsetup{table} +% \begin{table}[H] +% \caption{A table caption must be placed above, wrong expect}\label{Wrong:expect} +% \centering \begin{tabular}{cc} A & B \\ C & D \end{tabular} +% \end{table} +% \endgroup % -% \noindent -% \DescribeMacro{postcode=} -% Defines skip, rule or other analogous code below float box. +% If +% you want, e.g. to put table captions above its contents, you must +% write |\floatsetup[figure]{style=plaintop}| in the preamble +% (see also {\sectionname}~\ref{sec:floatsetup} about |\floatsetup| mechanism). +% Another example. If you put beside floats by following way: +%\begin{Quote} +%\meta{preamble} +%|\usepackage{floatrow}| +%\meta{preamble} +%|\begin{figure}|\nopagebreak\parskip0pt +%|\begin{minipage}{0.5\textwidth}| +%| \centering ...| +%| \caption{A figure caption, disappeared, wrong expected row}| +%|\end{minipage}| +%|\begin{minipage}{0.5\textwidth}| +%| \captionof{table}{A table caption, wrong expected row}}| +%| \centering | +%| \begin{tabular}{cc}| +%| A & B \\ C & D | +%| \end{tabular}| +%|\end{minipage}|\nopagebreak +%|\end{figure}| +%\end{Quote} +% you also won't get expected result. +%\begin{figure}[H] +%\begin{minipage}{0.5\textwidth} +%\centering \input{Horse.picture} +%\caption{A figure caption, disappeared, wrong expected row} +%\end{minipage} +%\begin{minipage}{0.5\textwidth} +%\captionof{table}{A table caption, wrong expected row} +%\centering \begin{tabular}{cc} A & B \\ C & D \end{tabular} +%\end{minipage} +%\end{figure} +% Read back the {\sectionname}s~\ref{sec:mixrow} and~\ref{sec:rawfloats} and correct the error. % -% \noindent -% \DescribeMacro{rowpostcode=} -% Defines skip, rule or other analogous code below alone float box, or, -% in the case of beside floats inside \env{floatrow} environment, -% below float row (see page~\pageref{fig:rotrow:WcatI}). +% \clearpage +% \section{Float Layout Settings}\label{sec:floatsetup} % -% For all these keys there are predefined following options (settings -% were taken from styles created in \pkg{float} package): -% \begin{Options}{\OptionLabel}\makeatletter\@itempenalty10000\makeatother -% \item[none] -% absent code; -% \item[thickrule] -% thick rule (.8pt) with 2pt vertical skip below---rule above float box -% in \texttt{ruled} style; -% \item[rule] -% rule of default thickness (.4pt), with 2pt vertical skips above and -% below---middle rule in \texttt{ruled} style; -% \item[lowrule] -% rule of default thickness (.4pt), with 2pt vertical skip above---rule -% below float box in \texttt{ruled} style; -% \item[captionskip] -% vertical skip equal to value, defined in |captionskip=| key. -% \end{Options} -% You may create your own options, see page~\pageref{ssec:decl:rule}. +% The idea of \package{floatrow} package is to avoid a lot of repeated code +% inside document for creation of desired layout for floats +% and make layout modification easier +% if you ought to change book layout. In this case you could think only +% about \emph{markup} of floats and their contents. % -% \subsubsection{Defining Float Frames} +% The easy modification of common layout of all float or for one type of +% float is possible because of the borrowed code from the \package{float} +% package, which allows to modify layout of float boxes as a whole. % -% \DescribeMacro{framestyle=} -% Defines type of frame; the -% \pkg{floatrow} package offers only one type of frame: -% \begin{Options}{\OptionLabel} -% \item[fbox] -% Standard frame. -% \end{Options} -% There are options for additional frames, offered by \pkg{fr-fancy} -% package, installed with \env{floatrow}: -% \begin{Options}{\OptionLabel} -% \item[colorbox] -% colored frame, needs also \pkg{color} package; -% if not defined, there is used |\fbox|; -% \item[doublebox] -% double frame, needs also \pkg{fancybox} package; -% \item[shadowbox] -% frame with shadow, needs also \pkg{fancybox} package; -% \item[wshadowbox] -% modified \texttt{shadowbox} frame (frame with ``white shadow''), -% needs also \pkg{fancybox} package; -% \end{Options} +% The common layout and modification for captions and special +% settings for +% each type of float is supported by \package{caption} package, version~3.x. % -% \noindent -% \DescribeMacro{framearound=} -% Declares element of float box to be framed: -% \begin{Options}{\OptionLabel} -% \item[object] -% float object contents; -% \item[all] -% full float box including object, caption, and any foot text. -% \end{Options} +% The layout settings of \package{floatrow} package are built similarly +% to the settings from the \package{caption}~3.x package and use |\floatsetup|\footnote{Some key and +% option names were changed from version 0.1d, the reason was +% to arrange and make names more memorable, and, sometimes, reduction +% of their names (see {\sectionname}~\ref{sec:changed}).} mechanism which is +% analog to |\captionsetup| one\footnote{Look also at \package{caption} +% documentation (version 3.0 and later)}. % -% \noindent -% \DescribeMacro{framefit=} -% Boolean which sets whether the \textit{frame width} will -% be equal to current |\hsize| or predefined width of -% float box (\texttt{framefit=yes}), in this case object size reduced; -% or the frame climbs out in the left and -% right sides, and \textit{width of object} has current -% |\hsize| or predefined width of float box (\texttt{framefit=no}). +% \DescribeMacro{\floatsetup} +% You may use layout settings stuff as \package{floatrow} option in +% the |\usepackage| line. +% \begin{Quote} +% |\usepackage[|\meta{options}|]{floatrow}|\quad. +% \end{Quote} +% You may write +% \begin{Quote} +% |\usepackage[style=boxed,font=small]{floatrow}|\quad. +% \end{Quote} +% The same result you get with the |\floatsetup| command: +% \begin{Quote} +% |\floatsetup{style=boxed,font=small}|\quad. +% \end{Quote} +% The lines above declare the \texttt{boxed} style and the |\small| font for +% float contents. These settings were loaded for \emph{all} float types. % -% \noindent -% \DescribeMacro{frameset=} -% The parameters for chosen frame; there are no options -% for this key, just write something like: -% \begin{quote} -% |frameset={\fboxrule1pt\fboxsep12pt}|\quad. -% \end{quote} +% The |\floatsetup| command has following form: +% \begin{Quote} +% |\floatsetup|\oarg{float type}\marg{options}\quad. +% \end{Quote} % -% \noindent -% \DescribeMacro{colorframeset=} -% Offered by \pkg{fr-fancy} package\footnote{Use -% \texttt{fancyboxes=yes} option in \cmd{\usepackage} line.}: defines -% concrete color box (default is standard |\fbox|). -% In current version you may use only |\fcolorbox| as color box. You -% may define your color box like -% \begin{quote} -% |colorframeset={\fcolorbox{white}{yellow}}|\quad. -% \end{quote} +% For defining of a special style for the floats of one type, you can use optional +% argument with name of necessary float type. The following command +% \begin{Quote} +% |\floatsetup[table]{style=Plaintop}| +% \end{Quote} +% sets a special float style for floating tables: captions are placed above +% float objects; in the case of floats are placed in one row, inside the \env{floatrow} +% environment, text of captions is aligned by the top lines.%^^A +% %^^A \footnote{The keys, +% %^^A used in special settings for float of one type, are always +% %^^A ``stronger'' than synonym keys in common setting. In other words, +% %^^A if you want after example above to redefine float style for all +% %^^A floats with \cmd{\floatsetup\{style={\normalfont \meta{option}}\}} +% %^^A you won't change tables---use +% %^^A \cmd{\floatsetup[table]}\allowbreak +% %^^A \texttt{\{style={\normalfont \meta{option}}\}} again.} % -% \subsubsection{Defining Float Skips} +% There are also special options of |\floatsetup| for settings for floats +% in different positioning: two-column floats (starred environment, like +% \env{figure*}, you may also use, for example, for wide floats) rotated +% floats, wrapped floats. The ``strength'' of options in the lists below decreases +% from previous item to next one (examples based on \env{figure} +% environment)\footnote{In the case of the boolean key \texttt{rawfloats=} is switched to \texttt{true}, +% the options below for float layout are canceled.}: +% \begin{itemize}\label{stsetorder}\itemsep0pt\parskip0pt +% \item +% Wide or two-column floats (e.g. \env{figure*}: +% you may load special +% settings for starred environments even in one-column document; that could be different margins for +% floats, different alignment of captions): +% \begin{itemize} +% \item +% |\floatsetup[widefigure]|\label{setup:widefigure}---the ``strongest'' settings; +% if they absent, package uses settings from next item; +% \item +% |\floatsetup[widefloat]|\label{setup:widefloat}---these settings ``stronger'' +% than settings from next item (|\floatsetup[figure]|); +% if they absent, package uses settings from next item; +% \item +% |\floatsetup[figure]|; +% if they absent, package uses settings from +% optional argument in |\usepackage| line or |\floatsetup{...}| +% command; if they absent---default package settings +% (see page~\pageref{sec:default}); +% \end{itemize} +% \item +% Wrapped floats (\env{wrapfigure}, used width \package{wrapfig} package): +% \begin{itemize}%\itemsep0pt\parskip.5\parskip +% \item |\floatsetup[wrapfigure]|\label{setup:wrapfigure}; +% \item |\floatsetup[wrapfloat]|\label{setup:wrapfloat}; +% \item |\floatsetup[figure]|; +% \end{itemize} +% \item +% Rotated floats (in environments, like \env{sidewaysfigure}, +% used width \package{rotating} package): +% \begin{itemize}%\itemsep0pt\parskip.5\parskip +% \item |\floatsetup[rotfigure]|\label{setup:rotfigure}; +% \item |\floatsetup[rotfloat]|\label{setup:rotfloat}; +% \item |\floatsetup[figure]|; +% \end{itemize} +% \item +% Wide or two-column rotated floats +% (\env{sidewaysfigure*})\footnote{The settings +% for wide float (\texttt{widefloat}, \texttt{widefigure}) +% removed---use settings for \texttt{widerotfloat} +% and---here---\texttt{widerotfigure}}: +% \begin{itemize}%\itemsep0pt\parskip.5\parskip +% \item |\floatsetup[widerotfigure]|\label{setup:widerotfigure}; +% \item |\floatsetup[widerotfloat]|\label{setup:widerotfloat}; +% \item |\floatsetup[rotfigure]|; +% \item |\floatsetup[rotfloat]|; +% \item |\floatsetup[figure]|; +% \end{itemize} +% \item +% Floats with beside captions (please note, that settings in these options are limited, see below): +% \begin{itemize}%\itemsep0pt +% \item |\floatsetup[capbesidefigure]|\label{setup:capbesidefigure}; +% \item |\floatsetup[capbesidefloat]|\label{setup:capbesidefloat}; +% \item +% setting of outer environments from previous items: +% \env{sidewaysfigure*}, \env{sidewaysfigure}, \env{figure*} and \env{figure}. +% \end{itemize} +% \end{itemize} +% You can also create and change special settings for captions, using +% the same \meta{float~type} options in |\captionsetup| stuff.\nopagebreak % -% \DescribeMacro{captionskip=} -% Defines vertical space between caption and float object -% in case of |midcode| key defined as |midcode=captionskip|; -% or in case of usage of float styles (\texttt{style=} -% key) \texttt{plain}, \texttt{plaintop} or \texttt{Plaintop}: -% \begin{quote} -% |captionskip=10pt|\quad. -% \end{quote} +% The next few sections describe keys of |\floatsetup| macro. % -% \noindent -% \DescribeMacro{footskip=} -% Defines vertical space before foot material and footnotes. -% \begin{quote} -% |footskip=4pt|\quad, -% \end{quote} -% or -% \begin{quote} -% |footskip=\skip\footins|\quad. -% \end{quote} +% \subsection{Floatsetup Keys}\label{sec:floatkeys} % -% \penalty-5000 -% \subsubsection{Defining Float Footnote Rule's Style} -% \label{sec:footnotestyle} +% \subsubsection{Float Style} % -% \DescribeMacro{footnoterule=} -% Defines type of footnote rule for footnotes inside float environment. -% \begingroup -% \makeatletter\@beginparpenalty10000\makeatother -% \begin{Options}{\OptionLabel} -% \item[normal] -% standard \LaTeX{} definition, used in \env{minipage} environments, the -% width of it equals to 0.4 of current with of text (|\columnwidth|); -% \item[limited] -% like previous one but max width of footnote rule equals to the value -% defined by |\frulemax| command, like: -% \begin{quote} -% |\newcommand\frulemax{1in}| -% \end{quote} -% \item[fullsize] -% rule to full current text width. -% \item[none] -% Absent rule. +% \DescribeMacro{style}\label{setup:style}%^^A +% The \emph{float style} could include alignment of float contents, margins, boxes or lines, +% if necessary, and other options. +% The \emph{float style} is specified by following way: +% \par\RestoreSpaces +% \begin{Options}{style=float style name } +% \item[style=\rmfamily\mdseries\meta{float style name} ,] +% the name of the \meta{float style name} option you may take from +% table~\ref{tab:floatlayouts}. +% \item[...] +% You may create your own options with \\|\DeclareFloatStyle| command, +% see page~\pageref{ssec:declstyle}. % \end{Options} -% \endgroup % -% \label{setup:end} +% As you may see in the table~\ref{tab:floatlayouts}, there are included all float styles +% which emulate co-named ones from the \package{float} package. % -% %^^A ???needed? -% \subsubsection{Loading Style for Fancy Boxes} +% Please note, that usage of \texttt{style=} key for floats with beside captions, +% i.e.~using |\floatsetup| settings with options like, e.g., +% |[capbesidefigure]| or |[capbesidefloat]| +% cancels settings for beside position of caption. Usually the floats with beside captions +% can set different alignment of captions, so the radical changes for float layout +% with beside caption in current version could get wrong results (see +% {\sectionname}~\ref{page:killfloatstyle} how to solve this problem).\medskip % -% \DescribeMacro{fancyboxes=} -% This boolean key loads \pkg{fr-fancy} package. This key you may use -% only in optional argument in |\usepackage| line. +% The \package{caption} package uses its own settings and names for caption layout styles. +% The caption's \texttt{ruled} style is the only one from \package{float} +% package, which was predefined in \package{caption} package. To use it, +% write +% \begin{Quote} +% |\captionsetup[figure]{style=ruled}|\quad . +% \end{Quote} +% +% \begingroup\vfill +% \jot3pt\tabcolsep1.5\tabcolsep +% \newlengthtocommand\settowidth\Icolumn{\small\texttt{wshadowboxx}} +% \newlengthtocommand\settowidth\IIcolumn{\small\texttt{framestyle=wshadowbox}} +% \newlengthtocommand\setlength\IIIcolumn{\textwidth-\Icolumn-\IIcolumn +% -6\tabcolsep-1.6pt} +% \newcommand\leftcell[2][16.5mm]{%^^A% +% \hspace*{-\tabcolsep}\begin{tabular}[t]{>{% +% \noindent +% \vphantom{\small()\mpfootnotemark[1]}} +% p{\hsize}} +% #2\unskip\botstrut\end{tabular}\hspace*{-\tabcolsep}% +% } +% \begin{longtable}{|>{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\Icolumn} +% |>{\extrarowheight0pt\def\arraystretch{.75}\ttfamily}p{\IIcolumn} +% |>{\parindent1em\topstrut}p{\IIIcolumn}<{\botstrut}|} +% \caption{Float layout styles}\label{tab:floatlayouts}\\ +% \hline +% \hfil\thead{Style} & +% \hfil\thead{\cmd{\floatsetup} keys} & +% \hfil\thead{Description} \\ +% \hline +% \endfirsthead +% \caption[]{Float layout styles \textmd{(\emph{Continued})}}\\ +% \hline +% \hfil\thead{Style} & +% \hfil\thead{\cmd{\floatsetup} keys} & +% \hfil\thead{Description} \\ +% \hline +% \endhead +% \caption[]{Float layout styles \textmd{(\emph{Finished})}}\\ +% \hline +% \hfil\thead{Style} & +% \hfil\thead{\cmd{\floatsetup} keys} & +% \hfil\thead{Description} \\ +% \hline +% \endlasthead +% \multicolumn{3}{r@{}}{\topstrut\emph{Continued on next page}} +% \endfoot +% \multicolumn{3}{r@{}}{\topstrut\emph{Finished on next page}} +% \endprelastfoot +% \endlastfoot +% \multicolumn{3}{|c|}{Offered by \package{floatrow} package\botstrut\topstrut}\\ +% \hline \leftcell{\texttt{plain}\label{setup:plain}{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]}} +% & \leftcell{\meta{none}} +% &The style \texttt{plain} is standard \LaTeX's layout. Put captions always below float object's contents. +% \\\hline +% \leftcell{\texttt{plaintop}{\mpfootnotemark[1]} +% \botstrut\\ \hline\topstrut\texttt{Plaintop}} +% & \leftcell[50mm]{capposition=top\botstrut\\ \hline\topstrut +% capposition=TOP} +% &The style \texttt{plaintop} is the same as \texttt{plain} style, but puts captions above float object's contents---%^^A +% this style is analog of +% the co-named style from the \package{float} package.\par Capitalized form, |Plaintop|, +% aligns captions of the floats, which were placed in the one row +% (in the \env{floatrow} environment), +% by top line (see example on the page~\pageref{tab:row:tabIII}) +% \\\hline +% \leftcell{\texttt{ruled}\label{setup:ruled}{\mpfootnotemark[1]\mpfootnotemark[3]} +% \\ \\ \\ \\ \botstrut\\ \hline\topstrut\texttt{Ruled}\smash{\mpfootnotemark[2]}} +% & \leftcell[50mm]{capposition=top,\\ precode=thickrule,\\ +% midcode=rule,\\ postcode=lowrule,\\ +% heightadjust=all\botstrut\\ \hline\topstrut +% style=ruled,\\ capposition=TOP} +% &The first style, \texttt{ruled}, emulates co-named style from the \package{float} package. +% It places thick rule +% above float box, and thin rules between caption and object and below float. Rules are separated +% from contents by small 2pt skip.\par +% Capitalized form, |Ruled|, aligns captions of the floats, which were placed +% in the one row (in the \env{floatrow} environment), +% by top line (see example on the page~\pageref{example:ruledcapposTOP}) +% \\\hline +% \leftcell{\texttt{boxed}\smash{\mpfootnotemark[1]\mpfootnotemark[2]\mpfootnotemark[3]\mpfootnotemark[4]} +% \\ \\ \\ \botstrut\\ \hline\topstrut\texttt{Boxed}\label{setup:Boxed}\smash{\mpfootnotemark[2]\mpfootnotemark[3]} +% \\ \botstrut\\ \hline\topstrut\texttt{BOXED}\smash{\mpfootnotemark[2]}\mpfootnotemark[3]} +% & \leftcell[50mm]{captionskip=2pt,\\framestyle=fbox,\\ +% heightadjust=object,\\framearound=object\botstrut\\ \hline\topstrut +% style=boxed,\\ framefit=yes\botstrut\\ \hline\topstrut +% framestyle=fbox,\\ framefit=yes,\\ +% heightadjust=all,\\ framearound=all} +% &The first style, \texttt{boxed}, emulates (again) co-named style from the \package{float} package. +% The width of object equals to the |\textwidth|, predefined \cmd{\hsize}, or +% the width in |\floatbox|'s option; +% frame climbs out to the right and left sides (see example on the page~\pageref{fig:setup:boxed}). +% Frame separation and rule width equal to current \cmd{\fboxsep} and \cmd{\fboxrule} settings. (Default values +% are \texttt{3pt} and \texttt{.4pt} consequently.)\par +% In capitalized form, |Boxed|, the frame around object fits the +% \cmd{\textwidth}, predefined \cmd{\hsize}, or the width in |\floatbox|'s option; the width of object +% is reduced to fit inside frame (see example on the page~\pageref{fig:plain:MyBoxed}).\par +% Uppercase form, |BOXED|, +% draws frame which fits to current \cmd{\textwidth}, predefined \cmd{\hsize}, or the width in |\floatbox|'s option, +% but around all float elements: caption, object and foot material +% (see example on the page~\pageref{fig:wrapfig:WcatII}) +% \\ \hline +% \multicolumn{3}{|c|}{Offered by \package{fr-fancy} package. +% They also need \package{fancybox} package.\botstrut\topstrut}\\* +% \hline \leftcell{\texttt{shadowbox}\smash{\mpfootnotemark[4]} +% \\ \botstrut\\ \hline\topstrut\texttt{Shadowbox} +% \\ \botstrut\\ \hline\topstrut\texttt{SHADOWBOX}} +% & \leftcell[50mm]{style=boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut +% style=Boxed,\\framestyle=shadowbox\botstrut\\ \hline\topstrut +% style=BOXED,\\framestyle=shadowbox} +% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED} +% consequently. The \cmd{\fbox} frame changed to \cmd{\shadowbox} +% from \package{fancybox} package (see example on the page~\pageref{fig:subfig:catsI}). +% Besides \cmd{\fboxsep} and \cmd{\fboxrule}, there is added parameter +% \cmd{\shadowsize}---the width of shadow, +% default is \texttt{4pt} +% \\ \hline +% \leftcell{\texttt{doublebox}\smash{\mpfootnotemark[4]} +% \\ \botstrut\\ \hline\topstrut\texttt{Doublebox}\\ +% \botstrut\\ \hline\topstrut\texttt{DOUBLEBOX}} +% & \leftcell[50mm]{style=boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut +% style=Boxed,\\ framestyle=doublebox\botstrut\\ \hline\topstrut +% style=BOXED,\\ framestyle=doublebox} +% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED} +% consequently. The \cmd{\fbox} frame changed to \cmd{\doublebox} +% from \package{fancybox} package. The frame shape control \cmd{\fboxrule} and \cmd{\fboxsep} parameters +% \\ \hline\noalign{\penalty-500} +% \multicolumn{3}{|c|}{Additional float styles. They also need +% \package{fancybox} package.\botstrut\topstrut}\\* \hline +% \leftcell{\texttt{wshadowbox}\smash{\mpfootnotemark[4]} +% \\ \botstrut\\ \hline\topstrut\texttt{Wshadowbox} +% \\ \botstrut\\ \hline\topstrut\texttt{WSHADOWBOX}} +% & \leftcell[50mm]{style=boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut +% style=Boxed,\\framestyle=wshadowbox\botstrut\\ \hline\topstrut +% style=BOXED,\\framestyle=wshadowbox} +% &The same as \texttt{boxed}, \texttt{Boxed} and \texttt{BOXED} +% consequently. The \cmd{\fbox} frame changed to \cmd{\wshadowbox}, +% based on \cmd{\shadowbox} (but drops white shade from frame, or +% draws edges of ``second copy'') from \package{fancybox} package +% (see example on the page~\pageref{fig:floatflt:WcatI}), you may use the same frame parameters like +% \texttt{shadowbox} style. +% \\\hline +% %^^A \multicolumn3{@{}p{\hsize}@{}} +% \noalign +% {\floatfoot*{When there is set float style with frame around object is +% fitted to the box width (like \texttt{Boxed}, etc.), and +% \cmd{\floatbox} macro uses \cmd{\FBwidth} command as \meta{width} +% option, which sets box width equal to float object's width (see +% page~\pageref{sec:floatbox}), the width of all float other elements +% in this case enlarged to get width of framed object.\vspace{-3pt}\par +% \rule{1in}{.4pt}\vspace{2pt}\parindent15pt % -% \subsection{Settings for One Float} +% \mpfootnotemark[1]{The styles co-named and analogous to \package{float} package style.} % -% \DescribeMacro{\thisfloatsetup}\label{thisfloatsetup}%^^A -% You may define some settings only for one float just -% before necessary environment. Command |\thisfloatsetup| could -% contain the same keys and options as in |\floatsetup|. It has -% only mandatory argument\footnote{The \cmd{\thisfloatsetup} defined -% as abbreviation of \cmd{\floatsetup[tmpset]} command.}.\par\strut -% \par\kern-\baselineskip +% \mpfootnotemark[2]{This style used in the sample file \file{frsmaple01.tex}} % -%^^A Please note that |\thisfloatsetup| doesn't overwrite -%^^A co-named key declarations from settings like -%^^A |\floatsetup[|\meta{options}|]|---this command created e.g -%^^A for temporary change of float or caption widths: keys -%^^A \texttt{captionwidth=} \texttt{floatwidth=} do not used usually -%^^A in |\floatsetup| stuff. +% \mpfootnotemark[3]{This style used in the sample file \file{frsmaple02.tex}} % +% \mpfootnotemark[4]{During usage of these styles in +% \env{floatrow} environment you ought to enlarge +% space between floats, using key \texttt{floatrowsep}.} +% }} +% \end{longtable} % -% \subsection{Clearing of Previous Float Type Settings} % -% \DescribeMacro{\clearfloatsetup} -% If you want to get rid of parameters marked -% for an automatic use within a particular environment -% you can use the command\footnote{See also documentation -% of \pkg{caption} package about \cmd{\clearcaptionsetup} command}: -% \begin{quote} -% |\clearfloatsetup|\marg{Typ}\quad. -% \end{quote} +% \endgroup % -% %^^A !!!for footnotes! -% %^^A \newpage % -% \subsection{The Default Float Type Settings}\label{sec:default} % -% The following keys and options are switched on when \pkg{floatrow} -% package loaded. They equal to \texttt{plain} style: -% \begin{Options}{\OptionLabel} -% \item[font=normalsize] -% \item[footfont=footnotesize] -% \item[capposition=bottom] -% \item[capbesideposition=inside] -% \item[capbesideframe=no] -% \item[footposition=default] -% \item[heightadjust=none] -% \item[facing=no] -% \item[margins=centering] -% \item[objectset=centering] %^^A($\equiv$\texttt{justification=centering}, \pkg{caption}) -% \item[floatrowsep=columnsep] -% \item[capbesidesep=columnsep] -% \item[precode=none] -% \item[rawprecode=none] -% \item[postcode=none] -% \item[rawpostcode=none] -% \item[midcode=captionskip] -% \item[captionskip=10pt] -% \end{Options} +% \RestoreSpaces % +%^^A\pagebreak[4] % -% \subsection{Defining new options} +% \subsubsection{Font settings}\label{setup:start} % -% In the next few sections goes a small list of commands, which -% define key options for |\floatsetup|. The examples of option -% definitions were taken mainly from \pkg{floatrow} definitions. +% \DescribeMacro{font}\label{setup:font}%^^A +% Defines font for float object contents. Option +% analogous to |font=| key in |\captionsetup| stuff.\nopagebreak % -% \subsubsection{Float Style} +% Available font setting options: % -% \DescribeMacro{\DeclareFloatStyle} -% Defines new float style. Example shows definition of new float -% style \texttt{MyBoxed}. The figures~\ref{fig:plain:MyBoxed}, and -% some others in current documentation show result. -%\begin{verbatim} -%\DeclareFloatStyle{MyBoxed}{style=Boxed,captionskip=5pt, -% frameset={\fboxrule1pt\fboxsep12pt}} -%\floatsetup[figure]{style=MyBoxed} -%\end{verbatim} +% \begin{Options}{\OptionLabel} +% \item[scriptsize] {\scriptsize Very small size}\allowitembreaks[-4] +% \item[footnotesize] {\footnotesize The size usually used for footnotes}\allowitembreaks +% \item[small] {\small Small size} +% \item[normalsize] {\normalsize Normal size} +% \item[large] {\large Large size} +% \item[Large] {\Large Even larger size} % -% \begingroup +% \item[up] {\upshape Upright shape} +% \item[it] {\itshape Italic shape} +% \item[sl] {\slshape Slanted shape} +% \item[sc] {\scshape Small Caps shape}\pagebreak[2] % -% \floatsetup[figure]{style=MyBoxed} -% \begin{figure}[!t] -% {\input{BlackCat.picture}}% -% \caption{%^^A -% Plain figure in \texttt{MyBoxed} style}% -% \label{fig:plain:MyBoxed}% -% \floatfoot{Much more, more and more and more and more and more and -% more and more and more text inside macro \cmd{\floatfoot}}% -% \end{figure} +% \item[md] {\mdseries Medium series}\pagebreak[2] +% \item[bf] {\bfseries Bold series}\pagebreak[2] % -% The same result you get with: -%\begin{verbatim} -%\floatsetup[figure]{style=Boxed,captionskip=5pt, -% frameset={\fboxsep12pt\fboxrule1pt}} -%\end{verbatim} -% \endgroup +% \item[rm] {\rmfamily Roman family} +% \item[sf] {\sffamily Sans Serif family} +% \item[tt] {\ttfamily Typewriter family} +% \item[...] +% You may create your own options with |\DeclareFloatFont| command, +% see page~\pageref{ssec:declfont}. +% \end{Options} % -% \subsubsection{Defining Float Rules/Skips}\label{ssec:decl:rule} +% You may set font for float object like +% \begin{Quote} +% |font=small| +% \end{Quote} +% this option is used in current documentation, or +% \begin{Quote} +% |font={small,sf}|\quad . +% \end{Quote} % -% \DescribeMacro{\DeclareFloatVCode} -% This command defines the skip, rule or other analogous code above -% and below full float box and between caption above/below and -% object. The defined option you may use in \texttt{rowprecode}, -% \texttt{precode}, \texttt{midcode}, \texttt{postcode}, and -% \texttt{rowpostcode} keys. -% \begin{quote} -% |\DeclareFloatVCode{thickrule}{\hrule height.8ptdepth0pt%|\\ -% \strut\qquad|\kern2pt}| -% \end{quote} +% \addvspace\medskipamount\noindent +% \DescribeMacro{footfont}\label{setup:footfont}%^^A +% Defines font for legends or explications (defined by |\floatfoot| command, +% see~\textsl{\sectionname}~\ref{subsec:floatfoot}). This macro +% uses |\captionsetup| mechanism (because |\floatfoot| macro +% uses \package{caption} mechanism). By default the font size +% of float foot text equals to footnote text: |footfont=footnotesize|. % -% \subsubsection{Float Object Justification}\label{ssec:decl:marg} +% \RestoreSpaces +% \subsubsection{Position of Caption and of Other Elements} % -% \DescribeMacro{\DeclareObjectSet} -% You may define justification for \texttt{objectset=} key like\nopagebreak: -% \begin{quote} -% |\DeclareObjectSet{centering}{\centering}| -% \end{quote} -% In option's definition you may try to include any regular commands -% which you need to put before each object contents in float -% environment\footnote{You may also use key options declared by -% \cmd{\DeclareCaptionJustification} command of \pkg{caption} package -% as options for \texttt{objectset=} key.}.\par -% \strut\par\kern-\baselineskip +% \DescribeMacro{capposition}\label{setup:capposition}%^^A +% Defines position of captions. It is similar to \texttt{position=} +% key in \package{caption} package, but it has two additional +% options\footnote{The option \texttt{auto} isn't used by +% \texttt{capposition=}.}: \texttt{TOP}%^^A +% \FRmpar{Caption above\\ table object}{FAD:CaptionAboveTableII}, if you prefer to align captions +% above objects, in the case of beside floats (in \env{floatrow} +% environment), by the top line; and \texttt{beside} to put caption +% beside object (this option could be more preferable in settings +% for one environment, see about |\thisfloatsetup| on the +% page~\pageref{thisfloatsetup}): +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel} +% \item[top] caption above object; +% \item[TOP] caption above object and also aligned by top line in float +% row. +% For example the \texttt{Plaintop} style is the variant of +% \texttt{plaintop} where used |capposition=TOP| settings, +% see tables~\ref{tab:row:tabIII:CAPTOP}--\ref{tab:row:tabIV:CAPTOP}; +% \item[bottom] caption below object; +% \item[beside] caption beside object.%^^A +%^^A% \FRmpar{Beside caption and float object}{FAD:BesideCaptionII} +% \end{Options} % -% \subsubsection{Float Box Alignment (and Some Other Settings)} -% \label{ssec:decl:marg} +% Compare two examples: +% \begin{Quote} +% |\floatsetup[table]{|\hyperref[setup:style]{\texttt{style}}%^^A +% |=plain,capposition=top}%|${}\equiv\texttt{style=plaintop}$ +% \end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \floatsetup[table]{style=plain,capposition=top} +% \begin{table}[H] +% \begin{floatrow}\tabcolsep2\tabcolsep +% \extrarowheight1pt +% \ttabbox +% {\caption[Long caption of table~I with key \texttt{capposition=top}]%^^A +% {The table~I in the row with long, long, long, long, long, long caption}\label{tab:row:tabIII:captop}}%^^A +% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} +% \hline +% \multirowthead{2}[-1ex]{Left Column Head} +% & \multicolumn{2}{c|}{\thead{Data}} \\ +% \cline{2-3} +% & \multicolumn{1}{c|}{\thead{I}} +% & \multicolumn{1}{c|}{\thead{II}} +% \\\hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} % -% \DescribeMacro{\DeclareMarginSet}\label{fsetup:besmarg}%^^A -% You may define box alignment for float box (\texttt{margins=} key) like: -% \begin{quote} -% |\DeclareMarginSet{center}{%|\\ -% | \setfloatmargins{\hfil}{\hfil}}| -% \end{quote} -% or like (see also sample files) -% \begin{quote} -% |\DeclareMarginSet{outside}{%|\\ -% | \setfloatmargins*{\hfil}{}}| -% \end{quote} +% \ttabbox +% {\caption[Table~II in the row with caption with key \texttt{capposition=top}]%^^A +% {Table~II in the row with caption}\label{tab:row:tabIV:captop}}%^^A +% {\begin{tabular}{|l|c|c|c|} +% \hline +% \multirowthead{2}[-1ex]{Column Head} +% & \multicolumn{3}{c|}{Data} \\ +% \cline{2-4} +% & \thead{I} & \thead{II} & \thead{III} \\ +% \hline +% First row & 1 & 2 & \phantom01 \\ +% Second row & 3 & 4 & \phantom06 \\ +% Third row & 6 & 8 & 28 \\ +% \hline +% \end{tabular}} +% \end{floatrow} +% \end{table} +% \endgroup +% \MakeShortVerb{\|}% % -% Non-starred form of |\setfloatmargins| defines left and right -% margin. -% \begin{quote} -% |\setfloatmargins{|\meta{left margin}|}{|\meta{right margin}|}| -% \end{quote} +% \begin{Quote} +% |\floatsetup[table]{|\hyperref[setup:style]{\texttt{style}}%^^A +% |=plain,capposition=TOP}%|${}\equiv\texttt{style=Plaintop}$ +% \end{Quote} +% \DeleteShortVerb{\|}% +% \begingroup +% \floatsetup[table]{style=plain,capposition=TOP} +% \begin{table}[H] +% \begin{floatrow}\tabcolsep2\tabcolsep +% \extrarowheight1pt +% \ttabbox +% {\caption[Long top-aligned caption of table~I key \texttt{capposition=TOP}]%^^A +% {The table~I in the row with long, long, long, long, long, long caption, +% aligned by the top line}\label{tab:row:tabIII:CAPTOP}}%^^A +% {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} +% \hline +% \multirowthead{2}[-1ex]{Left Column Head} +% & \multicolumn{2}{c|}{\thead{Data}} \\ +% \cline{2-3} +% & \multicolumn{1}{c|}{\thead{I}} +% & \multicolumn{1}{c|}{\thead{II}} +% \\\hline +% First row & 1 & 2 \\ +% Second row & 3 & 4 \\ +% Third row & 6 & 8 \\ +% Fourth row & \llap{1}0 & \llap{1}6 \\ +% \hline +% \end{tabular}} % -% Starred form, |\setfloatmargins*|, defines facing layout: inside and -% outside margin. -% \begin{quote} -% |\setfloatmargins*{|\meta{inside margin}|}{|\meta{outside margin}|}| -% \end{quote} +% \ttabbox +% {\caption[Table~II in the row with caption, aligned +% at the top line with key \texttt{capposition=TOP}]{Table~II in the row with caption, aligned +% at the top line}\label{tab:row:tabIV:CAPTOP}}%^^A +% {\begin{tabular}{|l|c|c|c|} +% \hline +% \multirowthead{2}[-1ex]{Column Head} +% & \multicolumn{3}{c|}{Data} \\ +% \cline{2-4} +% & \thead{I} & \thead{II} & \thead{III} \\ +% \hline +% First row & 1 & 2 & \phantom01 \\ +% Second row & 3 & 4 & \phantom06 \\ +% Third row & 6 & 8 & 28 \\ +% \hline +% \end{tabular}} +% \end{floatrow} +% \end{table} +% \endgroup +% \MakeShortVerb{\|}% % -% You may set even much more complex definition: -% \begin{quote}\leftmargin0pt -% |\DeclareObjectSet{facingrule}{%| -% |\setfloatmargins*{%|\\ -% | \floatfacing{\hskip-12pt\vrule width4pt\hskip8pt\hfill}%|\\ -% | {\hfill\hskip8pt\vrule width4pt\hskip-12pt}}{}}| -% \end{quote} -% the |\floatfacing| defines following -% \begin{quote} -% |\floatfacing{|\meta{odd page definition}|}{|\meta{even -% page definition}|}| -% \end{quote} -% This macro has also starred form |\floatfacing*|, -% which you can use in key options for |\captionsetup| stuff. +% \emph{Note}. The option \texttt{TOP} uses |\label|---|\ref| +% mechanism, so, to get necessary result with it, you need to run \LaTeX{} +% twice (when you make changes in contents which could change number +% of lines you get correct result also on the second run).\pagebreak[3] % -% The |\setfloatmargins| consists of three macros which set margins -% for three main variants of float positions: +% \medskip\noindent +% \DescribeMacro{capbesideposition}\label{setup:capbesideposition}%^^A +% Defines position of beside captions: vertical and horizontal. +% For horizontal position there are defined four options: +% \par\RestoreSpaces % \begin{Options}{\OptionLabel} -% \item[\cmd{\floatboxmargins}]sets left/right margins around alone -% float box; -% \item[\cmd{\floatrowmargins}]sets left/right margins around -% \env{floatrow} environment; -% \item[\cmd{\floatcapbesidemargins}]sets left/right margins around -% alone float box with beside caption. +% \item[left] +% caption is printed to the left side of object; +% \item[right] +% caption is printed to the right side of object; +% \item[inside] +% caption is printed in binding side of page if |twoside| option +% switched on in document class; +% \item[outside] +% least popular option: caption printed in +% outer side of page if |twoside| option switched on +% in document class. % \end{Options} -% The grammar for using three mentioned commands is similar to -% |\setfloatmargins|. The settings which use |\floatfacing| command -% work only in the case when key \texttt{facing=yes} used. % -% \emph{Notes}. 1)\enskip The \pkg{floatrow} expands some settings of table layout -% to the \env{longtable} environment, so you may set |\LTleft| and -% |\LTright| parameters inside |\setfloatmargins| command. For example, -% \texttt{centering} option was defined like: -% \begin{quote} -% |\DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}%|\\ -% | \LTleft=\fill \LTright=\fill}| -% \end{quote} +% For vertical position there are defined three options +% \begin{Options}{\OptionLabel}\samepage +% \item[top] +% caption aligned to the top of object; +% \item[bottom] +% caption aligned to the bottom of object; +% \item[center] +% caption aligned to the center of float contents. +% \end{Options} +% You may define position of beside caption by following: +% \begin{Quote} +% |capbesideposition={top,outside}|\quad. +% \end{Quote} +% See examples in file \file{frsample02.tex} with all variants of +% position of captions beside float objects. % -% 2)\enskip The font settings loaded in |\floatsetup| -% in \env{longtable} environment expand to captions. -% In this case, when you write something like -% \begin{quote} -% |\floatsetup{font={sf,scriptsize,it}| -% \end{quote} -% or -% \begin{quote} -% |\floatsetup[longtable]{font={sf,scriptsize,it}| -% \end{quote} -% for floats (or for [long]tables only), you must restore correct -% font size, family, and shape for caption contents and write: -% \begin{quote} -% |\captionsetup{font={rm,small,up}| -% \end{quote} -% or -% \begin{quote} -% |\captionsetup[longtable]{font={rm,small,up}| -% \end{quote} +% \medskip\noindent +% \DescribeMacro{capbesidewidth}\label{setup:capbesidewidth}%^^A +% Defines width of beside caption. This option could be more preferable +% in settings for one environment, see about |\thisfloatsetup| on the +% page~\pageref{thisfloatsetup}. You may set: +% \begin{Quote} +% |capbesidewidth=4cm|\quad. +% \end{Quote} +% If you'll write \texttt{capbesidewidth=none} or +% \texttt{capbesidewidth=sidefil} (this is default key setting), the +% width of caption will be counted by usual way, accordingly +% to float width (i.e. occupies the rest width of float box, see +% figure~\ref{intro:beside:FBwidth} on the page~\pageref{intro:beside:FBwidth}). % +% \medskip\noindent +% \DescribeMacro{capbesideframe}\label{setup:capbesideframe}%^^A +% This boolean key declares whether the beside caption stays near the framed object +% (\texttt{capbesideframe=yes}) in this case caption lines aligned by top +% or bottom of frame; otherwise caption lines will be aligned with top or +% bottom of framed object's \emph{contents} (\texttt{capbesideframe=no}). +% This key was switched on in the example on the page~\pageref{fig:subfig:catsI}. +% \newcommand\TEXTBOX[1][]{\par +% Here goes first line of text \text\par +% There goes second line of text#1\par +% Thence goes third line of text \text\par +% Hence goes fourth line of text} +% \def\text{{\mdseries And more text and some more text and a bit more text and +% a little more text and a little piece of text to fill space}} +%\begingroup +% \begin{Quote} +% \meta{preamble} +% |\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=Boxed,|%^^A +% \hyperref[setup:frameset]{\texttt{frameset}}|={\fboxsep8pt},| +% | |\hyperref[setup:objectset]{\texttt{objectset}}|=justified,|%^^A +% |capbesideframe=no,capbesideposition={right,top}}| +% |\captionsetup[figure]{...,strut=no}| +% \meta{preamble} +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{|\hyperref[setup:capposition]{\texttt{capposition}}|=beside,| +% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=sidefil,|%^^A +% \hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=4cm}| +% |\begin{figure}| +% | ...| +% | \caption{...}\label{...}| +% |\end{figure}| +% \end{Quote}% +% \floatsetup[figure]{style=Boxed,frameset={\fboxsep8pt},capbesideframe=no,objectset=justified, +% capbesideposition={right,top},footnoterule=limited} +% \captionsetup[figure]{strut=no} +% \thisfloatsetup{capposition=beside,floatwidth=sidefil,capbesidewidth=4cm} +% \begin{figure}[H] +% {\TEXTBOX} +% {\caption{Caption beside framed object, (caption has width 4\,cm), aligned by top of object contents}%%^^A +% \label{capbesideframeI}}% +% \end{figure} +% \begin{Quote} +% \meta{preamble} +% |\floatsetup[figure]{...,capbesideframe=yes,...}| +% |...| +% \meta{preamble} +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{|\hyperref[setup:capposition]{\texttt{capposition}}|=beside,| +% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=9cm,|%^^A +% \hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=sidefil}| +% \end{Quote}% +% \floatsetup[figure]{capbesideframe=yes} +% \thisfloatsetup{capposition=beside,floatwidth=9cm,capbesidewidth=sidefil} +% \captionsetup{strut=no} +% \begin{figure}[H] +% {\TEXTBOX} +% {\caption{Caption beside framed object, (object has width 9cm), aligned by top of frame}% +% \label{row:text:I}}% +% \end{figure} +%\endgroup % -% \subsubsection{Defining Float Separators} +% \emph{Floatrow note.} For examples above was also used |\captionsetup{strut=no}| sentence, +% which cancels struts at the beginning and end of caption (|\strut|: the rules with height +% and depth, which are set accordingly to current |\baselineskip|). % -% \DescribeMacro{\DeclareFloatSeparators}\label{decl:sep}%^^A -% You may to define separator -% between float boxes, or float object and beside caption, for example: -% \begin{quote} -% |\DeclareFloatSeparators{columnsep}{\hskip\columnsep}| -% \end{quote} -% or more complex, using \pkg{color} package, and |\floatfacing| macro -% (do not forget the \texttt{facing=yes} key): -% \begin{quote} -% |\DeclareFloatSeparators{colorsep}%|\\ -% | {\begingroup\color{blue}%|\\ -% | \floatfacing{\hskip14pt\vrule width1.8pt\hskip2pt}%|\\ -% | {\hskip2pt\vrule width1.8pt\hskip14pt}%|\\ -% | \endgroup}| -% \end{quote} +% \penalty-5000 +% \RestoreSpaces +% \subsubsection{Defining Float Foot Position (Legends and Footnotes)}% +% \label{sec:footposition} % -% You may use defined option by both \texttt{floatrowsep=} and -% \texttt{capbesidesep=} keys\footnote{You may use key options declared -% by \cmd{\DeclareCaptionLabelSeparator} command.}.\par\strut\par -% \kern-\baselineskip +% \DescribeMacro{footposition}\label{setup:footposition}%^^A +% Defines position of |\footnote|'s and |\floatfoot|'s in float box +% with above/below captions. +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel} +% \item[default] +% if caption above float object foot material is placed below float +% object otherwise---below caption; +% \item[caption] +% always placed below caption; +% \item[bottom] +% always placed at the bottom of float box. +% \end{Options} +% See examples in file \file{frsample01.tex}. In the case of caption +% beside float object, footnotes and foot text always placed below +% caption. % -% \subsubsection{Float font} +% \subsubsection{Defining Vertical Alignment}\label{sec:heightadjust} % -% \DescribeMacro{\DeclareFloatFont} -% With this macro you may define new option -% for font (\texttt{font=} key) of float contents. This macro works -% like |\DeclareCaptionFont| in \pkg{caption} package. (You may also -% use key options declared by |\DeclareCaptionFont| command.)\par -% \strut\par\kern-\baselineskip +% \DescribeMacro{heightadjust}\label{setup:heightadjust}%^^A +% Defines whether the common maximum height of objects +% or/and captions in the \env{floatrow} environment will be used. It has +% following options +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel}\samepage +% \item[all] +% adjust both caption and object heights (e.g. for styles +% \texttt{Ruled} and \texttt{BOXED}); +% \item[caption] +% adjust caption heights (e.g. for \texttt{Plaintop} style); +% \item[object] +% adjust object heights (e.g. for \texttt{Boxed} style); +% \item[none] +% nothing to be adjusted; +% \item[nocaption] +% no adjusting for captions; +% \item[noobject] +% no adjusting for objects; +% \end{Options} +% You may define height adjustment even as followed: +% \begin{Quote} +% |heightadjust={caption,noobject}|\quad. +% \end{Quote} % -% \subsubsection{Defining Float Footnote Rule's Style} +% \addvspace\medskipamount\noindent +% \DescribeMacro{valign}\label{setup:valign}%^^A +% Defines vertical alignment of +% float objects in \env{floatrow} if |heightadjust=all| or +% |heightadjust=object|, or |\floatbox| stuff uses \meta{height} +% argument with value, which differs from the height of object. +% The options of this key analogous to vertical +% alignment option in \env{minipage} environment and |\parbox| +% command. Default option is |c| (centered vertical alignment). +% \par\RestoreSpaces +% \begin{Options}{cc}\samepage +% \item[t] +% aligns objects by top line; +% \item[c] +% aligns objects by center line; +% \item[b] +% aligns objects by bottom line; +% \item[s] +% stretches objects by full height (if it is possible). +% \end{Options} % -% \DescribeMacro{\DeclareFloatFootnoterule} -% You may define new footnoterule (\texttt{footnoterule=} key) like: -% \begin{quote} -% |\DeclareFloatFootnoterule{fullsize}{%|\\ -% | \kern-3\p@|\\ -% | \hrule \@width\hsize\kern 2.6\p@}| -% \end{quote} -% Remember, that summary vertical height for footnote rule must be -% equal to~0pt. +% The settings |heightadjust=object,valign=c| were used +% in the example with figures \ref{intro:leftfig:valigned} +% and \ref{intro:rightfig:valigned}. (Please look at the width options of |\ffigbox| commands: +% you may set the widths in this way with \package{calc} package.) +%\begin{Quote}% +%\meta{preamble}\nopagebreak +%|\floatsetup{...,heightadjust=object,valign=c,...}|\nopagebreak +%\meta{preamble} +% |\begin{figure}| +% |\begin{floatrow}| +% | \ffigbox[\FBwidth+2cm]| +% | {...}| +% | {\caption{The left ...}\label{...}}%| +%| | +% | \ffigbox[\FBwidth+2cm]| +% | {\caption{The beside ...}\label{...}}| +% | {...}| +% |\end{floatrow}| +% |\end{figure}| +%\end{Quote}% +% \begin{figure}[h!]\floatsetup{heightadjust=object,valign=c}\killfloatstyle +% \begin{floatrow} +% \ffigbox[\FBwidth+2cm] +% {\input{BlackCat.picture}} +% {\caption{The left beside figure uses settings for vertical centering}% +% \label{intro:leftfig:valigned}}% +% +% \ffigbox[\FBwidth+2cm] +% {\caption{The beside figure at the right side uses settings for vertical centering}%^^A +% \label{intro:rightfig:valigned}} +% {\unitlength1.25\unitlength\input{Cat.picture}} +% \end{floatrow} +% \end{figure}%^^A % -% \section{Creation of New Float Type} +% \subsubsection{Facing Layout} % -% \DescribeMacro{\DeclareNewFloatType} -% For creation of new float type there was created -% |\DeclareNewFloatType| command which also uses -% \meta{key}${}=\nobreak {}$\meta{value} mechanism: -% \begin{quote} -% |\DeclareNewFloatType{|\meta{type}|}{|\meta{options}|}| -% \end{quote} -% The \meta{type} argument includes the new float environment name.\\ -% The \meta{options} could include following keys: +% \DescribeMacro{facing}\label{setup:facing}%^^A +% This key defines whether facing layout is used +% for floats. This key works if |twoside| option switched on in +% document class. The combination of settings |facing=yes,|\allowbreak +% |capbesideposition=inside| (see above) is used in current documentation. % -% \noindent -% \DescribeMacro{placement=} -% The option of this key could have any combination of letters -% \texttt{t}, \texttt{b}, \texttt{h}, and \texttt{p}, which -% define placement of current float type on the page in -% the case float environment has no any option argument. -% (As default is declared \texttt{placement=tbp}.) +% The most popular usage of |facing| key is in the case, when beside captions are placed to the inner sides +% of pages. The figures~\ref{intro:beside} and~\ref{intro:beside:FBwidth} at beginning of the document +% illustrate these options---%^^A +% \texttt{facing=yes,\allowbreak capbesideposition=inside}. % -% \noindent -% \DescribeMacro{name=} -% Defines the name of environment in the caption -% label. (As default for caption label is declared the -% name of environment.) +% \RestoreSpaces +% \subsubsection{Defining Float Margins and Object Settings} +% \label{sec:set:box} +% +% \DescribeMacro{margins}\label{setup:margins}%^^A +% Defines margins of alone float boxes with +% captions above/below, of float boxes with beside captions, and of +% \env{floatrow} environments. It has following three predefined +% options: +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel} +% \item[centering] +% float box centered; +% \item[raggedright] +% float box flushed to the left; +% \item[raggedleft] +% float box flushed to the right. +% \item[...] +% You may create your own alignment settings with \\|\DeclareMarginSet| command, see +% page~\pageref{ssec:decl:marg}. +% \end{Options} % % \noindent -% \DescribeMacro{fileext=} -% Defines the file extension from which -% gathered list of floats. (As default, captions -% are gathered in \texttt{lox}-file). +% \DescribeMacro{objectset}\DescribeMacro{justification}\label{setup:objectset}%^^A +% Defines justification of float object +% (float contents). Predefined options are similar to +% \texttt{justification=} key in |\captionsetup|. +% \par\RestoreSpaces +% \begin{Options}{RaggedRigh} +% \item[justified] +% Blocks (in the case of a~picture or text box) +% moved to the left, the text aligned as a normal paragraph (without indentation). (This is the default.) +% +% \item[centering] +% Blocks centered, each line of the object text will be centered. +% +% \item[raggedright] +% Blocks moved to the left, each line of the text shoved to the left margin. +% +% \item[RaggedRight] +% As in previous item, each line of the text shoved to the +% left margin, too. +% But this time the command |\RaggedRight| of the \package{ragged2e} package +% will be used to achieve this. This difference is that this time +% the word breaking algorithm of \TeX\ will work inside the text. +% +% \item[raggedleft] +% Blocks moved to the right, +% each line of the text shoved to the right margin. +% +% \item[RaggedLeft] +% Analogous to |RaggedRight|. +% +% \item[...] +% You may also create your own settings with |\DeclareObjectSet| command (see +% page~\pageref{ssec:decl:oset}) +% \end{Options} +% +% \RestoreSpaces +% \subsubsection{Defining Width of Object}\label{sec:wd:object} % % \noindent -% \DescribeMacro{within=} -% Declares the section head of document, by which -% current float resets its numbering to zero. If this key absent, -% float increases during whole documentation. +% \DescribeMacro{floatwidth}\label{setup:floatwidth}%^^A +% It is used for redefinition of width of objects. +% This key, similar to |captionwidth=|, page~\pageref{setup:capbesidewidth}, +% could be used at first +% for settings of one float environment: +% \begin{Quote} +% |floatwidth=.3\hsize| +% \end{Quote} +% or +% \begin{Quote} +% |floatwidth=7cm| +% \end{Quote} +% (see page~\pageref{thisfloatsetup} about settings for current float environment and |\thisfloatsetup|).\pagebreak[1] +% +% \begingroup +% \begin{Quote}\openup-.65pt +% \meta{preamble}\nopagebreak +% |\floatsetup[figure]{|\hyperref[setup:capposition]{\texttt{capposition}}|=bottom}|\nopagebreak +% \meta{preamble} +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |[figure]{floatwidth=.3\hsize,capposition=bottom}|\nopagebreak +% |\begin{figure}| +% | \includegraphics[width=\hsize]{Bear}| +% | \caption{...}\label{...}| +% |\end{figure}| +% \end{Quote}% +% +% \floatsetup[figure]{capposition=bottom} +% \thisfloatsetup{floatwidth=.3\hsize} +% \begin{figure}[H] +% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A +% \caption{Graphics with \texttt{floatwidth=0.3}\cmd{\hsize}}% +% \label{fig:rot} +% \end{figure}% +% \endgroup +% +% \begingroup +% \begin{Quote}% +% |\|\hyperref[setup:thisfloatsetup]{\texttt{thisfloatsetup}}%^^A +% |{floatwidth=.3\hsize,|\hyperref[setup:capbesidewidth]{\texttt{capbesidewidth}}|=sidefil,| +% | capposition=beside}| +% \end{Quote}% +% +% \thisfloatsetup{floatwidth=.3\hsize,capbesidewidth=sidefil, +% capposition=beside} +% \begin{figure}[H] +% \setlength\unitlength{\hsize/100}\input{Bear.picture}%^^A +% \caption{Caption beside graphics with \texttt{floatwidth=0.3}\cmd{\hsize}}%^^A +% \label{fig:bear} +% \end{figure}% +% \endgroup +% +% If you use option \texttt{floatwidth=sidefil} for objects with beside +% captions (in the case of key \texttt{capbesidewidth=}, +% \DescribeMacro{capbesidewidth}%^^A +% uses absolute +% value, like \texttt{capbesidewidth=4cm}) the object contents (instead of caption) +% occupy the rest space of float box (see +% figure~\ref{capbesideframeI} on the page~\pageref{capbesideframeI} and appendix, figure~\ref{fig:capbeside:trick} on the +% page~\pageref{fig:capbeside:trick}) +% +% \RestoreSpaces +% \subsubsection{Defining Float Separators}\label{sec:set:sep} % % \noindent -% \DescribeMacro{relatedcapstyle=} -% In \pkg{float} package the non-starred -% \cmd{\newfloat}/\cmd{\restylefloat} macros attach related -% caption style for float styles (see section \ref{sec:floatst}). -% If you use |\DeclareNewFloatType| mechanism and exists (you created -% it by |\captionsetup|) co-named, i.e. related, caption style -% you may attach this style with key \texttt{relatedcapstyle=yes}. -% %^^A \begin{quote} -% %^^A |\captionsetup[figure]{style=ruled}| -% %^^A \end{quote} +% \DescribeMacro{floatrowsep}\label{setup:floatrowsep}%^^A +% Sets separation material between beside float boxes in one row +% inside \env{floatrow} environment (see page~\pageref{sec:floatrow}). % -% The |\DeclareNewFloatType| was used for defining of \env{Example} -% environment (see page \pageref{exa1.1}). It consists of following -% code: -% \begin{quote} -% |\DeclareNewFloatType{Example}%|\\ -% | {placement=t,within=section,fileext=lox}| -% \end{quote} +% \addvspace\smallskipamount\noindent +% \DescribeMacro{capbesidesep}\label{setup:capbesidesep}%^^A +% Sets separation material between object and beside caption. % -% \section{Borrowed code} +% \RestoreSpaces +% Both key settings work similarly to |labelsep=| key +% from |\captionsetup|. +%^^A +% They use following predefined options: +% \begin{Options}{\OptionLabel} +% \item[columnsep] +% horizontal skip${}={}$|\columnsep| (default); +% \item[quad] +% horizontal skip${}={}1$\,em; +% \item[qquad] +% horizontal skip${}={}2$\,em; +% \item[hfil] +% horizontal skip${}={}1$\,fil (like |\hfil|); +% \item[hfill] +% horizontal skip${}={}1$\,fill (like |\hfill|); +% \item[none] +% empty separator. +% \item[...] +% You may also create your own settings with\\ |\DeclareFloatSeparators| command (see +% page~\pageref{setup:DeclareFloatSeparators}) +% \end{Options} +% This documentation uses settings |floatrowsep=qquad| for separation of +% beside floats and\allowbreak\ |capbesidesep=quad| +% for floats with beside captions. % -% \subsection{\pkg{float} Package: Compatibility}\label{sec:floatst} +% \subsubsection{Defining Float Rules/Skips}\label{sec:set:rule} % -% The \pkg{floatrow} package includes some macros of \pkg{float} -% (version v1.3d, dated 2001/11/08) -% with necessary modifications. In the case of loaded \pkg{float} -% package before \pkg{floatrow} you'll get error message. +% \DescribeMacro{precode}\label{setup:precode}%^^A +% Defines skip, rule or other analogous code above float box. % -% \emph{Note}. -% In the case of some packages -% could call \pkg{float} package\footnote{I'm aware about \pkg{algorithm} -% package.} the \pkg{floatrow} package loads code which emulates -% already loaded \pkg{float} package v1.3, so next requests for -% \pkg{float} are ignored. This will help to avoid strange error messages -% in the case of these packages loaded \emph{after} \pkg{floatrow}. -% Please note that packages, which load \pkg{float} must be loaded -% \emph{after} \pkg{floatrow}. -% -% I hope that old documents could work with \pkg{floatrow}. The first -% limitation or feature is---if you didn't use any |\restylefloat| -% command---all figures and tables appear in \texttt{plain} float style -% with bottomed captions. Another limitation---you ought to put all -% |\newfloat| and |\floatstyle| and |\restylefloat| commands in -% preamble, before |\begin{document}|. The commands |\restylefloat|, -% |\newfloat| and |\floatstyle| are obsolete but -% supported\footnote{The better -% way is to use \cmd{\floatsetup} macros. The \pkg{floatrow} package -% supports obsolete macros but there is no guarantee.}. See also -% section~\ref{float-obs} about translation of these commands -% into |\floatsetup| command. +% \addvspace\smallskipamount\noindent +% \DescribeMacro{rowprecode}\label{setup:rowprecode}%^^A +% Defines skip, rule or other analogous code above alone float box, +% or, in the case of beside floats inside \env{floatrow} environment, +% above float row (see page~\pageref{fig:rotrow:WcatI}). % -% Sections, signed with ``[\pkg{float}]'' were borrowed from -% \pkg{float}'s documentation. +% \addvspace\smallskipamount\noindent +% \DescribeMacro{midcode}\label{setup:midcode}%^^A +% Defines skip, rule or other analogous code between +% caption above/below and float object. % -% \subsubsection{The User Interface---New Floats [\pkg{float}]} -% \label{sec:floatborrowI} +% \addvspace\smallskipamount\noindent +% \DescribeMacro{postcode}\label{setup:postcode}%^^A +% Defines skip, rule or other analogous code below float box. % -% \DescribeMacro{\newfloat} -% The most important command in \pkg{float} -% is the |\newfloat| command\footnote{It doubles the -% \cmd{\DeclareNewFloatType} command.}. It is patterned on -% |\newtheorem|. The |\newfloat| command takes three required and -% one optional argument; it is of the form -% \begin{quote} -% \hspace*{\MacroIndent}|\newfloat{|\meta{type}|}{|^^A -% \meta{placement}|}{|\meta{ext}|}[|\meta{within}{\tt]} -% \end{quote} -% \begin{itemize} -% \item \marg{type} is the `type' of the new class of floats, like -% \texttt{program} or \texttt{algorithm}. After the appropriate -% |\newfloat|, commands like |\begin{program}| or |\end{algorithm*}| -% will be available. -% \item \marg{placement} gives the default placement -% parameters for this class of floats. The placement parameters are -% the same as in standard \LaTeX, i.e., \texttt{t}, \texttt{b}, -% \texttt{p} and \texttt{h} for `top', `bottom', `page' and `here', -% respectively. -% \item \marg{ext} When \LaTeX\ writes the captions to an auxiliary file -% for the list of figures (or whatever), it'll use the job name -% followed by \marg{ext} as a file name. -% \item \oarg{within} Finally, the optional -% argument \meta{within} determines whether floats of this class will -% be numbered within some sectional unit of the document. For example, -% if \oarg{within}${}={}$\texttt{chapter}, the floats will be numbered -% within chapters. (In standard \LaTeX, this happens with figures and -% tables in the \cls{report} and \cls{book} document styles.) As an -% example, Program~\ref{prog1.1} was created by a command sequence -% similar to that shown in the following -% Example\footnote{Settings for Example float -% environment were created by \cmd{\DeclareNewFloatType} macro stuff.}. -% \end{itemize} -% \emph{Floatrow note.} -% There is also created a |\newfloat*| pair, which works similar to -% |\restylefloat*| command (see below). -% \begin{Program} -%\begin{verbatim} -%#include +% \addvspace\smallskipamount\noindent +% \DescribeMacro{rowpostcode}\label{setup:rowpostcode}%^^A +% Defines skip, rule or other analogous code below alone float box, or, +% in the case of beside floats inside \env{floatrow} environment, +% below float row (see page~\pageref{fig:rotrow:WcatI}). % -%int main(int argc, char **argv) { -% int i; -% for (i = 0; i < argc; ++i) -% printf("argv[%d] = %s\n", i, argv[i]); -% return 0; -%} -%\end{verbatim} -% \caption{The first program. This hasn't got anything to do with the -% package but is included as an example. -% Note the \texttt{ruled} float style.% -% \label{prog1.1}} -% \end{Program} -% \begin{Example}[H] -% \begin{verse} -% |\floatstyle{ruled}|\\ -% |\newfloat{Program}{tbp}{lop}[section]|\\ -% \dots\ loads o' stuff \dots\\ -% |\begin{Program}|\\ -% |\begin{verbatim}|\\ -% \dots\ program text \dots\\ -% |\end{verbatim}|\\ -% |\caption{|\dots\ caption \dots|}|\\ -% |\end{Program}| -% \end{verse} -% \caption{This is another silly floating Example. Except -% that this one doesn't actually float -% because it uses the {\tt[H]} optional parameter -% to appear \textbf{Here}. (Gotcha.)}\label{exa1.1} -% \end{Example} +% For all these keys there are predefined following options (settings +% were taken from styles created in \package{float} package): +% \begin{Options}{\OptionLabel}\makeatletter\@itempenalty10000\makeatother +% \item[none] +% absent code; +% \item[thickrule] +% thick rule (.8pt) with 2pt vertical skip below---rule above float box +% in \texttt{ruled} style; +% \item[rule] +% rule of default thickness (.4pt), with 2pt vertical skips above and +% below---middle rule in \texttt{ruled} style; +% \item[lowrule] +% rule of default thickness (.4pt), with 2pt vertical skip above---rule +% below float box in \texttt{ruled} style; +% \item[captionskip] +% vertical skip equal to value, defined in |captionskip=| key (default). +% \item[...] +% You may create your own options with |\DeclareFloatVCode| command, +% see page~\pageref{ssec:decl:rule}. +% \end{Options} % -% \DescribeMacro{\floatstyle} -% The |\floatstyle| command sets a default -% float style. This float style will be used for all the floats that -% are subsequently defined using |\newfloat|, until another -% |\floatstyle| command appears. The |\floatstyle| command takes one -% argument, the name of a float style. For instance, -% |\floatstyle{ruled}|. Specifying a string that does not name a valid -% float style is an error. +% \subsubsection{Defining Float Frames} % -% \DescribeMacro{\floatname} -% The |\floatname| command lets you define -% the \emph{float name} that \LaTeX\ uses in the caption of a float, -% i.e., `Figure' for a figure and so on. For example, -% |\floatname{program}{Program}|. The |\newfloat| command sets the -% float name to its argument \meta{type} if no other name has been -% specified before. +% \DescribeMacro{framestyle}\label{setup:framestyle}%^^A +% Defines type of frame; the +% \package{floatrow} package offers only one type of frame: +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel} +% \item[fbox] +% Standard frame. +% \end{Options} +% There are options for additional frames, offered by \package{fr-fancy} +% package, installed with \env{floatrow}: +% \begin{Options}{\OptionLabel} +% \item[colorbox] +% colored frame, needs also \package{color} package; +% if not defined, there is used |\fbox|; +% \item[doublebox] +% double frame, needs also \package{fancybox} package; +% \item[shadowbox] +% frame with shadow, needs also \package{fancybox} package; +% \item[wshadowbox] +% modified \texttt{shadowbox} frame (frame with ``white shadow''), +% needs also \package{fancybox} package; +% \end{Options} % -% \DescribeMacro{\floatplacement} -% The |\floatplacement| command resets -% the default placement specifier of a class of floats. E.g., -% |\floatplacement{figure}{tp}|. +% \enlargethispage{\baselineskip} +% \addvspace\medskipamount\noindent +% \DescribeMacro{frameset}\label{setup:frameset}%^^A +% The parameters for chosen frame; there are no options +% for this key, just write something like: +% \begin{Quote} +% |frameset={\fboxrule1pt\fboxsep12pt}|\quad. +% \end{Quote} % -% \DescribeMacro{\restylefloat}\nopagebreak -% The |\restylefloat| command is necessary -% to change styles for the standard float types -% \texttt{figure} and \texttt{table}. Since these aren't usually -% defined via |\newfloat|, they don't have a style associated with -% them. Thus you have to say, for example, -% \begin{quote} -% \hspace*{\MacroIndent}|\floatstyle{ruled}|\\ -% \hspace*{\MacroIndent}|\restylefloat{table}| -% \end{quote} -% to have tables come out \texttt{ruled}. The command also lets you -% change style for floats that you define via |\newfloat|, although -% this is, typographically speaking, not a good idea. See -% table~\ref{table1} for an example\footnote{The \pkg{float} package -% created special caption style with bold label for \texttt{boxed} -% style. Please note that \texttt{plain} and \texttt{boxed} float -% styles have not any special settings in \pkg{caption} 3.x package. -% To emulate \texttt{boxed} style from \pkg{float} documentation there -% were: cleared all special caption settings for tables, and restored -% default colon separator after label.}. There is a |\restylefloat*| -% command which will restyle an existing float type but will keep the -% new float style from taking over the |\caption| command. In this -% case the user is responsible for handling their own captions. -% \DeleteShortVerb{\|} -% %^^AEmulation of float's documentation settings -% %^^A\floatstyle{boxed} -% %^^A\restylefloat{table} +% \noindent +% \DescribeMacro{framearound}\label{setup:framearound}%^^A +% Declares element of float box to be framed: +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel} +% \item[object] +% float object contents; +% \item[all] +% full float box including object, caption, and any foot text. +% \end{Options} +% +% \addvspace\medskipamount\noindent +% \DescribeMacro{framefit}\label{setup:framefit}%^^A +% Boolean which sets whether the \textit{frame width} will +% be equal to current |\hsize| or predefined width of +% float box (\texttt{framefit=yes}), in this case object size reduced +% (see~page~\pageref{fig:plain:MyBoxed} and all boxed figures in current +% documentation); +% or the frame climbs out in the left and +% right sides, and \textit{width of object} has current +% |\hsize| or predefined width of float box (\texttt{framefit=no}). +% \begingroup +% \begin{Quote}% +% |\floatsetup[figure]{framestyle=fbox,|\hyperref[setup:heightadjust]{\texttt{heightadjust}}|=object,|\nopagebreak +% | framearound=object,frameset={\fboxrule1pt\fboxsep10pt},| +% | framefit=no}%|$\approx\texttt{style=boxed}$ +% |\begin{figure}| +% |\ffigbox[4cm]| +% | {...}{\caption{...}}| +% |\end{figure}| +% \end{Quote}% +% \floatsetup[figure]{framestyle=fbox,heightadjust=object, +% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=no}%^^A$\equiv\texttt{style=boxed}$ +% \begin{figure}[H]% +% \ffigbox[4cm] +% {\input{Cat.picture}}{\caption{The frame around graphics climbs out to the right and left sides}\label{fig:setup:boxed}} +% \end{figure}% +% \begin{Quote}% +% |\floatsetup[figure]{...,framefit=yes}%|$\approx\texttt{style=Boxed}$ +% |\begin{figure}|% +% |\ffigbox[4cm]| +% | {...}{\caption{...}}|\nopagebreak +% |\end{figure}|% +% \end{Quote}% +% \floatsetup[figure]{framestyle=fbox,heightadjust=object, +% framearound=object,frameset={\fboxrule1pt\fboxsep10pt},framefit=yes}%%^^A$\equiv\texttt{style=Boxed}$ +% \begin{figure}[H]% +% \ffigbox[4cm] +% {\input{Cat.picture}}{\caption{The frame around graphics fits to the width of float box (here: caption)}} +% \end{figure}% +% \endgroup +% +% \addvspace\medskipamount\noindent +% \DescribeMacro{colorframeset}\label{setup:colorframeset}%^^A +% Offered by \package{fr-fancy} package\footnote{Use +% \texttt{fancyboxes=yes} option in \cmd{\usepackage} line, also you ought to load \package{color} package.} +% and also needs +% \package{color} package: defines +% concrete color box (default is standard |\fbox|). +% You may use |\fcolorbox| as color box. You +% may define your color box like +% \begin{Quote} +% |colorframeset={\fcolorbox{white}{yellow}}|\quad. +% \end{Quote} +% +% \subsubsection{Defining Float Skips} +% +% \DescribeMacro{captionskip}\label{setup:captionskip}%^^A +% Defines vertical space between caption and float object +% in case of |midcode| key defined as |midcode=captionskip|; +% or in case of usage of float styles (\texttt{style=} +% key) \texttt{plain}, \texttt{plaintop} or \texttt{Plaintop}: +% \begin{Quote} +% |captionskip=10pt|\quad. +% \end{Quote} +% The settings above are default. +% The settings of current documentation: |captionskip=5pt|. +% +% \addvspace\medskipamount\noindent +% \DescribeMacro{footskip}\label{setup:footskip}%^^A +% Defines vertical space before foot material and footnotes. +% \begin{Quote} +% |footskip=4pt|\quad, +% \end{Quote} +% or +% \begin{Quote} +% |footskip=\skip\footins|\quad. +% \end{Quote} +% +% \subsubsection{Defining Float Footnote Rule's Style} +% \label{sec:footnotestyle} +% +% \DescribeMacro{footnoterule}\label{setup:footnoterule}%^^A +% Defines type of footnote rule for footnotes inside float environment. +% \par\RestoreSpaces % \begingroup -% \clearcaptionsetup{table} -% \captionsetup{labelsep=default,labelfont=bf} -% \floatsetup[table]{style=boxed} -% \begin{table} \def\B#1{$\displaystyle{n\choose#1}$} -% \begin{center} \begin{tabular}{c|cccccccc} -% $n$&\B0&\B1&\B2&\B3&\B4&\B5&\B6&\B7\\ \hline -% 0 & 1\\ -% 1 & 1&1\\ -% 2 & 1&2&1\\ -% 3 & 1&3&3&1\\ -% 4 & 1&4&6&4&1\\ -% 5 & 1&5&10&10&5&1\\ -% 6 & 1&6&15&20&15&6&1\\ -% 7 & 1&7&21&35&35&21&7&1 -% \end{tabular} \end{center} -% \caption{Pascal's triangle. This is a re-styled \LaTeX\ -% \texttt{table}.\label{table1}} -% \end{table} +% \begin{Options}{\OptionLabel} +% \item[normal] +% standard \LaTeX{} definition, used in \env{minipage} environments, the +% width of it equals to 0.4 of current width of text (|\columnwidth|); +% \item[limited] +% like previous one but max width of footnote rule equals to the value +% defined by |\frulemax| command, like: +% \begin{Quote} +% |\newcommand\frulemax{1in}| +% \end{Quote} +% \item[fullsize] +% rule to full current text width. +% \item[none] +% Absent rule. +% \item[...] +% You may create your own options with |\DeclareFloatFootnoterule| command, +% see page~\pageref{ssec:fnoterule}. +% \end{Options} % \endgroup -% \MakeShortVerb{\|} % -% \subsubsection{How macros from \pkg{float} package -% work in \pkg{floatrow}}\label{float-obs} +% \label{setup:end} +% +% %^^A ???needed? +% \subsubsection{Loading Style for Fancy Boxes} +% +% \DescribeMacro{fancyboxes}\label{setup:fancyboxes}%^^A +% This boolean key loads \package{fr-fancy} package. This key you may use +% only in optional argument in |\usepackage| line. +% +% \RestoreSpaces +% \subsubsection{Managing Floats with \texttt{[H]} placement option} +% +% \DescribeMacro{doublefloataswide}\label{setup:doublefloataswide}%^^A +% This boolean key redefines starred float in onecolumn layout +% like non-starred ones. (In this case the \texttt{[H]} option works +% in starred environments also; layout settings from |\floatsetup| +% as \texttt{widefloat} still work.) +% +% \medskip\noindent +% \DescribeMacro{floatHaslist}%^^A +% This boolean key adds values of penalties before and after +% this ``anchored'' float like in the list environment and cancels +% paragraph indentation, if no blank line appears after environment +% (see also section~\pageref{sec:listpen}). +% +% \RestoreSpaces +% \subsection{Settings for Current Float Environment} +% +% \DescribeMacro{\thisfloatsetup}\label{thisfloatsetup}\label{setup:thisfloatsetup}%^^A +% You may define some settings only for one float just +% before necessary environment. Command |\thisfloatsetup| could +% contain the same keys and options as in |\floatsetup|. It has +% only mandatory argument\footnote{The \cmd{\thisfloatsetup} defined +% as abbreviation of \cmd{\floatsetup[tmpset]} command.}.\par\strut +% \par\kern-\baselineskip +% +%^^A Please note that |\thisfloatsetup| doesn't overwrite +%^^A co-named key declarations from settings like +%^^A |\floatsetup[|\meta{options}|]|---this command created e.g +%^^A for temporary change of float or caption widths: keys +%^^A \texttt{captionwidth=} \texttt{floatwidth=} do not used usually +%^^A in |\floatsetup| stuff. +% +% +% \RestoreSpaces +% \subsection{Clearing of Settings for Current Float Type} +% +% \DescribeMacro{\clearfloatsetup}\label{setup:clearfloatsetup}%^^A +% If you want to get rid of parameters marked +% for an automatic use within a particular environment +% you can use the command\footnote{Created as additional macro for +% \cs{clearcaptionsetup} macro, see also documentation +% of \package{caption} package about \cmd{\clearcaptionsetup} command}: +% \begin{Quote} +% |\clearfloatsetup|\marg{float type}\quad. +% \end{Quote} +% where \marg{float type}---types as \texttt{figure}, \texttt{widefloat} etc. +% +% \subsection{Temporary Clearing of All Float Settings}\label{page:killfloatstyle} +% +% \DescribeMacro{\killfloatstyle}\label{setup:killfloatstyle}%^^A +% In some cases like mixed rows of floats where figure stays beside table +% you need to cancel layout of ``foreign'' float (see page~\pageref{mixrow}). +% The |\killfloatstyle| command is used before any +% command of |\floatbox| stuff (see {\sectionname}~\ref{sec:floatbox}). +% Other situation---layout with beside captions is quite different from other subtypes: +% |[figure]| option of +% floatsetup defined with \texttt{style=plain} and +% |[cabesidefigure]| defined with \texttt{style=boxed}. +% In this case you may define your command, based on predefined +% |\fcapside|: +% \begin{Quote} +% |\newcommand\myfcapside{\killfloatstyle| +% | \floatsetup[figure]{style=Boxed}\fcapside}|\quad. +% \end{Quote} +% The option |[figure]| is necessary if you defined settings for this option +% globally in the preamble. +% +% %^^A !!!for footnotes! +% %^^A \newpage +% +% \subsection{The Default Float Type Settings}\label{sec:default} +% +% The following keys and options are switched on when \package{floatrow} +% package loaded. They equal to \texttt{plain} style: +% \begin{Options}{\OptionLabel}\par\small\openup-.5pt +% \item[font=normalsize] +% \item[footfont=footnotesize] +% \item[capposition=bottom] +% \item[capbesideposition=inside] +% \item[capbesideframe=no] +% \item[footposition=default] +% \item[heightadjust=none] +% \item[facing=no] +% \item[margins=centering] +% \item[objectset=centering] %^^A($\equiv$\texttt{justification=centering}, \package{caption}) +% \item[floatrowsep=columnsep] +% \item[capbesidesep=columnsep] +% \item[precode=none] +% \item[rawprecode=none] +% \item[postcode=none] +% \item[rawpostcode=none] +% \item[midcode=captionskip] +% \item[captionskip=10pt] +% \end{Options} +% +% +% \subsection{Defining new options (Do it yourself!)} +% +% In the next few sections goes a list of commands, which +% define key options for |\floatsetup|. +% +% \subsubsection{Float Style option (\texttt{style=})}\label{ssec:declstyle} +% +% \DescribeMacro{\DeclareFloatStyle}\label{setup:DeclareFloatStyle}%^^A +% Defines new float style. Example shows definition of new float +% style \texttt{MyBoxed}. The figures~\ref{fig:plain:MyBoxed}, and +% some others in current documentation show result. +% \par\RestoreSpaces +%\begin{Quote} +%|\DeclareFloatStyle{MyBoxed}{|\hyperref[setup:style]{style}|=Boxed,|\hyperref[setup:captionskip]{captionskip}|=5pt,| +%| |\hyperref[setup:frameset]{frameset}|={\fboxrule1pt\fboxsep12pt}}| +%|\floatsetup[figure]{style=MyBoxed}| +%\end{Quote} +% +% \begingroup +% +% \floatsetup[figure]{style=MyBoxed} +% \begin{figure}[H] +% {\unitlength1.44\unitlength\input{Horse.picture}}% +% \caption{%^^A +% Plain figure in \texttt{MyBoxed} style}% +% \label{fig:plain:MyBoxed}% +% \floatfoot{Much more, more and more and more and more and more and +% more and more and more text inside macro \cmd{\floatfoot}}% +% \end{figure} +% +% The same result you get with: +% \par\RestoreSpaces +%\begin{Quote} +%|\floatsetup[figure]{style=Boxed,captionskip=5pt,| +%| frameset={\fboxsep12pt\fboxrule1pt}}| +%\end{Quote} +% \endgroup % -% The combination of |\floatstyle|\marg{style} and any of -% \cmd{\newfloat}\marg{float} or -% \cmd{\restylefloat}\marg{float} commands in \pkg{floatrow} package -% set float layout in the way: -% \begin{quote} -% |\floatsetup|\oarg{float}|{style=|\meta{style}|}| -% \end{quote} -% Please note that co-named keys from |\floatsetup|\oarg{float}|{...}| -% will overwrite the |\floatsetup{...}| settings. That means that if you -% set float layout with these obsolete commands, the next layout tuning -% you ought to do with |\floatsetup|\oarg{float}|{...}| stuff only. +% \subsubsection{Option for Float Rules/Skips (\texttt{precode=} etc.)} +% \label{ssec:decl:rule} % -% \subsubsection{Printing of Float List [\pkg{float}]} -% \label{sec:floatborrowIa} +% \DescribeMacro{\DeclareFloatVCode}\label{setup:DeclareFloatVCode}%^^A +% This command defines the skip, rule or other analogous code above +% and below full float box and between caption above/below and +% object. The defined option you may use in \texttt{rowprecode}, +% \texttt{precode}, \texttt{midcode}, \texttt{postcode}, and +% \texttt{rowpostcode} keys. +% \begin{Quote}\openup.5pt +% \meta{preamble} +% |\DeclareFloatVCode{grayruleabove}%| +% | {{\color{gray}\hrule height2.8ptdepth0pt\vskip4pt}}| +% |\DeclareFloatVCode{grayrulebelow}%| +% | {{\color{gray}\vskip4pt\hrule height2.8ptdepth0pt}}| +% |\floatsetup{...,| +% | |\hyperref[setup:rowprecode]{rowprecode}|=grayruleabove,|%^^A +% \hyperref[setup:rowpostcode]{rowpostcode}|=grayrulebelow}| +% \meta{preamble} +% |\begin{figure}| +% |\begin{floatrow}| +% | \ffigbox| +% | {...}{\caption{The left ...}\label{...}}%| +%| | +% | \ffigbox|\nopagebreak +% | {...}{\caption{The beside ...}\label{...}}| +% | \end{floatrow}|\nopagebreak +% |\end{figure}| +%| | +%| | +% |\begin{figure}| +% | ...| +% | \caption{The figure ...}\label{...}%| +% |\end{figure}| +% \end{Quote} +%\begingroup +% \advance\intextsep-.5\intextsep +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,rowprecode=grayruleabove, +% rowpostcode=grayrulebelow}\killfloatstyle +% \begin{floatrow} +% \ffigbox +% {\unitlength.65\unitlength\input{BlackCat.picture}} +% {\caption{The left beside figure inside float row with defined row rules above and below}% +% \label{intro:leftfig:row}}% % -% \nobreak\DescribeMacro{\listof} -% \nopagebreak -% The |\listof| command produces a list of all the floats -% of a given class. Its syntax~is\\[2pt] -% \hspace*{\MacroIndent}|\listof{|\meta{type}|}{|\meta{title}^^A -% |}|\\[2pt] -% \meta{type} is the float type given in the |\newfloat| command. -% \meta{title} is used for the title of the list as well as the -% headings if the current page style includes them. Otherwise, the -% |\listof| command is analogous to the built-in \LaTeX\ commands -% |\listoffigures| and |\listoftables|. +% \ffigbox +% {\caption{The beside figure at the right inside float row with defined row rules above and below}%^^A +% \label{intro:rightfig:row}} +% {\unitlength.85\unitlength\input{Cat.picture}} +% \end{floatrow} +% \end{figure}%^^A +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c,rowprecode=grayruleabove, +% rowpostcode=grayrulebelow}\killfloatstyle +% \ffigbox +% {\caption{Alone figure with defined row rules above and below}%^^A +% \label{intro:alone:row}} +% {\unitlength.85\unitlength\input{TheCat.picture}} +% \end{figure}%^^A +% \begin{Quote}\openup-.65pt +% \meta{preamble}\nopagebreak +% |...|\nopagebreak +% |\floatsetup{...,|\hyperref[setup:precode]{precode}|=grayruleabove,|%^^A +% \hyperref[setup:postcode]{postcode}|=grayrulebelow}| +% \meta{preamble} +% |...| +% \end{Quote}%^^A +% \advance\intextsep-.5\intextsep +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c, +% precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle +% \begin{floatrow} +% \ffigbox +% {\unitlength.65\unitlength\input{BlackCat.picture}} +% {\caption{The left beside figure inside float row with defined rules for float box}% +% \label{intro:leftfig:box}}% % -% \subsubsection{The User Interface---\texttt{[H]} -% Placement Specifier [\pkg{float}]}\label{sec:floatborrowII} +% \ffigbox +% {\caption{The beside figure at the right inside float row with defined rules for float box}%^^A +% \label{intro:rightfig:box}} +% {\unitlength.85\unitlength\input{Cat.picture}} +% \end{floatrow}% +% \end{figure}\kern-\lastskip%^^A +% \begin{figure}[H]\floatsetup{heightadjust=object,valign=c, +% precode=grayruleabove,postcode=grayrulebelow}\killfloatstyle +% \ffigbox +% {\caption{Alone figure with defined rules above and below for float box}%^^A +% \label{intro:alone:box}} +% {\unitlength.85\unitlength\input{TheCat.picture}} +% \end{figure}%^^A +%\endgroup +% \RestoreSpaces +% \subsubsection{Object Justification Option (\texttt{objectset=})}\label{ssec:decl:oset} % -% Many people find \LaTeX's float placement specifiers too -% restrictive. A Commonly Uttered Complaint (CUC) calls for a way to -% place a float exactly at the spot where it occurs in the input file, -% i.e., to \emph{not} have it float at all. It seems that the -% \texttt{[h]} specifier should do that, but in fact it only suggests -% to \LaTeX\ something along the lines of ``put the float here if it's -% OK with you''. As it turns out, \LaTeX\ hardly ever feels inclined -% to actually do that. This situation can be improved by judicious -% manipulation of float style parameters. +% \DescribeMacro{\DeclareObjectSet}\label{setup:DeclareObjectSet}%^^A +% You may define justification for \texttt{objectset=} key like\nopagebreak: +% \begin{Quote} +% |\DeclareObjectSet{centering}{\centering}| +% \end{Quote} +% In option's definition you may try to include any regular commands +% which you need to put before each object contents in float +% environment\footnote{You may also use key options declared by +% \cmd{\DeclareCaptionJustification} command of \package{caption} package +% as options for \texttt{objectset=} key.}.\par +% \strut\par\kern-\baselineskip % -% The same effect can be achieved by changing the actual method of -% placing floats. David Carlisle's \pkg{here} option introduces a new -% float placement specifier, namely \texttt{[H]}, which, when added to -% a float, tells \LaTeX\ to ``put it HERE, period''. If there isn't -% enough space left on the page, the float is carried over to the next -% page together with whatever follows, even though there might still -% be room left for some of that. This style option provides the -% \texttt{[H]} specifier for newly defined classes of floats as well -% as the predefined \texttt{figure}s and \texttt{table}s, thereby -% superseding \pkg{here}. David suggests that the \pkg{here} option be -% withdrawn from the archives in due course. +% \subsubsection{Option for Float Box Alignment/Settings (\texttt{margins=})} +% \label{ssec:decl:marg} % -% The {\tt[H]} specifier may simply be added to the float as an -% optional argument, like all the other specifiers. It may \emph{not} -% be used in conjunction with any other placement specifiers, so -% {\tt[Hhtbp]} is illegal. Neither may it be used as the default -% placement specifier for a whole class of floats. The following table -% is defined like this: -% \begin{verse} -% |\begin{table}[H]| \\* -% |\begin{tabular}{cl}|\\ -% |\tt t & Top of the page\\|\\* -% \dots\ more stuff \dots\\ -% |\end{tabular}| -% \end{verse} -% (It seems that I have to add some extraneous chatter here just so -% that the float actually comes out right in the middle of a printed -% page. When I \LaTeX ed the documentation\footnote{For \pkg{float} -% package.} just now it turned out that there was a page break that -% fell exactly between the ``So now'' line and the float. This -% wouldn't Prove Anything. Bother.) So now we have the following float -% placement specifiers: -% \begin{table}[H] -% \begin{tabular}{cl} -% \tt t & Top of the page\\ -% \tt b & Bottom of the page\\ -% \tt p & Page of floats\\ -% \tt h & Here, if possible\\ -% \tt H & Here, definitely -% \end{tabular} -% ^^A\caption{Could it be that this just needs a caption?} -% \end{table} +% \DescribeMacro{\DeclareMarginSet}\label{setup:DeclareMarginSet}%^^A +% You may define box alignment for float box (\texttt{margins=} key) like: +% \begin{Quote} +% |\DeclareMarginSet{center}{%| +% | \setfloatmargins{\hfil}{\hfil}}| +% \end{Quote} +% or like (see also sample files) +% \begin{Quote} +% |\DeclareMarginSet{outside}{%| +% | \setfloatmargins*{\hfil}{}}| +% \end{Quote} % -% \subsubsection{The {[H]} -% Placement Specifier---Managing of Page Breaks}\label{sec:listpen} +% Non-starred form of |\setfloatmargins| defines left and right +% margin. +% \begin{Quote} +% |\setfloatmargins{|\meta{left margin}|}{|\meta{right margin}|}| +% \end{Quote} % -% During usage of |[H]| option I found that it is necessary -% to set common penalties before and after ``anchored'' floats. +% Starred form, |\setfloatmargins*|, defines facing layout: inside and +% outside margin. +% \begin{Quote} +% |\setfloatmargins*{|\meta{inside margin}|}{|\meta{outside margin}|}| +% \end{Quote} % -% The rules for page breaking around such floats similar to -% page breaking of lists in the book. +% You may set even much more complex definition: +% \begin{Quote}\leftmargin0pt +% |\DeclareMarginSet{facingrule}{%| +% |\setfloatmargins*{%| +% | \floatfacing{\hskip-12pt\vrule width4pt\hskip8pt\hfill}%| +% | {\hfill\hskip8pt\vrule width4pt\hskip-12pt}}{}}| +% \end{Quote} +% the |\floatfacing| defines following +% \begin{Quote} +% |\floatfacing{|\meta{odd page definition}|}{|\meta{even page definition}|}| +% \end{Quote} +% This macro has also starred form |\floatfacing*|, +% which you can use in key options for |\captionsetup| stuff. % -% To follow the idea of |\allowdisplaybreaks| command from -% \pkg{amsmath} package there is created a beta-temp\footnote{I suppose -% that there will be created such support in \pkg{paralist} package -% and think it is better to follow one grammar for similar -% situations.} version -% of \pkg{listpen} package, which offers following commands: +% The |\setfloatmargins| consists of three macros which set margins +% for three main variants of float positions: % \begin{Options}{\OptionLabel} -% \item[\cmd{\allowprelistbreaks}]sets penalty before lists -% (and also ``anchored'' floats); -% \item[\cmd{\allowpostlistbreaks}]sets penalty after lists; -% \item[\cmd{\allowitembreaks}]sets penalty between list items. +% \item[\cmd{\floatboxmargins}]sets left/right margins around alone +% float box; +% \item[\cmd{\floatrowmargins}]sets left/right margins around +% \env{floatrow} environment; +% \item[\cmd{\floatcapbesidemargins}]sets left/right margins around +% alone float box with beside caption. % \end{Options} -% All they set globally, inside group or inside -% environments the penalties accordingly to digits -% from |[-4]| (never break) to |[4]| (always break). The positive -% values of optional argument in these commands analogous to values -% of optional arguments in |\pagebreak| command. The negative -% ones---to optional arguments |[1]|--|[4]| in |\nopagebreak| command. -% The default value of all three commands is |[-1]| which equal -% to settings of standard \LaTeX{} classes: \cls{book}, \cls{article} -% etc. (|[-1]| option equal to |-\@lowpenalty| value). -% -% \subsection{\pkg{rotfloat} Package} -% -% Code of \pkg{rotfloat} package was also borrowed by \pkg{floatrow} -% package. In the case of loaded \pkg{rotfloat} package before -% \pkg{floatrow} you will get error message. +% The grammar for using three mentioned commands is similar to +% |\setfloatmargins|. The settings which use |\floatfacing| command +% work only in the case when key \texttt{facing=yes} used. % -% The \pkg{floatrow} package loads code which pretends that -% \pkg{rotfloat} already loaded, so next loads are ignored. -% The \pkg{rotfloat} allowed in the |\usepackage| -% line with \pkg{rotating} package, which could have options. It is -% necessary to delete \pkg{rotfloat} package from |\usepackage| line -% where also \pkg{rotating} package loaded with options: otherwise -% you may get `option clash' error message. +% \emph{Notes}. 1)\enskip The \package{floatrow} expands some settings of table layout +% to the \env{longtable} environment, so you may set |\LTleft| and +% |\LTright| parameters inside |\DeclareMarginSet| settings. For example, +% \texttt{centering} option was defined like: +% \begin{Quote} +% |\DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}%| +% | \LTleft=\fill \LTright=\fill}| +% \end{Quote} % -% \section{Macros for Building Floats} +% 2)\enskip The font settings loaded in |\floatsetup| +% in \env{longtable} environment expand to captions. +% In this case, when you write something like +% \begin{Quote} +% |\floatsetup{font={sf,scriptsize,it}...| +% \end{Quote} +% or +% \begin{Quote} +% |\floatsetup[longtable]{font={sf,scriptsize,it}...| +% \end{Quote} +% for floats (or for [long]tables only), you ought to restore correct +% font size, family, shape (here) and series for caption contents and write\footnote +% {The version 3.1 of \package{caption} package will correct that.}: +% \begin{Quote} +% |\captionsetup{font={rm,small,up}...| +% \end{Quote} +% or +% \begin{Quote} +% |\captionsetup[longtable]{font={rm,small,up}...| +% \end{Quote} % -% \subsection{The Floatbox Macro}\label{sec:floatbox} % -% This package offers macro, which creates necessary layout of float -% object contents and caption (see also the introduction). -% The main macro looks like: -% \begin{quote} -% |\floatbox[|\meta{preamble}|]{|\meta{captype}|}[|^^A -% \meta{width}|][|\meta{height}|][|\meta{vert pos}|]|\\ -% | {|\meta{caption}|}{|\meta{object}|}|\footnote{The -% order of mandatory arguments and their contents makes not -% difference during building of float box. This macro -% historically needs two mandatory arguments, but they could -% be filled freely.} -% \end{quote} -% where\label{floatboxsets}: -% \begin{description}\itemsep0pt -% \item[\meta{preamble}]there could be |\capbeside| command which -% places caption beside float contents; |\nocapbeside| -% (to put caption above/below, accordingly -% to float type's style); or another systematic command -% (even with usage of |\captionsetup| and |\thisfloatsetup|---see -% examples in documentation and appendix). -% \item[\meta{captype}]the type of float this command created for; -% \item[\meta{width}]the width of object---caption box -% (in case of caption above or below object), -% or width of object box (if caption stays beside object). -% The command |\FBwidth| in the \meta{width} argument -% allows usage of natural width of float contents.\par -% \emph{Note}. If you use \verb|\FBwidth| in \meta{width} -% argument be sure that object contents can be placed in |\hbox| -% (you only allowed to use |\vspace| command at the very -% beginning and very end of object contents for fine tuning -% of vertical spaces); -% \item[\meta{height}]the height of object---caption box -% (in case of caption above or below object), -% or height of object box (if caption stays beside object); -% \item[\meta{vert pos}]vertical alignment of object contents in -% object's box in case of \meta{height} argument has larger value than -% height of object contents, float placed inside \env{floatrow}. -% \item[\meta{caption}]text of caption and legends (you may use -% |\floatfoot| command (see page~\pageref{subsec:floatfoot}); you -% may also use |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff -% for footnotes inside float, or |\floatfoot| command; -% \item[\meta{object}]Contents of float; you may use -% |\footnote|/|\mpfootnotemark|/|\footnotetext| stuff or -% |\floatfoot| command. -% \end{description} +% \subsubsection{Float Separators Options (\texttt{floatrowsep=}, \texttt{capbesidesep=})} % +% \DescribeMacro{\DeclareFloatSeparators}\label{setup:DeclareFloatSeparators}%^^A +% You may to define separator +% between float boxes, or float object and beside caption: +% \begin{Quote} +% |\DeclareFloatSeparators{columnsep}{\hskip\columnsep}| +% \end{Quote} +% or more complex, using \package{color} package, and |\floatfacing| macro +% (do not forget the \texttt{facing=yes} key). +% You may use defined option by both \texttt{floatrowsep=} and +% \texttt{capbesidesep=} keys\footnote{You may use key options declared +% by \cmd{\DeclareCaptionLabelSeparator} command.}.\par +% \begin{Quote} +% \meta{preamble} +% |\DeclareObjectSet{colorred}{\parskip2pt\parindent15pt\color{red}}| +% |\DeclareMarginSet{hangleft}%| +% | {\setfloatmargins| +% | {\hskip-\marginparwidth\hskip-\marginparsep}{\hfil}}| +% |\DeclareFloatSeparators{colorsep}%| +% | {\begingroup\color{blue}%| +% | \floatfacing{\hskip6pt\vrule width4.8pt\hskip6pt}%| +% | {\hskip6pt\vrule width4.8pt\hskip6pt}%| +% | \endgroup}| +% |\floatsetup[|\hyperref[setup:widefigure]{\texttt{widefigure}}|]{|%^^A +% \hyperref[setup:margins]{\texttt{margins}}|=hangleft,|%^^A +% \hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=colorsep,| +% \hyperref[setup:objectset]{\texttt{objextset}}|=colorred,| +% | |\hyperref[setup:floatwidth]{\texttt{floatwidth}}|=\textwidth,|%^^A +% \hyperref[setup:facing]{\texttt{facing}}|=yes}| +% |\captionsetup[figure]{justification=justified,| +% | labelfont={magenta,bf},textfont=green,labelsep=newline}| +% \meta{preamble} +% |\begin{figure*}|\nopagebreak +% |...|\nopagebreak +% |\end{figure*}| +% \end{Quote} % \begingroup -% First simplest example: -%\begin{verbatim} -%\begin{figure} -%\floatbox{figure}[4cm] -%{\caption{The simple example ...}% -%\label{fig:WcatI}} -%{\input{TheCat.picture}} -%\end{figure} -%\end{verbatim} -% created the picture in the figure~\ref{fig:WcatI}.\pagebreak[3] -% \begin{figure} -% \floatbox{figure}[4cm] -% {\caption{The simple example of \cmd{\floatbox}}% -% \label{fig:WcatI}} -% {\unitlength1.28\unitlength\input{TheCat.picture}} -% \end{figure}% +% \floatsetup[widefigure]{margins=hangleft,capbesidesep=colorsep,objectset=colorred, +% floatwidth=\textwidth,facing=yes,capposition=beside,capbesideposition=left} +% \captionsetup[figure]{justification=justified, +% labelfont={magenta,bf},textfont=green,labelsep=newline} +% \begin{figure*}[H]% +% {\TEXTBOX}{\caption[Multi-colored figure and beside caption]{Multi-colored figure with beside caption. And A bit more text, and some more text}} +% \end{figure*}% % \endgroup % -% The more preferable way for usage of |\floatbox| is to put table -% caption \emph{above} table contents and set caption width equal -% to table width. Caption position was defined in document preamble -% by command |\floatsetup[table]{style=Plaintop}| -%\begin{verbatim} -%\begin{table} -%\floatbox{table}[\FBwidth] {\caption{Simple tabular in -%\cmd{\floatbox} -% with caption above}\label{tab:tabII}} -%{\begin{tabular}{|l|c|c|} -% \hline -% Column head & Data I & Data II \\ -% \hline -% First row & 1 & 2 \\ -%... -% \hline -%\end{tabular}} -%\end{table} -%\end{verbatim} -% \DeleteShortVerb{\|}% -% \begin{table} -% \floatbox{table}[\FBwidth] -% {\caption{Simple tabular with caption -% above}\label{tab:tabII}} -% {\begin{tabular}{|l|c|c|} -% \hline -% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ -% \hline -% First row & 1 & 2 \\ -% Second row & 3 & 4 \\ -% Third row & 6 & 8 \\ -% Fourth row & \llap{1}0 & \llap{1}6 \\ -% \hline -% \end{tabular}} -% \end{table}% -% \MakeShortVerb{\|}% -% as shown in table~\ref{tab:tabII}. To fit size of caption (i.e full -% float box) to size of \env{tabular} environment there was used -% |\FBwidth| command in \meta{width} argument. +% \subsubsection{Float Font Option (\texttt{font=})}\label{ssec:declfont} % -% The next example shows \env{figure} environment with beside caption. -% In this example only |\capbeside| command used in \meta{preamble} -% argument, and |\FBwidth| in \meta{width} argument. The caption -% occupies the rest space of float box's width, |\hsize| (in current -% example the width float box equals to main text width---|\textwidth|). +% \DescribeMacro{\DeclareFloatFont}\label{setup:DeclareFloatFont}%^^A +% With this macro you may define new option +% for font (\texttt{font=} key) of float contents. This macro works +% like |\DeclareCaptionFont| in \package{caption} package. (You may also +% use key options declared by |\DeclareCaptionFont| command.) % -%\begin{verbatim} -%\begin{figure} -%\floatbox[\capbeside]{figure}[\FBwidth] -% {\caption[Beside caption]{Beside caption ...}\label{...}} -% {...} -%\end{figure} -%\end{verbatim} -% \begin{figure}[h] -% \floatbox[\capbeside]{figure}[\FBwidth] -% {\caption[Beside caption]{Beside caption and more text -% and some more text and a bit more text and -% a little more text and a little peace of text to fill -% space}\label{fig:beside:mouse}} -% {{\setlength\unitlength{4cm/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}} -% \end{figure} +% To get red color for text in the example above, you may define the red color by following way: +% \begin{Quote}% +% |\DeclareFloatFont{red}{\color{red}}| +% \end{Quote}% +% and then +% \begin{Quote}% +% |\floatsetup[figure]{font={small,red},...}|\quad. +% \end{Quote}% % -% The default width of beside object and caption are equal to one -% ``column'' width, i.e. half of current |\hsize| -% (figure~\ref{intro:beside}) width excluding float margins and -% separation material between float and caption. (See more examples -% with float and beside captions in appendix, page~\pageref{fig:Idog:w}.) % +% \subsubsection{Option for Footnote Rule's Style (\texttt{footnoterule=})} +% \label{ssec:fnoterule} % -% \subsubsection{User Commands for Float Boxes} +% \DescribeMacro{\DeclareFloatFootnoterule}\label{setup:DeclareFloatFootnoterule}%^^A +% You may define new footnoterule (\texttt{footnoterule=} key) like: +% \begin{Quote} +% |\DeclareFloatFootnoterule{limited}{\kern-3pt| +% | \@tempdima.4\columnwidth| +% | \ifdim\@tempdima>\frulemax\@tempdima=\frulemax\fi| +% | \hrule width\@tempdima\kern2.6pt}| +% \end{Quote} +% Remember, that summary vertical height for footnote rule must be +% equal to~0pt. % -% The usage of plain |\floatbox| command sometimes is rather complex. -% You may define commands-abbreviations for your own purposes and -% define there some additional style settings. +%\newpage +% \section{Creation of New Float Type}\label{sec:newfloat} % -% The definition of new float abbreviation looks like: -% \begin{quote} -% |\newfloatcommand|\marg{command}%^^A\\\strut\qquad -% \marg{captype}\oarg{preamble}\oarg{default width} -% \end{quote} -% where: -% \begin{description} -% \item[\meta{command}]the user's command name (without backslash); -% \item[\meta{captype}]the name of float environment -% this command is created for; -% \item[\meta{preamble}] -% you may use commands, mentioned in page~\pageref{floatboxsets} -% and other layout commands, like was shown in examples; -% you may try to add any other regular command (e.g. |\captionsetup| -% or |\thisfloatsetup| stuff); -% \item[\meta{default width}]here you put any dimension like |6cm| -% or |.75\textwidth|\footnote{There is also exists possibility to set -% common width for current float type of float using -% \texttt{floatwidth} key in \cmd{\floatsetup} stuff.}; if you -% put |\FBwidth| command the width of object---caption box (in case of -% caption above or below object---there could be defined -% |\nocapbeside| in \meta{preamble}) or width of object box (if caption -% stays beside object---|\capbeside| in \meta{preamble}) will be equal -% to width of object. -% \end{description} +% \DescribeMacro{\DeclareNewFloatType}\label{setup:DeclareNewFloatType}%^^A +% For creation of new float type there was created +% |\DeclareNewFloatType|\label{FAD:newfloattype} +% command which also uses +% \meta{key}${}=\nobreak {}$\meta{value} mechanism: +% \begin{Quote} +% |\DeclareNewFloatType|\marg{type}\marg{options} +% \end{Quote} +% The \meta{type} argument includes the new float environment name.\\ +% The \meta{options} could include following keys: % -% There are three already defined commands-abbreviations:\label{abbrcom} -% \begin{quote} -% |\newfloatcommand{ffigbox}{figure}[\nocapbeside]|\\* -% |\newfloatcommand{fcapside}{figure}[\capbeside]|\\* -% |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]| -% \end{quote} -% First two defined for figures and last one---for table. You may -% redefine existing macros using |\renewfloatcommand| command (it uses -% the same arguments as |\newfloatcommand| one). +% \noindent +% \DescribeMacro{placement}\label{setup:placement}%^^A +% The option of this key could have any combination of letters +% \texttt{t}, \texttt{b}, \texttt{h}, and \texttt{p}, which +% define placement of current float type on the page in +% the case float environment has no any option argument. +% (As default is declared \texttt{placement=tbp}.) % +% \noindent +% \DescribeMacro{name}\label{setup:name}%^^A +% Defines the name of environment in the caption +% label. (As default for caption label is declared the +% name of environment.) % -% \subsection{Building Float Row}\label{sec:floatrow} +% \noindent +% \DescribeMacro{fileext}\label{setup:fileext}%^^A +% Defines the file extension from which +% gathered list of floats. (As default, new captions +% are gathered in \texttt{lox}-file). This option is required in the case of +% creation of a~separate float lists. % -% If you need to put two or more floats of one type side by side, you -% may use \env{floatrow} environment. +% \noindent +% \DescribeMacro{within}\label{setup:within}%^^A +% Declares the section head of document, by which +% current float resets its numbering to zero. If this key absent, +% float increases during whole documentation. % -% This environment looks like: -% \begin{quote} -% |\begin{floatrow}[|\meta{number of beside floats}|]|\\ -% |\floatbox...|\\ -% |...|\\ -% |\floatbox...|\\ -% |...|\\ -% |\end{floatrow}| -% \end{quote} +% \noindent +% \DescribeMacro{relatedcapstyle}\label{setup:relatedcapstyle}%^^A +% In \package{float} package the non-starred +% \cmd{\newfloat}/\cmd{\restylefloat} macros attach related +% caption style for float styles (see {\sectionname} \ref{sec:floatst}). +% If you use |\DeclareNewFloatType| mechanism and exists (you created +% it by |\captionsetup|) co-named, i.e. related, caption style +% you may attach this style with key \texttt{relatedcapstyle=yes}. +% %^^A \begin{Quote} +% %^^A |\captionsetup[figure]{style=ruled}| +% %^^A \end{Quote} % -% And here is example. The first float (used |\ffigbox|) has default -% width equal to ``column'' width, the next uses width of included -% graphic (uses command |\FBwidth| in optional argument \meta{width}), -% third one occupies the rest horizontal space of page which was -% counted with command |\Xhsize|. +% The |\DeclareNewFloatType| was used for defining of \env{Example} +% environment (see page \pageref{exa1.1}). It consists of following +% code: +% \begin{Quote} +% |\DeclareNewFloatType{Example}%| +% | {placement=t,within=section,fileext=lox}| +% \end{Quote} +% +% \subsection{How to replace \cmd{\newfloat} with +% \cmd{\DeclareNewFloatType}}\label{sec:oldtonew} +% +% The |\newfloat| command takes three required and +% one optional argument: +% \begin{Quote} +% |\newfloat|\marg{type}^^A +% \marg{placement}\marg{ext}\oarg{within} +% \end{Quote} +% which could be replaced with +% \begin{Quote} +% |\DeclareNewFloatType|\marg{type}|%| +% | {placement=|\meta{placement}|,fileext=|\marg{ext}|,widthin=|\oarg{within}|}| +% \end{Quote} % -% \emph{Note}. Usually the command |\Xhsize| is used for the last float -% box. But if you use \pkg{calc} package you may try to use |\Xhsize| -% earlier, if the \emph{absolute} value of the width of float boxes to -% the right in float row is known, or set something in \meta{width} -% argument like |\Xhsize/2| and then |\Xhsize| for two last -% |\floatbox|'es, see sample files~\file{frsample10}--\file{frsample12}, -% and also sample file \file{fr-sample.tex}. -%\begin{verbatim} -%\begin{floatrow}[3] -%\ffigbox -%{\caption{Beside figure~I...}...} -%{...} -% -%\ffigbox[\FBwidth] -%{\caption{Beside figure~II...}...} -%{...} -% -%\ffigbox[\Xhsize] -%{\caption{Beside figure~III...}...} -%{...} -%\end{floatrow} -%\end{figure} -%\end{verbatim} -% \begin{figure} -% \begin{floatrow}[3] -% \ffigbox -% {\caption{Beside figure~I, ``column'' width}% -% \label{fig:row:WcatI}} -% {\unitlength1.25\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} +% \clearpage +% \section{Borrowed code}\label{sec:borrow} % -% \ffigbox[\FBwidth] -% {\caption{Beside figure~II in \env{floatrow}, float box has the -% width of graphic}% -% \label{fig:row:BcatI}} -% {\unitlength1.25\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheBlackCat.picture}} +% \subsection{\package{float} Package: Compatibility}\label{sec:floatst} % -% \ffigbox[\Xhsize] -% {\caption{Beside figure~III in \env{floatrow}, -% occupies the rest of row}% -% \label{fig:row:mouseI}} -% {{\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}} -% \end{floatrow} -% \end{figure}% -% The result you see in the row of -% figures~\ref{fig:row:WcatI}--\ref{fig:row:mouseI}. The vertical -% alignment of floats lays on the bottom of upper part (here: objects) -% of float and the top of lower part (captions). +% The \package{floatrow} package includes some macros of \package{float} +% (version v1.3d, dated 2001/11/08) +% with necessary modifications. In the case of loaded \package{float} +% package before \package{floatrow} you'll get error message. % -% \subsection{Usage of Footnotes Inside Float Environment} -% \label{sec:floatfootnote} +% \emph{Note}. +% In the case of some packages +% could call \package{float} package\footnote{I'm aware about \package{algorithm} +% package.} the \package{floatrow} package loads code which emulates +% already loaded \package{float} package v1.3, so next requests for +% \package{float} are ignored. This will help to avoid strange error messages +% in the case of these packages loaded \emph{after} \package{floatrow}. +% Please note that packages, which load \package{float} must be loaded +% \emph{after} \package{floatrow}. +% +% I hope that old documents could work with \package{floatrow}. The first +% limitation or feature is---if you didn't use any |\restylefloat| +% command---all figures and tables appear in \texttt{plain} float style +% with bottomed captions. Another limitation---you ought to put all +% |\newfloat| and |\floatstyle| and |\restylefloat| commands in +% preamble, before |\begin{document}|. The commands |\restylefloat|, +% |\newfloat| and |\floatstyle| are obsolete but +% supported\footnote{The better +% way is to use \cmd{\floatsetup} macros. The \package{floatrow} package +% supports obsolete macros but there is no guarantee. See also +% section~\ref{float-obs} about translation of these commands +% into \cmd{\floatsetup} command.}. % -% Sometimes table or figure contents have material, which authors mark -% and then write some explanation like footnotes. Current package has -% mechanism which allows to put footnotes inside float environment, in -% the same way as is in \env{minipage} environment. +% Sections, signed with ``[\package{float}]'' were borrowed from +% \package{float}'s documentation. The section about commands which +% describes setting commands of \package{float} package was moved +% in the section~\ref{sec:changed} +% (subsection~\ref{sec:floatborrowI}, ``The User Interface---New +% Floats [\package{float}]''). % -% In the case of few elements have the same footnote, we cannot -% use standard |\footnotemark|---|\footnotetext| combination, because -% of |\footnotemark| creates the sign of main text footnote. -% For these cases current package offers |\mpfootnotemark| macro -% instead of |\footnotemark|% -% \footnote{The same macro also is defined in \pkg{footmisc} package, -% version 4.10, dated 2003/01/20.}. % -% The |\floatbox| macro uses special own definition of footnote rule -% (the |\FBfootnoterule| command) and skip before footnotes and -% explications or legends (|footskip=|). (See also -% page~\pageref{sec:footnotestyle} for variants of footnote rule.) +% \RestoreSpaces +% \subsubsection{How macros from \package{float} package +% work in \package{floatrow}}\label{float-obs} % -% \subsubsection{The Legend-Like Macro}\label{subsec:floatfoot} +% The combination of commands |\floatstyle|\marg{style} and any of +% \cmd{\newfloat}\marg{float} or\allowbreak\ +% \cmd{\restylefloat}\marg{float} commands in \package{floatrow} package +% set float layout in the following way: +% \begin{Quote} +% |\floatsetup|\oarg{float}|{style=|\meta{style}|}| +% \end{Quote} +% Please note that there is used |\floatsetup|\oarg{float}|{...}| +% settings for current type of float, but not |\floatsetup{...}|. % -% In the case of table or figure have some additional explanations -% which could not put in caption contents and they are definitely not -% a footnote you may use |\floatfoot| command. The |\floatfoot| is -% build by usage of |\caption| stuff and uses caption's justification, -% but star form (|\floatfoot*|) prints its contents as plain unindented -% paragraph (see table~\ref{tab:floatfoot}). +% The |\floatname| command replaces the |name=| key of |\DeclareNewFlotaType| +% command. The |\floatplacement|---|placement=| key. % -% For defining of explication font use \texttt{footfont=} key -% (page~\pageref{sec:setfloatfoot}) in |\floatsetup|. You may try to -% define special settings for float foot using -% \cmd{\captionsetup[floatfoot]} setup. -%\begin{verbatim} -%\begin{table} -%\ttabbox -%{\caption{Table with additional foot material}% -%\label{tab:floatfoot}} -%{\extrarowheight1pt -% \tabcolsep2\tabcolsep -% \begin{tabular}{|l|c|c|} -% \hline -% ... -% \end{tabular}% -% \floatfoot*{`Data I' column ...}} -%\end{table} -%\end{verbatim} -% \DeleteShortVerb{\|}% -% \begin{table} -% \ttabbox -% {\caption{Table with additional foot material}%^^A -% \label{tab:floatfoot}}%^^A -% {\extrarowheight1pt\tabcolsep2\tabcolsep -% \begin{tabular}{|l|c|c|} -% \hline -% \thead{Column head} & \thead{Data I} & \thead{Data II} \\ -% \hline -% First row & \phantom01 & 2 \\ -% Second row & \phantom06 & 4 \\ -% Third row & 28 & 8 \\ -% \hline -% \end{tabular}%^^A -% \floatfoot*{`Data I' column---numbers which equal to sum of all -% their divisors; `Data II' column---$2^n$ values}} -% \end{table}% -% \MakeShortVerb{\|}% +% \subsubsection{Printing of Float List [\package{float}]} +% \label{sec:floatborrowIa} % -% \emph{Notes.} 1)\enskip The \pkg{float} package defines additional -% optional argument after main caption text. Since this possibility -% didn't declared in user part of documentation the current version of -% \pkg{caption} (3.0 and later), and also \pkg{float\-row} package, -% doesn't support this possibility. You may use |\floatfoot| and -% |\footnotemark|/|\footnotetext| stuffs instead. +% \nobreak\DescribeMacro{\listof} +% \nopagebreak +% The |\listof| command produces a list of all the floats +% of a given class. Its syntax~is +% \begin{Quote} +% \hspace*{\MacroIndent}|\listof{|\meta{type}|}{|\meta{title}|}|^^A +% \end{Quote} +% \meta{type} is the float type given in the |\newfloat| command. +% \meta{title} is used for the title of the list as well as the +% headings if the current page style includes them. Otherwise, the +% |\listof| command is analogous to the built-in \LaTeX\ commands +% |\listoffigures| and |\listoftables|. % -% 2)\enskip If you use both |\floatfoot| command and |\footnote| -% inside one float box, the |\floatfoot| appears above |\footnote| -% contents. +% \noindent\emph{Floatrow note}. +% Please remember that for each float type list +% you must set file extension where the entries of each float type gathered. +% Use key \texttt{fileext=...} in |\DeclareNewFloatType|. +% If two or more float types will have the same file +% for list of floats, you will get all floats in the +% first appeared |\listof|, and all next will be empty. % -% 3)\enskip Foot material (footnotes and text in floatfoot) can be placed -% in several variants: at the very bottom of float box, below caption -% (even if caption is above float object). See page \pageref{foot:pos} -% and sample file \file{frsample01.tex}. In case of caption beside -% float object, footnotes and foot text always placed below caption. +% \subsubsection{The User Interface---\texttt{[H]} +% Placement Specifier [\package{float}]}\label{sec:floatborrowII} % +% Many%^^A +% \FRmpar{Anchored float}{FAD:AnchoredFloat} +% people find \LaTeX's float placement specifiers too +% restrictive. A Commonly Uttered Complaint (CUC) calls for a way to +% place a float exactly at the spot where it occurs in the input file, +% i.e., to \emph{not} have it float at all. It seems that the +% \texttt{[h]} specifier should do that, but in fact it only suggests +% to \LaTeX\ something along the lines of ``put the float here if it's +% OK with you''. As it turns out, \LaTeX\ hardly ever feels inclined +% to actually do that. This situation can be improved by judicious +% manipulation of float style parameters. % -% \subsection{Fine Tuning of Vertical Spaces of Float} -% \label{sec:FBabskips} +% \RestoreSpaces +% The same effect can be achieved by changing the actual method of +% placing floats. David Carlisle's \package{here} option introduces a new +% float placement specifier, namely \texttt{[H]}, which, when added to +% a float, tells \LaTeX\ to ``put it HERE, period''. If there isn't +% enough space left on the page, the float is carried over to the next +% page together with whatever follows, even though there might still +% be room left for some of that. This style option provides the +% \texttt{[H]} specifier for newly defined classes of floats as well +% as the predefined \texttt{figure}s and \texttt{table}s, thereby +% superseding \package{here}. David suggests that the \package{here} option be +% withdrawn from the archives in due course. % -% At the final variant of document you may need to correct vertical -% spaces between float and main text, between float object and -% caption. +% The {\tt[H]} specifier may simply be added to the float as an +% optional argument, like all the other specifiers. It may \emph{not} +% be used in conjunction with any other placement specifiers, so +% {\tt[Hhtbp]} is illegal. Neither may it be used as the default +% placement specifier for a whole class of floats. The following table +% is defined like this: +% \begin{Quote} +% |\begin{table}|\nopagebreak +% |\begin{tabular}{cl}| +% |\tt t & Top of the page\\| +% \dots\ more stuff \dots\\ +% |\end{tabular}| +% \end{Quote} +% (It seems that I have to add some extraneous chatter here just so +% that the float actually comes out right in the middle of a printed +% page. When I \LaTeX ed the documentation\footnote{For \package{float} +% package.} just now it turned out that there was a page break that +% fell exactly between the ``So now'' line and the float. This +% wouldn't Prove Anything. Bother.) So now we have the following float +% placement specifiers:\nopagebreak +% \par\RestoreSpaces +% \begin{table}[H] +% \begin{tabular}{cl} +% \tt t & Top of the page\\ +% \tt b & Bottom of the page\\ +% \tt p & Page of floats\\ +% \tt h & Here, if possible\\ +% \tt H & Here, definitely +% \end{tabular} +% ^^A\caption{Could it be that this just needs a caption?} +% \end{table} % -% To change space between float box and main text there you may use -% two simple commands |\FBaskip| and |\FBbskip|. For example define -% \begin{verse} -% |\renewcommand\FBaskip{-4pt}| -% \end{verse} -% to move up float box up (or reduce space above) by 4pt. In current -% document the |\FBaskip| command was necessary for moving up -% some of wrapped figures. +% \emph{Floatrow note}. Please don't mix meaning of +% \texttt{[H]} and \texttt{[h]} options. +% Float with \texttt{[h]} and \texttt{[!h]} option, if succeed, appears +% \emph{after completing line} of text, +% where it was appeared in the source file. That could be visible if you +% put float environment at the middle of paragraph. % -% Use |\vspace| command for vertical space correction around float -% object\footnote{The plain float environment allows usage of -% \cmd{\vskip} command. But \cmd{\floatbox} stuff -% (\cmd{\floatbox} itself, \cmd{\ffigbox} etc.) in case -% of usage of the \cmd{\FBwidth} option, gets error message -% when \cmd{\vskip} appears.}. +% The [H] option places the float just \emph{at the point} where it appeared +% in the source file, it is used (\emph{but that in books strongly +% not recommended}!) for floats after text like ``\dots{}shown in this +% \textbf{figure:}'', i.e. the \texttt{[H]} float continues current +% paragraph. % -% \subsection{Running Raw \LaTeX\ Floats} +% \RestoreSpaces +% \subsubsection{The {[H]} +% Placement Specifier---Managing of Page Breaks}\label{sec:listpen} % -% The \pkg{floatrow} package redefines float environments for the case -% of creation of common layout for all floats. This redefinition creates -% some limitations for source document file, which were mentioned in -% introduction. If you still need a raw behavior of float environment, -% you may input a |\RawFloats| command \emph{inside} environment: -%\begin{verbatim} -%\begingroup -%\captionsetup[table]{position=top} -%\begin{figure}\RawFloats -%\begin{minipage}{0.45\textwidth} -%\centering ... -%\caption{...}\label{...} -%\end{minipage} -%\begin{minipage}{0.45\textwidth} -%\captionof{table}{...}\label{...} -%\centering ... -%\end{minipage} -%\end{figure} -%\endgroup -%\end{verbatim} -% And you'll get figure~\ref{Right:expect:fig} -% and table~\ref{Right:expect:tab}\footnote{That could work correct if -% you do not use any fancy float layout.}. -% \begingroup -% \captionsetup[table]{position=top} -% \begin{figure}\RawFloats -% \begin{minipage}{0.45\textwidth} -% \centering \input{Mouse.picture} -% \caption{A figure caption in raw \LaTeX}\label{Right:expect:fig} -% \end{minipage} -% \begin{minipage}{0.45\textwidth} -% \captionof{table}{A table caption in raw \LaTeX}\label{Right:expect:tab} -% \centering\tabcolsep3\tabcolsep -% \begin{tabular}{|c|c|} A & B \\ C & D \end{tabular} -% \end{minipage} -% \end{figure} -% \endgroup +% During usage of |[H]| option I found that it is necessary +% to set common penalties before and after ``anchored'' floats. % -% You may see that \env{floatrow} environment and |\floatbox| commands -% still work after |\RawFloats| (figure~\ref{intro:leftfig:raw} and -% table~\ref{intro:righttab:raw}) -%\begin{verbatim} -%\begin{figure}\RawFloats\CenterFloatBoxes -% \begin{floatrow} -% \floatbox{figure} -% {...}{\caption{...}\label{...}} +% The rules for page breaking around such floats similar to +% page breaking of lists in the book. % -% \floatbox{table}[\FBwidth] -% {...}{\caption{...}\label{...}} -% \end{floatrow} -%\end{figure} -%\end{verbatim} -% \begin{figure}\RawFloats\CenterFloatBoxes -% \begin{floatrow} -% \floatbox{figure} -% {\input{Mouse.picture}} -% {\caption{A figure caption in \cmd{\floatbox} in raw \LaTeX}% -% \label{intro:leftfig:raw}}% +% To follow the idea of |\allowdisplaybreaks| command from +% \package{amsmath} package there is created a \emph{beta-temp}\footnote{I +% hope that such support sooner or later could appear in +% \package{paralist} package and think it is better to follow +% grammar of master-package for similar situations.} version +% of \package{listpen} package, which offers following commands: +% \begin{Options}{\OptionLabel} +% \item[\cmd{\allowprelistbreaks}]sets penalty before lists +% (and also ``anchored'' floats); +% \item[\cmd{\allowpostlistbreaks}]sets penalty after lists; +% \item[\cmd{\allowitembreaks}]sets penalty between list items +% (surely, this command not for floats!). +% \end{Options} +% All they set globally, inside group or inside +% environments. These penalties are set accordingly to digits +% from |[-4]| (never break) to |[4]| (always break). The positive +% values of optional argument in these commands analogous to values +% of optional arguments in |\pagebreak| command. The negative +% ones---to optional arguments |[1]|--|[4]| in |\nopagebreak| command. +% The default value of all three commands is |[-1]| which equal +% to settings of standard \LaTeX{} classes: \cls{book}, \cls{article} +% etc. (|[-1]| option equal to |-\@lowpenalty| value). % -% \floatbox{table}[\FBwidth] -% {\caption{A table caption in \cmd{\floatbox} in raw -% \LaTeX}\label{intro:righttab:raw}} -% {\tabcolsep3\tabcolsep -% \begin{tabular}{|c|c|} A & B \\ C & D -% \end{tabular}} -% \end{floatrow} -% \end{figure}%^^A -% See also page~\pageref{mixrow} about how to set and align different -% float types like figure~\ref{intro:leftfig:raw} and -% table~\ref{intro:righttab:raw} in one row (\env{floatrow} environment). +% \DescribeMacro{floatHaslist}\label{setup:floatHaslist}%^^A +% This is the late attempts of backwards compatibility. The key, if true, +% uses list penalties, otherwise anchored float works without any penalty, i.e. like +% defined in \package{float} package and in \package{floatrow}'s version 0.0g +% and earlier. (I hope there could not much difference, +% unless you redefined penalties of lists.) +% +% Also (added in version 0.1k with current key): +% since list environments do \emph{not make indentation} in following +% paragraph, in the case of \emph{no blank} line after environment, +% the ``anchored'' float environment does +% the same, if this option is true. Default value of \texttt{floatHaslist} +% is \texttt{false} +% (for backward compatibility with previous version 0.1j). +% +% \DescribeMacro{\floatHpenalties}\label{setup:floatHpenalties}%^^A +% This macro, defined with |\renewcommand| can include settings for +% list penalties around anchored float. If you define +% \begin{Quote} +% |\renewcommand\floatHpenalties{\@beginparpenalty\@M}| +% \end{Quote} +% or, with \package{listpen} package +% \begin{Quote} +% |\renewcommand\floatHpenalties{\allowprelistbreaks[-4]}|\quad, +% \end{Quote} +% you'll never get page breaks before anchored float. % +% \medskip\noindent +% \DescribeMacro{\RestoreSpaces} +% There was added one simple command, the external alias +% of internal command |\@nobreakfalse|. +% It switches off |\if@nobreak| flag. +% The main (and most visible) usage of this flag---managing of +% vertical spaces between two sectioning commands (it cancels the space before for next +% section command of the pair); spaces before list environments (cancels the space +% before list just after sectioning command) and other similar cases. +% +% Usually this flag turned off at the next paragraph (or |\par| command), +% but in some cases this ``turn off'' cannot be happen in necessary point. +% The |\RestoreSpaces| command would help. +% +% \subsection{The \package{rotfloat} Package} +% +% Code of \package{rotfloat} package was also borrowed by \package{floatrow} +% package. In the case of loaded \package{rotfloat} package before +% \package{floatrow} you will get error message. +% +% The \package{floatrow} package loads code which pretends that +% \package{rotfloat} already loaded, so next loads are ignored. +% The \package{rotfloat} allowed in the |\usepackage| +% line with \package{rotating} package, which could have options. It is +% necessary to delete \package{rotfloat} package from |\usepackage| line +% where also \package{rotating} package loaded with options: otherwise +% you may get `option clash' error message. % +%\clearpage % \section{Style Tandems} % % The next few sections show examples and explain some noticed -% features with usage of \pkg{floatrow} and another package. There is not +% features with usage of \package{floatrow} and another package. There is not % the full list of style compatibilities. You may succeed with other % versions of mentioned packages, and maybe with not mentioned % packages too. % -% \subsection{The \pkg{caption} Package} +% \subsection{The \package{caption} Package}\label{ssec:caption} % -% Tested with versions v3.0a--v3.0i. +% Tested (and compatible) with version v3.0q. % -% The \pkg{caption} package has strong mechanism of creating of -% caption layout, so \pkg{floatrow} addresses the creation of new -% caption styles to this package (see documentation for \pkg{caption} +% The \package{caption} package has strong mechanism of creating of +% caption layout, so \package{floatrow} addresses the creation of new +% caption styles to this package (see documentation for \package{caption} % package). % -% The \pkg{floatrow} adds possibility to create a variations of captions +% The \package{floatrow} adds possibility to create a variations of captions % for floats in different positions or layouts (e.g. like wide or % two-column floats or rotated floats) using optional argument of % |\captionsetup|. % % For example you want to create special caption layout for wide or % two-column floats. In this case you may use -% \begin{quote} +% \begin{Quote} % |\captionsetup[widefloat]|\marg{options} -% \end{quote} +% \end{Quote} % or for wide or two-column figures: -% \begin{quote} +% \begin{Quote} % |\captionsetup[widefigure]|\marg{options} -% \end{quote} +% \end{Quote} % The priority of |\captionsetup| optional arguments is similar to % |\floatsetup| ones. In current examples |\captionsetup[widefigure]| % will be stronger than |\captionsetup[widefloat]|. The priority % and usage of ``\meta{float subtypes}'' in optional arguments % see on the page~\pageref{stsetorder}\label{cap:beside:order}). % +% \subsection{The \package{subfig} Package}\label{ssec:subfig} % -% \subsection{The \pkg{subfig} Package} +% Tested (and compatible) with version 1.3, +% dated 2005/06/28. For the \package{subfig} package there are additional +% macros in \package{floatrow} which create of row of subfloats; +% put subcaption label beside contents of subfloat; put alone +% subcaption label. % -% Tested with version 1.2 dated 2004/01/28 and 1.3. -% dated 2005/06/28.\nopagebreak +% \subsubsection{Additions in \package{floatrow}} % % The example with \cmd{\subfloat}'s (table~\ref{tab:tabIII}). The -% setting command in preamble |\floatsetup[table]{style=Plaintop}| +% setting command in preamble |\floatsetup[table]{style=Plaintop}|%^^A +% \FRmpar{Subcaption above subtable}{FAD:subcapabove} % includes also settings for subcaption positions used with -% \pkg{subfloat} package (like |\captionsetup[table]{position=top}| in -% \pkg{caption} package): -%\begin{verbatim} -%\begin{table}\extrarowheight1pt -% \floatbox{table}[\FBwidth] -% {\caption{Two ...}\label{...}} -% {\begin{subfloatrow} -% \subfloat[First subtable] -% {\begin{tabular}{...} -% ... -% \end{tabular}} -% -% \subfloat[Second subtable with long long long subcaption] -% {\begin{tabular}{...} -% ... -% \end{tabular}}% -% \end{subfloatrow}} -%\end{table} -%\end{verbatim} +% \package{subfloat} package (like |\captionsetup[table]{position=top}| in +% \package{caption} package): +%\begin{Quote}\obeylines\parskip-.15pt +%|\begin{table}\extrarowheight1pt|\nopagebreak +%| \floatbox{table}[\FBwidth]| +%| {\caption{Two ...}\label{...}}| +%| {\begin{subfloatrow}| +%| \subfloat[First table]| +%\verb+ {\begin{tabular}{|l|c|c|}+ +%| ...\end{tabular}}| +%| \subfloat[Second table...]| +%\verb+ {\begin{tabular}{|l|c|c|}+ +%| ...\end{tabular}%| +%| \end{subfloatrow}}}| +%|\end{table}| +%\end{Quote} % \DeleteShortVerb{\|}% % \captionsetup[subtable]{textfont=md} -% \begin{table}[h]\extrarowheight1pt +% \begin{table}[h]\extrarowheight1pt\tabcolsep1.25\tabcolsep % \floatbox{table}[\FBwidth] % {\caption{Two \cmd{\subtable}'s -% (created with \pkg{subfig} package)}\label{tab:tabIII}} +% (created with \package{subfig} package)}\label{tab:tabIII}} % {\begin{subfloatrow} % \subfloat[First subtable] % {\begin{tabular}{|l|>{\phantom0}c|>{\phantom0}c|} @@ -2340,20 +3423,19 @@ % \end{table}% % \MakeShortVerb{\|}% % -% \emph{Note.} There was used \env{subfloatrow} environment in current -% example. This is simplified \env{floatrow} environment, which +% The \env{subfloatrow} is simplified \env{floatrow} environment, which % expands vertical alignment of float contents to subfloats and % puts horizontal separator, defined by \texttt{subfloatrowsep=} % key. This key and uses the same options % as \texttt{floatrowsep=} and \texttt{capbesidesep=} keys (options of % these keys defined by |\DeclareFloatSeparators| command, -% page~\pageref{decl:sep}). +% page~\pageref{setup:DeclareFloatSeparators}). % %^^A To use \env{subfloatrow} environment load -%^^A \pkg{fr-subfig}\footnote{This package could have only beta-status, -%^^A because of it redefines two macros of \pkg{subfig} package for +%^^A \package{fr-subfig}\footnote{This package could have only beta-status, +%^^A because of it redefines two macros of \package{subfig} package for %^^A creation of subcaption and subfloat boxes.} package installed -%^^A together with \pkg{floatrow}.\pagebreak[3] +%^^A together with \package{floatrow}.\pagebreak[3] % % See examples with \env{subfloatrow} environment in sample files % \file{frsample03.tex}, \file{frsample05.tex}; and also @@ -2362,41 +3444,239 @@ % % The next goes example with beside caption (see % figure~\ref{fig:subfig:catsI}).%^^A -% \footnote{In version 1.2 the beside boxed and non-boxed subfloat -% contents (like in figure~\ref{fig:subfig:catsI}) could not get aligned -% bottom (top) subcaptions. In this example I ought to use following -% lines for subfigure~\ref{subfig:b}, when \pkg{pstricks} package is -% loaded:\\[2ex]\ttfamily -% \cmd{\raisebox}\{\cmd{\depth}\}\{\cmd{\input}\{\texttt -% {TheBlackCat.picture}\}\}} -%\begin{verbatim} -%\floatsetup{style=Shadowbox,capbesidesep=columnsep, -% capbesideframe=yes,capbesideposition={top,inside}} -%\fcapside[\FBwidth] -% {\begin{subfloatrow} -% \subfloat[White cat\label{subfig:w}]{% -% {\input{TheCat.picture}}} -% -% \subfloat[Black cat\label{subfig:b}]{\input{TheBlackCat.picture}}% -% \end{subfloatrow}} -%{\caption{...}} -%\end{verbatim} +%^^A% \footnote{In version 1.2 the beside boxed and non-boxed subfloat +%^^A% contents (like in figure~\ref{fig:subfig:catsI}) could not get aligned +%^^A% bottom (top) subcaptions. In this example I ought to use following +%^^A% lines for subfigure~\ref{subfig:b}, when \package{pstricks} package is +%^^A% loaded:\\[2ex]\ttfamily +%^^A% \cmd{\raisebox}\{\cmd{\depth}\}\{\cmd{\input}\{\texttt +%^^A% {Cat.picture}\}\}} +%\begin{Quote} +%\meta{preamble}\nopagebreak +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=Shadowbox,|%^^A +% \hyperref[setup:capbesidesep]{\texttt{capbesidesep}}|=columnsep,| +%| |\hyperref[setup:capbesideframe]{\texttt{capbesideframe}}|=yes,|%^^A +% \hyperref[setup:capbesideposition]{\texttt{capbesideposition}}|={left,top}}| +%|\floatsetup[subfigure]{|\hyperref[setup:style]{\texttt{style}}|=plain}| +%|\DeclareCaptionLabelFormat{list}{\bothIfFirst{#1}{ }#2)}| +%|\captionsetup[subfigure]{labelformat=list,justification=centerlast,| +%| strut=no}|\nopagebreak +%\meta{preamble} +%|\fcapside[\FBwidth]| +%| {\begin{subfloatrow}| +%| \subfloat[...\label{...}]{...}| +%| \subfloat[...\label{...}]{...}%| +%| \end{subfloatrow}}| +%|{\caption{...}}| +%\end{Quote} % \floatsetup[figure]{style=Shadowbox,capbesidesep=columnsep, -% capbesideframe=yes,capbesideposition={top,inside}} +% capbesideframe=yes,capbesideposition={left,top}} +% \floatsetup[subfigure]{style=plain} +% \captionsetup[subfigure]{labelformat=list,justification=centerlast,strut=no} % \begin{figure}[h] % \fcapside[\FBwidth] % {\begin{subfloatrow} -% \subfloat[White cat\label{subfig:w}]{% -% {\input{TheCat.picture}}} +% \subfloat[One cat\label{subfig:w}]{% +% {\input{Cat.picture}}} +% \subfloat[Another cat\label{subfig:b}]{\input{TheCat.picture}}% +% \end{subfloatrow}} +% {\caption[Subfloat row]{Beside +% caption vertically top aligned; fancy +% \texttt{Shadowbox} layout. There are two subfigures: +% \protect\ref{subfig:w} and \protect\ref{subfig:b}}\label{fig:subfig:catsI}} +% \end{figure} +% +% \DescribeMacro{\sidesubfloat} +% Another addition in \package{floatrow} for subfloats is command,%^^A +% \FRmpar{Subcaption beside subfloat}{FAD:sublabelbeside} +% which puts subcaption label beside subfloat. The subcaption label always +% appears on the left side. The key |subcapbesideposition=| +% \DescribeMacro{subcapbesideposition}\label{setup:subcapbesideposition}%^^A +% sets vertical alignment of beside subcaption and subfloat. +% The options analogous to options for |capbesideposition=| key: +% \par\RestoreSpaces +% \begin{Options}{\OptionLabel}\samepage +% \item[top] +% subcaption label aligned to the top of object; +% \item[bottom] +% subcaption label aligned to the bottom of object; +% \item[center] +% subcaption label aligned to the center of float contents. +% \end{Options} +% +% The figure~\ref{fig:subfig:catsII} shows layout with subfloat labels beside. +% \begingroup +% \begin{Quote}% +%\meta{preamble}\nopagebreak +%|...| +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=plain,|%^^A +% \hyperref[setup:subcapbesideposition]{\texttt{subcapbesideposition}}|=top}| +%\meta{preamble} +% |\begin{figure}[H]| +% | \ffigbox[\FBwidth]| +% | {\begin{subfloatrow}| +% | \sidesubfloat[]{...\label{...}}%| +% | | +% | \sidesubfloat[]{...\label{...}}%| +% | \end{subfloatrow}}| +% |{\caption[...]{...}\label{...}}| +% |\end{figure}| +% \end{Quote} +% \floatsetup[figure]{style=plain,subcapbesideposition=top} +% \begin{figure}[h] +% \ffigbox[\FBwidth] +% {\begin{subfloatrow} +% \sidesubfloat[]{% +% {\input{Cat.picture}\label{subfig:wI}}} % -% \subfloat[Black cat\label{subfig:b}]{\input{TheBlackCat.picture}}% +% \sidesubfloat[]{\input{TheCat.picture}\label{subfig:bI}}% % \end{subfloatrow}} -% {\caption{Beside caption vertically top aligned with fancy -% \texttt{Shadowbox} layout}\label{fig:subfig:catsI}} +% {\caption[Subfloat row (labels beside)]{Beside caption vertically centered. +% There are two subfigures: +% \protect\ref{subfig:wI} and \protect\ref{subfig:bI}}\label{fig:subfig:catsII}} +% \end{figure} +% \endgroup +% +% \DescribeMacro{\subfloatlabel} +% There are cases when usage of something like |\subfloat[]{\label{..}}| +% is needed. The first case shows the figure~\ref{fig:subfig:catsIII}---the +% funny \env{picture} environment where subfloat labels were |\put| +% as a part of subfigures. +% Other---when you use mechanism of \package{psfrag} package and replace text entries +% from PostScript file with \LaTeX{} ones. Unfortunately, the \package{subfig} package +% creates unnecessary spaces around alone subfloat label in the +% |\subfloat[]{\label{..}}| combination. The \package{fr-subfig} tries to fix this problem. +% +% This command based on |\subfloat[]{\label{..}}| sentence and +% puts alone subcaption label with necessary number. The full variant +% of |\subfloatlabel| +% \begin{Quote} +% |\subfloatlabel|\oarg{subfloat number}\oarg{label entry} +% \end{Quote} +% is the abbreviation of the following: +% \begin{Quote} +% |\setcounter|\marg{sub{\upshape\texttt{\char`\\@captype}}}\marg{subfloat number-1} +% |\subfloat[]{\label{|\meta{label entry}|}}| +% \end{Quote} +% +% +% \begingroup +% \begin{Quote}% +%\meta{preamble}\nopagebreak +%|...| +%|\floatsetup[figure]{|\hyperref[setup:style]{\texttt{style}}|=plain}| +%|\DeclareCaptionListOfFormat{comma-separated}{#1,\,#2}| +%|\captionsetup[subfigure]{listofformat=comma-separated}| +%\meta{preamble} +% |\begin{figure}[h]| +% |\fcapside[\FBwidth]| +% | {\unitlength2\unitlength\fboxsep-.4pt| +% | \begin{picture}(90,30)(0,0)| +% | \put(0,0){\framebox(40,30)[bl]{}}| +%|...| +% \end{Quote} +% \floatsetup[figure]{style=plain} +% \captionsetup[subfigure]{listofformat=comma-separated} +% \begin{figure}[h] +% \fcapside[\FBwidth] +% {\unitlength2\unitlength\fboxsep-.4pt +% \begin{picture}(90,30)(0,0) +% \put(0,0){\framebox(40,30)[bl]{}} +% \put(2,2){\makebox(0,0)[bl]{\subfloat[]{\label{subfig:wII}}}} +% \put(0,0){ +% \put(8,10){\put(4.5,4.5){\oval(9,9)[t]} +% \put(4.5,4.5){\line(0,1){4.5}} +% \put(0,4.5){\line(1,0){9}}} +% \put(23,10){\put(4.5,4.5){\oval(9,9)[t]} +% \put(4.5,4.5){\line(0,1){4.5}} +% \put(0,4.5){\line(1,0){9}}}} +% +% \put(50,0){\framebox(40,30)[bl]{}} +% \put(52,2){\makebox(0,0)[bl]{\subfloatlabel[3][subfig:bII]{}%^^A +% }}%^^A\label{} +% \put(50,0){ +% \put(6,18){\put(0,0){\line(2,3){5}} +% \put(10,0){\line(-2,3){5}}} +% \put(24,18){\put(0,0){\line(2,3){5}} +% \put(10,0){\line(-2,3){5}}}} +% \end{picture}} +% {\caption[The graphic with subfloat labels]{%^^A +% Here are two simple subfigures. +% First shows cat's eyes (\protect\ref{subfig:wII}), labeled with +% \cs{subfloat}\texttt{[]\char`\{\char`\}} macro; +% with \cs{subfloatlabel}\texttt{[3][subfig:bII]} sentence were labeled the cat's ears +% (\protect\subref{subfig:bII})}%^^A +% \label{fig:subfig:catsIII}} % \end{figure} +% Please look at the definition of reference to the subfigure, key |listofformat=|. +% This format is used, in particular, by |\subref| command: the |\subref{subfig:bII}| gives +% reference to the subfigure \subref{subfig:bII}. +% \endgroup +% +% \clearpage +% \par\RestoreSpaces +% \subsection{The \package{longtable} Package}\label{ssec:longtable} +% +% Tested with version v4.11, dated 2004/02/01. +% +% \subsubsection{Additions in \package{floatrow}} +% \label{ssec:LTcapwidth} +% +% There was added a patch to the |\LT@array| macro (\package{longtable} +% package)\footnote{Thanks to A. Sommerfeldt for help to make this +% code compact.}: this patch adds the same font settings +% as for \env{table} environments, and adds code which helps +% to get width of \env{longtable} caption equal to the +% width of table. For settings of caption width there was created a key. +% +% \DescribeMacro{LTcapwidth}\label{setup:LTcapwidth}%^^A +% \FRmpar{Caption width equals to longtable's}{FAD:LTcapwidth} +% This key could have any value, like |5cm| or |\hsize|. In this cases this +% key does work of |\LTcapwidth| command. If you'll write +% \texttt{LTcapwidth=table} or \texttt{LTcapwidth=contents}, you will get +% caption width equal to the width of table. In this case settings for +% width of caption use information from \texttt{aux}-file, so you'll get +% correct caption width at the time when the width of full table become +% stable. % -% \newpage -% \subsection{The \pkg{wrapfig} Package} +% The \env{longtable} environment uses layout settings from +% |\floatsetup[table]| and |\floatsetup[longtable]| macros. +% The |\floatsetup[longtable]| will be ``strongest'' in this pair.\medskip +% +% \emph{The addition with version 0.1k}. There is added a +% \textrm{beta-temp}\footnote{Again, like with \package{listpen} package, I +% hope that such support sooner or later could appear in +% \package{longtable} and think it is better to follow +% grammar of master-package for similar situations.} package +% with simple additions, which allow creation of special head for last +% page of longtable environment and special foot for pages before last. +% +%^^A% \DescribeMacro{\LTlastpage} +% \DescribeMacro{\endlasthead} +% \DescribeMacro{\endprelastfoot} +%^^A% The command |\LTlastpage|, defined by hand, tells to \package{longtable}'s +%^^A% redefined macro the number of pages in longtable environment. +% The |\endlasthead| command defined for last head of longtable; second command, +% |\endprelastfoot|, defined for foot on the page before last. +% Since these names of commands ``intrude'' in the \package{longtable} naming +% territory they defined if they are still unknown, i.e. the main, +% \package{longtable}, package didn't defined them. +% The syntax also analogous as for commands |\endhead|, |\endfirsthead| etc. +% (See examples and additional explanation in the sample file +% \texttt{sample-longtable.tex} file.) +% +%^^A% \DescribeMacro{\floatfoot} +% The footnote stuff inside \env{longtable} works like in main +% text and put text of footnotes +% at the bottom of page\footnote{See also \env{longtable} documentation.}. +% The command for legends or explications, |\floatfoot|, in current version +% inside \env{longtable} has emulation mode, and needs stuff, +% similar to |\noalign{\floatfoot{...}}|. Since default font definition for explications (|\floatfoot|) also +% set to |\footnotesize|, like for footnotes, you may put footnotes-emulations at this +% explication block, using |\mpfootnotemark| commands. +% +% \clearpage +% \subsection{The \package{wrapfig} Package}\label{ssec:wrapfig} % % \begingroup % \def\FBaskip{-12pt} @@ -2404,25 +3684,24 @@ % footposition=caption} % \begin{wrapfigure}[10]{O}{40mm} %^^A \ffigbox[40mm] -% {\caption{Wrapped plain figure (\pkg{wrapfig} package)}% +% {\caption{Wrapped plain figure (\package{wrapfig} package)}% % \floatfoot{Plain figure fails with package version % 3.3}\label{fig:wrapfig:WcatI}} -% {\unitlength1.2\unitlength -% \ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi +% {\unitlength1.095\unitlength % \input{TheCat.picture}} % \end{wrapfigure} % -% Tested with version 3.3 dated 1999/10/12 (style from \pkg{ltxmisc} +% Tested with version 3.3 dated 1999/10/12 (style from \package{ltxmisc} % bundle) and 3.6 dated 2003/01/31 (the separate \LaTeX\ package). % % Options for environment (text borrowed from package comments): -% \begin{quote} -% |\begin{wrapfigure}%|\\* -% \strut\quad\oarg{number}\marg{placement}|%|\\* -% \strut\quad\oarg{overhang}\marg{width of figure}\\ -% |...|\\* +% \begin{Quote} +% |\begin{wrapfigure}%|\nopagebreak +% \strut\quad\oarg{number}\marg{placement}|%|\nopagebreak +% \strut\quad\oarg{overhang}\marg{width of figure} +% |...| % |\end{wrapfigure}| -% \end{quote} +% \end{Quote} % \meta{Placement} is one of \texttt{r}, \texttt{l}, \texttt{i}, % \texttt{o}, \texttt{R}, \texttt{L}, \texttt{I}, \texttt{O}, for % right, left, inside, outside. Lowercase letters set unfloated @@ -2431,33 +3710,33 @@ % |\wrapoverhang|, which is normally zero. The \meta{number} of % wrapped text lines is normally calculated from the height of the % figure, but may be specified manually, e.g. -% \begin{quote} -% |\begin{wrapfigure}[10]{r}[34pt]{5cm}|\\* \meta{figure}\\* +% \begin{Quote} +% |\begin{wrapfigure}[10]{r}[34pt]{5cm}|\nopagebreak +% \meta{figure}\nopagebreak % |\end{wrapfigure}| -% \end{quote} +% \end{Quote} % \endgroup % % \begingroup % \def\FBaskip{-12pt} % \floatsetup[figure]{style=BOXED,frameset={\fboxsep12pt}} -% \begin{wrapfigure}[14]{O}{0mm} -% \ffigbox[40mm] -% {\par{\setlength\unitlength{\hsize/64}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}}} -% {\caption{Wrapped figure in \cmd{\ffigbox} (\pkg{wrapfig} package)}% +% \par\begin{wrapfigure}[12]{o}{0mm} +% \ffigbox[44mm] +% {\par{\setlength\unitlength{.75\hsize/48}%^^A +% \input{Cat.picture}}} +% {\caption{Wrapped figure in \cmd{\ffigbox} (\package{wrapfig} package)}% % \label{fig:wrapfig:WcatII}} % \end{wrapfigure} % % \emph{Floatrow note.} % For figure, placed in \env{wrap...} environment you must set width % in mandatory argument. If you'll write \texttt{0mm} as \marg{width -% of figure} argument, \pkg{wrapfig} package will count natural width +% of figure} argument, \package{wrapfig} package will count natural width % of float contents. % % Sometimes above (below) float box in \env{wrap...} environment % appears unwanted space. To correct vertical position, use |\FBaskip| -% (|\FBbskip|) commands (see section~\ref{sec:FBabskips}). +% (|\FBbskip|) commands (see {\sectionname}~\ref{sec:FBabskips}). % % \emph{Special settings}. % @@ -2468,29 +3747,29 @@ % \begin{itemize}\itemsep0pt % \item % % if exists |\floatsetup[wrap|\meta{captype}|]{...}| -% \pkg{floatrow} uses these settings---they are the ``strongest'' +% \package{floatrow} uses these settings---they are the ``strongest'' % settings; if they absent---uses settings of next item; %^^A \end{itemize} % %^^A \begin{itemize} % \item % if exists |\floatsetup[wrapfloat]{...}| -% \pkg{floatrow} uses these settings---these settings ``stronger'' +% \package{floatrow} uses these settings---these settings ``stronger'' % than next ones; if they absent---settings of current % float\\[\medskipamount] % |\floatsetup[|\meta{captype}|]{...}|\,;\\[\medskipamount] % if they absent---uses default settings -% (|\floatsetup{...}| or package settings). +% (|\floatsetup{...}| or package settings inside |\usepackage| command). % \end{itemize} % % -% \emph{Founded limitations}. +% \emph{Founded limitations}.\nopagebreak % % The usage of plain float environment in version 3.3 will -% not succeed with current version of \pkg{floatrow}---use |\floatbox| +% not succeed with current version of \package{floatrow}---use |\floatbox| % stuff. The version 3.6 allows usage of plain \env{wrap...} -% environment with \texttt{plain} (or \texttt{ruled}) styles, but -% the framed styles, like \texttt{Boxed} (where text inside frames +% environment with \hyperref[setup:plain]{\texttt{plain}} (or \hyperref[setup:ruled]{\texttt{ruled}}) styles, but +% the framed styles, like \texttt{Boxed} (which use key |framefit=yes|, where text inside frames % changes its |\hsize| to fit frames, fitted to defined |\hsize|) % could work only with |\floatbox| macro, otherwise you'll get % incorrect widths and layout. @@ -2498,16 +3777,15 @@ % % \begingroup % \floatsetup[figure]{style=WSHADOWBOX,captionskip=8pt} -% \subsection{The \pkg{floatflt} package} +% \subsection{The \package{floatflt} package}\label{ssec:floatflt} % -% \begin{floatingfigure}[v]{40mm}\def\FBaskip{-2.5pt} -% \ffigbox[42mm] -% {\setlength\unitlength{.85\hsize/60}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% \begin{floatingfigure}[v]{44mm}\def\FBaskip{-2.5pt} +% \ffigbox[44mm] +% {\setlength\unitlength{\hsize/60}%%^^A % \input{BlackDog.picture}} % {\caption{\hyphenpenalty-100\pretolerance-1% % Wrapped figure inside \env{floating\-figure} environment -% (\pkg{floatflt})}\label{fig:floatflt:WcatI}} +% (\package{floatflt})}\label{fig:floatflt:WcatI}} % \end{floatingfigure}%\FBbuildtrue % % \noindent Tested with version v\kern-1pt.1.3 dated @@ -2518,10 +3796,10 @@ % environments need usage of |\floatbox| in any case, you can use % either \env{floatingfigure} or \env{floatingtable} and put % necessary float type in |\floatbox| argument (or use necessary -% macro-abbreviation). +% macro abbreviation, like |\ffigbox|). % % -% The next limitations could not tied with \pkg{floatrow} package. +% The next limitations could not tied with \package{floatrow} package. % % 2)\enskip If you put \env{floatingfigure} environment just after % |\...section| command you need (if you do not indentation after @@ -2535,30 +3813,28 @@ % |\makeatletter\@nobreakfalse\makeatother| (as was made in just % before next section). % -% \makeatletter\@nobreakfalse\makeatother +% \RestoreSpaces % -% %^^A \penalty-10000 +% %^^A\newpage % -% \subsection{The \pkg{picins} Package} +% \subsection{The \package{picins} Package}\label{ssec:picins} % % \floatsetup[figure]{style=ruled} % % \parpic[l]{{%\def\floatrowsep{}\let\FBiffloatrow\iftrue -% \def\FBbskip{14pt} +% \def\FBaskip{6pt}\def\FBbskip{14pt} % \ffigbox[42mm] -% {{\setlength\unitlength{18mm/61}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{BlackCat.picture}}} +% {{\setlength\unitlength{20mm/72}%^^A +% \input{TheDog.picture}}} % {\caption{Wrap\-ped figure (\cmd{\parpic}); -% \cmd{\floatbox} -% with \cmd{\FBwidth} option}\label{fig:parpic:BcatI}}% +% \cmd{\floatbox}}\label{fig:parpic:BcatI}}% % }} % % \noindent Tested with version v\,3.0 dated 1999/10/12. % % This package produces pictures inside paragraph. This package % supports usage of captions with command |\piccaption|. It also allows -% the \pkg{caption} package settings. +% the \package{caption} package settings. % % The \cmd{\parpic} macro usually allows usage of |\floatbox| macro % inside of its mandatory argument. @@ -2566,21 +3842,22 @@ %^^A \emph{Founded limitations}.\nopagebreak % %^^A 1)\enskip In |\parpic| argument you ought to put before |\floatbox| -%^^A following commands:\\[\medskipamount] +%^^A following commands: +%^^A \begin{Quote}% %^^A |\def\floatrowsep{}|\allowbreak -%^^A |\let\FBiffloatrow\iftrue|\\[\medskipamount] +%^^A |\let\FBiffloatrow\iftrue| +%^^A \end{Quote}% %^^A to get correct layout. % -% The next limitations could not tied with \pkg{floatrow} package. +% The next limitations could not tied with \package{floatrow} package. % %^^A \floatsetup[figure]{style=DOUBLEBOX} % %^^A \parpic[r]{{%\def\floatrowsep{}\let\FBiffloatrow\iftrue %^^A \hsize36mm %^^A \ffigbox[\hsize] -%^^A {{\setlength\unitlength{16mm/61}\ifx\pspicture\undefined -%^^A \else\psset{unit=\unitlength}\fi -%^^A \input{BlackCat.picture}}} +%^^A {{\setlength\unitlength{16mm/61}%^^A +%^^A \input{TheDog.picture}}} %^^A {\caption{Wrapped figure (\cmd{\parpic})}\label{fig:parpic:BcatII}}% %^^A }} % @@ -2599,33 +3876,36 @@ % % \endgroup % -% \subsection{The \pkg{rotating} Package and \env{sideways\ldots} -% Environment} +% \subsection{The \package{rotating} Package and \env{sideways\ldots} +% Environment}\label{ssec:rotating} % % Tested with version v2.13 dated Sep. 1992. % % There is example (figure~\ref{fig:rot}) with rotated float, using % \env{sidewaysfigure}. -%\begin{verbatim} -%\floatsetup[figure]{style=WSHADOWBOX} -%\begin{sidewaysfigure}\emptyfloatpage -%\ffigbox[\FBwidth] -%{\includegraphics[width=4in]{pslearn.eps}} -%{\caption{Figure inside \env{sidewaysfigure} environment}% -%\label{fig:rot}} -%\end{sidewaysfigure}% -%\end{verbatim} -% \floatsetup[figure]{style=WSHADOWBOX} +%\begin{Quote} +%\meta{preamble} +%|\floatsetup[|\hyperref[setup:rotfigure]{\texttt{rotfigure}}|]{|%^^A +% \hyperref[setup:style]{\texttt{style}}|=WSHADOWBOX}| +%\meta{preamble} +%|\begin{sidewaysfigure}\emptyfloatpage| +%|\ffigbox[\FBwidth]| +%| {...}| +%| {\caption{Figure ...}%| +%| \label{...}}| +%|\end{sidewaysfigure}%| +%\end{Quote} +% \floatsetup[rotfigure]{style=WSHADOWBOX} % \begin{sidewaysfigure}\emptyfloatpage % \ffigbox[\FBwidth] {\includegraphics[width=4in]{pslearn}} % {\caption{Figure inside \env{sidewaysfigure} environment}% -% \label{fig:rot}} +% \label{fig:rot:ii}} % \end{sidewaysfigure}% % %^^A For rotating floats on right side (like in % %^^A current documentation) put in preamble -% %^^A \begin{quote} +% %^^A \begin{Quote} % %^^A |\usepackage[figuresright]{rotating}| -% %^^A \end{quote} +% %^^A \end{Quote} % % % \emph{Special settings}.\nopagebreak @@ -2634,6 +3914,7 @@ % \env{sideways...} environment (see page \pageref{stsetorder}). % % For one-column rotated float +% \par\RestoreSpaces % \begin{itemize} % \item % % if exists |\floatsetup[rot|\meta{captype}|]{...}| @@ -2645,7 +3926,7 @@ % ones; if they absent---settings for current float % (|\floatsetup[|\meta{captype}|]{...}|); % if they absent---uses default settings -% (|\floatsetup{...}| or package settings). +% (command |\floatsetup{...}| or package settings). % \end{itemize} % % For two-column or wide rotated float (starred environment) @@ -2681,31 +3962,36 @@ % % \emph{Notes}.\nopagebreak % -% 1)\enskip If you place two continued rotated floats on facing pages, +% 1)\enskip If you place two continued rotated floats%^^A +% \FRmpar{Continued rotated floats}{FAD:ContRotated} on facing pages, % the better way is to gather them to binder margin. For this reason you -% may define\footnote{In case \pkg{rotating} package has |[figuresright]| +% may define\footnote{In case of \package{rotating} package has |[figuresright]| % option, see also files \file{frsample10.tex}--\file{frsample12.tex} % and code in \file{fr-sample.tex}.} before first float -% \begin{quote} +% \begin{Quote} % |\buildFBBOX{\vbox to\rottextwidth\bgroup\vss}{\egroup}| -% \end{quote} +% \end{Quote} % and before second one -% \begin{quote} +% \begin{Quote} % |\buildFBBOX{\vbox to\rottextwidth\bgroup}{\vss\egroup}| -% \end{quote} +% \end{Quote} % \medskip -% The |\rottextwidth| dimension---here is saved |\textwidth| of +% The |\rottextwidth| dimension---here is saved parameter |\textwidth| of the % document---the |\columnwidth| and |\textwidth| inside % \texttt{sideways...} environment are redefined and equal to % |\textheight|. % -% 2)\enskip In current example you may see command |\emptyfloatpage|. -% It is offered by \pkg{floatpagestyle} package, (installed with -% \pkg{floatrow} package). Macro |\emptyfloatpage| is abbreviation of +% 2)\enskip In current example you may see command |\emptyfloatpage|.%^^A +% \FRmpar{Empty page style for rotated floats}{FAD:emptyfloatpage} +% It is offered by \package{floatpagestyle} package, (installed with +% \package{floatrow} package). Macro |\emptyfloatpage| is abbreviation of % |\floatpagestyle{empty}|. The last macro redefines page style for % the page where \emph{current} float environment appears. % -% The version 0.1h patches the core \LaTeX{} macro |\@outputpage| +% The version 0.1h patches the core \LaTeX{} macro +% |\@outputpage|\footnote{At the start of document +% \package{floatpagestyle} package puts additional code at the very beginning +% of this output routine.} % and I hope that it could work.\footnote{If you know more honest % way to get the same result---the redefinition of \emph{alone} % \emph{float} page style (in the case when this page can \emph{float} @@ -2713,23 +3999,28 @@ % |\label|---|\ref| mechanism, the |\floatpagestyle| command works % after \emph{second} \LaTeX{} run. % -% \subsection{The \pkg{lscape} Package and \env{landscape} Environment} +% \RestoreSpaces +% \subsection{The \package{lscape} Package and \env{landscape} +% Environment}\label{ssec:lscape} % % Tested with version v3.0a dated 1999/02/16.\nopagebreak % %\ifx\landscape\undefined\else % \ifx\landscape\relax\else % The example with usage of \env{landscape} environment from -% \pkg{lscape} package on the page~\pageref{fig:rotrow:WcatI}, figures +% \package{lscape} package on the page~\pageref{fig:rotrow:WcatI}, figures % \ref{fig:rotrow:WcatI}--\ref{fig:rotrow:FcatI}): -%\begin{verbatim} -%\DeclareFloatVCode{lowthickrule}{\kern2pt\hrule height.8ptdepth0pt} -%\floatsetup[figure]{style=ruled,rowprecode=thickrule, -% rowpostcode=lowthickrule,capposition=TOP} -%\begin{landscape} -%\begin{figure}\emptyfloatpage -%... -%\end{verbatim} +% \par\RestoreSpaces +%\begin{Quote} +%\meta{preamble} +%|\DeclareFloatVCode{lowthickrule}{\kern2pt\rule{\hsize}{.8pt}}| +%|\floatsetup[figure]{style=ruled,rowprecode=thickrule,| +%| rowpostcode=lowthickrule,capposition=TOP}| +%\meta{preamble} +%|\begin{landscape}| +%|\begin{figure}\emptyfloatpage| +%|...| +%\end{Quote} % |\floatsetup| code sets \texttt{ruled} float style, % then settings for above and below material are redefined: % \texttt{rowprecode=} and \texttt{rowpostcode=} keys define thick @@ -2738,96 +4029,64 @@ %\fi\fi % % The \env{landscape} environment creates a new page. It would be -% useful to start new section of document, e.g., appendix. (In current +% useful to rotate the whole new section of document, e.g., appendix. (In current % document it was placed just before appendix) % %^^A \emph{Founded limitations}.\nopagebreak %^^A The tested version works incorrect (does not rotates contents) -%^^A with \pkg{hypcap} package. +%^^A with \package{hypcap} package. % -% \subsection{The \pkg{listings} Package} +% \subsection{The \package{listings} Package}\label{ssec:listings} % % Tested with version v1.3 dated 2004/09/07.\nopagebreak % % This package has its strong layout mechanism for creation for floating -% algorithms itself. The usage of |\lstset| command and \pkg{caption} +% algorithms itself. The usage of |\lstset| command and \package{caption} % package settings gives you necessary result\footnote{Please note and read -% \pkg{caption} documentation: the co-operation of \pkg{caption}3.x and -% \pkg{listings} succeeds with version of last one not older than 1.2.} +% \package{caption} documentation: the co-operation of \package{caption}3.x and +% \package{listings} succeeds with version of last one not older than 1.2.} % for algorithm type of float. % -% \iffalse -% For the cases of appearance of listings inside of other float -% environments e.g. inside \env{figure} environments with boxed styles -% like \texttt{Boxed} and \texttt{BOXED} and with predefined float -% width, you ought to set: -% \begin{quote} -% |\lstset{linewidth=\hsize}| -% \end{quote} -% in the preamble, or just before \env{lstlisting} environment. Or in -% optional argument of \env{lstlisting} environment---here you must set -% width like: -% \begin{quote} -% |\begin{lstlisting}[linewidth=\hsize]| -% \end{quote} -% \fi -% % For the cases of appearance of listings inside of other float -% environments, which get settings from \pkg{floatrow}package, +% environments, which get settings from \package{floatrow} package, % there is a limitation: you can't put \env{lstlisting} inside % |\floatbox| contents. % -% \subsection{The \pkg{longtable} Package} -% -% There was added a patch to the |\LT@array| macro (\pkg{longtable} -% package)\footnote{Thanks to A. Sommerfeldt for help to make this -% code compact.}: this patch adds the same font settings -% as for \env{table} environments, and adds code which helps -% to get width of \env{longtable} caption equal to the -% width of table. For settings of caption width there was created a key. -% -% \DescribeMacro{LTcapwidth=} -% This key could have any value, like |5cm| or |\hsize|. If you'll write -% \texttt{LTcapwidth=table} or \texttt{LTcapwidth=contents}, you will get -% caption width equal to the width of table. In this case settings for -% width of caption use information from \texttt{aux}-file, so you'll get -% correct caption width at the time when the width of full table become -% stable. -% -% The \env{longtable} environment uses layout settings from -% |\floatsetup[table]| and |\floatsetup[longtable]| macros. -% The |\floatsetup[longtable]| will be ``strongest'' in this pair. -% -% \subsection{The \pkg{hyperref} and \pkg{hypcap} Packages} +% \subsection{The \package{hyperref} and \package{hypcap} Packages} % -% There were tested versions v6.74i (\pkg{hyperref}) -% and v1.3 (\pkg{hypcap}). +% There were tested versions v6.74i (\package{hyperref}) +% and v1.3 (\package{hypcap}). % -% The \pkg{floatrow} tries not to expand its code to |\caption| stuff. -% I hope that environments supported by \pkg{floatrow} won't -% make harm to \pkg{caption}---\pkg{hyperref}/\pkg{hypcap} tandem. +% The \package{floatrow} tries not to expand its code to |\caption| stuff. +% I hope that environments supported by \package{floatrow} won't +% make harm to \package{caption}---\package{hyperref}/\package{hypcap} tandem. % % \subsection{The Incompatibilities} % % The incompatibilities at first could follow the incompatibilities of -% \pkg{caption} 3.x package: -% \begin{quote} -% \pkg{ccaption}, \pkg{hvfloat}, \pkg{nonfloat} -% \end{quote} -% -% The known incompatibilities of \pkg{floatrow} package itself -% is \pkg{sidecap} package\footnote{Despite that I'm trying -% to follow offered layouts of this package. Great thanks for -% Rolf Niepraschk and Hubert G\"{a}\ss{}lein for package with +% \package{caption} 3.x package: +% \begin{Quote} +% \package{ccaption}, \package{hvfloat}, \package{nonfloat}, \package{captcont}, \package{ccaption}, +% \package{ftcapt}, (\package{hvfloat}), \package{multicap}, \package{topcapt}, \package{nonfloat} +% \end{Quote} +% +% The known incompatibilities of \package{floatrow} package itself: +% \quad 1)\nobreak\enskip \package{sidecap} package\footnote{Despite that +% I'm trying to follow all offered layouts of this package. Great thanks +% for Rolf Niepraschk and Hubert G\"{a}\ss{}lein for package with % rich implementation of such float -% layouts.}: the \pkg{floatrow} package doesn't expands its +% layouts.}: the \package{floatrow} package doesn't expands its % layouts to \env{SCfigure} and \env{SCtable} environments. +% \quad 2)\nobreak\enskip \package{ctable} package; if you used to use +% \package{ctable}'s tools, e.g. for tables, please set |\RawFloats[table]| +% in the preamble, and remember that commands like |\ttabbox| won't +% loose its strength (see also {\sectionname}~\ref{sec:rawfloats}). % % \addtocontents{toc}{\string\pagebreak[3]} % \section{Limitations} % % There are known limitations, which were found during usage of -% \pkg{floatrow}: +% \package{floatrow}: % \begin{itemize} % %^^A \item % % %^^A Limitations for boxed and ruled styles in beside floats: be @@ -2840,7 +4099,7 @@ % You cannot use |\floatbox| stuff for floats with \texttt{verbatim} % environment and/or |\verb|. % \item % -% This limitation was mentioned above: the package uses +% This limitation was mentioned above: some tools of the package use % |\label|---|\ref| mechanism, thus, if you use float layout which % demands common height of objects and/or captions in float row, % you'll get correct result after second or more runs. If you change @@ -2850,8 +4109,8 @@ % Beside captions and other facing layout will appears correctly only % after second \LaTeX's run (sometimes you need to run more times). % \item % -% The version 3.0a (and newer) of \pkg{caption} package and -% \pkg{floatrow} package do not support optional argument \emph{after} +% The \package{caption} and +% \package{floatrow} package do not support optional argument \emph{after} % caption ``title''. You may use |\floatfoot| % macro after main caption argument. % \item % @@ -2902,7 +4161,7 @@ % % Thanks for Steven Cochran and Axel Sommerfeldt for all their advices % and spirit. Special thanks for Axel for the patient answering, code, and -% help in \emph{all} my questions and problems in \pkg{floatrow} package. +% help in \emph{all} my questions and problems in \package{floatrow} package. % % \medskip\noindent % Thanks for \emph{all} involuntary (\La)\TeX{} teachers, who teaches @@ -2917,11 +4176,11 @@ % \emph{Thanks for \emph{all} authors of second edition of \LaTeX{} % Companion for this book.} % -%\ifx\landscape\undefined\else +%\ifx\landscape\undefined\else\begingroup % \ifx\landscape\relax\else % \clearfloatsetup{figure} % \floatsetup[figure]{style=ruled,rowprecode=thickrule, -% rowpostcode=lowthickrule,capposition=TOP, +% rowpostcode=lowthickrule,capposition=TOP,margins=hangtoheads, % footposition=caption} % \newlength\Mylen\Mylen\textwidth % @@ -2929,40 +4188,39 @@ % % \begin{figure}\emptyfloatpage % -% \begin{floatrow}[4] +% \begin{floatrow}[4]\label{example:ruledcapposTOP}%^^A % \ffigbox[][][t] % {{\input{TheCat.picture}}%^^A % \footnotetext[1]{The % picture was created with \cmd{\qbezier} % macro}}% -% {\caption[Beside figure~I, top of object box]% -% {Beside figure~I, top of object box\protect\mpfootnotemark}% +% {\caption[Figure in the row~I, top of object box]% +% {Figure in the row~I, top of object box\protect\mpfootnotemark}% % \label{fig:rotrow:WcatI}}% % % \floatbox{figure}[2\FBwidth][][b] -% {\caption{Beside figure~II, bottom of object box}% +% {\caption{Figure in the row~II, bottom of object box}% % \label{fig:rotrow:BcatI}% % \floatfoot{There are all \cmd{\qbezier} macros and only % two vertical lines}}% % {\input{BlackCat.picture}}% % % \ffigbox[\FBwidth] -% {{\unitlength2.5\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}}\footnote[2]% +% {{\unitlength2.5\unitlength +% \input{Cat.picture}}\footnote[2]% % {Look at funny footnotemark!}} -% {\caption{Beside figure~III, center of object box}% +% {\caption{Figure in the row~III, center of object box}% % \label{fig:rotrow:mouseI}\floatfoot{The Mouse-animal image}}% % % \floatbox{figure}[\Xhsize][\Mylen] -% {\caption{Beside figure~IV}\label{fig:rotrow:FcatI}} +% {\caption{Figure in the row~IV}\label{fig:rotrow:FcatI}} % {\Resizebox\hsize\vsize{35}{136}{\input{BlackCat2.picture}}} % \end{floatrow} % % \end{figure} % % \end{landscape} -%\fi\fi +%\endgroup\fi\fi % % \clearpage % \suppressfloats[t] @@ -2970,106 +4228,25 @@ % % \subsection{Miscellaneous} % -% \subsubsection{Mixed Row} -% -% \floatsetup[figure]{style=Boxed,midcode=captionskip, -% frameset={\fboxsep12pt\fboxrule1pt}} -% Sometimes author (or designer) wants to put different types of floats, -% e.g., table and figure beside in one row. This situation creates -% some problems. -% -% The first problem is that you must put different types of float in -% one float environment, which sets its own layout for included float -% box(es). For creation of right layouts write -% |\killfloatstyle| command at the beginning of \env{floatrow} -% environment or just before first ``foreign'' |\floatbox| macro (in -% current example---before |\ttabbox|; the |\ffigbox| macro is -% ``native'' for \env{figure} environment). -% -% The second problem is that figures usually have captions below -% graphics, but tables could have caption \emph{above} their contents. -% The alignment of all floats is similar: the bottom of upper part and -% top of lower part. In this case if you want to put such beside figure -% and table you'll get undesirable result. For such situations you may -% use one of following commands: -%\begin{verbatim} -%\CenterFloatBoxes -%\TopFloatBoxes -%\BottomFloatBoxes -%\end{verbatim} -% which align \emph{full} float boxes by center, top or bottom lines. -% These macros were created by |\buildFBBOX| macro. -% There is also |\PlainFloatBoxes| which restores standard behavior of -% |\floatbox|'es. -% -% The usage of |\CenterFloatBoxes| and |\killfloatstyle| you'll see in -% mixed float row with figure~\ref{fig:rowmixspec:WcatI} and -% table~\ref{tab:rowmixspec:tabI}\label{mixrow}: -% \DeleteShortVerb{\|}% -% \begin{figure} -% \begin{floatrow} -% \CenterFloatBoxes \killfloatstyle -% \ffigbox[\FBwidth] -% {{\unitlength1.15\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}}} -% {\caption{Figure (\texttt{Boxed} style) beside table -% (vertical centering)}\label{fig:rowmixspec:WcatI}}% -% \extrarowheight1pt -% \ttabbox -% {\caption{Table beside \texttt{Boxed}-styled figure -% (vertical centering)}\label{tab:rowmixspec:tabI}} -% {\begin{tabular}{|l|c|c|c|} -% \hline -% \multirowthead{2}[-1ex]{Column Head} -% & \multicolumn{3}{c|}{\thead{Data}} \\ -% \cline{2-4} -% & \thead{I} & \thead{II} & \thead{III} \\ -% \hline -% First row & 1 & 2 & \phantom01 \\ -% Second row & 3 & 4 & \phantom06 \\ -% Third row & 6 & 8 & 28 \\ -% \hline -% \end{tabular}} -% \end{floatrow} -% \end{figure} -% \MakeShortVerb{\|}% -%\begin{verbatim} -%\begin{figure} -%\begin{floatrow} -%\CenterFloatBoxes\killfloatstyle -%\ffigbox[\FBwidth] -% ... -%\ttabbox -% ... -%\end{verbatim} -% -% \emph{Note.} Both figure and table boxes have got width equal to -% contents of objects. The |\ffigbox| command has optional argument -% |[\FBwidth]|, but |\ttabbox| have not any option---it uses -% |[\FBwidth]| option as default (see definitions on page -% \pageref{abbrcom}). -% -% -% \subsubsection{Usage of Captionsetup and Thisfloatsetup -% Inside Floatbox Stuff} +% \subsubsection{Usage of Captionsetup +% Inside Floatbox Stuff}\label{ssec:app:besidestart} % % Example of figures in row (figures~\ref{floatbox:FR:lfig} and % \ref{floatbox:FR:fig}). There were used predefined float commands % |\fcapsideleft| and |\fcapsideright| with added |\captionsetup| and % |\thisfloatsetup|: -%\begin{verbatim} -%\newfloatcommand{fcapsideleft}{figure}[{\capbeside -% \captionsetup[capbesidefigure]{format=break,labelsep=none, -% justification=raggedleft}% -% \thisfloatsetup{capbesideposition=left}}]% -% [\FBwidth] -%\newfloatcommand{fcapsideright}{figure}[{\capbeside -% \captionsetup[capbesidefigure]{format=break,labelsep=none, -% justification=raggedright}% -% \thisfloatsetup{capbesideposition=right}}]% -% [\FBwidth] -%\end{verbatim} +%\begin{Quote} +%|\newfloatcommand{fcapsideleft}{figure}[{\capbeside| +%| \captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedleft}%| +%| \thisfloatsetup{capbesideposition=left}}]%| +%| [\FBwidth]| +%|\newfloatcommand{fcapsideright}{figure}[{\capbeside| +%| \captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedright}%| +%| \thisfloatsetup{capbesideposition=right}}]%| +%| [\FBwidth]| +%\end{Quote} % % \clearfloatsetup{figure} % \floatsetup[figure] @@ -3081,35 +4258,33 @@ % \begin{figure}[b!] % \begin{floatrow} % \fcapsideleft -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% {\unitlength1.44\unitlength +% \input{Cat.picture}} +% {\caption[Float in the row with beside caption (graphic box has width of its contents)]{%^^A % Float box (\cmd{\fcapsideleft}) % width of graphics}\label{floatbox:FR:lfig}}% % \hsize\Xhsize \fcapsideright[\hsize] -% {\setlength\unitlength{\hsize/61}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\setlength\unitlength{\hsize/61}%^^A % \input{BlackCat.picture}}% -% {\caption{%^^A +% {\caption[Float in the row with beside caption (occupies rest space)]{%^^A % Float box (\cmd{\fcapsideright}) % width of rest float row space}\label{floatbox:FR:fig}}% % \end{floatrow}% % \end{figure}% % The caption format \texttt{break} was defined by following way: -%\begin{verbatim} -%\DeclareCaptionFormat{break}{#1#2\par#3\par} -%\end{verbatim} +%\begin{Quote} +%|\DeclareCaptionFormat{break}{#1#2\par#3\par}| +%\end{Quote} % % For these figures created following \verb|\floatsetup| settings: -%\begin{verbatim} -%\floatsetup[figure] -% {style=Boxed,capposition=beside, -% objectset=centering,floatwidth=\columnwidth, -% capbesidewidth=5.75cc,capbesidesep=cicero,margins=centering, -% capbesideframe=yes,floatwidth=sidefil} -%\end{verbatim} -% The key \texttt{floatwidth=sidefill} means that in the case of +%\begin{Quote} +%|\floatsetup[figure]| +%| {style=Boxed,capposition=beside,| +%| objectset=centering,floatwidth=\columnwidth,| +%| capbesidewidth=5.75cc,capbesidesep=cicero,margins=centering,| +%| capbesideframe=yes,floatwidth=sidefil}| +%\end{Quote} +% The key \texttt{floatwidth=sidefil} means that in the case of % caption has predefined width, object occupies the rest space of % \verb|\hsize| (in the case of no \meta{width} option used, or used % \verb|\hsize| option). @@ -3117,9 +4292,9 @@ % Left figure uses width of graphics, left one occupies the rest of % float row---for this reason just before \verb|\fcapsideright| % command was written tricky setting: -%\begin{verbatim} -%\hsize\Xhsize -%\end{verbatim} +%\begin{Quote} +%|\hsize\Xhsize| +%\end{Quote} % which, in case of caption placed beside float object defines width % of full float box. % @@ -3145,56 +4320,53 @@ % float environment.}). The object---caption box in this case aligned % using alignment settings from |margins| key (its options defined % by |\setfloatmargins| or |\floatcapbesidemargins| macro). In this -% documentation they are centered (see page~\pageref{fsetup:besmarg}). -%\begin{verbatim} -%\begin{figure} -%\floatbox[\capbeside\useFCwidth]{figure}[\FBwidth] -% ... -%\end{figure} -%\end{verbatim} +% documentation they are centered (see page~\pageref{setup:DeclareMarginSet}). +%\begin{Quote} +%\meta{preamble} +%|\floatsetup[figure]{style=plain}| +%\meta{preamble} +%|\begin{figure}| +%|\floatbox[\capbeside\useFCwidth]{figure}[\FBwidth]| +%| ...| +%|\end{figure}| +%\end{Quote} % \clearfloatsetup{figure} % \floatsetup[figure]{style=plain} % -% \begin{figure}[h] +% \begin{figure}[H] % \floatbox[\capbeside\useFCwidth]{figure}[\FBwidth] % {\caption[Beside % caption, width equals to caption's text]{Beside % caption}\label{fig:Idog:w}} -% {{\setlength\unitlength{{4cm}/60}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {{\setlength\unitlength{{4cm}/60}%^^A % \input{BlackDog.picture}}} % \end{figure}% % -% The settings for current float: -%\begin{verbatim} -%\floatsetup[figure]{style=plain} -%\end{verbatim} % % \subsubsection{Predefined Beside Caption Width with -% The Rest Space for Object} +% The Rest Space for Object}\label{FAD:RestSpaceforObject} % % The figure \ref{fig:capbeside:trick} uses following float style:%^^A %^^A \footnote{There are also addition settings for captions: %^^A \cmd{\captionsetup[capbesidefigure]}\allowbreak %^^A \texttt{\{format=default,}\allowbreak\texttt{labelsep=none\}} -%^^A which is necessary for current documentation: the \pkg{hyperref} +%^^A which is necessary for current documentation: the \package{hyperref} %^^A creates unwanted result with empty argument of caption title. The %^^A same settings used for figures~\ref{floatrow:pre:figI} and %^^A \ref{floatrow:pre:figII}} -%\begin{verbatim} -%\floatsetup[figure] -% {style=Boxed,capposition=beside,objectset=centering, -% floatwidth=\columnwidth,capbesidewidth=\Mylen, -% capbesideposition=left,capbesidesep=cicero, -% margins=centering,capbesideframe=yes, -% floatwidth=sidefil} -%\end{verbatim} -% The \verb|\Mylen| dimension was defined as width of caption label: -%\begin{verbatim} -%\newdimen\Mylen -%\settowidth\Mylen{\captionfont\captionlabelfont -% \figurename\ \thefigure} -%\end{verbatim} +%\begin{Quote} +%\meta{preamble} +%|\renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont| +%| \figurename\ \thefigure}| +%\meta{preamble} +%|\floatsetup[figure]| +%| {style=Boxed,capposition=beside,objectset=centering,| +%| floatwidth=\columnwidth,capbesidewidth=\Mylen,| +%| capbesideposition=left,capbesidesep=cicero,| +%| margins=centering,capbesideframe=yes,| +%| floatwidth=sidefil}| +%\end{Quote} +% The \verb|\Mylen| dimension was defined as width of caption label. % % \clearfloatsetup{figure} % \floatsetup[figure] @@ -3202,41 +4374,40 @@ % floatwidth=\columnwidth,capbesidewidth=\Mylen, % capbesideposition=left,capbesidesep=cicero, % margins=centering,capbesideframe=yes,floatwidth=sidefil} -% \newdimen\Mylen\settowidth\Mylen{\captionfont\captionlabelfont +% \renewlengthtocommand\settowidth\Mylen{\captionfont\captionlabelfont % \figurename\ \thefigure} % -% \begin{figure} +%\begingroup +% \begin{figure}[H] %^^A \captionsetup[capbesidefigure]{format=default,labelsep=none} % \fcapside -% {\unitlength1.1\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{}\label{fig:capbeside:trick}} +% {\unitlength1.44\unitlength +% \input{Horse.picture}} +% {\caption[The box of beside caption has width of caption contents (here: caption label)]{}\label{fig:capbeside:trick}} % \end{figure}% +%\endgroup % % -% \subsubsection{Caption Beside with Centered Object} +% \subsubsection{Caption Beside with Centered Object}\label{FAD:CapandCenterObj} % % The figure \ref{fig:plain:trick} uses tricky float style: -%\begin{verbatim} -%\floatsetup[figure] -% {style=plain,capposition=beside,objectset=centering, -% floatwidth=\columnwidth,capbesidewidth=6cc, -% capbesideposition=left,capbesidesep=mcapwidth, -% margins=centering,capbesideframe=yes, -% floatwidth=sidefil} -%\end{verbatim} -% the \texttt{mcapwidth} option is a negative skip equal to caption -% width: -%\begin{verbatim} -%\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth} -%\end{verbatim} +%\begin{Quote} +%\meta{preamble} +%|\DeclareFloatSeparators{mcapwidth}{\hskip-\FCwidth}| +%\meta{preamble} +%|\floatsetup[figure]| +%| {style=plain,capposition=beside,objectset=centering,| +%| floatwidth=\columnwidth,capbesidewidth=6cc,| +%| capbesideposition=left,capbesidesep=mcapwidth,| +%| margins=centering,capbesideframe=yes,| +%| floatwidth=sidefil}| +%\end{Quote} % I this case all figures with beside captions centered accordingly to % text \verb|\hsize|. Usage of such float layout supposes that all % float objects are narrower than |\textwidth| by at least 2~caption % widths. % -% \clearfloatsetup{figure} \floatsetup[figure] +% \clearfloatsetup{figure}\floatsetup[figure] % {style=plain,capposition=beside,objectset=centering, % floatwidth=\columnwidth,capbesidewidth=6cc, % capbesideposition=left,capbesidesep=mcapwidth, @@ -3244,21 +4415,21 @@ % \begingroup % \captionsetup[capbesidefigure]{format=break,labelsep=none, % justification=raggedright} -% \begin{figure}[!b] -% \unitlength1.1\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture} -% \caption{%^^A +% \begin{figure}[H] +% \unitlength1.1\unitlength +% \input{Doll.picture} +% \caption[Beside caption with ``hidden'' width (\texttt{=6cc}), object is centered at the full hsize]{%^^A % Plain figure}\label{fig:plain:trick} % \end{figure}% % \endgroup % % There were also temporarily, in group, changed settings for caption -% in figure~\ref{fig:plain:trick}: -%\begin{verbatim} -%\captionsetup[capbesidefigure]{format=break,labelsep=none, -% justification=raggedright} -%\end{verbatim} +% in figure~\ref{fig:plain:trick}:\label{ssec:app:besidefinish} +% \par\RestoreSpaces +%\begin{Quote} +%|\captionsetup[capbesidefigure]{format=break,labelsep=none,| +%| justification=raggedright}| +%\end{Quote} % % \subsubsection{Width Definition for Beside % Caption---Object Box in Float Row} @@ -3267,55 +4438,55 @@ % boxes (figures~\ref{floatrow:pre:figI} and % \ref{floatrow:pre:figII}): just define before \verb|\fcapside| % command something like -%\begin{verbatim} -%\setlength\hsize{1.098\hsize}% -%\end{verbatim} +%\begin{Quote} +%|\setlength\hsize{1.2\hsize}%| +%\end{Quote} % as was defined for first figure, or -%\begin{verbatim} -%\setlength\hsize\Xhsize -%\end{verbatim} +%\begin{Quote} +%|\setlength\hsize\Xhsize| +%\end{Quote} % before second (here is clear that you can set -% |\setlength\hsize{.902\hsize}|). +% |\setlength\hsize{.8\hsize}|). % % Since there were used \verb|\fcapside| commands at the beginning of % \env{floatrow} environment the \verb|\FCwidth| command was defined % as \verb|\relax|---in this case the width of caption equals to the % width of their contents. % +%\begingroup % \clearfloatsetup{figure} % \floatsetup[figure] % {style=plain,capposition=beside,objectset=centering, % capbesideposition=left,capbesidesep=enskip, % margins=centering,capbesideframe=yes,floatwidth=sidefil} -% \begin{figure}[h]\useFCwidth +% \begin{figure}[H]\useFCwidth %^^A \captionsetup[capbesidefigure]{format=default,labelsep=none} % \begin{floatrow} -% \setlength\hsize{1.098\hsize}% +% \setlength\hsize{1.2\hsize}% % \fcapside -% {\setlength\unitlength{\hsize/64}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% {\setlength\unitlength{\hsize/100}%^^A +% \input{Bear.picture}} +% {\caption[Left figure with beside caption in the row]{%^^A % }\label{floatrow:pre:figI}} % \setlength\hsize\Xhsize % \fcapside -% {\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{Mouse.picture}} -% {\caption{%^^A +% {\setlength\unitlength{\hsize/44}%^^A +% \input{Doll.picture}} +% {\caption[Right figure with beside caption in the row]{%^^A % }\label{floatrow:pre:figII}} % \end{floatrow}% % \end{figure}% +%\endgroup % There was used following setup for figures: -%\begin{verbatim} -%\floatsetup[figure] -% {style=plain,capposition=beside,objectset=centering, -% capbesideposition=left,capbesidesep=enskip, -% margins=centering,capbesideframe=yes,floatwidth=sidefil} -%\end{verbatim} +%\begin{Quote} +%|\floatsetup[figure]| +%| {style=plain,capposition=beside,objectset=centering,| +%| capbesideposition=left,capbesidesep=enskip,| +%| margins=centering,capbesideframe=yes,floatwidth=sidefil}| +%\end{Quote} % -% \subsubsection{Caption Above/Below Float and Caption Beside Float at -% The One Float Row} +% \subsubsection{Caption Above/Below and Caption Beside at +% The Float Row}\label{FAD:CapBesideandBelow} % % The float row with object and beside caption combined with object % and caption below (figures~\ref{flrow:mix:figI} and @@ -3326,37 +4497,36 @@ % you may use each of these three commands. Unfortunately you must set % height of such beside floats by hand. The lines which create % described float row: -%\begin{verbatim} -%\begin{figure}\CenterFloatBoxes -%\begin{floatrow} -%\hsize1.098\hsize -% \fcapside[\FBwidth][4cm] -% ... -% -% \ffigbox[\Xhsize][4cm] -% ... -%\end{floatrow}% -%\end{figure} -%\end{verbatim} +%\begin{Quote} +%|\begin{figure}\CenterFloatBoxes| +%|\begin{floatrow}| +%|\hsize1.098\hsize| +%| \fcapside[\FBwidth][3.6cm]| +%| ...| +%| | +%| \ffigbox[\Xhsize][3.6cm]| +%| ...| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} % -% \clearfloatsetup{figure} \floatsetup[figure] +% \clearfloatsetup{figure} +% \floatsetup[figure] % {style=Boxed,frameset={\fboxsep6pt},captionskip=5pt,capposition=bottom, % objectset=centering,capbesidewidth=none,capbesideposition=inside, % capbesidesep=enskip,margins=centering,capbesideframe=yes} % -% \begin{figure}\CenterFloatBoxes +% \begin{figure}[H]\CenterFloatBoxes % \begin{floatrow} -% \hsize1.098\hsize \fcapside[\FBwidth][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% \hsize1.098\hsize \fcapside[\FBwidth][3.6cm] +% {\unitlength1.44\unitlength +% \input{Cat.picture}} +% {\caption[Float box \cmd{\fcapside} in float row beside \cmd{\ffigbox}]{%^^A % Float box (\cmd{\fcapside}) with beside caption in float row % width float with caption below}\label{flrow:mix:figI}}% % -% \ffigbox[\Xhsize][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% \ffigbox[\Xhsize][3.6cm] +% {\unitlength1.44\unitlength % \input{BlackDog.picture}} % {\caption{%^^A % Float box (\cmd{\ffigbox}) width of rest float row @@ -3365,35 +4535,34 @@ % \end{figure} % % The ``mirror layout'' (but not identical) looks like: -%\begin{verbatim} -%\begin{figure}\CenterFloatBoxes -%\begin{floatrow} -% \ffigbox[1.2\FBwidth][4cm] -% ... -% -% \hsize\Xhsize -% \fcapside[\FBwidth][4cm] -% ... -%\end{floatrow}% -%\end{figure} -%\end{verbatim} -% -% \begin{figure}[!b]\CenterFloatBoxes +% \allowprelistbreaks[-4]\par\RestoreSpaces +%\begin{Quote} +%|\begin{figure}\CenterFloatBoxes|\nopagebreak +%|\begin{floatrow}| +%| \ffigbox[1.2\FBwidth][3.6cm]| +%| ...| +%| | +%| \hsize\Xhsize| +%| \fcapside[\FBwidth][3.6cm]| +%| ...| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} +% +% \begin{figure}[H]\CenterFloatBoxes % \begin{floatrow} -% \ffigbox[1.2\FBwidth][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% \ffigbox[1.2\FBwidth][3.6cm] +% {\unitlength1.44\unitlength % \input{BlackDog.picture}} % {\caption{%^^A -% Float box (\cmd{\ffigbox}) width of rest float row -% space}\label{floatrow:mirrmix:figII}}% +% Float box (\cmd{\ffigbox}) +% in mirror float row}\label{floatrow:mirrmix:figII}}% % \hsize\Xhsize % -% \fcapside[\FBwidth][4cm] -% {\unitlength1.44\unitlength\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi -% \input{TheCat.picture}} -% {\caption{%^^A +% \fcapside[\FBwidth][3.6cm] +% {\unitlength1.44\unitlength +% \input{Cat.picture}} +% {\caption[Float box (\cmd{\fcapside}) in mirror float row]{%^^A % Float box with beside caption (\cmd{\fcapside}) in mirror float row % width float with caption below}\label{floatrow:mirrmix:figI}} % \end{floatrow}% @@ -3401,13 +4570,14 @@ % % The figures~\ref{floatrow:mirrmix:figII}--\ref{floatrow:mirrmix:figI} % use following float style settings: -%\begin{verbatim} -%\floatsetup[figure] -% {style=Boxed,frameset={\fboxsep4pt},captionskip=5pt, -% capposition=bottom,objectset=centering,capbesidewidth=none, -% capbesideposition=inside,capbesidesep=enskip,margins=centering, -% capbesideframe=yes} -%\end{verbatim} +% \par\RestoreSpaces +%\begin{Quote} +%|\floatsetup[figure]| +%| {style=Boxed,frameset={\fboxsep4pt},captionskip=5pt,| +%| capposition=bottom,objectset=centering,capbesidewidth=none,| +%| capbesideposition=inside,capbesidesep=enskip,margins=centering,| +%| capbesideframe=yes}| +%\end{Quote} % % \subsubsection{Photo-Album-like Layouts} % @@ -3416,73 +4586,74 @@ % and, ``mirror layout''---^^A % \ref{floatrow:threemirr:figI}--\ref{floatrow:threemirr:figIII}) were % created by following lines: -%\begin{verbatim} -%\begin{figure}[t]\BottomFloatBoxes -%\begin{floatrow} -%\hsize1.2\hsize \ffigbox[][6.7cm] -% ... -% -%\vbox to6.7cm -% {\floatsetup[figure]{floatrowsep=none}\killfloatstyle -% \ffigbox[.8\hsize] -% ... -% \vss -% \ffigbox[.8\hsize] -% ...% -% }% -%\end{floatrow}% -%\end{figure} -%\end{verbatim} +%\begin{Quote} +%|\begin{figure}\BottomFloatBoxes| +%|\begin{floatrow}| +%|\hsize1.2\hsize \ffigbox[][6.7cm]| +%| ...| +%| | +%|\vbox to6.7cm| +%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle| +%| \ffigbox[.8\hsize]| +%| ...| +%| \vss| +%| \ffigbox[.8\hsize]| +%| ...%| +%| }%| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} % % \floatsetup[figure]{heightadjust=none} -% \begin{figure}[b!]\BottomFloatBoxes +% \begin{figure}[H]\BottomFloatBoxes % \begin{floatrow} % \hsize1.2\hsize % \ffigbox[][6.7cm] -% {\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\setlength\unitlength{\hsize/58}%^^A % \input{Mouse.picture}}% -% {\caption{Float box in photo-album-like layout: +% {\caption[Photo-album-like layout: left float]{Float +% box in photo-album-like layout: % alone in left column}\label{flrow:three:figIII}}% % % \vbox to6.7cm {\floatsetup[figure]{floatrowsep=none}\killfloatstyle % \ffigbox[.8\hsize] % {\input{TheCat.picture}} -% {\caption{%^^A +% {\caption[Photo-album-like layout: upper right float]{%^^A % Float box in photo-album-like layout: upper float in right % column}\label{floatrow:three:figI}} \vss \ffigbox[.8\hsize] % {\input{BlackDog.picture}}% -% {\caption{%^^A +% {\caption[Photo-album-like layout: lower right float]{%^^A % Lower float in right column}% % \label{floatrow:threemirr:figII}}}% % \end{floatrow}% % \end{figure} % % The ``mirror'' layout created by following commands: -%\begin{verbatim} -%\begin{figure}[t]\TopFloatBoxes -%\begin{floatrow} -%\vtop to7cm -% {\floatsetup[figure]{floatrowsep=none}\killfloatstyle -% \ffigbox[.8\hsize] -% ... -% \vss -% \ffigbox[.8\hsize] -% ...% -% \vskip0pt}\floatrowsep -% -%\ffigbox[\Xhsize][7cm-11pt] -% ... -%\end{floatrow}% -%\end{figure} -%\end{verbatim} +% \par\RestoreSpaces +%\begin{Quote} +%|\begin{figure}[t]\TopFloatBoxes| +%|\begin{floatrow}| +%|\vtop to7cm| +%| {\floatsetup[figure]{floatrowsep=none}\killfloatstyle| +%| \ffigbox[.8\hsize]| +%| ...| +%| \vss| +%| \ffigbox[.8\hsize]| +%| ...%| +%| \vskip0pt}\floatrowsep| +%| | +%|\ffigbox[\Xhsize][7cm-11pt]| +%| ...| +%|\end{floatrow}%| +%|\end{figure}| +%\end{Quote} % Note that in second example with ``mirror'' layout there was used % trick with \meta{height} definition---caption of float in the left % column is one line longer, so for the right column height of float % was reduced by 11pt---|\baselineskip| for |\small| % size\footnote{You get correct height with such calculations for -% beside floats with \pkg{caption}'s version not older than 3.0d.} -% (here were used \pkg{calc} package possibilities). The |\vtop| of +% beside floats with \package{caption}'s version not older than 3.0d.} +% (here were used \package{calc} package possibilities). The |\vtop| of % left column ends with |\vskip0pt|, otherwise you get fanny unwanted % layout. % @@ -3492,19 +4663,18 @@ % \vtop to7cm {\floatsetup[figure]{floatrowsep=none}\killfloatstyle % \ffigbox[.8\hsize] % {\input{TheCat.picture}} -% {\caption{%^^A +% {\caption[Photo-album-like layout, mirror: upper left float]{%^^A % Float box in photo-album-like layout: upper float in left % column}\label{floatrow:threemirr:figI}} \vss \ffigbox[.8\hsize] % {\input{BlackDog.picture}}% -% {\caption{%^^A -% Float box in photo-album-like layout: lower float in left column}% +% {\caption[Photo-album-like layout, mirror: lower left float]{%^^A +% Float box in photo-album-like layout: lower float in the left column}% % \label{floatrow:three:figII}}\vskip0pt}\floatrowsep % % \ffigbox[\Xhsize][7cm-11pt] -% {\setlength\unitlength{\hsize/58}\ifx\pspicture\undefined -% \else\psset{unit=\unitlength}\fi +% {\setlength\unitlength{\hsize/58}%^^A % \input{Mouse.picture}}% -% {\caption{%^^A +% {\caption[Photo-album-like layout, mirror: right float]{%^^A % Float box in photo-album-like layout: alone in right % column}\label{floatrow:threemirr:figIII}} % \end{floatrow}% @@ -3522,7 +4692,9 @@ % photo-album-like layout is rather rare in technical literature (It % isn't?). % -% \subsection{Sample files} +% \clearpage +% \par\RestoreSpaces +% \subsection{Sample files}\label{sec:samples} % % The \env{floatrow} package distribution offers a few files with % examples, which show settings, not covered by current document (some @@ -3538,12 +4710,12 @@ % % \begin{Options}{\OptionLabel} % \item[frsample01.tex] all possible combinations of predefined -% \pkg{floatrow} styles for captions above/below floats with foot +% \package{floatrow} styles for captions above/below floats with foot % material; there were created plain float environments and % \env{floatrow}s, also there were created boxes with % alone objects and alone captions; % \item[frsample02.tex] all possible combinations of predefined -% \pkg{floatrow} styles for beside captions and all possible +% \package{floatrow} styles for beside captions and all possible % caption positions; % \item[frsample03.tex] different tests with tables; % \item[frsample04.tex] sample with fancy layout with usage of @@ -3567,19 +4739,169 @@ % colored float styles. % \end{Options} % -% There is also added [temporary] sample file \file{sample-longtable.tex} -% with \env{longtable} test of defined command |\endlasthead| which +% There is also added sample file \file{sample-longtable.tex} which +% uses \emph{beta-temp} package-patch \package{fr-longtable} +% with defined commands |\endlasthead| and |\endprelastfoot| which % defines captions for continued and last pages of long table in three % possible ways. %\vfil % -% \section{Obsolete Commands}\label{sec:changed} +% \subsection{Obsolete Commands}\label{sec:changed} +% +% \begin{small} +% \subsubsection{The User Interface---New Floats [\package{float}]} +% \label{sec:floatborrowI} +% +% \DescribeMacro{\newfloat} +% The most important command in \package{float} +% is the |\newfloat| command\footnote{It doubles the +% \cmd{\DeclareNewFloatType} command.}. It is patterned on +% |\newtheorem|. The |\newfloat| command takes three required and +% one optional argument; it is of the form +% \begin{Quote} +% \hspace*{\MacroIndent}|\newfloat{|\meta{type}|}{|^^A +% \meta{placement}|}{|\meta{ext}|}[|\meta{within}{\tt]} +% \end{Quote} +% \begin{itemize}\advance\itemsep2ptplus2pt +% \item \marg{type} is the `type' of the new class of floats, like +% \texttt{program} or \texttt{algorithm}. After the appropriate +% |\newfloat|, commands like |\begin{program}| or |\end{algorithm*}| +% will be available. +% \item \marg{placement} gives the default placement +% parameters for this class of floats. The placement parameters are +% the same as in standard \LaTeX, i.e., \texttt{t}, \texttt{b}, +% \texttt{p} and \texttt{h} for `top', `bottom', `page' and `here', +% respectively. +% \item \marg{ext} When \LaTeX\ writes the captions to an auxiliary file +% for the list of figures (or whatever), it'll use the job name +% followed by \marg{ext} as a file name. +% \item \oarg{within} Finally, the optional +% argument \meta{within} determines whether floats of this class will +% be numbered within some sectional unit of the document. For example, +% if \oarg{within}${}={}$\texttt{chapter}, the floats will be numbered +% within chapters. (In standard \LaTeX, this happens with figures and +% tables in the \cls{report} and \cls{book} document styles.) As an +% example, Program~\ref{prog1.1} was created by a command sequence +% similar to that shown in the following +% Example\footnote{Settings for Example float +% environment were created by \cmd{\DeclareNewFloatType} macro stuff.}. +% \end{itemize} +% \emph{Floatrow note.} +% There is also created a |\newfloat*| pair, which works similar to +% |\restylefloat*| command (see below).\pagebreak[2] +% \begin{Example}[H] +% \begin{Quote}\openup-.5pt +% |\floatstyle{ruled}| +% |\newfloat{Program}{tbp}{lop}[section]|\pagebreak[3] +% \dots\ loads o' stuff \dots +% |\begin{Program}| +% |\begin{verbatim}| +% \dots\ program text \dots +% |\end{verbatim}| +% |\caption{|\dots\ caption \dots|}| +% |\end{Program}| +% \end{Quote} +% \caption{This is another silly floating Example. Except +% that this one doesn't actually float +% because it uses the {\tt[H]} optional parameter +% to appear \textbf{Here}. (Gotcha.)}\label{exa1.1} +% \end{Example}\pagebreak[3] +% \begin{Program} +%\begin{verbatim} +%#include +% +% +%int main(int argc, char **argv) { +% int i; +% for (i = 0; i < argc; ++i) +% printf("argv[%d] = %s\n", i, argv[i]); +% return 0; +%} +%\end{verbatim} +% \caption{The first program. This hasn't got anything to do with the +% package but is included as an example. +% Note the \texttt{ruled} float style.% +% \label{prog1.1}} +% \end{Program} +% +% \DescribeMacro{\floatstyle} +% The |\floatstyle| command sets a default +% float style. This float style will be used for all the floats that +% are subsequently defined using |\newfloat|, until another +% |\floatstyle| command appears. The |\floatstyle| command takes one +% argument, the name of a float style. For instance, +% |\floatstyle{ruled}|. Specifying a string that does not name a valid +% float style is an error. +% +% \DescribeMacro{\floatname} +% The |\floatname| command lets you define +% the \emph{float name} that \LaTeX\ uses in the caption of a float, +% i.e., `Figure' for a figure and so on. For example, +% |\floatname{program}{Program}|. The |\newfloat| command sets the +% float name to its argument \meta{type} if no other name has been +% specified before. +% +% \DescribeMacro{\floatplacement} +% The |\floatplacement| command resets +% the default placement specifier of a class of floats. E.g., +% |\floatplacement{figure}{tp}|. +% +% \DescribeMacro{\restylefloat}\nopagebreak +% The |\restylefloat| command is necessary +% to change styles for the standard float types +% \texttt{figure} and \texttt{table}. Since these aren't usually +% defined via |\newfloat|, they don't have a style associated with +% them. Thus you have to say, for example, +% \begin{Quote} +% \hspace*{\MacroIndent}|\floatstyle{ruled}| +% \hspace*{\MacroIndent}|\restylefloat{table}| +% \end{Quote} +% to have tables come out \texttt{ruled}. The command also lets you +% change style for floats that you define via |\newfloat|, although +% this is, typographically speaking, not a good idea. See +% table~\ref{table1} for an example\footnote{The \package{float} package +% created special caption style with bold label for \texttt{boxed} +% style. Please note that \texttt{plain} and \texttt{boxed} float +% styles have not any special settings in \package{caption} 3.x package. +% To emulate \texttt{boxed} style from \package{float} documentation there +% were: cleared all special caption settings for tables, and restored +% default colon separator after label.}. There is a |\restylefloat*| +% command which will restyle an existing float type but will keep the +% new float style from taking over the |\caption| command. In this +% case the user is responsible for handling their own captions. +% \DeleteShortVerb{\|} +% %^^AEmulation of float's documentation settings +% %^^A\floatstyle{boxed} +% %^^A\restylefloat{table} +% \begingroup +% \clearcaptionsetup{table} +% \captionsetup{labelsep=default,labelfont=bf} +% \floatsetup[table]{style=boxed} +% \begin{table}[h] \def\B#1{$\displaystyle{n\choose#1}$} +% \begin{center} \begin{tabular}{c|cccccccc} +% $n$&\B0&\B1&\B2&\B3&\B4&\B5&\B6&\B7\\ \hline +% 0 & 1\\ +% 1 & 1&1\\ +% 2 & 1&2&1\\ +% 3 & 1&3&3&1\\ +% 4 & 1&4&6&4&1\\ +% 5 & 1&5&10&10&5&1\\ +% 6 & 1&6&15&20&15&6&1\\ +% 7 & 1&7&21&35&35&21&7&1 +% \end{tabular} \end{center} +% \caption{Pascal's triangle. This is a re-styled \LaTeX\ +% \texttt{table}.\label{table1}} +% \end{table} +% \endgroup +% \MakeShortVerb{\|} % -% |\floatsetup|, renamed or deleted after version 0.1b. +% \end{small}\pagebreak[2] +%\RestoreSpaces +% \begingroup\extrarowheight1.75pt\small\openup-.5pt\tabcolsep.5\tabcolsep\LTpre=0ptplus3pt\LTpost\LTpre +% \subsubsection{The \cmd{\floatsetup} keys, renamed or deleted after version 0.1b} % -% \begingroup\extrarowheight1.75pt\small\tabcolsep.5\tabcolsep -% \medskip\parindent0pt -% \begin{tabular*}\hsize{@{\extracolsep{-.3ptplus1fill}}| +% \parindent0pt +% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}| % >{\rightskip0ptplus1fil}p{.35\hsize}| % >{\rightskip0ptplus1fil}p{.6\hsize}|} % \multicolumn{2}{c}{Removed or changed commands} @@ -3588,6 +4910,7 @@ % & % \thead{Changed to} % \\\hline +% \endhead % \extrarowheight0pt\begin{tabular}[t]{@{}l} % \cmd{\renewfloatstyle},\\ % \cmd{\newfloatstyle},\\ @@ -3602,10 +4925,10 @@ % \\\hline % \cmd{\floatfootskip} & command, not a skip % \\\hline -% \end{tabular*}\pagebreak +% \end{longtable} % % \vskip1pt -% \begin{tabular*}\hsize{@{\extracolsep{-.3ptplus1fill}}| +% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}| % >{\rightskip0ptplus1fil}p{.35\hsize}| % >{\rightskip0ptplus1fil}p{.6\hsize}|} % \multicolumn{2}{c}{Commands, replaced by keys} @@ -3614,6 +4937,7 @@ % & % \thead{Key Analog} % \\\hline +% \endhead % \cmd{\floatobjectset} & % in current version \emph{do not used for definition of object % settings}, use key @@ -3644,7 +4968,7 @@ % \end{tabular}& % in current version \emph{do not used for definition of separation % material}, use keys\par \extrarowheight0pt -% \begin{tabular}[t]{@{}l} +% \extrarowheight0pt\begin{tabular}[t]{@{}l} % \texttt{floatrowsep=}\\ % \texttt{capbesidesep=} % \end{tabular} @@ -3662,7 +4986,7 @@ % \\\hline % \cmd{\setfloatstyle} & \texttt{style=} % \\\hline -% \begin{tabular}[t]{@{}l} +% \extrarowheight0pt\begin{tabular}[t]{@{}l} % \cmd{\Setframe}\\ % \cmd{\setframe} % \end{tabular} @@ -3672,11 +4996,11 @@ % & use \texttt{precode=}, \texttt{postcode=}, \texttt{midcode=} (also % \texttt{rowpercode} and \texttt{rowpostcode}) keys % \\\hline -% \end{tabular*} +% \end{longtable} % -% \vskip1pt +% \RestoreSpaces\vskip1pt\pagebreak[3] % -% \begin{tabular*}\hsize{@{\extracolsep{-.3ptplus1fill}}| +% \begin{longtable}{@{\extracolsep{-.3ptplus1fill}}| % >{\rightskip0ptplus1fil}p{.35\hsize}| % >{\rightskip0ptplus1fil}p{.6\hsize}|} % \multicolumn{2}{c}{Renamed keys} @@ -3685,6 +5009,7 @@ % & % \thead{Changed to} % \\\hline +% \endhead % \texttt{attachedcapstyle=} & \texttt{relatedcapstyle=} % \\\hline % \texttt{floatstyle=} & \texttt{style=} @@ -3716,12 +5041,12 @@ % \end{tabular} & % \extrarowheight0pt\begin{tabular}[t]{@{}l@{}} % \vphantom{(}options of \texttt{objectset=} and \texttt{margins=} -% (for unification\\\quad with analogous key options in \pkg{caption} +% (for unification\\\quad with analogous key options in \package{caption} % package)\\ % \texttt{raggedright},\\ \texttt{raggedleft},\\ \texttt{centering} % \end{tabular} % \\\hline -% \end{tabular*} +% \end{longtable} % \endgroup % \MakeShortVerb{\|}% % @@ -3735,11 +5060,11 @@ % \changes{v0.1a}{2004/09/28}{Since the changes of version 0.1a touched % a lot of package all entries of changing messages deleted.} % \changes{v0.1d}{2005/02/07}{Removed info, error, command macros---used -% standard instead} The first step is to check whether \pkg{float} and -% \pkg{rotfloat} are loaded or not. If yes, there go error messages. -% \changes{v0.1d}{2005/02/07}{Added test for \pkg{rotfloat} package} +% standard instead} The first step is to check whether \package{float} and +% \package{rotfloat} are loaded or not. If yes, there go error messages. +% \changes{v0.1d}{2005/02/07}{Added test for \package{rotfloat} package} % \changes{v0.1j}{2006/03/12}{Try to say `good bye' -% in the case of \pkg{float} or/and \pkg{rotfloat} loaded before} +% in the case of \package{float} or/and \package{rotfloat} loaded before} % \begin{macrocode} %<*floatrow> %\@ifundefined{float@caption}{}% @@ -3754,27 +5079,27 @@ \@namedef{opt@floatrow.sty}{}\endinput} % \end{macrocode} % -% The next lines emulate already loaded \pkg{float} and \pkg{rotfloat} +% The next lines emulate already loaded \package{float} and \package{rotfloat} % packages. % -% If in preamble, after loading of \pkg{floatrow} package is used -% |\usepackage| with \pkg{float} package (the \pkg{float} package +% If in preamble, after loading of \package{floatrow} package is used +% |\usepackage| with \package{float} package (the \package{float} package % doesn't support any options), the defining of command |\ver@float.sty|, % which emulates loading of package will do not any harm. % -% Unfortunately the \pkg{rotfloat} package allows to transfer options of -% \pkg{rotating} package in the case of appearance +% Unfortunately the \package{rotfloat} package allows to transfer options of +% \package{rotating} package in the case of appearance % of both packages in one |\usepackage| line. Thus, if someone loads -% options in \pkg{rotating}---\pkg{rotfloat} line, he will get +% options in \package{rotating}---\package{rotfloat} line, he will get % `option clash' error. A followed help gives a simple solution of such % problem---moving options in |\documentclass| line and make them global. % I hope, that moving option in this way will do not harm % to document, but now you aware of ``non-necessity'' of loading -% of \pkg{rotfloat} package. +% of \package{rotfloat} package. % \changes{v0.1e}{2005/03/22}{Restoring code of emulation of loading -% for \pkg{float} and \pkg{rotfloat} packages.} +% for \package{float} and \package{rotfloat} packages.} % \changes{v0.1f}{2005/06/14}{The version, date and description of -% \pkg{float} and \pkg{floatrow} borrowed from originals (AS).} +% \package{float} and \package{floatrow} borrowed from originals (AS).} % \begin{macrocode} %\expandafter\let\csname ver@float.sty\expandafter\endcsname % \csname ver@floatrow.sty\endcsname @@ -3786,26 +5111,37 @@ Combining float+rotating package (AS)} % \end{macrocode} % -% Here goes request for \pkg{keyval} package. -% \changes{v0.1c}{2004/10/22}{Bug fix: added request for \pkg{keyval} +% Here goes request for \package{keyval} package. +% \changes{v0.1c}{2004/10/22}{Bug fix: added request for \package{keyval} % package.} % \begin{macrocode} \RequirePackage{keyval} % \end{macrocode} % -% Here goes request for \file{caption3} file, core part of \pkg{caption} +% Here goes request for \file{caption3} file, core part of \package{caption} % package. -% \changes{v0.1f}{2005/06/14}{Added request for \pkg{caption3} package.} -% \changes{v0.1j}{2006/06/18}{Added date request for \pkg{caption3} package.} -% \begin{macrocode} -\RequirePackage{caption3}[2006/01/12] +% \changes{v0.1f}{2005/06/14}{Added request for \package{caption3} package.} +% \changes{v0.1j}{2006/06/18}{Added date request for \package{caption3} +% package.} +% \changes{v0.2a}{2007/08/24}{Added check and error message for version older 3.0q} +% The |\caption@keydepth| is used as test for \package{caption}'s version 3.0q. +% \begin{macrocode} +\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}}} % \end{macrocode} % % \subsection{Storing of \LaTeX's Internal Macros} % % \begin{macro}{\FR@flboxreset} -% First goes storage of \LaTeX's macro |\@floatboxreset| from bundle of float -% definitions. +% First goes storage of \LaTeX's macro |\@floatboxreset| from bundle of +% float definitions. % \begin{macrocode} \@ifdefinable\FR@flboxreset{\let\FR@flboxreset\@floatboxreset} \@ifdefinable\FR@makecaption{\let\FR@makecaption\@makecaption} @@ -3833,16 +5169,17 @@ % \begin{macro}{\float@caption} % The |\float@caption| used as flag for caption package. % \changes{v0.1f}{2005/06/14}{Saves \cmd{\@caption}: used as flag -% for \pkg{caption}, \pkg{hyperref}, (\pkg{pdfpages}) packages.} +% for \package{caption}, \package{hyperref}, (\package{pdfpages}) packages.} % \begin{macrocode} \@ifdefinable\float@caption{\let\float@caption\@caption} % \end{macrocode} % \end{macro} % -% \subsection{Borrowed Code (with original comment) from \pkg{float} package} +% \subsection{Borrowed Code (with original comment) from \package{float} +% package} % -% From this point starts \pkg{float} package's core code (version 1.3). -% The necessary explanation of macro code also borrowed from \pkg{float} +% From this point starts \package{float} package's core code (version 1.3). +% The necessary explanation of macro code also borrowed from \package{float} % package and typed with slanted font. Some macros % were skipped or edited (see \emph{floatrow notes}). % @@ -3871,21 +5208,41 @@ % is unknown, and we call |\float@error{|\meta{arg}|}| for the % error message. % -% {\em \textit{Floatrow note.} \pkg{float}'s error message +% \begin{macro}{\flrow@package} +% {\em \textit{Floatrow note.} \package{float}'s error message % (the command \cmd{\float@error}\meta{arg}) changed to -% \pkg{floatrow}'s one (\cmd{\flrow@error}\meta{arg}).} +% \package{floatrow}'s one (\cmd{\flrow@error}\meta{arg}).} +% \changes{v0.1k}{2007/01/20}{Added +% macro analogous to \cmd{\caption@package}.} +% \begin{macrocode} +\newcommand\flrow@package{floatrow} +% \end{macrocode} +% \end{macro} % % \begin{macro}{\flrow@error} -% Here's the error message. |\@eha| is the help message that says -% `Your command was ignored.' +% \changes{v0.1k}{2007/01/20}{Created more +% universal macro for all \cmd{\PackageError}s.} +% \begin{macrocode} +\newcommand*\flrow@error[1]{% + \PackageError\flrow@package{#1}\flrow@eh} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\flrow@eh} +% The |\caption@eh|-analog. +% \changes{v0.1k}{2007/01/20}{Added +% special help for \cmd{\PackageError}s.} % \begin{macrocode} -\newcommand\flrow@error[1]{\PackageError{floatrow}{% - Unknown float style `#1'}{\@eha}} +\newcommand*\flrow@eh{% + If you do not understand this error, please take look\MessageBreak + at `floatrow' and `caption' package documentations.\MessageBreak + \@ehc} % \end{macrocode} % \end{macro} +% % \begin{macrocode} \newcommand\floatstyle[1]{\@ifundefined{flrow@sty@#1}% - {\flrow@error{#1}}{\edef\float@style{#1}}} + {\flrow@error{Unknown float style `#1'}}{\edef\float@style{#1}}} % \end{macrocode} % \end{macro} % @@ -3893,16 +5250,19 @@ % \begin{macro}{\floatplacement} % The next two commands are even simpler. \LaTeX\ says that % |\fps@|\meta{float} contains the default placement specifier for -% the class of floats \meta{float}. |\fname@|\meta{float} expands +% the class of floats \meta{float}. |\|\meta{float}|name| expands % to the name that appears in \meta{float} captions, e.g., `Figure'. % (This is our own definition.) +% and |\@floatboxreset| macros. +% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to +% \cs{}\meta{floatname}\texttt{name} macros redefined locally (AS).} % \begin{macrocode} -\newcommand\floatname[2]{\@namedef{fname@#1}{#2}} +\newcommand\floatname[2]{\@namedef{#1name}{#2}} \newcommand\floatplacement[2]{\@namedef{fps@#1}{#2}} % \end{macrocode} % \emph{\textit{Floatrow note.} Here was stuff of undocumented command % \cmd{\floatevery} which, I suppose, allows to set special settings for -% current type of float. In \pkg{floatrow} package it was deleted. +% current type of float. In \package{floatrow} package it was deleted. % Use \cmd{\floatsetup} stuff instead.} % \end{macro} % \end{macro} @@ -3946,7 +5306,7 @@ % \changes{v0.1f}{2005/06/14}{The \cmd{\@caption} redefinitions % transformed to \cmd{\@makecaption} ones.} % \changes{v0.1f}{2005/06/14}{The \cmd{\FBc@wd}\cmd{\z@} works like -% flag (for \pkg{wrapfig}'s floats).} +% flag (for \package{wrapfig}'s floats).} % \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}} % \begin{macrocode} \newcommand\flrow@makecaption[2]{\global\setbox\@floatcapt @@ -3970,31 +5330,102 @@ % The third one allows to define again float layout style: it could be % necessary in mixed float rows. % \changes{v0.1g}{2005/07/15}{The macro-flag \cmd{\FR@ifflenv} removed.} +% \changes{v0.1k}{2007/01/18}{Deleted \cmd{\global}---it could make macro universal for multilevel usage.} % \begin{macrocode} \newcommand\killfloatstyle{\FBbuildtrue - \if@@FS\hsize\FB@wd\fi\global\@@FSfalse} + \if@@FS\hsize\FB@wd\fi\@@FSfalse} % \end{macrocode} % \end{macro} % % \begin{macro}{\RawFloats} -% This macro restores core-\LaTeX-float-environment's behavior. +% This macro restores plain \LaTeX{} mode for floats. i.e. returns core +% macros for commands of float environment. +% Non-optional variant can be used inside environments only. +% Variant with option better to be used in preamble. (Option allow +% to restore plain \LaTeX{} mode for necessary float type.) % \changes{v0.1f}{2005/06/14}{Added Macro which restores raw float % behavior.} % \changes{v0.1g}{2005/07/15}{Added \cmd{\@parboxrestore} macro.} +% \changes{v0.1k}{2007/01/18}{Added optional arguments which +% allow usage of macro outside any float.} +% \begin{macrocode} +\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 +} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\flrow@Raw@restyle} +% \changes{v0.1k}{2007/05/24}{The key-val support for raw float mode. +% Macro \cmd{\flrow@Raw@restyle} replaces \cmd{\flrow@restyle}}. +% This macro is used by |rawfloats=| key. % \begin{macrocode} -\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}% +\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}% + }% } % \end{macrocode} % \end{macro} % % \begin{macro}{\FB@capsetup} -% This only additional definition which is used with \pkg{caption} package +% This only additional definition which is used with \package{caption} package % version 3.0. With this macro you may (re)define some layout settings % for captions. % \begin{macrocode} @@ -4021,7 +5452,7 @@ % \end{macro} % % \begin{macro}{\restylefloat} -% The redefined \pkg{float} package macros to follow |\floatsetup| stuff. +% The redefined \package{float} package macros to follow |\floatsetup| stuff. % % This macro starts to work at the beginning of document, so it has tests % for loaded packages. @@ -4042,9 +5473,9 @@ % \begin{macrocode} %\newcommand\float@restyle{} % \end{macrocode} -% To avoid redefinition of this macro by other packages (e.g. \pkg{wrapfig}, -% which uses |\float@restyle| as recognition of \pkg{float} v1.3 package) -% \pkg{floatrow} package uses other name. +% To avoid redefinition of this macro by other packages (e.g. \package{wrapfig}, +% which uses |\float@restyle| as recognition of \package{float} v1.3 package) +% \package{floatrow} package uses other name. % \changes{v0.1f}{2005/06/14}{Added \cmd{\FR@redefs} command for local % redefinitions.} % \changes{v0.1f}{2005/06/14}{The \cmd{\xdef}\cmd{\FBB@wd} changed to @@ -4073,13 +5504,21 @@ % \end{macrocode} % {\sl The standard |\@xdblfloat| macro changes |\hsize| to |\textwidth|. % This way is not correct so use |\@xfloat| instead.} -% \begin{macrocode} - \let\@xdblfloat\@xfloat\@dblfloat{#1}}% +% Here added flag which, if true, allows redefinition of starred float +% environment like non-starred but with special layout. This redefinition +% allows usage of |[H]| option. +% \changes{v0.1k}{2007/01/18}{Added \cmd{\FR@ifdoubleaswide} flag: +% starred floats could be used for wide alternative layout} +% \begin{macrocode} + \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 % \end{macrocode} % One-column rotated float environment. -% The code contents of |\rotfloat@float| macro (\pkg{rotfloat} package) +% The code contents of |\rotfloat@float| macro (\package{rotfloat} package) % moved here. % \begin{macrocode} \@ifundefined{@rotfloat}{}{% @@ -4095,13 +5534,13 @@ % Two-column rotated float environment without support. % (The style ``support'' for non-rotated two column or wide float % \texttt{widefloat} and \texttt{wide}\meta{captype} was removed.) -% \changes{v0.1d}{2005/02/07}{Restored \pkg{rotfloat}'s definition form +% \changes{v0.1d}{2005/02/07}{Restored \package{rotfloat}'s definition form % for wide rotated float} % \begin{macrocode} \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 % \end{macrocode} @@ -4117,7 +5556,7 @@ % {\sl The standard |\@xdblfloat| macro changes |\hsize| to |\textwidth|. % This way is not correct so use |\@xfloat| instead.} % -% The code contents of |\rotfloat@dblfloat| macro (\pkg{rotfloat} +% The code contents of |\rotfloat@dblfloat| macro (\package{rotfloat} % package) moved here. % \begin{macrocode} \let\@xdblfloat\@xfloat @@ -4127,7 +5566,7 @@ \fi \@namedef{endsideways#1*}{\FBbuildtrue\float@dblend}} % \end{macrocode} -% Wrapped float environment from \pkg{wrapfig} package. +% Wrapped float environment from \package{wrapfig} package. % \begin{macrocode} \@ifundefined{wrapfloat}{}{% \@ifundefined{flrow@WF@rapt}{\let\flrow@WF@rapt\WF@rapt @@ -4137,17 +5576,19 @@ \edef\FBB@wd{\the\dimen@}\FB@fs@wd\dimen@\FBo@wd \fi \flrow@WF@rapt[##1]{\dimen@}% - \@ifundefined{capstart}{}{\capstart}% +% \end{macrocode} +% \changes{v0.1k}{2007/05/24}{Commented \cmd{\capstart} for a while} +% \begin{macrocode} +% \@ifundefined{capstart}{}{\capstart}% \the\FR@everyfloat\ignorespaces}% }{}% \@namedef{wrap#1}{\killfloatstyle\def\@captype{#1}% % \end{macrocode} -% ^^A The \cmd{\FloatHBarrier} for \pkg{flafplins}. +% ^^A The \cmd{\FloatHBarrier} for \package{flafplins}. % ^^A \changes{v0.1j}{2006/03/12}{Added \cmd{\FloatHBarrier} in wrapfloat} % \begin{macrocode} \FR@redefs\FBc@wd\z@ - \flrow@setlist{{#1}{wrapfloat}{wrap#1}{tmpset}}% - \global\let\flrow@typ@tmpset\undefined + \flrow@setlist{{#1}{wrapfloat}{wrap#1}}% % \end{macrocode} % Here repeated code from |\float@end| and |\float@dblend|: check whether % |\floatbox| stuff appeared or not. @@ -4163,6 +5604,7 @@ %^^A \adj@dim\hsize+\FBo@wadj=\hsize \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[]}}%] @@ -4173,14 +5615,16 @@ %^^A \@namedef{endwrap#1}{\ifdim\hsize>\z@ %^^A \adj@dim\hsize+\FBo@wadj=\hsize\fi\endwrapfloat}} % \end{macrocode} -% At last definitions for new subfloat numeration for \pkg{subfig} package. +% At last definitions for new subfloat numeration for \package{subfig} package. % The subfloats for figures and tables (|\c@subfigure| and |\c@subtable|) % already defined: so at first goes check, whether defined this command for % subfloat (suggestions of Steven Cochran ). % \changes{v0.1f}{2005/06/14}{Added check/filter for already created % subfigures and subtables (SC).} +% \changes{v0.1k}{2007/05/24}{The check macro for subfig package +% changed.} % \begin{macrocode} - \@ifundefined{subfloat}{}{\@ifundefined{c@sub#1}{\newsubfloat{#1}}{}}} + \@ifundefined{sf@@@subfloat}{}{\@ifundefined{c@sub#1}{\newsubfloat{#1}}{}}} % \end{macrocode} % \end{macro} % \end{em} @@ -4216,12 +5660,12 @@ % counter, was removed. It was replaced by |\DeclareNewFloatType| stuff.} % \end{macro} % -% \subsubsection{The \pkg{float} Package: Adapting \LaTeX\ Internals} +% \subsubsection{The \package{float} Package: Adapting \LaTeX\ Internals} % % We have to adapt some of \LaTeX's internal macros to our needs. % There are several things that have to be changed around -% in order to provide the functionality of David Carlisle's \pkg{here}. -% The following is thus lifted from \pkg{here}, with changes and with +% in order to provide the functionality of David Carlisle's \package{here}. +% The following is thus lifted from \package{here}, with changes and with % David's permission: % % \begin{macro}{\@float@Hx} @@ -4240,7 +5684,7 @@ \def\@xfloat#1[{\@ifnextchar{H}{\@float@HH{#1}[}{\@float@Hx{#1}[}} % \end{macrocode} % \end{macro} -% {\em\textit{Floatrow note}. Since \pkg{floatrow} always uses float style, +% {\em\textit{Floatrow note}. Since \package{floatrow} always uses float style, % the stuff of flag \cmd{\@flstyle} (which sets whether use or not any % predefined float style) moved out.} % @@ -4257,14 +5701,18 @@ \def\@float@HH#1[H]{% % \end{macrocode} %^^A {\em\textit{Floatrow note}. If we want to put barrier -%^^A (i.e. use beta-package \pkg{flafplins}).} +%^^A (i.e. use beta-package \package{flafplins}).} % \changes{v0.1j}{2006/03/12}{Added \cmd{\FloatHBarrier}} % \begin{macrocode} \@ifundefined{FloatHBarrier}{}\FloatHBarrier % \end{macrocode} % Locally redefine the end of the environment. +% \changes{v0.1k}{2007/05/24}{Added \cmd{\FR@ifdoubleaswide} to allow usage of [H] option in wide floats} % \begin{macrocode} \expandafter\let\csname end#1\endcsname\float@endH + \FR@ifdoubleaswide + \expandafter\let\csname end#1*\endcsname\float@endH + \fi % \end{macrocode} % We don't get a |\@currbox| if we don't actually use the float mechanism. % Therefore we fake one using the |\float@box| defined above. @@ -4281,16 +5729,20 @@ % \texttt{[h]} option. % % \emph{Floatrow note. -% Since \pkg{floatrow} always uses preloaded style +% Since \package{floatrow} always uses preloaded style % the stuff of flag \cmd{\@flstyle} moved out.} +% Here added zeroing of list margins in the case of appearance of |\floatbox| +% inside list environment. % \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}} +% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance +% of \cmd{\floatbox} inside list environment.} % \begin{macrocode} \def\@captype{#1}\setbox\@floatcapt=\vbox{}% \setbox\@currbox\color@vbox\normalcolor \vbox\bgroup \hsize\columnwidth \linewidth\columnwidth - \@parboxrestore + \@parboxrestore\leftmargin\z@\rightmargin\z@ \@floatboxreset \@setnobreak % \end{macrocode} % The final |\ignorespaces| is needed to gobble any spaces or new lines @@ -4307,7 +5759,7 @@ % At first goes original \LaTeX's macro |\@floatboxreset| saved as % |\FR@flboxreset| at the beginning of package. % Then goes flag for facing layout and command which inputs references from -% \texttt{aux}-file and temporary settings. At last \pkg{floatrow} looks +% \texttt{aux}-file and temporary settings. At last \package{floatrow} looks % whether caption stays above/below object, or beside and chooses necessary % macro of width counting. % \changes{v0.1d}{2005/02/07}{Added flag for float box layout building} @@ -4319,7 +5771,6 @@ \@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 @@ -4374,8 +5825,8 @@ % \begin{macrocode} \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 % \end{macrocode} @@ -4418,7 +5869,7 @@ % \textit{Floatrow note.} % Macro |\float@makebox| was redefined to fit more float object---caption % combinations. There was created the |\float@makebox| stuff. -% First goes changed \pkg{float} |\float@makebox| which loads necessary +% First goes changed \package{float} |\float@makebox| which loads necessary % layout macro for above/below or beside captions. % % The |\float@makebox| stuff includes |\FB@foot| macro @@ -4443,12 +5894,17 @@ % \begin{macro}{\flrow@FB} % The macro of |\float@makebox| stuff which builds float box with % above/below caption. +% Here added zeroing of list margins in the case of appearance of |\floatbox| +% inside list environment. % \changes{v0.1f}{2005/06/14}{The argument used for defining of -% dimension---restored for (\pkg{float}) compatibility with -% \pkg{hyperref} package.} +% dimension---restored for (\package{float}) compatibility with +% \package{hyperref} package.} +% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance +% of \cmd{\floatbox} inside list environment.} % \begin{macrocode} \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}% @@ -4459,11 +5915,15 @@ % \begin{macro}{\flrow@FC} % Definition of float with beside caption. % \changes{v0.1f}{2005/06/14}{The argument used for defining of -% dimension---restored for (\pkg{float}) compatibility with -% \pkg{hyperref} package.} +% dimension---restored for (\package{float}) compatibility with +% \package{hyperref} package.} +% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance +% of \cmd{\floatbox} inside list environment.} +% Here added zeroing of list margins in the case of appearance of |\floatbox| +% inside list environment. % \begin{macrocode} \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 @@ -4509,13 +5969,21 @@ % \changes{v0.1f}{2005/06/14}{New design implementation for % \cmd{\captionof}-like stuff?} % \begin{macrocode} -\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 +% \end{macrocode} +% Here added zeroing of list margins in the case of appearance of |\floatbox| +% inside list environment. +% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance +% of \cmd{\floatbox} inside list environment.} +% \begin{macrocode} + \@parboxrestore\leftmargin\z@\rightmargin\z@ + \@@FBabove \FBifcaptop % \end{macrocode} % If needed and exists---caption box above float object. @@ -4571,10 +6039,18 @@ % separate parameters for building of beside caption layout and float % environment margins.} % \begin{macrocode} -\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 +% \end{macrocode} +% \changes{v0.1k}{2007/05/24}{Margins zeroed for the case of appearance +% of \cmd{\floatbox} inside list environment.} +% Here added zeroing of list margins in the case of appearance of |\floatbox| +% inside list environment. +% \begin{macrocode} + \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}% @@ -4619,7 +6095,7 @@ % Added flag |\ifFBbuild| for float box layout building. % This flag stops repeated usage of |\float@makebox| after |\floatbox| % in |\float@end|, |\float@endH| and -% |\float@dblend| macros and, if \pkg{rotating} used, +% |\float@dblend| macros and, if \package{rotating} used, % in replaces usage of |\float@makebox| to \LaTeX's standard box |\@currbox| % |\rotfloat@makebox| and |\rotfloat@dblmakebox| commands.} % \changes{v0.1d}{2005/02/07}{Added flag for float box layout building} @@ -4632,7 +6108,7 @@ % \end{macro} % % \begin{macro}{\float@endH} -% The |\float@endH| command is, again, derived from \pkg{here}. It'll +% The |\float@endH| command is, again, derived from \package{here}. It'll % deal correctly with a non-floating float, inserting the proper amounts % of white space above and below. % @@ -4642,11 +6118,21 @@ % \changes{v0.1d}{2005/02/07}{Added flag for float box layout building} % \changes{v0.1h}{2005/10/25}{Added penalties \cmd{\@beginparpenalty} % and \cmd{\@endparpenalty}} +% \changes{v0.1k}{2007/01/14}{Added \cmd{\floatHpenalties} settings and flag for +% usage of list penalties} +% There is also added flag for loading of list penalties around anchored float. % \begin{macrocode} +\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} % \end{macrocode} % \end{macro} % @@ -4666,7 +6152,7 @@ % \end{macrocode} % \end{macro} % -% \subsubsection{\pkg{float} package: Captions and lists of floats} +% \subsubsection{\package{float} package: Captions and lists of floats} % % Now for the caption routines. % We use a box, |\@floatcapt|, to hold the caption while the float @@ -4677,9 +6163,9 @@ % % \begin{macro}{\caption} % This is the only \LaTeX\ macro that this document style supersedes. -% {\em[\dots]} the caption routines from \pkg{float} are used {\em[\dots]}. -% {\em \textit{Floatrow note.} The \pkg{float}'s caption layout stuff -% replaced by \pkg{caption}'s |\captionsetup|. In \pkg{floatrow} +% {\em[\dots]} the caption routines from \package{float} are used {\em[\dots]}. +% {\em \textit{Floatrow note.} The \package{float}'s caption layout stuff +% replaced by \package{caption}'s |\captionsetup|. In \package{floatrow} % package redefined |\@makecaption| command (\LaTeX's definition % of |\caption| commented).} % \changes{v0.1f}{2005/06/14}{The definition of \cmd{\caption} commented.} @@ -4700,7 +6186,7 @@ % the appropriate listing. It also controls the typesetting of the caption % itself, although a style-dependent macro |\@fs@capt| is called to handle % the specifics. {\em \textit{Floatrow note}. The command |\@fs@capt| -% removed---\pkg{floatrow} package uses \pkg{caption} 3.0 possibilities and +% removed---\package{floatrow} package uses \package{caption} 3.0 possibilities and % its own definitions.} % % Note that because the caption is saved in a box @@ -4752,7 +6238,7 @@ % |\flrow@error|)}. % \begin{macrocode} \newcommand*{\listof}[2]{% - \@ifundefined{ext@#1}{\flrow@error{#1}}{% + \@ifundefined{ext@#1}{\flrow@error{Unknown float style `#1'}}{% % \end{macrocode} % All's well until now. We define the |\l@|\meta{float} command % that \LaTeX\ needs for formatting the list, and then typeset the @@ -4806,14 +6292,14 @@ % \end{macrocode} % \end{macro} % -% {\em \textit{Floatrow note.} Here goes \pkg{floatrow} message about -% finishing of loading of \pkg{float} package's corrected code.} +% {\em \textit{Floatrow note.} Here goes \package{floatrow} message about +% finishing of loading of \package{float} package's corrected code.} % \begin{macrocode} \PackageInfo{floatrow}{Modified float package code loaded} % \end{macrocode} % % \subsection{Borrowed Code (with original comment) -% from \pkg{rotfloat} package} +% from \package{rotfloat} package} % % \begin{macrocode} \IfFileExists{rotating.sty}{\@tempswatrue}{\@tempswafalse} @@ -4823,8 +6309,8 @@ % {\em \textit{Floatrow note.} Here goes code of revised and adapted package % to floatrow. With documentation. % -% The main redefinitions for \pkg{rotfloat} (|\flrow@restyle| stuff) purposes -% were made above (in \pkg{float} part).\\{}[\dots] +% The main redefinitions for \package{rotfloat} (|\flrow@restyle| stuff) purposes +% were made above (in \package{float} part).\\{}[\dots] % % Code contents of |\rotfloat@float| and |\rotfloat@dblfloat| moved up % inside |\flrow@restyle| macro.} @@ -4853,7 +6339,7 @@ % \begin{macro}{\rotfloat@makebox} % \begin{macro}{\rotdblfloat@makebox} % |\float@makebox| has a parameter here which will be set to |\columnwidth| -% or |\textwidth|. (In the \pkg{float} package $v1.2$ the |\columnwidth| was +% or |\textwidth|. (In the \package{float} package $v1.2$ the |\columnwidth| was % hard wired into |\float@makebox|.) So we have to pass this parameter % through the original version of |\float@makebox| which we have saved to % |\rotfloat@@makebox| within |\rotfloat@float|.) @@ -4873,8 +6359,8 @@ % \end{macro} % % That's all folks\dots {\em \textit{Floatrow note:} of borrowed -% \pkg{rotfloat} package. And here goes message about loading of -% \pkg{rotfloat} package's code.} +% \package{rotfloat} package. And here goes message about loading of +% \package{rotfloat} package's code.} % \begin{macrocode} \PackageInfo{floatrow}{Modified rotfloat package code loaded} \fi @@ -4941,8 +6427,8 @@ % There is the definition of |\footnotemark| which creates the same mark as % |\footnote| inside \texttt{minipage} environment. That could be useful in % multiple footnote marks in tables. Since the same definition was loaded -% in \pkg{footmisc} v5.3, these macros are defined at the beginning of -% document in the case only if \pkg{footmisc} was not loaded. +% in \package{footmisc} v5.3, these macros are defined at the beginning of +% document in the case only if \package{footmisc} was not loaded. % \begin{macrocode} \AtBeginDocument{\providecommand\mpfootnotemark{\@ifnextchar[%] \@xmpfootnotemark{\stepcounter\@mpfn @@ -4957,14 +6443,24 @@ % \subsection{Macro for Legends, Explications, etc.} % % \begin{macro}{\floatfoot} -% This command made for the same reasons as \pkg{ccaption}'s |\legend| +% This command made for the same reasons as \package{ccaption}'s |\legend| % macro and uses its style. It uses |\caption| mechanism. +% \changes{v0.1p}{2007/06/24}{The creation of float foot contents extracted +% for usage in longtable.} % \begin{macrocode} +\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}}}% +% \end{macrocode} +% For the case of usage outside of |\floatbox| and float environments. E.g. +% inside \env{longtable} environment. +% \begin{macrocode} +\newcommand\floatfoot@box[1]{% + \@ifundefined{@captype}{\def\@captype{floatfoot}}{}% % \end{macrocode} % The |\if@@FS| flag stored for \env{wrap...} environments. % \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}} @@ -4974,17 +6470,16 @@ % \end{macrocode} % Apply current float settings. % \begin{macrocode} - \caption@settype{\@captype}% + \caption@setoptions{\@captype}% % \end{macrocode} % Apply floatfoot settings. % \begin{macrocode} - \caption@settype{floatfoot}% + \caption@setoptions{floatfoot}% % \end{macrocode} % No captionlabel. % \begin{macrocode} - \captionsetup{labelformat=empty,labelsep=none}% \caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}% - \color@endgroup}}% + \color@endgroup} % \end{macrocode} % \end{macro} % @@ -5020,9 +6515,11 @@ % \begin{macro}{\renewfloatcommand} % The following macros allow to define user commands-abbreviations: % they have common unchanged preamble and setting for default width of -% float box. Usage:\\[\medskipamount] +% float box. Usage: +% \begin{Quote}% % |\newfloatcommand{|\meta{command}|}{|\meta{captype}|}|^^A -% |[|\meta{preamble}|][|\meta{default width}|]|\\[\medskipamount] +% |[|\meta{preamble}|][|\meta{default width}|]| +% \end{Quote}% % where: % \begin{description} % \item[\meta{command}]the new command name without backslash; @@ -5034,18 +6531,18 @@ % will be equal to width of object. % \end{description} % Examples: -% \begin{verse} -% |\newfloatcommand{ffigbox}{figure}|\\ +% \begin{Quote} +% |\newfloatcommand{ffigbox}{figure}| % |\newfloatcommand{ttabbox}{table}[\captop][\FBwidth]| -% \end{verse} +% \end{Quote} % % The definition of command for new float command. % \changes{v0.1f}{2005/06/14}{Bug fix: corrected \cmd{\@latex@error} % command code.} -% \begin{macrocode} +% \begin{macrocode}% \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}{}% @@ -5056,7 +6553,11 @@ \@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}% +% \end{macrocode} +% \changes{v0.1k}{2007/05/24}{The option with settings for float +% box saved to temporary command} +% \begin{macrocode}% + \def\FB@tmpset{#3}\def\@captype{#2}% \@ifnextchar[{\@floatbox}{\@floatbox[#4]}}} % \end{macrocode} % \end{macro} @@ -5149,18 +6650,23 @@ % Gobbling of caption label and localization of counter change. % \changes{v0.1h}{2005/10/25}{The \cmd{\refstepcounter} and % \cmd{\refsteponlycounter} localized (for \cmd{\ContinuedFloat} -% with \pkg{subfig}).} +% with \package{subfig}).} +% \changes{v0.1p}{2007/06/24}{The \cmd{\stepcounter} also +% localized (for \cmd{\ContinuedFloat} +% with \package{subfig} and \package{caption}).} % \begin{macrocode} \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 % \end{macrocode} -% The |\cl@@ckpt| is macro which ``globalizes'' all counter. It is used by +% The |\cl@@ckpt| is macro which ``globalizes'' all counters. It is used by % \env{tabularx} environment. Here it is emptied during local creation of % caption box. % \changes{v0.1d}{2005/02/07}{Advanced redefinition of global recount % (for \env{tabularx} environment)} % \changes{v0.1f}{2005/06/14}{Added `gobbling' redefinition for -% \cmd{\sf@updatecaptionlist} macro (\pkg{subfig}).} +% \cmd{\sf@updatecaptionlist} macro (\package{subfig}).} % \begin{macrocode} \let\cl@@ckpt\empty\let\addtocounter\FR@loc@addcnt \def\sf@updatecaptionlist##1##2##3##4{}} @@ -5168,11 +6674,13 @@ % The macro for temporary redefinition for counting of caption width. % \changes{v0.1h}{2005/10/31}{The \cmd{\caption@lfmt} used instead of % \cmd{\fnum@}\cmd{\@captype}.} +% \changes{v0.1p}{2007/06/24}{Added \cmd{\relax} for compatibility with +% caption 3.1.} % \begin{macrocode} \def\FBtmp@cap#1[#2]#3{\sbox\@tempboxa % {\caption@@@make{\csname fnum@\@captype \endcsname}{#3}}% {\caption@@@make{\caption@lfmt{\@nameuse{\@captype name}}% - {\@nameuse{the\@captype}}}{#3}}% + {\@nameuse{the\@captype}}\relax}{#3}}% \global\@tempdimb\wd\@tempboxa} % \end{macrocode} % \end{macro} @@ -5183,7 +6691,7 @@ % This macro counts widths and heights of caption and % object boxes accordingly to \meta{width} and \meta{height} % arguments of |\floatbox| macro. -% \label{FBwidth} +% \label{code:FBwidth} % \begin{macrocode} \newcommand\FBget@box[3]{% % \end{macrocode} @@ -5324,7 +6832,7 @@ % \cmd{\refstepcounter}.} % \changes{v0.1h}{2005/10/30}{The \cmd{\refstepcounter} and % \cmd{\refsteponlycounter} localized (for \cmd{\ContinuedFloat} -% with \pkg{subfig}).} +% with \package{subfig}).} % \begin{macrocode} \ifx\FCwidth\relax \setbox1\vbox{\FR@loc@ @@ -5350,7 +6858,8 @@ % % There is na\u\i{}ve check of existence of |\FBwidth| and/or % |\FBheight| commands in optional arguments. I hope it could work -% unless you are manipulating with metre dimensions or set more than +% unless you are manipulating with metre dimensions (I hope you're not +% preparing a metre book!) or set more than % |5\FBwidth| (|5\FBheight|) in \meta{width} (\meta{height}) option. % \changes{v0.1f}{2005/06/14}{The \texttt{4}\cmd{\textwidth} changed % to absolute value.} @@ -5536,13 +7045,18 @@ % The start of main macro of object---caption box building. % % The preparation of optional arguments. +% \changes{v0.1k}{2007/05/24}{The option with settings for float +% box saved to temporary command} +% \changes{v0.1p}{2007/06/24}{Added \cmd{\floatbox@depth} counter for possible +% multilevel including box in box} % \begin{macrocode} \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][]}}%] % \end{macrocode} @@ -5551,7 +7065,7 @@ % Building object---caption box. % \begin{macrocode} \@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}% % \end{macrocode} % If object---caption stays alone here go @@ -5564,18 +7078,30 @@ % \changes{v0.1f}{2005/06/14}{The \cmd{\capstart} stuff loaded here.} % \begin{macrocode} \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 % \end{macrocode} +% \changes{v0.1k}{2007/05/24}{Put temporary command with option settings +% for float box} +% \begin{macrocode} + \FB@tmpset +% \end{macrocode} % Then load settings for beside captions, in the case we use this % layout---the beside caption could use a bit different layout. % \begin{macrocode} \FBifcapbeside\flrow@FClist\fi - \flrow@settype{tmpset}\global\let\flrow@typ@tmpset\undefined % \end{macrocode} % Restoring standard justified paragraph settings${{}+{}}$|\parindent\z@|. +% \changes{v0.1f}{2005/06/14}{Added zeroed \cmd{\leftmargin} and +% \cmd{\rightmargin} in the case +% of appearance inside list environment. Canceling \package{caption} +% of package calculations?} % \begin{macrocode} - \@parboxrestore\floatobjectset\floatfont + \@parboxrestore\leftmargin\z@\rightmargin\z@ + \floatobjectset\floatfont % \end{macrocode} % Here is called macro which counts widths and heights of caption % and object. Before it starts group to localize |\hsize| settings. @@ -5604,14 +7130,16 @@ % \changes{v0.1f}{2005/06/14}{The \cmd{\capstart} added as % b)~\cmd{\FBsetbox@obj} argument (in float row).} % \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}} +% \changes{v0.1k}{2007/05/24}{Added \cmd{\relax} for \cmd{\FBB@wd} to allow multilevel boxes} % \begin{macrocode} \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 % \global\FB@wd\hsize - \fi + \fi\advance\floatbox@depth\m@ne % \end{macrocode} % \changes{v0.1b}{2004/10/22}{Bug fix: grouping restored\ldots} % \changes{v0.1d}{2005/02/07}{\ldots for all cases.} @@ -5675,7 +7203,7 @@ % \end{macrocode} % The macro for storing float object in box in the same way as % in plain environment. There is added code for possible usage of -% \pkg{color} package and color boxes. +% \package{color} package and color boxes. % \begin{macrocode} \newcommand\FBsetbox@obj[1]{% \setbox\float@box\color@vbox\normalcolor @@ -5728,12 +7256,19 @@ % First go counter of floats in row, then the settings for float layout. % \changes{v0.1d}{2005/02/07}{Added vertical skips (\cmd{\FBaskip}, % \cmd{\FBbskip}) for layout fine tuning} +% \changes{v0.1k}{2007/01/18}{IF \cmd{\FBB@wd} still not defined, +% here it equals to \cmd{\hsize}} +% \changes{v0.2a}{2007/08/24}{Redefined boxes for building of above and below +% material} % \begin{macrocode} \newcommand\floatrow[1][2]{\setcounter{FRobj}{#1}\FB@facing \@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 % \end{macrocode} % Here starts trick with redefinition of |\hsize| inside float row. @@ -5754,14 +7289,50 @@ % Macro for float row end. % \begin{macrocode} \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}} % \end{macrocode} % \end{environment} % +% \begin{environment}{subfloatrow}\label{subfloatrow} +% Environment for placing beside subfloats. It is simpler than +% \env{floatrow}. First go counter of floats (here it is local) +% in row, then the settings for float layout. +% \changes{v0.2a}{2007/08/24}{The \cmd{\subfloatrow} moved in main package body} +% \begin{macrocode} +\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} +% \end{macrocode} +% Macro for sub float row end. +% \begin{macrocode} +\def\endsubfloatrow{\ifdim\lastskip>\z@\unskip\fi + \egroup\@ifundefined{adjustsubfloats}{}\adjustsubfloats + } +% \end{macrocode} +% \end{environment} +% +% The definition of subfloat separator. +% \begin{macrocode} +\newcommand\subfloatrowsep{\hskip\columnsep} +% \end{macrocode} +% +% The caption label only. Commented +% \begin{macrocode} +%\newcommand\captionlabel[1]{% +% \def\@makecaption##1##2{\hbox{\caption@@@make{##1}{##2}}}\caption{#1}} +% \end{macrocode} +% % \subsection{Aligning Float Boxes} % % \begin{macro}{\CenterFloatBoxes} @@ -5807,6 +7378,39 @@ % \end{macro} % \end{macro} % +% \begin{macro}{\newdimentocommand} +% \begin{macro}{\renewdimentocommand} +% \begin{macro}{\newskiptocommand} +% \begin{macro}{\renewskiptocommand} +% \begin{macro}{\newlengthtocommand} +% \begin{macro}{\renewlengthtocommand} +% \changes{v0.1p}{2007/06/24}{Added substitution commands for usage instead skip +% or dimension parameters.} +% These macros substitute usage of \LaTeX's macro |\newlength| and \TeX's +% macros |\newdimen| and |\newskip|. These commands are are placed as prefix +% before \LaTeX's commands |\settowidth|/\allowbreak|\settoheght|/\allowbreak +% |\settodepth|, |\setlength| and |\addtolength|. +% \begin{macrocode} +\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}} +% \end{macrocode} +% \begin{macrocode} +\providecommand\newlengthtocommand{\newskiptocommand} +\providecommand\renewlengthtocommand{\renewskiptocommand} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% % \begin{macrocode} % % \end{macrocode} @@ -5817,9 +7421,9 @@ % % \subsection{Float settings stuff} % -% \subsubsection{Definitions analogous to \pkg{caption}'s ones} +% \subsubsection{Definitions analogous to \package{caption}'s ones} % -% The next bundle of definitions follow \pkg{caption} package macros +% The next bundle of definitions follow \package{caption} package macros % to organize analogous mechanism of settings. % % \changes{v0.1f}{2005/06/14}{The macro \cmd{\flrow@ifinlist} @@ -5831,13 +7435,13 @@ \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'}% }}} % \end{macrocode} % \end{macro} % % \changes{v0.1f}{2005/06/14}{The macro \cmd{\l@addto@macro} -% deleted---it repeats \pkg{caption} package's definition.} +% deleted---it repeats \package{caption} package's definition.} % % \subsubsection{Defining Stuff for Float Layout Settings} % @@ -5855,13 +7459,26 @@ % \end{macrocode} % \end{macro} % +% \changes{v0.1k}{2007/01/20}{\cmd{\caption@setkeys[floatrow]} instead of +% \cmd{\setkeys} (AS).} % \begin{macro}{\flrow@setup} % \begin{macro}{\flrow@esetup} % \begin{macro}{\flrow@settype} % Macros analogous to |\caption@setup|, |\caption@esetup| and -% |\caption@settype|. -% \begin{macrocode} -\def\flrow@setup{\setkeys{floatrow}} +% |\caption@setoptions|. +% \begin{macrocode} +%\@ifundefined{caption@keydepth}{\@tempswatrue}{\@tempswafalse}% +%\if@tempswa +% \def\flrow@setup{\setkeys{floatrow}}% +% \@ifundefined{caption@setkeys}{}% +% {\let\flrow@caption@setkeys\caption@setkeys}% +% \def\caption@setkeys[#1]#2{\setkeys{#2}}% +% \AtEndOfPackage{\@ifundefined{flrow@caption@setkeys}{}% +% {\def\caption@setkeys\flrow@caption@setkeys +% \let\flrow@caption@setkeys\undefined}}% +%\else + \def\flrow@setup{\caption@setkeys[floatrow]{floatrow}} +%\fi \def\flrow@esetup#1{% \edef\FR@tmp{\noexpand\flrow@setup{#1}}\FR@tmp} \def\flrow@settype#1{\@ifundefined{flrow@typ@#1}{}% @@ -5879,17 +7496,18 @@ % \changes{v0.1f}{2005/06/14}{The \cmd{\caption@setposition} settings % moved here (AS).} % \begin{macrocode} -\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} % \end{macrocode} % \changes{v0.1f}{2005/06/14}{The \cmd{\@cap@setlist} redefined (AS).} -% The code of |\@cap@setlist| co-operated with \pkg{caption} package +% The code of |\@cap@setlist| co-operated with \package{caption} package % (code suggestions of Axel Sommerfeldt). % \begin{macrocode} -\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} % \end{macrocode} % This macro adds list of possible settings for beside captions. @@ -5903,7 +7521,7 @@ % \begin{macro}{\@nameundef} % \begin{macro}{\clearfloatsetup} % \changes{v0.1f}{2005/06/14}{The macro \cmd{\@nameundef} -% deleted---it repeats \pkg{caption} package's definition.} +% deleted---it repeats \package{caption} package's definition.} % Removes all settings for chosen type of float. % \begin{macrocode} \newcommand*\clearfloatsetup[1]{\@nameundef{flrow@typ@#1}} @@ -5911,16 +7529,6 @@ % \end{macro} % \end{macro} % -% \begin{macro}{\flrow@eh} -% The |\caption@eh|-analog. -% \begin{macrocode} -\newcommand\flrow@eh{% - If you do not understand this error, please take look\MessageBreak - at `floatrow' and `caption' package documentations.\MessageBreak - \@ehc} -% \end{macrocode} -% \end{macro} -% % \begin{macro}{\DeclareFROpt} % The |\DeclareCaptionOption|-analog.\\ % Since this command has internal usage (before end of package) it has @@ -5948,6 +7556,45 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{rawfloats} +% The default behavior of floats is like in \package{float}-like mode after +% |\restylefloat|. +% \changes{v0.1k}{2007/05/24}{Key for raw float mode added.} +% \begin{macrocode} +\let\FR@ifrawfloats\iffalse +% \end{macrocode} +% The boolean key which defines, whether floats run in plain \LaTeX{} mode. +% \begin{macrocode} +\DeclareFROpt*{rawfloats}[0]{\flrow@setbool{\FR@ifrawfloats}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{doublefloataswide} +% Starred environments work like non-starred with special |\floatsetup| settings. +% \begin{macrocode} +\let\FR@ifdoubleaswide\iffalse +% \end{macrocode} +% The boolean key which defines, whether starred non-rotated float in onecolumn +% layout work like non-starred one but with special |\floatsetup| settings +% for wide floats. +% \begin{macrocode} +\DeclareFROpt{doublefloataswide}[0]{\flrow@setbool{\FR@ifdoubleaswide}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{floatHaslist} +% The anchored float has list penalties around. If there are not blank line or +% |\par| command, next paragraph starts without indentation. +% \begin{macrocode} +\let\FR@iffloatHaslist\iffalse +% \end{macrocode} +% The boolean key which defines, whether anchored float +% uses the same penalties before and after environment as list environments. +% \begin{macrocode} +\DeclareFROpt{floatHaslist}[0]{\flrow@setbool{\FR@iffloatHaslist}{#1}} +% \end{macrocode} +% \end{macro} +% % \subsubsection{Declaring of float styles} % % \begin{macro}{\DeclareFloatStyle} @@ -5961,20 +7608,22 @@ \@onlypreamble\DeclareFloatStyle % \end{macrocode} % The definition of command which defines settings for new float style. -% \changes{v0.1f}{2005/06/14}{Added \cmd{\caption@settype} in definition +% \changes{v0.1f}{2005/06/14}{Added \cmd{\caption@setoptions} in definition % of \cmd{\flrow@capsetup} (AS).} +% \changes{v0.2a}{2007/08/24}{Added star to \cmd{\caption@setstyle} +% (AS).} % \begin{macrocode} \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}}} % \end{macrocode} -% Declarations of \pkg{float} package's emulating styles and new -% \pkg{floatrow} styles. +% Declarations of \package{float} package's emulating styles and new +% \package{floatrow} styles. % \changes{v0.1f}{2005/06/14}{The bottom caption position moved in % \cmd{\FBstyle@reset} as default.} % \begin{macrocode} @@ -5991,7 +7640,7 @@ framefit=yes,heightadjust=all,framearound=all} % \end{macrocode} % -% \begin{macro}{style=} +% \begin{macro}{style} % Declaring of key for float styles. % \begin{macrocode} \DeclareFROpt{style}{\flrow@setstyle{#1}} @@ -5999,13 +7648,13 @@ % \end{macro} % % The flag, which loads related caption style (if exists), to chosen float -% style. The \pkg{caption} 3.0 package defines only one related caption -% style to \pkg{float} package's style---\texttt{ruled}. +% style. The \package{caption} 3.0 package defines only one related caption +% style to \package{float} package's style---\texttt{ruled}. % \begin{macrocode} \let\FR@ifCST\iftrue % \end{macrocode} % \end{macro} -% \begin{macro}{relatedcapstyle=} +% \begin{macro}{relatedcapstyle} % The boolean key which defines, whether to use caption style, related % to chosen float style. % \begin{macrocode} @@ -6015,11 +7664,11 @@ % % \subsubsection{Defining Font} % -% \begin{macro}{font=} -% \begin{macro}{footfont=} +% \begin{macro}{font} +% \begin{macro}{footfont} % Fonts for object and |\floatfoot| contents. The settings of font for % |\floatfoot| use |\captionsetup| mechanism, so its name follows -% \pkg{caption} package's rules (|\captionfootfont|). +% \package{caption} package's rules (|\captionfootfont|). % \changes{v0.1f}{2005/06/14}{Removed \texttt{footfont} key.} % \changes{v0.1f}{2005/06/14}{Removed \cmd{\AtBeginDocument}'s check---the % \cmd{\captionsetup} is always known.} @@ -6041,8 +7690,8 @@ % % \begin{macro}{\captionfootfont} % Font for |\legend|-like command |\floatfoot|. This font is used inside -% macro which uses \pkg{caption} package mechanism, so the name of this -% font follows rules of font naming in \pkg{caption} package. +% macro which uses \package{caption} package mechanism, so the name of this +% font follows rules of font naming in \package{caption} package. % \begin{macrocode} \newcommand*\captionfootfont{\normalfont\footnotesize} % \end{macrocode} @@ -6067,21 +7716,26 @@ % |\flrow@setfont{|\meta{command}|}{|\meta{keyval-list of names}|}|. % \changes{v0.1f}{2005/06/14}{The code of \cmd{\flrow@setfont} uses % caption's key-val settings.} +% \changes{v0.1p}{2007/06/24}{Changed definition of \cmd{\flrowsetfont} +% for compatibility with caption (AS).} % \begin{macrocode} +%\newcommand*\flrow@setfont[2]{% +% \let\caption@tempa\@empty +% \begingroup\caption@setkeys[floatrow]{caption@fnt}{#2}\endgroup +% \expandafter\let\csname float#1\endcsname\caption@tempa} \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} % \end{macrocode} % \end{macro} % \changes{v0.1f}{2005/06/14}{\cmd{\DeclareFloatFont} bundle -% removed---\pkg{floatrow} package uses \file{caption3} settings.} +% removed---\package{floatrow} package uses \file{caption3} settings.} % % \subsubsection{Declaring of Caption Position} % -% \begin{macro}{capposition=} +% \begin{macro}{capposition} % Keys for defining caption position in float box. -% \changes{v0.1f}{2005/06/14}{Added \texttt{position=} key as analog name +% \changes{v0.1f}{2005/06/14}{Added \texttt{position} key as analog name % to the same key in \cmd{\captionsetup} stuff.} % \begin{macrocode} \DeclareFROpt{capposition}{\flrow@cappos{#1}} @@ -6099,7 +7753,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'}% }}}}} % \end{macrocode} % \end{macro} @@ -6140,10 +7794,11 @@ % \begin{macro}{\capbeside} % \begin{macro}{\nocapbeside} % There is flag and commands for printing caption and object beside. +% \changes{v0.2a}{2007/08/24}{Removed \cmd{\global}.} % \begin{macrocode} \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} % \end{macrocode} % \end{macro} % \end{macro} @@ -6151,7 +7806,7 @@ % % \subsubsection{Defining for Beside Captions} % -% \begin{macro}{capbesideframe=} +% \begin{macro}{capbesideframe} % This boolean key declares whether near beside caption stays framed % object. % \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapframe} key.} @@ -6160,7 +7815,7 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{capbesidewidth=} +% \begin{macro}{capbesidewidth} % This key defines width of beside caption. % \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapwidth} key.} % \changes{v0.1f}{2005/06/14}{Bug fix: the \cmd{\FCwidth} command defined @@ -6171,12 +7826,12 @@ \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}}} % \end{macrocode} % \end{macro} % -% \begin{macro}{capbesideposition=} +% \begin{macro}{capbesideposition} % Declares position of beside caption in document. % \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapposition} key.} % \begin{macrocode} @@ -6194,7 +7849,7 @@ \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 % \end{macrocode} @@ -6228,7 +7883,7 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{footposition=} +% \begin{macro}{footposition} % Keys for defining foot text position. % \begin{macrocode} \DeclareFROpt{footposition}{\flrow@ftpos{#1}} @@ -6244,7 +7899,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 % \end{macrocode} @@ -6258,7 +7913,7 @@ % \end{macro} % \end{macro} % -% \begin{macro}{heightadjust=} +% \begin{macro}{heightadjust} % Keys for vertical adjustment and alignment. % \begin{macrocode} \DeclareFROpt{heightadjust}{\flrow@htadj{#1}} @@ -6274,7 +7929,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 % \end{macrocode} @@ -6301,7 +7956,7 @@ % \end{macro} % \end{macro} % -% \begin{macro}{valign=} +% \begin{macro}{valign} % Keys for vertical alignment. % \begin{macrocode} \DeclareFROpt{valign}{\@FB@vpos{#1}} @@ -6323,7 +7978,7 @@ % % \subsubsection{Facing Pages} % -% \begin{macro}{facing=} +% \begin{macro}{facing} % Defines, if necessary, flag for facing pages. % \begin{macrocode} \DeclareFROpt{facing}[1]{\flrow@setbool{\FBiffacing}{#1}} @@ -6342,7 +7997,7 @@ % % \subsubsection{Float Box and Float Object Settings} % -% \begin{macro}{margins=} +% \begin{macro}{margins} % \begin{macro}{\flrow@FBAlign} % Declaring of option for |\floatbox| alignment and margins material. % \changes{v0.1f}{2005/06/14}{Removed \texttt{floatmarginsset} key.} @@ -6353,7 +8008,7 @@ % \begin{macrocode} \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}}} % \end{macrocode} % \end{macro} @@ -6371,7 +8026,7 @@ % % Declaring of float box alignment. % \changes{v0.1g}{2005/07/15}{Added settings for \cmd{\LTleft} and -% \cmd{\LTright} commands from \pkg{longtable} package.} +% \cmd{\LTright} commands from \package{longtable} package.} % \begin{macrocode} \newskip\LTleft\newskip\LTright \DeclareMarginSet{centering}{\setfloatmargins{\hfill}{\hfill}% @@ -6451,8 +8106,8 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{objectset=} -% \begin{macro}{justification=} +% \begin{macro}{objectset} +% \begin{macro}{justification} % Declaring of option for float object contents' alignment. % \changes{v0.1f}{2005/06/14}{Added key \texttt{justification} % as analog to \cmd{\captionsetup} stuff.} @@ -6475,7 +8130,7 @@ % \end{macrocode} % \end{macro} % \changes{v0.1f}{2005/06/14}{\cmd{\DeclareObjectSet} bundle -% removed---\pkg{floatrow} +% removed---\package{floatrow} % package uses \file{caption} settings.} % % \begin{macro}{\flrow@FBoAlign} @@ -6486,7 +8141,7 @@ % \begin{macrocode} \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}} % \end{macrocode} @@ -6503,7 +8158,7 @@ % % \subsubsection{Defining Float Width} % -% \begin{macro}{floatwidth=} +% \begin{macro}{floatwidth} % The float width settings mainly for plain float environments. % \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapsep} key.} % \begin{macrocode} @@ -6522,24 +8177,28 @@ % \end{macro} % \end{macro} % \begin{macro}{\flrow@FBo@wd} -% \changes{v0.1f}{2005/06/14}{Macro uses \pkg{caption} macros.} +% \changes{v0.1f}{2005/06/14}{Macro uses \package{caption} macros.} % \begin{macrocode} \newcommand\flrow@FBo@wd[1]{% - \caption@ifinlist{#1}{sidefil}{\filFCOhsize + \caption@ifinlist{#1}{none,sidefil}{\filFCOhsize }{\nofilFCOhsize\def\flrow@setwd{\@tempdima=#1}}} % \end{macrocode} % \end{macro} % % \subsubsection{Defining Float Separators} % -% \begin{macro}{floatrowsep=} -% \begin{macro}{capbesidesep=} +% \begin{macro}{floatrowsep} +% \begin{macro}{capbesidesep} % Option |floatrowsep| sets separations for beside float boxes % in float row. % \changes{v0.1f}{2005/06/14}{Removed \texttt{besidecapsep} key.} % \begin{macrocode} \DeclareFROpt{floatrowsep}{\flrow@setFRsep\floatrowsep{#1}} % \end{macrocode} +% Option |subfloatrowsep| sets separations for beside captions. +% \begin{macrocode} +\DeclareFROpt{subfloatrowsep}{\flrow@setFRsep\subfloatrowsep{#1}} +% \end{macrocode} % Option |capbesidesep| sets separations for beside captions. % \begin{macrocode} \DeclareFROpt{capbesidesep}{\flrow@setFRsep\floatcapbesidesep{#1}} @@ -6566,16 +8225,16 @@ % The |\caption@setlabelseparator|-analog.\\ % Command which defines settings for separators in float row, and % between beside caption and float object. -% \changes{v0.1f}{2005/06/14}{Macro uses \pkg{caption} macros.} +% \changes{v0.1f}{2005/06/14}{Macro uses \package{caption} macros.} % \begin{macrocode} \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}} % \end{macrocode} % A few options define possible separators. % \changes{v0.1f}{2005/06/14}{The \texttt{quad} and \texttt{none} -% deleted (repeated from \pkg{caption}).} +% deleted (repeated from \package{caption}).} % \begin{macrocode} \DeclareFloatSeparators{columnsep}{\hskip\columnsep} %\DeclareFloatSeparators{quad}{\quad} @@ -6601,11 +8260,11 @@ % % \subsubsection{Defining Float Rules/Skips} % -% \begin{macro}{precode=} -% \begin{macro}{rowprecode=} -% \begin{macro}{midcode=} -% \begin{macro}{postcode=} -% \begin{macro}{rowpostcode=} +% \begin{macro}{precode} +% \begin{macro}{rowprecode} +% \begin{macro}{midcode} +% \begin{macro}{postcode} +% \begin{macro}{rowpostcode} % Keys for building of float style (rules). % \changes{v0.1f}{2005/06/14}{Removed \texttt{Precode} and % \texttt{Postcode} keys.} @@ -6643,7 +8302,7 @@ % \begin{macrocode} \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}} % \end{macrocode} @@ -6651,7 +8310,7 @@ % \begin{macrocode} \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}} % \end{macrocode} @@ -6659,7 +8318,7 @@ % \begin{macrocode} \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}} % \end{macrocode} % \end{macro} @@ -6669,9 +8328,9 @@ % Declared options for keys for building of float style (rules). % \begin{macrocode} \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} % \end{macrocode} % @@ -6683,12 +8342,13 @@ % Reset of all used layout settings. % \changes{v0.1f}{2005/06/14}{Added \cmd{\captop} macro as default caption % position.} +% \changes{v0.2a}{2007/08/24}{Removed \cmd{\gdef}.} % \begin{macrocode} \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} @@ -6703,7 +8363,7 @@ % % Keys for building of float style (boxes). % -% \begin{macro}{framestyle=} +% \begin{macro}{framestyle} % This key defines style of frame. % \begin{macrocode} \DeclareFROpt{framestyle}{\@ifundefined{FB@#1@frame}% @@ -6711,7 +8371,7 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{framearound=} +% \begin{macro}{framearound} % This key defines object to be framed. % \begin{macrocode} \DeclareFROpt{framearound}{\flrow@fr@round{#1}} @@ -6719,8 +8379,8 @@ % \end{macro} % % \begin{macro}{\flrow@fr@round} -% Command for \texttt{framearound=}. -% \changes{v0.1f}{2005/06/14}{Macro uses \pkg{caption} macro +% Command for \texttt{framearound}. +% \changes{v0.1f}{2005/06/14}{Macro uses \package{caption} macro % \cmd{\caption@ifinlist}.} % \begin{macrocode} \newcommand*\flrow@fr@round[1]{% @@ -6729,13 +8389,13 @@ }{\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'}% }}}} % \end{macrocode} % \end{macro} % -% \begin{macro}{framefit=} -% \begin{macro}{frameset=} +% \begin{macro}{framefit} +% \begin{macro}{frameset} % This boolean key defines whether frame size fits to current |\hsize|. % \changes{v0.1f}{2005/06/14}{Removed \texttt{framereduce} key.} % \begin{macrocode} @@ -6800,13 +8460,13 @@ % % \subsubsection{Defining Float Skips} % -% \begin{macro}{captionskip=} -% \begin{macro}{footskip=} +% \begin{macro}{captionskip} +% \begin{macro}{footskip} % The following options define skips: first---between float object and % caption (if it used in float style); second---before foot material % (footnote or other foot text). % \changes{v0.1f}{2005/06/14}{Defining also standard \cmd{\abovecaptionskip} -% for compatibility with \pkg{caption}'s \cmd{\captionof}.} +% for compatibility with \package{caption}'s \cmd{\captionof}.} % \begin{macrocode} \DeclareFROpt{captionskip}{\def\captionskip{#1}% \setlength\abovecaptionskip{#1}} @@ -6832,7 +8492,7 @@ % % \subsubsection{Defining Float Footnote Rule} % -% \begin{macro}{footnoterule=} +% \begin{macro}{footnoterule} % \begin{macro}{\flrow@footrule} % The definitions of |\footnoterule| inside float environment. % This macro is allowed only in preamble. @@ -6842,7 +8502,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}} @@ -6906,28 +8566,34 @@ \@onlypreamble\DeclareFNOpt % \end{macrocode} % \begin{macrocode} -\newcommand\flnew@setdefault{\setkeys{newfloat} +\newcommand\flnew@setdefault{\caption@setkeys[floatrow]{newfloat} {placement=tbp,fileext=lox}} % \end{macrocode} % The |\newtoks| for defining of float environments (using % |\flrow@restyle| command) at the end of preamble. (Took a leaf with -% settings for lists of floats from \pkg{float} package's book.) +% settings for lists of floats from \package{float} package's book.) +% \changes{v0.1p}{2007/06/24}{Double code with \texttt{ftype@}\meta{captype} +% deleted.} +% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to +% \cs{}\meta{floatname}\texttt{name} macros redefined locally.} +% \changes{v0.2a}{2007/08/24}{Corrected bug with \texttt{ftype@} definition (AS).} % \begin{macrocode} \@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}}} +% \expandafter\edef\csname ftype@#1\endcsname{\value{float@type}}% +% \addtocounter{float@type}{\value{float@type}} + } \@onlypreamble\DeclareNewFloatType % \end{macrocode} % Key for placement defining. @@ -6939,175 +8605,47 @@ % \end{macrocode} % Key for float label name defining. % This macro is allowed only in preamble. +% \changes{v0.1p}{2007/06/24}{The \cmd{\fname@}\meta{floatname} changed to +% \cs{}\meta{floatname}\texttt{name} macros redefined locally.} % \begin{macrocode} \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 % \end{macrocode} % Key for extension of ``toc''-file. % This macro is allowed only in preamble. % \begin{macrocode} -\DeclareFNOpt*{fileext}{\flnew@ext{#1}} -\newcommand\flnew@ext[1]{\@namedef{ext@\FB@captype}{#1}% - \let\float@do=\relax - \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#1}}}% - \@tempa} -\@onlypreamble\flnew@ext -% \end{macrocode} -% The section of document which resets numbering of float. -% This macro is allowed only in preamble. -% \begin{macrocode} -\DeclareFNOpt*{within}{\flnew@within{#1}} -\newcommand\flnew@within[1]{\@addtoreset{\FB@captype}{#1}% - \expandafter\edef\csname the\FB@captype\endcsname{% - \expandafter\noexpand\csname - the#1\endcsname.\noexpand\arabic{\FB@captype}}} -\@onlypreamble\flnew@within -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{relatedcapstyle} -% The flag whether to use related caption style to float layout. -% \begin{macrocode} -\DeclareFNOpt*{relatedcapstyle}[0]{\flrow@setbool{\FR@ifCST}{#1}} -% \end{macrocode} -% \end{macro} -% -% \subsection{Building Subfloatrow} -% -% \begin{macrocode} -%<*frforsubfig> -% \end{macrocode} -% \changes{v0.1f}{2005/06/14}{The subfloatrow support became a part of a -% \pkg{floatrow} package.} -% At first defined dimension for maximal height of subcaption. Then macro -% for defining height of subcaption box. -% \begin{macrocode} -\newlength\FBsc@max -\newlength\FBso@max -\@ifdefinable\FBsubcheight{\let\FBsubcheight\relax} -\@ifdefinable\FBsuboheight{\let\FBsuboheight\relax} -% \end{macrocode} -% -% \begin{macro}{\adjustsubfloats} -% The user command which loaded at the end of row of subcaptions. -% \changes{v0.1f}{2005/06/14}{Removed \cmd{\FB@subfloat} and -% \cmd{\FB@subcaption} definitions: the code for \env{subfloatrow} -% support placed in \pkg{subfig}'s definitions.} -% \changes{v0.1f}{2005/06/14}{The \cmd{\xdef} changed to local -% \cmd{\edef}.} -% \begin{macrocode} -\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@} -% \end{macrocode} -% \end{macro} -% -% \begin{environment}{subfloatrow}\label{subfloatrow} -% Environment for placing beside subfloats. It is simpler than -% \env{floatrow}. First go counter of floats (here it is local) -% in row, then the settings for float layout. -% \begin{macrocode} -\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} -% \end{macrocode} -% Macro for sub float row end. -% \begin{macrocode} -\def\endsubfloatrow{\ifdim\lastskip>\z@\unskip\fi - \egroup\adjustsubfloats} -% \end{macrocode} -% \end{environment} -% -% The definition of subfloat separator. -% \begin{macrocode} -\newcommand\subfloatrowsep{\hskip\columnsep} -\DeclareFROpt{subfloatrowsep}{\flrow@setFRsep\subfloatrowsep{#1}} -% \end{macrocode} -% -% \begin{macrocode} -% -% \end{macrocode} -% -% \begin{macrocode} -%<*frforlongtbl> -% \end{macrocode} -% -% \subsection{Support for \pkg{longtable} Package} -% -% \changes{v0.1g}{2005/07/15}{The \pkg{longtable} support moved inside -% \pkg{floatrow} package.} -% To follow layout for tables which need size of caption equal to width -% of table, here added a code which catches width of table from -% \file{aux}-file and sets to |\LTcapwidth| parameter (great thanks -% A. Sommerfeldt for compact code created as patch of |\LT@array| command). -% -% At first we save macro |\LT@array| under name |\flrow@LT@array|. -% Then start redefinition. -% \begin{macrocode} -\AtBeginDocument{\@ifundefined{LT@array}{}{\let\flrow@oriLT@array\LT@array - \let\LT@array\flrow@LT@array}} -\newcommand\flrow@LT@array{% -% \end{macrocode} -% Here are added settings for table font (similar to other table -% environments). -% \changes{v0.1j}{2006/07/24}{The \cmd{\belowcaptionskip} is set -% equal to \cmd{\captionskip}.} -% \begin{macrocode} - \flrow@setlist{{table}{longtable}}\normalfont\floatfont - \belowcaptionskip\captionskip -% \end{macrocode} -% Here goes safe and redefinition of |\LT@make@row| macro in the way -% of managing of counting of table width. -% \begin{macrocode} - \FBifLTcapwidth - \let\flrow@LT@make@row\LT@make@row - \def\LT@make@row{% - \let\LT@make@row\flrow@LT@make@row - \LT@make@row -% \end{macrocode} -% The |\LT@entry| here used for width calculation. -% \begin{macrocode} - \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 -% \end{macrocode} -% At last goes \pkg{longtable}'s macro itself. -% \begin{macrocode} - \flrow@oriLT@array} +\DeclareFNOpt*{fileext}{\flnew@ext{#1}} +\newcommand\flnew@ext[1]{\@namedef{ext@\FB@captype}{#1}% + \let\float@do=\relax + \xdef\@tempa{\noexpand\float@exts{\the\float@exts \float@do{#1}}}% + \@tempa} +\@onlypreamble\flnew@ext % \end{macrocode} -% -% The definition of subfloat separator. +% The section of document which resets numbering of float. +% This macro is allowed only in preamble. % \begin{macrocode} -\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}}} +\DeclareFNOpt*{within}{\flnew@within{#1}} +\newcommand\flnew@within[1]{\@addtoreset{\FB@captype}{#1}% + \expandafter\edef\csname the\FB@captype\endcsname{% + \expandafter\noexpand\csname + the#1\endcsname.\noexpand\arabic{\FB@captype}}} +\@onlypreamble\flnew@within % \end{macrocode} +% \end{macro} % +% \begin{macro}{relatedcapstyle} +% The flag whether to use related caption style to float layout. % \begin{macrocode} -% +\DeclareFNOpt*{relatedcapstyle}[0]{\flrow@setbool{\FR@ifCST}{#1}} % \end{macrocode} +% \end{macro} % % \subsubsection{Processing of floatsetup options} % % \begin{macro}{\ProcessOptionsWithKV} % As in caption style options are processed with usage of the -% \pkg{keyval} package. +% \package{keyval} package. % \changes{v0.1j}{2006/02/24}{Edited by suggestions of A.Sommerfeldt} % \begin{macrocode} \def\ProcessOptionsWithKV#1{% @@ -7150,7 +8688,7 @@ }% }% \edef\FR@tmp{% - \noexpand\setkeys{#1}{% + \noexpand\caption@setkeys[floatrow]{#1}{% \FR@tmp\@ptionlist{\@currname.\@currext}% }% }% @@ -7161,15 +8699,24 @@ \FR@iffancy\RequirePackage{fr-fancy}\fi \let\ProcessOptionsWithKV\undefined % \end{macrocode} +% \end{macro} +% % At beginning of document there are loaded macros |\flrow@restyle| % for table and figure floats. (Any new float type gets this command % when |\newfloat| macro of |\DeclareNewFloatType| are used.) +% \changes{v0.1k}{2007/05/24}{The support for raw float mode added.} % \begin{macrocode} -\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={}} % \end{macrocode} -% \end{macro} % % \begin{macrocode} % @@ -7178,13 +8725,13 @@ % \changes{v0.1f}{2005/06/14}{The support for non-caption usage deleted.} % \changes{v0.1f}{2005/06/14}{The support for obsolete macros deleted.} % -% \subsection{Additional Definitions for Fancy Frames} -% % \begin{macrocode} %<*frfancy> \RequirePackage{fancybox} % \end{macrocode} % +% \subsection{Additional Definitions for Fancy Frames} +% % \subsection{Macros for Color Frame} % % \begin{macro}{\FB@colorbox@frame} @@ -7217,12 +8764,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}}} % \end{macrocode} % @@ -7269,7 +8816,7 @@ % \begin{macro}{\FB@wshadowbox@adj} % \begin{macro}{\FB@wshadowbox@reset} % The definition for frame \texttt{wshadowbox}---similar to -% \texttt{shadowbox} from \pkg{fancybox}. +% \texttt{shadowbox} from \package{fancybox}. % First macro is the definition of frame style (here is |\wshadowbox|); % second defines compensating material to get frame fitted to current % |\hsize|; third defines default values of compensating material. @@ -7347,6 +8894,13 @@ % % \end{macrocode} % +% +% +% +% \begin{macrocode} +%<*floatpagestyle> +% \end{macrocode} +% % \subsection{Empty Floating page} % % Here goes small sneaky-tricky style to put desired page style @@ -7356,7 +8910,6 @@ % First goes macro which defines desired page style for page with % current float. % \begin{macrocode} -%<*floatpagestyle> \newcommand\floatpagestyle[1]{\@ifundefined{ps@#1}\undefinedpagestyle {\begingroup \let\thepage\relax\let\protect\@unexpandable@protect @@ -7409,13 +8962,16 @@ % % \end{macrocode} % +% +% +% % \begin{macrocode} %<*listpen> % \end{macrocode} % % \subsection{List Penalties Managing} % -% The package \pkg{listpen} is a beta-temp package, which +% The package \package{listpen} is a beta-temp package, which % offers commands |\allowprelistbreaks|, % |\allowpostlistbreaks| and |\allowitembreaks| which help % to manage page breaking at the beginning and the end of @@ -7430,7 +8986,7 @@ % These commands set penalties before lists, after lists and between items. % They set globally or inside group or (also list!) % environment\footnote{Look also at \cmd{\allowdisplaybreaks} -% macro from \pkg{amsmath} package.} penalties accordingly to digits +% macro from \package{amsmath} package.} penalties accordingly to digits % from |[-4]| (never break) to |[4]| (always break). The values of optional % argument in these commands analogous to values of optional arguments % in, e.g., |\pagebreak| command. The default value of all three commands @@ -7484,9 +9040,584 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\RestoreSpaces} +% \changes{v0.1b}{2007/05/24}{Adding definition of \cmd{\RestoreSpaces} command} +% A simple command to turn off |\if@nobreak| flag. +% \begin{macrocode} +\providecommand\RestoreSpaces{\@nobreakfalse} +% \end{macrocode} +% \end{macro} +% % \begin{macrocode} % % \end{macrocode} % +% +% +% +% \begin{macrocode} +%<*floatrow> +\AtBeginDocument{% +\@ifundefined{sf@@@subfloat}{\@tempswafalse}{\@tempswatrue} +\if@tempswa\RequirePackage{fr-subfig}\fi} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*frforsubfig> +% \end{macrocode} +% +% \subsection{Support for \package{subfig} Package} +% +% \changes{v0.2a}{2007/08/24}{Added compatibility check.} +% \begin{macrocode} +\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 +% \end{macrocode} +% +% \subsubsection{Building Subfloatrow} +% +% At first defined dimension for maximal height of subcaption. Then macro +% for defining height of subcaption box. +% \begin{macrocode} +\newlength\FBsc@max +\newlength\FBso@max +\@ifdefinable\FBsubcheight{\let\FBsubcheight\relax} +\@ifdefinable\FBsuboheight{\let\FBsuboheight\relax} +% \end{macrocode} +% +% \begin{macro}{\adjustsubfloats} +% The user command which loaded at the end of row of subcaptions. +% \changes{v0.1f}{2005/06/14}{Removed \cmd{\FB@subfloat} and +% \cmd{\FB@subcaption} definitions: the code for \env{subfloatrow} +% support placed in \package{subfig}'s definitions.} +% \changes{v0.1f}{2005/06/14}{The \cmd{\xdef} changed to local +% \cmd{\edef}.} +% \begin{macrocode} +\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@} +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Small Correction of \package{subfig} Macro} +% +% There is a \package{subfig}'s macro with corrections to put +% alone subfloat label. +% \begin{macrocode} +\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}% +% \end{macrocode} +% In the case of empty contents of subfloat all vertical spaces zeroed. +% subcaption label created like oneline |\vtop|. +% \begin{macrocode} + \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 +% \end{macrocode} +% In the case of empty contents there is used only first variant. +% \begin{macrocode} + \sf@ifpositiontop{% + \ifx \@empty#3\relax \else + \sf@subcaption{#1}{#2}{#3}% + \vskip\sf@capskip + \vskip\sf@captopadj + \fi\egroup +% \end{macrocode} +% In the case of empty contents the |\@tempboxa| box skipped . +% \begin{macrocode} + \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}% +% \end{macrocode} +% Here is the small correction: +% |\ifnum\c@FRobj>0| instead of |\ifnum\c@FRobj=0\else|. +% \begin{macrocode} + \ifnum\c@FRobj>0% bugfix + \subfloatrowsep + \fi}% + \ifmaincaptiontop\else + \global\advance\@nameuse{c@\@captype}\m@ne + \fi + \endgroup\ignorespaces} +% \end{macrocode} +% +% \subsubsection{Beside Labels for Subfloats} +% +% New key for beside caption of subfloat label. Beside label of subfloat +% always on the left side. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% Macro for beside float label. Labels always placed on the left side. +% \begin{macrocode} +\newcommand\sidesubfloat{% + \ifx\@captype\@undefined + \@latex@error{\noexpand\subfloat outside float}\@ehd + \expandafter\@gobble + \else + \expandafter\@firstofone + \fi + {\flrow@sidesubfloat}} +% \end{macrocode} +% +% \begin{macrocode} +\def\flrow@sidesubfloat{\flrow@SFBalign + \begingroup + \@ifundefined{caption@setfloattype}% + \caption@settype + \caption@setfloattype + \@captype +% \caption@setoptions\@captype + \sf@ifpositiontop{% + \maincaptiontoptrue + }{% + \maincaptiontopfalse + }% + \caption@setoptions{subfloat}% + \caption@setoptions{sub\@captype}% + \let\sf@oldlabel=\label + \let\label=\subfloat@label +% \end{macrocode} +% +% Next, a decision (based on the \texttt{\char`\\ ifmaincaptiontop} +% flag) is made of how to advance the float counter; then the +% sub-float counter is advanced and saved and a check is made if an +% optional argument is present (if not, one is supplied). +% +% \begin{macrocode} + \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]}} +% \end{macrocode} +% +% \begin{macrocode} +\long\def\flrow@@sidesubfloat[#1]{% + \@ifnextchar [% %] match left bracket + {\flrow@@@sidesubfloat{sub\@captype}[{#1}]}% + {\flrow@@@sidesubfloat{sub\@captype}[\@empty{#1}][{#1}]}} +% \end{macrocode} +% +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \subsubsection{Alone Labels for Subfloats} +% +% Macro for creation of subfloat label only. That could be useful +% for usage with \package{psfrag} package, placing labels inside +% \env{picture} environment, using in tabulars etc. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \begin{macrocode} +% +% \end{macrocode} +% +% +% +% +% \begin{macrocode} +%<*floatrow> +\AtBeginDocument{% +\@ifundefined{LT@array}{\@tempswafalse}{\@tempswatrue} +\if@tempswa\RequirePackage{fr-longtable}\fi} +% +% \end{macrocode} +% +% \begin{macrocode} +%<*forlongtable> +% \end{macrocode} +% +% \subsection{Support for \package{longtable} Package} +% +% First goes requirement of necessary packages. +% \begin{macrocode} +\RequirePackage{longtable}[2004/02/01] +%\RequirePackage{floatrow}[2007/05/24] +% \end{macrocode} +% +% \subsubsection{Caption Width Settings} +% +% \changes{v0.1g}{2005/07/15}{The \package{longtable} support moved inside +% \package{floatrow} package.} +% To follow layout for tables which need size of caption equal to width +% of table, here added a code which catches width of table from +% \file{aux}-file and sets to |\LTcapwidth| parameter (great thanks +% A.~Sommerfeldt for compact code created as patch of |\LT@array| command). +% +% At first we save macro |\LT@array| under name |\flrow@LT@array|. +% Then start redefinition. +% \begin{macrocode} +\let\flrow@oriLT@array\LT@array +\renewcommand\LT@array{% +% \end{macrocode} +% Here are added settings for table font (similar to other table +% environments). +% \changes{v0.1j}{2006/07/24}{The \cmd{\belowcaptionskip} is set +% equal to \cmd{\captionskip}.} +% \changes{v0.1p}{2006/07/24}{Definition for table foot +% material: \cmd{\floatfoot}.} +% \begin{macrocode} + \flrow@setlist{{table}{longtable}}\flrow@useLTcapwidth\normalfont\floatfont + \belowcaptionskip\captionskip +% \end{macrocode} +% Here goes safe and redefinition of |\LT@make@row| macro in the way +% of managing of counting of table width. +% \begin{macrocode} + \FBifLTcapwidth + {\let\flrow@LT@make@row\LT@make@row + \def\LT@make@row{% + \let\LT@make@row\flrow@LT@make@row + \LT@make@row +% \end{macrocode} +% The |\LT@entry| here used for width calculation. +% \begin{macrocode} + \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}% +% \end{macrocode} +% At last goes \package{longtable}'s macro itself. +% \begin{macrocode} + \flrow@oriLT@array} +% \end{macrocode} +% +% \begin{macrocode} +\providecommand\floatfont{} +\providecommand\floatfootskip{\skip\@mpfootins} +\providecommand\captionskip{10\p@} +\providecommand\floatfoot@box[1]{% +% \end{macrocode} +% The |\if@@FS| flag stored for \env{wrap...} environments. +% \changes{v0.1h}{2005/10/02}{Added setting for \cmd{\linewidth}} +% \begin{macrocode} +% \hsize\columnwidth\linewidth\columnwidth + \@parboxrestore\reset@font\color@begingroup +% \end{macrocode} +% Apply current float settings. +% \begin{macrocode} + \caption@setoptions{\@captype}% +% \end{macrocode} +% Apply floatfoot settings. +% \begin{macrocode} + \caption@setoptions{floatfoot}% +% \end{macrocode} +% No captionlabel. +% \changes{v0.1k}{2007/05/24}{Added settings for emptied caption label} +% \begin{macrocode} + \captionsetup{labelformat=empty,labelsep=none}% + \caption@@make{}{\FR@tmp#1\@finalstrut\strutbox}% + \color@endgroup} +% \end{macrocode} +% +% The definition of caption width for \env{longtable} environment. +% \begin{macrocode} +\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} +% \end{macrocode} +% +% \subsubsection{Additional Settings for Last Head and Pre-last Foot} +% +% The box for last head. Defined in the same way as analog macros in +% \package{longtable} package. +% \begin{macrocode} +\newbox\flrow@LT@lasthead +\newbox\flrow@LT@prelastfoot +% \end{macrocode} +% This counter register is used for checking of last longtable page. +% \begin{macrocode} +\newcounter{FBLTpage} +% \end{macrocode} +% +% This command defines number of pages in current longtable. +% In current version defined by hand for +% each table. The default number is~2. +% \begin{macrocode} +%\newcommand\LTlastpage{2} +% \end{macrocode} +% +% Storing of original definition of |\longtable| macro. +% In new definition was is added counting of longtable's pages +% with \texttt{FBLTpage} counter defined before. +% \begin{macrocode} +\@ifdefinable\FB@ori@longtable{\let\FB@ori@longtable\longtable} +\def\longtable{% + \setcounter{FBLTpage}\@ne + \FB@ori@longtable} +% \end{macrocode} +% +% Storing original definition of |\LT@ouput| macro. +% Here, in new definition, added increasing of \texttt{FBLTpage}. +% In the case of defined |\lasthead| contents and last page was +% checked, the contents of last head loaded. +% \begin{macrocode} +\@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 +% \end{macrocode} +% Switching on of the |\LT@prelastfoot| also needs the real value of +% |\flrow@LTlastpage| (why???). +% \begin{macrocode} + \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} +% \end{macrocode} +% +% The definition of last head box and foot of the page before last. +% They are defined in the same way as other commands in \package{longtable} +% package, like |\endlastfoot|. +% Here was used |\def| as for all |\end..| commands. I hope if \package{longtable} +% will use these synonyms it will use also synonyms for +% || and || box register commands at the very beginning of package. +% Use command names with the analogous names +% in the hope that their synonyms will appear in the ``host''-package +% and in this case current package stops interfere. +% \begin{macrocode} +\@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 +% \end{macrocode} +% +% Redefined |\endlongtable| command---added code which writes +% the number of pages of long table. +% \begin{macrocode} +\@ifdefinable\FB@ori@endlongtable{\let\FB@ori@endlongtable\endlongtable} +\def\endlongtable{% + \FB@ori@endlongtable +% \end{macrocode} +% Here is additional code. +% Why it is necessary to reduce counter of pages by~1? +% \begin{macrocode} + \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 + } +% \end{macrocode} +% \begin{macrocode} +% +% \end{macrocode} +% +% % \Finale \endinput diff --git a/Master/texmf-dist/source/latex/floatrow/floatrow.ins b/Master/texmf-dist/source/latex/floatrow/floatrow.ins index 532f02946dc..2c209bc6594 100644 --- a/Master/texmf-dist/source/latex/floatrow/floatrow.ins +++ b/Master/texmf-dist/source/latex/floatrow/floatrow.ins @@ -30,12 +30,14 @@ You are NOT ALLOWED to change this file. \askonceonly \keepsilent -%%%\askforoverwritefalse +%\askforoverwritefalse %%%\nopreamble \generate{ - \file{floatrow.sty}{\from{floatrow.dtx}{floatrow,frforsubfig,frforlongtbl,floatsetup}} + \file{floatrow.sty}{\from{floatrow.dtx}{floatrow,floatsetup}} \file{fr-fancy.sty}{\from{floatrow.dtx}{frfancy}} \file{floatpagestyle.sty}{\from{floatrow.dtx}{floatpagestyle}} \file{listpen.sty}{\from{floatrow.dtx}{listpen}} + \file{fr-longtable.sty}{\from{floatrow.dtx}{forlongtable}} + \file{fr-subfig.sty}{\from{floatrow.dtx}{frforsubfig}} } \endbatchfile 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