The subfloat package^{∗}

Harald Harders

                   h.harders@tu-bs.de

File Date 2003/08/21, Printed September 25, 2003

Abstract This package enables subnumbering of floats (figures and tables) similar to the subequations environment of the amsmath package. It does not the same as the subfigure package which generates subfigures within one normal figure.

Contents

1 Introduction 2 2 The user interface 2

2.1 Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Examples 3 3.1 Using the environments . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Using the macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

4 Change the label format 5 5 Count subfloats 6 6 Command reference 7 7 The implementation 8

7.1 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.3 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

∗This file has version 2.14 last revised 2003/08/21, documentation dated 2003/08/21.

Copyright

Copyright 1999, 2002 Harald Harders.

This program can be redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either version 1 of the License, or any later version.

1 Introduction

Sometimes two or more floats (figures or tables) belong together in a way you should not use different caption numbers for them. With a subnumbering like that of the amsmath package for equations it is possible to point out the connection of the floats. This package provides two environments and four macros to achive subnumbering of floats. It is possible to change the caption labels.

In case of problems or bugs please send an email to my address printed on the title page.

2 The user interface

To use this package place

 \usepackage{subfloat}

in the preamble of your document. No options are necessary.

If you want to be able to count the number of subfloats with the same main number you have to add the package option countmax:

 \usepackage[countmax]{subfloat}

For more description to counting see section 5.

2.1 Environments

subfigures Put
 \begin{subfigures}
 \end{subfigures}

around the figures which belong together. By default, they get the same figure

subtables number with an increasing lowercase character added. In the same way you can put

 \begin{subtables}
 \end{subtables}

around tables. The macros for the environments have to be placed outside the picture or table environments.

fig. 1

Figure 1a: This is the first figure

2.2 Macros

\subfiguresbegin Instead using of the environments it is possible to use adequate macros:

\subfiguresend
 \subfiguresbegin
 \subfiguresend

\subtablesbegin or
\subtablesend
 \subtablesbegin
 \subtablesend

Put these macros in place of the environment macros. The macros are necessary to be able to nest subnumbered figures and tables.

If you put labels inside the figure and table environments the subfloat label numberes are referenced. If you want a reference to the common figure or table

number place a label right after the \begin{subfigures}, \subfiguresbegin,
\begin{subtables}, or \subtablesbegin command.

3 Examples

3.1 Using the environments

subfigures The code
 \begin{subfigures}
 \label{fig:fig1a2}
 %
 \begin{figure}\centering
   \fbox{fig. 1}
   \caption{This is the first figure}\label{fig:fig1}
 \end{figure}
 %
 \begin{figure}\centering
   \fbox{fig. 2}
   \caption{This is the second figure}\label{fig:fig2}
 \end{figure}
 %
 \end{subfigures}

produces the output of the figures 1 (figure 1a and figure 1b). References are made as usual with e. g. \ref{fig:fig1}.

Figure 1b: This is the second figure

Table 1a: This is the first table

table 1

Table 1b: This is the second table

table 2

subtables The output of the tables 1a and 1a is generated similarly:

\begin{subtables}
%
\begin{table}\centering
  \caption{This is the first table}\label{tab:tab1}
  \begin{tabular}{l} \hline
  table 1\\ \hline
  \end{tabular}
\end{table}
%
\begin{table}\centering
  \caption{This is the second table}\label{tab:tab2}
  \begin{tabular}{l} \hline
  table 2\\ \hline
  \end{tabular}
\end{table}
%
\end{subtables}

The environment names subfigures and subtables were chosen to be similar to the subequations environment of the amsmath package. But what is to do when both environments have to be nested? This case is handled in the next section.

3.2 Using the macros

\subfiguresbegin The usage of the macros is shown in the example below:

\subfiguresend
\subtablesbegin
\subtablesend

\subfiguresbegin
\begin{figure}
[...]
\begin{table}
[...]
\subtablesbegin
\begin{table}

Figure 2a: This is the third figure

Table 2: This is the third table

table 3

Table 3a: This is the forth table

table 4

fig. 4

Figure 2b: This is the forth figure

fig. 5

Figure 3: This is the fifth figure

 [...]
 \begin{figure}
 [...]
 \subfiguresend
 \begin{figure}
 [...]
 \begin{table}
 [...]
 \subtablesend

With these macros it is possible to realise nested subnumbers of figures and tables. Even nested subnumbers of figures or tables and equations made with the subequations environment of the amsmath package are possible.

4 Change the label format

The standard label format is the global float number followed by a lowercase alphanumerical subfloat number. This can be changed by redefining the commands

\thesubfloatfigure and \thesubfloattable. Both define the whole float num-

ber including the main number. The main number is referred by \themainfigure

Table 3b: This is the fifth table

table 5 resp. \themaintable. The counters of the subfloats are subfloatfigure resp. subfloattable. The default values are:

 \newcommand*\thesubfloatfigure{\themainfigure\alph{subfloatfigure}}
 \newcommand*\thesubfloattable{\themaintable\alph{subfloattable}}

If you want to print the subnumber of figures in brackets, you may define this:

 \renewcommand*\thesubfloatfigure{\themainfigure(\alph{subfloatfigure})}

If you want a sublabel in the format 1–1, 1–2, … you can get it by the following command sequence:

 \renewcommand*\thesubfloatfigure{\themainfigure--\arabic{subfloatfigure}}

Since it is done the same for tables this it not described again.

5 Count subfloats

If the package option countmax is used the package counts the number of all subfloats with the same main float number. This number is stored in the counters

subfloatfiguremax resp. subfloattablemax and can be used for changeing the

labels, e.g.:

 \renewcommand*\thesubfloatfigure{%
     \themainfigure(\arabic{subfloatfigure}/\arabic{subfloatfiguremax})}

If the package option is not set but subfloatfiguremax used an error messages is produced by L^{A}TEX. Normally there should be an error message of the following types:

 ! Missing number, treated as zero.
 <to be read again>
                    \c@subfloatfiguremax
 l.64        }
 ?

or

 ! Undefined control sequence.
 <write> ...abel{ressim2}{{I(b/\c@subfloattablemax
                                                   )}{\thepage }{Estimation o...
 l.105 \end{document}
 ?

There may be \c@subfloatfiguremax or \c@subfloattablemax. In a former

version, subfloat has generated a nice error message. But unfortunately this code has been incompatible to tabularx.

In order to get the numbers right L^{A}TEX has to be run twice or three times.^{1}

6 Command reference

This sections gives a short list of the main commands and environments of this package.

environment  description

subfigures

Increases the figure number by one and starts subnumbering by appending a, b, c, … to the fixed figure number

subtables

Increases the table number by one and starts subnumbering by appending a, b, c, … to the fixed table number

macro  description

\subfiguresbegin

Increases the figure number by one and starts subnumbering by appending a, b, c, … to the fixed figure number

\subfiguresend  Returns to ordinary figure numbering

\subtablesbegin

Increases the table number by one and starts subnumbering by appending a, b, c, … to the fixed table number

\subtablesend  Returns to ordinary table numbering

\thesubfloatfigure

Defines the output format of the main and subfigure number.

\themainfigure  Number of the main figure

\thesubfloattable

Defines the output format of the main and subtable number.

\themaintable  Number of the main table

To do

At the moment, I don’t know anything.

Acknowledgements

Thanks to Frank Mittelbach who had the idea to make the label changeable. Furthermore, he helped to develop a user friendly interface to do this.

1Internally, this is implemented using labels. After the first L^{A}TEX run, the counter is zero end thus not displayed for alpha or roman numbering.

7 The implementation

Heading of the package:

 1 \NeedsTeXFormat{LaTeX2e}
 2 \ProvidesPackage{subfloat}
 3  [\filedate\space version \fileversion]
 4 \message{Package `subfloat', Version \fileversion\space of \filedate.}

7.1 Options

 5 \newif\ifsubfloat@countmax

Option to count the floats.

 6 \DeclareOption{countmax}{\subfloat@countmaxtrue}
 7 \DeclareOption{nocountmax}{\subfloat@countmaxfalse}%
 8 \ExecuteOptions{nocountmax}
 9 \ProcessOptions\relax

7.2 Figures

\thesubfloatfigure Defining the output format of captions:

10 \newcommand*\thesubfloatfigure{\themainfigure\alph{subfloatfigure}}

subfigures Defining the environment subfigures:

11 \newenvironment{subfigures}{%

Call start command for subnumbering:

12 \subfiguresbegin
13 }{%

Call end command for subnumbering:

14 \subfiguresend
15 \global\@ignoretrue

16 }

Make a copy of \c@figure in \c@subfloatfigure in order to be able to use

the counter subfloatfigure in the defintion of \thesubfloatfigure:
17 \let\c@subfloatfigure=\c@figure

Define the boolean \ifinsubfloatfigures to determine if we are inside a subfloatfigures area:

18 \newif\ifinsubfloatfigures
\thefiguresbegin Defining the macro \thefiguresbegin:
19 \newcommand{\subfiguresbegin}{%

Check if \subfiguresbegin may be called here:

20 \ifinsubfloatfigures
21 \PackageError{subfloat}{Cannot start subfloatfigures inside
22  a\MessageBreak subfloatfigure area}{You probably have used

23  \string\subfiguresbegin\space or \string\begin{subfigures} inside
24  the^^Jsame environment or after \string\subfiguresbegin.}%
25 \fi

Set testing boolean to true:

26 \global\insubfloatfigurestrue

Increase figure number:

27 \refstepcounter{figure}%

Save value of counter figure:

28 \protected@xdef\figure@value{\the\c@figure}%

Save counter figure in printed format:

29 \protected@xdef\themainfigure{\thefigure}%

Save the original macro \thefigure:

30 \global\let\thefigure@original=\thefigure

Reset counter figure to zero. It functions as subfloat counter until \subfiguresend.

31 \setcounter{figure}{0}%

Redefine macro \thefigure to use subnumbering:

32 \gdef\thefigure{\thesubfloatfigure}%

Set counter to maximal number of subfloatfigures. Therefore local redefinition of \@setref in order to change the warning and to set the counter subfloatfiguremax correct. Thereafter call \@setref using the \ref command:

33 \ifsubfloat@countmax
34  {\def\@setref##1##2##3{%
35  \ifx##1\relax
36  \protect\G@refundefinedtrue
37  \setcounter{subfloatfiguremax}{0}%
38  \PackageWarningNoLine{subfloat}{Reference `##3' on page
39  \thepage \space undefined\MessageBreak
40  (count subfloatfigures)}%
41  \else
42  \setcounter{subfloatfiguremax}{\expandafter\@firstoftwo##1}%
43  \fi}%
44  \ref{subfloat@@figure\figure@value}}%
45 \fi

Redefine the macro \p@subfigure (from subfigure.sty) in order to generate correct labels for subfigures:

46 %%  \@ifpackageloaded{subfigure}{%
47  \let\p@subfigure=\thesubfloatfigure
48 %%  }{}%

Ignore spaces:

49 \ignorespaces

50 }

\thefiguresend Defining the macro \thefiguresend:
51 \newcommand{\subfiguresend}{%

Check if \subfiguresend may be called here:

52 \ifinsubfloatfigures
53 \else
54 \PackageError{subfloat}{Cannot stop subfloatfigures outside
55  a\MessageBreak subfloatfigure area}{You probably have used
56  \string\subfiguresend\space or \string\end{subfigures} without
57  starting a^^Jsubfloatfigure area using the same environment or
58  \string\subfiguresbegin.}%
59 \fi

Set testing boolean to false:

60 \global\insubfloatfiguresfalse

Write the number of subfloatfigures into the aux file:

61 \ifsubfloat@countmax
62  \subfloat@figurelabel{subfloat@@figure\figure@value}%
63 \fi

Set counter figure back to original value:

64 \setcounter{figure}{\figure@value}%

Restore the original macro \thefigure:

65 \global\let\thefigure=\thefigure@original

Restore the original macro \p@subfigure (from subfigure.sty):

66 %%  \@ifpackageloaded{subfigure}{%
67  \let\p@subfigure=\thefigure
68 %%  }{}%

Ignore spaces:

69 \ignorespaces

70 }

71 %%

Introduce the counter for the number of subfloatfigures. If both the option countmax is not used and this counter is tried to be used, an not understandable error message is generated (e.g. “! Missing number, treated as zero”. There has been code that produced a nice error message, but it was incompatible to tabularx (namely the command \cl@@ckpt).

72 \ifsubfloat@countmax
73 \newcounter{subfloatfiguremax}
74 \else

Warning if countmax is off.

75 \PackageWarningNoLine{subfloat}{Numbers of floats not
76  counted:\MessageBreak
77  If you use one of the counters subfloatfiguremax or\MessageBreak
78  subfloattablemax you will get strange error messages\MessageBreak
79  containing \string\c@subfloatfiguremax\space or\MessageBreak

80  \string\c@subfloattablemax:\MessageBreak
81  Please switch on countmax or
82  remove the code using\MessageBreak
83  the counter then.}
84 \fi

\subfloat@figurelabel This command makes a label for the current figure, always with an arabic number:

85 \ifsubfloat@countmax
86 \newcommand*\subfloat@figurelabel[1]{\@bsphack
87  \protected@write\@auxout{}%
88  {\string\newlabel{#1}{{\the\c@figure}{\thepage}}}%
89  \@esphack}
90 \fi

7.3 Tables

\thesubfloattable Defining the output format of captions:

91 \newcommand*\thesubfloattable{\themaintable\alph{subfloattable}}

subtables Defining the environment subtables:

92 \newenvironment{subtables}{%

Call start command for subnumbering:

93 \subtablesbegin
94 }{%

Call end command for subnumbering:

95 \subtablesend
96 \global\@ignoretrue

97 }

Make a copy of \c@table in \c@subfloattable in order to be able to use the

counter subfloattable in the defintion of \thesubfloattable:
98 \let\c@subfloattable=\c@table

Define the boolean \ifinsubfloattables to determine if we are inside a subfloattables area:

99 \newif\ifinsubfloattables
\thetablesbegin Defining the macro \thetablesbegin:
100 \newcommand{\subtablesbegin}{%

Check if \subtablesbegin may be called here:

101 \ifinsubfloattables
102 \PackageError{subfloat}{Cannot start subfloattables inside
103  a\MessageBreak subfloatfigure area}{You probably have used
104  \string\subtablesbegin\space or \string\begin{subtables} inside
105  the^^Jsame environment or after \string\subtablesbegin.}%
106 \fi

Set testing boolean to true:

107 \global\insubfloattablestrue

Increase table number:

108 \refstepcounter{table}%

Save value of counter table:

109 \protected@xdef\table@value{\the\c@table}%

Save counter table in printed format:

110 \protected@xdef\themaintable{\thetable}%

Save the original macro \thetable:

111 \global\let\thetable@original=\thetable

Reset counter table to zero. It functions as subfloat counter until \subtablesend.

112 \setcounter{table}{0}%

Redefine macro \thetable to use subnumbering:

113 \gdef\thetable{\thesubfloattable}%

Set counter to maximal number of subfloattables. Therefore local redefinition of \@setref in order to change the warning and to set the counter subfloattablemax correct. Thereafter call \@setref using the \ref command:

114 \ifsubfloat@countmax
115  {\def\@setref##1##2##3{%
116  \ifx##1\relax
117  \protect\G@refundefinedtrue
118  \setcounter{subfloattablemax}{0}%
119  \PackageWarningNoLine{subfloat}{Reference `##3' on page
120  \thepage \space undefined\MessageBreak
121  (count subfloattables)}%
122  \else
123  \setcounter{subfloattablemax}{\expandafter\@firstoftwo##1}%
124  \fi}%
125  \ref{subfloat@@table\table@value}}%
126 \fi

Redefine the macro \p@subtable (from subfigure.sty) in order to generate correct labels for subtables:

127 %%  \@ifpackageloaded{subfigure}{%
128  \let\p@subtable=\thesubfloattable
129 %%  }{}%

Ignore spaces:

130 \ignorespaces

131 }

\subtablesend Defining the macro \thetablesend:
132 \newcommand{\subtablesend}{%

Check if \subtablesend may be called here:

133 \ifinsubfloattables
134 \else
135 \PackageError{subfloat}{Cannot stop subfloattables outside
136  a\MessageBreak subfloatfigure area}{You probably have used
137  \string\subtablesend\space or \string\end{subtables} without
138  starting a^^Jsubfloatfigure area using the same environment or
139  \string\subtablesbegin.}%
140 \fi

Set testing boolean to false:

141 \global\insubfloattablesfalse

Write the number of subfloattables into the aux file:

142 \ifsubfloat@countmax
143  \subfloat@tablelabel{subfloat@@table\table@value}%
144 \fi

Set counter table back to original value:

145 \setcounter{table}{\table@value}%

Restore the original macro \thetable:

146 \global\let\thetable=\thetable@original

Restore the original macro \p@subtable (from subfigure.sty):

147 %%  \@ifpackageloaded{subfigure}{%
148  \let\p@subtable=\thetable
149 %%  }{}%

Ignore spaces:

150 \ignorespaces

151 } 152 %%

Introduce the counter for the number of subfloattables. If both the option countmax is not used and this counter is tried to be used, an not understandable error message is generated (e.g. “! Missing number, treated as zero”. There has been code that produced a nice error message, but it was incompatible to tabularx (namely the command \cl@@ckpt).

153 \ifsubfloat@countmax
154 \newcounter{subfloattablemax}
155 %\else
156 %  \newcounter{subfloattablemax}
157 %  \let\orig@c@subfloattablemax=\c@subfloattablemax
158 %  \def\c@subfloattablemax{\orig@c@subfloattablemax
159 %    \PackageError{subfloat}{Counter subfloattablemax used
160 %      without\MessageBreak
161 %      package option countmax}{The counter subfloattablemax may
162 %      only be used with the package option\MessageBreak
163 %      countmax. Normally this error happens when
164 %      \string\thesubfloattable\space is redefined.}}
165 \fi

\subfloat@tablelabel This command makes a label for the current table, always with an arabic number:

166 \ifsubfloat@countmax
167 \newcommand*\subfloat@tablelabel[1]{\@bsphack
168  \protected@write\@auxout{}%
169  {\string\newlabel{#1}{{\the\c@table}{\thepage}}}%
170  \@esphack}
171 \fi

The end of the package:

172 \endinput

Change History

1.01

General: Documentation improved 1 1.02

General: Error in change history

corrected . . . . . . . . . . . . . . . . 1 1.03

General: email address changed . . 1 1.04

General: Suggestions made by Frank Mittelbach implemented: Changes in implementation, macros to change label format . 1

2.00

General: Total new implementation of the package with help of Frank Mittelbach . . . . . . . . . . 1

2.01

\subtablesend: Add support for

subfigure.sty . . . . . . . . . . . . . 13

\thefiguresbegin: Add support

for subfigure.sty . . . . . . . . . . . 9

\thefiguresend: Add support for

subfigure.sty . . . . . . . . . . . . . 10

\thetablesbegin: Add support for

subfigure.sty . . . . . . . . . . . . . 12 2.10

General: Add counting of subfloats

. . . . . . . . . . . . . . . 2, 6, 8, 10, 13

\subfloat@figurelabel:  Add

counting of subfloats . . . . . . . 11

\subfloat@tablelabel:  Add

counting of subfloats . . . . . . . 14 \subtablesend: Add counting of

subfloats . . . . . . . . . . . . . . . . 13

\thefiguresbegin: Add counting

of subfloats . . . . . . . . . . . . . . . 9

\thefiguresend: Add counting of

subfloats . . . . . . . . . . . . . . . . 10

\thetablesbegin: Add counting of

subfloats . . . . . . . . . . . . . . . . 12 2.11

General: Test for nesting of subfloatfigure areas . . . . . . . . . . . 8 Test for nesting of subfloattable areas . . . . . . . . . . . . . . . . . . 11

\subtablesend: Test for nesting of

subfloatfigure areas . . . . . . . . 13

\thefiguresbegin: Test for nesting

of subfloatfigure areas . . . . . 8, 9 \thefiguresend: Test for nesting of

subfloatfigure areas . . . . . . . . 10

\thetablesbegin: Test for nesting

of subfloattable areas … 11, 12 2.12

General: Correct a typo (thanks to

Michael Müller) . . . . . . . . . . . 1 \subtablesend: Remove the cor-

rupt greater sign . . . . . . . . . . 12 2.13

General: Remove generation of error message because of incompatibility with tabularx …. . . . . . . . . . . . . . . . . . 6, 8, 10, 13

2.14

General: Moved warning outside options . . . . . . . . . . . . . . . 8, 10

Index

Numbers written in italic refer to the page where the corresponding entry is described; numbers underlined refer to the code line of the definition; numbers in roman refer to the code lines where the entry is used.

Symbols

\@ignoretrue . . . . 15, 96

\@setref . . . . . . 34, 115

A

\alph . . . . . . . . . . 10, 91

B

\begin . . . . . . . . 23, 104

C

\c@figure … 17, 28, 88

\c@subfloatfigure . 17
\c@subfloatfiguremax 79
\c@subfloattable . . 98
\c@subfloattablemax

. . . . . 80, 157, 158 \c@table . . 98, 109, 169

D

\DeclareOption . . . 6, 7

E

\end . . . . . . . . . . 56, 137 environments:

   subfigures . . 2, 3, \underline{11}

   subtables . . . 2, 4, \underline{92}

\ExecuteOptions . . . . 8

F

\figure@value . . . . .

…. 28, 44, 62, 64 \filedate . . . . . . . 3, 4

\fileversion . . . . . 3, 4

G

\G@refundefinedtrue

. . . . . . . . 36, 117 \gdef . . . . . . . . . 32, 113 \global . . . . . 15, 26,

30, 60, 65, 96, 107, 111, 141, 146

I

\ifinsubfloatfigures

. . . . . . . 18, 20, 52

                          \ifinsubfloattables

. . . . . 99, 101, 133

                          \ifsubfloat@countmax

5, 33, 61, 72, 85, 114, 142, 153, 166

                          \ignorespaces . . . . .

. . 49, 69, 130, 150

                          \insubfloatfiguresfalse

. . . . . . . . . . . . 60

                          \insubfloatfigurestrue

. . . . . . . . . . . . 26

                          \insubfloattablesfalse

. . . . . . . . . . . 141

                          \insubfloattablestrue

. . . . . . . . . . . 107

N

                          \NeedsTeXFormat . . . . 1

\newlabel . . . . . 88, 169

O

                          \orig@c@subfloattablemax

. . . . . . . . 157, 158

P

                          \p@subfigure . . . . 47, 67
                          \p@subtable . . . 128, 148
                          \PackageError . . . . .

21, 54, 102, 135, 159

                          \PackageWarningNoLine

. . . . . . 38, 75, 119

                          \ProcessOptions . . . . 9
                          \protected@xdef . . .

. . 28, 29, 109, 110

                          \ProvidesPackage . . . 2

R \ref . . . . . . . . . . 44, 125

                          \refstepcounter 27, 108

S

                          subfigures (environ-

ment) … 2, 3, \underline{11}

                          \subfiguresbegin 3,

4, 12, 19, 23, 24, 58

                                                   \subfiguresend . . . .

… 3, 4, 14, 51, 56

                                                   \subfloat@countmaxfalse

. . . . . . . . . . . . . 7

                                                   \subfloat@countmaxtrue

. . . . . . . . . . . . . 6

                                                   \subfloat@figurelabel

. . . . . . . . . 62, \underline{85}

                                                   \subfloat@tablelabel

. . . . . . . . 143, \underline{166}

                                                   subtables (environ-

ment) … 2, 4, \underline{92}

                                                   \subtablesbegin . . .

. . . . . 3, 4, 93, 100, 104, 105, 139

                                                   \subtablesend . . . . .

. . . . . 3, 4, 95, \underline{132}

T

                                                   \table@value . . . . . .

. 109, 125, 143, 145 \the …. 28, 88, 109, 169

                                                   \thefigure . . . . . . .

. 29, 30, 32, 65, 67

                                                   \thefigure@original

. . . . . . . . . 30, 65

                                                   \thefiguresbegin . . \underline{19}
                                                   \thefiguresend . . . . \underline{51}
                                                   \themainfigure . . 10, 29
                                                   \themaintable . . 91, 110
                                                   \thesubfloatfigure .

. . . . . . . \underline{10}, 32, 47

                                                   \thesubfloattable .

. \underline{91}, 113, 128, 164

                                                   \thetable . . . . 110,

111, 113, 146, 148

                                                   \thetable@original .

. . . . . . . . 111, 146

                                                   \thetablesbegin . . . \underline{100}