Tuve una idea esta mañana y me gustaríacompartir¡Y saber si alguien ya lo ha desarrollado en alguna parte!
Un grupo de Mozilla está construyendo actualmente una aplicación JavaScript capaz de transformar cualquier código PDF en HTML5, por lo que no necesita ningún complemento para un lector de PDF externo (Adobe, Evince, Xpdf,...). Actualmente es una extensión, pero es posible que se incluya en el kernel del navegador en el futuro.https://github.com/mozilla/pdf.js.
Usando eso y un editor de texto en línea (codeMirror), se están ejecutando algunas aplicaciones mías.PDFlátexen el lado del servidor... proporcionando algunas instalaciones en línea (La)TeX. Esto es común.
¿Qué tal tener el mismo tipo de JavaScript capaz de analizar código (La)TeX directamente y, por supuesto, renderizar un PDF listo para imprimir y orientar la página en su pantalla? Para el usuario final, tiene un navegador web PDF pero tiene el código (LaTeX) cuando solicita ver el código fuente. El código HTML5 final no se ve realmente excepto para la depuración y se vuelve como el código ensamblador en el desarrollo clásico de C.
Esto proporcionaría acceso al código fuente (LaTeX) de cualquier artículo científico... en lugar de reinventar una fórmula matemática y, si no me equivoco,Esta ES la idea KnuthTenía hace unas décadas al construir TeX. La gente debería compartir código (La)TeX, no código DVI, PS ni PDF. El navegador del cliente (Firefox, Chrome, Opera, Safari y otros) debe manejarPDFlátexprocesar localmente!
Permítanme explicar mis requisitos de otra manera;
Trabajo para la industria durante 20 años y supongo que uso TeX y LaTeX en la universidad como muchos de ustedes. Si analizamos nuestros principales requisitos reales en sistemas de documentación, creo que la industria, al menos los sistemas integrados críticos para los que trabajo, necesita:
Un sistema de documentos programable; donde puede procesar los requisitos del cliente dentro de declaraciones informales en inglés para derivar y automatizar muchas cosas como trazabilidad de requisitos, documentos de diseño, secuencias de pruebas,...
Una representación muy bonita/profesional, gráficos, tablas, diagramas perfectos...
Seguro que dicho documento es tal versión y el contenido no cambiará. La Web no proporciona ninguna "firma/resumen digital" visible en la impresión. El mejor sistema de "enlace permanente", "contenido permanente" es el formato PDF y es por eso que los documentos oficiales son PDF (desafortunadamente, este es un formato no optimizado, pero se usa en todos los lugares donde se necesitan documentos estáticos)
Es bien sabido que los documentos PDF producidos a partir de LaTeX satisfacen esos requisitos mucho mejor que MS Word u otro LibreOffice cuando sólo se utilizan estos últimos en la industria.
Lo que puede cambiar este enfoque es la llegada de la "computación en la nube", no una idea revolucionaria en sí misma, sino el hecho de que nunca seDescargandoarchivos.
La extensión jsPDF de Mozilla y el lector de PDF incorporado en Chrome están dando el primer paso, demostrando que los PDF son realmente como otras páginas HTML (Google también las está encontrando) y esto es muy importante para la industria que requiere esas páginas estáticas (enlace permanente/contenido permanente). ) documentos.
Debido a que los PDF de mejor calidad provienen de la fuente LaTeX/TikZ, ahora es una oportunidad para proporcionar a la industria un sistema de documentos realmente eficiente en la nube.
Pero si ustedes (los expertos en TeX) están luchando por tal o cual pequeña función avanzada para una variante de TeX, no tendremos ninguna posibilidad de ver un Web LaTeX y, lo que es más importante, ninguna posibilidad de ver LateX utilizado en la industria algún día.
Quizás tengas razón al decir que esto es imposible debido a la complejidad. Pensé exactamente lo mismo hace dos años sobre un lector de PDF JavaScript y ahora parece que el resultado está siendo bastante bueno en comparación con el lector nativo de Adobe.
Acerca de JavaScript, odio este lenguaje, pero este es el único lado del cliente compatible.
Respuesta1
No quiero estropear la diversión, pero hay algunas cuestiones a considerar.
LaTeX es solo un formato/paquete de macros para el lenguaje de macros TeX. Pero hay muchos compiladores TeX:
- Texas
- TeX con e-TeX
- pdfTeX
- XeTeX
- LuaTeX
- VTeX
- Muchos otros …
Un archivo LaTeX puede depender de un compilador en particular porque utiliza características del compilador que no proporcionan los otros compiladores.
No conozco una versión JavaScript de TeX. Incluso los proyectos que probaron Java han fracasado más o menos (NTS, ExTeX).
Existen otros programas que podrían ser necesarios para compilar el archivo:
- Generación de índices: Makeindex, Xindy
- Bibliografía: bibtex, bibtex8, biber,…
- Hay una función de escape de shell que permite llamar a programas externos.
- …
Un archivo LaTeX no dice cómo debe compilarse, qué programas se necesitan en qué orden, qué argumentos, con qué frecuencia,…
Un "archivo LaTeX" se puede organizar en un archivo maestro que incluye otros archivos, imágenes externas,…
La compilación de archivos LaTeX normalmente requiere la posibilidad de escribir y leer archivos auxiliares.
Por lo general, un archivo LaTeX necesita otros paquetes, archivos y fuentes. Por lo tanto, necesitarías más o menos una distribución TeX completa con sus actualizaciones (diarias).
…