3. Cómo funciona la plantilla
La idea de compilar con PdfLaTeX y Make4ht (y el archivo de confuguración) es tener una versión pdf y una versión html.
La versión html (posiblemente asistida por IA) permite aumentar la visibilidad, la accesibilidad, la "gestión de la carga
cognitiva" a través de botones desplegables, "teoría bajo demanda", "andamiaje", integración de tutores y artefactos,
"micro-learning" (videos inscrustados) y en general permite integración con scripts (como JavaScript) para crear gráficos
interactivos y cálculos en tiempo real.
Preámbulo y configuración html
- 1.
- WebPreambulo.tex: contiene el preámbulo del documento. Carga paquetes y entornos para PdfLaTeX y para Make4ht
- 2.
- config.cdf: carga algunos entornos especiales, la configuración y los diseños para la salida html. La plantilla ya viene configurada.
- 3.
- WebPreambulo.tex y config.cdf: se comunican en algunas cosas, como entornos que son válidos para PDF y para html
Paquetes usados en la plantilla y soportados por Make4ht. Hay muchos paquetes adiconales que Make4ht soporta, pero en esta plantilla incluimos los más usados.
- 1.
- Paquetes esenciales: float, lipsum, multicol, iftex, natbib [numbers], microtype, xparse, xargs, environ, etoolbox, xcolor [table], colortbl, cancel, bbm, xintexpr
- 2.
- Texto y fuentes: fontawesome5 [fixed], latexsym, stmaryrd, mathtools, amssymb, amsthm, amsmath
- 3.
- Formato y diseño: caption [labelfont=bf,font=small], subcaption, enumitem
- 4.
- Elementos gráficos: tikz (\usetikzlibrary{matrix}), adjustbox, changepage, array, booktabs, multirow, tkz-tab,
pfgplot.
Algunas librerías de Tikz no son soportadas - 5.
- Hipervínculos y referencias: hyperref
- 6.
- Geometría y maquetación:¨ geometry [a4paper, top=2cm, bottom=2cm, left=1.5cm, right=1.5cm, headsep=10pt]
- 7.
- Entornos personalizados: mdframed, tcolorbox
- 8.
- Listados de código:¨ listings (ya configurado en PdfLaTeX y para Make4ht)
Paquetes no soportados por Make4ht: Estos paquetes aparecen en el preámbulo con \If\HCode\else ...paquetes no soportados... \fi.
Por ejemplo nicematrix, polynomial, algunas librerías de Tikz, etc. Si se van a usar en el html, usualmete se incluye html puro
equivalente o una imagen.
Comandos especiales de la plantilla
- 1.
\solopdf{#1}: PdfLaTeX lo compila, Make4ht no lo ve. Solo para cosas relevantes para la salida pdf o para paquetes no soportados (como nicematrix, polynomial, hhline, etc.)- 2.
\solomk{#1}: Make4ht lo compila, PdfLaTeX no lo ve. Solo para cosas relevante para la versión html- 3.
\cejillamk{#1}{#2}: PdfLaTeX solo ve el contenido #2 y lo compila. Make4ht crea en el html una pestaña desplegable con nombre #1 y contenido #2.
Si solo queremos la pestaña desplegable en html, escribimos
\solomk{\cejillamk{#1}{#2}}- 4.
\ejersol{#1 pregunta}{#2 respuesta}: Lo compilan tanto PdfLaTeX como Make4ht,este úultimo crea una botón desplegable "Solución" para ver/ocultar la respuesta- 5.
\dosventanasmk{#1}{#2}: PdfLaTeX lo ignora. Solo lo compila Make4ht. Se usa para crear una ventana en el html principal para desplegar una página .html(que contiene cosas como un script, un tutor, un artefacto, etc.)
Por ejemplo, desplegar el archivo.html que se encuentar, en la misma carpeta, en la subcarpeta HTML
\dosventanasmk{HTML/archivo.html} {800}{580} % ancho 800px alto 500px en el html principal {80}{70} % P\’agina independiente: 80% ancho de la pantalla, 70% alto de la pantalla {Descripci\’on}{Puedes interactuar aqu\’{\i} o abrirla en ventana aparte}
- 6.
\botonvertutor{#1}{#2}: se usa con\solomk{}. Es un botón que abre un archivo #1.html con el "tutor" (instrucciones paso por paso) para alguna actividad. #2 es la leyenda del botón- 7.
\ifventana{#1}{#2}: Invisible para PdflateX, solo la ve Make4ht. Se usa para una pequeña ventana emergente, con una página web indicada en el url con #1. Esta página web es sencilla y, en esta plantilla se compila en la carpeta ifHTML con config2.cfg, es decir, puede tener texto matemático, entornos, scripts, etc. Pero la idea es que sea de pocas líneas.- 8.
\insertarhtml{#1}: se usa para insertar html puro (PdfLaTeX lo ignora). Usos: cosas solo aplicables a html (<iframe>, <object>, <scrip>, <p>, etc.) o también la versión html de alguna tabla u otra código que Make4ht no pueda compilar- 9.
\ifdefined\HCode #1 \else #2 \fi: #1 es código que solo Make4ht ve, y #2 es código que solo PdfLaTeX ve. Usualmente solo lo usamos en el preámbulo, para aislar paquetes o comandos de Make4ht o de PdfLaTeX (en el preámbulo no se puede usar\solomk, ni\solopdf).- 10.
\ejersol{#1}{#2}. Se usa para poner una pregunta #1 con respuesta #2. Lo ven PdfLaTeX y Make4ht- 11.
\hejersol{#1}{#2}. Se usa para poner una pregunta #1 con respuesta #2 en el html. Solo lo ve Make4ht- 12.
\ancla{#1}. Se usa para poner anclas en el html de salida, para luego hacer referencia a ese lugar del documento- 13.
\linea. Agrega una línea gris claro delgada en el PDF y el html- 14.
\bigskip, \medskip, \smallskip,. Están configurados para que funcione igual en PDF y html- 15.
tablahoverfilas. Entorno para habilitar "efecto hover" en las filas de una tabla, en el html.- 16.
Compilar: Este documento se llama AMGGeneral2026.tex- (a)
- La compilación PdfLaTeX (como usual) produce un archivo AMGGeneral2026.pdf
- (b)
- La compilación Make4ht produce un archivo AMGGeneral2026.html
Este archivo no es autocontenido. Va acompañado de AMGGeneral2026.css, la carpeta css, la carpeta js, la carpeta images y las figuras .svg que se generaron en la raíz
La compilación se hace en la terminal (consola). Debemos ir al directorio donde está el archivo AMGGeneral2026.tex
> cd /ruta carpeta/> make4ht --utf8 -c config.cfg -f html5 AMGeneral2026.tex "mathml,mathjax,svg,Gin-dim"
- 17.
Entornos. En esta plantilla se han definido varios entornos. El diseño se puede modoficar tanto en el archivo WebPreambulo.tex para PdfLaTeX, como en el archivo de configuración config.cfg, para Make4ht. La lista de entornos es
- (a)
\ObjetivoGeneral{...}- (b)
\ObjetivosEspecificos{...}- (c)
\resumen{...}- (d)
\palabrasclave{...}- Entornos en general:
\begin{entorno}\label{ent:enti}...\end{entorno}\begin{entorno}[nombre]\label{ent:entk}...\end{entorno}
- (e)
\begin{definicion}...\end{definicion}- (f)
\begin{teorema}...\end{teorema}- (g)
\begin{ejemplo}...\end{ejemplo}- (h)
\begin{corolario}...\end{corolario}- (i)
\begin{proposicion}...\end{proposicion}- (j)
\begin{lema}...\end{lema}- (k)
\begin{caja}...\end{caja}- (l)
\begin{axioma}...\end{axioma}- (m)
\begin{actividad}...\end{actividad}- (n)
\begin{notahistorica}...\end{notahistorica}- (o)
\begin{problema}...\end{problema}- (p)
\begin{ejercicio}...\end{ejercicio}- (q)
\begin{proyecto}...\end{proyecto}- (r)
\begin{aplicacion}...\end{aplicacion}
- 18.
\displaystyle. Normalmente, este comando no funciona bien con algunos símbolos para texto "inline". Hemos configurado Make4ht, para que el "hook" $ se entienda como$\displaystyle...$. El texto pequeño y normal se obtiene con\(...\). PdfLaTeX lo entiende como usual.
Por ejemplo: Texto entre
$... $:y texto entre\(... \):
Make4ht $...$\(...\)normal: - 19.
\eds{#1}. Este comando es para exponentes grandes. Cuando se compila con la combinación "mathml,mathjax,svg", los exponentes podrían salir pequeños. En ese caso no funcionabase^{\displaystyle #1}pero si funcionabase^{\eds{#1}}
Por ejemplo
%% Exponentes grandes en html %% make4ht con "mathml,mathjax,svg" usa base^{\eds{#1}} $\lim_{u\rightarrow 0} \left(\dfrac{\sin u}{u}\right)^{\eds{u^{-2}}} $\\ %% PDFLaTeX y compilación con "mathml" o con "mathjax" \lim_{u\rightarrow 0} \left(\dfrac{\sin u}{u}\right)^{\displaystyle u^{-2}} $\\
make4ht: Exponentes con\eds{#1}
make4ht: Exponentes con
\displaystyle
- 20.
\ejersol{\bex\itemps{#1}{#2}...\eex}. Se usa para listas de ejercicios:
\ejersol{ \bex % numeaci\’on \itemps{pregunta 1 }{ respuesta 1} ... \itemps{pregunta k }{ respuesta k} \eex } %fin de la lista
- 21.
- Codificación: Usamos utf8 (Importante: otra codificación podría traer problemas de compilación)