paperlint 10.4.1 → 11.0.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/.github/workflows/deadlines.yml +27 -7
- package/README.md +16 -15
- package/dist/adapters/hotcrp/index.d.ts +6 -4
- package/dist/adapters/hotcrp/index.d.ts.map +1 -1
- package/dist/adapters/hotcrp/index.js +6 -4
- package/dist/adapters/hotcrp/index.js.map +1 -1
- package/dist/adapters/hotcrp/portal.io.d.ts +3 -1
- package/dist/adapters/hotcrp/portal.io.d.ts.map +1 -1
- package/dist/adapters/hotcrp/portal.io.js +36 -11
- package/dist/adapters/hotcrp/portal.io.js.map +1 -1
- package/dist/adapters/hotcrp/response.d.ts +6 -1
- package/dist/adapters/hotcrp/response.d.ts.map +1 -1
- package/dist/adapters/hotcrp/response.js +17 -0
- package/dist/adapters/hotcrp/response.js.map +1 -1
- package/dist/adapters/hotcrp/site.d.ts +9 -0
- package/dist/adapters/hotcrp/site.d.ts.map +1 -0
- package/dist/adapters/hotcrp/site.js +22 -0
- package/dist/adapters/hotcrp/site.js.map +1 -0
- package/dist/adapters/hotcrp/token.d.ts +13 -0
- package/dist/adapters/hotcrp/token.d.ts.map +1 -0
- package/dist/adapters/hotcrp/token.js +48 -0
- package/dist/adapters/hotcrp/token.js.map +1 -0
- package/dist/adapters/latex/abstract.d.ts +22 -0
- package/dist/adapters/latex/abstract.d.ts.map +1 -0
- package/dist/adapters/latex/abstract.js +187 -0
- package/dist/adapters/latex/abstract.js.map +1 -0
- package/dist/adapters/latex/headings.d.ts +6 -0
- package/dist/adapters/latex/headings.d.ts.map +1 -1
- package/dist/adapters/latex/headings.js +5 -4
- package/dist/adapters/latex/headings.js.map +1 -1
- package/dist/adapters/latex/index.d.ts.map +1 -1
- package/dist/adapters/latex/index.js +2 -0
- package/dist/adapters/latex/index.js.map +1 -1
- package/dist/adapters/latex/parse.d.ts +15 -0
- package/dist/adapters/latex/parse.d.ts.map +1 -1
- package/dist/adapters/latex/parse.js +58 -1
- package/dist/adapters/latex/parse.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +20 -8
- package/dist/cli.js.map +1 -1
- package/dist/cycle-rules.d.ts.map +1 -1
- package/dist/cycle-rules.js +3 -4
- package/dist/cycle-rules.js.map +1 -1
- package/dist/domain/deadline.d.ts +8 -1
- package/dist/domain/deadline.d.ts.map +1 -1
- package/dist/domain/deadline.js +26 -12
- package/dist/domain/deadline.js.map +1 -1
- package/dist/domain/portal-token.d.ts +44 -0
- package/dist/domain/portal-token.d.ts.map +1 -0
- package/dist/domain/portal-token.js +32 -0
- package/dist/domain/portal-token.js.map +1 -0
- package/dist/domain/submission.d.ts +30 -0
- package/dist/domain/submission.d.ts.map +1 -1
- package/dist/domain/submission.js +68 -0
- package/dist/domain/submission.js.map +1 -1
- package/dist/lib/paper-config.d.ts +1 -1
- package/dist/lib/paper-config.d.ts.map +1 -1
- package/dist/lib/paper-config.js +6 -4
- package/dist/lib/paper-config.js.map +1 -1
- package/dist/paper-settings.d.ts +3 -1
- package/dist/paper-settings.d.ts.map +1 -1
- package/dist/paper-settings.js +11 -5
- package/dist/paper-settings.js.map +1 -1
- package/dist/ports/latex.d.ts +23 -0
- package/dist/ports/latex.d.ts.map +1 -1
- package/dist/ports/submission-portal.d.ts +39 -2
- package/dist/ports/submission-portal.d.ts.map +1 -1
- package/dist/ports/venue-deadlines.d.ts +1 -1
- package/dist/submission.d.ts +49 -11
- package/dist/submission.d.ts.map +1 -1
- package/dist/submission.js +332 -44
- package/dist/submission.js.map +1 -1
- package/docs/configuration.md +2 -1
- package/docs/rules/cycle/record.md +9 -6
- package/docs/submission.md +47 -48
- package/eslint.config.mjs +3 -0
- package/lib/paper-config.ts +7 -4
- package/package.json +6 -1
- package/presets/msr.jsonc +9 -7
- package/presets/msr.md +14 -10
- package/scripts/check.ts +1 -1
- package/scripts/refresh-deadlines/compare.test.ts +75 -0
- package/scripts/refresh-deadlines/compare.ts +101 -0
- package/scripts/refresh-deadlines/main.test.ts +140 -0
- package/scripts/refresh-deadlines/main.ts +56 -0
- package/scripts/refresh-deadlines/refresh.test.ts +287 -0
- package/scripts/refresh-deadlines/refresh.ts +183 -0
- package/skills/submission-portal/SKILL.md +60 -44
- package/skills/submission-portal/SKILL.md.spec.ts +62 -43
- package/skills/submission-portal/submission-portal.test.ts +4 -73
- package/src/adapters/hotcrp/cassette/README.md +4 -4
- package/src/adapters/hotcrp/cassette/deadlines-msr2027.html +9 -9
- package/src/adapters/hotcrp/deadlines.io.test.ts +2 -2
- package/src/adapters/hotcrp/deadlines.test.ts +3 -3
- package/src/adapters/hotcrp/index.ts +15 -3
- package/src/adapters/hotcrp/portal.io.ts +61 -17
- package/src/adapters/hotcrp/portal.test.ts +105 -1
- package/src/adapters/hotcrp/response.ts +21 -0
- package/src/adapters/hotcrp/site.ts +34 -0
- package/src/adapters/hotcrp/token.test.ts +69 -0
- package/src/adapters/hotcrp/token.ts +51 -0
- package/src/adapters/latex/abstract.test.ts +280 -0
- package/src/adapters/latex/abstract.ts +272 -0
- package/src/adapters/latex/headings.ts +5 -4
- package/src/adapters/latex/index.test.ts +31 -1
- package/src/adapters/latex/index.ts +2 -0
- package/src/adapters/latex/parse.ts +64 -3
- package/src/cli.test.ts +20 -8
- package/src/cli.ts +22 -13
- package/src/cycle-rules.test.ts +6 -6
- package/src/cycle-rules.ts +7 -4
- package/src/domain/deadline.test.ts +31 -2
- package/src/domain/deadline.ts +42 -16
- package/src/domain/portal-token.test.ts +55 -0
- package/src/domain/portal-token.ts +63 -0
- package/src/domain/submission.test.ts +88 -0
- package/src/domain/submission.ts +99 -0
- package/src/new-paper.test.ts +1 -0
- package/src/paper-settings.test.ts +20 -0
- package/src/paper-settings.ts +17 -5
- package/src/ports/latex.ts +25 -0
- package/src/ports/submission-portal.ts +43 -1
- package/src/ports/venue-deadlines.ts +1 -1
- package/src/presets.test.ts +8 -5
- package/src/submission-new.test.ts +569 -0
- package/src/submission-show.test.ts +210 -0
- package/src/submission-update.test.ts +160 -0
- package/src/submission.test.ts +140 -518
- package/src/submission.ts +494 -61
- package/scripts/refresh-deadlines.test.ts +0 -431
- package/scripts/refresh-deadlines.ts +0 -387
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { expandUnicodeLigatures } from "@unified-latex/unified-latex-util-ligatures";
|
|
2
|
+
import { expandMacros, newcommandMacroToName, newcommandMacroToSpec, newcommandMacroToSubstitutionAst, newcommandMatcher, } from "@unified-latex/unified-latex-util-macros";
|
|
3
|
+
import { replaceNode } from "@unified-latex/unified-latex-util-replace";
|
|
4
|
+
import { fieldOf } from "../../domain/record.js";
|
|
5
|
+
import { err, ok } from "../../domain/result.js";
|
|
6
|
+
import { INVISIBLE, LINE_BREAKS, TRANSPARENT } from "./headings.js";
|
|
7
|
+
import { argumentsOf, isNode, visited, } from "./nodes.js";
|
|
8
|
+
import { ACCENT_SYMBOLS, CITATION_MACROS, DEF_MACROS, liveRoot, LOGO_MACROS, MATH_CHARACTERS, parseLatex, SET_APART_MACROS, SILENT_MACROS, } from "./parse.js";
|
|
9
|
+
const PLAIN_MATH = /^[\p{L}\p{N}\s.,:;+\-=<>()/!|']*$/u;
|
|
10
|
+
/** Rounds of expansion before a macro still standing is taken to expand into itself. */
|
|
11
|
+
const DEPTH = 16;
|
|
12
|
+
const at = (n) => n.position?.start.offset ?? -1;
|
|
13
|
+
const end = (n) => n.position?.end.offset ?? at(n);
|
|
14
|
+
const refuse = (what, n) => err({ kind: "unreadable", what, at: at(n) });
|
|
15
|
+
/** `\def\x{body}` → its body; `\def\x#1{…}` takes arguments. util-macros does not read `\def`. */
|
|
16
|
+
function defDefinition(m) {
|
|
17
|
+
const [name, body] = argumentsOf(m);
|
|
18
|
+
const macro = name?.content.find((n) => n.type === "macro");
|
|
19
|
+
if (macro?.type !== "macro" || body === undefined)
|
|
20
|
+
return [];
|
|
21
|
+
const hash = body.content.some((n) => n.type === "string" && n.content.includes("#"));
|
|
22
|
+
return [[macro.content, hash ? null : body.content]];
|
|
23
|
+
}
|
|
24
|
+
/** `\newcommand` and its kin, read by util-macros. */
|
|
25
|
+
function definitionOf(m) {
|
|
26
|
+
if (DEF_MACROS.has(m.content))
|
|
27
|
+
return defDefinition(m);
|
|
28
|
+
// A \newcommand the parser gave no name has none here either: util-macros answers "".
|
|
29
|
+
const name = newcommandMatcher(m) ? newcommandMacroToName(m) : "";
|
|
30
|
+
if (name === "")
|
|
31
|
+
return [];
|
|
32
|
+
const plain = newcommandMacroToSpec(m) === "";
|
|
33
|
+
return [[name, plain ? newcommandMacroToSubstitutionAst(m) : null]];
|
|
34
|
+
}
|
|
35
|
+
/** Every macro the source defines, with each of its definitions' places. */
|
|
36
|
+
function definitionsIn(nodes) {
|
|
37
|
+
const found = nodes.flatMap((n) => n.type === "macro"
|
|
38
|
+
? definitionOf(n).map(([name, body]) => ({ name, body, at: at(n) }))
|
|
39
|
+
: []);
|
|
40
|
+
return new Map(found.map((d) => [
|
|
41
|
+
d.name,
|
|
42
|
+
{
|
|
43
|
+
body: d.body,
|
|
44
|
+
at: found.filter((e) => e.name === d.name).map((e) => e.at),
|
|
45
|
+
own: d.at,
|
|
46
|
+
},
|
|
47
|
+
]));
|
|
48
|
+
}
|
|
49
|
+
/** Nodes in order, joined; the first refusal stops the reading. */
|
|
50
|
+
const joined = (nodes, one) => nodes.reduce((acc, n) => {
|
|
51
|
+
if (!acc.ok)
|
|
52
|
+
return acc;
|
|
53
|
+
const t = one(n);
|
|
54
|
+
return t.ok ? ok(acc.value + t.value) : t;
|
|
55
|
+
}, ok(""));
|
|
56
|
+
/** A macro of the author's still standing after expansion: why it is. */
|
|
57
|
+
function definedProblem(m, r) {
|
|
58
|
+
const def = r.defs.get(m.content);
|
|
59
|
+
if (def === undefined)
|
|
60
|
+
return null;
|
|
61
|
+
if (def.at.length > 1)
|
|
62
|
+
return err({ kind: "redefined", name: m.content, at: def.at });
|
|
63
|
+
if (def.own >= r.start)
|
|
64
|
+
return err({
|
|
65
|
+
kind: "unreadable",
|
|
66
|
+
what: `\\${m.content}, which the paper defines only after the abstract begins`,
|
|
67
|
+
at: def.own,
|
|
68
|
+
});
|
|
69
|
+
const why = def.body === null ? "takes arguments" : "expands into itself";
|
|
70
|
+
return refuse(`\\${m.content}, which ${why}`, m);
|
|
71
|
+
}
|
|
72
|
+
/** What a macro of the shared sets prints regardless of its arguments; null for any other. */
|
|
73
|
+
function fixedText(name) {
|
|
74
|
+
if (CITATION_MACROS.has(name) || INVISIBLE.has(name))
|
|
75
|
+
return "";
|
|
76
|
+
if (SILENT_MACROS.has(name))
|
|
77
|
+
return "";
|
|
78
|
+
if (LINE_BREAKS.has(name))
|
|
79
|
+
return " ";
|
|
80
|
+
return LOGO_MACROS.get(name) ?? null;
|
|
81
|
+
}
|
|
82
|
+
function macroText(m, r) {
|
|
83
|
+
const name = m.content;
|
|
84
|
+
const fixed = fixedText(name);
|
|
85
|
+
if (fixed !== null)
|
|
86
|
+
return ok(fixed);
|
|
87
|
+
if (TRANSPARENT.has(name) || SET_APART_MACROS.has(name))
|
|
88
|
+
return joined(m.args?.at(-1)?.content ?? [], (n) => textNode(n, r));
|
|
89
|
+
return (definedProblem(m, r) ??
|
|
90
|
+
refuse(`\\${name}, which no \\newcommand, \\renewcommand or \\def in the paper defines`, m));
|
|
91
|
+
}
|
|
92
|
+
/** `$…$`: digits, letters and plain symbols, or refused whole. A group in math only groups. */
|
|
93
|
+
function mathText(math, r) {
|
|
94
|
+
const whole = refuse(`the math ${r.src.slice(at(math), end(math))}`, math);
|
|
95
|
+
const one = (n) => {
|
|
96
|
+
if (n.type === "whitespace")
|
|
97
|
+
return ok(" ");
|
|
98
|
+
if (n.type === "group")
|
|
99
|
+
return joined(n.content, one);
|
|
100
|
+
if (n.type === "string")
|
|
101
|
+
return PLAIN_MATH.test(n.content) ? ok(n.content) : whole;
|
|
102
|
+
if (n.type !== "macro")
|
|
103
|
+
return whole;
|
|
104
|
+
const symbol = MATH_CHARACTERS.get(n.content);
|
|
105
|
+
return symbol === undefined ? (definedProblem(n, r) ?? whole) : ok(symbol);
|
|
106
|
+
};
|
|
107
|
+
return joined(math.content, one);
|
|
108
|
+
}
|
|
109
|
+
/** A math environment's name as the parser gives it: typed a string, a string node at run time. */
|
|
110
|
+
const mathEnvName = (n) => n.env;
|
|
111
|
+
/** A node that holds no text of its own to read: a comment, or a construct with no plain reading. */
|
|
112
|
+
function leafText(n) {
|
|
113
|
+
if (n.type === "whitespace" || n.type === "parbreak")
|
|
114
|
+
return ok(" ");
|
|
115
|
+
if (n.type === "comment")
|
|
116
|
+
// A comment eats its line's end; the space before the `%`, which the parser folds into it, stays.
|
|
117
|
+
return ok(n.leadingWhitespace === true ? " " : "");
|
|
118
|
+
if (n.type === "environment")
|
|
119
|
+
return refuse(`the ${n.env} environment`, n);
|
|
120
|
+
if (n.type === "mathenv") {
|
|
121
|
+
const env = String(fieldOf(mathEnvName(n), "content"));
|
|
122
|
+
return refuse(`the ${env} environment`, n);
|
|
123
|
+
}
|
|
124
|
+
return refuse(`the ${n.type}`, n);
|
|
125
|
+
}
|
|
126
|
+
function textNode(n, r) {
|
|
127
|
+
if (n.type === "string")
|
|
128
|
+
return ok(n.content);
|
|
129
|
+
if (n.type === "group")
|
|
130
|
+
return joined(n.content, (c) => textNode(c, r));
|
|
131
|
+
if (n.type === "macro")
|
|
132
|
+
return macroText(n, r);
|
|
133
|
+
if (n.type === "inlinemath")
|
|
134
|
+
return mathText(n, r);
|
|
135
|
+
return leafText(n);
|
|
136
|
+
}
|
|
137
|
+
/** A control symbol that is no accent: TeX keeps the space after it (`50\% of`, `it\/ and`). */
|
|
138
|
+
const keepsSpace = (n) => n?.type === "macro" &&
|
|
139
|
+
n.content.length === 1 &&
|
|
140
|
+
!/\p{L}/u.test(n.content) &&
|
|
141
|
+
!ACCENT_SYMBOLS.has(n.content);
|
|
142
|
+
/** One paragraph: runs of space as one, none before closing punctuation; `\-` (U+00AD) prints nothing. */
|
|
143
|
+
const paragraph = (raw) => raw
|
|
144
|
+
.replaceAll("", "")
|
|
145
|
+
.replace(/\s+/gu, " ")
|
|
146
|
+
.replace(/ ([,.;:!?)])/gu, "$1")
|
|
147
|
+
.trim();
|
|
148
|
+
/**
|
|
149
|
+
* The abstract's nodes as TeX would set them, as a new tree: each macro defined once expanded, one
|
|
150
|
+
* level per round (a macro still standing after DEPTH rounds expands into itself), then ligatures.
|
|
151
|
+
*/
|
|
152
|
+
function typeset(content, defs, start) {
|
|
153
|
+
// Expanded: a macro with one definition, standing before the abstract.
|
|
154
|
+
const plain = [...defs].flatMap(([name, d]) => d.body === null || d.at.length > 1 || d.own >= start
|
|
155
|
+
? []
|
|
156
|
+
: [{ name, body: structuredClone([...d.body]) }]);
|
|
157
|
+
// eslint-disable-next-line functional/prefer-immutable-types -- a clone the three library calls below rewrite in place
|
|
158
|
+
const body = {
|
|
159
|
+
type: "root",
|
|
160
|
+
content: structuredClone([...content]),
|
|
161
|
+
};
|
|
162
|
+
Array.from({ length: DEPTH }).forEach(() => {
|
|
163
|
+
expandMacros(body, plain);
|
|
164
|
+
});
|
|
165
|
+
// util-ligatures swallows the space after a control symbol, as it must after an accent.
|
|
166
|
+
replaceNode(body, (n, info) => n.type === "whitespace" &&
|
|
167
|
+
keepsSpace(info.containingArray?.slice(0, info.index).at(-1))
|
|
168
|
+
? { type: "string", content: " " }
|
|
169
|
+
: undefined);
|
|
170
|
+
expandUnicodeLigatures(body);
|
|
171
|
+
return body;
|
|
172
|
+
}
|
|
173
|
+
/** The abstract of `src` as one paragraph of plain text, or what stops it; nothing after `\\end{document}` is read. */
|
|
174
|
+
export const abstractText = (src) => abstractOfTree(liveRoot(parseLatex(src)), src);
|
|
175
|
+
/** The same, over a tree already parsed from `src`. */
|
|
176
|
+
export function abstractOfTree(root, src) {
|
|
177
|
+
const nodes = visited(root, () => false).filter(isNode);
|
|
178
|
+
const env = nodes.find((n) => n.type === "environment" && n.env === "abstract");
|
|
179
|
+
if (env?.type !== "environment")
|
|
180
|
+
return err({ kind: "none" });
|
|
181
|
+
const defs = definitionsIn(nodes);
|
|
182
|
+
const start = at(env);
|
|
183
|
+
const body = typeset(env.content, defs, start);
|
|
184
|
+
const t = joined(body.content, (n) => textNode(n, { src, defs, start }));
|
|
185
|
+
return t.ok ? ok(paragraph(t.value)) : t;
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=abstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../src/adapters/latex/abstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { TitledHeading } from "../../domain/tex-document.ts";
|
|
2
2
|
import type { ParsedTex } from "./parse.ts";
|
|
3
|
+
/** Formatting commands: they say what their argument says. */
|
|
4
|
+
export declare const TRANSPARENT: ReadonlySet<string>;
|
|
5
|
+
/** Commands that break the line: the title goes on as a second part, a subtitle. */
|
|
6
|
+
export declare const LINE_BREAKS: ReadonlySet<string>;
|
|
7
|
+
/** Commands that put nothing in the title's words: a label, a footnote, an index entry. */
|
|
8
|
+
export declare const INVISIBLE: ReadonlySet<string>;
|
|
3
9
|
/**
|
|
4
10
|
* The paper's `\title` and every `\section`, `\subsection`, `\subsubsection`, `\paragraph` and
|
|
5
11
|
* `\subparagraph`, starred or not, each with its optional short title, in document order. What the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headings.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/headings.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAKV,aAAa,EACd,MAAM,8BAA8B,CAAC;AActC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"headings.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/headings.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAKV,aAAa,EACd,MAAM,8BAA8B,CAAC;AActC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAY5C,8DAA8D;AAC9D,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAU1C,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAK1C,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,MAAM,CAKxC,CAAC;AAmFH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,SAAS,KAAG,SAAS,aAAa,EAGG,CAAC"}
|
|
@@ -21,7 +21,7 @@ const LEVELS = new Map([
|
|
|
21
21
|
["subparagraph", "subparagraph"],
|
|
22
22
|
]);
|
|
23
23
|
/** Formatting commands: they say what their argument says. */
|
|
24
|
-
const TRANSPARENT = new Set([
|
|
24
|
+
export const TRANSPARENT = new Set([
|
|
25
25
|
"emph",
|
|
26
26
|
"textit",
|
|
27
27
|
"textbf",
|
|
@@ -33,13 +33,14 @@ const TRANSPARENT = new Set([
|
|
|
33
33
|
"textrm",
|
|
34
34
|
]);
|
|
35
35
|
/** Commands that break the line: the title goes on as a second part, a subtitle. */
|
|
36
|
-
const LINE_BREAKS = new Set([
|
|
37
|
-
"
|
|
36
|
+
export const LINE_BREAKS = new Set([
|
|
37
|
+
// `\\` is the macro unified-latex names with ONE backslash (`{ type: "macro", content: "\\" }`).
|
|
38
|
+
"\\",
|
|
38
39
|
"newline",
|
|
39
40
|
"linebreak",
|
|
40
41
|
]);
|
|
41
42
|
/** Commands that put nothing in the title's words: a label, a footnote, an index entry. */
|
|
42
|
-
const INVISIBLE = new Set([
|
|
43
|
+
export const INVISIBLE = new Set([
|
|
43
44
|
"label",
|
|
44
45
|
"footnote",
|
|
45
46
|
"thanks",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headings.js","sourceRoot":"","sources":["../../../src/adapters/latex/headings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAQpC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,OAAO,EACP,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,UAAU,EACV,OAAO,GAGR,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,GAAsC,IAAI,GAAG,CACvD;IACE,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,eAAe,EAAE,eAAe,CAAC;IAClC,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,cAAc,EAAE,cAAc,CAAC;CACjC,CACF,CAAC;AAEF,8DAA8D;AAC9D,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"headings.js","sourceRoot":"","sources":["../../../src/adapters/latex/headings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAgBxD,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,mFAAmF;AACnF,eAAO,MAAM,WAAW,EAAE,WAczB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { abstractText } from "./abstract.js";
|
|
1
2
|
import { documentClassOf, parseTemplate, replaceDocumentClass, } from "./document-class.js";
|
|
2
3
|
import { headingsOf } from "./headings.js";
|
|
3
4
|
import { documentBodyOf, includesOf } from "./includes.js";
|
|
@@ -31,5 +32,6 @@ export const latexReader = {
|
|
|
31
32
|
withDocumentClass: (src, want) => replaceDocumentClass(parseLatex(src), want),
|
|
32
33
|
layoutOverrides: (src) => layoutOverridesOf(parseLatex(src)),
|
|
33
34
|
filecontents: (src, jobname) => filecontentsOf(parseLatex(src), jobname),
|
|
35
|
+
abstractText,
|
|
34
36
|
};
|
|
35
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/latex/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpD,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtD,QAAQ,EAAE,aAAa;IACvB,iBAAiB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAC7E,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5D,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/latex/index.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EACL,eAAe,EACf,aAAa,EACb,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,QAAQ,EACR,OAAO,EACP,UAAU,EACV,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,mFAAmF;AACnF,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpD,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC9C,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACtD,QAAQ,EAAE,aAAa;IACvB,iBAAiB,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;IAC7E,eAAe,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5D,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACxE,YAAY;CACb,CAAC"}
|
|
@@ -12,6 +12,19 @@
|
|
|
12
12
|
import type * as Ast from "@unified-latex/unified-latex-types";
|
|
13
13
|
/** Citation commands: their `{…}` argument is a key, their `[…]` ones are notes the reader sees. */
|
|
14
14
|
export declare const CITATION_MACROS: ReadonlySet<string>;
|
|
15
|
+
/** Commands that print nothing: line-breaking and spacing hints, and the two that only protect. */
|
|
16
|
+
export declare const SILENT_MACROS: ReadonlySet<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Formatting that prints its argument but sets it apart — code, small caps, a box: read as its
|
|
19
|
+
* words where the text is read whole (an abstract), not judged as prose (a heading's case).
|
|
20
|
+
*/
|
|
21
|
+
export declare const SET_APART_MACROS: ReadonlySet<string>;
|
|
22
|
+
/** The logos that print a fixed word. */
|
|
23
|
+
export declare const LOGO_MACROS: ReadonlyMap<string, string>;
|
|
24
|
+
/** Accents: control symbols that take the next letter, across a space (`\' e` is é). */
|
|
25
|
+
export declare const ACCENT_SYMBOLS: ReadonlySet<string>;
|
|
26
|
+
/** Math symbols with one plain-text character. */
|
|
27
|
+
export declare const MATH_CHARACTERS: ReadonlyMap<string, string>;
|
|
15
28
|
/** Macros whose arguments are keys, labels, files or URLs — never text a reader sees. */
|
|
16
29
|
export declare const KEY_SIGNATURES: Readonly<Record<string, {
|
|
17
30
|
readonly signature: string;
|
|
@@ -29,6 +42,8 @@ export declare const KEY_ARGUMENT: ReadonlyMap<string, number>;
|
|
|
29
42
|
* parameter text (`\def\x#1{…}`) is not modelled.
|
|
30
43
|
*/
|
|
31
44
|
export declare const DEFINITION_MACROS: ReadonlySet<string>;
|
|
45
|
+
/** The TeX primitives that define a macro: `\\def\\x{…}` and its kin. */
|
|
46
|
+
export declare const DEF_MACROS: ReadonlySet<string>;
|
|
32
47
|
declare const PARSED: unique symbol;
|
|
33
48
|
/** A source and ITS tree: only `parseLatex` makes one, so a tree cannot be paired with another source. */
|
|
34
49
|
export interface ParsedTex {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAW/D,oGAAoG;AACpG,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAgB9C,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,QAAQ,CACnC,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B9C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAGnD,CAAC;AAoBH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAWhD,CAAC;
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../src/adapters/latex/parse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAW/D,oGAAoG;AACpG,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,CAgB9C,CAAC;AAEH,mGAAmG;AACnG,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,CAQ5C,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAM/C,CAAC;AAEH,yCAAyC;AACzC,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAGlD,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAQ7C,CAAC;AAEH,kDAAkD;AAClD,eAAO,MAAM,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAYtD,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,QAAQ,CACnC,MAAM,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B9C,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAGnD,CAAC;AAoBH;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAWhD,CAAC;AAEH,yEAAyE;AACzE,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,CAKzC,CAAC;AAKH,QAAA,MAAM,MAAM,eAAsB,CAAC;AAEnC,0GAA0G;AAC1G,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;IACxB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACzB;AAgDD,kGAAkG;AAClG,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAejD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAOzD"}
|
|
@@ -20,6 +20,56 @@ export const CITATION_MACROS = new Set([
|
|
|
20
20
|
"autocite",
|
|
21
21
|
"footcite",
|
|
22
22
|
]);
|
|
23
|
+
/** Commands that print nothing: line-breaking and spacing hints, and the two that only protect. */
|
|
24
|
+
export const SILENT_MACROS = new Set([
|
|
25
|
+
"allowbreak",
|
|
26
|
+
"nobreak",
|
|
27
|
+
"nolinebreak",
|
|
28
|
+
"xspace",
|
|
29
|
+
"noindent",
|
|
30
|
+
"relax",
|
|
31
|
+
"protect",
|
|
32
|
+
]);
|
|
33
|
+
/**
|
|
34
|
+
* Formatting that prints its argument but sets it apart — code, small caps, a box: read as its
|
|
35
|
+
* words where the text is read whole (an abstract), not judged as prose (a heading's case).
|
|
36
|
+
*/
|
|
37
|
+
export const SET_APART_MACROS = new Set([
|
|
38
|
+
"texttt",
|
|
39
|
+
"textsc",
|
|
40
|
+
"mbox",
|
|
41
|
+
"text",
|
|
42
|
+
"underline",
|
|
43
|
+
]);
|
|
44
|
+
/** The logos that print a fixed word. */
|
|
45
|
+
export const LOGO_MACROS = new Map([
|
|
46
|
+
["LaTeX", "LaTeX"],
|
|
47
|
+
["TeX", "TeX"],
|
|
48
|
+
]);
|
|
49
|
+
/** Accents: control symbols that take the next letter, across a space (`\' e` is é). */
|
|
50
|
+
export const ACCENT_SYMBOLS = new Set([
|
|
51
|
+
"'",
|
|
52
|
+
'"',
|
|
53
|
+
"^",
|
|
54
|
+
"~",
|
|
55
|
+
".",
|
|
56
|
+
"=",
|
|
57
|
+
"`",
|
|
58
|
+
]);
|
|
59
|
+
/** Math symbols with one plain-text character. */
|
|
60
|
+
export const MATH_CHARACTERS = new Map([
|
|
61
|
+
["%", "%"],
|
|
62
|
+
[",", " "],
|
|
63
|
+
["times", "×"],
|
|
64
|
+
["approx", "≈"],
|
|
65
|
+
["le", "≤"],
|
|
66
|
+
["leq", "≤"],
|
|
67
|
+
["ge", "≥"],
|
|
68
|
+
["geq", "≥"],
|
|
69
|
+
["pm", "±"],
|
|
70
|
+
["sim", "∼"],
|
|
71
|
+
["cdot", "·"],
|
|
72
|
+
]);
|
|
23
73
|
/** Macros whose arguments are keys, labels, files or URLs — never text a reader sees. */
|
|
24
74
|
export const KEY_SIGNATURES = Object.fromEntries([
|
|
25
75
|
...signed([...CITATION_MACROS], "o o m"),
|
|
@@ -87,7 +137,14 @@ export const DEFINITION_MACROS = new Set([
|
|
|
87
137
|
"edef",
|
|
88
138
|
"xdef",
|
|
89
139
|
]);
|
|
90
|
-
|
|
140
|
+
/** The TeX primitives that define a macro: `\\def\\x{…}` and its kin. */
|
|
141
|
+
export const DEF_MACROS = new Set([
|
|
142
|
+
"def",
|
|
143
|
+
"gdef",
|
|
144
|
+
"edef",
|
|
145
|
+
"xdef",
|
|
146
|
+
]);
|
|
147
|
+
const DEF_SIGNATURES = Object.fromEntries(signed([...DEF_MACROS], "m m"));
|
|
91
148
|
// Not exported: a `ParsedTex` carries this property, and the one way to write it is `parseLatex`.
|
|
92
149
|
const PARSED = Symbol("ParsedTex");
|
|
93
150
|
/** One parser for the process, made on first use: building one compiles its grammar. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/adapters/latex/parse.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,MAAM,GAAG,CACb,KAAwB,EACxB,SAAiB,EAC+C,EAAE,CAClE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,CAAU,CAAC,CAAC;AAEhD,oGAAoG;AACpG,MAAM,CAAC,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IAC1D,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;IACT,YAAY;IACZ,UAAU;IACV,aAAa;IACb,OAAO;IACP,OAAO;IACP,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;CACX,CAAC,CAAC;AAEH,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAEvB,MAAM,CAAC,WAAW,CAAC;IACrB,GAAG,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,EAAE,OAAO,CAAC;IACxC,GAAG,MAAM,CACP;QACE,OAAO;QACP,KAAK;QACL,OAAO;QACP,SAAS;QACT,SAAS;QACT,MAAM;QACN,MAAM;QACN,KAAK;QACL,OAAO;QACP,SAAS;QACT,SAAS;QACT,cAAc;QACd,mBAAmB;KACpB,EACD,GAAG,CACJ;IACD,2EAA2E;IAC3E,GAAG,MAAM,CAAC,CAAC,gBAAgB,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,KAAK,CAAC;IACrE,+EAA+E;IAC/E,GAAG,MAAM,CAAC,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC;IAClC,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IACzC,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC;CACtE,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgC,IAAI,GAAG,CAAC;IAC/D,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAU,CAAC;IACnD,CAAC,MAAM,EAAE,CAAC,CAAC;CACZ,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC,WAAW,CAAC;IAChD,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC;IAC9B,6FAA6F;IAC7F,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC;CAC1D,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IAC5D,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,sBAAsB;IACtB,gBAAgB;IAChB,kBAAkB;IAClB,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAEH,MAAM,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/adapters/latex/parse.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAS7C,OAAO,EAAE,MAAM,EAAE,MAAM,+CAA+C,CAAC;AAEvE,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAapE,OAAO,EAAyB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAwDrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAoBnE,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAGL,IAAI,EAEL,MAAM,WAAW,CAAC;AACnB,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAYxB,OAAO,EAKL,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EAEf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -64,7 +64,7 @@ import { texOutput } from "./adapters/tex-output/index.js";
|
|
|
64
64
|
import { BIB_RULE_LEVELS, bibRules } from "./bib-rules.js";
|
|
65
65
|
import { bibliographyReader } from "./references.js";
|
|
66
66
|
import { onlineReferences } from "./adapters/references/index.js";
|
|
67
|
-
import {
|
|
67
|
+
import { hotcrpSite } from "./adapters/hotcrp/index.js";
|
|
68
68
|
import { runSubmission } from "./submission.js";
|
|
69
69
|
import { narrowToOwners, ownedPatterns, ruleOwners, scopeToOwned, } from "./paper-files.js";
|
|
70
70
|
import { paperPreset, settingsProblemLine, presetProblemText, resolvePreset, shippedPresets, shippedSpec, shippedVenueNames, SHIPPED_PREFIX, } from "./presets.js";
|
|
@@ -128,6 +128,11 @@ const USAGE = `paperlint — machine-checkable gates for a paper kept in git
|
|
|
128
128
|
into ~/.cache/paperlint/texlive (PAPERLINT_TEXLIVE_DIR overrides); a second
|
|
129
129
|
run does nothing. --check: report what is missing, change nothing
|
|
130
130
|
npx paperlint doctor say what is actually wired — and what only LOOKS wired
|
|
131
|
+
npx paperlint submission new [paper] [--abstract <file>] [--save]
|
|
132
|
+
create the paper's submission on the venue's portal: the title
|
|
133
|
+
and abstract from the build, the authors from paperlint.json,
|
|
134
|
+
the PDF. A DRY RUN unless --save; a save records the new id in
|
|
135
|
+
paperlint.json
|
|
131
136
|
npx paperlint submission show [paper]
|
|
132
137
|
the paper's submission on the venue's portal: status, title,
|
|
133
138
|
type, topics, abstract length, the PDF the portal holds, and
|
|
@@ -179,13 +184,18 @@ studies:
|
|
|
179
184
|
|
|
180
185
|
submission:
|
|
181
186
|
The venue preset declares the portal — "portal": { "kind": "hotcrp", "url": "<site>" } — and the
|
|
182
|
-
paper's paperlint.json its submission there — "submission": { "id": <number> }
|
|
183
|
-
|
|
187
|
+
paper's paperlint.json its submission there — "submission": { "id": <number> }, written by new
|
|
188
|
+
— and, for new, its "authors": [{ "name", "email", "affiliation"? }]. The token comes only from
|
|
189
|
+
the environment, one variable per site: HOTCRP_TOKEN_<subdomain> on *.hotcrp.com, else
|
|
190
|
+
HOTCRP_TOKEN_<host and path> — e.g. HOTCRP_TOKEN_MSR2027 for msr2027.hotcrp.com,
|
|
191
|
+
HOTCRP_TOKEN_AIDC_SUBMIT_ACSAC_ORG for aidc.submit.acsac.org (HotCRP: Account settings →
|
|
192
|
+
Developer). A plain HOTCRP_TOKEN is not read.
|
|
184
193
|
[paper] the paper's folder; default the current directory
|
|
185
194
|
--pdf <file> the PDF to compare (show) or send (update) instead of the paper's own
|
|
186
|
-
--abstract <file> update: a plain-text file whose text
|
|
195
|
+
--abstract <file> new, update: a plain-text file whose text is sent as the abstract
|
|
187
196
|
--submit update: mark the submission submitted
|
|
188
|
-
--save update: really change the submission. Without it, nothing
|
|
197
|
+
--save new, update: really create or change the submission. Without it, nothing
|
|
198
|
+
is saved
|
|
189
199
|
|
|
190
200
|
lint:
|
|
191
201
|
npx paperlint lint [paths…] [--fix] [--config <file.json>] [--json]
|
|
@@ -1329,16 +1339,18 @@ const SIMPLE = {
|
|
|
1329
1339
|
presets: PRESET_DEPS,
|
|
1330
1340
|
cwd,
|
|
1331
1341
|
env: (name) => process.env[name],
|
|
1332
|
-
|
|
1342
|
+
site: portalSite,
|
|
1343
|
+
latex: latexReader,
|
|
1344
|
+
codec: sourcesCodec,
|
|
1333
1345
|
log,
|
|
1334
1346
|
err,
|
|
1335
1347
|
}),
|
|
1336
1348
|
};
|
|
1337
1349
|
/** The adapter of each portal kind — one per kind, chosen here at the root. */
|
|
1338
1350
|
const PORTALS = {
|
|
1339
|
-
hotcrp:
|
|
1351
|
+
hotcrp: hotcrpSite,
|
|
1340
1352
|
};
|
|
1341
|
-
const
|
|
1353
|
+
const portalSite = (p) => PORTALS[p.kind](p.url);
|
|
1342
1354
|
/** banal's installer, wired from this process's environment: the composition root's work. */
|
|
1343
1355
|
function hostBanalInstaller() {
|
|
1344
1356
|
const s = parseBanalSettings(process.env, hostDirs());
|