Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,36 @@ paperbanana plot \

Plots are rendered via VLM-generated matplotlib code — no image-generation provider or credentials are required.

### `paperbanana venues` -- Custom Venue Style Packs

`--venue` selects a *venue style pack*: a directory with `methodology_style_guide.md`, `plot_style_guide.md`, and an optional `venue.yaml`. Built-in packs (`neurips`, `icml`, `acl`, `ieee`) ship with PaperBanana; you can add your own under `~/.config/paperbanana/venues/` (override with `--venue-dir` or `PAPERBANANA_VENUE_DIR`) without touching the repo:

```bash
# 1. Scaffold a pack (seeds both guides from the NeurIPS templates)
paperbanana venues init mylab

# 2. Edit the style guides — or generate them from a corpus of example figures:
# paperbanana guidelines synthesize --reference-set ./examples \
# --output ~/.config/paperbanana/venues/mylab/methodology_style_guide.md

# 3. Use it anywhere --venue is accepted
paperbanana generate --input method.txt --caption "Overview" --venue mylab

# See everything that's available (built-in + user, with source)
paperbanana venues list
```

`venue.yaml` (all fields optional):

```yaml
display_name: "My Lab Style" # shown by `paperbanana venues list`
aspect_ratio: "16:9" # default --aspect-ratio for this venue's runs
fonts: # preferred fonts, appended to the style guides
- "Helvetica"
```

On a name clash, built-in packs win — user packs cannot shadow built-in venues. Unknown venue names fail fast with the list of available packs from both sources.

### `paperbanana batch` -- Batch Generation

Generate multiple methodology diagrams from a single manifest file (YAML or JSON). Each item runs the full pipeline; outputs are written under `outputs/batch_<id>/run_<id>/` and a `batch_report.json` summarizes all runs.
Expand Down Expand Up @@ -425,7 +455,7 @@ Paths are resolved relative to the manifest file’s directory.
| `--optimize` | | Input optimization per item |
| `--format` | `-f` | png, jpeg, or webp |
| `--save-prompts` / `--no-save-prompts` | | Persist prompts (default: on, same as `plot`) |
| `--venue` | | Venue style (neurips, icml, acl, ieee, custom) |
| `--venue` | | Venue style pack: built-in (neurips, icml, acl, ieee), a user pack, or `custom` |
| `--aspect-ratio` | `-ar` | Default aspect ratio when not set in the manifest |
| `--verbose` | `-v` | Verbose logging |

Expand Down
4 changes: 3 additions & 1 deletion configs/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,9 @@ pipeline:
# optimize_inputs: true # Preprocess inputs for better generation
output_resolution: "2k" # 1k, 2k, 4k
diagram_type: methodology # methodology, statistical_plot
# venue: neurips # Target venue style: neurips, icml, acl, ieee, custom
# venue: neurips # Venue style pack: built-in (neurips, icml, acl, ieee),
# # a user pack name (see `paperbanana venues list`), or custom
# venue_dir: ~/.config/paperbanana/venues # User venue pack directory override

# Reference set
reference:
Expand Down
3 changes: 3 additions & 0 deletions data/guidelines/acl/venue.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
display_name: "ACL"
# ACL *ACL venues are two-column; compact figures read better.
aspect_ratio: "4:3"
4 changes: 4 additions & 0 deletions data/guidelines/icml/venue.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
display_name: "ICML"
# ICML is two-column; column-width figures favor compact ratios.
aspect_ratio: "4:3"
fonts: ["Helvetica", "Arial"]
4 changes: 4 additions & 0 deletions data/guidelines/ieee/venue.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
display_name: "IEEE"
# Most IEEE transactions are two-column; design for column width.
aspect_ratio: "4:3"
fonts: ["Arial", "Helvetica"]
Loading
Loading