Fig. 1 doubles as a map of the paper: per-cell figure/panel tags

Each filled cell now carries, in its bottom-right corner, the figure or table
where that result is reported (Fig. 2A ... Figs. 7E-F, 3C-D); the caption says
so. Building the mapping surfaced one imprecise citation: the bred-and-screened
seed-replication claim cited Fig. 3A, whose panel shows the soup/ties bars -
that result lives in SI Appendix Table S2, and the citation now says so.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
This commit is contained in:
Giorgio Gilestro 2026-09-07 12:10:51 +01:00
parent 9b0ca32f51
commit 16e9002773
6 changed files with 18 additions and 5 deletions

View file

@ -82,6 +82,12 @@ def fig1():
"convention conflict $\\to$ hybrid\nbreakdown; duration null; pre-merge\npredictive test (13 cond. $\\times$ 3 seeds)"]),
]
TAGS = [("Fig. 2A", "Fig. 2B", None),
("Fig. 4", "Table S2", "Fig. 3A\u2013B"),
("Fig. 5", None, "Table S2"),
("Fig. 6", None, None),
("Fig. 7A\u2013B", "Fig. 7C\u2013D", "Figs. 7E\u2013F, 3C\u2013D")]
fig, ax = plt.subplots(figsize=(11.4, 5.3))
ax.set_axis_off()
ax.set_xlim(0, 1)
@ -103,6 +109,7 @@ def fig1():
style="italic", color="white", alpha=0.92)
for i2, (label, definition, cells) in enumerate(ROWS):
tags = TAGS[i2]
y1 = row_top - i2 * row_h
y0 = y1 - row_h + 2 * gap
yc = (y0 + y1) / 2
@ -133,7 +140,11 @@ def fig1():
else:
ax.add_patch(FancyBboxPatch((x + gap, y0), cw - 2 * gap, y1 - y0,
boxstyle="round,pad=0.004", fc=face, ec=edge, lw=0.9))
ax.text(x + cw / 2, yc, cell, ha="center", va="center", fontsize=6.4, linespacing=1.35)
ax.text(x + cw / 2, yc + 0.008, cell, ha="center", va="center",
fontsize=6.4, linespacing=1.35)
if tags[j2]: # where the result lives (the ToC role)
ax.text(x + cw - gap - 0.005, y0 + 0.006, tags[j2], ha="right", va="bottom",
fontsize=5.6, style="italic", color=edge)
save(fig, "fig1")
# ---------------------------------------------------------------- fig 2: grounding + MNIST