%frsample05 - sample
%sample with layout with usage of beside captions
\input pictures
\listfiles
\documentclass{book}

\usepackage{calc}
\usepackage{tabularx,array}
\usepackage{graphicx}

\IfFileExists{pstricks.sty}{\usepackage{pstricks}\psset{unit=1pt}}{}

\IfFileExists{fancyhdr.sty}{\RequirePackage{fancyhdr}\pagestyle{fancy}\fancyfoot{}
\fancyhead[LE]{\leavevmode\hspace*{-7cc}\def\arraystretch{1,2}\begin{tabular}{@{}l@{}}
  \rlap{\thepage}\hskip7cc\hbox to\textwidth{\slshape\leftmark\hfill}\strut\\\hline\end{tabular}}
\fancyhead[LO]{\leavevmode\hspace*{-7cc}\def\arraystretch{1.2}\begin{tabular}{@{}l@{}}
  \hskip7cc\hbox to\textwidth{\slshape\rightmark\quad\hfill\thepage}\strut\\\hline\end{tabular}}
\fancyhead[RE]{}\fancyhead[CE]{}
\fancyhead[RO]{}\fancyhead[CO]{}
\def\headrulewidth{0pt}}
{\pagestyle{plain}}

%load floatrow
\usepackage[font=small,captionskip=5pt,
   capbesideframe=yes]{floatrow}

%load caption
\usepackage[font=small,labelfont=bf,labelsep=period,
   justification=raggedright,singlelinecheck=no]{caption}[2004/11/28]

\DeclareMarginSet{hangleft}%
  {\setfloatmargins{\hskip-7cc}{\hfill}}

\DeclareFloatSeparators{cicero}{\hskip1cc}

\DeclareCaptionFormat{Hang}{\leftskip7cc\parindent0pt
  \noindent\llap{\hbox to\leftskip{#1#2\hfil}}#3\par}
\DeclareCaptionFormat{break}{#1#2\break#3}

\floatsetup[figure]{style=Boxed,
  capposition=beside,capbesidewidth=6cc,objectset=centering,
  capbesideposition=left,capbesidesep=cicero,
  floatwidth=\columnwidth,
  margins=hangleft}

\floatsetup[widefigure]{capposition=bottom}

\captionsetup[figure]{format=Hang,labelsep=none,justification=raggedright}
\captionsetup[capbesidefigure]%
   {format=default,labelsep=newline}

\DeclareNewFloatType{textbox}{fileext=lor,name=Text,placement=tp,within=chapter}

\DeclareMarginSet{capleft}%
  {\setfloatmargins{\hfill}{\hfill\hskip\FCwidth}}

\DeclareObjectSet{indent}{\raggedright\parindent15pt\parskip2pt}

\floatsetup[textbox]{style=Boxed,
  frameset={\fboxrule=1pt\fboxsep=12pt},
  capposition=beside,capbesideposition=left,
  floatwidth=6cm,capbesidewidth=4.5cc,
  capbesidesep=cicero,margins=capleft,
  objectset=indent}

\floatsetup[widetextbox]{capposition=bottom,
  floatwidth=\columnwidth,margins=raggedright}

\captionsetup[textbox]{justification=raggedright}
\captionsetup[capbesidetextbox]%
  {format=break,labelsep=none,justification=raggedleft}

\providecommand*{\pkg}[1]{\texttt{#1}}
\newfloatcommand{ttextbox}{textbox}
\providecommand*{\pkg}[1]{\texttt{#1}}
\providecommand*{\env}[1]{\texttt{#1}}
\providecommand*{\com}[1]{\texttt{\char`\\#1}}
\providecommand*{\meta}[1]{$\langle$\textit{#1}$\rangle$}
\setcounter{topnumber}{1}

\def\TEXTBOX{Here goes first line of text \text

There goes second line of text

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)}

\begin{sl}
This example shows floats in one-column document in facing layouts.

\emph{Common float settings}\\
Font for float contents \verb|\small|;
\com{captionskip} is defined as 5pt;
separation between beside float boxes equals to 2\,em;
flag for captions beside framed object is true (frames will be defined later).
\begin{verbatim}
\usepackage[font=small,captionskip=5pt,
   capbesideframe=yes]{floatrow}
\end{verbatim}

\emph{Common caption settings.}\\
For caption text used \verb|\small| font;
caption label font bold;
label separated by period sign;
justification left;
one-line captions have the same alignment as multiline ones.
\begin{verbatim}
\usepackage[font=small,labelfont=bf,labelsep=period,
   justification=raggedright,singlelinecheck=no]{caption}
\end{verbatim}

\emph{Special caption settings for current float types.}

\emph{Figure.}\\
Label hangs on the left margin without label separator; justification left.
In beside captions label is placed above caption text.
\begin{verbatim}
\DeclareCaptionFormat{Hang}{\leftskip7cc\parindent0pt
  \noindent\llap{\hbox to\leftskip{#1#2\hfil}}#3\par}
\captionsetup[figure]%
   {format=Hang,labelsep=none,justification=raggedright}
\captionsetup[capbesidefigure]%
   {format=default,labelsep=newline}
\end{verbatim}

\emph{Textbox.}\\
Justification left.
For beside captions used \texttt{break} style (the \texttt{labelsep=none} won't help here, because of
\verb|\newline| command adds a glue at the end of line); justification right.
\begin{verbatim}
\captionsetup[textbox]{justification=raggedright}
\DeclareCaptionFormat{break}{#1#2\break#3}
\captionsetup[capbesidetextbox]%
  {format=break,labelsep=none,justification=raggedleft}
\end{verbatim}

\emph{Special settings for float types.}

\emph{Figure.}\\
For figures is used \texttt{Boxed} style;
captions always beside object and have width of margin (with separation);
they always placed on the left margin and separated by 1~cicero space;
object contents centered;
the default width of float object equals to text width;
float margins hang to the left by 7~cicero.

The wide figures (starred environment) put captions below object
\begin{verbatim}
\DeclareMarginSet{hangleft}%
  {\setfloatmargins{\hskip-7cc}{\hfill}}
\floatsetup[figure]{style=Boxed,
  capposition=beside,capbesidewidth=6cc,objectset=centering,
  capbesideposition=left,capbesidesep=cicero,
  floatwidth=\columnwidth,
  margins=hangleft}

\floatsetup[widefigure]{capposition=bottom}
\end{verbatim}

\emph{Textbox.}\\
The new float \env{textbox} uses corrected \texttt{Boxed} style;
caption always stays beside float object---on the left side;
the default width of float object 6 centimeters;
the default width of caption 4.5~cicero;
caption separated from objects by 1~cicero;
margins use settings which center float object;
object contents flushed to left margins;
\verb|\parindent|${{}=15}$\,pt, \verb|\parskip|${{}=2}$\,pt.

For wide text boxes caption placed below float object;
the default object width equals to text width;
float box alignment left.
\begin{verbatim}
\DeclareMarginSet{capleft}%
  {\setfloatmargins{\hfill}{\hfill\hskip\FCwidth}}

\DeclareObjectSet{indent}{\raggedright\parindent15pt\parskip2pt}

\floatsetup[textbox]{style=Boxed,
  frameset={\fboxrule=1pt\fboxsep=12pt},
  capposition=beside,capbesideposition=left,
  floatwidth=6cm,capbesidewidth=4.5cc,
  capbesidesep=cicero,margins=capleft,
  objectset=indent}

\floatsetup[widetextbox]{capposition=bottom,
  floatwidth=\columnwidth,margins=raggedright}
\end{verbatim}

\end{sl}

\widowpenalty10000

\def\text{{\mdseries
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}}

\def\Text{{\mdseries
\text. \text. \text.  \text. \par \text. \text. \text.}}

\unitlength1.44pt
\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
\bfseries
\clearpage

Example of plain \env{figure} environment (figure~\ref{float:plain:fig}).
\begin{figure}
  {\unitlength.85\unitlength\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
  \input{BlackCat.picture}}%
  \caption{Plain figure}%
\label{float:plain:fig}%
\end{figure}%
\Text

\Text

Example of plain \env{textbox} environment (text~\ref{float:plain:text1}).
The width of object equals to 6\,cm.
\begin{textbox}
\TEXTBOX
\caption{Plain textbox without any settings}%
\label{float:plain:text1}%
\end{textbox}%
\Text

\Text

Example of plain \env{textbox} environment (text~\ref{float:plain:text2}) with defined width
\begin{verbatim}
\thisfloatsetup{floatwidth=8cm}
\end{verbatim}
This width is a bit more than \verb|\textwidth-2\captionwidth| value.

\thisfloatsetup{floatwidth=8cm}
\begin{textbox}
\TEXTBOX
\caption{Plain textbox. Width settings}%
\label{float:plain:text2}%
\end{textbox}%
\Text

\Text

Example of plain \env{textbox} environment (text~\ref{float:plain:text3}) with defined width
\begin{verbatim}
\thisfloatsetup{floatwidth=5cm}
\end{verbatim}
This width less than \verb|\textwidth-2\captionwidth| value.

\thisfloatsetup{floatwidth=5cm}
\begin{textbox}[!tb]
\TEXTBOX
\caption{Plain textbox. Width settings}%
\label{float:plain:text3}%
\end{textbox}%
\Text

Example of plain \env{figure} environment (figure~\ref{float:W:plain:fig2})
with predefined width${{}=5}$\,cm.
\begin{verbatim}
\thisfloatsetup{floatwidth=5cm}
\end{verbatim}
\thisfloatsetup{floatwidth=5cm}%floatrow
\begin{figure}
  {\unitlength.85\unitlength\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
  \input{BlackCat.picture}}%
  \caption{Plain figure with changed width}%
  \label{float:W:plain:fig2}%
\end{figure}%
\Text

\Text


Example of two-column or wide plain figure (see figure~\ref{float:wide:fig3}).
\begin{figure*}
  {\unitlength.85\unitlength\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
  \input{BlackCat.picture}}%
  \caption{%
Plain wide figure. \text}%
\label{float:wide:fig3}%
\end{figure*}%
\Text

\Text

\Text


Example of plain \env{figure} environment (figure~\ref{wfloat:W:plain:fig4})
with predefined width${{}=9}$\,cm.
\begin{verbatim}
\thisfloatsetup{floatwidth=9cm}
\end{verbatim}
The real width equals to 9\,cm${}+{}$margin width

\thisfloatsetup{floatwidth=9cm}
\begin{figure*}
  {\unitlength.85\unitlength\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
  \input{BlackCat.picture}}%
  \caption{Plain figure with changed width}%
\label{wfloat:W:plain:fig4}%
\end{figure*}%

\Text

Example of plain ``wide'' \env{textbox} environment with predefined width
(see text~\ref{float:prewide:text5}).
\begin{verbatim}
\thisfloatsetup{floatwidth=.7\textwidth}
\end{verbatim}

\thisfloatsetup{floatwidth=.7\textwidth}
\begin{textbox*}
  \TEXTBOX
  \caption{Plain wide textbox. Changed width}%
  \label{float:prewide:text5}%
\end{textbox*}%

\Text

Example of plain ``wide'' \env{textbox} environment
(see text~\ref{float:wide:text6}).
\begin{textbox*}[!tbp]
\TEXTBOX
  \caption{Plain wide textbox}%
\label{float:wide:text6}%
\end{textbox*}%

\Text

\Text

Example of figure placed in \verb|\fcapside| (\verb|\floatbox| stuff for usage of beside captions);
the width of float box equals  to the width of graphics
(see figure~\ref{floatbox:FB:fig7}).
\begin{figure}
\fcapside[\FBwidth]
  {\unitlength2.8\unitlength\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
  \input{TheCat.picture}}
  {\caption{%
Figure (\protect\com{ffigbox})
width of graphics}\label{floatbox:FB:fig7}}
\end{figure}%
\Text

\Text

Example of wide figure placed in \verb|\ffigbox| (\verb|\floatbox| stuff);
the width of float box equals  to the width of grahics
(see figure~\ref{floatbox:FB:fig8}).
\begin{figure*}
\ffigbox[\FBwidth]
  {\unitlength2.8\unitlength\ifx\pspicture\undefined\else\psset{unit=\unitlength}\fi
  \input{TheCat.picture}}
  {\caption{%
Wide figure (\protect\com{ffigbox})
width of graphics}\label{floatbox:FB:fig8}}
\end{figure*}%
\Text



\end{document}
