%%
%% The LaTeX Companion, 3ed
%%
%% Example 7-5-2 on page I-563 in "hvfloat --- Sophisticated caption placement control and more".
%%
%% Copyright (C) 2022 Frank Mittelbach
%%
%% It may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3c
%% of this license or (at your option) any later version.
%%
%% See https://www.latex-project.org/lppl.txt for details.
%%

\documentclass{tlc3exa}
\pagestyle{empty}
\setcounter{page}{6}
\setlength\textwidth{171.0pt}

 \addtolength\textwidth{-30pt}        % cannot have large margins in example
 \setlength\marginparwidth{20pt}

 \setlength\textfloatsep{12pt}        % shorten separation for example

%StartShownPreambleCommands
\usepackage{lipsum,hvfloat}
\hvFloatSet{floatPos=tbp,capPos=outer,
           capVPos=bottom,floatCapSep=18pt}
%StopShownPreambleCommands

\begin{document}
\lipsum[1][1] \par
\hvFloat[capWidth=.5]{figure}
 {\includegraphics[scale=.7]{cat}}
 {A cat}{fig:cat}
\hvFloat[wide,capPos=right]{figure}
 {\includegraphics{cat} \includegraphics{cat}}
 {Two cats protruding into the margin}{fig:2cats}
\end{document}