%%
%% The LaTeX Companion, 3ed
%%
%% Example 8-2-12 on page I-593 in "rotating --- Revisited".
%%
%% 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{207.0pt}
%StartShownPreambleCommands
\usepackage{bxeepic,graphicx}
\usepackage{array}
%StopShownPreambleCommands
\begin{document}
% this is a poor man's reimplementation of pspicture's \Vector command
% it is only enough to make the TLC code work that used this package in
% the previous edition
\def\Vector(#1,#2){%
\ifdim #1pt=0pt
\ifdim #2pt <0pt
\vector(0,-1){-#2}%
\else
\vector(0,1){#2}%
\fi
\else
\ifdim #1pt <0pt
\vector(#1,#2){-#1}%
\else
\vector(#1,#2){#1}%
\fi
\fi
}
\small
\setlength{\unitlength}{0.8mm} %FMi was 1mm
\begin{picture}(100,100)
%\graphpaper[5](0,0)(100,100)
\thicklines
\put(20,10){\framebox(50,80){}}
%% label points in bounding box
\put(20,10){\makebox(-1,-1)[tr]{\texttt{[lb]}}}
\put(20,35){\makebox(-1,-1)[tr]{\texttt{[lB]}}}
\put(20,35){\makebox(0,0){{\Large$\bullet$}}}
\put(20,51){\makebox(-1,+2)[br]{\texttt{[lc]} or \texttt{[l]}}}
\put(20,91){\makebox(-1,+2)[br]{\texttt{[lt]}}}
\put(45,10){\makebox(0,-1)[tc]{\texttt{[cb]} or \texttt{[b]}}}
\put(45,35){\makebox(0,-1)[tl]{\texttt{[cB]} or \texttt{[B]}}}
\put(45,51){\makebox(0,+3)[bl]{\texttt{[c]}}}
\put(45,50){\makebox(0,0){{\Large$\diamond$}}}
\put(45,91){\makebox(0,+9)[bc]{\texttt{[ct]} or \texttt{[t]}}}
\put(70,10){\makebox(1,-1)[tl]{\texttt{[rb]}}}
\put(70,35){\makebox(1,-1)[tl]{\texttt{[rB]}}}
\put(70,51){\makebox(1,+2)[bl]{\texttt{[rc]} or \texttt{[r]}}}
\put(70,91){\makebox(1,+2)[bl]{\texttt{[rt]}}}
\thinlines
%% centerlines
\dashline[+30]{3}(20,50)(70,50)
\dashline[+30]{3}(45,10)(45,90)
%% baseline
\dottedline{1}(20,35)(85,35)
%% material for vertical dimensions
\dottedline{1}(70,10)(92,10) % bottom extension to right
\dottedline{1}(70,90)(92,90) % top extension to right
\put(79,60){\Vector(0,-25)}
\put(79,65){\Vector(0,25)}
\put(79,62.5){\makebox(0,0){\texttt{height}}}
\put(79,20){\Vector(0,-10)}
\put(79,25){\Vector(0,10)}
\put(79,22.5){\makebox(0,0){\texttt{depth}}}
\put(91,44){\Vector(0,-34)}
\put(91,48){\Vector(0,42)}
\put(91,46){\makebox(0,0){\texttt{ totalheight}}}
%% material for horizontal dimension
\dottedline{1}(20,10)(20,2)
\dottedline{1}(70,10)(70,2)
\put(35,4){\Vector(-15,0)}
\put(55,4){\Vector(15,0)}
\put(45,4){\makebox(0,0){\texttt{width}}}
%% material for labeling center and reference points
\put(52.5,46){\Vector(-6,3.5)}
\put(52.5,45){\makebox(0,0)[tc]{\shortstack{center\\point}}}
\put(10,40){\Vector(9,-4)}
\put(10,40){\makebox(0,0)[bc]{\shortstack{reference\\point}}}
%% material for labels of axes and baseline
\put(32.5,60){\Vector(5,-9)}
\put(32.5,65){\Vector(12.,9)}
\put(32.5,61){\makebox(0,0)[bc]{centerline}}
\put(32.5,25){\Vector(5,9)}
\put(32.5,24){\makebox(0,0)[tc]{baseline}}
\end{picture}
\end{document}