Reducir código LaTeX repetido con comandos, entornos e input

BlogEasyLaTeX OfficialPublicado

Reduce repeticiones de tres formas: comandos para formato, entornos para estructuras y \input para archivos compartidos. Empieza por contenido realmente idéntico que cambiará conjuntamente; no toda repetición necesita abstracción.

Formato repetido: comandos

Este ejemplo define \vect, \code y \R una vez:

LaTeX
\documentclass[11pt]{article}\usepackage[T1]{fontenc}\usepackage[spanish]{babel}\usepackage{amsmath,amssymb}\newcommand{\vect}[1]{\boldsymbol{#1}}\newcommand{\code}[1]{\texttt{#1}}\newcommand{\R}{\mathbb{R}}\begin{document}Para $\vect{x}\in\R^d$, abre \code{main.tex}.​\end{document}

Las definiciones del preámbulo están disponibles en el cuerpo; las del cuerpo, solo después de ejecutarse y dentro de su alcance. Ante Command \R already defined., cambia el nombre, usa \renewcommand si la redefinición es intencional o \providecommand para una alternativa de reserva.

\newcommand admite hasta nueve parámetros, pero incluso cuatro o cinco pueden hacer difícil leer una llamada sin consultar la definición.

Estructuras repetidas: entornos

resulttable recibe columnas y encabezado:

LaTeX
\documentclass[11pt]{article}\usepackage[T1]{fontenc}\usepackage[spanish]{babel}\usepackage{booktabs}\newenvironment{resulttable}[2]{%  \begin{table}[htbp]\centering  \begin{tabular}{#1}\toprule  #2\\\midrule}{%  \bottomrule\end{tabular}  \end{table}}\begin{document}\begin{resulttable}{lcc}{Modelo & Exactitud & F1}Referencia & 0.812 & 0.794 \\Nuestro método & 0.867 & 0.851 \\\end{resulttable}\end{document}

Cada tabla aporta filas; el entorno, líneas y colocación. Un error en la definición puede señalarse en la expansión: prueba una llamada mínima para aislarlo.

Definiciones compartidas en otro archivo

Evita copiar preámbulos. preamble.tex:

LaTeX
\usepackage{amsmath,amssymb}\newcommand{\vect}[1]{\boldsymbol{#1}}

main.tex:

LaTeX
\documentclass{article}\usepackage[T1]{fontenc}\usepackage[spanish]{babel}\input{preamble}\begin{document}$\vect{x}$\end{document}

Aquí el principal está en la raíz. Las rutas se resuelven desde el directorio de compilación, no desde el capítulo que llama a \input. Desde chapters/intro.tex, utiliza \input{chapters/intro2} si compilas desde esa raíz.

\include sirve para capítulos independientes: añade saltos y auxiliares propios. \includeonly limita vistas previas, pero las referencias omitidas dependen de auxiliares; compila todo para la revisión final. No se permite anidar \include.

Cuándo compensa

Busca repetición frecuente, contenido verdaderamente igual y cambios conjuntos. No es una regla numérica rígida. Dos usos pueden no justificar saltar entre archivos; muchas opciones para variaciones leves pueden hacer la llamada más compleja que el original.

Compilar y revisar

Comprueba definiciones antes del cuerpo, rutas desde la raíz y destinos de ecuaciones, tablas y referencias.

ErrorCausaAcción
Command \foo already defined.Nombre ocupadoRenombrar o redefinir intencionadamente
Environment foo undefined.Definición tardía o sin cargarLlevar al preámbulo y revisar \input
File 'chapters/intro2.tex' not found.Ruta relativa al capítuloCorregir desde la raíz
El registro señala otro lugarError durante expansiónProbar definición y llamada mínima

En resumen

Comandos para formato, entornos para estructuras y archivos para definiciones. Mantén los límites de capítulos en el principal y abstrae solo si mejora lectura y mantenimiento.

Importa toda la carpeta en EasyLaTeX y selecciona main.tex.