✖

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 $... $: ∫ x e−x2 𝑑𝑥 y texto entre \(... \): ∫ x e−x2 𝑑𝑥

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 funciona base^{\displaystyle #1} pero si funciona base^{\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}

lim ⁡ u→0 (sen ⁡ u u )u−2

make4ht: Exponentes con \displaystyle

lim ⁡ u→0 (sen ⁡ u u )u−2

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)