enriqueacosta / IllustrativeMath-GrupoLEMA

1 stars 4 forks source link

los cool-down tienen que tener formatos imprimibles #38

Closed enriqueacosta closed 3 months ago

enriqueacosta commented 6 months ago

Los cool-down:

¿De pronto se puede lograr algo de esto con <worksheet>?

enriqueacosta commented 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>
enriqueacosta commented 3 months ago

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.

enriqueacosta commented 3 months ago

163b2b0 tiene una nueva posibilidad distinta a https://github.com/enriqueacosta/IllustrativeMath-GrupoLEMA/issues/38#issuecomment-2101775382:

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.

enriqueacosta commented 3 months ago

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).

enriqueacosta commented 3 months ago

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:

enriqueacosta commented 3 months ago

Los ú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