๐ŸŽ Get the FREE AI Skills Starter Guide โ€” Subscribe โ†’
BytesAgainBytesAgain
๐Ÿฆ€ ClawHub

Beamer Slide

by @noi1r

Beamer LaTeX slide workflow: create, compile, review, and polish academic presentations. Use this skill whenever the user works on Beamer .tex slide decks, o...

Versionv1.0.2
Downloads757
TERMINAL
clawhub install beamer-slide

๐Ÿ“– About This Skill


name: beamer description: | 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. 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. argument-hint: "[action] [file] โ€” actions: create, compile, review, audit, pedagogy, tikz, excellence, devils-advocate, visual-check, validate, extract-figures" allowed-tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob", "Agent", "AskUserQuestion", "TaskCreate", "TaskUpdate", "TaskList", "TaskGet"] dependencies: - name: texlive-xetex type: system required: true description: "XeLaTeX compiler (provides xelatex and bibtex). Install via: brew install --cask mactex / apt install texlive-xetex" - name: poppler type: system required: false description: "PDF utilities (provides pdfinfo). Install via: brew install poppler / apt install poppler-utils" - name: pdf2svg type: system required: false description: "PDF to SVG converter for TikZ extraction. Install via: brew install pdf2svg / apt install pdf2svg" - name: PyMuPDF type: pip required: false description: "Python PDF renderer for visual-check action. Install via: pip install PyMuPDF"

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{[University]}. Replace [name] and [University] with user-provided values; ask if not specified.
  • 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)

    1. No overlays โ€” never use \pause, \onslide, \only, \uncover. Use multiple slides for progressive builds, color emphasis for attention. 2. Max 2 colored boxes per slide โ€” more dilutes emphasis. Demote transitional remarks to plain italic. 3. Motivation before formalism โ€” every concept starts with "Why?" before "What?". 4. Worked example within 2 slides of every definition. 5. XeLaTeX only โ€” never pdflatex. 6. Beamer .tex is the single source of truth โ€” TikZ diagrams, content, notation all originate here. 7. Verify after every task โ€” compile, check warnings, open PDF. 8. Telegraphic style โ€” keyword phrases, not full sentences. Slides are speaker prompts, not manuscripts. Exception: framing sentences that set up a definition or transition. 9. 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. 10. 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. 11. 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. 12. 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. 13. 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. 14. Backup slides โ€” after the Thank You slide, include 3-5 backup slides for anticipated questions (detailed proofs, extended comparisons, additional experimental results). 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. 15. 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.

  • 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): 1. Duration: How long is the presentation? 2. Audience level: Who are the listeners?

    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, self-check: notation consistency, density constraints, motivation-before-formalism
  • Continue to next batch only after current batch passes self-check
  • ##### 3e. Table Best Practices

  • 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 or use highlighting to show subset.
  • 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):

  • Simplify ruthlessly โ€” remove minor gridlines, detailed legends (label directly on plot), secondary axes. Show only data supporting the current slide's point.
  • 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.
  • Direct labeling โ€” label lines/bars directly instead of using a separate legend. Reduces cognitive load.
  • One message per figure โ€” split multi-panel journal figures across multiple slides. Each slide shows one comparison.
  • 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.
  • Color-blind safe palette โ€” prefer blue (#0173B2) + orange (#DE8F05) over red + green. Add line style differences (solid/dashed/dotted) as redundant encoding. In TikZ:
  •   \definecolor{cbBlue}{HTML}{0173B2}
      \definecolor{cbOrange}{HTML}{DE8F05}
      \definecolor{cbGreen}{HTML}{029E73}
      \definecolor{cbPurple}{HTML}{CC78BC}
      
  • Progressive disclosure โ€” for complex figures, build incrementally: axes โ†’ first dataset โ†’ comparison โ†’ annotation with finding. Use separate slides (not \pause).
  • 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).
  • 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:*

  • [ ] Slide count matches plan (ยฑ2 tolerance)
  • [ ] Logical flow: motivation โ†’ background โ†’ technique โ†’ results โ†’ summary
  • [ ] No section has >4 consecutive formal slides without a worked example or visual break
  • [ ] Transition sentences between major sections
  • *Content density:*

  • [ ] No slide has only โ‰ค3 short bullets with no math/diagram
  • [ ] Pure text-only slides โ‰ค 30% of deck
  • [ ] No slide exceeds upper bounds (7 bullets, 2 equations, 5 symbols, 2 boxes)
  • *TikZ and visuals:*

  • [ ] No label-label or label-curve overlaps
  • [ ] No content overflowing slide boundary
  • [ ] No content overflowing inside colored boxes (alertblock/exampleblock/block have ~85% effective width; visually verify every box in PDF)
  • [ ] 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 bottom
  • [ ] 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 line
  • [ ] Dashed reference lines terminate at the curve โ€” vertical/horizontal guide lines should end exactly where they meet the curve, not at arbitrary y-values
  • [ ] Tables fit within slide width
  • [ ] Font sizes in TikZ โ‰ฅ \footnotesize
  • [ ] Consistent styling across all diagrams
  • *Notation:*

  • [ ] Same symbol used consistently throughout
  • [ ] Every symbol defined before use
  • 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 | 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
    [ ] 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): 1. Reduce vertical spacing (structural changes) 2. Consolidate lists 3. Move displayed equations inline 4. Reduce image/table size with \resizebox 5. 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:
  • 1. Text + equations above the diagram: count displayed equations (each ~12-15mm) + text lines (~5mm each) + spacing 2. Remaining height = 70mm โˆ’ text height 3. TikZ bounding box height = (max y-coordinate โˆ’ min y-coordinate) ร— yscale ร— 0.3528mm/pt 4. 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:
  • 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). 2. Use above=4pt (or more) instead of bare above to add vertical clearance between label and box border. 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. 4. 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:

    1. 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." 2. 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." 3. Proofreading agent โ€” "Read [file]. Check grammar, typos, citation consistency (\citet/\citep), notation consistency, academic quality. Report per issue with location and fix." 4. TikZ review agent (if file contains \begin{tikzpicture}) โ€” "Read [file]. For every TikZ diagram: check label overlaps, geometric accuracy, visual semantics, spacing. Be merciless โ€” find every flaw. Report per issue with exact coordinates and fixes." 5. Domain review agent (optional) โ€” "Read [file]. Verify substantive correctness: assumptions, derivations, citation fidelity."

    After all agents return, synthesize a combined report:

    # Slide Excellence Review: [Filename]

    Overall Quality Score: [EXCELLENT / GOOD / NEEDS WORK / POOR]

    | Dimension | Critical | Major | Minor | |-----------|----------|-------|-------| | Visual/Layout | | | | | Pedagogical | | | | | Proofreading | | | | | TikZ (if any) | | | |

    Critical Issues (Immediate Action Required)

    Major Issues (Next Revision)

    Recommended Next Steps

    Quality score rubric (for multi-agent excellence review โ€” complements the numeric score in Phase 5 which is used during create):

    | Score | Critical issues | Medium issues | Meaning | |-------|----------------|---------------|---------| | Excellent | 0-2 | 0-5 | Ready to present (โ‰ˆ Phase 5 score โ‰ฅ 90) | | Good | 3-5 | 6-15 | Minor refinements (โ‰ˆ Phase 5 score 80-89) | | Needs Work | 6-10 | 16-30 | Significant revision (โ‰ˆ Phase 5 score < 80) | | Poor | 11+ | 31+ | Major restructuring |

    2.8 devils-advocate [file]

    Challenge slide design with 5-7 specific pedagogical questions.

    Challenge categories: 1. Ordering โ€” "Could students understand better if X before Y?" 2. Prerequisites โ€” "Do students have the background for this?" 3. Gaps โ€” "Should we include an intuitive example here?" 4. Alternative presentations โ€” "2 other ways to present this concept" 5. Notation conflicts โ€” "This symbol conflicts with earlier usage" 6. Cognitive load โ€” "Too many new symbols on this slide" 7. Standalone readability โ€” "Does this section stand alone as a book chapter?"

    2.9 visual-check [file]

    PDFโ†’image systematic visual review. Converts compiled PDF to images, then reviews each slide visually. This catches issues invisible in source code and suppressed by the compiler (especially box-interior overflow).

    Why this matters: Beamer suppresses overfull warnings inside block/alertblock/exampleblock environments. Zero compile warnings does NOT mean zero visual overflow. This action provides ground truth.

    Workflow:

    1. Compile (if not already compiled):

       xelatex -interaction=nonstopmode FILE.tex
       

    2. Convert PDF to images using PyMuPDF:

       import fitz
       doc = fitz.open('FILE.pdf')
       zoom = 200 / 72  # 200 DPI
       matrix = fitz.Matrix(zoom, zoom)
       for i in range(len(doc)):
           page = doc.load_page(i)
           pixmap = page.get_pixmap(matrix=matrix)
           pixmap.save(f'/tmp/slide-{i+1:03d}.jpg', output='jpeg')
       doc.close()
       
    Or via bash: python3 -c "import fitz; ..."

    Fallback (if PyMuPDF unavailable): Use the Read tool directly on the PDF โ€” Claude Code is multimodal and can read PDF files page by page.

    3. Systematic per-slide inspection โ€” use Read tool to view each image, checking: - [ ] No text overflow at any edge (top, bottom, left, right) - [ ] No content overflowing inside colored boxes (check every alertblock/exampleblock/block) - [ ] All text legible (no text smaller than readable at presentation distance) - [ ] Tables and equations fit within slide width - [ ] TikZ labels not overlapping with lines, dots, or other labels - [ ] Consistent font sizes across similar slide types - [ ] Adequate contrast between text and background - [ ] No visual clutter (too many elements competing for attention)

    4. Report per issue:

       ### Slide N: [slide title]
       - Issue: [description]
       - Severity: Critical / Major / Minor
       - Fix: [specific recommendation]
       

    2.10 validate [file] [duration]

    Automated quantitative validation. Checks measurable properties without reading content.

    Checks performed:

    1. Slide count vs. duration (if duration provided):

       # Get page count
       pdfinfo FILE.pdf | grep "Pages:"
       
    Compare against timing allocation table (Section 2.2, Phase 1). Flag if outside recommended range.

    2. Aspect ratio:

       pdfinfo FILE.pdf | grep "Page size:"
       
    Expected: 364.19 x 272.65 pts (16:9 at 10pt) or similar 16:9 ratio. Flag if 4:3 (old projector format).

    3. File size: - \> 50 MB: warning (slow to share/email) - \> 100 MB: critical (likely uncompressed images)

    4. Compilation health (from .log file):

       grep -c "Overfull \\\\hbox" FILE.log
       grep -c "Undefined control sequence" FILE.log
       grep -c "Citation.*undefined" FILE.log
       grep -c "multiply defined" FILE.log
       

    5. Source code static checks (from .tex file): - Count \pause / \onslide / \only usage โ†’ must be 0 (Hard Rule 1) - Count slides with >2 colored boxes โ†’ flag violations (Hard Rule 2) - Count \tiny usage โ†’ must be 0 (Hard Rule 13) - Check for \begin{thebibliography} โ†’ warn if missing (Hard Rule 11)

    Report format:

    # Validation Report: [Filename]

    | Check | Result | Status | |-------|--------|--------| | Slide count | N slides / Xmin duration | OK / WARNING | | Aspect ratio | 16:9 | OK | | File size | X.X MB | OK / WARNING | | Overfull hbox | N warnings | OK / CRITICAL | | Undefined references | N | OK / CRITICAL | | Overlay commands | N found | OK / VIOLATION | | Box fatigue violations | N slides | OK / WARNING | | References slide | Present / Missing | OK / WARNING |

    Overall: PASS / PASS WITH WARNINGS / FAIL

    2.11 extract-figures [pdf] [pages]

    Extract figures from a paper PDF and prepare them for inclusion in Beamer slides.

    Use when the user wants to reuse figures from an existing paper (their own or a cited work) instead of redrawing in TikZ.

    #### Workflow

    1. Identify target figures โ€” if user doesn't specify pages, use mcp__pdf-mcp__pdf_get_toc and mcp__pdf-mcp__pdf_read_pages to locate figures in the paper. Ask user which figures to extract if ambiguous.

    2. Extract images from specified pages:

       mcp__pdf-mcp__pdf_extract_images(path=PDF_PATH, pages=PAGES, output_dir="figures")
       
    Uses output_dir to save images directly to figures/ as PNG files (original resolution, zero token cost). Returns {page, index, width, height, format, file_path} metadata only โ€” no base64 data.

    3. Rename to descriptive names following the naming convention:

       mv figures/page3_img0.png figures/fig-LABEL.png
       
    Naming convention: fig-.png (e.g., fig-architecture.png, fig-results-table.png).

    4. Generate LaTeX snippet โ€” output ready-to-paste code:

    *Full-width figure:*

       \begin{frame}{Frame Title}
         \begin{center}
           \includegraphics[width=0.85\textwidth]{figures/fig-LABEL.png}
         \end{center}
         \vspace{-6pt}
         {\small Source: \citet{author2024paper}}
       \end{frame}
       

    *Figure + text side-by-side (columns layout):*

       \begin{frame}{Frame Title}
         \begin{columns}[T]
           \column{0.50\textwidth}
             \includegraphics[width=\textwidth]{figures/fig-LABEL.png}
             {\small Source: \citet{author2024paper}}
           \column{0.45\textwidth}
             Key observations:
             \begin{itemize}
               \item Point 1
               \item Point 2
             \end{itemize}
         \end{columns}
       \end{frame}
       

    *Two figures side-by-side (subfigure):*

       \begin{frame}{Frame Title}
         \begin{figure}
           \begin{subfigure}{0.48\textwidth}
             \includegraphics[width=\textwidth]{figures/fig-LEFT.png}
             \caption{(a) Description}
           \end{subfigure}\hfill
           \begin{subfigure}{0.48\textwidth}
             \includegraphics[width=\textwidth]{figures/fig-RIGHT.png}
             \caption{(b) Description}
           \end{subfigure}
         \end{figure}
       \end{frame}
       

    5. Cropping guidance โ€” if the extracted image contains surrounding text or margins that should be removed, use the trim and clip options:

       \includegraphics[width=0.85\textwidth, trim=LEFT BOTTOM RIGHT TOP, clip]{figures/fig-LABEL.png}
       
    - Units are in bp (big points). Estimate from the image dimensions returned by pdf_extract_images. - Common case: trim=50 200 50 100, clip to remove page margins and surrounding text. - Always visually verify after compilation โ€” cropping coordinates are estimates.

    #### Rules

  • Always attribute โ€” include {\small Source: ...} below every extracted figure unless it's the user's own paper.
  • Prefer vector โ€” if only a single clean figure is on a page, extraction quality is usually sufficient. For complex multi-figure pages, consider redrawing the key figure in TikZ for better quality and consistency.
  • Resolution check โ€” if extracted image width < 800px, warn the user that it may appear pixelated on a projector. Suggest either finding a higher-resolution source or redrawing in TikZ.
  • Don't extract tables โ€” tables from PDF rasterize poorly. Always recreate tables in LaTeX using booktabs.
  • Preamble dependency โ€” ensure \usepackage{graphicx} is in the preamble (add if missing). If using subfigures, also ensure \usepackage{subcaption}.

  • 3. VERIFICATION PROTOCOL

    Every task ends with verification. Non-negotiable.

    [ ] Compiled without errors (xelatex exit code 0)
    [ ] No overfull hbox > 10pt
    [ ] All citations resolve
    [ ] PDF opens and renders correctly
    [ ] Visual spot-check of modified slides
    


    4. DOMAIN REVIEW (Template)

    For substantive correctness (not presentation), review through 5 lenses:

    1. Assumption stress test โ€” all assumptions stated, sufficient, necessary? 2. Derivation verification โ€” each step follows? Decomposition sums to whole? 3. Citation fidelity โ€” slide accurately represents cited paper? 4. Code-theory alignment โ€” code implements exact formula from slides? 5. Backward logic check โ€” read conclusionโ†’setup, every claim supported?

    Severity: CRITICAL = math wrong. MAJOR = missing assumption. MINOR = could be clearer.


    5. TROUBLESHOOTING

    Error: ! Undefined control sequence. \llbracket Cause: Missing stmaryrd package for double brackets. Fix: Add \usepackage{stmaryrd} to preamble. Or define \newcommand{\llbracket}{[\![} as fallback.

    Error: Overfull \vbox on a specific slide Cause: Too much content for the frame height. Fix priority: 1. Reduce \vspace values 2. Shorten text (telegraphic style) 3. Split into two slides 4. Use \small on one element (not the whole slide) 5. Last resort: \footnotesize (never \tiny)

    Error: Font "XXX" not found with XeLaTeX Cause: System font not installed, or wrong font name. Fix: Use fc-list | grep "FontName" to check available fonts. Fall back to default Latin Modern if custom font unavailable.

    Error: Equations overflow slide width Cause: Long multi-term equation. Fix priority: 1. Use \begin{align} with line breaks at natural points (=, +) 2. Introduce intermediate variables to shorten expressions 3. Use \resizebox{\textwidth}{!}{...} as last resort (degrades readability)

    Error: PDF images don't render in Quarto/web Cause: Browsers cannot display PDF inline. Fix: Convert to SVG: pdf2svg input.pdf output.svg. Never use PNG for diagrams (raster = blurry).

    Error: Content visually overflows inside alertblock/exampleblock/block but compiler reports 0 warnings Cause: Beamer suppresses overflow warnings inside block environments. Two distinct failure modes:

  • *Vertical*: display math + text below it exceeds the box's vertical capacity; bottom content spills past the lower border. Aggravated by \vspace{-Xpt}.
  • *Horizontal*: the block's internal padding reduces effective width by ~15%, so wide equations overflow sideways.
  • Fix priority (vertical โ€” most common): 1. Remove or reduce \vspace{-Xpt} inside the box 2. Keep box content minimal: one display equation OR a few bullet items, not both 3. Move explanatory text below the equation to outside the box (plain text after \end{...block}) 4. Split into two separate boxes or slides Fix priority (horizontal): 1. Replace \qquad with \quad or , 2. Move secondary notation (e.g., sampling arrows) to a separate line 3. Break the equation with \\ at natural points 4. Move the equation outside the box Never rely on compile warnings alone โ€” always visually verify every colored box in the PDF.

    ๐Ÿ”’ Constraints

  • Always attribute โ€” include {\small Source: ...} below every extracted figure unless it's the user's own paper.
  • Prefer vector โ€” if only a single clean figure is on a page, extraction quality is usually sufficient. For complex multi-figure pages, consider redrawing the key figure in TikZ for better quality and consistency.
  • Resolution check โ€” if extracted image width < 800px, warn the user that it may appear pixelated on a projector. Suggest either finding a higher-resolution source or redrawing in TikZ.
  • Don't extract tables โ€” tables from PDF rasterize poorly. Always recreate tables in LaTeX using booktabs.
  • Preamble dependency โ€” ensure \usepackage{graphicx} is in the preamble (add if missing). If using subfigures, also ensure \usepackage{subcaption}.