Compare commits
3
Commits
7d62e0279a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ba01fe5e2 | ||
|
|
7210f890ca | ||
|
|
8ada8e57c5 |
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: supertensor
|
||||
description: Create or refine clean, shape-aware figures for tensor/matrix/vector formulas or tensor code — matrix-block diagrams, entry heatmaps, row/column shard stripes, stacked 3D/4D tensors, attention, tensor/expert parallelism, broadcasting, reductions, contractions, gather/scatter and routing. Use whenever tensor shapes or axis meanings must be visually aligned with the computation. Not for plotting numeric data (loss curves, benchmark bars, scatter plots), architecture block diagrams without shapes, or generic flowcharts.
|
||||
description: Create or refine clean, shape-aware figures for tensor/matrix/vector formulas or tensor code — matrix-block diagrams, entry heatmaps, row/column shard stripes, stacked 3D/4D tensors, attention, tensor/expert parallelism, broadcasting, reductions, contractions, gather/scatter and routing. Use whenever tensor shapes or axis meanings must be visually aligned with the computation, or the user runs $supertensor. Not for plotting numeric data (loss curves, benchmark bars, scatter plots), architecture block diagrams without shapes (use superfig), stepwise rewrite figures (use superderive), or full paper notes (use superpaper).
|
||||
---
|
||||
|
||||
# supertensor
|
||||
|
||||
@@ -838,6 +838,6 @@
|
||||
% ------------------------------------------------------------- signature ----
|
||||
% Optional centered subject line, outside the meaning box, low contrast.
|
||||
\newcommand{\stsignature}[2]{%
|
||||
\node[below=2.2mm of #2, font=\scriptsize, text=black!45] (st-signature) {#1};}
|
||||
\node[below=2.2mm of #2, font=\scriptsize, text=black!45] (#2-sig) {#1};}
|
||||
|
||||
\endinput
|
||||
|
||||
@@ -68,6 +68,14 @@ def lint(path: Path) -> list[str]:
|
||||
dimensions = check_unique(source, DIM_RE, "axis", errors)
|
||||
roles = check_unique(source, ROLE_RE, "role", errors)
|
||||
|
||||
for match in ROLE_KEY_RE.finditer(source):
|
||||
role = match.group(1)
|
||||
if role not in roles:
|
||||
errors.append(
|
||||
f"line {line_of(source, match.start())}: role {role!r} is used "
|
||||
f"before \\stsetrole"
|
||||
)
|
||||
|
||||
formula_positions = [m.start() for m in re.finditer(r"\\sttopformula\b", source)]
|
||||
row_ends = [m.start() for m in re.finditer(r"\\strowend\b", source)]
|
||||
if not formula_positions and "allow-missing-formula" not in allowed:
|
||||
|
||||
Reference in New Issue
Block a user