Community画像github.com

D3 ポスター(カンファレンス/研究)

D3 (Data Driven Decisions) ブランディングの学会ポスター (A0 縦置き、baposter グリッド) を作成します。

D3 ポスター(カンファレンス/研究) とは?

このスキルは、ヴュルツブルク大学の D3 (Data Driven Decisions) グループが定めるブランドに準拠した、プロフェッショナルな A0 縦置き研究ポスターを生成するための包括的なガイドです。baposter LaTeX クラスと、大学のポスターテンプレートの枠組み(ネイビーのヘッダー、セクションバー、フッター)やカラーパレットを提供する `d3-poster.sty` ラッパーを基盤としています。このスキルは、既存の論文リポジトリからコンテンツ(要旨、セクション、図表、参考文献)を抽出し、ポスターの下書きを作成するワークフローを定義します。また、Claude Code や Cursor などの AI エージェントで使用するための段階的な手順、参照ファイル(TikZ レシピ、エラーハンドリング、マクロ)、プロジェクト構造(drafts/ と final/ の各フォルダは Overleaf に個別にアップロード可能)を提供し、反復的なレビューと改良のプロセスも組み込んでいます。XeLaTeX/LuaLaTeX と pdfLaTeX の両方をサポートし、JSON の機能フラグでポスターの特性を管理します。

対応✓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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

D3 ポスター(カンファレンス/研究) は何をしますか?

<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 マクロを移植します。ハウスフォント Inclusive Sans UW には XeLaTeX または LuaLaTeX でコンパイルします。pdfLaTeX では Helvetica クローンにフォールバックします。

ヘッダーのシールは暫定的な選択です。大学の 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 の場合(レビューを参照)。レビュアープロンプト、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

2 つの配置ルール:

  1. baposter.cls は SKILL ROOT に配置し、assets/ 以下には置きません。\documentclass はパスプレフィックスを確実に受け付けないため、クラスファイルはコンパイル時に .tex ファイルの兄弟である必要があります。
  2. example-poster.tex は SKILL ROOT に配置し、assets/ の中には入れません。これをユーザープロジェクトにコピーしないでください。 これはパターンを確認するために読むリファレンスです。assets/ を丸ごとコピーしても example-poster.tex は含まれません。これは正しい動作です。なぜなら、これをユーザーの poster.tex と一緒に出荷すると、Overleaf の「メインドキュメント」セレクターが混乱し、古い example-poster.pdf が残ってしまうからです。ユーザーのプロジェクトには、その .pdf とステムが一致する 1 つの .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] 保存場所: <選択されたパス>/poster/
  理由: [paper にある論文サブモジュール (GitHub ホスト、Overleaf 同期) | paper/ フォルダが存在 | リポジトリルートフォールバック]
  Overleaf からアクセス可能? [はい -- サブモジュールを GitHub にプッシュ、Overleaf は同期します | いいえ -- ローカルコンパイルのみ]

フォルダ構造

<保存先>/poster/
├── progress.md
├── SUMMARY.md
├── drafts/
│   ├── baposter.cls            # スキルからコピー (poster.tex の兄弟)
│   ├── assets/                 # スキルからコピー (d3-poster.sty, logos, fonts)
│   ├── figures/                # オプション: ポスター固有の図
│   ├── poster.tex              # 唯一の作業ファイル (git でバージョン管理)
│   ├── poster.pdf              # 常に一致するステムを持つ
│   └── 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 があると、どれが実際の出力なのか不明瞭になります)。

なぜ baposter.cls + assets/ を drafts/ と final/ の両方に複製するのか? コピーあたり約 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 mm マージン、ネイビーヘッダーボックス、
  % ロゴ行と参考文献付きフッター。これらの 2 つの長さがテンプレートに適合します。
  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
}
%%% アイキャッチャー (空; 大学ロゴがこの場所を占めます) %%%
{}
%%% タイトル -- プレーンテキスト; ネイビーヘッダーボックス内で白の Bold に設定。デフォルトでサブタイトルはなし。
{あなたのポスタータイトル}
%%% 著者 -- 1 行、白、タイトルの下。
{著者名, Data Driven Decisions Group\enspace|\enspace [email protected]}
%%% フッターロゴ行: 最初の 2 セルに D3 ロゴ
{\dthreelogos}

%%% Motivation (列 0、行 0)
\headerbox{Motivation}{name=Motivation,column=0,row=0}{
  リード段落: この研究が重要な理由、新しい点、注目すべき指標。
  キーワードには \highlight{} を控えめに使用します。
}

%%% Problem (列 0、下部まで)
\headerbox{Problem}{name=Problem,column=0,below=Motivation,above=bottom}{
  形式的な問題設定。ドメインに適した数式。
  \keypoint{1 文の見出しとなる要点。}
}

%%% Approach (列 1、上部)
\headerbox{Approach}{name=Approach,column=1,row=0}{
  方法論。最後にメソッド概要図を配置します(キャプション不要 -- 本文で説明)。
}

%%% Results (列 1、下部まで)
\headerbox{Empirical Results}{name=Results,column=1,below=Approach,above=bottom}{
  指標を含む Infobox と booktabs 比較表。
}

%%% Literature -- フッター参考文献スロット (3 件の参考文献、別ボックスなし)
\dthreereferences{
  Author1 (Year, \textit{Venue}); Author2 (Year, \textit{Venue}); Author3 (Year, \textit{Venue}).
}

\end{poster}
\end{document}

重要: \usepackage{assets/d3-poster}(assets/ プレフィックス付き)を使用してください。ラッパーは、assets/d3-poster.sty と兄弟の baposter.cls を持つプロジェクトルートからロードされることを想定しています。

d3-poster.sty が描画するもの(大学の A0 ポスターテンプレートより。ジオメトリは用紙に合わせてスケーリングされるため、A1 などのサイズでも比率は維持されます):

  • 25 mm マージン。全幅にわたるネイビーのヘッダーボックス、高さ 119 mm。左上に白の大学ロゴ、テンプレートのテキストフィールドにタイトル(白 Bold、A0 で 50 pt)と著者(白、34 pt)、そしてボックスの右端と下端に合わせて青いシール。
  • 約 24 mm の高さのセクションバー: #ECECEC にネイビー SemiBold テキスト。ボックスのキーに emphasis を追加すると、テンプレートの 2 番目のスタイルである、白いテキストのコーンフラワーバーになります。
  • カラムの下のフッター: ネイビーの罫線。左側に 72 × 39 mm のセルのロゴ行。\begin{poster} の 5 番目の引数 (\dthreelogos = 最初の 2 セルに D3 ロゴ、高さ約 30 mm; \dthreelogocell{file.pdf} でパートナーロゴを追加、最大 3 つまで) から入力されます。右側に参考文献スロット (\dthreereferences{...})。
  • 以前のポスターもコンパイルされます。それらのオプションブロックはバーの古い外観を維持し、ヘッダーとフッターはとにかく描画され、\dthreelogos はヘッダーの代わりにフッターのロゴ行を埋めるようになりました。

ボックスの配置、カラム、タイトル

カラム数 -- デフォルトは 2、必要な場合のみ 3

デフォルトでは columns=2 を使用します。以下の場合にのみ columns=3 を使用します:

  • 論文に 5 つ以上の真に異なるコンテンツセクションがあり、それらを組み合わせることができない場合(稀)
  • ユーザーがそれを期待する学会のために明示的に要求した場合

すべてのレイアウトにおいて、Literature はフッターの References スロットに \dthreereferences{...}(短いリスト、例: "Author1 (Year, Venue); Author2 (Year, Venue); ...")で配置し、ボックスには入れません。大学のテンプレートはフッターの右半分をそのために確保しており、3 カラムが A0 縦置きで作りがちな窮屈な Literature ボックスを回避できます。3~5 件の短い参考文献が収まります。それより長いブロックは小さく設定され、ログにその旨が記述されます。

デフォルトの 2 カラムグリッド

+-----------------------------------------------+
| [uni logo]  Title, authors (white)     [seal] |  navy header box
+-----------------------+-----------------------+
| Motivation            | Approach              |
| (col 0, top)          | (col 1, top)          |
+-----------------------+-----------------------+
| Problem               | Empirical Results     |
| (col 0, fills to      | (col 1, fills to      |
|  bottom)              |  bottom)              |
+-----------------------+-----------------------+
| -------------------- navy rule -------------- |
| [D3 logo] [partner]   | References            |  footer
+-----------------------+-----------------------+

3 カラムバリアント(稀)

+---------------+---------------+---------------+
| Motivation    | Approach      | Empirical     |
| (col 0)       | (col 1,       | Results       |
+---------------+  full height) | (col 2,       |
| Problem       |               |  full height) |
| (col 0)       |               |               |
+---------------+---------------+---------------+
| footer: logo row (D3 first)   | References    |
+---------------+---------------+---------------+

\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複数カラムにまたがるspan=2(3 カラムレイアウトの場合)

...

図の抽出と配置

references/extraction.md には、論文 PDF から図を抽出するための完全なコマンドが記載されています。優先順位はベクター形式(PDF、EPS)で、次に高解像度ラスター(300 DPI PNG)、最後に低解像度ラスター(72 DPI JPEG)です。アーキテクチャ図については、著者にインタビューして TikZ で再作成することを検討してください(references/tikz-recipes.md のレシピを使用)。

図の配置ルール

各図は \headerbox 内に配置します。figure 環境は使用せず、\centering と \includegraphics を直接使用します。キャプションは不要ですが、図の内容と重要性を説明する本文テキストがすぐ隣にある必要があります。

\headerbox{Results}{name=Results,column=1,below=Approach,above=bottom}{
  私たちのアプローチは、...と比較して大幅な改善を示しました。
  \begin{center}
    \includegraphics[width=0.9\linewidth]{figures/results-comparison.pdf}
  \end{center}
  左のプロットは ... を、右のパネルは ... を示しています。
}

参考文献の書式設定

フッターの参考文献は \dthreereferences{...} で設定します。各エントリは、著者(年、学会名)の形式に従い、セミコロンで区切ります。最大 5 件まで推奨。それ以上になる場合は、\dthreereferences コマンドが自動的にフォントサイズを縮小します。

\dthreereferences{
  \textbf{Smith et al.} (2023, \textit{NeurIPS}); 
  \textbf{Jones \& Lee} (2022, \textit{ICML}); 
  \textbf{Wang et al.} (2024, \textit{ICLR}).
}

レビュープロセス

標準レビュー(デフォルト)

  1. ポスターのコンパイルが成功したことを確認します。
  2. 以下のチェックリストを確認します:
    • すべてのセクションが存在し、論理的な順序であるか
    • 図が適切に配置され、参照されているか
    • 参考文献が正しくフォーマットされているか
    • スペルと文法に誤りがないか
    • D3 ブランディングが正しく適用されているか(色、ロゴ、フォント)
  3. 問題があれば修正し、なければ完了です。

フルレビュー(オプション)

深いレビューが必要な場合(references/dual-agent-review.md を読み込んでください):

  1. 内容、レイアウト、デザインの側面について構造化されたフィードバックを提供するレビュアープロンプトを生成します。
  2. レビュアーにフィードバックを依頼します(standard は 1 ラウンド、full は最大 4 ラウンド)。
  3. 各ラウンドでフィードバックを適用し、ポスターを再コンパイルします。
  4. 最終ラウンド後、スコアを README.md に記録します。

機能フラグ(開発中の機能)

以下の JSON フラグは、スキルの動作を制御するために CONFIG または環境変数で設定できます。現在は主にロードマップ用ですが、スキルロジックで使用されることもあります。

フラグ型デフォルト説明
auto_compilebooleantrue下書き生成後に自動でコンパイルします。
extract_figuresbooleantrueソース論文から図を抽出します。
use_tikzbooleanfalse可能な場合は TikZ で図を再作成します(抽出が難しいアーキテクチャ図に便利)。
overleaf_readybooleanfalsefinal/ フォルダを Overleaf 用に最適化します(余分なメタデータを削除、互換性を確保)。

例:

{"auto_compile": false, "extract_figures": true}

既知の問題と回避策

references/error-handling.md に詳細なリストがあります。よくある問題:

  1. baposter.cls が見つからない: \documentclass{...} を含む .tex ファイルと同じディレクトリにクラスファイルが存在することを確認します。
  2. フォントが見つからない: Inclusive Sans UW がシステムにインストールされていることを確認するか、references/error-handling.md の手順に従って pdfLaTeX フォールバックに切り替えます。
  3. siunitx の \d コンフリクト: \usepackage{siunitx} の前に \let\d=\originald を追加します(必要な場合)。
  4. ヘッダーグラデーション: headershade=plain が \begin{poster} オプションに設定されていることを確認します。
  5. タイトルブロックが小さい: headerheight が \dthreeheaderheight に設定されていることを確認します。

これらのいずれかに遭遇した場合は、references/error-handling.md を読み込んでください。

クイックスタート(簡略版)

  1. references/extraction.md を読み込んで、論文からコンテンツを抽出する方法を確認します(まだ行っていない場合)。
  2. 上記の優先順位ルールに従って保存場所を決定します。
  3. フォルダ構造を作成し、テンプレートファイルをコピーします。
  4. poster.tex をスケルトンから作成し、セクションを入力します。
  5. 図を figures/ に追加し、poster.tex で参照します。
  6. XeLaTeX でコンパイルします(xelatex poster.tex)。
  7. 標準レビューを実行します。必要に応じてフルレビューを実行します。
  8. 問題がなければ、drafts/ を final/ にコピーします。
  9. final/README.md を更新します。

注意事項

  • 特に Overleaf の命名に関するルール(poster.tex / poster.pdf のステム一致)に常に従ってください。
  • example-poster.tex はユーザープロジェクトにコピーしないでください。
  • \usepackage{assets/d3-poster} のように、d3-poster.sty には常に assets/ プレフィックスを付けて読み込んでください。
  • デフォルトは 2 カラムです。本当に正当な理由がない限り、3 カラムに変更しないでください。
  • 文献リストはフッターの \dthreereferences{...} スロットを使用し、本文内の別ボックスにはしないでください。

Individual skills in this repo

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

関連スキル