8.2 KiB
Academic Styles Reference
Loaded by Step 3 (Apply Academic Style). Provides venue-specific visual parameters: colors, fonts, sizes, spacing, caption format. Every value is concrete — no "use default".
Table of Contents
- Universal Rules
- NeurIPS Style (Default)
- ICML Style
- ACL Style
- IEEE Style
- Nature Style
- Color Palettes Quick Reference
- Font Sizes Quick Reference
1. Universal Rules
These apply to ALL venues. Venue-specific sections override where noted.
Colorblind Safety
- Primary encoding: color + shape/pattern (never color alone)
- Forbidden pairs: pure red (#FF0000) vs pure green (#00FF00)
- Mandatory test: simulate deuteranopia — all series still distinguishable
- Maximum distinct colors per figure: 7 (use hatching/markers beyond 7)
Grayscale Compatibility
- Figure must remain interpretable when printed in grayscale
- Use varying lightness values, not just hue differences
- Add patterns (hatching, dots) to filled regions as backup encoding
Typography
- Minimum font size: 8pt at final print size
- Label font size: 9-10pt
- Title font size: 10-12pt (if shown on figure)
- Legend font size: 8-9pt
- All text must survive 50% reduction without becoming illegible
Resolution
- Raster output: minimum 300 DPI (600 DPI recommended for print)
- Vector output: PDF preferred (no rasterization artifacts)
- Always generate both PNG (300 DPI) and PDF
Layout
- Margins: sufficient whitespace around all elements (no clipped text)
- Always call
plt.tight_layout()or equivalent - Grid lines: light gray (#CCCCCC), thin (0.5pt), behind data
- Axis spines: visible top and right spines optional (NeurIPS removes them)
2. NeurIPS Style (Default)
Page width: 5.5" (single column), 11.0" (full width) Figure width: 5.5" (single), 2.6" (half)
Color Palette (seaborn "muted" inspired, 7 colors)
| Index | Name | Hex | RGB | Use |
|---|---|---|---|---|
| 0 | Blue | #4878D0 |
(72, 120, 208) | Primary / "Ours" |
| 1 | Orange | #EE854A |
(238, 133, 74) | Secondary / Baseline |
| 2 | Green | #6ACC64 |
(106, 204, 100) | Tertiary |
| 3 | Red | #D65F5F |
(214, 95, 95) | Alert / Worst |
| 4 | Purple | #956CB4 |
(149, 108, 180) | Additional |
| 5 | Brown | #8C613C |
(140, 97, 60) | Additional |
| 6 | Pink | #DC7EC0 |
(220, 126, 192) | Additional |
Fonts
- Family:
serif(Times New Roman or similar) - Body: 10pt, Labels: 9pt, Legend: 8pt, Title: 11pt
- matplotlib:
'font.family': 'serif'
Axes
- Remove top and right spines:
ax.spines['top'].set_visible(False) - Tick direction:
out - Tick length: 4pt
- Grid:
alpha=0.3, linestyle='--', linewidth=0.5
Caption Format
Figure N: <Description>. <Key finding>.
3. ICML Style
Page width: 6.75" (single column), 13.5" (full width) Figure width: 6.75" (single), 3.25" (half)
Color Palette (cooler tones)
| Index | Name | Hex | Use |
|---|---|---|---|
| 0 | Dark Blue | #1F77B4 |
Primary / "Ours" |
| 1 | Orange | #FF7F0E |
Secondary |
| 2 | Teal | #2CA02C |
Tertiary |
| 3 | Crimson | #D62728 |
Alert |
| 4 | Violet | #9467BD |
Additional |
| 5 | Sienna | #8C564B |
Additional |
| 6 | Gray | #7F7F7F |
Neutral/Baseline |
Fonts
- Family:
serif(Computer Modern / Times) - Body: 10pt, Labels: 9pt, Legend: 8pt
- matplotlib:
'font.family': 'serif', 'mathtext.fontset': 'cm'
Caption Format
Figure N. <Description>. <Key finding>.
4. ACL Style
Page width: 6.0" (single column) Figure width: 6.0" (single), 2.9" (half)
Color Palette (warm academic)
| Index | Name | Hex | Use |
|---|---|---|---|
| 0 | Royal Blue | #2166AC |
Primary |
| 1 | Warm Red | #B2182B |
Secondary |
| 2 | Teal | #35978F |
Tertiary |
| 3 | Gold | #DFC27D |
Highlight |
| 4 | Purple | #762A83 |
Additional |
| 5 | Dark Gray | #525252 |
Neutral |
Fonts
- Family:
serif(Times New Roman) - Body: 10pt, Labels: 9pt, Legend: 8pt
- matplotlib:
'font.family': 'serif'
Special Notes
- NLP figures often include text examples — ensure text is readable
- Attention heatmaps: use sequential colormap (
BluesorYlOrRd) - Dependency trees: horizontal layout preferred
Caption Format
Figure N: <Description>.
5. IEEE Style
Page width: 3.5" (single column), 7.16" (double column) Figure width: 3.5" (single), 7.16" (full)
Color Palette (high contrast, traditional)
| Index | Name | Hex | Use |
|---|---|---|---|
| 0 | Blue | #0072B2 |
Primary |
| 1 | Orange | #E69F00 |
Secondary |
| 2 | Green | #009E73 |
Tertiary |
| 3 | Red | #CC79A7 |
Alert (pink-red, colorblind-safe) |
| 4 | Sky Blue | #56B4E9 |
Additional |
| 5 | Vermilion | #D55E00 |
Additional |
| 6 | Black | #000000 |
Baseline/Reference |
Note: This is the Wong colorblind-safe palette, recommended for all IEEE publications.
Fonts
- Family:
sans-serif(Helvetica / Arial) - Body: 8pt, Labels: 8pt, Legend: 7pt, Title: 9pt
- matplotlib:
'font.family': 'sans-serif'
Special Notes
- IEEE is stricter on figure size due to two-column format
- Single-column figures: max 3.5" wide — everything must be readable at this size
- Prefer subfigure grids over wide panoramic figures
- Line width: minimum 1pt (thin lines disappear in print)
Caption Format
Fig. N. <Description>.
6. Nature Style
Page width: 3.5" (single column), 7.2" (double column) Figure width: 3.5" (single), 7.2" (full)
Color Palette (Nature-inspired, elegant)
| Index | Name | Hex | Use |
|---|---|---|---|
| 0 | Nature Blue | #3B4CC0 |
Primary |
| 1 | Nature Red | #B40426 |
Secondary |
| 2 | Nature Green | #1B7837 |
Tertiary |
| 3 | Gold | #F2C14E |
Highlight |
| 4 | Teal | #008080 |
Additional |
| 5 | Dark Gray | #404040 |
Neutral |
Fonts
- Family:
sans-serif(Helvetica / Arial) - Body: 7pt, Labels: 7pt, Legend: 6pt, Title: 8pt
- matplotlib:
'font.family': 'sans-serif', 'font.size': 7
Special Notes
- Nature has the strictest size limits — maximize information density
- Prefer panel layouts (a, b, c, d) with lowercase bold letters
- Panel labels: a, b, c at top-left of each subfigure
- Color: used sparingly, key data only — backgrounds always white
Caption Format
Figure N | <Title in bold>. <Description>. a, <Panel a description>. b, <Panel b description>.
7. Color Palettes Quick Reference
matplotlib Code Snippets
# NeurIPS (default)
COLORS_NEURIPS = ['#4878D0', '#EE854A', '#6ACC64', '#D65F5F', '#956CB4', '#8C613C', '#DC7EC0']
# ICML
COLORS_ICML = ['#1F77B4', '#FF7F0E', '#2CA02C', '#D62728', '#9467BD', '#8C564B', '#7F7F7F']
# ACL
COLORS_ACL = ['#2166AC', '#B2182B', '#35978F', '#DFC27D', '#762A83', '#525252']
# IEEE (Wong colorblind-safe)
COLORS_IEEE = ['#0072B2', '#E69F00', '#009E73', '#CC79A7', '#56B4E9', '#D55E00', '#000000']
# Nature
COLORS_NATURE = ['#3B4CC0', '#B40426', '#1B7837', '#F2C14E', '#008080', '#404040']
Choosing "Ours" Color
Convention: the first color in each palette (index 0, a shade of blue) is used for "our method". This creates visual prominence and is consistent with reader expectations.
8. Font Sizes Quick Reference
| Venue | Body | Labels | Legend | Title | Min |
|---|---|---|---|---|---|
| NeurIPS | 10pt | 9pt | 8pt | 11pt | 8pt |
| ICML | 10pt | 9pt | 8pt | 10pt | 8pt |
| ACL | 10pt | 9pt | 8pt | 10pt | 8pt |
| IEEE | 8pt | 8pt | 7pt | 9pt | 7pt |
| Nature | 7pt | 7pt | 6pt | 8pt | 6pt |
Rule of thumb: If in doubt, use larger font sizes. Reviewers complain about unreadable figures far more often than oversized text.
Cross-reference: SKILL.md §Step 3, §NEVER Rules #2 #3 #6