Otherwise space is wasted when program fragments are shown in floats.
%% Environment for setting programs. Newlines are explicit, because
%% otherwise I need comments in weird places to make the vertical spacing
%% come out properly. You can write `\obeylines' if you really want to.
-\def\prog{\let\prog@@cr\@tabcr\let\@tabcr\@progcr\codeface\quote\tabbing}
+\def\@prog{\let\prog@@cr\@tabcr\let\@tabcr\@progcr\codeface\tabbing}
+\def\prog{\quote\@prog}
\def\endprog{\endtabbing\endquote}
+\let\nprog\@prog
+\let\endnprog\endtabbing
\def\ind{\quad\=\+\kill}
\def\@progcr{\futurelet\@tempa\@progcr@i}
{\def\:{\gdef\@progcr@sp}\: {\@progcr}}
\begin{figure}[tbp]
\begin{tabular}{p{10pt}p{10pt}}
- \begin{prog}
+ \begin{nprog}
struct SodObject__ilayout \{ \\ \ind
union \{ \\ \ind
struct SodObject__ichain_obj \{ \\ \ind
\} obj; \- \\
\} obj; \- \\
\};
- \end{prog}
+ \end{nprog}
&
- \begin{prog}
+ \begin{nprog}
struct SodObject__vt_obj \{ \\ \ind
const SodClass *_class; \\
size_t _base; \- \\
\};
- \end{prog} \\
+ \end{nprog} \\
\end{tabular}
\caption{Instance and vtable layout of @|SodObject|}
\label{fig:structures.root.sodobject}