summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/support/expltools/warnings-and-errors-01-preprocessing.md
blob: 965156dbc8b4097110e0f172ee728f2191df5e4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Preprocessing
In the preprocessing step, the expl3 analysis tool determines which parts of the input files contain expl3 code. Inline `\TeX`{=tex} comments that disable warnings and errors are also analyzed in this step.

## No standard delimiters {.w label=w100}
An input file contains no delimiters such as `\ExplSyntaxOn`, `\ExplSyntaxOff`, `\ProvidesExplPackage`, `\ProvidesExplClass`, and `\ProvidesExplFile` [@latexteam2024interfaces, Section 2.1]. The analysis tool should assume that the whole input file is in expl3.

 /w100.tex

## Unexpected delimiters {.w label=w101}
An input file contains extraneous `\ExplSyntaxOn` delimiters [@latexteam2024interfaces, Section 2.1] in expl3 parts or extraneous `\ExplSyntaxOff` delimiters in non-expl3 parts.

 /w101.tex

## Expl3 material in non-expl3 parts {.e label=e102}
An input file contains what looks like expl3 material [@latexteam2024interfaces, Section 1.1] in non-expl3 parts.

 /e102.tex

## Line too long {.s label=s103}
Some lines in expl3 parts are longer than 80 characters [@latexteam2024style, Section 2].

 /s103.tex

The maximum line length can be configured using the command-line option `--max-line-length` or with the parameter `max_line_length` of the function returned by the Lua module `explcheck-preprocessing`.

## Multiple delimiters `\ProvidesExpl*` in a single file {.e label=e104}
An input file contains multiple delimiters `\ProvidesExplPackage`, `\ProvidesExplClass`, and `\ProvidesExplFile`.

 /e104.tex