282 lines
8.2 KiB
Markdown
282 lines
8.2 KiB
Markdown
# 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
|
|
|
|
1. [Universal Rules](#1-universal-rules)
|
|
2. [NeurIPS Style (Default)](#2-neurips-style-default)
|
|
3. [ICML Style](#3-icml-style)
|
|
4. [ACL Style](#4-acl-style)
|
|
5. [IEEE Style](#5-ieee-style)
|
|
6. [Nature Style](#6-nature-style)
|
|
7. [Color Palettes Quick Reference](#7-color-palettes-quick-reference)
|
|
8. [Font Sizes Quick Reference](#8-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 (`Blues` or `YlOrRd`)
|
|
- 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
|
|
|
|
```python
|
|
# 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*
|