Lout es un formateador de documentos por lotes inventado por Jeffrey H. Kingston. Lee una descripción de alto nivel de un documento similar en estilo a LaTeX y produce un archivo PostScript que se puede imprimir en la mayoría de las impresoras. También están disponibles la salida de texto sin formato y PDF . El término Lout designa principalmente un lenguaje de programación de formato de documentos, mientras que la (única) implementación del lenguaje (por Jeffrey H. Kingston) a veces se conoce como Basser Lout . Basser Lout es software libre , distribuido bajo los términos de la Licencia Pública General GNU .
Desarrollador (es) | Jeffrey H. Kingston |
---|---|
Lanzamiento estable | 3.40 / 27 de junio de 2013 |
Escrito en | C |
Sistema operativo | Sistemas compatibles con Linux , MS-Windows , POSIX |
Tipo | Formato de texto |
Licencia | GPL |
Sitio web | savannah.nongnu.org/projects/lout |
Lout copia algunos de sus algoritmos de formato de TeX, pero está destinado a ser mucho más fácil de programar debido al uso de un lenguaje de programación funcional de alto nivel , en lugar de un lenguaje de macros .
Mientras que una instalación típica de LaTeX , junto con los binarios de TeX, toma de 50 a 300 MB, Lout es de aproximadamente 1 MB. Esto se debe principalmente a la menor cantidad de paquetes y herramientas, pero también podría atribuirse a una implementación de C en lugar del código fuente del lenguaje de macros. [1]
Lout viene con una guía de usuario fácil de leer, y los conceptos básicos se pueden aprender en un par de horas. Incluye paquetes para crear tablas, gráficos, ecuaciones y diagramas, todo en un paquete "listo para usar". Lout es útil para crear informes y libros y proporciona un control muy preciso sobre la composición tipográfica.
Formateo de documentos con Lout
Si bien el núcleo del lenguaje de programación Lout proporciona solo operaciones de bajo nivel, similar al de TeX , los paquetes que vienen con Basser Lout proporcionan un lenguaje de marcado completo de alto nivel que los usuarios pueden usar directamente para producir documentos, de una manera que es similar a LaTeX .
Un documento de Lout muy simple puede verse así:
# Este es un comentario. # Utilice la clase de documento `doc 'y su estilo predeterminado. @SysInclude {doc} @Documento @InitialFont {Times Base 10p} // # Inicio del contenido del documento. @Texto @Inicio @PÁGINAS Este es un párrafo. Se puede insertar fácilmente @B {bold} o @I {cursiva} texto. También se puede cambiar fácilmente el estilo de texto, como {Helvetica Base} @Font {cambiar la fuente siendo utilizado }. @InicioSecciones @Section @Title {La primera sección} @Empezar @PÁGINAS Este es el contenido de una sección. @Fin @Sección @EndSections @Fin @Texto # Fin del documento.
Hay diferentes tipos de documentos disponibles: documento , informe , libro , pero también diapositivas (para transparencias) e ilustración (para ilustraciones independientes). Personalizar el estilo de un documento suele ser relativamente fácil, incluso para quienes no son programadores.
Funciones del lenguaje de programación
El lenguaje de programación Lout es similar a otros lenguajes funcionales. El lenguaje de programación central consta de menos de 30 operadores primitivos. [2] Algunas características lo hacen particularmente cercano a Haskell , en particular el hecho de que las expresiones de Lout se evalúan de manera perezosa . Lout también proporciona construcciones necesarias para la implementación de formato de documentos que no se encuentran comúnmente en otros lenguajes de programación, como galeras . [3] A diferencia de la mayoría de los otros lenguajes de programación funcional, Lout no proporciona, por ejemplo, funciones de primera clase .
Temas de seguridad
En 2019, Common Vulnerabilities and Exposures enumeró dos problemas de desbordamiento de búfer en Lout, que pueden explotarse si se procesan documentos que no son de confianza. [4] [5] Debian eliminó Lout en octubre de 2020 debido a que estos problemas no se habían parcheado; [6] [7] el paquete no había tenido un responsable de mantenimiento desde 2013. [8]
Referencias
- ^ Descargas de Lout
- ^ Kingston, Jeffrey H (septiembre de 1993). "El diseño e implementación del lenguaje de formato de documentos Lout". Software: práctica y experiencia . 23 (9): 1001–41. CiteSeerX 10.1.1.45.9433 . doi : 10.1002 / spe.4380230906 . S2CID 22952199 .
- ^ Kahl, Wolfram (enero de 1999). "Más allá de Pretty-Printing: conceptos de galera en combinadores de formato de documento" . Parámetro desconocido
|book-title=
ignorado ( ayuda ) - ^ https://nvd.nist.gov/vuln/detail/CVE-2019-19917
- ^ https://nvd.nist.gov/vuln/detail/CVE-2019-19918
- ^ Error de Debian Lout: problemas de seguridad
- ^ Debian Lout: eliminación del paquete
- ^ Error de Debian Lout: mantenedor desaparecido
enlaces externos
- Página de inicio