Plantillas y design systems
¿Qué es?
Una plantilla es un documento base con todas tus decisiones de diseño ya tomadas, listo para reutilizar. Un design system va un paso más allá: es un conjunto de «bloques» con significado propio —una definición, un ejemplo, un procedimiento— que tú declaras por lo que son, no por cómo se ven. La apariencia se define una sola vez en un lugar central.
¿Cómo funciona?
La pieza clave son los comandos y entornos semánticos: en vez de escribir el formato cada vez (negrita, color, tamaño), creas un entorno como \begin{definicion} y dentro pones solo el contenido. El diseño de ese bloque vive en su definición, construida con paquetes como tcolorbox. Si un día decides cambiar cómo se ven todas las definiciones, editas una sola línea y el cambio se propaga a cada documento que use esa plantilla.
¿Para qué sirve?
Este es el módulo bisagra hacia tu proyecto final. Tu kit de material didáctico no es un documento suelto, sino una familia coherente de guías, talleres y fichas que deben verse como parte del mismo libro. Un design system es justo lo que convierte decisiones individuales en un sistema reutilizable: una decisión, aplicada en todas partes. Sin él, mantener un kit coherente sería rehacer el diseño a mano una y otra vez.
Hasta ahora diseñaste documentos uno por uno. Un design system convierte esas decisiones en un sistema reutilizable: defines una vez cómo se ve una "definición", un "ejemplo" o un "procedimiento", y luego solo declaras qué es cada bloque, no cómo se ve. Es la diferencia entre maquetar diez guías a mano y producir un kit coherente. Este es el módulo bisagra hacia tu proyecto final.
La idea central: comandos semánticos
Un comando semántico describe el significado, no el formato. Compara estas dos formas de marcar un concepto clave:
% Maquetación directa: frágil, irrepetible, imposible de mantener
{\sffamily\bfseries\color{blue}\large Definición:} El área es...
% Semántico: declaras QUÉ es; el diseño vive en otra parte
\begin{definicion}{Área}
El área es la medida de una superficie...
\end{definicion}
Con la versión semántica, si mañana decides que las definiciones llevan un filete lateral en vez de negrita, cambias una definición de entorno y se actualizan las cincuenta guías de tu kit. Esa es toda la promesa de un design system: una decisión, aplicada en todas partes.
Construir un entorno semántico
Los entornos visuales se construyen con tcolorbox. Aquí una "definición" como filete lateral de color —plano, sin sombras ni marcos pesados, estética editorial:
\usepackage[most]{tcolorbox}
\definecolor{materia}{RGB}{30,64,120}
\newtcolorbox{definicion}[1]{
enhanced, breakable, colback=white, colframe=materia,
boxrule=0pt, leftrule=2.5pt, arc=0pt, sharp corners,
left=10pt, right=4pt, top=6pt, bottom=6pt,
title={\sffamily\bfseries\color{materia}#1},
fonttitle=\normalsize, coltitle=materia,
attach title to upper={\par\smallskip}
}
Lo usas así, y nunca más piensas en su formato:
\begin{definicion}{Fracción}
Una fracción representa una o varias partes iguales de un todo.
\end{definicion}
Tip: define un vocabulario cerrado y pequeño: definición, ejemplo, procedimiento, nota, alerta, práctica. Seis u ocho entornos cubren cualquier material didáctico. Si te ves creando un entorno nuevo para cada página, tu sistema no es un sistema. La restricción es el diseño.
El preámbulo reutilizable
El corazón del design system es un único archivo de preámbulo que centraliza todas las decisiones: fuentes, color, jerarquía, espaciado y los entornos semánticos. Tus documentos solo lo importan:
% --- documento.tex ---
\input{design/preamble.tex} % todo el diseño vive aquí
\setsubject{cnat} % elige la tinta de la asignatura
\begin{document}
\section{La célula}
\begin{definicion}{Célula}
Unidad básica de los seres vivos.
\end{definicion}
\end{document}
El cuerpo quedó casi sin formato: solo contenido y semántica. Un comando como \setsubject{cnat} cambia la tinta de toda la guía —de azul matemático a verde de ciencias— sin tocar una sola línea más. Eso es un sistema parametrizado.
Error común: copiar el preámbulo completo dentro de cada documento. En cuanto tengas tres guías, cada arreglo hay que hacerlo tres veces y empiezan a divergir. Mantén un solo preamble.tex y úsalo con \input. La regla de oro: los archivos de contenido no llevan \vspace, color ni maquetación —solo bloques semánticos.
Comandos para datos repetidos
El sistema también captura los metadatos recurrentes. En vez de teclear el encabezado en cada documento, defines comandos parametrizables:
\newcommand{\hdrinstituto}{Instituto Técnico · Zapatoca}
\newcommand{\hdrcapitulo}{} % vacío por defecto
\renewcommand{\hdrcapitulo}{Ciencias · Grado 7 · La célula}
Así el encabezado, el pie y la identidad institucional son consistentes en todo el kit, y cambiar el nombre de la institución es editar una línea.
Ejemplo guiado: un mini design system
Crea mini-preamble.tex con esto:
\usepackage{fontspec}\usepackage{polyglossia}\setdefaultlanguage{spanish}
\usepackage[most]{tcolorbox}\usepackage{xcolor}\usepackage{titlesec}
\setmainfont{Charter}[Ligatures=TeX, Numbers=Lining]
\setsansfont{Inter}[Ligatures=TeX, Numbers=Lining]
\definecolor{mat}{RGB}{30,64,120}\definecolor{cnat}{RGB}{16,110,80}
\colorlet{materia}{mat}
\newcommand{\setsubject}[1]{\colorlet{materia}{#1}}
\titleformat{\section}{\LARGE\sffamily\bfseries\color{materia}}{}{0pt}{}
[\vspace{2pt}{\color{materia!30}\titlerule[0.8pt]}]
\newtcolorbox{definicion}[1]{enhanced, colback=white, colframe=materia,
boxrule=0pt, leftrule=2.5pt, arc=0pt, left=10pt,
title={\sffamily\bfseries\color{materia}#1}, fonttitle=\normalsize,
attach title to upper={\par\smallskip}}
Y un documento que lo usa:
\documentclass[11pt, letterpaper]{article}
\input{mini-preamble.tex}
\setsubject{cnat} % <- cambia toda la identidad a verde
\begin{document}
\section{La célula}
\begin{definicion}{Célula}
Unidad estructural y funcional de los seres vivos.
\end{definicion}
\end{document}
Paso a paso: (1) el preámbulo es la única fuente de verdad —fuentes, dos tintas, jerarquía y el entorno definicion; (2) \setsubject{cnat} reasigna la tinta activa: el título y el filete de la definición se vuelven verdes sin tocar nada más; (3) el cuerpo es puro contenido semántico. Cambia cnat por mat y recompila: misma estructura, otra asignatura. Eso es un design system funcionando.
Tech English: a estos bloques con significado se les llama semantic commands o semantic markup; al archivo central, shared preamble; y a la decisión de formato unificada, single source of truth. "Separate content from presentation" es el principio que estás aplicando.
Ejercicios
Evaluados por consistencia y reutilización, no por cuántos entornos crees.
-
Tu vocabulario mínimo. Diseña un preámbulo compartido con tres entornos semánticos (p. ej.
definicion,ejemplo,practica), una sola tinta parametrizable con\setsubject, y jerarquía coherente. Escribe dos documentos breves de asignaturas distintas que lo importen y solo cambien\setsubjecty el contenido. Se valora: que ambos documentos sean idénticos en estructura y solo difieran en tinta y texto. -
Refactor a sistema. Toma dos documentos tuyos que repitan formato y extrae todo lo común a un
preamble.texúnico, dejando los cuerpos solo con semántica. Cambia una decisión global (la tinta o el grosor del filete) y verifica que se propaga a ambos. Se valora: un cambio, un lugar, efecto en todo —la base directa de tu kit de material didáctico final.