Closed enriqueacosta closed 3 months ago
En este momento los graXX-uniVV tienen dos versiones, pero cada una tiene un problema:
Esta genera una sección que solo tiene los <statement>
(ideal para impresión), pero por desgracia está recopilando todos los project-like
, que incluye warmups, actividades y cool-downs. No hay forma de restringir solo a <project>
que es el tag actual de los cool-downs (actividades de cierre). Eso se debe poder arreglar en los archivos internos de pretext que determinan cómo se crean las <solutions>
.
<solutions project="statement">
<title>Actividades de cierre</title>
</solutions>
Este sí filtra solo las actividades de cierre, pero tiene dos problemas distintos: (1) No hay forma de apagar las soluciones (no le sirve al docente para imprimir) y (2) aparecen como referencias (knowl en HTML y links en lalex) --- no compila los <statements>
:
<section>
<title>Actividades de cierre</title>
<list-of elements="project" divisions="section" empty="yes" solution="no"/>
</section>
Una posibilidad, pero que es un poco "muy manual", es crear un archivo standalone .ptx
para cada cooldown. Por ejemplo:
Archivo: gra3-uni4-secA-lec1-cool-standalone.ptx
<?xml version='1.0' encoding='utf-8'?>
<pretext xml:lang="es-ES" xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- we first include a file which contains the docinfo element: -->
<xi:include href="../meta/meta_docinfo.ptx" />
<article xml:id="gra3-uni4-secA-lec1-cool">
<title>Matemáticas Ilustrativas</title>
<subtitle>Grado 3 - Unidad 4</subtitle>
<!-- incluir el archivo del cool-down -->
<xi:include href="../gra3-uni4/gra3-uni4-secA-lec1-cool.ptx"/>
</article>
</pretext>
Este archivo se puede procesar con versiones "minimas" de pretext (no usando el CLI) para producir un archivo .tex
. Por ejemplo, en la terminal:
xsltproc --xinclude <path to>/pretext-latex.xsl <path to>/gra3-uni4-secA-lec1-cool-standalone.ptx > gra3-uni4-secA-lec1-cool-standalone.tex
Esto crea un archivo gra3-uni4-secA-lec1-cool-standalone.tex
que compila con Latex común y corriente si se copian a la carpeta las imágenes que se necesitan (porque esta corrida de xsltproc no hace todas las cosas mágicas que hace el Pretext CLI con el "publisher file" de pasar todas las imágenes, etc).
Con este sistema, tocaría hacer un archivo graVV-uniYY-secZZ-lecWW-cool-standalone.ptx
a mano (o que lo haga un script) para cada cool-down y tocaría agregar las imágenes en la carpeta "a mano" para poder compilarlos todos y producir los pdf de los cooldowns.
Lo bueno es que se podría crear una versión modificada de pretext-latex.xsl
que produzca un archivo latex con los encabezados correctos para producir los pdf de los cool-downs con formatos bonitos, y que por ejemplo, no incluya las soluciones, o los <prelude>
y <postlude>
con notas para el profesor.
Sin embargo, debe haber una forma de hacer que todo esto pase automáticamente y genere todos los gra3-uni4-secA-lec1-cool-standalone.tex
a partir de gra3-uni4.ptx
con un archivo .xsl
hecho a la medida que solo seleccione los cooldown (que en la actualidad se reconocen por ser los <project>
) y genere esos archivos .tex para cada uno (tal como pretext-html.xsl
produce un archivo .html
para cada elemento de un piso del arbol del documento, determinado por <common><chunking level="2"/>
en el archivo de publication
. Es cuestión de escribir el .xsl
apropiado, que use las partes clave de la procesada a tex de Pretext para que el encabezado de los archivos .tex
tengan todas las definiciones que necesitan.
163b2b0 tiene una nueva posibilidad distinta a https://github.com/enriqueacosta/IllustrativeMath-GrupoLEMA/issues/38#issuecomment-2101775382:
.xsl
especial (pretext-latex-cool.xsl
) para poder procesar los archivos de los cooldown (tipo gra3-uni4-secB-lec10-cool.ptx
) sin tener que crear el archivo nuevo -standalone.ptx
Con ese .xsl
se produce el tex hecho a la medida para generar el pdf del cool-down
xsltproc [path to pretext-latex-cool.xsl] archivo-cool.ptx > output.tex
por ejemplo
xsltproc ~/.ptx/xsl/pretext-latex-cool.xsl gra3-uni4-secB-lec10-cool.ptx > gra3-uni4-secB-lec10-cool-standalone.tex
.tex
para que esto funcione muy bien.163b2b0 tiene la primera version de pretext-latex-cool.xsl
que hace esto. Nota: xsltproc avisa de unos errores (porque pretext-latex-cool.xsl
carga pretext-latex.xsl
que espera un archivo .ptx
que sea pretext válido -- con <pretext>
como tag principal), pero igual produce el archivo .tex
sin problemas.
Esto tiene el beneficio de no tener que crear un archivo más y de permitir usar un preambulo de .tex
completamente a la medida, peri sigue con el problema de no hacer copias de las imágenes necesarias para que el tex
se pueda compilar de manera automática.
Tampoco (igual que la estrategia en https://github.com/enriqueacosta/IllustrativeMath-GrupoLEMA/issues/38#issuecomment-2101775382) tiene forma de saber automáticamente el número y título de la lección a la que pertenece, lo cual no es bueno pues esto no debe depender del nombre del archivo (si se agrega una nueva lección, no debería tener que cambiarse a mano los nombres de todos los archivos que siguen, ni el número de la lección en los cool-down correspondientes.
b9bbba6 tiene la v0 del script createStandaloneCools que implementa https://github.com/enriqueacosta/IllustrativeMath-GrupoLEMA/issues/38#issuecomment-2105541839 para todos los archivos -cool.ptx
en una carpeta y guarda los archivos .tex
en la carpeta que se especifique (dentro del script).
Con el último commit ya está implementada la versión 0.1 de un sistema que toma los archivos -cool.ptx
originales y produce archivos imprimibles a partir de estos. Lo único que hay que hacer es correr el script scripts/createStandaloneCools
en la carpeta de la unidad correspondiente.
Falta:
source/custom-xsl/pretext-latex-cool.xsl
que determina cómo el script produce el .tex
. Ver el prototipo que se hizo a mano y al archivo .tex correspondienteLos últimos commits mejoran source/custom-xsl/pretext-latex-cool.xsl
para que produzca un pdf que ya se ve más profesional.
También cambian el script scripts/createStandaloneCools
para que ahora produzca el output en la carpeta assets/cools-pdf
que ya no require que se creen copias de las imágenes que se necesitan (las carga directamente de las carpetas en /assets
necesarias.
También incluyen un ajuste al TEMPLATE de la lección, para que incluya in link al pdf del cool-down con un texto "constante" en /source/meta/customizations/textos-constantes-v1.ptx
Los cool-down:
hojas reproducibles
) para que se puedan imprimir para los estudiantes. Debería haber referencia con # de página para que sea fácil encontrarla (en Pretext parece que eso se puede hacer de forma automática si se pone la opción deprint
para el LaTeX).¿De pronto se puede lograr algo de esto con
<worksheet>
?