¿Posibilidad de ampliar las capacidades de LaTeX dados los avances tecnológicos?

¿Posibilidad de ampliar las capacidades de LaTeX dados los avances tecnológicos?

Como se han señalado innumerables preguntas/respuestas en el pasado, LaTeX requiere que usted compile al menos dos veces cuando hay referencias, TOC/LOF, etc. Muchas de estas situaciones se han documentado en la respuesta a¿Cuáles son las situaciones en las que tienes que redactar un documento más de una vez?

Los esfuerzos por evitar este paso adicional han tenido éxito en casos seleccionados y muy específicos, como ¿Cómo puedo evitar compilar dos veces? Sin embargo, es una práctica que damos por sentado hoy en día, simplemente desarrollando scripts y macros para automatizar este proceso lo suficiente como para aliviar el dolor.

la respuesta a[esta pregunta sobre cómo pasar a la página anterior]alude a que las limitaciones de memoria de las primeras computadoras son fundamentales para las razones por las que TeX se construyó originalmente como estaba. La información que podría ser necesaria más adelante simplemente se guarda en cualquier cantidad de archivos auxiliares y se hace referencia a ella cuando se realizó el siguiente pase. Una vez que una página está "completa", el compilador la olvida.

Muchas veces he pensado:Dados los avances en el procesamiento de computadoras y las capacidades de memoria, ¿es posible/realista/planificado que LaTeX mantenga una mayor cantidad del documento en la memoria para evitar tener que compilarlo varias veces?

Mantener el documento completo en la memoria consumiría mucha memoria y quizás algunos documentos muy grandes no podrían seguir este camino (tal vez tendría que ser un comportamiento opcional). Pero parece que muchos aspectos de la composición tipográfica se beneficiarían de este tipo de compilación mejorada.

Me doy cuenta de que esto llega al corazón de qué es (La)TeX y cómo se construyó. No es un simple parche; probablemente requiera una reescritura de todo el núcleo (¿o no?). Ciertamente, también hay otros problemas relacionados con esto (¿Esto realmente reduciría el tiempo de compilación?); Estaría encantado de recibir una referencia a otro lugar que analice este tema o temas relacionados. (¿Se ha pensado en esto para LaTeX3?)

Respuesta1

Como dijo Joseph, esto no es una característica del látex, es una característica del tex (compartida con xetex y luatex), por lo que no hay una forma factible de hacerlo en algo llamado látex. Además, no creo que sea cierto que, en general, las limitaciones de memoria sean tan diferentes: las expectativas de la gente aumentan incluso más rápido que la capacidad del hardware. Vea la necesidad de externalizar tikz, ya que un documento con algunas imágenes de tikz pronto puede consumir grandes cantidades de memoria, incluso en hardware moderno.

Pero todo está realmente en un nombre: cualquier sistema que permita referencias hacia adelante y hacia atrás almacena la información.en algún lugar. Puede pensar que el látex lo almacena en el archivo .aux en el disco como algo muy de los años 1970, pero el archivo .aux puede estar en un SSD o en un sistema de archivos virtual en la memoria principal y acceder a él no tiene por qué ser ningún obstáculo práctico, y como usted comentó que puede reemplazar "latex" por make o latexmk o arara o context o un archivo por lotes que simplemente ejecuta latex 4 veces, por lo que el efecto final para el usuario puede ser el de compilar en una sola pasada si eso es lo que se desea.

Por supuesto, hacerlo de una sola vez solo es realmente beneficioso si puede escribir el documento completo sin errores y nunca necesita procesarlo más de una vez. Si está utilizando un ciclo de edición/compilación/vista previa, solo es una molestia porque ralentiza el ciclo.

información relacionada