CommunityImagengithub.com

d3group/d3-poster

Crea carteles de conferencia profesionales con marca D3 (Data Driven Decisions), formato A0 retrato y rejilla baposter.

¿Qué es d3-poster?

Esta habilidad está diseñada para investigadoras e investigadores del grupo D3 (Data Driven Decisions) de la Universidad de Würzburg que necesiten crear carteles de conferencia académicos en formato A0 retrato con la imagen corporativa de la universidad (2026). El asistente configura automáticamente un proyecto basado en la clase `baposter` y el paquete `d3-poster.sty`, que aplica colores, tipografía (Inclusive Sans UW con XeLaTeX/LuaLaTeX) y macros personalizadas (`\highlight`, `\keypoint`, `\infobox`, `\card`). La habilidad reconoce el contexto del proyecto: detecta submódulos de artículos, carpetas de documentos o el directorio raíz para decidir dónde guardar el cartel, y estructura los archivos en carpetas `drafts/` y `final/` independientemente subibles a Overleaf. Incluye referencias progresivas para extracción de contenido de artículos, creación de figuras con TikZ, depuración de errores de compilación y revisión por pares, todo ello documentado en archivos markdown separados para no saturar la conversación.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/d3group/d3-skills/tree/HEAD/skills/d3-poster

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

D3 Poster (Conferencia / Investigación)

<skill-dir> en esta habilidad es el directorio base de la propia habilidad, que Claude Code muestra cuando la habilidad se carga (instalada como plugin: ${CLAUDE_PLUGIN_ROOT}/skills/d3-poster; copiada manualmente: ~/.claude/skills/d3-poster). Sustituye la ruta real en cada comando. <wording-dir> significa <skill-dir>/../d3-scientific-wording, la habilidad de redacción compartida que incluye cada plugin D3.

Crea carteles de investigación profesionales en formato A0 retrato con la marca D3 (Data Driven Decisions) y de la Universidad de Würzburg en el diseño corporativo 2026 de la universidad. Se basa en la clase baposter para una disposición en rejilla, con un rediseño fino de D3 (d3-poster.sty) que dibuja el marco de la plantilla de póster universitario (caja de encabezado azul marino con el logotipo blanco de la universidad, título blanco y autores, y el sello azul; barras de sección grises con texto azul marino; un pie de página con una regla azul marino, una fila de logotipos con el logotipo de D3 primero y un espacio para referencias), establece la paleta D3 (azul marino universitario, naranja D3 de acento) y traslada las macros \highlight / \keypoint / infobox / card de d3-abstract. Compila con XeLaTeX o LuaLaTeX para la tipografía corporativa Inclusive Sans UW; retrocede a pdfLaTeX con un clon de Helvetica.

El sello en el encabezado es una opción provisional: el folleto de CD de la universidad lo reemplaza por un adorno de facultad en comunicaciones de facultad y cátedra, y ese paquete de facultad aún no se ha publicado. Cambia uw-seal-blue.pdf cuando esté disponible.

Archivos de referencia (se cargan bajo demanda)

El cuerpo de la habilidad a continuación es el flujo de trabajo; el material de referencia extenso se encuentra en references/. Carga un archivo de referencia cuando surja su tema:

ArchivoCargar cuando
references/extraction.mdEstés a punto de extraer contenido de un artículo (cualquier nivel). Contiene los comandos de extracción para cada nivel, extracción de figuras PDF (prioridad vectorial), protocolo de ráster de baja resolución, prioridad de formato en disco, entrevista de figura de arquitectura.
references/tikz-recipes.mdEstés a punto de dibujar una figura desde cero en TikZ. Contiene 4 recetas que compilan verificadas (diagrama de bloques, tubería, arquitectura en capas, comparación) más reglas generales de TikZ.
references/error-handling.mdErrores de compilación o errores de renderizado visibles. Contiene los 8 problemas conocidos (clase faltante, fuentes faltantes, conflicto \d de siunitx, degradado del encabezado en lugar del relleno sólido, error de Calibri, recorte silencioso, letras griegas o símbolos desaparecidos, bloque de título configurado más pequeño).
references/dual-agent-review.mdLa profundidad de revisión sea standard o full (ver Revisión). Contiene las indicaciones del revisor, el bucle de iteración para full (máximo 4 rondas), protocolo de puntuación a README.
references/macros-and-styling.mdEstés escribiendo el cuerpo del cartel y necesites confirmar nombres de macros, valores de color, tamaños de fuente, convenciones de tablas.

Archivos de plantilla y activos

<skill-dir>/
├── SKILL.md                    # este archivo
├── baposter.cls                # archivo de clase (se copia a cada proyecto en drafts/)
├── example-poster.tex          # ejemplo de referencia -- NO copiar en proyectos de usuario
├── references/                 # referencias de divulgación progresiva (ver tabla anterior)
└── assets/                     # esta carpeta completa SÍ se copia en proyectos de usuario
    ├── 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

Dos reglas de colocación:

  1. baposter.cls se encuentra en la RAÍZ DE LA HABILIDAD, no dentro de assets/. \documentclass no acepta prefijos de ruta de manera fiable, por lo que el archivo de clase debe ser un hermano del archivo .tex en tiempo de compilación.
  2. example-poster.tex se encuentra en la RAÍZ DE LA HABILIDAD, NO dentro de assets/. Nunca lo copies en un proyecto de usuario. Es una referencia que lees cuando necesitas recordar los patrones. Si copias assets/ por completo, no recoges example-poster.tex — exactamente correcto, porque enviarlo junto con el poster.tex del usuario confundiría el selector de "Documento principal" de Overleaf y dejaría un example-poster.pdf obsoleto. El proyecto del usuario debe contener UN .tex cuyo nombre base coincida con su .pdf.

Configuración del proyecto (ubicación de guardado + estructura de carpetas)

Prioridad de ubicación de guardado

Los carteles suelen estar vinculados a un artículo. El lugar donde guardes determina si los colaboradores pueden compilar en Overleaf cuando LaTeX local no esté disponible. Decide la ubicación de guardado ANTES de crear cualquier archivo:

  1. Submódulo de artículo detectado → <submodule>/poster/. Si .gitmodules lista un submódulo que contiene un artículo (ruta como paper/, manuscript/, overleaf/, o cualquier submódulo cuyo contenido incluya un \title{} + \begin{abstract} .tex), guarda dentro de ese submódulo. Convención de laboratorio: los submódulos de artículos viven en GitHub y el proyecto de Overleaf correspondiente se sincroniza mediante la sincronización de GitHub de Overleaf — el remoto será github.com/..., no git.overleaf.com.
  2. Sin submódulo pero existe una carpeta de artículo → <paper-folder>/poster/. Aún colócalo debajo de la carpeta del artículo.
  3. Fallback → ./poster/ en la raíz del directorio de trabajo actual.

Detecta con:

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

Imprime y confirma con el usuario antes de crear archivos:

[HH:MM:SS] UBICACIÓN DE GUARDADO: <chosen-path>/poster/
  Razón: [submódulo de artículo en paper/ (alojado en GitHub, sincronizado con Overleaf) | carpeta paper/ existe | fallback raíz del repositorio]
  ¿Alcanzable en Overleaf? [sí -- empuja el submódulo a GitHub, Overleaf se sincronizará | no -- solo compilación local]

Estructura de carpetas

<save-target>/poster/
├── progress.md
├── SUMMARY.md
├── drafts/
│   ├── baposter.cls            # copiado de la habilidad (hermano de poster.tex)
│   ├── assets/                 # copiado de la habilidad (d3-poster.sty, logos, fonts)
│   ├── figures/                # opcional: figuras específicas del cartel
│   ├── poster.tex              # el único archivo de trabajo (versionado mediante git)
│   ├── poster.pdf              # siempre tiene el nombre base coincidente
│   └── revision_notes.md
└── final/
    ├── baposter.cls            # duplicado para subida independiente a Overleaf
    ├── assets/                 # duplicado para subida independiente a Overleaf
    ├── poster.tex              # mismo nombre de archivo que en drafts/ -- nombre base invariable
    ├── poster.pdf
    └── README.md               # fecha, título, lugar de celebración, puntuaciones de revisión

Comandos de configuración:

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"
# NO copiar example-poster.tex -- permanece en la raíz de la habilidad

Regla de nomenclatura (crítica para Overleaf): el archivo de trabajo es siempre poster.tex, que produce poster.pdf. El nombre base coincide. El control de versiones usa git, no prefijos de nombre de archivo — no v1_poster.tex, no YYYYMMDD_title.tex. Una versión anterior de esta habilidad usaba esos prefijos; en la práctica confundía las subidas a Overleaf (el usuario configuraba v2_poster.tex como documento principal, pero el v1_poster.pdf en caché junto a él dificultaba saber cuál era la salida real).

¿Por qué duplicar baposter.cls + assets/ tanto en drafts/ como en final/? ~1 MB por copia, pero garantiza que cada carpeta sea subible de forma independiente a Overleaf — un colaborador que abra final/ no necesita nada de drafts/.

Esqueleto del documento

TODO cartel DEBE comenzar con esta estructura:

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

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

\usepackage{assets/d3-poster}   % Rediseño D3: colores, fuentes, macros

\DeclareMathOperator*{\argmin}{arg\,min}
\renewcommand{\vec}[1]{\boldsymbol{#1}}   % Opcional: vectores matemáticos en negrita

\begin{document}

\begin{poster}{
  columns=2,                     % POR DEFECTO 2. Usa 3 SOLO cuando el contenido lo justifique realmente.
  grid=false,
  eyecatcher=false,
  % Marco universitario de d3-poster.sty: márgenes de 25 mm, caja de encabezado azul marino,
  % pie de página con fila de logotipos y referencias. Estas dos longitudes se ajustan a la plantilla.
  headerheight=\dthreeheaderheight,
  colspacing=\dthreecolspacing,
  background=plain,
  bgColorOne=white,
  bgColorTwo=white,
  % Barras de sección: #ECECEC con texto SemiBold azul marino. Por caja, la clave
  % `emphasis` da la barra azul aciano con texto blanco.
  borderColor=d3-headergray,
  headerColorOne=d3-headergray,
  headerColorTwo=d3-headergray,
  headerFontColor=d3-navy,
  headerfont=\dthreesectionfont,
  headershape=rectangle,
  headershade=plain,             % relleno sólido headerColorOne; el `shadeLR` por defecto de baposter es un
                                 % degradado. Ver references/error-handling.md #4.
  headerborder=none,
  boxColorOne=white,
  boxshade=plain,
  boxpadding=0.6em,
  textborder=none
}
%%% Eye Catcher (vacío; el logotipo de la universidad ocupa este lugar) %%%
{}
%%% Título -- texto plano; se establece en Bold blanco en la caja de encabezado azul marino. Sin subtítulo por defecto.
{Your Poster Title}
%%% Autores -- una línea, blanco, debajo del título.
{Author Name, Data Driven Decisions Group\enspace|\enspace [email protected]}
%%% Fila de logotipos de pie de página: logotipo D3 en las dos primeras celdas
{\dthreelogos}

%%% Motivación (columna 0, fila 0)
\headerbox{Motivation}{name=Motivation,column=0,row=0}{
  Párrafo principal: por qué es importante este trabajo, qué hay de nuevo, métrica destacada.
  Usa \highlight{} con moderación en términos clave.
}

%%% Problema (columna 0, se extiende hasta el final)
\headerbox{Problem}{name=Problem,column=0,below=Motivation,above=bottom}{
  Planteamiento formal del problema. Matemáticas apropiadas al dominio.
  \keypoint{Conclusión destacada en una oración.}
}

%%% Enfoque (columna 1, arriba)
\headerbox{Approach}{name=Approach,column=1,row=0}{
  Metodología. Termina con la figura de descripción general del método (no se necesita título -- describe en el texto del cuerpo).
}

%%% Resultados (columna 1, se extiende hasta el final)
\headerbox{Empirical Results}{name=Results,column=1,below=Approach,above=bottom}{
  Infoboxes con métricas + una tabla de comparación booktabs.
}

%%% Literatura -- espacio de referencias en el pie de página (3 referencias, sin caja separada)
\dthreereferences{
  Author1 (Year, \textit{Venue}); Author2 (Year, \textit{Venue}); Author3 (Year, \textit{Venue}).
}

\end{poster}
\end{document}

CRÍTICO: Usa \usepackage{assets/d3-poster} (con el prefijo assets/) — el envoltorio espera cargarse desde una raíz de proyecto que tenga assets/d3-poster.sty y un baposter.cls hermano.

Lo que dibuja d3-poster.sty (de la plantilla de póster A0 de la universidad; la geometría escala con el papel, por lo que A1 y otros tamaños mantienen las proporciones):

  • Márgenes de 25 mm. Caja de encabezado azul marino en todo el ancho, 119 mm de alto, con el logotipo blanco de la universidad arriba a la izquierda, el título (blanco Bold, 50 pt en A0, como en la plantilla) y los autores (blanco, 34 pt) en el campo de texto de la plantilla, y el sello azul al ras con los bordes derecho e inferior de la caja.
  • Barras de sección de unos 24 mm de alto: #ECECEC con texto SemiBold azul marino. Añade emphasis a las claves de una caja para el segundo estilo de la plantilla, una barra azul aciano con texto blanco.
  • Pie de página debajo de las columnas: una regla azul marino; a la izquierda una fila de logotipos de celdas de 72 × 39 mm llenadas desde el 5.º argumento de \begin{poster} (\dthreelogos = el logotipo D3 en las dos primeras celdas, de unos 30 mm de alto; \dthreelogocell{file.pdf} añade un logotipo de socio, como máximo tres más); a la derecha el espacio Referencias (\dthreereferences{...}).
  • Los carteles anteriores aún compilan: su bloque de opciones mantiene el aspecto antiguo de las barras, el encabezado y el pie de página se dibujan de todos modos, y \dthreelogos ahora llena la fila de logotipos del pie de página en lugar del encabezado.

Posicionamiento de cajas, columnas, título

Número de columnas — por defecto 2, 3 solo si es necesario

Usa columns=2 por defecto. Usa columns=3 SOLO cuando:

  • El artículo tiene 5+ secciones de contenido realmente distintas que no se pueden combinar (raro)
  • El usuario lo solicita explícitamente para un lugar de celebración que lo espera

En cada diseño, pon la Literatura en el espacio de Referencias del pie de página con \dthreereferences{...} (una lista breve, p. ej., "Author1 (Year, Venue); Author2 (Year, Venue); ..."), no en una caja. La plantilla universitaria reserva la mitad derecha del pie de página para ello, y evita la caja de Literatura apretada que tiende a producir 3 columnas en A0 retrato. De 3 a 5 referencias cortas caben; un bloque más largo se establece más pequeño y el registro lo indica.

Rejilla por defecto de 2 columnas

+-----------------------------------------------+
| [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
+-----------------------+-----------------------+

Variante de 3 columnas (rara)

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

Claves de \headerbox

ClavePropósitoEjemplo
name=XIdentificador único para referencias cruzadasname=Motivation
column=NÍndice de columna basado en 0column=0
row=NÍndice de fila basado en 0 desde arribarow=0
below=YPosiciona directamente debajo de la caja Ybelow=Motivation
above=bottomEstira hasta la parte inferior de la páginaabove=bottom
height=1Rellena toda la altura de la columnararamente necesario en 2 col
span

…

[truncado para la traducción]

Individual skills in this repo

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

Skills relacionados