Skip to content

Commit 525befa

Browse files
authored
Merge pull request #249 from llmsresearch/feat/venue-style-packs
feat: user-suppliable venue style packs
2 parents 41b8bfe + eb8d042 commit 525befa

16 files changed

Lines changed: 1123 additions & 104 deletions

File tree

README.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,36 @@ paperbanana plot \
306306

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

309+
### `paperbanana venues` -- Custom Venue Style Packs
310+
311+
`--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:
312+
313+
```bash
314+
# 1. Scaffold a pack (seeds both guides from the NeurIPS templates)
315+
paperbanana venues init mylab
316+
317+
# 2. Edit the style guides — or generate them from a corpus of example figures:
318+
# paperbanana guidelines synthesize --reference-set ./examples \
319+
# --output ~/.config/paperbanana/venues/mylab/methodology_style_guide.md
320+
321+
# 3. Use it anywhere --venue is accepted
322+
paperbanana generate --input method.txt --caption "Overview" --venue mylab
323+
324+
# See everything that's available (built-in + user, with source)
325+
paperbanana venues list
326+
```
327+
328+
`venue.yaml` (all fields optional):
329+
330+
```yaml
331+
display_name: "My Lab Style" # shown by `paperbanana venues list`
332+
aspect_ratio: "16:9" # default --aspect-ratio for this venue's runs
333+
fonts: # preferred fonts, appended to the style guides
334+
- "Helvetica"
335+
```
336+
337+
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.
338+
309339
### `paperbanana batch` -- Batch Generation
310340

311341
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.
@@ -425,7 +455,7 @@ Paths are resolved relative to the manifest file’s directory.
425455
| `--optimize` | | Input optimization per item |
426456
| `--format` | `-f` | png, jpeg, or webp |
427457
| `--save-prompts` / `--no-save-prompts` | | Persist prompts (default: on, same as `plot`) |
428-
| `--venue` | | Venue style (neurips, icml, acl, ieee, custom) |
458+
| `--venue` | | Venue style pack: built-in (neurips, icml, acl, ieee), a user pack, or `custom` |
429459
| `--aspect-ratio` | `-ar` | Default aspect ratio when not set in the manifest |
430460
| `--verbose` | `-v` | Verbose logging |
431461

configs/config.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ pipeline:
2020
# optimize_inputs: true # Preprocess inputs for better generation
2121
output_resolution: "2k" # 1k, 2k, 4k
2222
diagram_type: methodology # methodology, statistical_plot
23-
# venue: neurips # Target venue style: neurips, icml, acl, ieee, custom
23+
# venue: neurips # Venue style pack: built-in (neurips, icml, acl, ieee),
24+
# # a user pack name (see `paperbanana venues list`), or custom
25+
# venue_dir: ~/.config/paperbanana/venues # User venue pack directory override
2426

2527
# Reference set
2628
reference:

data/guidelines/acl/venue.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
display_name: "ACL"
2+
# ACL *ACL venues are two-column; compact figures read better.
3+
aspect_ratio: "4:3"

data/guidelines/icml/venue.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
display_name: "ICML"
2+
# ICML is two-column; column-width figures favor compact ratios.
3+
aspect_ratio: "4:3"
4+
fonts: ["Helvetica", "Arial"]

data/guidelines/ieee/venue.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
display_name: "IEEE"
2+
# Most IEEE transactions are two-column; design for column width.
3+
aspect_ratio: "4:3"
4+
fonts: ["Arial", "Helvetica"]

0 commit comments

Comments
 (0)