[output.html]
mathjax-support = true
+[output.linkcheck]
+
[preprocessor.toc]
command = "mdbook-toc"
renderer = ["html"]
command, below.
The expression which follows the `=` sign can be as complicated as
-necessary. See [Expressions](../../language/expressions.md) for a
-full description of the language accepted.
+necessary. See [Expressions](../../language/expressions/index.md) for
+a full description of the language accepted.
```
Descriptive Statistics
heading) and three cases. Afterwards there are four variables (one
per case, plus the CASE_LBL variable) and six cases. You can delete
the CASE_LBL variable (see [DELETE
-VARIABLES](../commands/variables/delete-variables.md)) if you don't
+VARIABLES](../../commands/variables/delete-variables.md)) if you don't
need it.
```
Macros defined before a matrix program may be used within a matrix
program, and macros may expand to include entire matrix programs. The
-[`DEFINE`](../../control/define.md) command to define new macros may
-not appear within a matrix program.
+[`DEFINE`](../../commands/control/define.md) command to define new
+macros may not appear within a matrix program.
The following sections describe the details of the matrix language:
first, the syntax of matrix expressions, then each of the supported
are positively worded. All questions must be based upon the same
scale for the analysis to be meaningful. One could use the
[`RECODE`](../../commands/data/recode.md) command, however a simpler
-way is to use [`COMPUTE`](../../commands/compute.md) and this is what
+way is to use [`COMPUTE`](../../commands/data/compute.md) and this is what
is done in the syntax below.
```
To associate custom attributes with the entire active dataset, instead
of with particular variables, use [`DATAFILE
-ATTRIBUTE`](../commands/data-io/datafile-attribute.md) instead.
+ATTRIBUTE`](../../commands/data-io/datafile-attribute.md) instead.
`VARIABLE ATTRIBUTE` takes effect immediately. It is not affected by
conditional and looping structures such as `DO IF` or `LOOP`.
64-bit integers, and 64-bit floating points, called here `char’,
`int32’, `int64’, and `flt64’, respectively. Data is not necessarily
aligned on a word or double-word boundary: the [long variable name
-record](long-variable-name-record.md) and [very long string
+record](long-variable-names-record.md) and [very long string
record](very-long-string-record.md) have arbitrary byte length and can
therefore cause all data coming after them in the file to be
misaligned.
The value label records documented in this section are used for
numeric and short string variables only. Long string variables may
have value labels, but their value labels are recorded using a
-[different record type](long-string-values-record.md).
+[different record type](long-string-value-labels-record.md).
[ReadStat](file-header-record.md) writes value labels that label a
single value more than once. In more detail, it emits value labels