paperlint 6.3.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +4 -2
- package/README.md +20 -13
- package/dist/adapters/latex/conditionals.d.ts +21 -0
- package/dist/adapters/latex/conditionals.d.ts.map +1 -0
- package/dist/adapters/latex/conditionals.js +75 -0
- package/dist/adapters/latex/conditionals.js.map +1 -0
- package/dist/adapters/latex/headings.d.ts +10 -0
- package/dist/adapters/latex/headings.d.ts.map +1 -0
- package/dist/adapters/latex/headings.js +129 -0
- package/dist/adapters/latex/headings.js.map +1 -0
- package/dist/adapters/latex/index.d.ts +1 -0
- package/dist/adapters/latex/index.d.ts.map +1 -1
- package/dist/adapters/latex/index.js +3 -0
- package/dist/adapters/latex/index.js.map +1 -1
- package/dist/adapters/latex/parse.d.ts +1 -1
- package/dist/adapters/latex/parse.d.ts.map +1 -1
- package/dist/adapters/latex/parse.js +3 -2
- package/dist/adapters/latex/parse.js.map +1 -1
- package/dist/build.d.ts +1 -1
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +1 -1
- package/dist/build.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -5
- package/dist/cli.js.map +1 -1
- package/dist/domain/body-pages.d.ts +29 -0
- package/dist/domain/body-pages.d.ts.map +1 -1
- package/dist/domain/body-pages.js +25 -0
- package/dist/domain/body-pages.js.map +1 -1
- package/dist/domain/heading-case.d.ts +100 -0
- package/dist/domain/heading-case.d.ts.map +1 -0
- package/dist/domain/heading-case.js +365 -0
- package/dist/domain/heading-case.js.map +1 -0
- package/dist/domain/tex-document.d.ts +32 -0
- package/dist/domain/tex-document.d.ts.map +1 -1
- package/dist/domain/tex-document.js +11 -0
- package/dist/domain/tex-document.js.map +1 -1
- package/dist/eslint-rules/latex-language.d.ts.map +1 -1
- package/dist/eslint-rules/latex-language.js +16 -3
- package/dist/eslint-rules/latex-language.js.map +1 -1
- package/dist/facts-file.d.ts +3 -3
- package/dist/facts-file.d.ts.map +1 -1
- package/dist/facts-file.js +3 -3
- package/dist/facts-file.js.map +1 -1
- package/dist/folder-venue-rule.js +6 -6
- package/dist/folder-venue-rule.js.map +1 -1
- package/dist/heading-case.d.ts +48 -0
- package/dist/heading-case.d.ts.map +1 -0
- package/dist/heading-case.js +191 -0
- package/dist/heading-case.js.map +1 -0
- package/dist/paper-includes.d.ts +3 -0
- package/dist/paper-includes.d.ts.map +1 -1
- package/dist/paper-includes.js +17 -2
- package/dist/paper-includes.js.map +1 -1
- package/dist/ports/latex.d.ts +7 -1
- package/dist/ports/latex.d.ts.map +1 -1
- package/dist/preset-card-rule.d.ts +100 -0
- package/dist/preset-card-rule.d.ts.map +1 -0
- package/dist/preset-card-rule.js +221 -0
- package/dist/preset-card-rule.js.map +1 -0
- package/dist/presets.d.ts +29 -5
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +104 -68
- package/dist/presets.js.map +1 -1
- package/dist/submission.d.ts +8 -0
- package/dist/submission.d.ts.map +1 -1
- package/dist/submission.js +19 -7
- package/dist/submission.js.map +1 -1
- package/dist/tex-requirements.d.ts +42 -3
- package/dist/tex-requirements.d.ts.map +1 -1
- package/dist/tex-requirements.js +34 -5
- package/dist/tex-requirements.js.map +1 -1
- package/dist/tex-venue-rules.d.ts +6 -3
- package/dist/tex-venue-rules.d.ts.map +1 -1
- package/dist/tex-venue-rules.js +29 -10
- package/dist/tex-venue-rules.js.map +1 -1
- package/dist/venue-rules.d.ts +2 -1
- package/dist/venue-rules.d.ts.map +1 -1
- package/dist/venue-rules.js +55 -7
- package/dist/venue-rules.js.map +1 -1
- package/docs/configuration.md +13 -1
- package/docs/e2e.md +14 -12
- package/docs/optional-rules.md +4 -3
- package/docs/rules/format/page-limit.md +19 -2
- package/docs/rules/paper/folder-venue-leftover.md +1 -1
- package/docs/rules/talk/profile.md +1 -1
- package/docs/rules/tex/heading-case.md +424 -0
- package/docs/rules/tex/template.md +25 -5
- package/docs/rules/tex/venue-leftover.md +13 -0
- package/docs/rules.md +74 -57
- package/docs/submission.md +5 -1
- package/eslint-rules/latex-language.test.mjs +12 -0
- package/eslint-rules/latex-language.ts +17 -4
- package/eslint-rules/paper-typography.test.mjs +12 -0
- package/eslint.config.mjs +59 -1
- package/fixtures/build-e2e/acmart/paper.tex +1 -1
- package/fixtures/build-e2e/fallback/expect.json +3 -3
- package/fixtures/build-e2e/msr/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/msr/expect.json +18 -0
- package/fixtures/build-e2e/msr/paper.tex +49 -0
- package/fixtures/build-e2e/msr/paperlint.json +1 -0
- package/fixtures/build-e2e/msr-appendix-after/PIPELINE-STATUS.md +3 -0
- package/fixtures/build-e2e/msr-appendix-after/expect.json +20 -0
- package/fixtures/build-e2e/msr-appendix-after/paper.tex +48 -0
- package/fixtures/build-e2e/msr-appendix-after/paperlint.json +1 -0
- package/lib/skill-checks.mjs +31 -0
- package/package.json +7 -1
- package/presets/acm-sigconf.jsonc +5 -0
- package/presets/acm-sigconf.md +43 -0
- package/presets/agenticdev.jsonc +27 -6
- package/presets/agenticdev.md +151 -0
- package/presets/aidc.jsonc +6 -0
- package/presets/aidc.md +75 -0
- package/presets/aisec.jsonc +5 -1
- package/presets/aisec.md +117 -0
- package/presets/ieee-conference.jsonc +5 -0
- package/presets/ieee-conference.md +38 -0
- package/presets/msr.jsonc +71 -0
- package/presets/msr.md +94 -0
- package/presets/realm.jsonc +7 -2
- package/presets/realm.md +166 -0
- package/presets/tex/agenticdev.tex +1 -1
- package/presets/tex-base.jsonc +6 -0
- package/presets/tex-base.md +30 -0
- package/presets/venue-profile.schema.json +65 -1
- package/skills/camera-ready/SKILL.md +8 -1
- package/skills/camera-ready/SKILL.md.spec.ts +7 -0
- package/skills/find-venue/SKILL.md +6 -5
- package/skills/find-venue/SKILL.md.spec.ts +5 -4
- package/skills/paper-pipeline/SKILL.md +5 -6
- package/skills/paper-pipeline/SKILL.md.spec.ts +4 -5
- package/skills/paper-pipeline/references/acl-venue-rules.md +1 -1
- package/skills/study-accepted-papers/SKILL.md +3 -3
- package/skills/study-accepted-papers/SKILL.md.spec.ts +2 -2
- package/skills/submission-portal/SKILL.md +2 -2
- package/skills/submission-portal/SKILL.md.spec.ts +1 -1
- package/skills/submit-paper/SKILL.md +34 -22
- package/skills/submit-paper/SKILL.md.spec.ts +33 -21
- package/skills/submit-paper/references/publishers/acm.md +1 -1
- package/src/adapters/latex/conditionals.ts +130 -0
- package/src/adapters/latex/headings.ts +163 -0
- package/src/adapters/latex/index.test.ts +65 -0
- package/src/adapters/latex/index.ts +3 -0
- package/src/adapters/latex/parse.ts +3 -2
- package/src/build.ts +2 -2
- package/src/cli.test.ts +50 -7
- package/src/cli.ts +28 -6
- package/src/domain/body-pages.test.ts +144 -0
- package/src/domain/body-pages.ts +61 -1
- package/src/domain/heading-case.test.ts +660 -0
- package/src/domain/heading-case.ts +538 -0
- package/src/domain/tex-document.ts +36 -0
- package/src/domain/venue-name.test.ts +13 -7
- package/src/facts-file.test.ts +4 -4
- package/src/facts-file.ts +6 -6
- package/src/folder-venue-rule.test.ts +10 -10
- package/src/folder-venue-rule.ts +6 -6
- package/src/heading-case.test.ts +500 -0
- package/src/heading-case.ts +275 -0
- package/src/init.test.ts +1 -1
- package/src/new-paper.test.ts +37 -6
- package/src/paper-includes.test.ts +26 -0
- package/src/paper-includes.ts +20 -2
- package/src/paper-settings-commands.test.ts +26 -11
- package/src/ports/latex.ts +7 -0
- package/src/preset-card-rule.test.ts +267 -0
- package/src/preset-card-rule.ts +384 -0
- package/src/presets.test.ts +259 -41
- package/src/presets.ts +161 -75
- package/src/rule-cases.test.ts +136 -50
- package/src/submission.test.ts +44 -4
- package/src/submission.ts +28 -7
- package/src/talk-rules.test.ts +6 -3
- package/src/tex-requirements.harness.ts +25 -11
- package/src/tex-requirements.test.ts +127 -1
- package/src/tex-requirements.ts +91 -12
- package/src/tex-venue-rules.test.ts +196 -21
- package/src/tex-venue-rules.ts +47 -16
- package/src/venue-rules.test.ts +180 -8
- package/src/venue-rules.ts +71 -10
- package/templates/paper/paper.tex +1 -1
- package/skills/submit-paper/references/venues/agenticdev.md +0 -171
- package/skills/submit-paper/references/venues/aisec.md +0 -105
- package/skills/submit-paper/references/venues/realm.md +0 -155
package/dist/venue-rules.js
CHANGED
|
@@ -46,7 +46,7 @@ import { sha256Hex } from "./domain/sha256.js";
|
|
|
46
46
|
import { fieldOf } from "./domain/record.js";
|
|
47
47
|
import { CONFIG_FILE } from "#lib/paper-config";
|
|
48
48
|
import { findLeaks } from "./domain/anonymity.js";
|
|
49
|
-
import { bodyEnd } from "./domain/body-pages.js";
|
|
49
|
+
import { bodyEnd, pageSplit, } from "./domain/body-pages.js";
|
|
50
50
|
const finding = (messageId, data = {}) => ({ messageId, data });
|
|
51
51
|
const text = (files, p) => {
|
|
52
52
|
const b = files.readBytes(callerPath(p));
|
|
@@ -170,9 +170,19 @@ export function judgeGeometry(g, format, venue, dimTol) {
|
|
|
170
170
|
out.push(finding("columns", { got: g.columns, want: format.columns, venue }));
|
|
171
171
|
return out;
|
|
172
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* How many of banal's two counts — body, then references — a venue's counting replaces with its own
|
|
175
|
+
* from the text: none for banal's count, the body for `body_ends_at`, both with `appendix_in_body`.
|
|
176
|
+
*/
|
|
177
|
+
function countedFromText(format) {
|
|
178
|
+
if (format.bodyEndsAt !== "references")
|
|
179
|
+
return 0;
|
|
180
|
+
return format.appendixInBody === true ? 2 : 1;
|
|
181
|
+
}
|
|
173
182
|
/**
|
|
174
183
|
* Body and reference pages, as banal classifies them, against the kind's limits. A venue that counts
|
|
175
|
-
* the body before the references is judged on its body by `judgeBodyEnd` instead
|
|
184
|
+
* the body before the references is judged on its body by `judgeBodyEnd` instead, and one that
|
|
185
|
+
* counts the appendix as body on both.
|
|
176
186
|
*/
|
|
177
187
|
export function judgePages(g, resolved) {
|
|
178
188
|
const kind = resolved.kind;
|
|
@@ -182,7 +192,7 @@ export function judgePages(g, resolved) {
|
|
|
182
192
|
[kind.limits.bodyPagesMax, g.body_pages, "body pages"],
|
|
183
193
|
[kind.limits.refPagesMax, g.ref_pages, "reference pages"],
|
|
184
194
|
];
|
|
185
|
-
const from = resolved.format
|
|
195
|
+
const from = countedFromText(resolved.format);
|
|
186
196
|
return pages.slice(from).flatMap(([max, got, what]) => max !== null && got > max
|
|
187
197
|
? [
|
|
188
198
|
finding("pages", {
|
|
@@ -204,10 +214,12 @@ export function judgePages(g, resolved) {
|
|
|
204
214
|
*/
|
|
205
215
|
export function judgeBodyEnd(text, resolved) {
|
|
206
216
|
const kind = resolved.kind;
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
217
|
+
if (resolved.format.bodyEndsAt !== "references" || kind === null)
|
|
218
|
+
return [];
|
|
219
|
+
if (resolved.format.appendixInBody === true)
|
|
220
|
+
return judgeSplit(text, resolved, kind);
|
|
221
|
+
const max = kind.limits.bodyPagesMax;
|
|
222
|
+
if (max === null)
|
|
211
223
|
return [];
|
|
212
224
|
const end = endOfBody(text);
|
|
213
225
|
const venue = resolved.venue;
|
|
@@ -225,6 +237,42 @@ export function judgeBodyEnd(text, resolved) {
|
|
|
225
237
|
}
|
|
226
238
|
}
|
|
227
239
|
}
|
|
240
|
+
/** The findings of a split that was found: the body, and the pages holding only references. */
|
|
241
|
+
function splitFindings(split, limits, at) {
|
|
242
|
+
const refs = `the references on page ${String(split.page)}`;
|
|
243
|
+
const body = split.appendixFrom === null
|
|
244
|
+
? `body pages (up to ${refs}, appendices included)`
|
|
245
|
+
: `body pages (up to ${refs}, and the appendix from page ${String(split.appendixFrom)})`;
|
|
246
|
+
const counts = [
|
|
247
|
+
[limits.bodyPagesMax, split.bodyPages, body],
|
|
248
|
+
[limits.refPagesMax, split.refPages, "pages holding only references"],
|
|
249
|
+
];
|
|
250
|
+
return counts.flatMap(([max, got, what]) => max !== null && got > max
|
|
251
|
+
? [finding("pages", { what, got, max, ...at })]
|
|
252
|
+
: []);
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* The body, appendices included, and the pages holding only references (`appendix_in_body`),
|
|
256
|
+
* against the kind's two limits. Like `judgeBodyEnd`, an end it cannot find is said, not passed.
|
|
257
|
+
*/
|
|
258
|
+
function judgeSplit(text, resolved, kind) {
|
|
259
|
+
const limits = kind.limits;
|
|
260
|
+
if (limits.bodyPagesMax === null && limits.refPagesMax === null)
|
|
261
|
+
return [];
|
|
262
|
+
const split = pageSplit(text.pages, {
|
|
263
|
+
bib: text.bibAnchorPage,
|
|
264
|
+
appendix: text.appendixAnchorPage,
|
|
265
|
+
});
|
|
266
|
+
const venue = resolved.venue;
|
|
267
|
+
switch (split.kind) {
|
|
268
|
+
case "missing":
|
|
269
|
+
return [finding("noReferences", { venue })];
|
|
270
|
+
case "disagree":
|
|
271
|
+
return [finding("unclear", { venue, why: disagreement(split) })];
|
|
272
|
+
case "found":
|
|
273
|
+
return splitFindings(split, limits, { venue, kind: kind.name });
|
|
274
|
+
}
|
|
275
|
+
}
|
|
228
276
|
/** Where the body ends in what the PDF says, and where hyperref anchored the two ends. */
|
|
229
277
|
const endOfBody = (t) => bodyEnd(t.pages, { bib: t.bibAnchorPage, appendix: t.appendixAnchorPage });
|
|
230
278
|
/** What the `unclear` message says about a structural signal the text does not bear out. */
|
package/dist/venue-rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"venue-rules.js","sourceRoot":"","sources":["../src/venue-rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"venue-rules.js","sourceRoot":"","sources":["../src/venue-rules.ts"],"names":[],"mappings":"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"}
|
package/docs/configuration.md
CHANGED
|
@@ -16,7 +16,19 @@ venues/usenix-sec.jsonc (optional, your own) a VENUE PRESET: format, page l
|
|
|
16
16
|
|
|
17
17
|
The shipped presets (`paperlint:<name>`) live in the package, under
|
|
18
18
|
`presets/`: `acm-sigconf`, `agenticdev`, `aidc`, `aisec`,
|
|
19
|
-
`ieee-conference`, `realm`.
|
|
19
|
+
`ieee-conference`, `msr`, `realm`. Each declares what it is — `"type": "venue"` with the venue's `name` and
|
|
20
|
+
the `url` of its call for papers, or `"type": "family"` for a publisher's template, which names no
|
|
21
|
+
venue (`tex-base.jsonc`, the TeX packages every paper gets, is `"base"`).
|
|
22
|
+
|
|
23
|
+
**Every preset has a card beside it**, `presets/<name>.md`: what the venue or the family is, its
|
|
24
|
+
call for papers, its kinds and limits, and what else the preset encodes — the prose the
|
|
25
|
+
`submit-paper` skill reads. The card ends with a section between
|
|
26
|
+
`<!-- paperlint:preset-rules -->` and `<!-- /paperlint:preset-rules -->` that is generated from the
|
|
27
|
+
preset: what it is, its call for papers or the presets that extend it, and every rule it sets with
|
|
28
|
+
its severity, its options and the file of the chain that set it. In this repository `npm run lint`
|
|
29
|
+
fails when a preset has no card (`project-structure/folder-structure`) or when a card's section no
|
|
30
|
+
longer matches its preset (`preset/card-rules`); `npx eslint --fix presets/` rewrites the section.
|
|
31
|
+
Edit the preset, never the section.
|
|
20
32
|
|
|
21
33
|
## The root `paperlint.json`
|
|
22
34
|
|
package/docs/e2e.md
CHANGED
|
@@ -84,18 +84,20 @@ findings for each rule it names (`[]` is "none"). One `describe` per fixture dir
|
|
|
84
84
|
declared field into a test. A folder without `expect.json`, or with one the schema rejects, fails.
|
|
85
85
|
A new venue fixture is a new folder: its paper, its `paperlint.json`, its `expect.json`.
|
|
86
86
|
|
|
87
|
-
| fixture
|
|
88
|
-
|
|
|
89
|
-
| `acmart`
|
|
90
|
-
| `fallback`
|
|
91
|
-
| `cite`
|
|
92
|
-
| `guards`
|
|
93
|
-
| `unbalanced`
|
|
94
|
-
| `broken`
|
|
95
|
-
| `no-source`
|
|
96
|
-
| `empty`
|
|
97
|
-
| `aidc`
|
|
98
|
-
| `anon-*`
|
|
87
|
+
| fixture | what it is there to prove |
|
|
88
|
+
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
89
|
+
| `acmart` | a real `\documentclass{acmart}` source builds, and the PDF carries the class's **own** font families — not one family of the silent substitution |
|
|
90
|
+
| `fallback` | the same document with the fonts missing still **builds green**, and is **rejected** by the font check. The failure is in the artifact, not in the exit code |
|
|
91
|
+
| `cite` | the bibtex path: the PDF shows `[1]`, not `[?]`, and no `??`. Its `build.sh` would leave a trace if run — it must not run, and the run must say it is ignored |
|
|
92
|
+
| `guards` | `\input{paper-guards}` resolves with no configuration, because paperlint puts its own venues directory on `TEXINPUTS` |
|
|
93
|
+
| `unbalanced` | a two-column acmart paper whose last page comes out 621.5 / 264.8 pt builds **green** — the build does not judge the layout and rewrites nothing — while `_build/paper.facts.json` records both heights, and `paperlint lint` with `pdf/last-page-balance` turned on in `rules` reports the page |
|
|
94
|
+
| `broken` | a failing build names pdflatex and its exit code, quotes the error line and its `l.NNN` context, and deletes the stale `paper.pdf` planted before the run |
|
|
95
|
+
| `no-source` | a paper with no `paper.tex` is named separately, and the run as a whole is a failure |
|
|
96
|
+
| `empty` | a document with no pages: pdflatex exits 0 and writes no PDF, and that is a failure, not a green `paper.pdf` |
|
|
97
|
+
| `aidc` | a real `[conference,compsoc]{IEEEtran}` paper builds on paperlint's TeX Live in NimbusRomNo9L, `tex/template`, `tex/required-section` and the `pdf/*` rules find nothing, and `tex/venue-leftover` warns once, on its planted line. It declares `identity` and names nobody, so `anonymity/identity` is silent on a real build, and `format/page-limit` finds the IEEEtran «References» heading |
|
|
98
|
+
| `anon-*` | six AIDC papers, each planting the declared (invented) name on ONE path, and `anonymity/identity` reports exactly one finding naming where: `author` the author block · `ack` an acknowledgments paragraph · `bib` a self-citation, printed by `IEEEtran.bst` as «A. Example» · `pdfauthor` `\hypersetup{pdfauthor=…}`, on no page · `href` a link whose target is the author's account while its text is not (the anonymous mirror beside it is not reported) · `macro` the name behind `\newcommand` |
|
|
99
|
+
| `msr` | a real `[10pt,conference]{IEEEtran}` paper whose ten pages of main text include an appendix before the references, then two pages of only references: `format/page-limit`, `tex/template` and `anonymity/identity` find nothing. banal's count of the same PDF (body 9, references 3) would have failed it |
|
|
100
|
+
| `msr-appendix-after` | the appendix after the references brings the main text to eleven pages: exactly one `format/page-limit` finding, naming where the appendix starts. banal's count (body 9, references 2) would have passed it |
|
|
99
101
|
|
|
100
102
|
The `fallback` row is the point of the whole file. `acmart.cls` checks for `libertine.sty`,
|
|
101
103
|
`zi4.sty` and `newtxmath.sty`, and failing to find any of them sets `\@ACM@newfontsfalse` and
|
package/docs/optional-rules.md
CHANGED
|
@@ -8,9 +8,10 @@ rules apply to that paper. The root `paperlint.json` can turn it on for every pa
|
|
|
8
8
|
with a block ([`configuration.md`](configuration.md#the-rules-key-turning-rules-on-and-off)); a
|
|
9
9
|
paper's own file still has the last word for that paper.
|
|
10
10
|
|
|
11
|
-
| rule
|
|
12
|
-
|
|
|
13
|
-
| `pdf/last-page-balance`
|
|
11
|
+
| rule | what it checks | who needs it |
|
|
12
|
+
| ----------------------------------------------- | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| `pdf/last-page-balance` | the two columns of the last page end at about the same height | two-column papers whose publisher asks for it — see below |
|
|
14
|
+
| [`tex/heading-case`](rules/tex/heading-case.md) | the words of the paper's title and of each heading are in the capitalization the venue asks | papers whose venue names a case style paperlint builds; only the AgenticDev preset turns it on (`chicago-headline` for the title and every heading) — [page](rules/tex/heading-case.md) |
|
|
14
15
|
|
|
15
16
|
## `pdf/last-page-balance`
|
|
16
17
|
|
|
@@ -17,6 +17,19 @@ How the body is counted depends on the preset:
|
|
|
17
17
|
appendices» excludes an appendix wherever it sits. What follows is not counted. The page the body
|
|
18
18
|
ends on counts as body when body text stands above the heading there: a body that runs half a
|
|
19
19
|
page past the limit is over the limit.
|
|
20
|
+
- **With `"appendix_in_body": true` as well** (MSR: «All submissions must not exceed 10 pages for
|
|
21
|
+
the main text, inclusive of all figures, tables, appendices, etc. Two more pages containing only
|
|
22
|
+
references are permitted.»), the appendix is body wherever it sits, and banal's two counts are
|
|
23
|
+
replaced by the text's. The body is every page up to the references — that page too when body
|
|
24
|
+
text stands above the heading — and, when the appendix starts after the references, every page
|
|
25
|
+
from the appendix's to the last. The pages between hold only references, and they are what
|
|
26
|
+
`ref_pages_max` limits. An appendix before the references ends nothing.
|
|
27
|
+
|
|
28
|
+
Why not banal's count for such a venue, measured on IEEEtran `[10pt,conference]` builds
|
|
29
|
+
(2026-10-05): banal types a page whose first heading reads «Appendix» as bibliography, so ten pages
|
|
30
|
+
of main text whose appendix stands before the references measured body 9, references 3 — a correct
|
|
31
|
+
paper failed on its references; and an appendix after the references was counted as reference
|
|
32
|
+
pages, so eleven pages of main text measured body 10, references 2 — an over-long paper passed.
|
|
20
33
|
|
|
21
34
|
## How it finds where the body ends
|
|
22
35
|
|
|
@@ -67,7 +80,7 @@ A 12-page AIDC paper whose conclusion ends at the foot of page 12, «References
|
|
|
67
80
|
|
|
68
81
|
The same paper with the conclusion running four lines onto page 13, «References» below them:
|
|
69
82
|
|
|
70
|
-
> body pages (up to the references on page 13): 13, over the limit 12 for
|
|
83
|
+
> body pages (up to the references on page 13): 13, over the limit 12 for AIDC/regular — a desk
|
|
71
84
|
> reject; cut the text
|
|
72
85
|
|
|
73
86
|
An accepted ACSAC paper that places its appendix tables before the bibliography: the appendix starts
|
|
@@ -83,13 +96,17 @@ When a structural signal and the text disagree, the count is not made and the ru
|
|
|
83
96
|
## Options / preset fields
|
|
84
97
|
|
|
85
98
|
No rule options. It reads, from the preset, `format.kinds.<kind>.body_pages_max`,
|
|
86
|
-
`format.kinds.<kind>.ref_pages_max
|
|
99
|
+
`format.kinds.<kind>.ref_pages_max`, `format.body_ends_at` and `format.appendix_in_body` (which
|
|
100
|
+
the schema accepts only beside `body_ends_at`); from the paper's `paperlint.json`,
|
|
87
101
|
`kind`. A preset with no kinds, or a kind with no limits, has nothing to check.
|
|
88
102
|
|
|
89
103
|
## What it does not check
|
|
90
104
|
|
|
91
105
|
- **An appendix before the references, without hyperref**, is counted as body: nothing structural
|
|
92
106
|
says where it starts. With hyperref it ends the body.
|
|
107
|
+
- **An appendix after the references, without hyperref, under `appendix_in_body`**, is counted
|
|
108
|
+
as reference pages: nothing structural says where it starts. `ref_pages_max` still limits the
|
|
109
|
+
pages after the references, so a long one is reported, as references.
|
|
93
110
|
- **An appendix whose heading does not read «Appendix…»** (the standard classes print `A` and the
|
|
94
111
|
title) is reported as `unclear` when hyperref anchors it.
|
|
95
112
|
- **A bibliography that is not numbered and not linked by hyperref** has no confirmed heading and no
|
|
@@ -35,7 +35,7 @@ in `papers/aisec-2026/`:
|
|
|
35
35
|
|
|
36
36
|
```text
|
|
37
37
|
papers/aisec-2026/PIPELINE-STATUS.md
|
|
38
|
-
1:1 warning the folder name «aisec-2026» names the venue
|
|
38
|
+
1:1 warning the folder name «aisec-2026» names the venue AISec, and this paper extends AIDC — the
|
|
39
39
|
name went stale when the venue changed, and venues change on every resubmission. Name
|
|
40
40
|
the folder after the work (what the paper shows), not the venue
|
|
41
41
|
paper/folder-venue-leftover
|
|
@@ -43,7 +43,7 @@ Failing — the email gave the short-paper slot only:
|
|
|
43
43
|
}
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
> `
|
|
46
|
+
> `AgenticDev` sets no talk slot for a `full` paper, so the video's length is not checked; its talk
|
|
47
47
|
> kinds: short
|
|
48
48
|
|
|
49
49
|
Passing: `"kind": "short", "talk": { "mode": "remote-video" }`.
|