Community이미지github.com

D3 포스터 (컨퍼런스 / 연구)

D3(Data Driven Decisions) 브랜드가 적용된 컨퍼런스 포스터(A0 세로, baposter 그리드)를 생성합니다. 논문 저장소에서 초록, 섹션, 그림, 표, 참고문헌을 추출하여 포스터를 구성하고, 바울트 지식이나 NotebookLM 문헌을 보강하는 데 사용합니다.

연구)란 무엇인가요?

이 스킬은 D3(Data Driven Decisions) 그룹과 뷔르츠부르크 대학교의 2026년 코퍼레이트 디자인을 반영한 전문적인 A0 세로 연구 포스터를 생성합니다. `baposter` 클래스를 기반으로 하며, `d3-poster.sty`로 얇은 D3 리스킨을 적용하여 대학 포스터 템플릿의 프레임(네이비 헤더 박스, 흰색 로고 및 제목, 회색 섹션 바, 네이비 규칙이 있는 푸터, D3 로고 행, 참고문헌 슬롯)을 그리고, D3 팔레트(대학 네이비, D3 오렌지 악센트)를 설정하며, `\\highlight` / `\\(backslash)keypoint` / `infobox` / `card` 매크로를 포팅합니다. XeLaTeX 또는 LuaLaTeX로 컴파일되며 하우스 폰트 Inclusive Sans UW를 사용하고, pdfLaTeX로 대체 컴파일됩니다. 논문 저장소에서 초록, 섹션, 그림, 표, 참고문헌을 자동으로 추출하여 포스터를 구성하고, 바울트 지식 검색이나 NotebookLM 문헌을 보강할 수 있습니다. Claude Code, Cursor 등의 AI 에이전트에서 사용되며, 연구 포스터, 컨퍼런스 포스터, A0 포스터, baposter 관련 작업을 트리거로 인식합니다.

지원 대상✓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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

연구)은(는) 무엇을 하나요?

<skill-dir> 이 스킬에서 스킬 자체의 기본 디렉토리를 의미합니다. Claude Code가 스킬을 로드할 때 이 경로를 표시합니다(플러그인으로 설치된 경우: ${CLAUDE_PLUGIN_ROOT}/skills/d3-poster, 수동으로 복사된 경우: ~/.claude/skills/d3-poster). 모든 명령에서 실제 경로로 바꾸세요. <wording-dir>은 <skill-dir>/../d3-scientific-wording을 의미하며, 모든 D3 플러그인에 포함된 공유 워딩 스킬입니다.

D3(Data Driven Decisions) 및 뷔르츠부르크 대학교의 2026년 코퍼레이트 디자인을 적용한 전문적인 A0 세로 연구 포스터를 만듭니다. baposter 클래스를 기반으로 그리드 레이아웃을 구성하며, 얇은 D3 리스킨(d3-poster.sty)을 적용하여 대학 포스터 템플릿의 프레임(네이비 헤더 박스, 흰색 대학 로고, 흰색 제목 및 저자, 파란색 인장; 회색 섹션 바에 네이비 텍스트; 네이비 규칙, D3 로고가 먼저 배치된 로고 행, 참고문헌 슬롯이 있는 푸터)을 그리고, D3 팔레트(대학 네이비, D3 오렌지 악센트)를 설정하며, d3-abstract의 \highlight / \keypoint / infobox / card 매크로를 포팅합니다. XeLaTeX 또는 LuaLaTeX로 컴파일되어 하우스 폰트 Inclusive Sans UW를 사용하며, Helvetica 클론과 함께 pdfLaTeX로 대체 컴파일됩니다.

헤더의 인장은 임시 선택입니다. 대학 CD 책자는 학과 및 교실 커뮤니케이션에서 인장을 학과 장식으로 대체하며, 해당 학과 패키지는 아직 출시되지 않았습니다. 출시되면 uw-seal-blue.pdf를 교체하세요.

참조 파일 (요청 시 로드)

아래 스킬 본문은 워크플로우이며, 긴 참조 자료는 references/에 있습니다. 해당 주제가 나올 때 참조 파일을 로드하세요:

파일로드 시점
references/extraction.md논문(모든 단계)에서 내용을 추출하려는 경우. 단계별 추출 명령, PDF 그림 추출(벡터 우선), 저해상도 래스터 프로토콜, 디스크 형식 우선 순위, 아키텍처 그림 인터뷰 포함.
references/tikz-recipes.mdTikZ로 처음부터 그림을 그리려는 경우. 4개의 검증된 레시피(블록 다이어그램, 파이프라인, 계층형 아키텍처, 비교)와 일반 TikZ 규칙 포함.
references/error-handling.md컴파일 오류 또는 가시적인 렌더링 버그가 있는 경우. 8개의 알려진 문제(누락된 클래스, 누락된 폰트, siunitx \d 충돌, 솔리드 채우기 대신 헤더 그라데이션, Calibri 오류, 자동 클리핑, 사라진 그리스 문자 또는 기호, 작게 설정된 제목 블록) 포함.
references/dual-agent-review.md리뷰 깊이가 standard 또는 full인 경우(Review 참조). 리뷰어 프롬프트, 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를 남길 수 있기 때문입니다. 사용자 프로젝트에는 확장자를 제외한 파일명이 .pdf와 일치하는 하나의 .tex 파일만 있어야 합니다.

프로젝트 설정 (저장 위치 + 폴더 구조)

저장 위치 우선 순위

포스터는 일반적으로 논문과 연결됩니다. 저장 위치에 따라 로컬 LaTeX를 사용할 수 없을 때 협업자가 Overleaf에서 컴파일할 수 있는지 결정됩니다. 파일을 생성하기 전에 저장 위치를 결정하세요:

  1. 논문 서브모듈 감지 → <submodule>/poster/. .gitmodules에 논문을 포함하는 서브모듈(paper/, manuscript/, overleaf/와 같은 경로 또는 내용에 \title{} + \begin{abstract} .tex가 포함된 모든 서브모듈)이 나열된 경우 해당 서브모듈 내에 저장합니다. 연구실 규칙: 논문 서브모듈은 GitHub에 있으며 해당 Overleaf 프로젝트는 Overleaf의 GitHub Sync를 통해 동기화됩니다. 원격은 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] 저장 위치: <chosen-path>/poster/
  이유: [논문 서브모듈 at paper/ (GitHub 호스팅, Overleaf 동기화) | paper/ 폴더 존재 | 저장소 루트 대체]
  Overleaf에서 접근 가능? [예 -- 서브모듈을 GitHub에 푸시, Overleaf가 동기화함 | 아니요 -- 로컬 컴파일만 가능]

폴더 구조

<save-target>/poster/
├── progress.md
├── SUMMARY.md
├── drafts/
│   ├── baposter.cls            # 스킬에서 복사됨 (poster.tex와 같은 디렉토리)
│   ├── assets/                 # 스킬에서 복사됨 (d3-poster.sty, 로고, 폰트)
│   ├── figures/                # 선택 사항: 포스터 특정 그림
│   ├── poster.tex              # 작업 파일 하나 (git으로 버전 관리)
│   ├── poster.pdf              # 항상 일치하는 파일명
│   └── revision_notes.md
└── final/
    ├── baposter.cls            # Overleaf 독립형 업로드를 위해 복제됨
    ├── assets/                 # Overleaf 독립형 업로드를 위해 복제됨
    ├── poster.tex              # drafts/와 동일한 파일명 -- 파일명 불변
    ├── poster.pdf
    └── README.md               # 날짜, 제목, 발표 장소, 리뷰 점수

설정 명령:

POSTER_DIR=<resolved-path>/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/를 복제하는 이유? 복사본당 약 1MB이지만, 각 폴더가 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 mm 여백, 네이비 헤더 박스,
  % 로고 행과 참고문헌이 있는 푸터. 이 두 길이는 템플릿에 맞습니다.
  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
}
%%% Eye Catcher (비어 있음; 대학 로고가 이 자리를 차지함) %%%
{}
%%% 제목 -- 일반 텍스트; 네이비 헤더 박스에 흰색 Bold로 설정. 기본적으로 부제목 없음.
{Your Poster Title}
%%% 저자 -- 한 줄, 흰색, 제목 아래.
{Author Name, Data Driven Decisions Group\enspace|\enspace [email protected]}
%%% 푸터 로고 행: 처음 두 셀에 D3 로고
{\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}{
  메트릭이 포함된 Infobox + 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 및 기타 크기에서도 비율 유지):

  • 25mm 여백. 전체 너비의 네이비 헤더 박스, 119mm 높이, 왼쪽 상단에 흰색 대학 로고, 템플릿의 텍스트 필드에 제목(흰색 Bold, A0 기준 50pt)과 저자(흰색, 34pt), 그리고 박스의 오른쪽 및 아래쪽 가장자리에 파란색 인장이 위치.
  • 약 24mm 높이의 섹션 바: #ECECEC 색상에 네이비 SemiBold 텍스트. 상자 키에 emphasis를 추가하면 템플릿의 두 번째 스타일인 콘플라워 바와 흰색 텍스트가 적용됩니다.
  • 열 아래 푸터: 네이비 규칙; 왼쪽에는 \begin{poster}의 다섯 번째 인수(\dthreelogos = 처음 두 셀에 D3 로고, 약 30mm 높이; \dthreelogocell{file.pdf}는 파트너 로고를 추가하며 최대 3개까지)로 채워진 72×39mm 셀의 로고 행; 오른쪽에는 참고문헌 슬롯(\dthreereferences{...}).
  • 이전 포스터도 계속 컴파일됩니다. 옵션 블록은 이전 바 모양을 유지하며, 헤더와 푸터는 어쨌든 그려지고, \dthreelogos는 이제 헤더 대신 푸터 로고 행을 채웁니다.

상자 위치, 열, 제목

열 수 — 기본 2, 필요한 경우에만 3

기본적으로 columns=2를 사용하세요. columns=3는 다음 경우에만 사용하세요:

  • 논문에 결합할 수 없는 진정으로 구별되는 콘텐츠 섹션이 5개 이상인 경우(드묾)
  • 사용자가 해당 발표 장소에서 요구하여 명시적으로 요청한 경우

모든 레이아웃에서 문헌은 푸터의 참고문헌 슬롯에 \dthreereferences{...}(짧은 목록, 예: "저자1 (연도, 발표 장소); 저자2 (연도, 발표 장소); ...")로 넣고 상자에 넣지 마세요. 대학 템플릿은 푸터의 오른쪽 절반을 예약하며, A0 세로에서 3열로 인해 발생하는 비좁은 문헌 상자를 피할 수 있습니다. 3~5개의 짧은 참고문헌이 적합하며, 더 긴 블록은 더 작게 설정되고 로그에 표시됩니다.

기본 2열 그리드

+-----------------------------------------------+
| [대학 로고]  제목, 저자 (흰색)       [인장]  |  네이비 헤더 박스
+-----------------------+-----------------------+
| 동기                 | 접근 방식              |
| (열 0, 위쪽)          | (열 1, 위쪽)          |
+-----------------------+-----------------------+
| 문제                 | 실증적 결과            |
| (열 0, 아래쪽         | (열 1, 아래쪽         |
|  으로 채움)           |  으로 채움)           |
+-----------------------+-----------------------+
| -------------------- 네이비 규칙 ------------ |
| [D3 로고] [파트너]    | 참고문헌               |  푸터
+-----------------------+-----------------------+

3열 변형 (드묾)

+---------------+---------------+---------------+
| 동기          | 접근 방식      | 실증적        |
| (열 0)        | (열 1,        | 결과          |
+---------------+  전체 높이)   | (열 2,        |
| 문제          |               |  전체 높이)   |
| (열 0)        |               |               |
+---------------+---------------+---------------+
| 푸터: 로고 행 (D3 먼저)       | 참고문헌      |
+---------------+---------------+---------------+

\headerbox 키

키목적예시
name=X상호 참조용 고유 식별자name=Motivation
column=N0부터 시작하는 열 인덱스column=0
row=N위쪽에서부터 0부터 시작하는 행 인덱스row=0
below=Y상자 Y 바로 아래에 배치below=Motivation
above=bottom페이지 아래쪽까지 늘림above=bottom
height=1전체 열 높이 채움2열에서는 거의 필요 없음
span(계속)

…

(참고: 원본 SKILL.md가 중간에 잘렸습니다. 필요한 경우 나머지 부분을 요청해 주세요.)

Individual skills in this repo

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

관련 스킬