-@node FORMATS
-@section FORMATS
-@vindex FORMATS
-
-@display
-FORMATS @var{var_list} (@var{fmt_spec}) [@var{var_list} (@var{fmt_spec})]@dots{}.
-@end display
-
-@cmd{FORMATS} set both print and write formats for the specified
-variables to the specified format specification.
-@xref{Input and Output Formats}.
-
-Specify a list of variables followed by a format specification in
-parentheses. The print and write formats of the specified variables
-will be changed. All of the variables listed together must have
-the same type and, for string variables, the same width.
-
-Additional lists of variables and formats may be included following
-the first one.
-
-@cmd{FORMATS} takes effect immediately. It is not affected by
-conditional and looping structures such as @cmd{DO IF} or @cmd{LOOP}.
-
-@node LEAVE
-@section LEAVE
-@vindex LEAVE
-
-@display
-LEAVE @var{var_list}.
-@end display
-
-@cmd{LEAVE} prevents the specified variables from being
-reinitialized whenever a new case is processed.
-
-Normally, when a data file is processed, every variable in the active
-dataset is initialized to the system-missing value or spaces at the
-beginning of processing for each case. When a variable has been
-specified on @cmd{LEAVE}, this is not the case. Instead, that variable is
-initialized to 0 (not system-missing) or spaces for the first case.
-After that, it retains its value between cases.
-
-This becomes useful for counters. For instance, in the example below
-the variable @code{SUM} maintains a running total of the values in the @code{ITEM}
-variable.
-
-@example
-DATA LIST /ITEM 1-3.
-COMPUTE SUM=SUM+ITEM.
-PRINT /ITEM SUM.
-LEAVE SUM
-BEGIN DATA.
-123
-404
-555
-999
-END DATA.
-@end example
-
-@noindent Partial output from this example:
-
-@example
-123 123.00
-404 527.00
-555 1082.00
-999 2081.00
-@end example
-
-It is best to use @cmd{LEAVE} command immediately before invoking a
-procedure command, because the left status of variables is reset by
-certain transformations---for instance, @cmd{COMPUTE} and @cmd{IF}.
-Left status is also reset by all procedure invocations.
-
-@node MISSING VALUES
-@section MISSING VALUES
-@vindex MISSING VALUES
-
-@display
-MISSING VALUES @var{var_list} (@var{missing_values}).
-
-where @var{missing_values} takes one of the following forms:
- @var{num1}
- @var{num1}, @var{num2}
- @var{num1}, @var{num2}, @var{num3}
- @var{num1} THRU @var{num2}
- @var{num1} THRU @var{num2}, @var{num3}
- @var{string1}
- @var{string1}, @var{string2}
- @var{string1}, @var{string2}, @var{string3}
-As part of a range, @subcmd{LO} or @subcmd{LOWEST} may take the place of @var{num1};
-@subcmd{HI} or @subcmd{HIGHEST} may take the place of @var{num2}.
-@end display
-
-@cmd{MISSING VALUES} sets user-missing values for numeric and string
-variables. Long string variables may have missing values, but
-characters after the first 8 bytes of the missing value must be
-spaces.
-
-Specify a list of variables, followed by a list of their user-missing
-values in parentheses. Up to three discrete values may be given, or,
-for numeric variables only, a range of values optionally accompanied by
-a single discrete value. Ranges may be open-ended on one end, indicated
-through the use of the
-keyword @subcmd{LO} or @subcmd{LOWEST} or @subcmd{HI} or @subcmd{HIGHEST}.
-
-The @cmd{MISSING VALUES} command takes effect immediately. It is not
-affected by conditional and looping constructs such as @cmd{DO IF} or
-@cmd{LOOP}.
-
-@node MODIFY VARS
-@section MODIFY VARS
-@vindex MODIFY VARS
-
-@display
-MODIFY VARS
- /REORDER=@{FORWARD,BACKWARD@} @{POSITIONAL,ALPHA@} (@var{var_list})@dots{}
- /RENAME=(@var{old_names}=@var{new_names})@dots{}
- /@{DROP,KEEP@}=@var{var_list}
- /MAP
-@end display
-
-@cmd{MODIFY VARS} reorders, renames, and deletes variables in the
-active dataset.
-
-At least one subcommand must be specified, and no subcommand may be
-specified more than once. @subcmd{DROP} and @subcmd{KEEP} may not both
-be specified.
-
-The @subcmd{REORDER} subcommand changes the order of variables in the active
-dataset. Specify one or more lists of variable names in parentheses. By
-default, each list of variables is rearranged into the specified order.
-To put the variables into the reverse of the specified order, put
-keyword @subcmd{BACKWARD} before the parentheses. To put them into alphabetical
-order in the dictionary, specify keyword @subcmd{ALPHA} before the parentheses.
-@subcmd{BACKWARD} and @subcmd{ALPHA} may also be combined.
-
-To rename variables in the active dataset, specify @subcmd{RENAME}, an equals sign
-(@samp{=}), and lists of the old variable names and new variable names
-separated by another equals sign within parentheses. There must be the
-same number of old and new variable names. Each old variable is renamed to
-the corresponding new variable name. Multiple parenthesized groups of
-variables may be specified.
-
-The @subcmd{DROP} subcommand deletes a specified list of variables
-from the active dataset. @cmd{MODIFY VARS} may not be used to delete
-all variables from the dictionary; use @cmd{NEW FILE} to do that
-(@pxref{NEW FILE}).
-
-The @subcmd{KEEP} subcommand keeps the specified list of variables in the active
-dataset. Any unlisted variables are deleted from the active dataset.
-
-@subcmd{MAP} is currently ignored.
-
-If either @subcmd{DROP} or @subcmd{KEEP} is specified, the data is read;
-otherwise it is not.
-
-@cmd{MODIFY VARS} may not be specified following @cmd{TEMPORARY}
-(@pxref{TEMPORARY}).
-
-@node MRSETS
-@section MRSETS
-@vindex MRSETS
-
-@display
-MRSETS
- /MDGROUP NAME=@var{name} VARIABLES=@var{var_list} VALUE=@var{value}
- [CATEGORYLABELS=@{VARLABELS,COUNTEDVALUES@}]
- [@{LABEL='@var{label}',LABELSOURCE=VARLABEL@}]
-
- /MCGROUP NAME=@var{name} VARIABLES=@var{var_list} [LABEL='@var{label}']
-
- /DELETE NAME=@{[@var{names}],ALL@}
-
- /DISPLAY NAME=@{[@var{names}],ALL@}
-@end display
-
-@cmd{MRSETS} creates, modifies, deletes, and displays multiple
-response sets. A multiple response set is a set of variables that
-represent multiple responses to a single survey question in one of the
-two following ways:
-
-@itemize @bullet
-@item
-A @dfn{multiple dichotomy set} is analogous to a survey question with
-a set of checkboxes. Each variable in the set is treated in a Boolean
-fashion: one value (the "counted value") means that the box was
-checked, and any other value means that it was not.
-
-@item
-A @dfn{multiple category set} represents a survey question where the
-respondent is instructed to list up to @var{n} choices. Each variable
-represents one of the responses.
-@end itemize
-
-Any number of subcommands may be specified in any order.
-
-The @subcmd{MDGROUP} subcommand creates a new multiple dichotomy set or
-replaces an existing multiple response set. The @subcmd{NAME},
-@subcmd{VARIABLES}, and
-@subcmd{VALUE} specifications are required. The others are optional:
-
-@itemize @bullet
-@item
-@var{NAME} specifies the name used in syntax for the new multiple dichotomy
-set. The name must begin with @samp{$}; it must otherwise follow the
-rules for identifiers (@pxref{Tokens}).
-
-@item
-@subcmd{VARIABLES} specifies the variables that belong to the set. At least
-two variables must be specified. The variables must be all string or
-all numeric.
-
-@item
-@subcmd{VALUE} specifies the counted value. If the variables are numeric, the
-value must be an integer. If the variables are strings, then the
-value must be a string that is no longer than the shortest of the
-variables in the set (ignoring trailing spaces).
-
-@item
-@subcmd{CATEGORYLABELS} optionally specifies the source of the labels for each
-category in the set:
-
-@itemize @minus
-@item
-@subcmd{VARLABELS}, the default, uses variable labels or, for variables without
-variable labels, variable names. @pspp{} warns if two variables have the
-same variable label, since these categories cannot be distinguished in
-output.
-
-@item
-@subcmd{COUNTEDVALUES} instead uses each variable's value label for the counted
-value. @pspp{} warns if two variables have the same value label for the
-counted value or if one of the variables lacks a value label, since
-such categories cannot be distinguished in output.
-@end itemize
-
-@item
-@subcmd{LABEL} optionally specifies a label for the multiple response set. If
-neither @subcmd{LABEL} nor @subcmd{LABELSOURCE=VARLABEL} is specified, the set is
-unlabeled.
-
-@item
-@subcmd{LABELSOURCE=VARLABEL} draws the multiple response set's label from the
-first variable label among the variables in the set; if none of the
-variables has a label, the name of the first variable is used.
-@subcmd{LABELSOURCE=VARLABEL} must be used with @subcmd{CATEGORYLABELS=COUNTEDVALUES}.
-It is mutually exclusive with @subcmd{LABEL}.
-@end itemize
-
-The @subcmd{MCGROUP} subcommand creates a new multiple category set or
-replaces an existing multiple response set. The @subcmd{NAME} and @subcmd{VARIABLES}
-specifications are required, and @subcmd{LABEL} is optional. Their meanings
-are as described above in @subcmd{MDGROUP}. @pspp{} warns if two variables in the
-set have different value labels for a single value, since each of the
-variables in the set should have the same possible categories.
-
-The @subcmd{DELETE} subcommand deletes multiple response groups. A list of
-groups may be named within a set of required square brackets, or ALL
-may be used to delete all groups.
-
-The @subcmd{DISPLAY} subcommand displays information about defined multiple
-response sets. Its syntax is the same as the @subcmd{DELETE} subcommand.
-
-Multiple response sets are saved to and read from system files by,
-e.g., the @cmd{SAVE} and @cmd{GET} command. Otherwise, multiple
-response sets are currently used only by third party software.
-