Community图像github.com

D3 学术海报 (会议/科研)

使用 D3 (Data Driven Decisions) 品牌和维尔茨堡大学企业设计,创建专业的 A0 纵向研究海报。基于 baposter 类,用于制作可打印的学术海报。

科研) 是什么?

该技能用于生成符合 D3 (Data Driven Decisions) 团队和维尔茨堡大学 2026 年企业设计规范的 A0 纵向研究海报。它基于 `baposter` LaTeX 类,并提供了一个轻量级的 `d3-poster.sty` 包装,该包装处理了大学海报模板的所有视觉元素,包括深蓝色页眉、大学 logo、标题、作者、灰色分区栏、页脚 logo 行和参考文献槽。该技能自动化了项目设置,包括检测相关的论文仓库(子模块或文件夹)并创建包含 `drafts/` 和 `final/` 目录的标准化文件夹结构。每个目录都包含独立上传到 Overleaf 所需的全部文件。它提供了一个结构化的文档模板,包含预定义的盒子 (`\headerbox`)、宏 (`\highlight`, `\keypoint`, `\infobox`) 以及一个默认的两列网格布局,支持在需要时切换到三列。该技能包括一套渐进式披露的参考文件,用于处理内容提取 (`references/extraction.md`)、TikZ 绘图 (`references/tikz-recipes.md`)、编译错误 (`references/error-handling.md`) 和同行评审流程 (`references/dual-agent-review.md`)。它支持 XeLaTeX/LuaLaTeX 编译以获得正确的字体,并回退到 pdfLaTeX。通过将 `\dthreereferences` 宏用于页脚中的简短引用列表,避免了拥挤的参考文献框,从而保持了大学模板的美观性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/d3group/d3-skills/tree/HEAD/skills/d3-poster

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

D3 海报 (会议/研究)

<skill-dir> 在这个技能中指的是技能自身的基础目录,当技能加载时 Claude Code 会显示该路径(作为插件安装:${CLAUDE_PLUGIN_ROOT}/skills/d3-poster;手动复制:~/.claude/skills/d3-poster)。在每条命令中替换为实际路径。<wording-dir> 指的是 <skill-dir>/../d3-scientific-wording,这是每个 D3 插件都附带的共享措辞技能。

使用 D3 (数据驱动决策) 和维尔茨堡大学 2026 年企业设计规范,创建专业的 A0 纵向研究海报。基于 baposter 类的网格布局,通过一个轻量级的 D3 重新设计 (d3-poster.sty) 来绘制大学海报模板的框架(深蓝色页眉框,带有白色大学 logo、白色标题和作者以及蓝色印章;灰色分区栏,带有深蓝色文字;具有深蓝色分隔线的页脚,D3 logo 居首的 logo 行以及一个参考文献槽),设置 D3 调色板(大学深蓝色,D3 橙色强调色),并移植了 d3-abstract 中的 \highlight / \keypoint / infobox / card 宏。使用 XeLaTeX 或 LuaLaTeX 编译以使用大学字体 Inclusive Sans UW;回退到 pdfLaTeX 并带有 Helvetica 克隆字体。

页眉中的印章是一个临时选择:大学的 CD 手册在教学和主席交流中将其替换为院系装饰图案,而该院系包尚未发布。一旦发布,请替换 uw-seal-blue.pdf。

参考文件(按需加载)

下面的技能主体是工作流程;较长的参考资料位于 references/ 中。当某个主题出现时,加载对应的参考文件:

文件何时加载
references/extraction.md即将从论文(任何层级)中提取内容时。包含按层级划分的提取命令、PDF 图形提取(优先矢量)、低分辨率光栅协议、磁盘格式优先级、架构图访谈。
references/tikz-recipes.md即将用 TikZ 从头绘制图形时。包含 4 个已验证编译的食谱(框图、流程图、分层架构、比较图)以及通用 TikZ 规则。
references/error-handling.md遇到编译错误或可见渲染错误时。包含 8 个已知问题(缺少类、缺少字体、siunitx \d 冲突、页眉渐变而非实心填充、Calibri 错误、静默裁剪、消失的希腊字母或符号、标题块设置过小)。
references/dual-agent-review.md审核深度为 standard 或 full 时(见审核部分)。包含审稿人提示、full 的迭代循环(最多 4 轮)、分数到 README 的协议。
references/macros-and-styling.md编写海报正文时需要确认宏名称、颜色值、字体大小、表格规范时。

模板文件和资源

<skill-dir>/
├── SKILL.md                    # 本文件
├── baposter.cls                # 类文件(复制到每个项目的 drafts/ 目录)
├── example-poster.tex          # 参考示例 -- 不要复制到用户项目中
├── references/                 # 渐进式披露参考文件(见上表)
└── assets/                     # 整个文件夹将被复制到用户项目中
    ├── d3-poster.sty
    ├── logos/                  # uw-logo-white.pdf, uw-logo-navy.pdf, uw-seal-blue.pdf, logo-d3.pdf, DataDrivenDecisions.png
    └── fonts/                  # InclusiveSansUW-{Regular,Italic,Medium,SemiBold,Bold}.ttf, OFL-InclusiveSansUW.txt

两条放置规则:

  1. baposter.cls 位于技能根目录,而不是 assets/ 下。\documentclass 无法可靠地接受路径前缀,因此类文件必须在编译时与 .tex 文件同级。
  2. example-poster.tex 位于技能根目录,而不是 assets/ 内部。切勿将其复制到用户项目中。 它是一个参考文件,当你需要记住模式时阅读。如果你整体复制 assets/,你不会复制 example-poster.tex——这正好是正确的,因为将其与用户的 poster.tex 一起发布会混淆 Overleaf 的“主要文档”选择器,并留下一个过时的 example-poster.pdf。用户的项目应包含一个 .tex 文件,其文件名与编译出的 .pdf 文件一致。

项目设置(保存位置 + 文件夹结构)

保存位置优先级

海报通常与一篇论文相关联。保存位置决定了协作者在本地 LaTeX 不可用时是否能在 Overleaf 上编译。在创建任何文件之前确定保存位置:

  1. 检测到论文子模块 → <submodule>/poster/。如果 .gitmodules 列出了包含论文的子模块(路径类似于 paper/、manuscript/、overleaf/,或任何内容包含 \title{} + \begin{abstract} .tex 文件的子模块),则保存到该子模块内。实验室惯例:论文子模块存在于 GitHub 上,对应的 Overleaf 项目通过 Overleaf 的 GitHub 同步功能同步——远程仓库将是 github.com/...,而不是 git.overleaf.com。
  2. 没有子模块但存在论文文件夹 → <paper-folder>/poster/。仍然放在论文文件夹下。
  3. 回退 → ./poster/ 在当前工作目录的根目录。

检测命令:

test -f .gitmodules && git submodule status
for sm in $(git config --file .gitmodules --get-regexp path 2>/dev/null | awk '{print $2}'); do
  find "$sm" -maxdepth 3 -name "*.tex" -exec grep -l "\\\\begin{abstract}" {} \; 2>/dev/null
done

在创建文件前打印并与用户确认:

[HH:MM:SS] 保存位置: <选择路径>/poster/
  原因: [论文子模块位于 paper/ (托管在 GitHub,与 Overleaf 同步) | paper/ 文件夹存在 | 仓库根目录回退]
  可在 Overleaf 上访问? [yes -- 推送子模块到 GitHub,Overleaf 将同步 | no -- 仅限本地编译]

文件夹结构

<保存目标>/poster/
├── progress.md
├── SUMMARY.md
├── drafts/
│   ├── baposter.cls            # 从技能复制(与 poster.tex 同级)
│   ├── assets/                 # 从技能复制(d3-poster.sty, logos, fonts)
│   ├── figures/                # 可选:海报专用图形
│   ├── poster.tex              # 唯一的工作文件(通过 git 进行版本管理)
│   ├── poster.pdf              # 始终与 .tex 文件同名
│   └── revision_notes.md
└── final/
    ├── baposter.cls            # 为独立上传到 Overleaf 而复制
    ├── assets/                 # 为独立上传到 Overleaf 而复制
    ├── poster.tex              # 与 drafts/ 中的文件名相同 -- 文件名不变
    ├── poster.pdf
    └── README.md               # 日期、标题、会议、审核分数

设置命令:

POSTER_DIR=<已解析路径>/poster
mkdir -p "$POSTER_DIR/drafts" "$POSTER_DIR/final"
cp    <skill-dir>/baposter.cls "$POSTER_DIR/drafts/baposter.cls"
cp -r <skill-dir>/assets       "$POSTER_DIR/drafts/assets"
# 不要复制 example-poster.tex -- 它保留在技能根目录。

命名规则(对 Overleaf 至关重要): 工作文件始终是 poster.tex,生成 poster.pdf。文件名一致。版本控制使用 git,而不是文件名前缀——不要使用 v1_poster.tex,不要使用 YYYYMMDD_title.tex。此技能的早期版本曾使用此类前缀;实际上,这混淆了 Overleaf 的上传(用户会将 v2_poster.tex 设为主文档,但旁边缓存的 v1_poster.pdf 使人不清楚哪个是真正的输出)。

为什么要在 drafts/ 和 final/ 中都复制 baposter.cls + assets/? 每个副本约 1 MB,但这保证了每个文件夹可以独立上传到 Overleaf——打开 final/ 的协作者不需要 drafts/ 中的任何内容。

文档框架

每张海报必须以此结构开始:

%! TEX program = xelatex
\documentclass[a0paper]{baposter}

\usepackage{relsize}
\usepackage{url}
\usepackage{multicol}
\usepackage{amsmath,amssymb}
\usepackage{natbib}
\usepackage{graphicx}

\usepackage{assets/d3-poster}   % D3 重新设计:颜色、字体、宏

\DeclareMathOperator*{\argmin}{arg\,min}
\renewcommand{\vec}[1]{\boldsymbol{#1}}   % 可选:粗体数学向量

\begin{document}

\begin{poster}{
  columns=2,                     % 默认 2 列。仅在内容确实需要时才使用 3 列。
  grid=false,
  eyecatcher=false,
  % 来自 d3-poster.sty 的大学框架:25 毫米边距,深蓝色页眉框,
  % 带有 logo 行和参考文献的页脚。这两个长度适合模板。
  headerheight=\dthreeheaderheight,
  colspacing=\dthreecolspacing,
  background=plain,
  bgColorOne=white,
  bgColorTwo=white,
  % 分区栏:#ECECEC 配深蓝色 SemiBold 文字。对于单个框,
  % 键 `emphasis` 提供矢车菊蓝栏和白色文字。
  borderColor=d3-headergray,
  headerColorOne=d3-headergray,
  headerColorTwo=d3-headergray,
  headerFontColor=d3-navy,
  headerfont=\dthreesectionfont,
  headershape=rectangle,
  headershade=plain,             % 纯色 headerColorOne 填充;baposter 的默认 `shadeLR` 是
                                 % 渐变色。见 references/error-handling.md #4。
  headerborder=none,
  boxColorOne=white,
  boxshade=plain,
  boxpadding=0.6em,
  textborder=none
}
%%% 眼图(空;大学 logo 占据此位置)%%%
{}
%%% 标题 -- 纯文本;在深蓝色页眉框中设置为白色加粗。默认无副标题。
{您的海报标题}
%%% 作者 -- 单行,白色,位于标题下方。
{作者姓名, Data Driven Decisions 团队\enspace|\enspace [email protected]}
%%% 页脚 logo 行:前两个单元格放置 D3 logo
{\dthreelogos}

%%% 动机(第 0 列,第 0 行)
\headerbox{动机}{name=Motivation,column=0,row=0}{
  引导段落:为什么这项工作重要,有什么新意,关键指标。
  在关键术语上少量使用 \highlight{}。
}

%%% 问题(第 0 列,填充到底部)
\headerbox{问题}{name=Problem,column=0,below=Motivation,above=bottom}{
  形式化问题设定。领域相关的数学表达。
  \keypoint{一句话要点总结。}
}

%%% 方法(第 1 列,顶部)
\headerbox{方法}{name=Approach,column=1,row=0}{
  方法论。以方法概述图结束(无需标题——在正文中描述)。
}

%%% 结果(第 1 列,填充到底部)
\headerbox{实证结果}{name=Results,column=1,below=Approach,above=bottom}{
  包含指标的信息框 + 一个 booktabs 比较表格。
}

%%% 文献 -- 页脚参考文献槽(3 条参考文献,无独立框)
\dthreereferences{
  作者1 (年份, \textit{会议/期刊}); 作者2 (年份, \textit{会议/期刊}); 作者3 (年份, \textit{会议/期刊}).
}

\end{poster}
\end{document}

关键: 使用 \usepackage{assets/d3-poster}(带 assets/ 前缀)——包装器期望从项目根目录加载,该根目录下需要有 assets/d3-poster.sty 和一个同级的 baposter.cls。

d3-poster.sty 绘制的内容(来自大学的 A0 海报模板;几何尺寸随纸张缩放,因此 A1 和其他尺寸保持比例):

  • 25 毫米边距。贯穿全宽的深蓝色页眉框,高 119 毫米,左上角为白色大学 logo,标题(白色加粗,A0 上为 50 pt,与模板一致)和作者(白色,34 pt)位于模板的文本区域,蓝色印章与框的右边缘和底部边缘齐平。
  • 分区栏高约 24 毫米:#ECECEC 配深蓝色 SemiBold 文字。在框的键中添加 emphasis 可切换为模板的第二种样式,即矢车菊蓝栏配白色文字。
  • 列下方的页脚:一条深蓝色分隔线;左侧是一个 72 × 39 毫米的 logo 行单元格,由 \begin{poster} 的第 5 个参数填充(\dthreelogos = D3 logo 横跨前两个单元格,高约 30 毫米;\dthreelogocell{file.pdf} 可添加合作伙伴 logo,最多三个);右侧是参考文献槽(\dthreereferences{...})。
  • 早期的海报仍可编译:它们的选项块保留旧的栏外观,页眉和页脚无论如何都会被绘制,并且 \dthreelogos 现在填充页脚的 logo 行而不是页眉。

盒子定位、列数、标题

列数 — 默认 2 列,仅在需要时使用 3 列

默认使用 columns=2。仅在以下情况下使用 columns=3:

  • 论文有 5 个以上真正不同的内容部分且无法合并(罕见)
  • 用户为需要它的会议明确要求这样做

在每种布局中,将文献放入页脚的参考文献槽,使用 \dthreereferences{...}(一个简短的列表,例如“作者1 (年份, 会议); 作者2 (年份, 会议); ...”),而不是放入一个盒子中。大学模板将页脚的右半部分用于此目的,并且这样可以避免在 A0 纵向布局下三列通常会产生拥挤的文献框。适合 3-5 条短参考文献;较长的块会被设置得更小,日志中会说明。

默认两列网格

+-----------------------------------------------+
| [大学 logo] 标题, 作者 (白色)         [印章]  | 深蓝色页眉框
+-----------------------+-----------------------+
| 动机                  | 方法                  |
| (第 0 列, 顶部)       | (第 1 列, 顶部)      |
+-----------------------+-----------------------+
| 问题                  | 实证结果              |
| (第 0 列, 填充到      | (第 1 列, 填充到      |
|  底部)                |  底部)                |
+-----------------------+-----------------------+
| -------------------- 深蓝色分隔线 ----------- |
| [D3 logo] [合作伙伴]   | 参考文献             | 页脚
+-----------------------+-----------------------+

三列变体(罕见)

+---------------+---------------+---------------+
| 动机          | 方法          | 实证          |
| (第 0 列)     | (第 1 列,    | 结果          |
+---------------+  全高)        | (第 2 列,     |
| 问题          |               |  全高)        |
| (第 0 列)     |               |               |
+---------------+---------------+---------------+
| 页脚: logo 行 (D3 居首)       | 参考文献     |
+---------------+---------------+---------------+

\headerbox 键

键用途示例
name=X用于交叉引用的唯一标识符name=Motivation
column=N从 0 开始的列索引column=0
row=N从顶部开始的 0 基行索引row=0
below=Y直接位于盒子 Y 下方below=Motivation
above=bottom拉伸至页面底部above=bottom
height=1填充整个列的高度在双列布局中很少需要
span=方向跨越网格中的列(方向=1,2,3...)用于跨列标题部分

内容提取(渐进式披露)

海报的内容通常来自一篇论文。提取的层级(由用户确定)决定了流程的深度:

  • 快速(无提取):手动选择要点,无自动内容解析。
  • 标准:从论文 .tex 文件中提取文本,但使用引用材料中的现有图形。
  • 完整:提取所有内容,包括从 PDF 中提取图形。

有关详细的提取命令和图形处理,请在到达该步骤时加载 references/extraction.md。

标准提取流程(最常见)

# 假设论文在 paper/ 目录中
# 1. 定位主 .tex 文件(通常在 paper/main.tex 或 paper/paper.tex)
PAPER_TEX=$(find paper/ -maxdepth 2 -name "*.tex" -exec grep -l "\\begin{document}" {} \; | head -n1)

# 2. 提取抽象/引言部分以获取关键信息
grep -A20 "\\begin{abstract}" "$PAPER_TEX" | head -25

# 3. 找到章节标题以制作海报的骨骼结构
grep -E "\\section\{|\\subsection\{" "$PAPER_TEX"

# 4. 查找关键图形和表格
# 找到图形引用:
grep -E "includegraphics|\\begin{figure}" "$PAPER_TEX"
# 找到表格引用:
grep -E "\\begin{table}|\\begin{tabular}" "$PAPER_TEX"

# 5. 提取参考书目以填充页脚参考文献槽
grep -E "\\cite\{|\\bibitem" "$PAPER_TEX"

完整提取流程(深入)

对于更复杂的工作,加载 references/extraction.md。它包含:

  • 按层级划分的命令(快速、标准、完整)
  • PDF 图形提取(优先矢量)
  • 低分辨率光栅协议
  • 磁盘格式优先级
  • 架构图访谈提示

使用 TikZ 绘制图形

当需要从原始数据或架构模式创建自定义图形时,加载 references/tikz-recipes.md。该文件包含:

  1. 框图食谱:用于说明流程或组件交互的理想选择。
  2. 流程图食谱:用于表示流程、流水线或算法步骤。
  3. 分层架构食谱:用于软件系统、神经网络架构或抽象层。
  4. 比较图食谱:用于并排对比方法或结果。

每个食谱都附带一个完整的 LaTeX 代码块,该代码块已通过编译验证。

海报的宏和样式

d3-poster.sty 包提供了几个宏,以保持整个技能的一致设计和功能:

宏用途示例
\highlight{文字}用 D3 橙色强调色突出显示关键术语\highlight{重要发现}
\keypoint{文字}以带边框的要点框标记主要结论\keypoint{主要贡献}
\infobox{标题}{内容}创建包含指标或副结果的信息框\infobox{准确性}{98.5\%}
\card{标题}{内容}创建一个内容卡片(用于布局分组)\card{方法}{描述}
\dthreelogos在页脚中插入 D3 和合作伙伴 logo 行{\dthreelogos}
\dthreelogocell{file.pdf}在 logo 行中添加合作伙伴 logo\dthreelogocell{partner-logo.pdf}
\dthreereferences{...}在页脚部分设置参考文献列表\dthreereferences{作者1...; 作者2...}
\dthreeheaderheight页眉框的高度(根据模板预设)用于 headerheight 键
\dthreecolspacing列间距(根据模板预设)用于 colspacing 键
\dthreesectionfont分区栏标题的字体样式用于 headerfont 键

有关详细的配置参数(颜色值、字体大小、表格约定),请在编写海报正文时加载 references/macros-and-styling.md。

编译和错误处理

编译命令:

# 在 drafts/ 目录内编译
cd <海报目录>/drafts

# 使用 xelatex(推荐,用于完整的字体支持)
xelatex poster.tex
xelatex poster.tex  # 两次编译确保交叉引用正确

# 或者使用 lualatex
lualatex poster.tex
lualatex poster.tex

# 如果包括参考文献
bibtex poster.aux
xelatex poster.tex
xelatex poster.tex

已知问题

遇到编译错误时,加载 references/error-handling.md。常见问题包括:

  1. 缺少类文件:确保 baposter.cls 与 poster.tex 同级。
  2. 缺少字体:assets/fonts/ 必须存在于编译目录中。
  3. siunitx \d 冲突:在 \usepackage{siunitx} 之后为宏添加 \providecommand。
  4. 页眉渐变而非纯色:将 headershade=shadeLR 改为 headershade=plain。
  5. Calibri 错误:系统字体缺失;回退到包中包含的 InclusiveSansUW 字体。
  6. 静默裁剪:检查列是否对齐到网格。
  7. 消失的希腊字母或符号:确保包含 amsmath 和 amssymb。
  8. 标题块过小:检查 headerheight 是否设置为 \dthreeheaderheight。

审核流程

对于合作项目,此技能包含一个可选的同行审核流程。审核深度可以是 standard 或 full。

标准审核

  • 检查布局一致性(列、边距、字体)。
  • 验证内容结构(章节是否按逻辑顺序排列)。
  • 识别缺失的元素(参考文献、图形、关键指标)。

完整审核

  • 模拟审稿人的评估(基于标准论文审核标准)。
  • 对清晰度、影响力和视觉设计进行评分。
  • 迭代改进(最多 4 轮)。

发起审核时,加载 references/dual-agent-review.md。

审核完成后,标准协议是将评分和反馈记录在 README.md 文件中,位于 final/ 目录内。

版本历史记录

此文档追踪了海报创建技能的重大变更。

版本日期变更描述
1.02024-05-15初始版本。基于 baposter 的 D3 海报创建技能。
1.12024-08-20增加字体回退处理。添加了 d3-poster.sty。
1.22025-01-10修复了 Overleaf 的命名规则。标准化了文件夹结构。

有关更多详细信息或问题,请咨询 D3 技能库或联系 D3 团队。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能