Fig. 1A: wrap the two long header subtitles inside their boxes

"RNN · MLP · VAE on a synthetic oracle;" and "LoRA specialists on Qwen 0.5B &
7B;" overflowed the box edge once the text column shifted left of the larger
icons; both now wrap to three short centred lines, with the block nudged up
so the guarantee line keeps its separation.

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 13:44:30 +01:00
parent 40ad268c6d
commit 60ef253c77
3 changed files with 4 additions and 4 deletions

Binary file not shown.

Binary file not shown.

View file

@ -72,10 +72,10 @@ def fig1a():
TIERS = [ TIERS = [
("Biological model", "Wright\u2013Fisher simulator (NumPy)", "closed forms \u00b7 bitwise-reproducible", ("Biological model", "Wright\u2013Fisher simulator (NumPy)", "closed forms \u00b7 bitwise-reproducible",
"#4e8d4e", "#eef6ec", "#c5e0bd", "#2d5b2d", "pea.svg"), "#4e8d4e", "#eef6ec", "#c5e0bd", "#2d5b2d", "pea.svg"),
("Trained networks", "RNN \u00b7 MLP \u00b7 VAE on a synthetic oracle;\nconvolutional VAE on MNIST", ("Trained networks", "RNN \u00b7 MLP \u00b7 VAE\non a synthetic oracle;\nconvolutional VAE on MNIST",
"sign-level tests \u00b7 exact oracles", "#5b9bc9", "#eff6fb", "#c9e2f2", "#1f4e79", "sign-level tests \u00b7 exact oracles", "#5b9bc9", "#eff6fb", "#c9e2f2", "#1f4e79",
"robot.svg"), "robot.svg"),
("Language models", "LoRA specialists on Qwen 0.5B & 7B;\nexact-match verifier", ("Language models", "LoRA specialists\non Qwen 0.5B & 7B;\nexact-match verifier",
"seed-replicated signs", "#3c6ea5", "#e7eef8", "#adc8e8", "#1d3f66", "robot.svg"), "seed-replicated signs", "#3c6ea5", "#e7eef8", "#adc8e8", "#1d3f66", "robot.svg"),
] ]
ROWS = [ ROWS = [
@ -129,8 +129,8 @@ def fig1a():
boxstyle="round,pad=0.004", fc=headfill, ec=edge, lw=1.6)) boxstyle="round,pad=0.004", fc=headfill, ec=edge, lw=1.6))
ax.text(xc, 0.988, name, ha="center", va="top", fontsize=9.5, ax.text(xc, 0.988, name, ha="center", va="top", fontsize=9.5,
fontweight="bold", color=textcol) fontweight="bold", color=textcol)
ax.text(x + cw / 2 - 0.030, 0.938, arch, ha="center", va="top", fontsize=6.6, ax.text(x + cw / 2 - 0.030, 0.944, arch, ha="center", va="top", fontsize=6.6,
linespacing=1.3, color=textcol) linespacing=1.25, color=textcol)
ax.text(x + cw / 2 - 0.030, 0.831, guarantee, ha="center", va="bottom", fontsize=6.4, ax.text(x + cw / 2 - 0.030, 0.831, guarantee, ha="center", va="bottom", fontsize=6.4,
style="italic", color=textcol, alpha=0.85) style="italic", color=textcol, alpha=0.85)
# Reason: imshow + interpolation="none" embeds the icon unsampled in the PDF (an # Reason: imshow + interpolation="none" embeds the icon unsampled in the PDF (an