¿Qué hace paper-figure?
Dibuja una figura de artículo a partir de elementos editables colocados por separado, y luego mídela al tamaño en que se imprimirá.
Principios
- Sin modelos de generación de imágenes. Tú o el autor dibujan cada elemento.
- Entrega la figura como un tablero en un lienzo de Claude Design siempre que esa herramienta esté disponible. Esto es obligatorio. Crea o actualiza el tablero primero, para que el autor pueda mover, cambiar el estilo y comentar cada elemento. Nunca termines solo con un PNG, un PDF o un archivo HTML local. Dibuja tableros HTML simples solo en disco cuando la sesión no tenga herramienta de lienzo, y dilo en el informe (
references/drawing-boards.md). - PDF y PNG son exportaciones, realizadas cuando el autor lo pide o la figura está finalizada: un PDF vectorial con texto vivo para LaTeX, y un PNG a 300 ppp generado a partir de él para Word y presentaciones.
- El texto de la figura usa exactamente los nombres del cuerpo del artículo, en el idioma del artículo.
- La estructura se preserva. Puedes cambiar formas y diseño. No puedes cambiar módulos, conexiones o límites sin preguntar (ver "Ledger de estructura").
- Elige la revista objetivo antes de dibujar. Las revistas difieren: Nature limita el texto de la figura a 7 pt, AAAI requiere al menos 9 pt. Si el autor no ha elegido, elige la revista típica de su campo y dilo en el informe.
- El estándar de calidad es una figura de revista de primer nivel. Mira primero las figuras de referencia, construye candidatos y deja que el autor elija. No te detengas en cajas y flechas.
- Di "pasa" o "sin superposición" solo después de medir con
scripts/figure_audit.pyy de mirar el renderizado tú mismo. Esto anula cualquier valor predeterminado de "no verificar" de la superficie de dibujo. - La crítica visual es consultiva. Cuenta mal los elementos y omite conexiones. Juzga la estructura solo con el ledger y
--compare.
Flujo de trabajo
- Lee las fuentes: borrador del artículo, código y la figura del propio autor. Vuelve a leerlas cada vez que el autor diga "rehacerlo".
- Construye el ledger de estructura.
- Escribe el resumen y elige la revista (
references/venues.md). - Abre 2-3 figuras de referencia y escribe la hoja de estilo.
- Dibuja 2-3 candidatos en el lienzo que difieran en diseño o vocabulario de formas, no en pequeños ajustes.
- Audita, mira, compara, critica. Corrige hasta que los errores sean cero.
- Muestra la hoja de comparación. El autor elige.
- Exporta una vez que el autor haya elegido, coloca la figura en el manuscrito y mira esa página.
Ledger de estructura (antes de cualquier edición)
Una figura muestra el sistema que el autor diseñó. Extrae cada elemento a continuación de la figura del autor, el artículo y el código en una tabla.
| Tipo | Elementos | Fuente |
|---|---|---|
| Módulos (cajas) | nombres exactos | figura original / ruta de código / sección del artículo |
| Conexiones (flechas) | emisor → receptor : nombre del dato | el código que produce ese dato |
| Límites | lo que encierra cada sistema, habilidad o herramienta | figura original / código |
| Estado y recursos | estado compartido, presupuestos, modelo compartido, corpus, parámetros aprendidos | figura original / código |
| Decisiones y bucles | resultados de decisiones, caminos de retroalimentación y recurrencia | función de política / algoritmo |
| Entradas y salidas | entrada del usuario, salida final, tensores de entrada y salida | figura original / código |
Al dibujar el método de otra persona, construye el ledger a partir del algoritmo del artículo original y el código oficial, y cítalos.
- Nada en el ledger puede desaparecer, renombrarse ni moverse a través de un límite. Si debe cambiar (por ejemplo, la figura no coincide con el código), pregunta al autor antes de editar.
- No inventes módulos ni flechas, y no elimines conexiones para simplificar. Anota las omisiones deliberadas en el pie de foto o en el informe.
- El diseño puede cambiar. La dirección del flujo y la contención no.
- Las figuras de detalle dividen la figura de visión general. Los nombres, colores y límites deben coincidir con ella.
- Verifica cada flecha contra el código: debe salir del módulo que realmente produce esos datos.
- Después de editar, verifica el ledger línea por línea y ejecuta:
python3 scripts/figure_audit.py NUEVO --venue icml --compare ORIGINAL. El script no puede ver flechas sin etiqueta; compáralas con el ledger manualmente. - Comienza el informe con "Cambios de estructura: ninguno" o la lista de cambios y si el autor los aprobó.
Trabajar con el autor
- El dibujo del autor es la línea de base. Elimina y alinea sobre él. No reemplaces su estructura o estilo por completo.
- Nunca sobrescribas el original. Coloca cada nueva versión al lado (
Fig2_v2). El autor confirma. - Si el autor editó el tablero a mano, vuelve a leer el archivo más reciente y trabaja sobre él.
- Añade un tipo de elemento a la vez. Añadir paneles de etapa, píldoras y cajas de salida a la vez hace que la figura sea demasiado complicada.
- Mantén las etapas vecinas como cajas discontinuas con sus nombres reales. No las elimines ni las reduzcas a una flecha o texto gris.
- Informa solo lo que cambió, por figura. Si encuentras una discrepancia con el artículo o el código, dilo antes de editar la figura.
Resumen, referencias, hoja de estilo
Resumen (uno por figura)
Rol: visión general (estructura + procedimiento) / detalle de etapa / bloque de arquitectura
Tipo de figura: A tubería de sistema o agente / B modelo o arquitectura
Revista: establece el ancho colocado y el px de texto (references/venues.md)
Conclusión del lector: una línea
Hechos a mantener: el ledger de estructura
Omitir: números de resultados, oraciones que pertenecen al cuerpo, configuraciones como nombres de modelos
Figuras de referencia (2-3)
- Orden de preferencia: el artículo original del método o su repositorio oficial; un artículo reciente en la misma revista con el mismo tipo de figura; las figuras anteriores del autor.
- Abre cada una y anota: vocabulario de formas, qué significa cada color, fuentes y notación de variables, esqueleto del diseño, cantidad de texto, y qué no imitar.
- Toma solo convenciones. Nunca redibujes una figura de referencia ni reproduzcas su paleta y composición.
Hoja de estilo (una por artículo)
- Cada figura en un artículo usa un vocabulario visual: fuente, px de texto, colores y sus significados, formas, grosor de línea y borde, radio de esquina, puntas de flecha.
- Con
scripts/dc_board.py, el diccionarioSTYLEes la hoja de estilo. Cámbialo allí, nunca por elemento.
Reglas de composición
- Una caja contiene solo un nombre de función. Las oraciones explicativas van en el cuerpo del texto.
- Una flecha lleva una etiqueta del nombre del dato. No numeres los datos.
- Sin nombres genéricos como A/B/C o "A B / Desde A". Usa los nombres reales del módulo.
- Un límite encierra solo la parte que realmente realiza ese trabajo.
- El texto de la caja son palabras clave: sin oraciones, nada de más de 15 palabras, sin texto del cuerpo pegado, sin listas de ecuaciones. Una breve muestra de datos es la excepción.
- Sin insignias de número de paso en las etapas. Sin título dentro de la figura; el título es el pie de foto.
- Una visión general muestra estructura y procedimiento juntos: entrada → proceso → salida se lee de izquierda a derecha en unos segundos, los bucles de retroalimentación son discontinuos y la salida es claramente visible.
- Ejecuta un ejemplo de trabajo a través de todas las figuras de detalle, como pequeñas fichas dentro de las cajas.
- Considera fusionar la visión general y el detalle en los paneles a y b de una figura (apilados o líneas de zoom macro-micro). Construye ambos como candidatos.
- Cuando las reglas entren en conflicto, decide en este orden: las relaciones y la dirección coinciden con el código y el artículo → el flujo se lee en segundos → legible al tamaño de impresión → alineación → apariencia.
Vocabulario de formas, fuentes, colores y líneas: references/style.md. Elige el vocabulario A (tuberías de sistema: tarjetas de icono, fichas, paneles) o B (arquitecturas: la forma indica el tipo) y no los mezcles en un mismo artículo.
Tamaño
Texto impreso (pt) = px de texto × ancho colocado (pt) ÷ ancho del tablero (px). El mismo tablero se imprime a diferentes tamaños en diferentes revistas, así que vuelve a medir cada vez que cambie la revista. Valores predefinidos y tamaños en px: references/venues.md.
- Mantén los tamaños de texto casi uniformes en una figura. No reduzcas el tamaño de algún texto para que quepa: mueve el texto al pie de foto, agranda la caja o el tablero, divide la línea o divide la figura.
- El texto no debe salir de su caja ni estar a menos de 6 px del borde.
- Cinco o más cajas en una fila se quedan sin ancho: divide los títulos en 2-3 líneas, luego pasa a dos filas.
- Una figura ancha va al ancho completo del texto (
figure*). En una columna su texto se reduce a la mitad. - Con varios paneles, alinea las filas exactamente o sepáralas por 7 px o más.
Bucle de auditoría
Configuración: pip install playwright numpy pillow && python3 -m playwright install chromium
(poppler-utils habilita la verificación de PDF).
python3 scripts/figure_audit.py project/Fig2.dc.html --venue icml --png fig2.png # medir + renderizar
python3 scripts/figure_audit.py project/Fig2.dc.html --venue nature --column # figura de una columna
python3 scripts/figure_audit.py project/Fig2.dc.html --placed-mm 165 --min-pt 8 # revista sin valor predefinido
python3 scripts/figure_audit.py project/Fig2.dc.html --venue icml --cvd fig2 # gris + daltonismo
python3 scripts/figure_audit.py project/Fig2_v2.dc.html --venue icml --compare project/Fig2.dc.html # ¿se conservaron las etiquetas?
- Corrige hasta que ERROR sea 0: texto por debajo o por encima de los límites, texto fuera de su caja, texto superpuesto, texto fuera del lienzo, una etiqueta faltante del original. Para cada ADVERTENCIA (texto rozando un borde, texto cruzando una línea, glifos de respaldo, texto sobre gris, líneas por debajo del mínimo, alineación casi correcta), acerca el zoom al renderizado y decide.
- Mira el renderizado al tamaño colocado, y las tres imágenes
--cvd. - Vuelve a verificar las flechas y etiquetas contra el ledger, el código y el artículo.
- Puntúa con la tabla de crítica y compara con las figuras de referencia.
- Conserva el archivo anterior en cada ronda y registra solo lo que cambió.
Orden de corrección (evita retrabajo): lienzo y márgenes → regiones grandes y orden de apilamiento → tamaños de formas → rellenos y bordes → puntos finales de conectores → texto → decoración.
Terminado significa las tres cosas: la auditoría pasa, miraste el tamaño colocado y la crítica supera la marca de aprobación. Solo una auditoría aprobada no es suficiente. Si después de cinco rondas quedan problemas, el diseño en sí está mal: díselo al autor y decidan juntos.
Candidatos y crítica
Haz 2-3 tableros con la misma estructura y un diseño o vocabulario diferente (paneles a/b versus líneas de zoom, izquierda a derecha versus abajo-arriba, vocabulario A versus B). Apila los candidatos y las figuras de referencia en una imagen y muéstrala:
from PIL import Image
ims = [Image.open(p).convert("RGB") for p in ["vA.png", "vB.png", "ref.png"]]
W = 1584; ims = [im.resize((W, round(im.size[1] * W / im.size[0]))) for im in ims]
sheet = Image.new("RGB", (W, sum(im.size[1] + 30 for im in ims)), "white"); y = 0
for im in ims: sheet.paste(im, (0, y)); y += im.size[1] + 30
sheet.save("compare_sheet.png")
Puntúa cada dimensión de 0 a 2.5 (total 10). Cualquier veto establece esa dimensión en 0.
| Dimensión | Significado | Veto |
|---|---|---|
| Fidelidad | muestra el método dentro del alcance del pie de foto; la simplificación razonable está bien | módulo o conexión inventado, flujo invertido, falta una conexión requerida, fuera de alcance, texto roto o fórmulas falsas |
| Concisión | un resumen visual con alta relación señal-ruido | oraciones en cajas (más de 15 palabras), texto del cuerpo pegado, listas de ecuaciones |
| Legibilidad | flujo de un vistazo, texto legible | título o pie de foto dentro de la figura, etiquetas redundantes, superposiciones, texto diminuto o desigual, flujo enredado |
| Estética | pulido de revista de primer nivel | artefactos de cuadrícula, formas rotas, colores neón o que chocan, clip art, fuentes mezcladas, desalineación, fondo negro |
Notas de aprobación: revista 8.5, conferencia 8.0, tesis 8.0, póster 7.0, diapositivas 6.5. Para cada dimensión, también escribe "mejor / igual / peor que la referencia" con una línea de razonamiento.
Exportación
python3 scripts/dc_export.py <root> Fig2.dc.html --out paperfigs --venue icml
- Escribe
Fig2.pdf(vectorial, tamaño del tablero) yFig2.png(300 ppp al ancho colocado). - La verificación de PDF debe pasar: todas las fuentes incrustadas, sin fuentes Tipo 3, sin imágenes rasterizadas. Si falla, corrige primero la lista de fuentes (
references/style.md). - LaTeX:
\includegraphics[width=\textwidth]{figures/fig2.pdf}dentro defigure*. No reduzcas con\resizeboxoscale=. Las figuras de una columna usanfigurey\columnwidth. - Word y presentaciones: inserta el PNG al ancho de la figura, luego verifica esa página en busca de superposiciones y saltos de página.
- Haz una copia de seguridad de la figura anterior antes de reemplazarla en el manuscrito, y reemplázala solo después de que el autor decida.
- Los pies de foto siguen la plantilla de la revista. Indica en el pie de foto qué significan los símbolos de ejemplo, qué se omitió a propósito y que un ejemplo es ilustrativo.
Nunca
- Añadir, eliminar o renombrar un módulo, conexión o límite sin la confirmación del autor.
- Usar un modelo de generación de imágenes, entregar una figura final solo de mapa de bits o copiar una figura de referencia.
- Terminar solo con un PNG, un PDF o un archivo local cuando una herramienta de lienzo esté disponible.
- Poner números de resultados en una figura de método, o variar reglas de color, tamaño de texto o vocabulario entre figuras de un mismo artículo.
- Poner texto sobre gris, usar bordes CSS de px fraccionarios o enviar un PDF con fuentes Tipo 3.
- Sobrescribir el original del autor, intercambiar una figura en el manuscrito sin permiso o elegir el candidato por el autor.
- Afirmar "legible" o "sin superposición" sin medir.
Archivos
| Archivo | Uso |
|---|---|
scripts/dc_board.py | construye tableros desde Python breve: tarjetas, tarjetas de icono, trapezoides, círculos de operación, tensores, paneles, flechas |
scripts/figure_audit.py | mide una figura al tamaño de impresión; --venue, --compare, --cvd |
scripts/dc_export.py | tablero → PDF vectorial + PNG a 300 ppp, con verificación de fuentes PDF y raster |
references/venues.md | valores predefinidos de revista: anchos, reglas establecidas, texto más pequeño en px |
references/style.md | vocabularios de formas A y B, fuentes, colores, líneas, densidad |
references/drawing-boards.md | dibujo en un lienzo de Claude Design o como tableros HTML simples; llamadas a dc_board.py; notas sobre TikZ |
references/credits.md | fuentes de los procedimientos tomados prestados y sus licencias |
examples/ | figuras ejecutables que pasan la auditoría: react-agent (vocabulario A), transformer-block (vocabulario B), rag-pipeline (mínimo) |