paper-poster

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Paper Poster: From Paper to Conference Poster

论文海报:从论文到会议海报

Generate a conference poster from: $ARGUMENTS
从以下内容生成会议海报:$ARGUMENTS

Context

背景说明

This skill runs after Workflow 3 (
/paper-writing
). It takes a compiled paper and generates a print-ready poster for conference poster sessions. The poster extracts key content from the paper — it does not dump the full paper text onto a poster.
Unlike papers (dense prose, 8-15 pages), posters are visual-first: one page, 4 columns, bullet points only, figures dominant. A good poster tells the story in 60 seconds.
该技能需在工作流3(
/paper-writing
)之后运行。它会读取已编译的论文,生成可直接用于会议海报展示的印刷级海报。海报会提取论文中的关键内容——不会将论文全文直接复制到海报上。
与论文(内容密集的 prose,8-15页)不同,海报以视觉呈现优先:单页、4列布局、仅用项目符号、图表占主导地位。优秀的海报能在60秒内讲清核心内容。

Constants

常量配置

  • VENUE =
    NeurIPS
    — Target venue, determines color scheme. Supported:
    NeurIPS
    ,
    ICML
    ,
    ICLR
    ,
    AAAI
    ,
    ACL
    ,
    EMNLP
    ,
    CVPR
    ,
    ECCV
    ,
    GENERIC
    . Override via argument (e.g.,
    /paper-poster "— venue: ICML"
    ).
  • POSTER_SIZE =
    A0
    — Paper size. Options:
    A0
    (841x1189mm, default),
    A1
    (594x841mm).
  • ORIENTATION =
    landscape
    — Orientation. Options:
    landscape
    (default),
    portrait
    .
  • COLUMNS = 4 — Number of content columns. Typical: 4 for landscape A0 (IMRAD), 3 for portrait A0 (research consensus), 2 for portrait A1. Portrait A0 should NEVER use 4 columns — text becomes too narrow and unreadable.
  • PAPER_DIR =
    paper/
    — Directory containing the compiled paper (main.tex + figures/).
  • OUTPUT_DIR =
    poster/
    — Output directory for all poster files.
  • REVIEWER_MODEL =
    gpt-5.4
    — Model used via Codex MCP for poster review.
  • AUTO_PROCEED = false — At each checkpoint, always wait for explicit user confirmation. Set
    true
    only if user explicitly requests fully autonomous mode.
  • COMPILER =
    latexmk
    — LaTeX build tool.
  • ENGINE =
    pdflatex
    — LaTeX engine. Use
    xelatex
    for CJK text.
💡 Override:
/paper-poster "paper/" — venue: CVPR, size: A1, orientation: portrait, columns: 3
  • VENUE =
    NeurIPS
    — 目标会议,决定配色方案。支持的会议:
    NeurIPS
    ICML
    ICLR
    AAAI
    ACL
    EMNLP
    CVPR
    ECCV
    GENERIC
    。可通过参数覆盖(例如:
    /paper-poster "— venue: ICML"
    )。
  • POSTER_SIZE =
    A0
    — 纸张尺寸。可选:
    A0
    (841x1189mm,默认)、
    A1
    (594x841mm)。
  • ORIENTATION =
    landscape
    — 排版方向。可选:
    landscape
    (横向,默认)、
    portrait
    (纵向)。
  • COLUMNS = 4 — 内容列数。典型配置:横向A0用4列(IMRAD结构),纵向A0用3列(学术共识),纵向A1用2列。纵向A0绝对不能用4列——文本会过窄,无法阅读。
  • PAPER_DIR =
    paper/
    — 存放已编译论文的目录(包含main.tex + figures/)。
  • OUTPUT_DIR =
    poster/
    — 所有海报文件的输出目录。
  • REVIEWER_MODEL =
    gpt-5.4
    — 通过Codex MCP用于海报审核的模型。
  • AUTO_PROCEED = false — 在每个检查点,始终等待用户明确确认。仅当用户明确要求完全自主模式时,设置为
    true
  • COMPILER =
    latexmk
    — LaTeX构建工具。
  • ENGINE =
    pdflatex
    — LaTeX引擎。处理中日韩文本时使用
    xelatex
💡 覆盖配置示例:
/paper-poster "paper/" — venue: CVPR, size: A1, orientation: portrait, columns: 3

Venue Color Schemes

会议配色方案

Use deep, saturated colors for primary — pastel/light colors wash out on large posters viewed from distance. Each venue uses a 3-color system: primary (dark, for title bar), secondary (medium, for section headers), accent (contrast, for highlights).
VenuePrimarySecondaryAccentBackgroundText
NeurIPS
#4C1D95
(deep purple)
#6D28D9
(purple)
#2563EB
(blue)
#F5F3FF
#1F2937
ICML
#7F1D1D
(deep maroon)
#B91C1C
(red)
#1E40AF
(blue)
#EDD5D5
#111827
ICLR
#065F46
(deep green)
#059669
(green)
#0284C7
(blue)
#F0FDF4
#1F2937
CVPR
#1E3A8A
(deep blue)
#2563EB
(blue)
#7C3AED
(purple)
#F8FAFC
#1F2937
AAAI
#0C4A6E
(deep navy)
#0369A1
(blue)
#DC2626
(red)
#F0F9FF
#1F2937
ACL
#155E75
(deep teal)
#0891B2
(teal)
#7C3AED
(purple)
#F0FDFA
#1F2937
EMNLP
#713F12
(deep amber)
#D97706
(amber)
#2563EB
(blue)
#FFFBEB
#1F2937
ECCV
#701A75
(deep fuchsia)
#C026D3
(fuchsia)
#0891B2
(teal)
#FDF4FF
#1F2937
GENERIC
#1E293B
(deep slate)
#334155
(slate)
#2563EB
(blue)
#F8FAFC
#1F2937
⚠️ Color lesson: Never use light/pastel colors (e.g.,
#8B5CF6
) as primary — they look washed out on A0 posters. Always use the darkest shade as primary for the title bar.
主色调使用深邃、饱和度高的颜色——浅色调/淡色在大尺寸海报上从远处看会显得模糊。每个会议采用三色系统:主色(深色,用于标题栏)、辅助色(中等色调,用于章节标题)、强调色(对比色,用于高亮内容)。
会议主色辅助色强调色背景色文本色
NeurIPS
#4C1D95
(深紫色)
#6D28D9
(紫色)
#2563EB
(蓝色)
#F5F3FF
#1F2937
ICML
#7F1D1D
(深栗色)
#B91C1C
(红色)
#1E40AF
(蓝色)
#EDD5D5
#111827
ICLR
#065F46
(深绿色)
#059669
(绿色)
#0284C7
(蓝色)
#F0FDF4
#1F2937
CVPR
#1E3A8A
(深蓝色)
#2563EB
(蓝色)
#7C3AED
(紫色)
#F8FAFC
#1F2937
AAAI
#0C4A6E
(深藏青色)
#0369A1
(蓝色)
#DC2626
(红色)
#F0F9FF
#1F2937
ACL
#155E75
(深蓝绿色)
#0891B2
(蓝绿色)
#7C3AED
(紫色)
#F0FDFA
#1F2937
EMNLP
#713F12
(深琥珀色)
#D97706
(琥珀色)
#2563EB
(蓝色)
#FFFBEB
#1F2937
ECCV
#701A75
(深紫红色)
#C026D3
(紫红色)
#0891B2
(蓝绿色)
#FDF4FF
#1F2937
GENERIC
#1E293B
(深石板色)
#334155
(石板色)
#2563EB
(蓝色)
#F8FAFC
#1F2937
⚠️ 配色注意事项:绝不要用浅色调/淡色(例如
#8B5CF6
)作为主色——在A0尺寸的海报上会显得模糊。标题栏始终使用最深的色调作为主色。

State Persistence (Compact Recovery)

状态持久化(断点恢复)

Poster generation can be long. Persist state to
poster/POSTER_STATE.json
after each phase:
json
{
  "phase": 3,
  "venue": "NeurIPS",
  "poster_size": "A0",
  "orientation": "landscape",
  "columns": 4,
  "figures_selected": ["architecture.pdf", "results.pdf"],
  "codex_thread_id": "019cfcf4-...",
  "status": "in_progress",
  "timestamp": "2026-03-18T15:00:00"
}
On startup: if
POSTER_STATE.json
exists with
"status": "in_progress"
and within 24h → resume from saved phase. Otherwise → fresh start.
海报生成过程可能较长。在每个阶段后,将状态保存到
poster/POSTER_STATE.json
json
{
  "phase": 3,
  "venue": "NeurIPS",
  "poster_size": "A0",
  "orientation": "landscape",
  "columns": 4,
  "figures_selected": ["architecture.pdf", "results.pdf"],
  "codex_thread_id": "019cfcf4-...",
  "status": "in_progress",
  "timestamp": "2026-03-18T15:00:00"
}
启动时:如果
POSTER_STATE.json
存在且
"status": "in_progress"
,且时间在24小时内,则从保存的阶段恢复。否则,从头开始。

Critical LaTeX Architecture Decisions

关键LaTeX架构决策

⚠️ MUST use
article
class, NEVER
beamer
class.
The beamer class consumes too many TeX grouping levels for its overlay/mode system. Combined with tcbposter's
enhanced
style on 8+ posterboxes, this triggers
! TeX capacity exceeded, sorry [grouping levels=255]
. The article class + geometry package for custom page size is the correct approach. This was validated through 5 failed compilation attempts with beamer before switching to article.
⚠️ NEVER use
adjustbox
package.
It may not be installed in minimal TeX distributions. Use plain
\includegraphics[width=0.96\linewidth]{file}
instead. Do NOT use
max height
option (requires adjustbox).
⚠️ 必须使用
article
类,绝对不能用
beamer
类。
beamer类的叠加/模式系统会占用过多TeX分组层级。结合tcbposter的
enhanced
样式和8个以上的海报框,会触发
! TeX capacity exceeded, sorry [grouping levels=255]
错误。正确的做法是使用article类 + geometry包来设置自定义页面尺寸。这是经过5次beamer编译失败后验证的方案。
⚠️ 绝对不要使用
adjustbox
包。
它可能未在精简版TeX发行版中安装。改用纯
\includegraphics[width=0.96\linewidth]{file}
。不要使用
max height
选项(需要adjustbox)。

Template Foundation

模板基础

latex
\documentclass{article}
% A0 landscape: paperwidth=1189mm,paperheight=841mm
% A0 portrait:  paperwidth=841mm,paperheight=1189mm
\usepackage[paperwidth=1189mm,paperheight=841mm,margin=0mm]{geometry}
\usepackage{tcolorbox}
\tcbuselibrary{poster,skins,fitting}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
\usepackage[table]{xcolor}  % MUST use [table] option for \rowcolor in tables
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\pagestyle{empty}
⚠️ NEVER use
\usepackage[most]{tcolorbox}
— it pulls in
listingsutf8.sty
which may not be installed. Always use
\tcbuselibrary{poster,skins,fitting}
explicitly.
⚠️ Use
[table]{xcolor}
not plain
{xcolor}
— needed for
\rowcolor
in benchmark tables. The
colortbl
package is loaded automatically by this option.
latex
\documentclass{article}
% A0 landscape: paperwidth=1189mm,paperheight=841mm
% A0 portrait:  paperwidth=841mm,paperheight=1189mm
\usepackage[paperwidth=1189mm,paperheight=841mm,margin=0mm]{geometry}
\usepackage{tcolorbox}
\tcbuselibrary{poster,skins,fitting}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
\usepackage[table]{xcolor}  % MUST use [table] option for \rowcolor in tables
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\pagestyle{empty}
⚠️ 绝对不要使用
\usepackage[most]{tcolorbox}
— 它会引入
listingsutf8.sty
,该文件可能未安装。始终显式使用
\tcbuselibrary{poster,skins,fitting}
⚠️ 使用
[table]{xcolor}
而非纯
{xcolor}
— 表格中使用
\rowcolor
需要该配置。此选项会自动加载
colortbl
包。

tcbposter Layout Rules (Critical)

tcbposter布局规则(关键)

⚠️ The #1 cause of poster failures is content overflow. tcbposter uses a fixed grid — content that exceeds the box is silently clipped with no compilation error. You will NOT see any warning; the poster will simply be cut off.
⚠️ The #2 cause is large whitespace gaps. Using too few rows (e.g.,
rows=5
) creates ~168mm per row on A0 landscape. If title text only needs 120mm, the remaining 48mm is wasted whitespace. Solution: use
rows=20
for fine-grained control (~42mm per row).
⚠️ 海报制作失败的头号原因是内容溢出。 tcbposter使用固定网格——超出框的内容会被静默裁剪,且无编译错误。你不会看到任何警告,海报内容会直接被截断。
⚠️ 第二大原因是大空白间隙。 使用过少的行(例如
rows=5
)会在横向A0海报上每行产生约168mm的高度。如果标题文本仅需120mm,剩余的48mm会被浪费为空白。解决方案:使用
rows=20
进行精细控制(每行约42mm)。

Grid System:
rows=20
(Critical)

网格系统:
rows=20
(关键)

Use
rows=20
for A0 landscape. Each row ≈ 42mm, giving precise control over section heights.
Recommended row allocation for 4-column A0 landscape:
SectionRowsHeightRow range
Title bar3~126mm
top
to
row4
Stat banner2~84mm
row4
to
row6
Body content14~588mm
row6
to
bottom
Key principle: Always use
between=rowN and rowM
syntax (not
below=name
) for precise vertical placement. The
below=
syntax lets tcolorbox auto-place, which often leaves unwanted gaps.
横向A0海报使用
rows=20
。每行约42mm,可精确控制章节高度。
4列横向A0海报推荐行分配:
章节行数高度行范围
标题栏3~126mm
top
row4
统计横幅2~84mm
row4
row6
主体内容14~588mm
row6
bottom
核心原则:始终使用
between=rowN and rowM
语法(而非
below=name
)进行精确垂直定位。
below=
语法会让tcolorbox自动布局,通常会留下不必要的空白。

Row Count Guidance

行数指导

Poster SizeOrientationRecommended rowsColumnsRow height
A0landscape204~42mm
A0portrait203~59mm
A1landscape163~37mm
A1portrait202~30mm
海报尺寸排版方向推荐行数列数行高度
A0横向204~42mm
A0纵向203~59mm
A1横向163~37mm
A1纵向202~30mm

Portrait A0 Layout (3 columns, rows=20)

纵向A0布局(3列,rows=20)

⚠️ Portrait A0 posters use 2-3 columns, NEVER 4. Research consensus: "Two columns is typical for a poster with a portrait orientation" (Colin Purrington, NYU poster guides). At 841mm width, 4 columns give only ~195mm per column — too narrow for readable text at poster-session distance. 3 columns (~260mm each) is the recommended default for content-rich papers. Use 2 columns for simpler posters or when figures need more horizontal space.
For portrait posters (841x1189mm), use a 3-column, 3-row-band layout:
SectionRowsRow rangeContent
Title bar4
top
to
row4
Title + authors + venue (span=3)
Stat banner2
row4
to
row6
3 headline stat callouts (span=3)
Row A5
row6
to
row11
Background+Motivation, Method (hero fig), Key Results (fig)
Row B5
row11
to
row16
Contributions, Equations+Ablation, Result 2 (fig+table)
Row C4
row16
to
bottom
References+QR, Setup+Benchmarks, Key Takeaways
3-column portrait layout diagram:
┌─────────────────────────────────────┐
│         TITLE BAR (span=3)          │
├─────────────────────────────────────┤
│   Stat 1   │   Stat 2   │  Stat 3  │
├────────────┼────────────┼──────────┤
│ Background │  Method    │ Result 1 │
│ & Motiv.   │ (hero fig) │ (figure) │
├────────────┼────────────┼──────────┤
│ Contribu-  │ Equations  │ Result 2 │
│ tions      │ & Ablation │ (fig+tbl)│
├────────────┼────────────┼──────────┤
│ References │  Setup &   │   Key    │
│ + QR Code  │ Benchmarks │Takeaways │
└────────────┴────────────┴──────────┘
⚠️ All 3 columns in each row band share the same row boundaries. This ensures cross-column alignment. Never mix
row6 to row11
in one column with
row6 to row10
in another — it creates visual misalignment.
⚠️ Use
spacing=0mm
for tight layouts. Card separation is handled by card styles (left accent stripe, drop shadow), not grid spacing. Grid spacing > 2mm creates visible gaps between rows.
⚠️ 纵向A0海报使用2-3列,绝对不能用4列。 学术共识:“纵向海报通常使用2列”(纽约大学Colin Purrington海报指南)。在841mm宽度下,4列每列仅约195mm——在海报展示距离下文本过窄,无法阅读。内容丰富的论文推荐默认用3列(每列约260mm)。内容简单的海报或图表需要更多横向空间时,使用2列。
纵向海报(841x1189mm)采用3列、3行区块布局:
章节行数行范围内容
标题栏4
top
row4
标题 + 作者 + 会议(跨3列)
统计横幅2
row4
row6
3个核心统计标注框(跨3列)
区块A5
row6
row11
背景与动机、方法(核心图表)、关键结果(图表)
区块B5
row11
row16
贡献、公式与消融实验、结果2(图表+表格)
区块C4
row16
bottom
参考文献+二维码、实验设置与基准、核心结论
3列纵向布局示意图:
┌─────────────────────────────────────┐
│         标题栏(跨3列)          │
├─────────────────────────────────────┤
│   统计1   │   统计2   │  统计3  │
├────────────┼────────────┼──────────┤
│ 背景与动机 │  方法    │ 结果1 │
│           │(核心图表)│(图表)│
├────────────┼────────────┼──────────┤
│ 研究贡献  │ 公式与消融 │ 结果2 │
│           │           │(图+表)│
├────────────┼────────────┼──────────┤
│ 参考文献  │ 实验设置与 │   核心   │
│ + 二维码  │  基准测试  │ 结论 │
└────────────┴────────────┴──────────┘
⚠️ 每个行区块中的所有3列必须共享相同的行边界。 这样可确保跨列对齐。绝不要在一列中使用
row6 to row11
,而在另一列中使用
row6 to row10
——这会导致视觉错位。
⚠️ 使用
spacing=0mm
实现紧凑布局。卡片分隔通过卡片样式(左侧强调条纹、投影)实现,而非网格间距。网格间距大于2mm会在行与行之间产生明显间隙。

Modern Card Design System (Left Accent Stripe)

现代卡片设计系统(左侧强调条纹)

Instead of rounded boxes with colored headers, use a left accent stripe design. This is cleaner, more modern, and avoids the "PowerPoint box" look.
Define 4 card styles using the venue's 3-color system:
latex
% Tinted card backgrounds (NOT pure white — adds warmth)
\definecolor{redbg}{HTML}{FFF5F3}     % warm pink tint for redcard
\definecolor{bluebg}{HTML}{F0F4FF}    % cool blue tint for bluecard
\definecolor{darkbg}{HTML}{FDF6F3}    % warm cream tint for darkcard
\definecolor{redtitlebg}{HTML}{FDEAE8}   % title bar tint
\definecolor{bluetitlebg}{HTML}{E4ECFF}
\definecolor{darktitlebg}{HTML}{F5E8E2}

\tcbset{
  redcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=redbg,
    borderline west={5pt}{0pt}{secondary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{secondary},
    coltitle=secondary, colbacktitle=redtitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={secondary!50},
    valign=top, drop shadow={opacity=0.18},
  },
  bluecard/.style={...same pattern with accent color and bluebg...},
  darkcard/.style={...same pattern with primary color and darkbg...},
  highlightcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=primary!18!white,
    borderline west={6pt}{0pt}{primary},
    fonttitle=...\color{white}, colbacktitle=primary,
    ...
  },
}
Card assignment pattern (creates visual rhythm):
  • redcard (secondary stripe): Background, Key Idea, Ablation, References, Setup
  • bluecard (accent stripe): Result 1, Result 2, Benchmarks, Analysis
  • darkcard (primary stripe): Contributions, Method
  • highlightcard (primary fill): Key Takeaways / Conclusion
⚠️ Card backgrounds must NOT be pure white (#FFFFFF). Use subtle tints matching the card's color family. Pure white cards on a tinted poster background look disconnected. The tint should be barely visible but adds cohesion.
替代带彩色标题栏的圆角框,使用左侧强调条纹设计。这种设计更简洁、现代,避免“PowerPoint框”的观感。
使用会议的三色系统定义4种卡片样式
latex
% 卡片背景色(非纯白色——增加温暖感)
\definecolor{redbg}{HTML}{FFF5F3}     % 红色卡片的暖粉色调
\definecolor{bluebg}{HTML}{F0F4FF}    % 蓝色卡片的冷蓝色调
\definecolor{darkbg}{HTML}{FDF6F3}    % 深色卡片的暖奶油色调
\definecolor{redtitlebg}{HTML}{FDEAE8}   % 标题栏色调
\definecolor{bluetitlebg}{HTML}{E4ECFF}
\definecolor{darktitlebg}{HTML}{F5E8E2}

\tcbset{
  redcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=redbg,
    borderline west={5pt}{0pt}{secondary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{secondary},
    coltitle=secondary, colbacktitle=redtitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={secondary!50},
    valign=top, drop shadow={opacity=0.18},
  },
  bluecard/.style={...same pattern with accent color and bluebg...},
  darkcard/.style={...same pattern with primary color and darkbg...},
  highlightcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=primary!18!white,
    borderline west={6pt}{0pt}{primary},
    fonttitle=...\color{white}, colbacktitle=primary,
    ...
  },
}
卡片分配模式(营造视觉节奏):
  • redcard(辅助色条纹):背景、核心观点、消融实验、参考文献、实验设置
  • bluecard(强调色条纹):结果1、结果2、基准测试、分析
  • darkcard(主色条纹):研究贡献、方法
  • highlightcard(主色填充):核心结论/总结
⚠️ 卡片背景绝对不能是纯白色(#FFFFFF)。 使用与卡片色系匹配的淡色调。纯白色卡片在带色调的海报背景上会显得脱节。色调应几乎不可见,但能增强整体协调性。

Figure + Caption Macro

图表+标题宏

Define a consistent macro for all figures to ensure uniform spacing:
latex
\newcommand{\posterfig}[3]{%
  \centering\includegraphics[width=#1\linewidth]{#2}\\[3mm]
  {\fontsize{26}{32}\selectfont\color{textgray}\textit{#3}}\vspace{2mm}%
}
% Usage: \posterfig{0.96}{figures/results.png}{Caption text here.}
⚠️ Inconsistent figure-text spacing is the #1 visual flaw in generated posters. The
\posterfig
macro enforces uniform 3mm gap + 2mm bottom padding across all figures.
定义统一的宏用于所有图表,确保间距一致:
latex
\newcommand{\posterfig}[3]{%
  \centering\includegraphics[width=#1\linewidth]{#2}\\[3mm]
  {\fontsize{26}{32}\selectfont\color{textgray}\textit{#3}}\vspace{2mm}%
}
% 使用示例:\posterfig{0.96}{figures/results.png}{标题文本。}
⚠️ 图表与文本间距不一致是生成海报的头号视觉缺陷。
\posterfig
宏确保所有图表的间距统一为3mm间隙 + 2mm底部内边距。

Content Colorbox Intensity

内容色块强度

Inside cards, use
\colorbox{color!N}
for highlighted blocks. The intensity
N
must be 18-25% (not 8-12% which is too faint):
latex
% TOO FAINT (invisible on print):
\colorbox{primary!8}{\parbox{...}{...}}

% CORRECT (visible, distinct):
\colorbox{primary!20}{\parbox{0.94\linewidth}{...}}
\colorbox{accent!20}{\parbox{0.94\linewidth}{...}}
\colorbox{secondary!20}{\parbox{0.94\linewidth}{...}}
Similarly,
\rowcolor
in tables should use 15% intensity:
\rowcolor{primary!15}
.
在卡片内,使用
\colorbox{color!N}
高亮区块。强度
N
必须为18-25%(8-12%太淡,几乎看不见):
latex
% 太淡(打印后看不见):
\colorbox{primary!8}{\parbox{...}{...}}

% 正确(可见、清晰):
\colorbox{primary!20}{\parbox{0.94\linewidth}{...}}
\colorbox{accent!20}{\parbox{0.94\linewidth}{...}}
\colorbox{secondary!20}{\parbox{0.94\linewidth}{...}}
同样,表格中的
\rowcolor
应使用15%的强度:
\rowcolor{primary!15}

Font Size Rules (A0 at article class — NO scale factor)

字体大小规则(article类A0海报——无缩放因子)

⚠️ Critical: When using
article
class (not beamerposter), there is NO automatic scale factor. All font sizes are literal. A poster viewed from 1.5m needs much larger fonts than you think.
ElementFont sizeLeadingExample
Title90pt108pt
\fontsize{90}{108}\selectfont
Author line42pt50pt
\fontsize{42}{50}\selectfont
Section headers42pt50ptvia
fonttitle=\fontsize{42}{50}...
Sub-headers38pt46pt
\subheader{}{}
command
Body text34pt44pt
\fontsize{34}{44}\selectfont
Stat callout numbers72pt86pt
\fontsize{72}{86}\selectfont
Stat callout labels30pt36pt
\fontsize{30}{36}\selectfont
Equations32pt40pt
\fontsize{32}{40}\selectfont
Table cells30pt38pt
\fontsize{30}{38}\selectfont
Figure captions28pt34pt
\fontsize{28}{34}\selectfont
References30pt40pt
\fontsize{30}{40}\selectfont
⚠️ Lesson learned from testing: Body text at 20pt on A0 is unreadable from more than 0.5m. 34pt is the minimum for comfortable reading at poster-session distance.
⚠️ 关键:使用
article
类(而非beamerposter)时,没有自动缩放因子。所有字体大小都是实际尺寸。从1.5米外观看的海报,字体需要比你想象的大得多。
元素字体大小行高示例
标题90pt108pt
\fontsize{90}{108}\selectfont
作者行42pt50pt
\fontsize{42}{50}\selectfont
章节标题42pt50pt通过
fonttitle=\fontsize{42}{50}...
设置
子标题38pt46pt
\subheader{}{}
命令
正文34pt44pt
\fontsize{34}{44}\selectfont
统计标注数字72pt86pt
\fontsize{72}{86}\selectfont
统计标注标签30pt36pt
\fontsize{30}{36}\selectfont
公式32pt40pt
\fontsize{32}{40}\selectfont
表格单元格30pt38pt
\fontsize{30}{38}\selectfont
图表标题28pt34pt
\fontsize{28}{34}\selectfont
参考文献30pt40pt
\fontsize{30}{40}\selectfont
⚠️ 测试经验:A0海报上20pt的正文在0.5米外无法阅读。34pt是海报展示距离下舒适阅读的最小尺寸。

Content Budget

内容预算

Total target: 300-500 words (excluding figure captions and stat callout numbers).
⚠️ The #1 content mistake is too much text. A poster is NOT a paper summary — it's a visual guide. Each bullet should be a key phrase (5-8 words), not a sentence. If you find yourself writing full sentences, you're putting too much text.
⚠️ Content density calibration: When in doubt, use LESS text. It's much easier to add a few words than to trim dense paragraphs. Target ~70% fill per card (some breathing room), NOT 100%.
Box typeMax bulletsMax wordsFigure?Style
Background340-60NoShort bullets + 1 key insight colorbox
Key Idea / Architecture0-120-30Yes (hero fig)Figure dominant + 2 one-liner colorboxes
Contributions3-460-80NoNumbered, 1 line each
Method2-340-60No2 equation colorboxes + 3 short bullets
Results (each)2-330-50Yes (figure)Figure + 2-3 one-line colorboxes
Ablation330-40No3 colorboxes, 2 lines each max
Analysis330-50Yes (figure)Figure + 3 one-line colorboxes
References4-530-40NoAuthor (year). Short title. Venue
Setup4-530-40No5 one-liner colorboxes
Benchmarks020NoTable + 1-line caption
Key Takeaways330-40No3 short items + code link
Bullet point rules:
  • Maximum 8 words per bullet when possible
  • Use
    $\Rightarrow$
    and
    $\to$
    for causal arrows instead of words
  • Numbers > words: "42% less memory" not "reduces memory usage by 42 percent"
  • Colorbox labels: "vs. Depth: 4L CoE ≈ 12L MoE, 42% less memory" (one line)
总目标:300-500词(不含图表标题和统计标注数字)。
⚠️ 最大的内容错误是文本过多。 海报不是论文摘要——它是视觉指南。每个项目符号应是关键短语(5-8词),而非完整句子。如果你在写完整句子,说明文本太多了。
⚠️ 内容密度校准:拿不准时,少用文本。添加几个词比删减密集段落容易得多。目标是每个卡片填充约70%(留一些呼吸空间),而非100%。
框类型最大项目符号数最大词数是否含图表样式
背景340-60短项目符号 + 1个核心观点色块
核心观点/架构0-120-30是(核心图表)图表主导 + 2个单行色块
研究贡献3-460-80编号,每行1条
方法2-340-602个公式色块 + 3个短项目符号
结果(每个)2-330-50是(图表)图表 + 2-3个单行色块
消融实验330-403个色块,每个最多2行
分析330-50是(图表)图表 + 3个单行色块
参考文献4-530-40作者(年份)。短标题。会议
实验设置4-530-405个单行色块
基准测试020表格 + 1行标题
核心结论330-403个短条目 + 代码链接
项目符号规则:
  • 尽可能每个项目符号最多8词
  • 使用
    $\Rightarrow$
    $\to$
    表示因果箭头,而非文字
  • 用数字代替文字:“内存减少42%”而非“将内存使用量减少42%”
  • 色块标签:“与深度对比:4L CoE ≈ 12L MoE,内存减少42%”(单行)

Recommended 4-Column IMRAD Layout

推荐4列IMRAD布局

┌──────────────────────────────────────────────────────────┐
│                    TITLE BAR (span=4)                     │
│     Title (90pt) + Authors (42pt) + Venue + GitHub        │
├──────────────────────────────────────────────────────────┤
│  Stat 1  │  Stat 2  │  Stat 3  │  Stat 4  │  STAT BANNER│
├──────────┼──────────┼──────────┼──────────┤             │
│Background│ Dataset  │Architectu│ Result 2 │             │
│    &     │    &     │   re     │  + Table │             │
│Motivation│Paradigms │ Overview │  + Stats │             │
│    +     │  + Fig   │  + Fig   │  + Fig   │             │
│Contributi│          │──────────│──────────│             │
│   ons    │──────────│ Result 1 │ Ablation │             │
│──────────│Computat. │  + Fig   │──────────│             │
│References│ Models   │  + Table │Conclusion│             │
│ + QR Code│+ Equations│ + Bullets│ + Future │             │
└──────────┴──────────┴──────────┴──────────┘
┌──────────────────────────────────────────────────────────┐
│                    标题栏(跨4列)                     │
│     标题(90pt) + 作者(42pt) + 会议 + GitHub        │
├──────────────────────────────────────────────────────────┤
│  统计1  │  统计2  │  统计3  │  统计4  │  统计横幅│
├──────────┼──────────┼──────────┼──────────┤             │
│背景与动机│ 数据集与 │架构概述 │ 结果2 │             │
│          │ 范式     │ + 图表  │ + 表格 │             │
│ + 研究贡献│          │──────────│──────────│             │
│──────────│计算模型  │ 结果1 │ 消融实验 │             │
│参考文献  │+ 公式    │ + 图表  │──────────│             │
│ + 二维码 │          │ + 表格  │结论与未来│             │
│          │          │ + 项目符号│ 研究方向 │             │
└──────────┴──────────┴──────────┴──────────┘

Workflow

工作流

Phase 0: Input Validation & Setup

阶段0:输入验证与设置

  1. Check prerequisites:
    bash
    which pdflatex && which latexmk
    If LaTeX is NOT installed, try in order:
    bash
    # Option 1: brew cask (requires sudo — may fail in non-interactive shells)
    brew install --cask mactex-no-gui
    
    # Option 2: BasicTeX (smaller, may still need sudo)
    brew install --cask basictex
    
    # Option 3: User-directory install (NO sudo needed — always works)
    curl -L https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz | tar xz
    cd install-tl-*
    cat > texlive.profile << 'PROF'
    selected_scheme scheme-basic
    TEXDIR ~/texlive/YYYY
    TEXMFLOCAL ~/texlive/texmf-local
    TEXMFSYSCONFIG ~/texlive/YYYY/texmf-config
    TEXMFSYSVAR ~/texlive/YYYY/texmf-var
    TEXMFHOME ~/texmf
    binary_x86_64-darwin 1
    instopt_adjustpath 0
    instopt_adjustrepo 1
    instopt_write18_restricted 1
    tlpdbopt_autobackup 1
    tlpdbopt_install_docfiles 0
    tlpdbopt_install_srcfiles 0
    PROF
    ./install-tl --profile=texlive.profile
    export PATH="$HOME/texlive/YYYY/bin/universal-darwin:$PATH"
    After installation, install required packages:
    bash
    tlmgr install tcolorbox pgf etoolbox environ trimspaces \
      type1cm pdfcol tikzfill latexmk lm enumitem geometry
    ⚠️ Lesson learned:
    brew install --cask mactex-no-gui
    often fails in non-interactive shells because the macOS installer requires sudo password. The user-directory TeX Live install (Option 3) always works without sudo.
    ⚠️ Do NOT install or use
    beamerposter
    . The article class approach does not need it.
  2. Verify paper exists:
    bash
    ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf
    ls $PAPER_DIR/sections/*.tex
    ls $PAPER_DIR/figures/
  3. Backup existing poster: if
    poster/
    exists, copy to
    poster-backup-{timestamp}/
  4. Create output directory:
    mkdir -p poster/figures
  5. Copy figures to poster directory:
    bash
    # IMPORTANT: Use cp, NOT ln -sf (symlinks)
    # pdflatex often fails to resolve symlinks across directories
    cp paper/figures/selected_figure.pdf poster/figures/
    ⚠️ Never use symlinks for poster figures.
    pdflatex
    cannot reliably follow symlinks across directories. Always
    cp
    the actual files.
  6. Convert PDF figures to PNG for PPTX embedding:
    bash
    python3 -c "import pdf2image" 2>/dev/null || pip install pdf2image
    # For each figure:
    python3 -c "
    from pdf2image import convert_from_path
    for name in ['paradigm', 'architecture', 'results', 'hallucination']:
        imgs = convert_from_path(f'poster/figures/{name}.pdf', dpi=300)
        imgs[0].save(f'poster/figures/{name}.png', 'PNG')
    "
    ⚠️ python-pptx CANNOT embed PDF images. You MUST convert to PNG first. This is a hard limitation of the OOXML format. Always generate PNG copies at 300 DPI during setup.
  7. Detect CJK: if paper contains Chinese/Japanese/Korean text, set ENGINE to
    xelatex
  8. Check for resume: read
    poster/POSTER_STATE.json
    if it exists
  1. 检查前置条件
    bash
    which pdflatex && which latexmk
    如果未安装LaTeX,按以下顺序尝试:
    bash
    # 选项1:brew cask(需要sudo——非交互shell中可能失败)
    brew install --cask mactex-no-gui
    
    # 选项2:BasicTeX(体积更小,仍可能需要sudo)
    brew install --cask basictex
    
    # 选项3:用户目录安装(无需sudo——始终有效)
    curl -L https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz | tar xz
    cd install-tl-*
    cat > texlive.profile << 'PROF'
    selected_scheme scheme-basic
    TEXDIR ~/texlive/YYYY
    TEXMFLOCAL ~/texlive/texmf-local
    TEXMFSYSCONFIG ~/texlive/YYYY/texmf-config
    TEXMFSYSVAR ~/texlive/YYYY/texmf-var
    TEXMFHOME ~/texmf
    binary_x86_64-darwin 1
    instopt_adjustpath 0
    instopt_adjustrepo 1
    instopt_write18_restricted 1
    tlpdbopt_autobackup 1
    tlpdbopt_install_docfiles 0
    tlpdbopt_install_srcfiles 0
    PROF
    ./install-tl --profile=texlive.profile
    export PATH="$HOME/texlive/YYYY/bin/universal-darwin:$PATH"
    安装完成后,安装所需包:
    bash
    tlmgr install tcolorbox pgf etoolbox environ trimspaces \
      type1cm pdfcol tikzfill latexmk lm enumitem geometry
    ⚠️ 经验总结
    brew install --cask mactex-no-gui
    在非交互shell中经常失败,因为macOS安装程序需要sudo密码。用户目录TeX Live安装(选项3)无需sudo,始终有效。
    ⚠️ 不要安装或使用
    beamerposter
    。article类方案不需要它。
  2. 验证论文是否存在
    bash
    ls $PAPER_DIR/main.tex || ls $PAPER_DIR/main.pdf
    ls $PAPER_DIR/sections/*.tex
    ls $PAPER_DIR/figures/
  3. 备份现有海报:如果
    poster/
    目录存在,复制到
    poster-backup-{timestamp}/
  4. 创建输出目录
    mkdir -p poster/figures
  5. 复制图表到海报目录:
    bash
    # 重要:使用cp,不要用ln -sf(符号链接)
    # pdflatex通常无法跨目录解析符号链接
    cp paper/figures/selected_figure.pdf poster/figures/
    ⚠️ 绝不要为海报图表使用符号链接
    pdflatex
    无法可靠地跨目录跟随符号链接。始终
    cp
    实际文件。
  6. 将PDF图表转换为PNG用于PPTX嵌入:
    bash
    python3 -c "import pdf2image" 2>/dev/null || pip install pdf2image
    # 对每个图表执行:
    python3 -c "
    from pdf2image import convert_from_path
    for name in ['paradigm', 'architecture', 'results', 'hallucination']:
        imgs = convert_from_path(f'poster/figures/{name}.pdf', dpi=300)
        imgs[0].save(f'poster/figures/{name}.png', 'PNG')
    "
    ⚠️ python-pptx无法嵌入PDF图片。必须先转换为PNG。这是OOXML格式的硬限制。设置阶段始终生成300 DPI的PNG副本。
  7. 检测中日韩文本:如果论文包含中文/日文/韩文,将ENGINE设置为
    xelatex
  8. 检查是否可恢复:如果存在
    poster/POSTER_STATE.json
    ,读取该文件

Phase 1: Content Extraction

阶段1:内容提取

Read each section from
paper/sections/*.tex
and extract poster-appropriate content:
Extraction rules — a poster shows ~30-40% of the paper's content:
Paper SectionPoster ExtractionTarget Length
AbstractSkip — replace with 2-4 big-number stat callout boxes spanning all columns0 words (numbers only)
IntroductionMotivation: 2-3 bullet points + numbered contribution list (4 items)120-160 words
Method1 hero architecture figure + key equations + 3-5 bullet points80-120 words
ExperimentsDataset details + main result figures + numeric stat tables + ablation150-200 words
Conclusion3-4 key findings + 2-3 next steps60-80 words
Related WorkSkip entirely — no space on poster0
Total target: 400-700 words (excluding figure captions and stat callout numbers).
⚠️ No abstract paragraph on poster. Replace with a stat banner: 3-4 large-number callout boxes showing headline results. This is the single highest-impact change for 60-second comprehension.
Output:
poster/POSTER_CONTENT_PLAN.md
— structured markdown showing exactly what goes where, with word counts per box.
🚦 Checkpoint:
📋 Poster content plan ready:
- Title: [paper title]
- Venue: [VENUE] ([POSTER_SIZE] [ORIENTATION])
- Layout: [COLUMNS] columns, rows=20
- Figures selected: [N] figures
- Boxes per column: Col1=[N], Col2=[N], Col3=[N], Col4=[N]
- Estimated word count: [N] words

Proceed with this layout? Or adjust content selection?
⛔ STOP HERE and wait for user response.
State: Write
POSTER_STATE.json
with
phase: 1
.
读取
paper/sections/*.tex
中的每个章节,提取适合海报的内容:
提取规则 — 海报展示约30-40%的论文内容:
论文章节海报提取内容目标长度
摘要跳过 — 替换为2-4个跨列的大数字统计标注框0词(仅数字)
引言动机:2-3个项目符号 + 编号贡献列表(4项)120-160词
方法1个核心架构图 + 关键公式 + 3-5个项目符号80-120词
实验数据集详情 + 主要结果图 + 数值统计表 + 消融实验150-200词
结论3-4个核心发现 + 2-3个未来研究方向60-80词
相关工作完全跳过 — 海报上没有空间0
总目标:400-700词(不含图表标题和统计标注数字)。
⚠️ 海报上不要放摘要段落。 替换为统计横幅:3-4个大数字标注框展示核心结果。这是60秒内让观众理解内容的最高效改动。
输出
poster/POSTER_CONTENT_PLAN.md
— 结构化Markdown文件,明确展示每个位置的内容,以及每个框的词数。
🚦 检查点:
📋 海报内容规划已准备好:
- 标题:[论文标题]
- 会议:[VENUE] ([POSTER_SIZE] [ORIENTATION])
- 布局:[COLUMNS]列,rows=20
- 选中的图表:[N]个
- 每列的框数:第1列=[N],第2列=[N],第3列=[N],第4列=[N]
- 预估词数:[N]词

是否继续使用此布局?或者调整内容选择?
⛔ 在此处停止,等待用户回复。
状态:将
POSTER_STATE.json
写入文件,设置
phase: 1

Phase 2: Figure Selection & Layout

阶段2:图表选择与布局

  1. Inventory all figures in
    paper/figures/
    :
    bash
    ls -la paper/figures/*.{pdf,png,jpg,svg} 2>/dev/null
  2. Rank by poster importance:
    • Tier 1 (must include): Architecture/method overview diagram, main results plot
    • Tier 2 (include if space): Ablation bar chart, qualitative examples, experimental paradigm
    • Tier 3 (skip): Appendix figures, supplementary plots, tables-as-figures
  3. Select top 3-5 figures that fit the 4-column layout
  4. Copy figures to poster directory (NOT symlinks) + convert PDF→PNG for PPTX
  5. Design column layout — 4-column IMRAD:
    • Col 1: Background & Motivation + Contributions + References & QR
    • Col 2: Dataset & Paradigms (fig) + Computational Models (equations)
    • Col 3: Architecture (fig) + Result 1 (fig + stat table)
    • Col 4: Result 2 (fig + stat table) + Ablation + Conclusion
  1. 盘点
    paper/figures/
    中的所有图表:
    bash
    ls -la paper/figures/*.{pdf,png,jpg,svg} 2>/dev/null
  2. 按海报重要性排序
    • 第1层(必须包含):架构/方法概述图、主要结果图
    • 第2层(有空间则包含):消融实验柱状图、定性示例、实验范式图
    • 第3层(跳过):附录图表、补充图、表格转图表
  3. 选择前3-5个适合4列布局的图表
  4. 复制图表到海报目录(不要用符号链接) + 将PDF转换为PNG用于PPTX
  5. 设计列布局 — 4列IMRAD:
    • 第1列:背景与动机 + 研究贡献 + 参考文献与二维码
    • 第2列:数据集与范式(图表) + 计算模型(公式)
    • 第3列:架构(图表) + 结果1(图表 + 统计表)
    • 第4列:结果2(图表 + 统计表) + 消融实验 + 结论

Phase 3: Generate Poster LaTeX

阶段3:生成海报LaTeX

Create
poster/main.tex
using article class + geometry + tcbposter.
Template structure (validated through testing):
latex
\documentclass{article}
\usepackage[paperwidth=1189mm,paperheight=841mm,margin=0mm]{geometry}
\usepackage{tcolorbox}
\tcbuselibrary{poster,skins,fitting}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
\usepackage[table]{xcolor}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\pagestyle{empty}

% ── Venue Color Theme ──
\definecolor{primary}{HTML}{VENUE_PRIMARY}     % deep, saturated
\definecolor{secondary}{HTML}{VENUE_SECONDARY} % medium
\definecolor{accent}{HTML}{VENUE_ACCENT}       % contrast
\definecolor{bgposter}{HTML}{VENUE_BG_DEEP}    % poster background (NOT white, use tinted)
\definecolor{redbg}{HTML}{FFF5F3}              % card backgrounds (tinted, NOT white)
\definecolor{bluebg}{HTML}{F0F4FF}
\definecolor{darkbg}{HTML}{FDF6F3}
\definecolor{redtitlebg}{HTML}{FDEAE8}         % card title bar backgrounds
\definecolor{bluetitlebg}{HTML}{E4ECFF}
\definecolor{darktitlebg}{HTML}{F5E8E2}
\definecolor{textdark}{HTML}{111827}
\definecolor{textgray}{HTML}{4B5563}
\definecolor{stathighlight}{HTML}{FEE8E8}

\pagecolor{bgposter}
\color{textdark}

% ── List styling ──
\setlist[itemize]{leftmargin=24pt, itemsep=6pt, parsep=2pt, topsep=2pt,
  label={\color{secondary}$\blacktriangleright$}}
\setlist[enumerate]{leftmargin=24pt, itemsep=6pt, parsep=2pt, topsep=2pt,
  label={\color{primary}\bfseries\arabic*.}}

% ── Figure+caption macro (ensures uniform spacing) ──
\newcommand{\posterfig}[3]{%
  \centering\includegraphics[width=#1\linewidth]{#2}\\[3mm]
  {\fontsize{26}{32}\selectfont\color{textgray}\textit{#3}}\vspace{2mm}%
}

% ── Card styles (left accent stripe design) ──
\tcbset{
  redcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=redbg,
    borderline west={5pt}{0pt}{secondary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{secondary},
    coltitle=secondary, colbacktitle=redtitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={secondary!50},
    valign=top, drop shadow={opacity=0.18},
  },
  bluecard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=bluebg,
    borderline west={5pt}{0pt}{accent},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{accent},
    coltitle=accent, colbacktitle=bluetitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={accent!50},
    valign=top, drop shadow={opacity=0.18},
  },
  darkcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=darkbg,
    borderline west={5pt}{0pt}{primary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{primary},
    coltitle=primary, colbacktitle=darktitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={primary!50},
    valign=top, drop shadow={opacity=0.18},
  },
  highlightcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=primary!18!white,
    borderline west={6pt}{0pt}{primary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{white},
    coltitle=white, colbacktitle=primary,
    toptitle=6pt, bottomtitle=6pt,
    valign=top, drop shadow={opacity=0.22},
  },
}

\begin{document}
\begin{tcbposter}[
  coverage={spread},
  poster={columns=4, rows=20, spacing=0mm},  % Use columns=3 for portrait A0
]

% ══ TITLE BAR ══
\posterbox[
  enhanced, colback=primary, colframe=primary, colupper=white,
  arc=0pt, boxrule=0pt,
  left=40pt, right=40pt, top=12pt, bottom=8pt,
  halign=center, valign=center,
  drop shadow={opacity=0.3}
]{name=title, column=1, span=4, between=top and row4}{
  {\fontsize{84}{100}\selectfont\bfseries PAPER TITLE}\\[12pt]
  {\fontsize{36}{44}\selectfont Authors}\\[8pt]
  {\fontsize{30}{38}\selectfont\color{white!70} Affiliations | VENUE YEAR | github.com/...}
}

% ══ STATS BANNER ══
\posterbox[
  enhanced, colback=primary!15!white, boxrule=0pt, arc=0pt,
  left=12pt, right=12pt, top=6pt, bottom=6pt,
  valign=center, borderline south={3pt}{0pt}{primary!35},
]{name=stats, column=1, span=4, between=row4 and row6}{
  \centering
  \begin{minipage}[c]{0.235\linewidth}\centering
    \fcolorbox{primary!40}{stathighlight}{\parbox{0.88\linewidth}{%
      \centering\vspace{6pt}%
      {\fontsize{66}{80}\selectfont\bfseries\color{primary} STAT1}\\[4pt]
      {\fontsize{26}{32}\selectfont\color{textdark} Label 1}\vspace{6pt}%
    }}
  \end{minipage}\hfill
  % ... 3 more stat callouts in same pattern
}

% ══ CONTENT CARDS ══
% Use card styles: \posterbox[redcard, title={...}]{...}{...}
% Body text: \fontsize{34}{44}\selectfont
% Figures: \posterfig{0.96}{figures/name.png}{Caption.}
% Colorboxes: \colorbox{primary!20}{\parbox{0.94\linewidth}{...}}

\end{tcbposter}
\end{document}
Key formatting rules:
  • Title: 84pt, bold, primary background, white text
  • Author line: 36pt, white text
  • Section headers: 40pt via
    fonttitle
    — colored text on tinted title background
  • Body text: 34pt with 44pt leading —
    \fontsize{34}{44}\selectfont
  • Figures: via
    \posterfig{0.96}{figures/name.png}{Caption}
    macro
  • Stat callout numbers: 66pt in primary color on stathighlight background
  • Tables:
    \renewcommand{\arraystretch}{1.6}
    with
    \rowcolor{primary!15}
    zebra striping
  • Equations in colorboxes: use
    $\displaystyle ...$
    (inline), NOT
    \[...\]
    (display math adds margins that cause overfull hbox)
Posterbox pattern (using card styles):
latex
\posterbox[redcard, title={Section Title}
]{name=uniquename, column=N, between=rowA and rowB}{
  \fontsize{34}{44}\selectfont
  \begin{itemize}[itemsep=12pt]
    \item Key point one
    \item Key point two
  \end{itemize}
}
⚠️ Equations in narrow colorboxes: Display math
\[...\]
adds horizontal margins that cause overfull hbox errors inside
\colorbox{\parbox{}}
. Always use
$\displaystyle ...$
with
\centering
instead. Reduce equation font to 26-28pt inside colorboxes.
🚦 Checkpoint:
🖼️ Poster LaTeX generated:
- Template: article + tcbposter (rows=20)
- Layout: [COLUMNS] columns, [ORIENTATION] [POSTER_SIZE]
- Colors: [VENUE] theme (primary: [HEX] / secondary: [HEX] / accent: [HEX])
- Figures: [N] embedded
- Font sizes: title=90pt, body=34pt, headers=42pt
- Word count: ~[N] words

Compile now?
⛔ STOP HERE and wait for user response.
State: Write
POSTER_STATE.json
with
phase: 3
.
使用article类 + geometry + tcbposter创建
poster/main.tex
模板结构(已测试验证):
latex
\documentclass{article}
\usepackage[paperwidth=1189mm,paperheight=841mm,margin=0mm]{geometry}
\usepackage{tcolorbox}
\tcbuselibrary{poster,skins,fitting}
\usepackage{graphicx}
\usepackage{amsmath,amssymb}
\usepackage{enumitem}
\usepackage[table]{xcolor}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\pagestyle{empty}

% ── 会议配色主题 ──
\definecolor{primary}{HTML}{VENUE_PRIMARY}     % 深邃、高饱和度
\definecolor{secondary}{HTML}{VENUE_SECONDARY} % 中等色调
\definecolor{accent}{HTML}{VENUE_ACCENT}       % 对比色
\definecolor{bgposter}{HTML}{VENUE_BG_DEEP}    % 海报背景色(非白色,使用淡色调)
\definecolor{redbg}{HTML}{FFF5F3}              % 卡片背景色(淡色调,非白色)
\definecolor{bluebg}{HTML}{F0F4FF}
\definecolor{darkbg}{HTML}{FDF6F3}
\definecolor{redtitlebg}{HTML}{FDEAE8}         % 卡片标题栏背景色
\definecolor{bluetitlebg}{HTML}{E4ECFF}
\definecolor{darktitlebg}{HTML}{F5E8E2}
\definecolor{textdark}{HTML}{111827}
\definecolor{textgray}{HTML}{4B5563}
\definecolor{stathighlight}{HTML}{FEE8E8}

\pagecolor{bgposter}
\color{textdark}

% ── 列表样式 ──
\setlist[itemize]{leftmargin=24pt, itemsep=6pt, parsep=2pt, topsep=2pt,
  label={\color{secondary}$\blacktriangleright$}}
\setlist[enumerate]{leftmargin=24pt, itemsep=6pt, parsep=2pt, topsep=2pt,
  label={\color{primary}\bfseries\arabic*.}}

% ── 图表+标题宏(确保间距一致) ──
\newcommand{\posterfig}[3]{%
  \centering\includegraphics[width=#1\linewidth]{#2}\\[3mm]
  {\fontsize{26}{32}\selectfont\color{textgray}\textit{#3}}\vspace{2mm}%
}

% ── 卡片样式(左侧强调条纹设计) ──
\tcbset{
  redcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=redbg,
    borderline west={5pt}{0pt}{secondary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{secondary},
    coltitle=secondary, colbacktitle=redtitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={secondary!50},
    valign=top, drop shadow={opacity=0.18},
  },
  bluecard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=bluebg,
    borderline west={5pt}{0pt}{accent},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{accent},
    coltitle=accent, colbacktitle=bluetitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={accent!50},
    valign=top, drop shadow={opacity=0.18},
  },
  darkcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=darkbg,
    borderline west={5pt}{0pt}{primary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{primary},
    coltitle=primary, colbacktitle=darktitlebg,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={primary!50},
    valign=top, drop shadow={opacity=0.18},
  },
  highlightcard/.style={
    enhanced, arc=0pt, boxrule=0pt, colback=primary!18!white,
    borderline west={6pt}{0pt}{primary},
    left=16pt, right=14pt, top=4pt, bottom=4pt,
    fonttitle=\fontsize{40}{48}\selectfont\bfseries\color{white},
    coltitle=white, colbacktitle=primary,
    toptitle=6pt, bottomtitle=6pt,
    titlerule=2pt, titlerule style={white!50},
    valign=top, drop shadow={opacity=0.22},
  },
}

\begin{document}
\begin{tcbposter}[
  coverage={spread},
  poster={columns=4, rows=20, spacing=0mm},  % 纵向A0使用columns=3
]

% ══ 标题栏 ══
\posterbox[
  enhanced, colback=primary, colframe=primary, colupper=white,
  arc=0pt, boxrule=0pt,
  left=40pt, right=40pt, top=12pt, bottom=8pt,
  halign=center, valign=center,
  drop shadow={opacity=0.3}
]{name=title, column=1, span=4, between=top and row4}{
  {\fontsize{84}{100}\selectfont\bfseries 论文标题}\\[12pt]
  {\fontsize{36}{44}\selectfont 作者}\\[8pt]
  {\fontsize{30}{38}\selectfont\color{white!70} 机构 | VENUE 年份 | github.com/...}
}

% ══ 统计横幅 ══
\posterbox[
  enhanced, colback=primary!15!white, boxrule=0pt, arc=0pt,
  left=12pt, right=12pt, top=6pt, bottom=6pt,
  valign=center, borderline south={3pt}{0pt}{primary!35},
]{name=stats, column=1, span=4, between=row4 and row6}{
  \centering
  \begin{minipage}[c]{0.235\linewidth}\centering
    \fcolorbox{primary!40}{stathighlight}{\parbox{0.88\linewidth}{%
      \centering\vspace{6pt}%
      {\fontsize{66}{80}\selectfont\bfseries\color{primary} 统计1}\\[4pt]
      {\fontsize{26}{32}\selectfont\color{textdark} 标签1}\vspace{6pt}%
    }}
  \end{minipage}\hfill
  % ... 另外3个统计标注,格式相同
}

% ══ 内容卡片 ══
% 使用卡片样式:\posterbox[redcard, title={...}]{...}{...}
% 正文:\fontsize{34}{44}\selectfont
% 图表:\posterfig{0.96}{figures/name.png}{标题。}
% 色块:\colorbox{primary!20}{\parbox{0.94\linewidth}{...}}

\end{tcbposter}
\end{document}
关键格式规则
  • 标题:84pt,粗体,主色背景,白色文本
  • 作者行:36pt,白色文本
  • 章节标题:通过
    fonttitle
    设置为40pt — 彩色文本,淡色标题背景
  • 正文:34pt,行高44pt —
    \fontsize{34}{44}\selectfont
  • 图表:通过
    \posterfig{0.96}{figures/name.png}{标题}
    宏插入
  • 统计标注数字:66pt,主色,stathighlight背景
  • 表格:
    \renewcommand{\arraystretch}{1.6}
    ,使用
    \rowcolor{primary!15}
    斑马纹
  • 色块中的公式:使用
    $\displaystyle ...$
    (行内),不要
    \[...\]
    (显示公式会增加边距,导致hbox溢出)
海报框模式(使用卡片样式):
latex
\posterbox[redcard, title={章节标题}
]{name=唯一名称, column=N, between=rowA and rowB}{
  \fontsize{34}{44}\selectfont
  \begin{itemize}[itemsep=12pt]
    \item 关键点1
    \item 关键点2
  \end{itemize}
}
⚠️ 窄色块中的公式:显示公式
\[...\]
会增加水平边距,导致
\colorbox{\parbox{}}
内出现hbox溢出错误。始终使用
$\displaystyle ...$
并配合
\centering
。色块内的公式字体缩小到26-28pt。
🚦 检查点:
🖼️ 海报LaTeX已生成:
- 模板:article + tcbposter(rows=20)
- 布局:[COLUMNS]列,[ORIENTATION] [POSTER_SIZE]
- 配色:[VENUE]主题(主色:[HEX] / 辅助色:[HEX] / 强调色:[HEX])
- 嵌入的图表:[N]个
- 字体大小:标题=90pt,正文=34pt,章节标题=42pt
- 词数:约[N]词

是否现在编译?
⛔ 在此处停止,等待用户回复。
状态:将
POSTER_STATE.json
写入文件,设置
phase: 3

Phase 4: Compile Poster

阶段4:编译海报

bash
cd poster && latexmk -pdf -interaction=nonstopmode main.tex
⚠️ If using user-directory TeX Live, prepend PATH:
export PATH="$HOME/texlive/YYYY/bin/universal-darwin:$PATH"
Error handling loop (max 3 attempts):
  1. Parse error log for the first error
  2. Fix the most likely cause:
    • grouping levels=255
      STOP. Switch from beamer to article class. This is not fixable by removing styles.
    • Missing package →
      tlmgr install <package>
    • File not found: adjustbox.sty
      → Remove
      \usepackage{adjustbox}
      and any
      max height
      options
    • File not found → verify
      poster/figures/
      has the file (not a broken symlink)
    • Overfull boxes → reduce text or figure size
  3. Recompile
Common missing packages (install proactively if not present):
bash
tlmgr install type1cm pdfcol tikzfill
Verification:
bash
pdfinfo poster/main.pdf
bash
cd poster && latexmk -pdf -interaction=nonstopmode main.tex
⚠️ 如果使用用户目录TeX Live,需要先设置PATH:
export PATH="$HOME/texlive/YYYY/bin/universal-darwin:$PATH"
错误处理循环(最多3次尝试):
  1. 解析错误日志,找到第一个错误
  2. 修复最可能的原因:
    • grouping levels=255
      停止。将beamer改为article类。 这无法通过修改样式修复。
    • 缺少包 →
      tlmgr install <包名>
    • File not found: adjustbox.sty
      → 删除
      \usepackage{adjustbox}
      和所有
      max height
      选项
    • 文件未找到 → 验证
      poster/figures/
      中是否有该文件(不是损坏的符号链接)
    • hbox溢出 → 减少文本或图表尺寸
  3. 重新编译
常见缺失包(主动安装,如果未存在):
bash
tlmgr install type1cm pdfcol tikzfill
验证
bash
pdfinfo poster/main.pdf

Check: Pages: 1, Page size: ~3370.39 x 2383.94 pts (A0 landscape)

检查:Pages: 1, Page size: ~3370.39 x 2383.94 pts(横向A0)


**Visual inspection** after compilation:
1. All 4 columns have content visible to the bottom — no silent clipping
2. No large whitespace gaps between title/stats and body content
3. Figures are fully visible, not cut off
4. Text is readable (zoom to 100% = actual A0 size)

**编译后视觉检查**:
1. 所有4列的内容都显示到底部 — 没有静默裁剪
2. 标题/统计横幅与主体内容之间没有大空白
3. 图表完全可见,没有被截断
4. 文本可读(放大到100% = 实际A0尺寸)

Phase 5: Visual Review via Claude + Gemini (Iterative Refinement)

阶段5:通过Claude + Gemini进行视觉审核(迭代优化)

This phase uses Claude visual assessment on rendered poster images to iteratively refine layout, readability, and visual hierarchy — similar to the
paper-illustration
skill's review loop.
Step 1: Render poster to PNG preview
python
import fitz
doc = fitz.open('poster/main.pdf')
page = doc[0]
pix = page.get_pixmap(dpi=200)  # 200 DPI for visual review (higher than 150 preview)
pix.save('poster/poster_review.png')
doc.close()
Step 2: Claude visual assessment
Read the rendered
poster/poster_review.png
and perform a STRICT visual review with the following rubric (score 1-10):
Critical checks (must all pass, any failure = score ≤ 5):
  1. Content accuracy — No fabricated data, all numbers match paper
  2. Text readability — All text readable at simulated 1.5m distance (no text too small)
  3. No clipping — All content visible, no cut-off figures or text
  4. Column alignment — Row bands align across all columns
Secondary checks (affect score 6-10): 5. Visual hierarchy — Title → stat banner → body flow is immediately clear 6. Figure prominence — Figures occupy 40-50% of content area 7. Color coherence — Card tints, accent stripes, and venue colors work harmoniously 8. Whitespace balance — No large empty gaps, no overly cramped sections 9. Information density — Can understand the contribution in 60 seconds 10. Overall aesthetics — Would you be proud to present this at a top venue?
Scoring:
  • 9-10: Print-ready, no changes needed
  • 7-8: Minor tweaks (spacing, font size adjustments)
  • 5-6: Needs revision (layout issues, readability problems)
  • 1-4: Major issues (clipping, fabricated data, broken layout)
Step 3: Iterative refinement loop
MAX_ITERATIONS = 5
SCORE_THRESHOLD = 9

for iteration in 1..MAX_ITERATIONS:
    1. Render poster to poster/poster_v{iteration}.png (200 DPI)
    2. Claude reads the PNG and performs STRICT visual review
    3. Score the poster (1-10) with detailed feedback
    4. If score >= SCORE_THRESHOLD → PASS, proceed to Phase 6
    5. If score < SCORE_THRESHOLD:
       a. Identify top 3 issues (ranked by visual impact)
       b. Generate targeted LaTeX fixes for each issue
       c. Apply fixes to main.tex
       d. Recompile (Phase 4 error loop)
       e. Continue to next iteration
    6. Save all versions: poster/poster_v{iteration}.png
⚠️ All versions are preserved. Never overwrite previous renders. Save as
poster_v1.png
,
poster_v2.png
, etc. This allows comparison and rollback.
⚠️ Targeted fixes only. Each iteration should fix at most 3 specific issues. Do NOT rewrite the entire LaTeX — small, focused edits prevent regression.
Optional: Gemini visual generation (if
mcp__illustrator__run
is available):
For poster elements that need custom illustrations (e.g., hero architecture diagram, method workflow), use the Gemini illustration pipeline:
  1. Write a detailed specification for the illustration
  2. Call
    mcp__illustrator__run
    with the specification
  3. Claude reviews the generated image for accuracy
  4. Iterate until score ≥ 9 or max 3 attempts
  5. Save final illustration to
    poster/figures/
    and embed in LaTeX
Step 4: Save visual review log
Append all iteration scores and feedback to
poster/POSTER_VISUAL_REVIEW.md
:
markdown
undefined
此阶段使用Claude视觉评估对渲染后的海报图片进行迭代优化,改进布局、可读性和视觉层次 — 类似于
paper-illustration
技能的审核循环。
步骤1:将海报渲染为PNG预览图
python
import fitz
doc = fitz.open('poster/main.pdf')
page = doc[0]
pix = page.get_pixmap(dpi=200)  # 200 DPI用于视觉审核(高于150 DPI预览)
pix.save('poster/poster_review.png')
doc.close()
步骤2:Claude视觉评估
读取渲染后的
poster/poster_review.png
,按照以下评分标准进行严格视觉审核(评分1-10):
关键检查(必须全部通过,任何失败=评分≤5):
  1. 内容准确性 — 没有虚构数据,所有数字与论文一致
  2. 文本可读性 — 模拟1.5米距离下所有文本可读(没有文本过小)
  3. 无裁剪 — 所有内容可见,没有图表或文本被截断
  4. 列对齐 — 所有列的行区块对齐
次要检查(影响评分6-10): 5. 视觉层次 — 标题 → 统计横幅 → 主体内容的流程清晰可见 6. 图表突出性 — 图表占内容区域的40-50% 7. 配色协调性 — 卡片色调、强调条纹和会议配色和谐统一 8. 空白平衡 — 没有大空白,内容不过于拥挤 9. 信息密度 — 能在60秒内理解研究贡献 10. 整体美观度 — 你是否愿意在顶级会议上展示此海报?
评分标准
  • 9-10:可直接印刷,无需修改
  • 7-8:小调整(间距、字体大小)
  • 5-6:需要修订(布局问题、可读性问题)
  • 1-4:严重问题(裁剪、虚构数据、布局损坏)
步骤3:迭代优化循环
MAX_ITERATIONS = 5
SCORE_THRESHOLD = 9

for iteration in 1..MAX_ITERATIONS:
    1. 将海报渲染为poster/poster_v{iteration}.png(200 DPI)
    2. Claude读取PNG并进行严格视觉审核
    3. 为海报评分(1-10)并提供详细反馈
    4. 如果评分≥SCORE_THRESHOLD → 通过,进入阶段6
    5. 如果评分<SCORE_THRESHOLD:
       a. 找出前3个问题(按视觉影响排序)
       b. 生成每个问题的针对性LaTeX修复方案
       c. 将修复应用到main.tex
       d. 重新编译(阶段4错误处理循环)
       e. 继续下一次迭代
    6. 保存所有版本:poster/poster_v{iteration}.png
⚠️ 保留所有版本。不要覆盖之前的渲染图。保存为
poster_v1.png
poster_v2.png
等。这样可以对比和回滚。
⚠️ 仅进行针对性修复。每次迭代最多修复3个具体问题。不要重写整个LaTeX — 小而集中的修改可防止回归。
可选:Gemini插图生成(如果
mcp__illustrator__run
可用):
对于需要自定义插图的海报元素(例如核心架构图、方法工作流),使用Gemini插图流程:
  1. 编写插图的详细规格
  2. 使用规格调用
    mcp__illustrator__run
  3. Claude审核生成的图片准确性
  4. 迭代直到评分≥9或最多3次尝试
  5. 将最终插图保存到
    poster/figures/
    并嵌入LaTeX
步骤4:保存视觉审核日志
将所有迭代评分和反馈追加到
poster/POSTER_VISUAL_REVIEW.md
markdown
undefined

Visual Review Log

视觉审核日志

Iteration 1 — Score: 7/10

迭代1 — 评分:7/10

  • Issue 1: Title font too small (72pt → should be 84pt+)
  • Issue 2: Results figure clipped at bottom
  • Issue 3: Stat banner numbers not prominent enough
  • Fixes applied: [list of changes]
  • 问题1:标题字体过小(72pt → 应≥84pt)
  • 问题2:结果图底部被裁剪
  • 问题3:统计横幅数字不够突出
  • 应用的修复:[修改列表]

Iteration 2 — Score: 9/10

迭代2 — 评分:9/10

  • All critical checks pass
  • Minor: References column slightly shorter than others
  • Decision: PASS — print-ready
undefined
  • 所有关键检查通过
  • 次要问题:参考文献列比其他列稍短
  • 决策:通过 — 可直接印刷
undefined

Phase 6: Codex MCP Review

阶段6:Codex MCP审核

Send the poster content plan + key LaTeX sections to GPT-5.4 xhigh for review.
mcp__codex__codex:
  config: {"model_reasoning_effort": "xhigh"}
  prompt: |
    Review this academic conference poster for [VENUE].

    Evaluate using these criteria (score 1-5 each):

    1. **Information hierarchy** — Can someone understand the contribution in 60 seconds?
    2. **Text density** — Is it concise enough? (Target: 400-700 words total, bullet points only, NO abstract paragraph)
    3. **Figure prominence** — Are key results visually dominant? (Target: figures occupy 40-50% of area)
    4. **Column balance** — Are columns roughly equal height?
    5. **Readability** — Font sizes appropriate for 1.5m distance? (Title ≥90pt, body ≥34pt)
    6. **Narrative flow** — Does the poster tell a left-to-right story?
    7. **Whitespace** — Is content filling the space well? No large empty gaps?

    Poster content:
    [PASTE POSTER_CONTENT_PLAN.md]

    LaTeX source:
    [PASTE key sections of main.tex]

    Provide:
    - Score for each criterion
    - Top 3 actionable fixes (ranked by impact)
    - Overall: Ready to print? (Yes / Needs revision / Major issues)
Apply CRITICAL and MAJOR fixes to
poster/main.tex
. Recompile if changes were made.
Save review to
poster/POSTER_REVIEW.md
.
⚠️ Important: After applying review fixes, proceed to Phase 6 only when the poster is finalized. PPTX and SVG must be generated from the final LaTeX/PDF — never from an intermediate version.
将海报内容规划 + 关键LaTeX部分发送给GPT-5.4 xhigh进行审核。
mcp__codex__codex:
  config: {"model_reasoning_effort": "xhigh"}
  prompt: |
    审核此[VENUE]学术会议海报。

    使用以下标准评估(每项评分1-5):

    1. **信息层次** — 能否在60秒内理解研究贡献?
    2. **文本密度** — 是否足够简洁?(目标:总词数400-700,仅项目符号,无摘要段落)
    3. **图表突出性** — 关键结果是否视觉突出?(目标:图表占40-50%的区域)
    4. **列平衡** — 各列高度是否大致相等?
    5. **可读性** — 字体大小是否适合1.5米距离?(标题≥90pt,正文≥34pt)
    6. **叙事流程** — 海报是否从左到右讲述完整故事?
    7. **空白** — 内容是否充分利用空间?没有大空白?

    海报内容:
    [粘贴POSTER_CONTENT_PLAN.md]

    LaTeX源码:
    [粘贴main.tex的关键部分]

    提供:
    - 每项标准的评分
    - 前3个可操作的修复方案(按影响排序)
    - 整体结论:是否可印刷?(是 / 需要修订 / 严重问题)
关键和主要修复应用到
poster/main.tex
。如果进行了修改,重新编译。
将审核结果保存到
poster/POSTER_REVIEW.md
⚠️ 重要:应用审核修复后,仅当海报最终确定后再进入阶段6。PPTX和SVG必须从最终LaTeX/PDF生成 — 绝不要从中间版本生成。

Phase 7: Editable Format Export

阶段7:可编辑格式导出

⚠️ Generate PPTX and SVG only AFTER all revisions are complete. This phase runs last (after review fixes) to ensure all formats contain identical content.
⚠️ 仅在所有修订完成后生成PPTX和SVG。此阶段最后运行(审核修复后),确保所有格式内容一致。

6.1 PowerPoint (.pptx)

7.1 PowerPoint (.pptx)

Generate a native PPTX using
python-pptx
(not pandoc — pandoc conversion is lossy):
bash
python3 -c "import pptx" 2>/dev/null || pip install python-pptx
Write a Python script
poster/generate_pptx.py
that:
  1. Creates a single-slide PPTX with poster dimensions (A0 landscape: 1189mm x 841mm)
  2. Replicates the 4-column layout using positioned text boxes
  3. Embeds PNG figures (from poster/figures/*.png — NOT PDFs, python-pptx cannot embed PDFs)
  4. Applies venue color scheme (primary/secondary/accent) to title bar and section headers
  5. Keeps all text editable (not images of text)
  6. Uses large font sizes matching the PDF (title 86pt, body 34pt, headers 42pt, stats 68pt)
  7. Reads content from the FINAL
    main.tex
    — do NOT hardcode content separately
⚠️ PPTX font sizes must also be large. A common mistake is using small fonts (17-24pt) in the PPTX while the PDF has 34pt+. The PPTX is A0-sized so needs identical large fonts.
PPTX helper pattern:
python
def add_image(left, top, w, filename):
    """Add PNG image, auto-calculate height from aspect ratio."""
    path = os.path.join(FIG_DIR, filename)
    if not os.path.exists(path):
        txt(left, top, w, 60, f"[Image: {filename}]", ...)
        return top + 60
    pic = slide.shapes.add_picture(path, Mm(left), Mm(top), Mm(w))
    h_mm = pic.height / Mm(1)
    return top + h_mm
bash
cd poster && python3 generate_pptx.py
使用
python-pptx
生成原生PPTX(不要用pandoc — pandoc转换会丢失信息):
bash
python3 -c "import pptx" 2>/dev/null || pip install python-pptx
编写Python脚本
poster/generate_pptx.py
,实现:
  1. 创建单页PPTX,尺寸与海报一致(横向A0:1189mm x 841mm)
  2. 使用定位文本框复制4列布局
  3. 嵌入PNG图表(来自poster/figures/*.png — 不要用PDF,python-pptx无法嵌入PDF)
  4. 将会议配色(主色/辅助色/强调色)应用到标题栏和章节标题
  5. 所有文本保持可编辑(不是文本图片)
  6. 使用与PDF匹配的大字体(标题86pt,正文34pt,章节标题42pt,统计68pt)
  7. 从最终的
    main.tex
    读取内容
    — 不要单独硬编码内容
⚠️ PPTX字体大小也必须大。常见错误是PPTX使用小字体(17-24pt),而PDF使用34pt+。PPTX是A0尺寸,需要相同的大字体。
PPTX辅助代码模式
python
def add_image(left, top, w, filename):
    """添加PNG图片,根据宽高比自动计算高度。"""
    path = os.path.join(FIG_DIR, filename)
    if not os.path.exists(path):
        txt(left, top, w, 60, f"[图片:{filename}]", ...)
        return top + 60
    pic = slide.shapes.add_picture(path, Mm(left), Mm(top), Mm(w))
    h_mm = pic.height / Mm(1)
    return top + h_mm
bash
cd poster && python3 generate_pptx.py

Output: poster/poster.pptx

输出:poster/poster.pptx

undefined
undefined

6.2 SVG (for Adobe Illustrator)

7.2 SVG(用于Adobe Illustrator)

Convert the compiled PDF to editable SVG. Preferred method: PyMuPDF (always available via pip, no brew/system install needed):
python
undefined
将编译后的PDF转换为可编辑SVG。推荐方法:PyMuPDF(可通过pip安装,无需brew/系统安装):
python
undefined

Preferred: PyMuPDF (pip install pymupdf) — always works, no system deps

推荐:PyMuPDF(pip install pymupdf)— 始终可用,无系统依赖

python3 -c "import fitz" 2>/dev/null || pip install pymupdf python3 -c " import fitz doc = fitz.open('poster/main.pdf') page = doc[0] svg = page.get_svg_image() with open('poster/poster.svg', 'w') as f: f.write(svg) doc.close() print('SVG saved') "

```bash
python3 -c "import fitz" 2>/dev/null || pip install pymupdf python3 -c " import fitz doc = fitz.open('poster/main.pdf') page = doc[0] svg = page.get_svg_image() with open('poster/poster.svg', 'w') as f: f.write(svg) doc.close() print('SVG已保存') "

```bash

Fallback 1: pdf2svg (if installed)

备选1:pdf2svg(如果已安装)

which pdf2svg && pdf2svg poster/main.pdf poster/poster.svg
which pdf2svg && pdf2svg poster/main.pdf poster/poster.svg

Fallback 2: inkscape

备选2:inkscape

which inkscape && inkscape poster/main.pdf --export-type=svg --export-filename=poster/poster.svg

> ⚠️ **SVG inherits all layout issues from PDF.** If the PDF has whitespace gaps or clipped figures, the SVG will too. Always fix the PDF first.

> 💡 **PyMuPDF bonus**: Can also generate PNG previews for quick visual inspection:
> ```python
> pix = page.get_pixmap(dpi=150)
> pix.save('poster/poster_preview.png')
> ```
which inkscape && inkscape poster/main.pdf --export-type=svg --export-filename=poster/poster.svg

> ⚠️ **SVG会继承PDF的所有布局问题**。如果PDF有空白或裁剪,SVG也会有。始终先修复PDF。

> 💡 **PyMuPDF额外功能**:还可生成PNG预览图用于快速视觉检查:
> ```python
> pix = page.get_pixmap(dpi=150)
> pix.save('poster/poster_preview.png')
> ```

6.3 Component-based PPTX (Recommended — PDF→independent shapes)

7.3 基于组件的PPTX(推荐 — PDF→独立形状)

⚠️ This is the recommended PPTX export method. It produces pixel-perfect output (from PDF) while keeping each poster card as an independent, movable/resizable shape in PowerPoint. The python-pptx rebuild (6.1) loses card styles, shadows, and colorboxes; the full-page image (single PNG) cannot be manipulated at all. This method is the best of both worlds.
How it works: Crop each posterbox region from the compiled PDF at 300 DPI, then embed each crop as a separate picture shape in PPTX at its exact grid position. Result: 10-15 independent shapes that can be individually selected, moved, resized, or deleted in PowerPoint.
python
import fitz, os, tempfile, shutil
from pptx import Presentation
from pptx.util import Mm
from pptx.dml.color import RGBColor

doc = fitz.open('poster/main.pdf')
page = doc[0]
pw, ph = page.rect.width, page.rect.height
⚠️ 这是推荐的PPTX导出方法。它从PDF生成像素级完美的输出,同时在PowerPoint中每个海报卡片都是独立的可移动/调整大小的形状。python-pptx重建(7.1)会丢失卡片样式、阴影和色块;全页图片(单PNG)无法单独操作。此方法兼顾两者的优点。
工作原理:以300 DPI裁剪已编译PDF中的每个海报框区域,然后将每个裁剪图作为独立图片形状嵌入PPTX的精确网格位置。结果:10-15个独立形状,可在PowerPoint中单独选择、移动、调整大小或删除。
python
import fitz, os, tempfile, shutil
from pptx import Presentation
from pptx.util import Mm
from pptx.dml.color import RGBColor

doc = fitz.open('poster/main.pdf')
page = doc[0]
pw, ph = page.rect.width, page.rect.height

A0 dimensions in mm (adjust for portrait/A1)

A0尺寸(毫米)(纵向/A1需调整)

W_mm, H_mm = 1189, 841 # landscape
W_mm, H_mm = 1189, 841 # 横向

W_mm, H_mm = 841, 1189 # portrait

W_mm, H_mm = 841, 1189 # 纵向

def pts_to_mm(x, y): return x / pw * W_mm, y / ph * H_mm
def pts_to_mm(x, y): return x / pw * W_mm, y / ph * H_mm

── Define regions from tcbposter grid ──

── 从tcbposter网格定义区域 ──

Format: name → (col_0based, row_start, col_span, row_end)

格式:名称 → (列索引(从0开始), 起始行, 跨列数, 结束行)

rows=20, columns=4 for landscape (3 for portrait)

横向使用rows=20, columns=4(纵向使用3列)

COLS = 4 row_h = ph / 20 col_w = pw / COLS
regions = { "title": (0, 0, COLS, 4), "stats": (0, 4, COLS, 6), # ... add one entry per posterbox, matching between=rowN and rowM # Example for 4-column landscape: "background": (0, 6, 1, 11), "contributions":(0, 11, 1, 16), "references": (0, 16, 1, 20), "paradigms": (1, 6, 1, 11), "models": (1, 11, 1, 20), "architecture": (2, 6, 1, 10), "results1": (2, 10, 1, 20), "hallucination":(3, 6, 1, 11), "ablation": (3, 11, 1, 15), "takeaways": (3, 15, 1, 20), }
COLS = 4 row_h = ph / 20 col_w = pw / COLS
regions = { "title": (0, 0, COLS, 4), "stats": (0, 4, COLS, 6), # ... 为每个海报框添加条目,匹配between=rowN and rowM # 横向4列示例: "background": (0, 6, 1, 11), "contributions":(0, 11, 1, 16), "references": (0, 16, 1, 20), "paradigms": (1, 6, 1, 11), "models": (1, 11, 1, 20), "architecture": (2, 6, 1, 10), "results1": (2, 10, 1, 20), "hallucination":(3, 6, 1, 11), "ablation": (3, 11, 1, 15), "takeaways": (3, 15, 1, 20), }

── Create PPTX ──

── 创建PPTX ──

prs = Presentation() prs.slide_width = Mm(W_mm) prs.slide_height = Mm(H_mm) slide = prs.slides.add_slide(prs.slide_layouts[6])
prs = Presentation() prs.slide_width = Mm(W_mm) prs.slide_height = Mm(H_mm) slide = prs.slides.add_slide(prs.slide_layouts[6])

Set background

设置背景

bg = slide.background bg.fill.solid() bg.fill.fore_color.rgb = RGBColor(0xF5, 0xF3, 0xFF) # venue bg color
tmpdir = tempfile.mkdtemp() mat = fitz.Matrix(300/72, 300/72) # 300 DPI
for name, (col, r0, span, r1) in regions.items(): # Clip rectangle in PDF points clip = fitz.Rect(col * col_w, r0 * row_h, (col + span) * col_w, r1 * row_h) pix = page.get_pixmap(matrix=mat, clip=clip) img_path = os.path.join(tmpdir, f"{name}.png") pix.save(img_path)
# Position in mm
left, top = pts_to_mm(clip.x0, clip.y0)
right, bottom = pts_to_mm(clip.x1, clip.y1)

slide.shapes.add_picture(img_path, Mm(left), Mm(top),
                         Mm(right - left), Mm(bottom - top))
prs.save('poster/poster_components.pptx') doc.close() shutil.rmtree(tmpdir)

> ⚠️ **The `regions` dict must match your `main.tex` posterbox grid exactly.** Parse the `between=rowN and rowM` values from each `\posterbox` to build this dict. If you add/remove cards in LaTeX, update the regions accordingly.

**Output comparison:**

| File | Method | Components movable | Visual fidelity | Text editable | Size |
|------|--------|:--:|:--:|:--:|----:|
| `poster.pptx` | python-pptx rebuild | Yes | Approximate | Yes | ~300 KB |
| `poster_from_pdf.pptx` | PDF→single image | No | Perfect | No | ~3 MB |
| **`poster_components.pptx`** | **PDF→per-card crops** | **Yes** | **Perfect** | No | ~2.5 MB |

> 💡 **Tip**: To edit text in `poster_components.pptx`, add a text box on top of the card image and type your replacement text. The image underneath can be deleted or kept as reference.
bg = slide.background bg.fill.solid() bg.fill.fore_color.rgb = RGBColor(0xF5, 0xF3, 0xFF) # 会议背景色
tmpdir = tempfile.mkdtemp() mat = fitz.Matrix(300/72, 300/72) # 300 DPI
for name, (col, r0, span, r1) in regions.items(): # PDF中的裁剪矩形(点) clip = fitz.Rect(col * col_w, r0 * row_h, (col + span) * col_w, r1 * row_h) pix = page.get_pixmap(matrix=mat, clip=clip) img_path = os.path.join(tmpdir, f"{name}.png") pix.save(img_path)
# 毫米单位的位置
left, top = pts_to_mm(clip.x0, clip.y0)
right, bottom = pts_to_mm(clip.x1, clip.y1)

slide.shapes.add_picture(img_path, Mm(left), Mm(top),
                         Mm(right - left), Mm(bottom - top))
prs.save('poster/poster_components.pptx') doc.close() shutil.rmtree(tmpdir)

> ⚠️ **`regions`字典必须与`main.tex`的海报框网格完全匹配**。解析每个`\posterbox`的`between=rowN and rowM`值来构建此字典。如果在LaTeX中添加/删除卡片,相应更新regions。

**输出对比**:

| 文件 | 方法 | 组件可移动 | 视觉保真度 | 文本可编辑 | 大小 |
|------|--------|:--:|:--:|:--:|----:|
| `poster.pptx` | python-pptx重建 | 是 | 近似 | 是 | ~300 KB |
| `poster_from_pdf.pptx` | PDF→单张图片 | 否 | 完美 | 否 | ~3 MB |
| **`poster_components.pptx`** | **PDF→按卡片裁剪** | **是** | **完美** | 否 | ~2.5 MB |

> 💡 **提示**:要在`poster_components.pptx`中编辑文本,在卡片图片上方添加文本框,输入替换文本。可保留或删除下方的图片作为参考。

Phase 8: Poster Speech Script

阶段8:海报演讲脚本

Generate
poster/POSTER_SPEECH.md
— a complete script for presenting the poster at a poster session.
Structure:
markdown
undefined
生成
poster/POSTER_SPEECH.md
— 用于会议海报展示的完整脚本。
结构
markdown
undefined

Poster Presentation Script

海报展示脚本

Paper: [title] Venue: [VENUE] [YEAR] Estimated time: 2-3 minutes (quick walkthrough)
论文:[标题] 会议:[VENUE] [年份] 预估时间:2-3分钟(快速讲解)

Opening (15 seconds)

开场(15秒)

"Hi, thanks for stopping by! Let me give you a quick overview of our work..."
"您好,感谢您驻足!让我快速介绍一下我们的工作..."

Motivation (30 seconds)

动机(30秒)

[2-3 sentences explaining the problem and why it matters]
[2-3句话解释问题及其重要性]

Method (45 seconds)

方法(45秒)

[3-4 sentences walking through the hero figure and key approach]
[3-4句话讲解核心图表和关键方法]

Key Results (30 seconds)

关键结果(30秒)

[2-3 sentences highlighting headline numbers from figures]
[2-3句话突出图表中的核心数据]

Takeaway (15 seconds)

结论(15秒)

[1-2 sentences summarizing the contribution]
[1-2句话总结研究贡献]

Closing

结尾

"Happy to discuss any questions! Here's a QR code for the paper and code."

"欢迎提问!这里有论文和代码的二维码。"

Anticipated Q&A

预期问答

Q1-Q5: [Most likely questions + suggested answers]

Q1-Q5:[最可能的问题 + 建议回答]

undefined
undefined

Final Output Summary

最终输出总结

📋 Poster generation complete:
- Type: [VENUE] poster ([POSTER_SIZE] [ORIENTATION])
- Files:
  poster/
  ├── main.tex                # LaTeX source (editable)
  ├── main.pdf                # Print-ready PDF (primary output)
  ├── poster_components.pptx  # PPTX with per-card movable shapes (recommended)
  ├── poster.pptx             # PPTX with editable text (approximate layout)
  ├── poster.svg              # Editable SVG (for Illustrator)
  ├── POSTER_CONTENT_PLAN.md
  ├── POSTER_REVIEW.md
  ├── POSTER_VISUAL_REVIEW.md
  ├── POSTER_SPEECH.md
  ├── POSTER_STATE.json
  ├── generate_pptx.py
  └── figures/                # PDF + PNG copies

Next steps:
1. Use poster_components.pptx for layout tweaks (move/resize cards)
2. Use poster.svg for fine vector editing in Illustrator
3. Practice with POSTER_SPEECH.md (target: 2-3 min walkthrough)
4. Print at A0 (300 DPI recommended)
📋 海报生成完成:
- 类型:[VENUE]海报([POSTER_SIZE] [ORIENTATION])
- 文件:
  poster/
  ├── main.tex                # LaTeX源码(可编辑)
  ├── main.pdf                # 可印刷PDF(主要输出)
  ├── poster_components.pptx  # 含可移动卡片的PPTX(推荐)
  ├── poster.pptx             # 含可编辑文本的PPTX(近似布局)
  ├── poster.svg              # 可编辑SVG(用于Illustrator)
  ├── POSTER_CONTENT_PLAN.md
  ├── POSTER_REVIEW.md
  ├── POSTER_VISUAL_REVIEW.md
  ├── POSTER_SPEECH.md
  ├── POSTER_STATE.json
  ├── generate_pptx.py
  └── figures/                # PDF + PNG副本

后续步骤:
1. 使用poster_components.pptx调整布局(移动/调整卡片大小)
2. 使用poster.svg在Illustrator中进行精细矢量编辑
3. 使用POSTER_SPEECH.md练习(目标:2-3分钟讲解)
4. 以A0尺寸印刷(推荐300 DPI)

Key Rules

关键规则

Architecture

架构

  • MUST use article class, NEVER beamer. Beamer + tcbposter with 8+ enhanced boxes triggers
    grouping levels=255
    overflow. This is an architectural constraint, not fixable by style tweaks.
  • NEVER use adjustbox package. Use plain
    \includegraphics[width=...]
    only.
  • NEVER use
    \usepackage[most]{tcolorbox}
    .
    It pulls
    listingsutf8.sty
    which may not be installed. Use
    \tcbuselibrary{poster,skins,fitting}
    explicitly.
  • Use
    [table]{xcolor}
    not
    {xcolor}
    — needed for
    \rowcolor
    in tables.
  • 必须使用article类,绝对不能用beamer。 beamer + tcbposter + 8个以上enhanced框会触发
    grouping levels=255
    溢出。这是架构限制,无法通过修改样式修复。
  • 绝对不要使用adjustbox包。 仅使用纯
    \includegraphics[width=...]
  • 绝对不要使用
    \usepackage[most]{tcolorbox}
    。它会引入
    listingsutf8.sty
    ,该文件可能未安装。显式使用
    \tcbuselibrary{poster,skins,fitting}
  • 使用
    [table]{xcolor}
    而非
    {xcolor}
    — 表格中使用
    \rowcolor
    需要此配置。

Layout

布局

  • rows=20
    and
    spacing=0mm
    for tight layout. Card separation via left accent stripe + drop shadow, not grid spacing.
  • Use
    between=rowN and rowM
    positioning.
    Not
    below=name
    which leaves auto-sized gaps.
  • All columns in a row band share identical row boundaries. Never mix
    row6-row11
    in col 1 with
    row6-row10
    in col 2.
  • Adjust row distribution to match content density. After trimming text, reduce row allocation proportionally. Cards with
    valign=top
    show all whitespace at the bottom.
  • rows=20
    spacing=0mm
    实现紧凑布局。卡片分隔通过左侧强调条纹 + 投影实现,而非网格间距。
  • 使用
    between=rowN and rowM
    定位
    。不要用
    below=name
    ,它会让tcolorbox自动布局,通常会留下不必要的空白。
  • 每个行区块中的所有列共享相同的行边界。绝不要在一列中使用
    row6 to row11
    ,而在另一列中使用
    row6 to row10
    — 这会导致视觉错位。
  • 根据内容密度调整行分配。删减文本后,按比例减少行分配。
    valign=top
    的卡片会在底部显示空白。

Content

内容

  • Less text is more. Target 300-500 words total. Each bullet: 5-8 words max. If it reads like a sentence, it's too long.
  • Do NOT fabricate data. All numbers must come from
    paper/sections/*.tex
    .
  • No abstract paragraph. Replace with stat banner (3-4 big-number callout boxes).
  • Figures should occupy 40-50% of poster area. Posters are visual-first.
  • Use
    \posterfig
    macro
    for all figures to ensure consistent spacing.
  • References: author (year). Short title. Venue — no full titles.
  • De-AI polish: Remove watch words (delve, pivotal, underscore, noteworthy, leverage, facilitate, harness).
  • 文本越少越好。总目标300-500词。每个项目符号最多5-8词。如果像句子,说明文本过多。
  • 不要虚构数据。所有数字必须来自
    paper/sections/*.tex
  • 不要放摘要段落。替换为统计横幅:3-4个大数字标注框展示核心结果。
  • 图表应占海报区域的40-50%。海报以视觉优先。
  • 所有图表使用
    \posterfig
    ,确保间距一致。
  • 参考文献格式:作者(年份)。短标题。会议 — 不要用完整标题。
  • 去AI化润色:删除套话(深入研究、关键、强调、值得注意、利用、促进、驾驭)。

Color & Design

配色与设计

  • Card backgrounds must NOT be pure white. Use subtle tints (e.g.,
    #FFF5F3
    ,
    #F0F4FF
    ) that match each card's color family.
  • Poster background should be tinted (e.g.,
    #EDD5D5
    for ICML red theme), not white or near-white.
  • Colorbox intensity: 18-25%, not 8-12%. Faint colorboxes are invisible on print.
  • Left accent stripe card design (
    borderline west={5pt}{0pt}{color}
    ) — cleaner than rounded colored boxes.
  • 4 card styles (redcard/bluecard/darkcard/highlightcard) create visual rhythm across the poster.
  • 卡片背景绝对不能是纯白色。使用与卡片色系匹配的淡色调(例如
    #FFF5F3
    #F0F4FF
    )。
  • 海报背景应使用淡色调(例如ICML红色主题用
    #EDD5D5
    ),不要用白色或近白色。
  • 色块强度:18-25%,不要用8-12%。淡色块印刷后看不见。
  • 左侧强调条纹卡片设计
    borderline west={5pt}{0pt}{color}
    ) — 比带颜色的圆角框更简洁。
  • 4种卡片样式(redcard/bluecard/darkcard/highlightcard)在海报上营造视觉节奏。

Equations

公式

  • Use
    $\displaystyle ...$
    inside colorboxes
    , NOT
    \[...\]
    . Display math adds margins causing overfull hbox.
  • Reduce equation font to 26-28pt inside narrow colorboxes.
  • Wrap equations in
    \centering
    +
    \parbox{0.92\linewidth}
    for proper alignment.
  • 色块内使用
    $\displaystyle ...$
    ,不要用
    \[...\]
    。显示公式会增加边距,导致hbox溢出。
  • 窄色块中的公式字体缩小到26-28pt
  • 公式包裹在
    \centering
    +
    \parbox{0.92\linewidth}
    ,确保对齐正确。

Export

导出

  • Copy figures, never symlink.
    cp
    not
    ln -sf
    . pdflatex can't follow symlinks.
  • Convert PDF figures to PNG for PPTX. python-pptx cannot embed PDFs. Use
    pdf2image
    at 300 DPI.
  • SVG via PyMuPDF (
    fitz.Page.get_svg_image()
    ) — works everywhere, no system deps needed.
  • PPTX/SVG last. Generate editable exports only after ALL LaTeX revisions are finalized.
  • Large file handling: If the Write tool fails due to file size, use Bash (
    cat << 'EOF' > file
    ) silently.
  • 复制图表,不要用符号链接。用
    cp
    不要用
    ln -sf
    。pdflatex无法跟随符号链接。
  • 将PDF图表转换为PNG用于PPTX。python-pptx无法嵌入PDF。使用
    pdf2image
    生成300 DPI的PNG。
  • 通过PyMuPDF生成SVG
    fitz.Page.get_svg_image()
    ) — 所有环境都可用,无系统依赖。
  • 最后生成PPTX/SVG。仅在所有LaTeX修订完成后生成可编辑导出文件。
  • 大文件处理:如果Write工具因文件大小失败,使用Bash静默写入(
    cat << 'EOF' > file
    )。

Misc

其他

  • Do NOT hallucinate citations. Use only references from the paper's bibliography.
  • Include QR code placeholder or code link for paper/code repository.
  • Font size minimums (article class): Title ≥84pt, section headers ≥40pt, body ≥34pt, captions ≥26pt, references ≥30pt, stat numbers ≥66pt.
  • Feishu notifications are optional. If
    ~/.claude/feishu.json
    exists, send notifications. Otherwise skip.
  • 不要虚构引用。仅使用论文参考文献中的引用。
  • 添加二维码占位符或论文/代码仓库的链接。
  • 字体大小最小值(article类):标题≥84pt,章节标题≥40pt,正文≥34pt,标题≥26pt,参考文献≥30pt,统计数字≥66pt。
  • 飞书通知可选。如果
    ~/.claude/feishu.json
    存在,发送通知。否则跳过。

Parameter Pass-Through

参数传递

Parameters can be passed inline with
separator:
/paper-poster "paper/" — venue: CVPR, size: A1, orientation: portrait, columns: 3
ParameterDefaultDescription
venue
NeurIPSConference for color scheme
size
A0Paper size (A0/A1)
orientation
landscapelandscape/portrait
columns
4Number of content columns
engine
pdflatexLaTeX engine (pdflatex/xelatex)
auto proceed
falseSkip checkpoints
参数可通过
分隔符内联传递:
/paper-poster "paper/" — venue: CVPR, size: A1, orientation: portrait, columns: 3
参数默认值描述
venue
NeurIPS配色方案对应的会议
size
A0纸张尺寸(A0/A1)
orientation
landscape横向/纵向
columns
4内容列数
engine
pdflatexLaTeX引擎(pdflatex/xelatex)
auto proceed
false跳过检查点