Files
copycat/LaTeX/generate_all_figures.py
Alex Linhares 06a42cc746 Add CLAUDE.md and LaTeX paper, remove old papers directory
- Add CLAUDE.md with project guidance for Claude Code
- Add LaTeX/ with paper and figure generation scripts
- Remove papers/ directory (replaced by LaTeX/)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:14:01 +00:00

89 lines
2.8 KiB
Python

"""
Master script to generate all figures for the paper
Run this to create all PDF and PNG figures at once
"""
import subprocess
import sys
import os
# Change to LaTeX directory
script_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(script_dir)
scripts = [
'generate_slipnet_graph.py',
'compare_formulas.py',
'activation_spreading.py',
'resistance_distance.py',
'clustering_analysis.py',
'workspace_evolution.py',
]
print("="*70)
print("Generating all figures for the paper:")
print(" 'From Hardcoded Heuristics to Graph-Theoretical Constructs'")
print("="*70)
print()
failed_scripts = []
for i, script in enumerate(scripts, 1):
print(f"[{i}/{len(scripts)}] Running {script}...")
try:
result = subprocess.run([sys.executable, script],
capture_output=True,
text=True,
timeout=60)
if result.returncode == 0:
print(f" ✓ Success")
if result.stdout:
print(f" {result.stdout.strip()}")
else:
print(f" ✗ Failed with return code {result.returncode}")
if result.stderr:
print(f" Error: {result.stderr.strip()}")
failed_scripts.append(script)
except subprocess.TimeoutExpired:
print(f" ✗ Timeout (>60s)")
failed_scripts.append(script)
except Exception as e:
print(f" ✗ Exception: {e}")
failed_scripts.append(script)
print()
print("="*70)
print("Summary:")
print("="*70)
if not failed_scripts:
print("✓ All figures generated successfully!")
print()
print("Generated files:")
print(" - figure1_slipnet_graph.pdf/.png")
print(" - figure2_activation_spreading.pdf/.png")
print(" - figure3_resistance_distance.pdf/.png")
print(" - figure4_workspace_evolution.pdf/.png")
print(" - figure5_betweenness_dynamics.pdf/.png")
print(" - figure6_clustering_distribution.pdf/.png")
print(" - formula_comparison.pdf/.png")
print(" - scalability_comparison.pdf/.png")
print(" - slippability_temperature.pdf/.png")
print(" - external_strength_comparison.pdf/.png")
print()
print("You can now compile the LaTeX document with these figures.")
print("To include them in paper.tex, replace the placeholder \\fbox commands")
print("with \\includegraphics commands:")
print()
print(" \\includegraphics[width=0.8\\textwidth]{figure1_slipnet_graph.pdf}")
else:
print(f"{len(failed_scripts)} script(s) failed:")
for script in failed_scripts:
print(f" - {script}")
print()
print("Please check the error messages above and ensure you have")
print("the required packages installed:")
print(" pip install matplotlib numpy networkx scipy")
print("="*70)