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:
| Archivo | Cargar cuando |
|---|---|
references/extraction.md | Esté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.md | Esté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.md | Errores 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.md | La 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.md | Esté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:
baposter.clsse encuentra en la RAÍZ DE LA HABILIDAD, no dentro deassets/.\documentclassno 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.example-poster.texse encuentra en la RAÍZ DE LA HABILIDAD, NO dentro deassets/. Nunca lo copies en un proyecto de usuario. Es una referencia que lees cuando necesitas recordar los patrones. Si copiasassets/por completo, no recogesexample-poster.tex— exactamente correcto, porque enviarlo junto con elposter.texdel usuario confundiría el selector de "Documento principal" de Overleaf y dejaría unexample-poster.pdfobsoleto. El proyecto del usuario debe contener UN.texcuyo 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:
- Submódulo de artículo detectado →
<submodule>/poster/. Si.gitmoduleslista un submódulo que contiene un artículo (ruta comopaper/,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/..., nogit.overleaf.com. - Sin submódulo pero existe una carpeta de artículo →
<paper-folder>/poster/. Aún colócalo debajo de la carpeta del artículo. - 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:
#ECECECcon texto SemiBold azul marino. Añadeemphasisa 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
\dthreelogosahora 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
| Clave | Propósito | Ejemplo |
|---|---|---|
name=X | Identificador único para referencias cruzadas | name=Motivation |
column=N | Índice de columna basado en 0 | column=0 |
row=N | Índice de fila basado en 0 desde arriba | row=0 |
below=Y | Posiciona directamente debajo de la caja Y | below=Motivation |
above=bottom | Estira hasta la parte inferior de la página | above=bottom |
height=1 | Rellena toda la altura de la columna | raramente necesario en 2 col |
span |
…
[truncado para la traducción]