Beamer Slide Workflow
Universal skill for academic Beamer presentations. Full lifecycle:
create → compile → review → polish → verify.
0. REFERENCE PREAMBLE
When creating new slides, use this as the default preamble unless the user has a custom template.
\documentclass[aspectratio=169,10pt]{beamer}
\usetheme{Madrid}
\usecolortheme{default}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}[frame number]
\usepackage{amsmath,amssymb,amsthm,booktabs,mathtools}
\usepackage{stmaryrd} % for \llbracket, \rrbracket
\usepackage{graphicx} % for \includegraphics (extracted figures)
\usepackage{hyperref}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,positioning,decorations.pathreplacing}
% Semantic colors — use in BOTH text and TikZ for global consistency
\definecolor{positive}{HTML}{0173B2} % blue (correct, advantage)
\definecolor{negative}{HTML}{DE8F05} % orange (limitation, drawback)
\definecolor{emphasis}{HTML}{029E73} % green (highlight, key finding)
\definecolor{neutral}{gray}{0.55} % muted context
\definecolor{cbPurple}{HTML}{CC78BC} % additional accent
\newcommand{\pos}[1]{\textcolor{positive}{#1}}
\newcommand{\con}[1]{\textcolor{negative}{#1}}
\newcommand{\HL}[1]{\textcolor{emphasis}{#1}}
Rules:
- Always
10pt — 11pt or 12pt produces oversized, sparse slides.
- Always
aspectratio=169 — modern projectors are 16:9.
- Default presenter:
\author{Presenter: [name]} and \institute{Shanghai Jiao Tong University}. Override only if user specifies otherwise.
- If user provides a custom preamble, header file, or theme: use theirs.
- Add domain-specific macros (e.g.
\newcommand{\F}{\mathbb{F}}) as needed.
- Algorithm/code packages (add only when needed):
- Algorithms:
\usepackage[ruled,lined]{algorithm2e} — set \SetAlgoLined, \DontPrintSemicolon
- Code listings:
\usepackage{listings} — set basicstyle=\ttfamily\small, keywordstyle=\bfseries\color{positive}, commentstyle=\color{neutral}. Max 10 lines of code per slide; highlight key lines with escapeinside={(*@}{@*)} and \colorbox.
- Pseudocode:
\usepackage{algorithmic} — simpler than algorithm2e, suitable for short procedures.
- Data plotting (add only when needed):
\usepackage{pgfplots} + \pgfplotsset{compat=1.18} — data-driven plots (bar, scatter, error bars, histograms). Far more efficient than manual TikZ coordinate plots for data visualization.
\usepackage{subcaption} — multiple subfigures in one frame via \begin{subfigure}{0.48\textwidth}.
- Theorem environments: Beamer provides
theorem, lemma, corollary, definition, example, proof out of the box (styled by the theme). Use them for formal statements — they get automatic numbering and consistent styling. Customize with \setbeamertemplate{theorems}[numbered] or [ams style].
1. HARD RULES (Non-Negotiable)
- No overlays — never use
\pause, \onslide, \only, \uncover. Use multiple slides for progressive builds, color emphasis for attention. Common replacement patterns:
- Progressive formula build-up: slide A shows the base equation, slide B copies it and adds the next term (grayed-out terms from slide A stay as context). Copy-paste the full frame and extend.
- Step-by-step list reveal: slide A shows items 1-2, slide B shows 1-4 (items 1-2 repeated). Use
\textcolor{neutral}{} on previously-shown items to mute them.
- Diagram incremental build: slide A shows the base structure, slide B adds annotations/edges. Duplicate the
tikzpicture and append new elements — never delete prior elements.
- Max 2 colored boxes per slide — more dilutes emphasis. Demote transitional remarks to plain italic.
- Motivation before formalism — every concept starts with "Why?" before "What?".
- Worked example within 2 slides of every definition.
- XeLaTeX only — never pdflatex.
- Beamer .tex is the single source of truth — TikZ diagrams, content, notation all originate here.
- Verify after every task — compile, check warnings, open PDF.
- Telegraphic style — keyword phrases, not full sentences. Slides are speaker prompts, not manuscripts. Exception: framing sentences that set up a definition or transition. Each bullet item should be ≤2 lines (~15 words) — if longer, split into sub-items or rewrite more concisely.
- Every slide earns its place — each slide must contain at least one substantive element (formula, diagram, table, theorem, or algorithm). A slide with only 3 short bullets and nothing else must be merged or enriched.
- Box-interior overflow guard —
alertblock, exampleblock, and block environments add internal padding (~15% less width, ~12-16pt extra height for title bar + vertical padding). Content that fits on a bare slide can overflow inside a box in both directions. Rules:
- Vertical overflow (most common, hardest to detect): display math (
\[ \]) + text below it inside a single box easily exceeds vertical capacity. Limit box content to one display equation OR 2-3 short bullet items — not both. Never use aggressive \vspace{-Xpt} inside a box; it pulls bottom content past the border.
- Horizontal overflow: never use
\qquad inside a box; use \quad or ,. If a display equation is wider than ~70% of \textwidth on a bare slide, reformat before placing inside a box.
- Beamer suppresses overfull warnings inside blocks — zero compile warnings does NOT guarantee no visual overflow. Always visually verify every box in the PDF.
- Reference slide — the second-to-last slide (before Thank You) must be a References slide listing key cited works. Use
\begin{thebibliography}{9} with \small. Include the primary paper and 3-5 most relevant references.
- Color and contrast standards — text-background contrast ratio ≥ 4.5:1 (WCAG AA). Never use red+green for binary contrasts (color blindness affects ~8% of men). Prefer blue+orange. Semantic color commands defined in preamble:
\pos{} = positive/correct (blue), \con{} = negative/limitation (orange), \HL{} = emphasis/key finding (green), \textcolor{neutral}{} = de-emphasized. These are color-blind safe. Limit total palette to 3-5 colors.
- Visual hierarchy in font sizes — slide title: 20-24pt (beamer default), key findings/theorems: normal size with
\textbf, supporting text: normal, labels/captions: \small minimum. Never use \tiny for any user-facing content.
- Backup slides — after the Thank You slide, include 3-5 backup slides for anticipated questions. Use
\appendix before backup section. Separate from main deck with a \begin{frame}{Backup Slides}\end{frame} divider. Backup slides should NOT count toward the timing allocation. Content to include (derive from Phase 0 material analysis):
- Full proof of the main theorem (if only a sketch was shown in the main deck)
- Parameter choices / security analysis details (for crypto/protocol papers)
- Extended comparison table with additional baselines
- Experimental setup details (hardware, hyperparameters, datasets)
- Definitions of prerequisites that were assumed known (in case someone asks)
- Columns layout — use
\begin{columns}[T] + \column{W\textwidth} for side-by-side content. Rules:
- Comparison / parallel content: two columns at
0.48\textwidth each (leave 0.04 gap).
- Figure + text: figure column
0.45-0.55, text column 0.40-0.50, gap 0.05.
- Three columns maximum: each
≤ 0.30\textwidth, only for short items (icons, stats, one-liners).
- Never nest columns inside columns.
- Always use
[T] (top-align) unless deliberately centering.
- Columns content follows the same density constraints as regular slides.
2. ACTIONS
Parse $ARGUMENTS to determine which action to run. If no action specified, ask.
2.1 compile [file]
3-pass XeLaTeX + bibtex for full citation resolution.
# Adapt TEXINPUTS/BIBINPUTS to your project's preamble/bib locations
xelatex -interaction=nonstopmode FILE.tex
bibtex FILE
xelatex -interaction=nonstopmode FILE.tex
xelatex -interaction=nonstopmode FILE.tex
Post-compile checks:
- Grep log for
Overfull \\hbox warnings (count and locations)
- Grep for
Undefined control sequence or undefined citations
- Grep for
Label(s) may have changed
- Open PDF for visual verification
- Report: success/failure, overfull count, undefined items, page count
2.2 create [topic]
Collaborative, iterative lecture creation. Strict phase gates — never skip ahead.
Phase 0: Material Analysis (if papers/materials provided)
Read first, ask later. Must understand the content before asking meaningful questions.
- Accept
.pdf, .md, or mixed paper/material inputs.
- If Markdown is provided, use it as the primary semantic source for section hierarchy, equations, theorem statements, captions, references, and notation.
- If both Markdown and PDF are provided, use Markdown for structure/text understanding and use the PDF for figures, page context, visual reference, and extraction.
- If only a PDF is provided and parsing loses structure, ask whether the user can provide a Markdown conversion. Do not require or run a specific PDF-to-Markdown converter.
- Read the full paper/materials thoroughly
- Extract: core contribution, key techniques, main theorems, comparison with prior work
- Map notation conventions
- Identify the paper's logical structure and which parts are slide-worthy
- Internally note: prerequisite knowledge, natural section boundaries, what could be skipped or expanded
Do NOT present results or ask questions yet — proceed directly to Phase 1.
Phase 1: Needs Interview (MANDATORY — informed by Phase 0)
Conduct a content-driven interview via AskUserQuestion. The questions below are the minimum required set — you MUST also add paper-specific questions derived from Phase 0.
Minimum required questions (always ask):
- Duration: How long is the presentation?
- Audience level: Who are the listeners?
Optional question (ask when the talk is a journal club, defense, or user seems to want rehearsal support):
3. Speaker notes: Would you like speaker notes in the Presenter View? If yes, \note{} blocks will be added per frame with telegraphic talking points (key message, transition cue, anticipated questions). Requires adding \setbeameroption{show notes on second screen=right} to the preamble for dual-screen display.
Content-driven questions (derive from Phase 0, ask as many as needed):
- Prerequisite knowledge: List concrete technical dependencies identified in Phase 0. Ask which ones the audience knows. E.g., "The paper builds on sumcheck and polynomial commitments. Should I review these?" — not "familiar with basic algebra?".
- Content scope: Offer the paper's actual components as options. Ask which to emphasize, skip, or briefly mention.
- Depth vs. breadth: If the paper has both intuitive overview and detailed constructions, ask which the user prefers.
- Paper-specific decisions: E.g., if the paper compares two constructions, ask whether to present both equally or focus on one.
Guidelines:
- Options should come from the paper's actual content, not generic templates.
- 3-6 questions total; don't over-ask, don't under-ask.
- If something is obvious from context (e.g., user said "讨论班"), infer rather than ask.
Slide count heuristic: ~1 slide per 1.5-2 minutes.
Timing allocation table:
| Duration |
Total slides |
Intro/Motivation |
Methods/Background |
Core content |
Summary/Conclusion |
| 5min (lightning) |
5-7 |
1-2 |
0-1 |
2-3 |
1 |
| 10min (short) |
8-12 |
2 |
1-2 |
4-5 |
1 |
| 15min (conference) |
10-15 |
2-3 |
2-3 |
5-7 |
1-2 |
| 20min (seminar) |
13-18 |
3 |
2-3 |
6-9 |
2 |
| 45min (keynote) |
22-30 |
4-5 |
5-7 |
10-14 |
2-3 |
| 90min (lecture) |
45-60 |
5-6 |
8-12 |
25-35 |
3-4 |
Talk-type specific tips:
| Talk type |
Key emphasis |
Common mistake |
| Lightning (5min) |
One core message, no background review |
Cramming a full talk into 5 minutes |
| Conference (10-20min) |
1-2 key results, fast methods overview |
Too much technical detail, no big picture |
| Seminar (45min) |
Deep dive OK, but need visual rhythm |
Wall-to-wall formulas without examples |
| Defense/Thesis |
Demonstrate mastery, systematic coverage |
Skipping motivation, rushing results |
| Journal club |
Critical analysis, facilitate discussion |
Summarizing without evaluating |
| Grant pitch |
Significance → feasibility → impact |
Too technical, not enough "why it matters" |
Time distribution principle: Spend 40-50% of time on core content (results/techniques). Max 3-4 consecutive theory-heavy slides before a worked example or visual break.
Phase 2: Structure Plan (GATE — user must approve before drafting)
Produce a detailed outline. For each section:
- Section title
- Number of slides allocated
- Key content points per slide (1-2 lines each)
- TikZ diagrams or figures planned (brief description)
- Notation to introduce
Present the plan to the user. Ask: structure OK? Expand/shrink/cut anything?
Do NOT proceed to drafting until user approves.
Phase 3: Draft (iterative, batched)
This phase is the most critical. Follow all sub-rules strictly.
3a. Writing Style
- Telegraphic keywords, not full sentences. Exception: one framing sentence per slide to set context.
- Formulas and analysis interleave tightly — define a quantity, then immediately state its cost/property/implication on the same slide. Never isolate a formula on one slide and its analysis on the next.
- No conversational hedging — never write "wait, not exactly", "actually, let me clarify", or similar. If a point needs qualification, state it precisely from the start.
- Use
\textbf{} for key terms on first introduction; use \pos{...} for positive properties, \con{...} for drawbacks/limitations, \HL{...} for key findings (defined in preamble).
3a-2. Opening and Closing Strategies
Opening slide (pick one strategy):
- Surprising statistic — a counter-intuitive number that challenges assumptions
- Provocative question — something the audience cannot immediately answer
- Real-world failure/problem — "System X failed because..." → "How do we prevent this?"
- Visual demonstration — show the phenomenon before explaining it
The opening should create tension or curiosity that the rest of the talk resolves.
Closing strategies:
- Call-back to opening — revisit the opening question/problem, now answered (circular narrative)
- 3 key takeaways — numbered, telegraphic, one slide. The audience remembers the last thing they see.
- Open question / future direction — leave the audience thinking, naturally invites Q&A
- Never end on a bare "Thank You" — the second-to-last content slide should deliver the lasting impression. The Thank You slide is a courtesy, not the conclusion.
3b. Mathematical Slide Patterns
Each math-heavy slide should follow one of these patterns:
Definition slide:
[Framing sentence: why this definition matters]
[Formal definition in display math]
[Key properties / immediate consequences as 2-3 bullet items]
Construction/Algorithm slide:
[One-line goal statement]
[Core equation / algorithm steps]
[Complexity analysis: prover cost, verifier cost, soundness]
Comparison slide:
[Side-by-side table: prior work vs this work]
[1-2 lines highlighting the key difference]
Insight/Remark slide (adds value beyond the paper):
[Observation the paper doesn't emphasize, or a comparison with related work]
[Why this matters / what it implies]
Every slide must have a clear takeaway — the one thing the audience should remember.
Theorem/Proof slide (for formal mathematical statements):
[Framing sentence: informal statement of the result]
\begin{theorem}[Optional name]
[Formal statement in display math]
\end{theorem}
[Key implication or "why this matters" as 1-2 bullets]
- Proof on the next slide (never cramming theorem + proof on one slide).
- For long proofs: show proof sketch (key steps only), put full proof in backup slides.
- Use
\begin{proof}[Proof sketch] to signal abbreviated proofs.
Cross-referencing between slides:
- Label key slides with
\label{slide:construction} inside the frame.
- Reference from other slides:
see Slide~\ref{slide:construction} or clickable \hyperlink{slide:construction}{\beamerbutton{Back to Construction}}.
- Especially useful for Q&A — quickly jump back to a referenced result.
- In backup slides, always hyperlink back to the main slide that motivates them.
3c. Content Density Constraints
Upper bounds (per slide):
- ≤ 7 bullet points or items
- ≤ 2 displayed equations (more → split)
- ≤ 5 new symbols introduced
- ≤ 2 colored boxes (alertblock/exampleblock)
Lower bounds (per slide):
- Each slide MUST contain at least one substantive element: a formula, diagram, table, theorem statement, or algorithm
- A slide with only ≤ 3 short text-only bullets is too sparse — merge with an adjacent slide or add a formula/diagram
- Pure text-only bullet slides should be ≤ 30% of the total deck
Density self-check after each batch:
- Count slides that have zero formulas/diagrams/tables → flag if > 30% of batch
- Count slides with ≤ 3 short items and no math → candidates for merging
3d. Batch Workflow
- Work in batches of 5-10 slides, following the approved structure
- After each batch, compile (
xelatex -interaction=nonstopmode) to catch errors early — fixing 2 issues in a 10-slide batch is far cheaper than fixing 12 issues in a 40-slide deck at Phase 5
- After each batch, self-check: notation consistency, density constraints, motivation-before-formalism
- Continue to next batch only after current batch compiles cleanly and passes self-check
3e. Table Best Practices
- Always center tables — wrap every standalone table in
\begin{center}...\end{center}. Left-aligned tables look misaligned on slides.
- Never place a table immediately after the frame title — themes like Madrid have a colored title bar whose bottom edge visually merges with
\toprule, making the table appear embedded in the title. Always insert \vspace{4pt} (or introductory text) between the title and the first \toprule. The compiler emits zero warnings for this — it can only be caught by visual inspection.
- Always use
booktabs (\toprule, \midrule, \bottomrule) — never vertical lines (|).
- Column alignment: numbers right-aligned (
r), text left-aligned (l), short labels centered (c).
- Max 6-7 columns, 8-10 rows per slide. More → split across slides following these pagination rules:
- Each continuation slide repeats the full header row (
\toprule + header + \midrule).
- Append " (cont'd)" to the frame title:
\frametitle{Results (cont'd)}.
- Split at logical row group boundaries (e.g., between algorithm families, dataset groups) — never mid-group.
- Last page must have ≥3 data rows; if fewer, merge with the previous page.
- Each page gets its own takeaway line below the table if the subset tells a different story.
- Use
\resizebox{\textwidth}{!}{...} only as last resort — prefer reducing columns/rows first.
- Highlight key cells with
\cellcolor{positive!15} or \textbf{} — draw the eye to the result.
- For comparison tables: bold the best result in each row/column.
- Caption below table in
\small, or use the frame title as the implicit caption.
3f. Algorithm and Code Display
- Pseudocode ≤ 10 lines per slide. If longer, split into "high-level overview" and "key subroutine" slides.
- Highlight the critical line(s): use
escapeinside in listings or \colorbox in algorithm2e.
- Input/output clearly stated at the top of the algorithm.
- Use consistent naming: variables in math italic (
$x$), functions in sans-serif or typewriter.
- For code (not pseudocode):
\ttfamily\small, syntax highlighting via listings. Show only the relevant fragment — never dump an entire source file.
Phase 4: Figures
- TikZ diagrams in Beamer source (single source of truth)
- Apply TikZ quality standards (see Section 2.6)
- R/Python scripts if needed
Data visualization guidelines (journal figures ≠ slide figures):
pgfplots for data-driven figures (preferred over manual TikZ for data):
Use pgfplots whenever plotting numerical data. It handles axes, legends, scaling, and data loading automatically.
% Bar chart from inline data
\begin{tikzpicture}
\begin{axis}[
ybar, bar width=12pt,
xlabel={Method}, ylabel={Accuracy (\%)},
symbolic x coords={Baseline, Ours, Oracle},
xtick=data, ymin=0, ymax=100,
nodes near coords, every node near coord/.append style={font=\small},
width=0.85\textwidth, height=5cm
]
\addplot coordinates {(Baseline,72) (Ours,89) (Oracle,95)};
\end{axis}
\end{tikzpicture}
% Line plot from CSV file
\begin{tikzpicture}
\begin{axis}[
xlabel={Epoch}, ylabel={Loss},
legend pos=north east, grid=major,
width=0.85\textwidth, height=5cm
]
\addplot table[x=epoch, y=train_loss, col sep=comma] {data/results.csv};
\addplot table[x=epoch, y=val_loss, col sep=comma] {data/results.csv};
\legend{Train, Validation}
\end{axis}
\end{tikzpicture}
% Scatter plot with error bars
\begin{axis}[xlabel={$x$}, ylabel={$y$}]
\addplot+[only marks, error bars/.cd, y dir=both, y explicit]
coordinates {(1,2)+-(0,0.3) (2,3.5)+-(0,0.5) (3,5.1)+-(0,0.4)};
\end{axis}
- Always set explicit
width and height to prevent overflow.
- Use
\addplot table[col sep=comma]{file.csv} to load data from file — keeps .tex clean.
- For presentation: enlarge tick labels (
tick label style={font=\small}), thicken lines (thick), use semantic colors (color=positive).
Phase 5: Quality Loop (MANDATORY — iterative)
After completing the full draft, enter the quality loop:
┌─→ 5a. Compile (2-pass XeLaTeX)
│ 5b. Self-Review (structure + content + visual)
│ 5c. Score (apply rubric)
│ 5d. Fix all issues found
└── If score < 90 and round < 3: loop back to 5a
If score ≥ 90 or round = 3: report to user
5a. Compilation
- 2-pass XeLaTeX compilation (bibtex not needed here — already resolved in Phase 3 batch compiles)
- Check: errors, overfull hbox, undefined references
- Open PDF for visual inspection
5b. Self-Review — re-read the .tex and verify:
Structure:
Content density:
TikZ and visuals:
Notation:
5c. Quality Score
Start at 100. Deduct:
| Severity |
Issue |
Deduction |
| Critical |
Compilation failure |
-100 |
| Critical |
Equation overflow (slide or box-interior) |
-20 |
| Critical |
TikZ diagram overflows slide boundary (clipped at bottom/right) |
-15 per diagram |
| Critical |
Undefined control sequence / citation |
-15 |
| Critical |
Overfull hbox > 10pt |
-10 |
| Major |
Content overflow inside colored box (vertical or horizontal, visual-only) |
-10 per box |
| Major |
TikZ marked points not on curve (hardcoded y-values instead of computed) |
-8 per diagram |
| Major |
Sparse slide (≤3 items, no math/diagram) |
-5 per slide |
| Major |
TikZ label overlap |
-5 |
| Major |
Missing references slide |
-5 |
| Major |
Table not centered (standalone table without \begin{center}) |
-3 per table |
| Major |
Table \toprule visually merged with title bar (no spacing after frame title) |
-5 per slide |
| Major |
Notation inconsistency |
-3 |
| Minor |
\vspace overuse (>3 per slide) |
-1 |
| Minor |
Font size reduction (\footnotesize etc.) |
-1 per slide |
Thresholds:
- ≥ 90: Ready to deliver. Report to user.
- 80-89: Acceptable. Fix remaining majors if possible, report with caveats.
- < 80: Must fix. Loop back and resolve critical/major issues.
5d. Fix — fix all critical and major issues. Re-compile. If score improves to ≥ 90, exit loop. Max 3 rounds to avoid infinite loops.
Post-Creation Checklist (final gate)
[ ] Compiles without errors
[ ] No overfull hbox > 10pt
[ ] All citations resolve
[ ] Score ≥ 90
[ ] Every definition has motivation + worked example
[ ] Max 2 colored boxes per slide
[ ] No sparse slides (all slides have substantive content)
[ ] TikZ diagrams visually verified — no overlaps, no overflow, all marked points on curves
[ ] Tables fit within slide boundaries, are centered, and separated from title bar
[ ] No content overflow inside colored boxes (visual PDF check)
[ ] References slide present (second-to-last, before Thank You)
2.3 review [file] or proofread [file]
Read-only report, no file edits.
5 check categories:
| Category |
What to check |
| Grammar |
Subject-verb, articles, prepositions, tense consistency |
| Typos |
Misspellings, search-replace artifacts, duplicated words, unreplaced placeholders ([name], [TODO], [XXX], template remnants) |
| Overflow |
Long equations without \resizebox, too many items per slide |
| Consistency |
Citation format (\citet/\citep), notation, terminology, box usage, denominator consistency across slides |
| Academic quality |
Informal abbreviations, missing words, claims without citations, ambiguous abbreviations (same abbreviation for different terms) |
Report format per issue:
### Issue N: [Brief description]
- **Location:** [slide title or line number]
- **Current:** "[exact text]"
- **Proposed:** "[fix]"
- **Category / Severity:** [Category] / [High|Medium|Low]
2.4 audit [file]
Visual layout audit. Read-only report.
Check dimensions:
- Overflow: Content exceeding boundaries, wide tables/equations
- Font consistency: Inline size overrides, inconsistent sizes
- Box fatigue: 2+ boxes per slide, wrong box types
- Spacing:
\vspace overuse, structural issues
- Layout: Missing transitions, missing framing sentences
Spacing-first fix principle (priority order):
- Reduce vertical spacing (structural changes)
- Consolidate lists
- Move displayed equations inline
- Reduce image/table size with
\resizebox
- Last resort:
\footnotesize (never \tiny)
2.5 pedagogy [file]
Holistic pedagogical review. Read-only report.
13 patterns to validate:
| # |
Pattern |
Red flag |
| 1 |
Motivation before formalism |
Definition without context |
| 2 |
Incremental notation |
5+ new symbols on one slide |
| 3 |
Worked example after definition |
2 consecutive definitions, no example |
| 4 |
Progressive complexity |
Advanced concept before prerequisite |
| 5 |
Fragment reveals (problem→solution) |
Dense theorem revealed all at once |
| 6 |
Standout slides at pivots |
Abrupt topic jump, no transition |
| 7 |
Two-slide strategy for dense theorems |
Complex theorem crammed in 1 slide |
| 8 |
Semantic color usage |
Binary contrasts in same color |
| 9 |
Box hierarchy |
Wrong box type for content |
| 10 |
Box fatigue |
3+ boxes on one slide |
| 11 |
Socratic embedding |
Zero questions in entire deck |
| 12 |
Visual-first for complex concepts |
Notation before visualization |
| 13 |
Side-by-side for comparisons |
Sequential slides for related definitions |
Deck-level checks: Narrative arc, pacing (max 3-4 theory slides before example), visual rhythm (section dividers every 5-8 slides), notation consistency, student prerequisite assumptions.
2.6 tikz [file]
TikZ diagram review and extraction.
Quality standards:
Labels NEVER overlap with curves, lines, dots, or other labels
When two labels are near the same vertical position, stagger them
Visual semantics: solid=observed, dashed=counterfactual, filled=observed, hollow=counterfactual
Line weights: axes=thick, data=thick, annotations=thick (not very thick)
Standard scale: [scale=1.1] for full-width diagrams
Dot radius: 4pt for data points
Minimum 0.2 units between any label and nearest graphical element
Mathematical accuracy of plotted points: NEVER hardcode y-coordinates for points, markers, or dashed-line endpoints that should lie on a plotted curve. ALL such coordinates must be computed from the SAME function used to draw the curve via \pgfmathsetmacro. This applies to:
- Points marked on a single curve (e.g., labeled special values like "BiPerm at ℓ=2")
- Dashed vertical/horizontal lines that terminate at a curve
- Intersections of two curves
- Any annotation anchored to a curve position
Common mistake (WRONG — hardcoded y that doesn't match the curve):
\draw[thick] plot[domain=0.8:10] (\x, {0.3*\x + 2.7/\x});
\draw[dashed] (2, 0) -- (2, 3.2); % BAD: 3.2 is not 0.3*2+2.7/2=1.95
\node at (2, 3.2) {BiPerm}; % BAD: label floats above the curve
Correct pattern (ALWAYS compute from the function):
\draw[thick] plot[domain=0.8:10] (\x, {0.3*\x + 2.7/\x});
\pgfmathsetmacro{\yTwo}{0.3*2 + 2.7/2} % = 1.95, exactly on curve
\draw[dashed] (2, 0) -- (2, \yTwo);
\fill (2, \yTwo) circle (2pt);
\node[above left] at (2, \yTwo) {BiPerm};
For curve intersections, solve the system algebraically first, then encode the exact formula:
% Intersection of y=0.5x and y=2.5/x+0.3:
% 0.5x = 2.5/x + 0.3 => x^2 - 0.6x - 5 = 0 => x = (0.6+sqrt(20.36))/2
\pgfmathsetmacro{\xint}{(0.6 + sqrt(20.36))/2}
\pgfmathsetmacro{\yint}{0.5*\xint}
\fill (\xint, \yint) circle (3pt);
TikZ diagram sizing on mixed-content slides: a TikZ diagram sharing a slide with text/equations MUST fit in the remaining vertical space. Beamer 16:9 at 10pt has ~70mm usable height below the title bar. Before writing the TikZ code, estimate:
- Text + equations above the diagram: count displayed equations (each
12-15mm) + text lines (5mm each) + spacing
- Remaining height = 70mm − text height
- TikZ bounding box height = (max y-coordinate − min y-coordinate) × yscale × 0.3528mm/pt
- If the diagram won't fit: reduce
yscale, shrink coordinate ranges, or move content to a separate slide
Safe defaults for mixed slides: xscale=0.5-0.7, yscale=0.4-0.6. For full-slide diagrams: scale=0.9-1.1.
Edge labels on short arrows: when placing node[midway, above] labels on arrows between boxes, the label text can extend past the arrow endpoints into adjacent box borders. Prevention rules:
- Estimate label text width vs. arrow length (
right= gap). If the label is wider than ~80% of the gap, increase the gap or shrink the label font (\scriptsize / \tiny).
- Use
above=4pt (or more) instead of bare above to add vertical clearance between label and box border.
- For flow diagrams with 3+ boxes: total width = (N × box width) + ((N-1) × gap). Must stay ≤ 14cm for 16:9 beamer. Adjust box
text width and gap together.
- When in doubt, compile and visually verify that no label overlaps any box border.
Extraction to SVG (for web/Quarto use):
xelatex -interaction=nonstopmode extract_tikz.tex
PAGES=$(pdfinfo extract_tikz.pdf | grep "Pages:" | awk '{print $2}')
for i in $(seq 1 $PAGES); do
idx=$(printf "%02d" $((i-1)))
pdf2svg extract_tikz.pdf tikz_exact_$idx.svg $i
done
TikZ checklist:
[ ] No label-label overlaps
[ ] No label-curve overlaps
[ ] No edge labels overlapping adjacent nodes (check label width vs. arrow length)
[ ] Diagram bounding box fits within remaining slide space (especially mixed text+diagram slides)
[ ] ALL marked points/dots/line-endpoints on curves computed via \pgfmathsetmacro from the SAME function — no hardcoded y-values
[ ] Dashed reference lines terminate exactly at the curve, not at arbitrary coordinates
[ ] Consistent dot style (solid=observed, hollow=counterfactual)
[ ] Consistent line style (solid=observed, dashed=counterfactual)
[ ] Arrow annotations: FROM label TO feature
[ ] Axes extend beyond all data points
[ ] Labels legible at presentation size
[ ] Minimum spacing between labels and graphical elements
Common TikZ diagram patterns:
Use these as starting points, then customize. All patterns assume arrows.meta, positioning, decorations.pathreplacing libraries are loaded (included in default preamble).
Flowchart (horizontal):
\begin{tikzpicture}[
box/.style={draw, rounded corners, minimum width=2.2cm, minimum height=0.8cm,
font=\small, fill=positive!10},
arr/.style={-{Stealth}, thick}
]
\node[box] (A) {Step 1};
\node[box, right=1.5cm of A] (B) {Step 2};
\node[box, right=1.5cm of B] (C) {Step 3};
\draw[arr] (A) -- node[above, font=\scriptsize] {label} (B);
\draw[arr] (B) -- (C);
\end{tikzpicture}
- Total width ≤ 14cm for 16:9. Formula: N × box_width + (N-1) × gap.
- For vertical flows: use
below= instead of right=.
Timeline:
\begin{tikzpicture}
\draw[-{Stealth}, thick] (0,0) -- (12,0) node[right] {Time};
\foreach \x/\lab in {1.5/Event A, 5/Event B, 9/Event C} {
\draw[thick] (\x, 0.15) -- (\x, -0.15);
\node[above=3pt, font=\small] at (\x, 0.15) {\lab};
}
\end{tikzpicture}
Tree diagram:
\begin{tikzpicture}[
level distance=1.2cm, sibling distance=2.5cm,
every node/.style={draw, rounded corners, font=\small, minimum width=1.5cm}
]
\node {Root}
child { node {A} child { node {A1} } child { node {A2} } }
child { node {B} child { node {B1} } };
\end{tikzpicture}
Annotated brace:
\draw[decorate, decoration={brace, amplitude=6pt, raise=2pt}]
(start) -- (end) node[midway, above=10pt, font=\small] {annotation};
Coordinate plot with computed intersection:
\begin{tikzpicture}[scale=1.1]
\draw[-{Stealth}, thick] (0,0) -- (6,0) node[right] {$x$};
\draw[-{Stealth}, thick] (0,0) -- (0,4) node[above] {$y$};
\draw[thick, positive] plot[smooth, domain=0.5:5.5] (\x, {0.5*\x});
\draw[thick, negative, dashed] plot[smooth, domain=0.5:5.5] (\x, {2.5/\x + 0.3});
% Exact intersection via \pgfmathsetmacro (see quality standards above)
\end{tikzpicture}
Decision diamond (for algorithm flowcharts):
\node[diamond, draw, aspect=2, inner sep=1pt, font=\small] (D) {condition?};
\draw[arr] (D) -- node[right, font=\scriptsize] {yes} ++(0,-1.2);
\draw[arr] (D) -- node[above, font=\scriptsize] {no} ++(2.5,0);
Iterative TikZ review loop (for complex diagrams):
When a TikZ diagram has ≥ 5 nodes or involves plotted curves, run an iterative review:
┌─→ Step 1: Mentally render — trace every coordinate, compute where each element appears
│ Step 2: Check for issues — overlaps, misalignments, inconsistent semantics
│ Step 3: Classify — CRITICAL (overlap, wrong semantics, geometric error),
│ MAJOR (poor spacing, readability), MINOR (aesthetic)
│ Step 4: Fix all CRITICAL and MAJOR issues
│ Step 5: Re-compile and visually verify in PDF
└── If CRITICAL or MAJOR remain and round < 3: loop back to Step 1
If all clear or round = 3: declare APPROVED or report remaining issues
Verdict criteria:
- APPROVED: Zero CRITICAL, zero MAJOR → diagram is complete
- NEEDS REVISION: CRITICAL or MAJOR issues remain → list exact fixes needed
- REJECTED: Fundamental structural problems → consider redesigning the diagram
2.7 excellence [file]
Comprehensive multi-dimensional review. Use the Agent tool to dispatch review agents in parallel for maximum efficiency.
Parallel agent dispatch — launch these as concurrent Agent calls:
- Visual audit agent — "Read [file]. Check every slide for: overflow, font consistency, box fatigue (2+ boxes), spacing issues, missing transitions. Report per slide with severity. Follow spacing-first fix principle."
- Pedagogical review agent — "Read [file]. Validate 13 pedagogical patterns (motivation before formalism, incremental notation, worked examples, etc.) and deck-level checks (narrative arc, pacing, visual rhythm, notation consistency). Report pattern-by-pattern with status."
- Proofreading agent — "Read [file]. Check grammar, typos, citation consistency (
\citet/\citep), notation consistency, academic quality. Report per issue with location and fix."
- TikZ review agent (if file contains
\begin{tikzpicture}) — "Read [file
…(truncated)
1---2name: beamer3description: Beamer LaTeX slide workflow: create, compile, review, and polish academic presentations. Use this skill whenever the user works on Beamer .tex slide decks, or asks to create slides, make a presentation, prepare a lecture, build a talk, or generate Beamer slides from a paper PDF or Markdown. Covers: creation, editing, compilation, proofreading, visual audit, pedagogical review, TikZ diagrams, figure extraction, and comprehensive quality checks. Trigger on: beamer, slides, lecture, presentation, seminar talk, conference talk, defense slides, tikz, compile latex, proofread slides, slide review, 讨论班, 论文讲解. Do NOT trigger on: powerpoint, pptx, PPT, 做PPT — use the powerpoint-slides skill instead.4---56# Beamer Slide Workflow78Universal skill for academic Beamer presentations. Full lifecycle:9create → compile → review → polish → verify.1011---1213## 0. REFERENCE PREAMBLE1415When creating new slides, use this as the default preamble unless the user has a custom template.1617```latex18\documentclass[aspectratio=169,10pt]{beamer}1920\usetheme{Madrid}21\usecolortheme{default}22\setbeamertemplate{navigation symbols}{}23\setbeamertemplate{footline}[frame number]2425\usepackage{amsmath,amssymb,amsthm,booktabs,mathtools}26\usepackage{stmaryrd} % for \llbracket, \rrbracket27\usepackage{graphicx} % for \includegraphics (extracted figures)28\usepackage{hyperref}29\usepackage{tikz}30\usetikzlibrary{arrows.meta,positioning,decorations.pathreplacing}3132% Semantic colors — use in BOTH text and TikZ for global consistency33\definecolor{positive}{HTML}{0173B2} % blue (correct, advantage)34\definecolor{negative}{HTML}{DE8F05} % orange (limitation, drawback)35\definecolor{emphasis}{HTML}{029E73} % green (highlight, key finding)36\definecolor{neutral}{gray}{0.55} % muted context37\definecolor{cbPurple}{HTML}{CC78BC} % additional accent38\newcommand{\pos}[1]{\textcolor{positive}{#1}}39\newcommand{\con}[1]{\textcolor{negative}{#1}}40\newcommand{\HL}[1]{\textcolor{emphasis}{#1}}41```4243**Rules:**44- **Always `10pt`** — `11pt` or `12pt` produces oversized, sparse slides.45- **Always `aspectratio=169`** — modern projectors are 16:9.46- **Default presenter**: `\author{Presenter: [name]}` and `\institute{Shanghai Jiao Tong University}`. Override only if user specifies otherwise.47- If user provides a custom preamble, header file, or theme: use theirs.48- Add domain-specific macros (e.g. `\newcommand{\F}{\mathbb{F}}`) as needed.49- **Algorithm/code packages** (add only when needed):50 - Algorithms: `\usepackage[ruled,lined]{algorithm2e}` — set `\SetAlgoLined`, `\DontPrintSemicolon`51 - Code listings: `\usepackage{listings}` — set `basicstyle=\ttfamily\small`, `keywordstyle=\bfseries\color{positive}`, `commentstyle=\color{neutral}`. Max 10 lines of code per slide; highlight key lines with `escapeinside={(*@}{@*)}` and `\colorbox`.52 - Pseudocode: `\usepackage{algorithmic}` — simpler than algorithm2e, suitable for short procedures.53- **Data plotting** (add only when needed):54 - `\usepackage{pgfplots}` + `\pgfplotsset{compat=1.18}` — data-driven plots (bar, scatter, error bars, histograms). Far more efficient than manual TikZ coordinate plots for data visualization.55 - `\usepackage{subcaption}` — multiple subfigures in one frame via `\begin{subfigure}{0.48\textwidth}`.56- **Theorem environments**: Beamer provides `theorem`, `lemma`, `corollary`, `definition`, `example`, `proof` out of the box (styled by the theme). Use them for formal statements — they get automatic numbering and consistent styling. Customize with `\setbeamertemplate{theorems}[numbered]` or `[ams style]`.5758---5960## 1. HARD RULES (Non-Negotiable)61621. **No overlays** — never use `\pause`, `\onslide`, `\only`, `\uncover`. Use multiple slides for progressive builds, color emphasis for attention. **Common replacement patterns:**63 - *Progressive formula build-up*: slide A shows the base equation, slide B copies it and adds the next term (grayed-out terms from slide A stay as context). Copy-paste the full frame and extend.64 - *Step-by-step list reveal*: slide A shows items 1-2, slide B shows 1-4 (items 1-2 repeated). Use `\textcolor{neutral}{}` on previously-shown items to mute them.65 - *Diagram incremental build*: slide A shows the base structure, slide B adds annotations/edges. Duplicate the `tikzpicture` and append new elements — never delete prior elements.662. **Max 2 colored boxes per slide** — more dilutes emphasis. Demote transitional remarks to plain italic.673. **Motivation before formalism** — every concept starts with "Why?" before "What?".684. **Worked example within 2 slides** of every definition.695. **XeLaTeX only** — never pdflatex.706. **Beamer .tex is the single source of truth** — TikZ diagrams, content, notation all originate here.717. **Verify after every task** — compile, check warnings, open PDF.728. **Telegraphic style** — keyword phrases, not full sentences. Slides are speaker prompts, not manuscripts. Exception: framing sentences that set up a definition or transition. Each bullet item should be ≤2 lines (~15 words) — if longer, split into sub-items or rewrite more concisely.739. **Every slide earns its place** — each slide must contain at least one substantive element (formula, diagram, table, theorem, or algorithm). A slide with only 3 short bullets and nothing else must be merged or enriched.7410. **Box-interior overflow guard** — `alertblock`, `exampleblock`, and `block` environments add internal padding (~15% less width, ~12-16pt extra height for title bar + vertical padding). Content that fits on a bare slide can overflow inside a box in **both directions**. Rules:75 - **Vertical overflow** (most common, hardest to detect): display math (`\[ \]`) + text below it inside a single box easily exceeds vertical capacity. Limit box content to **one display equation OR 2-3 short bullet items** — not both. Never use aggressive `\vspace{-Xpt}` inside a box; it pulls bottom content past the border.76 - **Horizontal overflow**: never use `\qquad` inside a box; use `\quad` or `,`. If a display equation is wider than ~70% of `\textwidth` on a bare slide, reformat before placing inside a box.77 - **Beamer suppresses overfull warnings inside blocks** — zero compile warnings does NOT guarantee no visual overflow. Always visually verify every box in the PDF.7811. **Reference slide** — the second-to-last slide (before Thank You) must be a **References** slide listing key cited works. Use `\begin{thebibliography}{9}` with `\small`. Include the primary paper and 3-5 most relevant references.7912. **Color and contrast standards** — text-background contrast ratio ≥ 4.5:1 (WCAG AA). Never use red+green for binary contrasts (color blindness affects ~8% of men). Prefer blue+orange. Semantic color commands defined in preamble: `\pos{}` = positive/correct (blue), `\con{}` = negative/limitation (orange), `\HL{}` = emphasis/key finding (green), `\textcolor{neutral}{}` = de-emphasized. These are color-blind safe. Limit total palette to 3-5 colors.8013. **Visual hierarchy in font sizes** — slide title: 20-24pt (beamer default), key findings/theorems: normal size with `\textbf`, supporting text: normal, labels/captions: `\small` minimum. Never use `\tiny` for any user-facing content.8114. **Backup slides** — after the Thank You slide, include 3-5 backup slides for anticipated questions. Use `\appendix` before backup section. Separate from main deck with a `\begin{frame}{Backup Slides}\end{frame}` divider. Backup slides should NOT count toward the timing allocation. **Content to include** (derive from Phase 0 material analysis):82 - Full proof of the main theorem (if only a sketch was shown in the main deck)83 - Parameter choices / security analysis details (for crypto/protocol papers)84 - Extended comparison table with additional baselines85 - Experimental setup details (hardware, hyperparameters, datasets)86 - Definitions of prerequisites that were assumed known (in case someone asks)8715. **Columns layout** — use `\begin{columns}[T]` + `\column{W\textwidth}` for side-by-side content. Rules:88 - Comparison / parallel content: two columns at `0.48\textwidth` each (leave 0.04 gap).89 - Figure + text: figure column `0.45-0.55`, text column `0.40-0.50`, gap `0.05`.90 - Three columns maximum: each `≤ 0.30\textwidth`, only for short items (icons, stats, one-liners).91 - Never nest columns inside columns.92 - Always use `[T]` (top-align) unless deliberately centering.93 - Columns content follows the same density constraints as regular slides.9495---9697## 2. ACTIONS9899Parse `$ARGUMENTS` to determine which action to run. If no action specified, ask.100101### 2.1 `compile [file]`1021033-pass XeLaTeX + bibtex for full citation resolution.104105```bash106# Adapt TEXINPUTS/BIBINPUTS to your project's preamble/bib locations107xelatex -interaction=nonstopmode FILE.tex108bibtex FILE109xelatex -interaction=nonstopmode FILE.tex110xelatex -interaction=nonstopmode FILE.tex111```112113Post-compile checks:114- Grep log for `Overfull \\hbox` warnings (count and locations)115- Grep for `Undefined control sequence` or `undefined citations`116- Grep for `Label(s) may have changed`117- Open PDF for visual verification118- Report: success/failure, overfull count, undefined items, page count119120### 2.2 `create [topic]`121122**Collaborative, iterative lecture creation. Strict phase gates — never skip ahead.**123124#### Phase 0: Material Analysis (if papers/materials provided)125126**Read first, ask later.** Must understand the content before asking meaningful questions.127128- Accept `.pdf`, `.md`, or mixed paper/material inputs.129- If Markdown is provided, use it as the primary semantic source for section hierarchy, equations, theorem statements, captions, references, and notation.130- If both Markdown and PDF are provided, use Markdown for structure/text understanding and use the PDF for figures, page context, visual reference, and extraction.131- If only a PDF is provided and parsing loses structure, ask whether the user can provide a Markdown conversion. Do not require or run a specific PDF-to-Markdown converter.132- Read the full paper/materials thoroughly133- Extract: core contribution, key techniques, main theorems, comparison with prior work134- Map notation conventions135- Identify the paper's logical structure and which parts are slide-worthy136- Internally note: prerequisite knowledge, natural section boundaries, what could be skipped or expanded137138**Do NOT present results or ask questions yet — proceed directly to Phase 1.**139140#### Phase 1: Needs Interview (MANDATORY — informed by Phase 0)141142Conduct a **content-driven interview** via AskUserQuestion. The questions below are the **minimum required set** — you MUST also add paper-specific questions derived from Phase 0.143144**Minimum required questions** (always ask):1451. **Duration**: How long is the presentation?1462. **Audience level**: Who are the listeners?147148**Optional question** (ask when the talk is a journal club, defense, or user seems to want rehearsal support):1493. **Speaker notes**: Would you like speaker notes in the Presenter View? If yes, `\note{}` blocks will be added per frame with telegraphic talking points (key message, transition cue, anticipated questions). Requires adding `\setbeameroption{show notes on second screen=right}` to the preamble for dual-screen display.150151**Content-driven questions** (derive from Phase 0, ask as many as needed):152- **Prerequisite knowledge**: List concrete technical dependencies identified in Phase 0. Ask which ones the audience knows. E.g., "The paper builds on sumcheck and polynomial commitments. Should I review these?" — not "familiar with basic algebra?".153- **Content scope**: Offer the paper's actual components as options. Ask which to emphasize, skip, or briefly mention.154- **Depth vs. breadth**: If the paper has both intuitive overview and detailed constructions, ask which the user prefers.155- **Paper-specific decisions**: E.g., if the paper compares two constructions, ask whether to present both equally or focus on one.156157**Guidelines:**158- Options should come from the paper's actual content, not generic templates.159- 3-6 questions total; don't over-ask, don't under-ask.160- If something is obvious from context (e.g., user said "讨论班"), infer rather than ask.161162**Slide count heuristic**: ~1 slide per 1.5-2 minutes.163164**Timing allocation table:**165166| Duration | Total slides | Intro/Motivation | Methods/Background | Core content | Summary/Conclusion |167|----------|-------------|------------------|-------------------|-------------|-------------------|168| 5min (lightning) | 5-7 | 1-2 | 0-1 | 2-3 | 1 |169| 10min (short) | 8-12 | 2 | 1-2 | 4-5 | 1 |170| 15min (conference) | 10-15 | 2-3 | 2-3 | 5-7 | 1-2 |171| 20min (seminar) | 13-18 | 3 | 2-3 | 6-9 | 2 |172| 45min (keynote) | 22-30 | 4-5 | 5-7 | 10-14 | 2-3 |173| 90min (lecture) | 45-60 | 5-6 | 8-12 | 25-35 | 3-4 |174175**Talk-type specific tips:**176177| Talk type | Key emphasis | Common mistake |178|-----------|-------------|----------------|179| Lightning (5min) | One core message, no background review | Cramming a full talk into 5 minutes |180| Conference (10-20min) | 1-2 key results, fast methods overview | Too much technical detail, no big picture |181| Seminar (45min) | Deep dive OK, but need visual rhythm | Wall-to-wall formulas without examples |182| Defense/Thesis | Demonstrate mastery, systematic coverage | Skipping motivation, rushing results |183| Journal club | Critical analysis, facilitate discussion | Summarizing without evaluating |184| Grant pitch | Significance → feasibility → impact | Too technical, not enough "why it matters" |185186**Time distribution principle**: Spend 40-50% of time on core content (results/techniques). Max 3-4 consecutive theory-heavy slides before a worked example or visual break.187188#### Phase 2: Structure Plan (GATE — user must approve before drafting)189190Produce a **detailed outline**. For each section:191- Section title192- Number of slides allocated193- Key content points per slide (1-2 lines each)194- TikZ diagrams or figures planned (brief description)195- Notation to introduce196197**Present the plan to the user.** Ask: structure OK? Expand/shrink/cut anything?198199**Do NOT proceed to drafting until user approves.**200201#### Phase 3: Draft (iterative, batched)202203**This phase is the most critical. Follow all sub-rules strictly.**204205##### 3a. Writing Style206207- **Telegraphic keywords**, not full sentences. Exception: one framing sentence per slide to set context.208- **Formulas and analysis interleave tightly** — define a quantity, then immediately state its cost/property/implication on the same slide. Never isolate a formula on one slide and its analysis on the next.209- **No conversational hedging** — never write "wait, not exactly", "actually, let me clarify", or similar. If a point needs qualification, state it precisely from the start.210- **Use `\textbf{}` for key terms** on first introduction; use `\pos{...}` for positive properties, `\con{...}` for drawbacks/limitations, `\HL{...}` for key findings (defined in preamble).211212##### 3a-2. Opening and Closing Strategies213214**Opening slide (pick one strategy):**215- **Surprising statistic** — a counter-intuitive number that challenges assumptions216- **Provocative question** — something the audience cannot immediately answer217- **Real-world failure/problem** — "System X failed because..." → "How do we prevent this?"218- **Visual demonstration** — show the phenomenon before explaining it219220The opening should create tension or curiosity that the rest of the talk resolves.221222**Closing strategies:**223- **Call-back to opening** — revisit the opening question/problem, now answered (circular narrative)224- **3 key takeaways** — numbered, telegraphic, one slide. The audience remembers the last thing they see.225- **Open question / future direction** — leave the audience thinking, naturally invites Q&A226- **Never end on a bare "Thank You"** — the second-to-last content slide should deliver the lasting impression. The Thank You slide is a courtesy, not the conclusion.227228##### 3b. Mathematical Slide Patterns229230Each math-heavy slide should follow one of these patterns:231232**Definition slide:**233```234[Framing sentence: why this definition matters]235[Formal definition in display math]236[Key properties / immediate consequences as 2-3 bullet items]237```238239**Construction/Algorithm slide:**240```241[One-line goal statement]242[Core equation / algorithm steps]243[Complexity analysis: prover cost, verifier cost, soundness]244```245246**Comparison slide:**247```248[Side-by-side table: prior work vs this work]249[1-2 lines highlighting the key difference]250```251252**Insight/Remark slide (adds value beyond the paper):**253```254[Observation the paper doesn't emphasize, or a comparison with related work]255[Why this matters / what it implies]256```257258Every slide must have a clear **takeaway** — the one thing the audience should remember.259260**Theorem/Proof slide (for formal mathematical statements):**261```262[Framing sentence: informal statement of the result]263\begin{theorem}[Optional name]264 [Formal statement in display math]265\end{theorem}266[Key implication or "why this matters" as 1-2 bullets]267```268- Proof on the **next** slide (never cramming theorem + proof on one slide).269- For long proofs: show proof sketch (key steps only), put full proof in backup slides.270- Use `\begin{proof}[Proof sketch]` to signal abbreviated proofs.271272**Cross-referencing between slides:**273- Label key slides with `\label{slide:construction}` inside the frame.274- Reference from other slides: `see Slide~\ref{slide:construction}` or clickable `\hyperlink{slide:construction}{\beamerbutton{Back to Construction}}`.275- Especially useful for Q&A — quickly jump back to a referenced result.276- In backup slides, always hyperlink back to the main slide that motivates them.277278##### 3c. Content Density Constraints279280**Upper bounds (per slide):**281- ≤ 7 bullet points or items282- ≤ 2 displayed equations (more → split)283- ≤ 5 new symbols introduced284- ≤ 2 colored boxes (alertblock/exampleblock)285286**Lower bounds (per slide):**287- Each slide MUST contain at least one substantive element: a formula, diagram, table, theorem statement, or algorithm288- A slide with only ≤ 3 short text-only bullets is **too sparse** — merge with an adjacent slide or add a formula/diagram289- Pure text-only bullet slides should be ≤ 30% of the total deck290291**Density self-check after each batch:**292- Count slides that have zero formulas/diagrams/tables → flag if > 30% of batch293- Count slides with ≤ 3 short items and no math → candidates for merging294295##### 3d. Batch Workflow296297- Work in batches of 5-10 slides, following the approved structure298- After each batch, **compile** (`xelatex -interaction=nonstopmode`) to catch errors early — fixing 2 issues in a 10-slide batch is far cheaper than fixing 12 issues in a 40-slide deck at Phase 5299- After each batch, self-check: notation consistency, density constraints, motivation-before-formalism300- Continue to next batch only after current batch compiles cleanly and passes self-check301302##### 3e. Table Best Practices303304- **Always center tables** — wrap every standalone table in `\begin{center}...\end{center}`. Left-aligned tables look misaligned on slides.305- **Never place a table immediately after the frame title** — themes like Madrid have a colored title bar whose bottom edge visually merges with `\toprule`, making the table appear embedded in the title. Always insert `\vspace{4pt}` (or introductory text) between the title and the first `\toprule`. The compiler emits **zero warnings** for this — it can only be caught by visual inspection.306- Always use `booktabs` (`\toprule`, `\midrule`, `\bottomrule`) — never vertical lines (`|`).307- Column alignment: numbers right-aligned (`r`), text left-aligned (`l`), short labels centered (`c`).308- Max 6-7 columns, 8-10 rows per slide. More → split across slides following these pagination rules:309 - Each continuation slide repeats the full header row (`\toprule` + header + `\midrule`).310 - Append " (cont'd)" to the frame title: `\frametitle{Results (cont'd)}`.311 - Split at logical row group boundaries (e.g., between algorithm families, dataset groups) — never mid-group.312 - Last page must have ≥3 data rows; if fewer, merge with the previous page.313 - Each page gets its own takeaway line below the table if the subset tells a different story.314- Use `\resizebox{\textwidth}{!}{...}` only as last resort — prefer reducing columns/rows first.315- Highlight key cells with `\cellcolor{positive!15}` or `\textbf{}` — draw the eye to the result.316- For comparison tables: bold the best result in each row/column.317- Caption below table in `\small`, or use the frame title as the implicit caption.318319##### 3f. Algorithm and Code Display320321- Pseudocode ≤ 10 lines per slide. If longer, split into "high-level overview" and "key subroutine" slides.322- Highlight the critical line(s): use `escapeinside` in listings or `\colorbox` in algorithm2e.323- Input/output clearly stated at the top of the algorithm.324- Use consistent naming: variables in math italic (`$x$`), functions in sans-serif or typewriter.325- For code (not pseudocode): `\ttfamily\small`, syntax highlighting via listings. Show only the relevant fragment — never dump an entire source file.326327#### Phase 4: Figures328329- TikZ diagrams in Beamer source (single source of truth)330- Apply TikZ quality standards (see Section 2.6)331- R/Python scripts if needed332333**Data visualization guidelines (journal figures ≠ slide figures):**334- **Simplify ruthlessly** — remove minor gridlines, detailed legends (label directly on plot), secondary axes. Show only data supporting the current slide's point.335- **Enlarge everything** — axis labels ≥ 18pt, line width 2-4pt, marker size 8-12pt. If unreadable at 2-3 feet from laptop, it fails on a projector.336- **Direct labeling** — label lines/bars directly instead of using a separate legend. Reduces cognitive load.337- **One message per figure** — split multi-panel journal figures across multiple slides. Each slide shows one comparison.338- **Highlight the result** — key data in bold saturated color, comparison data in muted gray. Use `\textcolor{blue!70!black}{...}` for the key finding, gray for reference.339- **Color-blind safe palette** — prefer blue (`#0173B2`) + orange (`#DE8F05`) over red + green. Add line style differences (solid/dashed/dotted) as redundant encoding. In TikZ:340 ```latex341 \definecolor{cbBlue}{HTML}{0173B2}342 \definecolor{cbOrange}{HTML}{DE8F05}343 \definecolor{cbGreen}{HTML}{029E73}344 \definecolor{cbPurple}{HTML}{CC78BC}345 ```346- **Progressive disclosure** — for complex figures, build incrementally: axes → first dataset → comparison → annotation with finding. Use separate slides (not `\pause`).347- **Subfigures** — use `\begin{subfigure}{0.48\textwidth}` (requires `subcaption` package) for side-by-side panels in one frame. Each subfigure gets its own `\caption{(a) ...}`. Preferred over raw `\includegraphics` side-by-side when panels need individual captions. Max 2 subfigures per slide (4 panels = split across 2 slides).348349**pgfplots for data-driven figures (preferred over manual TikZ for data):**350351Use `pgfplots` whenever plotting numerical data. It handles axes, legends, scaling, and data loading automatically.352353```latex354% Bar chart from inline data355\begin{tikzpicture}356\begin{axis}[357 ybar, bar width=12pt,358 xlabel={Method}, ylabel={Accuracy (\%)},359 symbolic x coords={Baseline, Ours, Oracle},360 xtick=data, ymin=0, ymax=100,361 nodes near coords, every node near coord/.append style={font=\small},362 width=0.85\textwidth, height=5cm363]364 \addplot coordinates {(Baseline,72) (Ours,89) (Oracle,95)};365\end{axis}366\end{tikzpicture}367```368369```latex370% Line plot from CSV file371\begin{tikzpicture}372\begin{axis}[373 xlabel={Epoch}, ylabel={Loss},374 legend pos=north east, grid=major,375 width=0.85\textwidth, height=5cm376]377 \addplot table[x=epoch, y=train_loss, col sep=comma] {data/results.csv};378 \addplot table[x=epoch, y=val_loss, col sep=comma] {data/results.csv};379 \legend{Train, Validation}380\end{axis}381\end{tikzpicture}382```383384```latex385% Scatter plot with error bars386\begin{axis}[xlabel={$x$}, ylabel={$y$}]387 \addplot+[only marks, error bars/.cd, y dir=both, y explicit]388 coordinates {(1,2)+-(0,0.3) (2,3.5)+-(0,0.5) (3,5.1)+-(0,0.4)};389\end{axis}390```391392- Always set explicit `width` and `height` to prevent overflow.393- Use `\addplot table[col sep=comma]{file.csv}` to load data from file — keeps .tex clean.394- For presentation: enlarge tick labels (`tick label style={font=\small}`), thicken lines (`thick`), use semantic colors (`color=positive`).395396#### Phase 5: Quality Loop (MANDATORY — iterative)397398After completing the full draft, enter the quality loop:399400```401┌─→ 5a. Compile (2-pass XeLaTeX)402│ 5b. Self-Review (structure + content + visual)403│ 5c. Score (apply rubric)404│ 5d. Fix all issues found405└── If score < 90 and round < 3: loop back to 5a406 If score ≥ 90 or round = 3: report to user407```408409**5a. Compilation**410- 2-pass XeLaTeX compilation (bibtex not needed here — already resolved in Phase 3 batch compiles)411- Check: errors, overfull hbox, undefined references412- Open PDF for visual inspection413414**5b. Self-Review** — re-read the .tex and verify:415416*Structure:*417- [ ] Slide count matches plan (±2 tolerance)418- [ ] Logical flow: motivation → background → technique → results → summary419- [ ] No section has >4 consecutive formal slides without a worked example or visual break420- [ ] Transition sentences between major sections421422*Content density:*423- [ ] No slide has only ≤3 short bullets with no math/diagram424- [ ] Pure text-only slides ≤ 30% of deck425- [ ] No slide exceeds upper bounds (7 bullets, 2 equations, 5 symbols, 2 boxes)426427*TikZ and visuals:*428- [ ] No label-label or label-curve overlaps429- [ ] No content overflowing slide boundary430- [ ] **No content overflowing inside colored boxes** (alertblock/exampleblock/block have ~85% effective width; visually verify every box in PDF)431- [ ] **TikZ diagram fits within remaining slide space** — for mixed slides (text + diagram), verify the diagram's bounding box height + text height ≤ ~70mm. Common failure: large TikZ `scale` + multiple equations above = diagram clipped at bottom432- [ ] **All marked points lie on their curves** — for every `\fill`, `\node`, or `\draw` endpoint that should be on a plotted curve, verify the y-coordinate is computed via `\pgfmathsetmacro` from the same function, NOT hardcoded. Visually check in PDF that dots/markers visually sit on the curve line433- [ ] **Dashed reference lines terminate at the curve** — vertical/horizontal guide lines should end exactly where they meet the curve, not at arbitrary y-values434- [ ] Tables fit within slide width435- [ ] All standalone tables are centered (`\begin{center}...\end{center}`)436- [ ] No table's `\toprule` visually merges with the title bar (add `\vspace{4pt}` or text before first table)437- [ ] Font sizes in TikZ ≥ `\footnotesize`438- [ ] Consistent styling across all diagrams439440*Notation:*441- [ ] Same symbol used consistently throughout442- [ ] Every symbol defined before use443444**5c. Quality Score**445446Start at 100. Deduct:447448| Severity | Issue | Deduction |449|----------|-------|-----------|450| Critical | Compilation failure | -100 |451| Critical | Equation overflow (slide or box-interior) | -20 |452| Critical | TikZ diagram overflows slide boundary (clipped at bottom/right) | -15 per diagram |453| Critical | Undefined control sequence / citation | -15 |454| Critical | Overfull hbox > 10pt | -10 |455| Major | Content overflow inside colored box (vertical or horizontal, visual-only) | -10 per box |456| Major | TikZ marked points not on curve (hardcoded y-values instead of computed) | -8 per diagram |457| Major | Sparse slide (≤3 items, no math/diagram) | -5 per slide |458| Major | TikZ label overlap | -5 |459| Major | Missing references slide | -5 |460| Major | Table not centered (standalone table without `\begin{center}`) | -3 per table |461| Major | Table `\toprule` visually merged with title bar (no spacing after frame title) | -5 per slide |462| Major | Notation inconsistency | -3 |463| Minor | `\vspace` overuse (>3 per slide) | -1 |464| Minor | Font size reduction (`\footnotesize` etc.) | -1 per slide |465466**Thresholds:**467- **≥ 90**: Ready to deliver. Report to user.468- **80-89**: Acceptable. Fix remaining majors if possible, report with caveats.469- **< 80**: Must fix. Loop back and resolve critical/major issues.470471**5d. Fix** — fix all critical and major issues. Re-compile. If score improves to ≥ 90, exit loop. Max 3 rounds to avoid infinite loops.472473#### Post-Creation Checklist (final gate)474```475[ ] Compiles without errors476[ ] No overfull hbox > 10pt477[ ] All citations resolve478[ ] Score ≥ 90479[ ] Every definition has motivation + worked example480[ ] Max 2 colored boxes per slide481[ ] No sparse slides (all slides have substantive content)482[ ] TikZ diagrams visually verified — no overlaps, no overflow, all marked points on curves483[ ] Tables fit within slide boundaries, are centered, and separated from title bar484[ ] No content overflow inside colored boxes (visual PDF check)485[ ] References slide present (second-to-last, before Thank You)486```487488### 2.3 `review [file]` or `proofread [file]`489490Read-only report, no file edits.491492**5 check categories:**493494| Category | What to check |495|----------|---------------|496| Grammar | Subject-verb, articles, prepositions, tense consistency |497| Typos | Misspellings, search-replace artifacts, duplicated words, **unreplaced placeholders** (`[name]`, `[TODO]`, `[XXX]`, template remnants) |498| Overflow | Long equations without `\resizebox`, too many items per slide |499| Consistency | Citation format (`\citet`/`\citep`), notation, terminology, box usage, **denominator consistency** across slides |500| Academic quality | Informal abbreviations, missing words, claims without citations, **ambiguous abbreviations** (same abbreviation for different terms) |501502**Report format per issue:**503```504### Issue N: [Brief description]505- **Location:** [slide title or line number]506- **Current:** "[exact text]"507- **Proposed:** "[fix]"508- **Category / Severity:** [Category] / [High|Medium|Low]509```510511### 2.4 `audit [file]`512513Visual layout audit. Read-only report.514515**Check dimensions:**516- **Overflow:** Content exceeding boundaries, wide tables/equations517- **Font consistency:** Inline size overrides, inconsistent sizes518- **Box fatigue:** 2+ boxes per slide, wrong box types519- **Spacing:** `\vspace` overuse, structural issues520- **Layout:** Missing transitions, missing framing sentences521522**Spacing-first fix principle (priority order):**5231. Reduce vertical spacing (structural changes)5242. Consolidate lists5253. Move displayed equations inline5264. Reduce image/table size with `\resizebox`5275. **Last resort:** `\footnotesize` (never `\tiny`)528529### 2.5 `pedagogy [file]`530531Holistic pedagogical review. Read-only report.532533**13 patterns to validate:**534535| # | Pattern | Red flag |536|---|---------|----------|537| 1 | Motivation before formalism | Definition without context |538| 2 | Incremental notation | 5+ new symbols on one slide |539| 3 | Worked example after definition | 2 consecutive definitions, no example |540| 4 | Progressive complexity | Advanced concept before prerequisite |541| 5 | Fragment reveals (problem→solution) | Dense theorem revealed all at once |542| 6 | Standout slides at pivots | Abrupt topic jump, no transition |543| 7 | Two-slide strategy for dense theorems | Complex theorem crammed in 1 slide |544| 8 | Semantic color usage | Binary contrasts in same color |545| 9 | Box hierarchy | Wrong box type for content |546| 10 | Box fatigue | 3+ boxes on one slide |547| 11 | Socratic embedding | Zero questions in entire deck |548| 12 | Visual-first for complex concepts | Notation before visualization |549| 13 | Side-by-side for comparisons | Sequential slides for related definitions |550551**Deck-level checks:** Narrative arc, pacing (max 3-4 theory slides before example), visual rhythm (section dividers every 5-8 slides), notation consistency, student prerequisite assumptions.552553### 2.6 `tikz [file]`554555TikZ diagram review and extraction.556557**Quality standards:**558- Labels NEVER overlap with curves, lines, dots, or other labels559- When two labels are near the same vertical position, stagger them560- Visual semantics: solid=observed, dashed=counterfactual, filled=observed, hollow=counterfactual561- Line weights: axes=`thick`, data=`thick`, annotations=`thick` (not `very thick`)562- Standard scale: `[scale=1.1]` for full-width diagrams563- Dot radius: `4pt` for data points564- Minimum 0.2 units between any label and nearest graphical element565- **Mathematical accuracy of plotted points**: NEVER hardcode y-coordinates for points, markers, or dashed-line endpoints that should lie on a plotted curve. ALL such coordinates must be computed from the SAME function used to draw the curve via `\pgfmathsetmacro`. This applies to:566 - Points marked on a **single curve** (e.g., labeled special values like "BiPerm at ℓ=2")567 - Dashed vertical/horizontal lines that terminate at a curve568 - Intersections of **two curves**569 - Any annotation anchored to a curve position570571 **Common mistake** (WRONG — hardcoded y that doesn't match the curve):572 ```latex573 \draw[thick] plot[domain=0.8:10] (\x, {0.3*\x + 2.7/\x});574 \draw[dashed] (2, 0) -- (2, 3.2); % BAD: 3.2 is not 0.3*2+2.7/2=1.95575 \node at (2, 3.2) {BiPerm}; % BAD: label floats above the curve576 ```577578 **Correct pattern** (ALWAYS compute from the function):579 ```latex580 \draw[thick] plot[domain=0.8:10] (\x, {0.3*\x + 2.7/\x});581 \pgfmathsetmacro{\yTwo}{0.3*2 + 2.7/2} % = 1.95, exactly on curve582 \draw[dashed] (2, 0) -- (2, \yTwo);583 \fill (2, \yTwo) circle (2pt);584 \node[above left] at (2, \yTwo) {BiPerm};585 ```586587 For curve intersections, solve the system algebraically first, then encode the exact formula:588 ```latex589 % Intersection of y=0.5x and y=2.5/x+0.3:590 % 0.5x = 2.5/x + 0.3 => x^2 - 0.6x - 5 = 0 => x = (0.6+sqrt(20.36))/2591 \pgfmathsetmacro{\xint}{(0.6 + sqrt(20.36))/2}592 \pgfmathsetmacro{\yint}{0.5*\xint}593 \fill (\xint, \yint) circle (3pt);594 ```595- **TikZ diagram sizing on mixed-content slides**: a TikZ diagram sharing a slide with text/equations MUST fit in the remaining vertical space. Beamer 16:9 at 10pt has ~70mm usable height below the title bar. **Before writing the TikZ code**, estimate:596 1. Text + equations above the diagram: count displayed equations (each ~12-15mm) + text lines (~5mm each) + spacing597 2. Remaining height = 70mm − text height598 3. TikZ bounding box height = (max y-coordinate − min y-coordinate) × yscale × 0.3528mm/pt599 4. If the diagram won't fit: reduce `yscale`, shrink coordinate ranges, or move content to a separate slide600601 **Safe defaults for mixed slides**: `xscale=0.5-0.7`, `yscale=0.4-0.6`. For full-slide diagrams: `scale=0.9-1.1`.602- **Edge labels on short arrows**: when placing `node[midway, above]` labels on arrows between boxes, the label text can extend past the arrow endpoints into adjacent box borders. Prevention rules:603 1. Estimate label text width vs. arrow length (`right=` gap). If the label is wider than ~80% of the gap, **increase the gap** or **shrink the label font** (`\scriptsize` / `\tiny`).604 2. Use `above=4pt` (or more) instead of bare `above` to add vertical clearance between label and box border.605 3. For flow diagrams with 3+ boxes: total width = (N × box width) + ((N-1) × gap). Must stay ≤ 14cm for 16:9 beamer. Adjust box `text width` and gap together.606 4. When in doubt, compile and visually verify that no label overlaps any box border.607608**Extraction to SVG (for web/Quarto use):**609```bash610xelatex -interaction=nonstopmode extract_tikz.tex611PAGES=$(pdfinfo extract_tikz.pdf | grep "Pages:" | awk '{print $2}')612for i in $(seq 1 $PAGES); do613 idx=$(printf "%02d" $((i-1)))614 pdf2svg extract_tikz.pdf tikz_exact_$idx.svg $i615done616```617618**TikZ checklist:**619```620[ ] No label-label overlaps621[ ] No label-curve overlaps622[ ] No edge labels overlapping adjacent nodes (check label width vs. arrow length)623[ ] Diagram bounding box fits within remaining slide space (especially mixed text+diagram slides)624[ ] ALL marked points/dots/line-endpoints on curves computed via \pgfmathsetmacro from the SAME function — no hardcoded y-values625[ ] Dashed reference lines terminate exactly at the curve, not at arbitrary coordinates626[ ] Consistent dot style (solid=observed, hollow=counterfactual)627[ ] Consistent line style (solid=observed, dashed=counterfactual)628[ ] Arrow annotations: FROM label TO feature629[ ] Axes extend beyond all data points630[ ] Labels legible at presentation size631[ ] Minimum spacing between labels and graphical elements632```633634**Common TikZ diagram patterns:**635636Use these as starting points, then customize. All patterns assume `arrows.meta`, `positioning`, `decorations.pathreplacing` libraries are loaded (included in default preamble).637638*Flowchart (horizontal):*639```latex640\begin{tikzpicture}[641 box/.style={draw, rounded corners, minimum width=2.2cm, minimum height=0.8cm,642 font=\small, fill=positive!10},643 arr/.style={-{Stealth}, thick}644]645 \node[box] (A) {Step 1};646 \node[box, right=1.5cm of A] (B) {Step 2};647 \node[box, right=1.5cm of B] (C) {Step 3};648 \draw[arr] (A) -- node[above, font=\scriptsize] {label} (B);649 \draw[arr] (B) -- (C);650\end{tikzpicture}651```652- Total width ≤ 14cm for 16:9. Formula: N × box\_width + (N-1) × gap.653- For vertical flows: use `below=` instead of `right=`.654655*Timeline:*656```latex657\begin{tikzpicture}658 \draw[-{Stealth}, thick] (0,0) -- (12,0) node[right] {Time};659 \foreach \x/\lab in {1.5/Event A, 5/Event B, 9/Event C} {660 \draw[thick] (\x, 0.15) -- (\x, -0.15);661 \node[above=3pt, font=\small] at (\x, 0.15) {\lab};662 }663\end{tikzpicture}664```665666*Tree diagram:*667```latex668\begin{tikzpicture}[669 level distance=1.2cm, sibling distance=2.5cm,670 every node/.style={draw, rounded corners, font=\small, minimum width=1.5cm}671]672 \node {Root}673 child { node {A} child { node {A1} } child { node {A2} } }674 child { node {B} child { node {B1} } };675\end{tikzpicture}676```677678*Annotated brace:*679```latex680\draw[decorate, decoration={brace, amplitude=6pt, raise=2pt}]681 (start) -- (end) node[midway, above=10pt, font=\small] {annotation};682```683684*Coordinate plot with computed intersection:*685```latex686\begin{tikzpicture}[scale=1.1]687 \draw[-{Stealth}, thick] (0,0) -- (6,0) node[right] {$x$};688 \draw[-{Stealth}, thick] (0,0) -- (0,4) node[above] {$y$};689 \draw[thick, positive] plot[smooth, domain=0.5:5.5] (\x, {0.5*\x});690 \draw[thick, negative, dashed] plot[smooth, domain=0.5:5.5] (\x, {2.5/\x + 0.3});691 % Exact intersection via \pgfmathsetmacro (see quality standards above)692\end{tikzpicture}693```694695*Decision diamond (for algorithm flowcharts):*696```latex697\node[diamond, draw, aspect=2, inner sep=1pt, font=\small] (D) {condition?};698\draw[arr] (D) -- node[right, font=\scriptsize] {yes} ++(0,-1.2);699\draw[arr] (D) -- node[above, font=\scriptsize] {no} ++(2.5,0);700```701702**Iterative TikZ review loop (for complex diagrams):**703704When a TikZ diagram has ≥ 5 nodes or involves plotted curves, run an iterative review:705706```707┌─→ Step 1: Mentally render — trace every coordinate, compute where each element appears708│ Step 2: Check for issues — overlaps, misalignments, inconsistent semantics709│ Step 3: Classify — CRITICAL (overlap, wrong semantics, geometric error),710│ MAJOR (poor spacing, readability), MINOR (aesthetic)711│ Step 4: Fix all CRITICAL and MAJOR issues712│ Step 5: Re-compile and visually verify in PDF713└── If CRITICAL or MAJOR remain and round < 3: loop back to Step 1714 If all clear or round = 3: declare APPROVED or report remaining issues715```716717**Verdict criteria:**718- **APPROVED**: Zero CRITICAL, zero MAJOR → diagram is complete719- **NEEDS REVISION**: CRITICAL or MAJOR issues remain → list exact fixes needed720- **REJECTED**: Fundamental structural problems → consider redesigning the diagram721722### 2.7 `excellence [file]`723724Comprehensive multi-dimensional review. **Use the Agent tool to dispatch review agents in parallel** for maximum efficiency.725726**Parallel agent dispatch** — launch these as concurrent Agent calls:7277281. **Visual audit agent** — "Read [file]. Check every slide for: overflow, font consistency, box fatigue (2+ boxes), spacing issues, missing transitions. Report per slide with severity. Follow spacing-first fix principle."7292. **Pedagogical review agent** — "Read [file]. Validate 13 pedagogical patterns (motivation before formalism, incremental notation, worked examples, etc.) and deck-level checks (narrative arc, pacing, visual rhythm, notation consistency). Report pattern-by-pattern with status."7303. **Proofreading agent** — "Read [file]. Check grammar, typos, citation consistency (`\citet`/`\citep`), notation consistency, academic quality. Report per issue with location and fix."7314. **TikZ review agent** (if file contains `\begin{tikzpicture}`) — "Read [file732733…(truncated)