paperlint 4.0.0 → 4.2.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.
Files changed (236) hide show
  1. package/.github/workflows/ci.yml +16 -23
  2. package/CLAUDE.md +55 -11
  3. package/CONTRIBUTING.md +30 -7
  4. package/README.md +11 -8
  5. package/dist/adapters/banal/invocation.d.ts +1 -1
  6. package/dist/adapters/latex/document-class.d.ts +23 -0
  7. package/dist/adapters/latex/document-class.d.ts.map +1 -0
  8. package/dist/adapters/latex/document-class.js +110 -0
  9. package/dist/adapters/latex/document-class.js.map +1 -0
  10. package/dist/adapters/latex/hidden.d.ts +16 -0
  11. package/dist/adapters/latex/hidden.d.ts.map +1 -0
  12. package/dist/adapters/latex/hidden.js +49 -0
  13. package/dist/adapters/latex/hidden.js.map +1 -0
  14. package/dist/adapters/latex/includes.d.ts +12 -0
  15. package/dist/adapters/latex/includes.d.ts.map +1 -0
  16. package/dist/adapters/latex/includes.js +42 -0
  17. package/dist/adapters/latex/includes.js.map +1 -0
  18. package/dist/adapters/latex/index.d.ts +33 -0
  19. package/dist/adapters/latex/index.d.ts.map +1 -0
  20. package/dist/adapters/latex/index.js +25 -0
  21. package/dist/adapters/latex/index.js.map +1 -0
  22. package/dist/adapters/latex/nodes.d.ts +58 -0
  23. package/dist/adapters/latex/nodes.d.ts.map +1 -0
  24. package/dist/adapters/latex/nodes.js +97 -0
  25. package/dist/adapters/latex/nodes.js.map +1 -0
  26. package/dist/adapters/latex/outline.d.ts +10 -0
  27. package/dist/adapters/latex/outline.d.ts.map +1 -0
  28. package/dist/adapters/latex/outline.js +39 -0
  29. package/dist/adapters/latex/outline.js.map +1 -0
  30. package/dist/adapters/latex/parse.d.ts +42 -0
  31. package/dist/adapters/latex/parse.d.ts.map +1 -0
  32. package/dist/adapters/latex/parse.js +95 -0
  33. package/dist/adapters/latex/parse.js.map +1 -0
  34. package/dist/adapters/latex/prose.d.ts +8 -0
  35. package/dist/adapters/latex/prose.d.ts.map +1 -0
  36. package/dist/adapters/latex/prose.js +353 -0
  37. package/dist/adapters/latex/prose.js.map +1 -0
  38. package/dist/adapters/latex/rendered.d.ts +10 -0
  39. package/dist/adapters/latex/rendered.d.ts.map +1 -0
  40. package/dist/adapters/latex/rendered.js +39 -0
  41. package/dist/adapters/latex/rendered.js.map +1 -0
  42. package/dist/adapters/pdfjs/fill.d.ts.map +1 -1
  43. package/dist/adapters/pdfjs/fill.js +12 -12
  44. package/dist/adapters/pdfjs/fill.js.map +1 -1
  45. package/dist/build.js +4 -4
  46. package/dist/build.js.map +1 -1
  47. package/dist/claim-provenance.d.ts +34 -0
  48. package/dist/claim-provenance.d.ts.map +1 -0
  49. package/dist/claim-provenance.js +146 -0
  50. package/dist/claim-provenance.js.map +1 -0
  51. package/dist/cli.d.ts.map +1 -1
  52. package/dist/cli.js +49 -5
  53. package/dist/cli.js.map +1 -1
  54. package/dist/domain/paper-source.d.ts +58 -0
  55. package/dist/domain/paper-source.d.ts.map +1 -0
  56. package/dist/domain/paper-source.js +109 -0
  57. package/dist/domain/paper-source.js.map +1 -0
  58. package/dist/domain/sentences.d.ts +26 -0
  59. package/dist/domain/sentences.d.ts.map +1 -0
  60. package/dist/domain/sentences.js +48 -0
  61. package/dist/domain/sentences.js.map +1 -0
  62. package/dist/domain/tex-document.d.ts +119 -0
  63. package/dist/domain/tex-document.d.ts.map +1 -0
  64. package/dist/domain/tex-document.js +43 -0
  65. package/dist/domain/tex-document.js.map +1 -0
  66. package/dist/eslint-rules/paper-typography.d.ts +7 -0
  67. package/dist/eslint-rules/paper-typography.d.ts.map +1 -1
  68. package/dist/eslint-rules/paper-typography.js +53 -1
  69. package/dist/eslint-rules/paper-typography.js.map +1 -1
  70. package/dist/facts-file.d.ts.map +1 -1
  71. package/dist/facts-file.js +2 -2
  72. package/dist/facts-file.js.map +1 -1
  73. package/dist/new-paper.d.ts +5 -0
  74. package/dist/new-paper.d.ts.map +1 -1
  75. package/dist/new-paper.js +3 -0
  76. package/dist/new-paper.js.map +1 -1
  77. package/dist/package-dirs.d.ts +5 -0
  78. package/dist/package-dirs.d.ts.map +1 -0
  79. package/dist/package-dirs.js +14 -0
  80. package/dist/package-dirs.js.map +1 -0
  81. package/dist/ports/latex.d.ts +35 -0
  82. package/dist/ports/latex.d.ts.map +1 -0
  83. package/dist/ports/latex.js +2 -0
  84. package/dist/ports/latex.js.map +1 -0
  85. package/dist/presets.d.ts +15 -2
  86. package/dist/presets.d.ts.map +1 -1
  87. package/dist/presets.js +19 -6
  88. package/dist/presets.js.map +1 -1
  89. package/dist/register.d.ts +40 -0
  90. package/dist/register.d.ts.map +1 -0
  91. package/dist/register.js +134 -0
  92. package/dist/register.js.map +1 -0
  93. package/dist/tex-paper.d.ts +19 -0
  94. package/dist/tex-paper.d.ts.map +1 -0
  95. package/dist/tex-paper.js +105 -0
  96. package/dist/tex-paper.js.map +1 -0
  97. package/dist/tex-requirements.d.ts +11 -0
  98. package/dist/tex-requirements.d.ts.map +1 -1
  99. package/dist/tex-requirements.js +14 -8
  100. package/dist/tex-requirements.js.map +1 -1
  101. package/dist/tex-venue-rules.d.ts +88 -0
  102. package/dist/tex-venue-rules.d.ts.map +1 -0
  103. package/dist/tex-venue-rules.js +268 -0
  104. package/dist/tex-venue-rules.js.map +1 -0
  105. package/dist/venue-rules.d.ts +1 -1
  106. package/dist/venue-rules.d.ts.map +1 -1
  107. package/docs/configuration.md +3 -2
  108. package/docs/e2e.md +69 -40
  109. package/docs/install.md +1 -1
  110. package/docs/prior-art/README.md +1 -1
  111. package/docs/prior-art/package-location.md +5 -5
  112. package/docs/prior-art/repro/README.md +1 -1
  113. package/docs/prior-art/test-tooling.md +21 -10
  114. package/docs/rules/tex/claim-provenance.md +83 -0
  115. package/docs/rules/tex/missing-input.md +58 -0
  116. package/docs/rules/tex/register.md +77 -0
  117. package/docs/rules/tex/required-section.md +75 -0
  118. package/docs/rules/tex/template.md +74 -0
  119. package/docs/rules/tex/venue-leftover.md +73 -0
  120. package/docs/rules.md +73 -48
  121. package/docs/testing.md +17 -4
  122. package/docs/texlive-install-decision.md +1 -1
  123. package/docs/toolchain.md +2 -2
  124. package/eslint-rules/paper-typography.test.mjs +48 -1
  125. package/eslint-rules/paper-typography.ts +72 -1
  126. package/eslint.config.mjs +156 -15
  127. package/fixtures/build-e2e/acmart/expect.json +26 -0
  128. package/fixtures/build-e2e/aidc/PIPELINE-STATUS.md +3 -0
  129. package/fixtures/build-e2e/aidc/expect.json +14 -0
  130. package/fixtures/build-e2e/aidc/paper.tex +46 -0
  131. package/fixtures/build-e2e/aidc/paperlint.json +1 -0
  132. package/fixtures/build-e2e/broken/expect.json +11 -0
  133. package/fixtures/build-e2e/cite/expect.json +27 -0
  134. package/fixtures/build-e2e/empty/expect.json +12 -0
  135. package/fixtures/build-e2e/fallback/expect.json +53 -0
  136. package/fixtures/build-e2e/guards/expect.json +6 -0
  137. package/fixtures/build-e2e/no-source/expect.json +10 -0
  138. package/fixtures/build-e2e/unbalanced/expect.json +60 -0
  139. package/fixtures/pdf-facts/README.md +1 -1
  140. package/fixtures/real-markdown-paper/baseline.ts +8 -7
  141. package/fixtures/render-paper/build-clean.sh +3 -5
  142. package/package.json +14 -2
  143. package/{skills/submit-paper/references/venues → presets}/acm-sigconf.jsonc +4 -1
  144. package/{skills/submit-paper/references/venues → presets}/agenticdev.jsonc +4 -0
  145. package/presets/aidc.jsonc +73 -0
  146. package/{skills/submit-paper/references/venues → presets}/aisec.jsonc +4 -0
  147. package/presets/ieee-conference.jsonc +66 -0
  148. package/{skills/submit-paper/references/venues → presets}/realm.jsonc +8 -1
  149. package/{skills/submit-paper/references/venues → presets/tex}/paper-guards.tex +1 -1
  150. package/{skills/submit-paper/references/venues → presets}/venue-profile.schema.json +30 -2
  151. package/scripts/check.harness.ts +64 -10
  152. package/scripts/check.test.ts +60 -13
  153. package/scripts/check.ts +83 -30
  154. package/scripts/test.test.ts +1 -1
  155. package/scripts/test.ts +1 -1
  156. package/skills/cold-read-diff/SKILL.md +31 -10
  157. package/skills/cold-read-diff/SKILL.md.spec.ts +30 -9
  158. package/skills/draft-paper/SKILL.md +2 -2
  159. package/skills/draft-paper/SKILL.md.spec.ts +1 -1
  160. package/skills/grade-paper-writing/SKILL.md +109 -44
  161. package/skills/grade-paper-writing/SKILL.md.spec.ts +108 -43
  162. package/skills/harden-paper/SKILL.md +35 -36
  163. package/skills/harden-paper/SKILL.md.spec.ts +34 -35
  164. package/skills/paper-adversarial-review/SKILL.md +2 -2
  165. package/skills/paper-adversarial-review/SKILL.md.spec.ts +1 -1
  166. package/skills/paper-pipeline/PIPELINE-MAP.md +2 -2
  167. package/skills/paper-pipeline/SKILL.md +4 -4
  168. package/skills/paper-pipeline/SKILL.md.spec.ts +3 -3
  169. package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +6 -6
  170. package/skills/paper-pipeline/references/writing-craft.md +53 -18
  171. package/skills/paper-pipeline/scripts/consumer.d.mts +0 -2
  172. package/skills/paper-pipeline/scripts/consumer.mjs +1 -15
  173. package/skills/pc-panel-review/SKILL.md +36 -11
  174. package/skills/pc-panel-review/SKILL.md.spec.ts +35 -10
  175. package/skills/render-paper/SKILL.md +2 -2
  176. package/skills/render-paper/SKILL.md.spec.ts +1 -1
  177. package/skills/render-paper/check-render.sh +16 -63
  178. package/skills/render-paper/render-paper.harness.mjs +17 -59
  179. package/src/adapters/banal/index.test.ts +1 -1
  180. package/src/adapters/banal/invocation.ts +1 -1
  181. package/src/adapters/banal/output.test.ts +1 -1
  182. package/src/adapters/banal/run.test.ts +1 -1
  183. package/src/adapters/banal/xml.test.ts +1 -1
  184. package/src/adapters/latex/document-class.ts +155 -0
  185. package/src/adapters/latex/hidden.ts +70 -0
  186. package/src/adapters/latex/includes.ts +66 -0
  187. package/src/adapters/latex/index.test.ts +535 -0
  188. package/src/adapters/latex/index.ts +65 -0
  189. package/src/adapters/latex/nodes.ts +150 -0
  190. package/src/adapters/latex/outline.ts +64 -0
  191. package/src/adapters/latex/parse.ts +137 -0
  192. package/src/adapters/latex/prose.ts +484 -0
  193. package/src/adapters/latex/rendered.ts +59 -0
  194. package/src/adapters/pdfjs/fill.test.ts +1 -1
  195. package/src/adapters/pdfjs/fill.ts +18 -10
  196. package/src/build.harness.mjs +5 -7
  197. package/src/build.ts +4 -4
  198. package/src/claim-provenance.test.ts +352 -0
  199. package/src/claim-provenance.ts +217 -0
  200. package/src/cli.harness.mjs +1 -1
  201. package/src/cli.test.ts +2 -8
  202. package/src/cli.ts +53 -8
  203. package/src/domain/paper-source.test.ts +156 -0
  204. package/src/domain/paper-source.ts +233 -0
  205. package/src/domain/sentences.ts +67 -0
  206. package/src/domain/tex-document.test.ts +80 -0
  207. package/src/domain/tex-document.ts +143 -0
  208. package/src/engine.harness.mjs +1 -1
  209. package/src/facts-file.test.ts +4 -7
  210. package/src/facts-file.ts +2 -2
  211. package/src/latex-loop.harness.ts +1 -1
  212. package/src/new-paper.test.ts +28 -3
  213. package/src/new-paper.ts +8 -0
  214. package/src/package-dirs.ts +17 -0
  215. package/src/paper-settings-commands.test.ts +6 -1
  216. package/src/ports/latex.ts +42 -0
  217. package/src/presets.test.ts +65 -4
  218. package/src/presets.ts +38 -15
  219. package/src/register.test.ts +165 -0
  220. package/src/register.ts +177 -0
  221. package/src/rule-cases.test.ts +524 -0
  222. package/src/rule-docs.test.ts +159 -0
  223. package/src/tex-paper.test.ts +131 -0
  224. package/src/tex-paper.ts +152 -0
  225. package/src/tex-requirements.harness.ts +13 -23
  226. package/src/tex-requirements.ts +35 -8
  227. package/src/tex-venue-rules.test.ts +741 -0
  228. package/src/tex-venue-rules.ts +461 -0
  229. package/src/toolchain.harness.mjs +1 -1
  230. package/src/venue-rules.test.ts +96 -4
  231. package/src/venue-rules.ts +1 -1
  232. package/templates/paper/paper.tex +2 -1
  233. package/skills/harden-paper/fixtures/uncited-assertions-sample.md +0 -43
  234. package/skills/harden-paper/fixtures/uncited-assertions-sample.tex +0 -77
  235. /package/{skills/submit-paper/references/venues → presets/tex}/agenticdev.tex +0 -0
  236. /package/{skills/submit-paper/references/venues → presets}/tex-base.jsonc +0 -0
@@ -0,0 +1,353 @@
1
+ import { hasAtLeast, sortBy } from "remeda";
2
+ import { argumentsOf, inPlace, macroPlace, mandatory, placeOf, stringText, } from "./nodes.js";
3
+ import { CITATION_MACROS, DEFINITION_MACROS } from "./parse.js";
4
+ const BREAK = { kind: "break" };
5
+ const END = { kind: "end" };
6
+ /** Environments whose body is not running prose: floats, tables, algorithms, drawings, code. */
7
+ const SKIPPED_ENVS = new Set([
8
+ "figure",
9
+ "figure*",
10
+ "table",
11
+ "table*",
12
+ "tabular",
13
+ "tabular*",
14
+ "tabularx",
15
+ "longtable",
16
+ "wrapfigure",
17
+ "wraptable",
18
+ "subfigure",
19
+ "subtable",
20
+ "algorithm",
21
+ "algorithm*",
22
+ "algorithmic",
23
+ "tikzpicture",
24
+ "lstlisting",
25
+ "verbatim",
26
+ "Verbatim",
27
+ "minted",
28
+ "comment",
29
+ "CCSXML",
30
+ ]);
31
+ /** Macros that start the back matter: nothing after them is the body. */
32
+ const BACK_MATTER = new Set([
33
+ "appendix",
34
+ "bibliography",
35
+ "printbibliography",
36
+ ]);
37
+ /** Macros that point at a numbered place in the paper. */
38
+ const REFERENCE_MACROS = new Set([
39
+ "ref",
40
+ "cref",
41
+ "Cref",
42
+ "autoref",
43
+ "Autoref",
44
+ "eqref",
45
+ "pageref",
46
+ "nameref",
47
+ "vref",
48
+ "Vref",
49
+ "cpageref",
50
+ ]);
51
+ /** Macros that name a source outside the paper: a citation (`\nocite` prints nothing), or a link. */
52
+ const SOURCE_MACROS = new Set([
53
+ ...[...CITATION_MACROS].filter((m) => m !== "nocite"),
54
+ "url",
55
+ ]);
56
+ /** Macros that end a passage and whose arguments are not prose: headings, captions, the title block. */
57
+ const BREAK_MACROS = new Set([
58
+ "part",
59
+ "chapter",
60
+ "section",
61
+ "subsection",
62
+ "subsubsection",
63
+ "paragraph",
64
+ "subparagraph",
65
+ "caption",
66
+ "captionof",
67
+ "bibitem",
68
+ "maketitle",
69
+ "title",
70
+ "subtitle",
71
+ "author",
72
+ "date",
73
+ "newpage",
74
+ "clearpage",
75
+ ]);
76
+ /** Formatting macros whose last mandatory argument is prose, read where it stands. */
77
+ const INLINE_MACROS = new Set([
78
+ "emph",
79
+ "textbf",
80
+ "textit",
81
+ "texttt",
82
+ "textsc",
83
+ "textsf",
84
+ "textrm",
85
+ "textsl",
86
+ "textup",
87
+ "textmd",
88
+ "textnormal",
89
+ "underline",
90
+ "uline",
91
+ "mbox",
92
+ "hbox",
93
+ "text",
94
+ "enquote",
95
+ "textcolor",
96
+ "colorbox",
97
+ "fbox",
98
+ "textsuperscript",
99
+ "textsubscript",
100
+ ]);
101
+ /** Macros that typeset one character or a space. */
102
+ const CHARACTER_MACROS = new Map([
103
+ ["%", "%"],
104
+ ["&", "&"],
105
+ ["$", "$"],
106
+ ["#", "#"],
107
+ ["_", "_"],
108
+ ["{", "{"],
109
+ ["}", "}"],
110
+ ["S", "§"],
111
+ ["P", "¶"],
112
+ ["textpercent", "%"],
113
+ ["ldots", "…"],
114
+ ["dots", "…"],
115
+ ["textellipsis", "…"],
116
+ ["textendash", "–"],
117
+ ["textemdash", "—"],
118
+ ...[
119
+ ",",
120
+ " ",
121
+ ";",
122
+ ":",
123
+ "quad",
124
+ "qquad",
125
+ "enspace",
126
+ "thinspace",
127
+ "\\",
128
+ "newline",
129
+ ].map((m) => [m, " "]),
130
+ ]);
131
+ const piece = (p) => ({ kind: "piece", piece: p });
132
+ /** `s`, typeset where `n` starts. */
133
+ const textAt = (n, s) => inPlace(placeOf(n), (span) => [
134
+ piece({ kind: "text", segment: { text: s, at: span.start } }),
135
+ ]);
136
+ /**
137
+ * The character a macro typesets, placed at the macro's LAST source character: a sentence that ends
138
+ * on `\%` then spans the whole macro, not its backslash.
139
+ */
140
+ const characterAt = (m, ch) => inPlace(placeOf(m), (span) => [
141
+ piece({ kind: "text", segment: { text: ch, at: span.end - 1 } }),
142
+ ]);
143
+ /** A mark over a macro and its arguments. */
144
+ const mark = (m, owner) => inPlace(macroPlace(m), (span) => [piece({ kind: "owner", owner, span })]);
145
+ /** Math, as its source, where it stands. */
146
+ const math = (t, n) => inPlace(placeOf(n), (span) => [
147
+ piece({ kind: "math", tex: t.src.slice(span.start, span.end), span }),
148
+ ]);
149
+ /** The content of a macro's last mandatory argument: what a formatting macro or a footnote typesets. */
150
+ const lastArgument = (m) => mandatory(m).at(-1)?.content ?? [];
151
+ /**
152
+ * Whether a walk yielded a citation or a link. A footnote nested inside that cites has already left
153
+ * its own citation mark among these events, so the top level is enough.
154
+ */
155
+ const cites = (events) => events.some((e) => e.kind === "piece" &&
156
+ e.piece.kind === "owner" &&
157
+ e.piece.owner === "citation");
158
+ /**
159
+ * What a list item typesets: the parser hands an `\item` its text as the last argument (the
160
+ * `[label]` before it is not prose).
161
+ */
162
+ const itemBody = (m) => argumentsOf(m)
163
+ .slice(-1)
164
+ .flatMap((a) => a.content);
165
+ /** A footnote: its own passage, and a citation mark in the host sentence when it cites or links. */
166
+ function footnote(t, m) {
167
+ const inside = walkList(t, lastArgument(m));
168
+ const aside = { kind: "aside", events: inside };
169
+ return cites(inside) ? [...mark(m, "citation"), aside] : [aside];
170
+ }
171
+ /**
172
+ * Macros with events of their own: `\href{url}{text}` is a link whose text is prose; a footnote is a
173
+ * passage of its own; a list item ends a passage and opens the next with its text.
174
+ */
175
+ const OWN_EVENTS = new Map([
176
+ [
177
+ "href",
178
+ (t, m) => [
179
+ ...mark(m, "citation"),
180
+ ...walkList(t, lastArgument(m)),
181
+ ],
182
+ ],
183
+ ["footnote", footnote],
184
+ [
185
+ "item",
186
+ (t, m) => [BREAK, ...walkList(t, itemBody(m), true)],
187
+ ],
188
+ ]);
189
+ function macroEvents(t, m) {
190
+ const name = m.content;
191
+ if (DEFINITION_MACROS.has(name))
192
+ return [];
193
+ if (BACK_MATTER.has(name))
194
+ return [END];
195
+ if (REFERENCE_MACROS.has(name))
196
+ return mark(m, "reference");
197
+ if (SOURCE_MACROS.has(name))
198
+ return mark(m, "citation");
199
+ const own = OWN_EVENTS.get(name);
200
+ if (own !== undefined)
201
+ return own(t, m);
202
+ if (BREAK_MACROS.has(name))
203
+ return [BREAK];
204
+ if (INLINE_MACROS.has(name))
205
+ return walkList(t, lastArgument(m));
206
+ const ch = CHARACTER_MACROS.get(name);
207
+ return ch === undefined ? [] : characterAt(m, ch);
208
+ }
209
+ function environmentEvents(t, e) {
210
+ if (e.type === "mathenv")
211
+ return math(t, e);
212
+ if (e.env === "thebibliography")
213
+ return [END];
214
+ if (SKIPPED_ENVS.has(e.env))
215
+ return [BREAK];
216
+ return [BREAK, ...walkList(t, e.content, true), BREAK];
217
+ }
218
+ /**
219
+ * Inline and display math (an equation environment is typed as an environment, and read there),
220
+ * what ends a passage, and what holds no prose.
221
+ */
222
+ const isMath = (n) => n.type === "inlinemath" || n.type === "displaymath";
223
+ const isBreak = (n) => n.type === "parbreak" || n.type === "verbatim";
224
+ const isSilent = (n) => n.type === "comment" || n.type === "verb" || n.type === "root";
225
+ function nodeEvents(t, n) {
226
+ if (isMath(n))
227
+ return math(t, n);
228
+ if (isBreak(n))
229
+ return [BREAK];
230
+ if (isSilent(n))
231
+ return [];
232
+ switch (n.type) {
233
+ case "string":
234
+ return textAt(n, stringText(n.content));
235
+ case "whitespace":
236
+ return textAt(n, " ");
237
+ case "group":
238
+ return walkList(t, n.content);
239
+ case "environment":
240
+ case "mathenv":
241
+ return environmentEvents(t, n);
242
+ case "macro":
243
+ return macroEvents(t, n);
244
+ }
245
+ }
246
+ /** A macro whose `{…}` and `[…]` after it are its arguments, unattached: not a formatting or a character macro. */
247
+ const isUnsignedMacro = (n) => n.type === "macro" &&
248
+ n.args === undefined &&
249
+ !INLINE_MACROS.has(n.content) &&
250
+ !CHARACTER_MACROS.has(n.content);
251
+ const isString = (n, s) => n.type === "string" && n.content === s;
252
+ /** A `{…}` group, or digits glued to the macro (`\if\conference1`): an argument it takes. */
253
+ const isMandatoryArgument = (n) => n.type === "group" || (n.type === "string" && /^\d+$/u.test(n.content));
254
+ /** One node's step: whether it is skipped as an argument, and the state after it. */
255
+ function step(state, n) {
256
+ if (state === "optional")
257
+ return { skip: true, state: isString(n, "]") ? "arguments" : "optional" };
258
+ if (state === "arguments" && isMandatoryArgument(n))
259
+ return { skip: true, state: "arguments" };
260
+ if (state === "arguments" && isString(n, "["))
261
+ return { skip: true, state: "optional" };
262
+ return { skip: false, state: isUnsignedMacro(n) ? "arguments" : "prose" };
263
+ }
264
+ /**
265
+ * The nodes of a list that are prose: without the `{…}`, `[…]` and glued digits right after a
266
+ * macro the parser gave no signature — `\institution{…}`, `\ccsdesc[500]{…}`, `\tool{}`,
267
+ * `\if\conference1` — which are its arguments, not text. A formatting macro's group (`\enquote{…}` without csquotes' signature) stays prose.
268
+ */
269
+ const proseNodes = (list) => list.reduce((acc, n) => {
270
+ const next = step(acc.state, n);
271
+ return {
272
+ kept: next.skip ? acc.kept : [...acc.kept, n],
273
+ state: next.state,
274
+ };
275
+ }, { kept: [], state: "prose" }).kept;
276
+ /** Formatting macros a run-in heading is set in: `\textbf{Correctness gate.} Each task…`. */
277
+ const RUN_IN_MACROS = new Set([
278
+ "textbf",
279
+ "textit",
280
+ "emph",
281
+ "textsc",
282
+ "underline",
283
+ ]);
284
+ /** The text a list of events typesets, marks and math left out. */
285
+ const typeset = (events) => events
286
+ .map((e) => e.kind === "piece" && e.piece.kind === "text" ? e.piece.segment.text : "")
287
+ .join("");
288
+ /** A formatting macro whose phrase ends in `.` or `:` — a run-in heading, when it opens a paragraph. */
289
+ const isRunInHeading = (t, n) => n.type === "macro" &&
290
+ RUN_IN_MACROS.has(n.content) &&
291
+ /[.:]$/u.test(typeset(walkList(t, lastArgument(n))).trim());
292
+ /** Macros that typeset no text, and so leave a paragraph's opening where it was. */
293
+ const SILENT_AT_OPENING = new Set([
294
+ "noindent",
295
+ "label",
296
+ "vspace",
297
+ "smallskip",
298
+ "medskip",
299
+ "bigskip",
300
+ "phantomsection",
301
+ ]);
302
+ /** Nodes that leave a paragraph's opening where it was: spaces, comments, macros that typeset nothing. */
303
+ const keepsOpening = (n) => n.type === "whitespace" ||
304
+ n.type === "comment" ||
305
+ (n.type === "macro" && SILENT_AT_OPENING.has(n.content));
306
+ /** Nodes after which a paragraph opens: a paragraph break, and a macro that ends a passage (a heading). */
307
+ const opensAfter = (n) => n.type === "parbreak" || (n.type === "macro" && BREAK_MACROS.has(n.content));
308
+ /**
309
+ * A list's events. `opens` says the list starts a paragraph (the body, an environment's content);
310
+ * a run-in heading that opens a paragraph ends the passage before it and is left out, like a heading.
311
+ */
312
+ function walkList(t, list, opens = false) {
313
+ return proseNodes(list).reduce((acc, n) => ({
314
+ events: [
315
+ ...acc.events,
316
+ ...(acc.opening && isRunInHeading(t, n) ? [BREAK] : nodeEvents(t, n)),
317
+ ],
318
+ opening: opensAfter(n) || (acc.opening && keepsOpening(n)),
319
+ }), { events: [], opening: opens }).events;
320
+ }
321
+ /** The events before the back matter starts. */
322
+ const untilEnd = (events) => {
323
+ const end = events.findIndex((e) => e.kind === "end");
324
+ return end < 0 ? events : events.slice(0, end);
325
+ };
326
+ /** Events → passages: pieces between breaks, each footnote a passage of its own. */
327
+ function passagesOf(events) {
328
+ const { done, current } = events.reduce((acc, e) => e.kind === "piece"
329
+ ? { done: acc.done, current: [...acc.current, e.piece] }
330
+ : e.kind === "break"
331
+ ? { done: [...acc.done, acc.current], current: [] }
332
+ : acc, { done: [], current: [] });
333
+ const asides = events.flatMap((e) => e.kind === "aside" ? passagesOf(untilEnd(e.events)) : []);
334
+ const own = [...done, current].flatMap((pieces) => hasAtLeast(pieces, 1) ? [{ pieces }] : []);
335
+ return [...own, ...asides];
336
+ }
337
+ const isDocument = (n) => n.type === "environment" && n.env === "document";
338
+ /** A passage with something in it besides spaces. */
339
+ const hasProse = (p) => p.pieces.some((x) => x.kind !== "text" || x.segment.text.trim() !== "");
340
+ /** Where a passage starts in the source. */
341
+ const startOf = (p) => {
342
+ const first = p.pieces[0];
343
+ return first.kind === "text" ? first.segment.at : first.span.start;
344
+ };
345
+ /**
346
+ * The body's prose, in document order: the content of the `document` environment (the whole
347
+ * source when there is none), up to the first back-matter node.
348
+ */
349
+ export function bodyProse(t) {
350
+ const body = t.root.content.find(isDocument)?.content ?? t.root.content;
351
+ return sortBy(passagesOf(untilEnd(walkList(t, body, true))).filter(hasProse), startOf);
352
+ }
353
+ //# sourceMappingURL=prose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prose.js","sourceRoot":"","sources":["../../../src/adapters/latex/prose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { TextRun } from "../../domain/tex-document.ts";
2
+ import type { ParsedTex } from "./parse.ts";
3
+ /**
4
+ * Runs of rendered text, in document order: stretches of sibling strings and spaces. Everything
5
+ * else ends a run and is entered — a group's text, a macro's arguments — except what a reader never
6
+ * sees (`isUnrendered`): comments, math, code, the bibliography, keys and URLs. A macro definition's
7
+ * body is read where it is written.
8
+ */
9
+ export declare const renderedRuns: (t: ParsedTex) => readonly TextRun[];
10
+ //# sourceMappingURL=rendered.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rendered.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/rendered.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,OAAO,EAAE,MAAM,8BAA8B,CAAC;AASrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAqC5C;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,SAAS,KAAG,SAAS,OAAO,EAIzD,CAAC"}
@@ -0,0 +1,39 @@
1
+ /** The text a reader sees, each character with the source offset it came from. */
2
+ import { hasAtLeast, sortBy } from "remeda";
3
+ import { isUnrendered } from "./hidden.js";
4
+ import { isList, stringText, visited, } from "./nodes.js";
5
+ /** A node's rendered text and where it starts, or null when it is not text (it ends a run). */
6
+ function segmentOf(n) {
7
+ const at = n.position?.start.offset;
8
+ if (at === undefined)
9
+ return null;
10
+ if (n.type === "whitespace" || n.type === "parbreak")
11
+ return { text: " ", at };
12
+ if (n.type !== "string")
13
+ return null;
14
+ return { text: stringText(n.content), at };
15
+ }
16
+ /** One node list → its runs: stretches of sibling text, split wherever anything else stands. */
17
+ function runsOf(list) {
18
+ const { done, current } = list.reduce((acc, n) => {
19
+ const seg = segmentOf(n);
20
+ return seg === null
21
+ ? { done: [...acc.done, acc.current], current: [] }
22
+ : { done: acc.done, current: [...acc.current, seg] };
23
+ }, { done: [], current: [] });
24
+ return [...done, current].flatMap((g) => hasAtLeast(g, 1) &&
25
+ g
26
+ .map((x) => x.text)
27
+ .join("")
28
+ .trim() !== ""
29
+ ? [{ segments: g }]
30
+ : []);
31
+ }
32
+ /**
33
+ * Runs of rendered text, in document order: stretches of sibling strings and spaces. Everything
34
+ * else ends a run and is entered — a group's text, a macro's arguments — except what a reader never
35
+ * sees (`isUnrendered`): comments, math, code, the bibliography, keys and URLs. A macro definition's
36
+ * body is read where it is written.
37
+ */
38
+ export const renderedRuns = (t) => sortBy(visited(t.root, isUnrendered).filter(isList).flatMap(runsOf), (r) => r.segments[0].at);
39
+ //# sourceMappingURL=rendered.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rendered.js","sourceRoot":"","sources":["../../../src/adapters/latex/rendered.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,MAAM,EACN,UAAU,EACV,OAAO,GAGR,MAAM,YAAY,CAAC;AAGpB,+FAA+F;AAC/F,SAAS,SAAS,CAAC,CAAkB;IACnC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QAClD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,gGAAgG;AAChG,SAAS,MAAM,CAAC,IAAkC;IAChD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAInC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QACT,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,OAAO,GAAG,KAAK,IAAI;YACjB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;IACzD,CAAC,EACD,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAC1B,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,CAAC;aACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,EAAE,CAAC;aACR,IAAI,EAAE,KAAK,EAAE;QACd,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACnB,CAAC,CAAC,EAAE,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAY,EAAsB,EAAE,CAC/D,MAAM,CACJ,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../../src/adapters/pdfjs/fill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGvD;AAED,0FAA0F;AAC1F,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;CACxC;AAQD,6GAA6G;AAC7G,wBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAQ3C;AAwCD,wDAAwD;AACxD,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,EAAE,CAc3E;AAED,mFAAmF;AACnF,eAAO,MAAM,SAAS,OAAO,CAAC;AAoB9B;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,IAAI,EAAE,CAER;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EAAE,CAY7C"}
1
+ {"version":3,"file":"fill.d.ts","sourceRoot":"","sources":["../../../src/adapters/pdfjs/fill.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAExD,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAGvD;AAED,0FAA0F;AAC1F,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,OAAO,EAAE,CAAC;CACxC;AAQD,6GAA6G;AAC7G,wBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAQ3C;AAwCD,wDAAwD;AACxD,UAAU,KAAK;IACb,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,EAAE,CAc3E;AAED,mFAAmF;AACnF,eAAO,MAAM,SAAS,OAAO,CAAC;AAoB9B;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,IAAI,EAAE,CAER;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;CAAE,EAAE,CAoB7C"}
@@ -91,17 +91,17 @@ export function fillsOf(ops, list, items) {
91
91
  */
92
92
  export function fillsFor(ops, list, items, textOf) {
93
93
  const drawn = drawnCharacters(ops, list);
94
- let at = 0;
95
- const fillOf = (text) => {
96
- const want = Array.from(squeeze(text));
97
- if (want.length === 0)
98
- return { kind: "unknown" };
99
- const hit = findRun(drawn, want, at);
100
- if (hit === null)
101
- return { kind: "unknown" };
102
- at = hit.at + want.length;
103
- return hit.fill;
104
- };
105
- return items.map((item) => ({ item, fill: fillOf(textOf(item)) }));
94
+ // Each item is searched for after the previous one's match: the offset threads through.
95
+ const { out } = items.reduce((acc, item) => {
96
+ const want = Array.from(squeeze(textOf(item)));
97
+ const hit = want.length === 0 ? null : findRun(drawn, want, acc.at);
98
+ return hit === null
99
+ ? { at: acc.at, out: [...acc.out, { item, fill: { kind: "unknown" } }] }
100
+ : {
101
+ at: hit.at + want.length,
102
+ out: [...acc.out, { item, fill: hit.fill }],
103
+ };
104
+ }, { at: 0, out: [] });
105
+ return [...out];
106
106
  }
107
107
  //# sourceMappingURL=fill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/adapters/pdfjs/fill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fill.js","sourceRoot":"","sources":["../../../src/adapters/pdfjs/fill.ts"],"names":[],"mappings":"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"}
package/dist/build.js CHANGED
@@ -34,7 +34,7 @@
34
34
  * The decision of the LaTeX loop is `latex-loop.ts`, reading the log is `latex-log.ts`; both are
35
35
  * pure. This file is the shell: it runs processes through the injected `run` (the existing port —
36
36
  * `spawnSync` by default) and reads the files a pass left behind. Where paperlint's own files live is
37
- * answered by `consumer.mjs`, the one module allowed to know it (rule 10).
37
+ * answered by `package-dirs.ts`, the one module allowed to know it (rule 10).
38
38
  */
39
39
  // eslint-disable-next-line boundaries/dependencies -- legacy I/O, moves behind a port in #76
40
40
  import { existsSync, readdirSync, readFileSync, rmSync } from "node:fs";
@@ -44,7 +44,7 @@ import { createHash } from "node:crypto";
44
44
  import { delimiter, join, relative } from "node:path";
45
45
  // eslint-disable-next-line boundaries/dependencies -- legacy layer, moves behind a port in #76
46
46
  import { getParser } from "@unified-latex/unified-latex-util-parse";
47
- import { packageVenuesDir } from "../skills/paper-pipeline/scripts/consumer.mjs";
47
+ import { texInputsDir } from "./package-dirs.js";
48
48
  import { CONFIG_FILE } from "#lib/paper-config";
49
49
  import { declaredVenue, factsPath, measurePaper, writeFactsFile, FACTS_DIR, FACTS_FILE, } from "./facts-file.js";
50
50
  import { readPdf as pdfjsReader } from "./pdf-facts.js";
@@ -150,11 +150,11 @@ export const inputsStep = {
150
150
  required: false,
151
151
  applies: () => ({
152
152
  yes: true,
153
- why: `TEXINPUTS += ${packageVenuesDir()}`,
153
+ why: `TEXINPUTS += ${texInputsDir()}`,
154
154
  }),
155
155
  run: (ctx) => ({
156
156
  ok: true,
157
- env: withTexInputs(ctx.env, [packageVenuesDir()]),
157
+ env: withTexInputs(ctx.env, [texInputsDir()]),
158
158
  }),
159
159
  };
160
160
  // ── step: compile ───────────────────────────────────────────────────────────────────────
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}