@end example
@psppoutput {ctables11}
-@c TODO special CTABLES formats
+In addition to the standard formats, @code{CTABLES} allows the user to
+specify the following special formats:
+
+@multitable {@code{NEGPAREN@i{w}.@i{d}}} {Encloses all numbers in parentheses.} {@t{(42.96%)}} {@t{(-42.96%)}}
+@item @code{NEGPAREN@i{w}.@i{d}}
+@tab Encloses negative numbers in parentheses.
+@tab @t{@w{ }42.96}
+@tab @t{@w{ }(42.96)}
+
+@item @code{NEQUAL@i{w}.@i{d}}
+@tab Adds a @code{N=} prefix.
+@tab @t{@w{ }N=42.96}
+@tab @t{@w{ }N=-42.96}
+
+@item @code{@code{PAREN@i{w}.@i{d}}}
+@tab Encloses all numbers in parentheses.
+@tab @t{@w{ }(42.96)}
+@tab @t{@w{ }(-42.96)}
+
+@item @code{PCTPAREN@i{w}.@i{d}}
+@tab Encloses all numbers in parentheses with a @samp{%} suffix.
+@tab @t{@w{ }(42.96%)}
+@tab @t{(-42.96%)}
+@end multitable
Parentheses provide a shorthand to apply summary specifications to
multiple variables. For example, both of these commands:
@code{UVARIANCE} (``Unweighted Variance'', F40.0)
@end itemize
+@c TODO missing value treatment
+
@node CTABLES Statistics Positions and Labels
@subsection Statistics Positions and Labels
@t{ROWLABELS=OPPOSITE} or @t{COLLABELS=OPPOSITE} move row or column
variable category labels, respectively, to the opposite axis. The
-setting affects only the innermost variable on the given axis. For
-example:
+setting affects only the innermost variable or variables, which must
+be categorical, on the given axis. For example:
@example
CTABLES /TABLE AgeGroup BY qns3a /CLABELS ROWLABELS=OPPOSITE.
Only one axis's labels may be moved, whether to the opposite axis or
to the layer axis.
-@c TODO Moving category labels for stacked variables
-
@subsubheading Effect on Summary Statistics
@code{CLABELS} primarily affects the appearance of tables, not the
@end example
@psppoutput {ctables24}
+@subsubheading Moving Categories for Stacked Variables
+
+If @code{CLABELS} moves category labels from an axis with stacked
+variables, the variables that are moved must have the same category
+specifications (@pxref{CTABLES Per-Variable Category Options}) and the
+same value labels.
+
+The following shows both moving stacked category variables and
+adapting to the changing definitions of rows and columns:
+
+@example
+CTABLES /TABLE (qn105ba + qn105bb) [COLPCT].
+CTABLES /TABLE (qn105ba + qn105bb) [ROWPCT]
+ /CLABELS ROW=OPPOSITE.
+@end example
+@psppoutput {ctables25}
+
@node CTABLES Per-Variable Category Options
@subsection Per-Variable Category Options