stringtranslate.com

GNU TeXmacs

GNU TeXmacs es un procesador de textos científico y un componente de composición tipográfica del Proyecto GNU . Se originó como una variante de GNU Emacs con funcionalidades TeX , aunque no comparte código con esos programas, al tiempo que utiliza fuentes TeX. [4] Está escrito y mantenido por Joris van der Hoeven y un grupo de desarrolladores. [5] El programa produce documentos estructurados con una interfaz de usuario WYSIWYG . El usuario puede crear nuevos estilos de documento. El editor proporciona algoritmos de composición tipográfica de alta calidad y fuentes TeX y otras para publicar documentos de aspecto profesional.

Fondo

Como editor WYSIWYG estructurado y sistema de preparación de documentos, TeXmacs es similar a editores de documentos estructurados anteriores, como Interleaf (primer lanzamiento en 1985), Framemaker (1986), SoftQuad Author/Editor (1988), [6] Lilac, [7] Grif  [fr] (1991), [8] y Thot; [9] también hubo investigaciones académicas sobre la edición interactiva de construcciones tipográficas complejas representadas de forma lógica. [10] [11]

En las décadas de 2000 y 2010, el interés en la edición interactiva de texto estructurado alentó el desarrollo de programas destinados a académicos en humanidades; un ejemplo de esto es CWRC-Writer, un editor XML visual con "edición casi WYSIWYG y enriquecimiento de textos académicos con representaciones visuales significativas de marcado". [12]

En otro lado del mundo de la edición y preparación de documentos, un programa de interacción visual con textos estructurados escritos en LaTeX es LyX , que no apunta a la edición WYSIWYG sino a la representación visual de la estructura ( WYSIWYM ).

Características

Una captura de pantalla que muestra fórmulas matemáticas y fuente en cursiva. Un marco de enfoque cian rodea el entorno más interno (un entorno de fórmula) en el que se encuentra el cursor, mientras que el cuadro gris sutil rodea otra etiqueta activa (el entorno del teorema).

Al igual que en muchos editores WYSIWYG (como Microsoft Word ), los autores manipulan un documento en pantalla que debería imprimirse en una copia en papel de aspecto similar. El objetivo de TeXmacs es proporcionar un editor WYSIWYG que, sin embargo, permita escribir documentos correctamente estructurados con resultados de composición tipográfica estéticamente agradables. A pesar de su nombre, TeXmacs no es una interfaz para TeX o LaTeX . [13] Sin embargo, los documentos de TeXmacs se pueden convertir a TeX o LaTeX. LaTeX también se puede importar (hasta cierto punto), y se proporciona tanto la importación como la exportación a HTML , Scheme, Verbatim y XML ; [14] la exportación HTML se puede estilizar con CSS (desde la versión 1.99.14). También hay un convertidor para MathML , y TeXmacs puede generar PDF y PostScript para imprimir. [15]

TeXmacs puede manejar fórmulas matemáticas , tablas, imágenes, referencias cruzadas y citas . Puede utilizarse como interfaz para varios sistemas de álgebra computacional como Maxima , FriCAS y SageMath , y puede a su vez integrar parte de sus resultados en su composición tipográfica. TeXmacs también admite un lenguaje de extensión de Scheme llamado Guile para personalizar el programa y escribir extensiones.

También incluye un modo de presentación y un pequeño editor de dibujos técnicos y existen planes para evolucionar hacia una suite de oficina científica completa con capacidades de hojas de cálculo . Una implementación de hojas de cálculo está presente a partir de la versión 1.99.12; las hojas de cálculo en TeXmacs pueden aprovechar complementos (por ejemplo, Python o Maxima) para calcular valores de celdas.

Actualmente, TeXmacs funciona en la mayoría de las arquitecturas basadas en Unix, incluidas Linux , FreeBSD , Cygwin , Haiku y macOS . Además de la versión Cygwin, hay disponible una versión nativa para Microsoft Windows .

El editor TeXmacs

En el editor TeXmacs, la estructura y la apariencia del documento se representan al mismo tiempo; [16] la estructura se hace evidente para el usuario mediante unidades lógicas circundantes del documento en marcos de enfoque anidados que llevan señales de color que se muestran de acuerdo con el movimiento del cursor. [17] Una descripción detallada de la estructura en la proximidad del cursor se proporciona en el pie de página de la ventana del editor, que se puede seleccionar con precisión presionando las flechas izquierda y derecha. [16] En el editor es posible cambiar entre el modo de texto y la edición en modo fuente, y existe soporte para la composición de macros; el editor fuente es consciente de la sintaxis . [18]

Tipografía matemática

TeXmacs facilita la introducción de fórmulas matemáticas al asignar secuencias de pulsaciones del teclado a símbolos. Por ejemplo, el símbolo se puede introducir escribiendo .=>

Algunos símbolos no tienen esa representación ( por ejemplo). Estos se pueden ingresar con una tecla (por ejemplo, las pulsaciones de teclas son . Esta entrada basada en el teclado difiere de otros editores de fórmulas, que tienden a proporcionar menús de apuntar y hacer clic para esta tarea. [19]Tab ↹=>Tab ↹Tab ↹

Procesamiento por lotes

Es posible utilizar TeXmacs como procesador por lotes (que es el modo de funcionamiento habitual de LaTeX ), utilizando el framebuffer virtual de X para evitar abrir ventanas no deseadas durante el procesamiento. Por ejemplo, el comando

$ xvfb-run texmacs --convert artículo.tm artículo.pdf --quit

genera un archivo PDF "article.pdf" a partir de un documento TeXmacs "article.tm".

El formato TeXmacs

Todos los documentos o fragmentos de documentos de TeXmacs pueden considerarse como árboles (el concepto de árbol también existe en el lenguaje de marcado SGML , al que el formato de Texmacs es similar). Por ejemplo, el árbol

representa la fórmula

(escrito aquí con el marcado TeX utilizado por Wikipedia) y es convertido por el propio motor de composición tipográfica de TeXmacs en una fórmula tipográfica, aquí insertada como una imagen:

Los árboles TeXmacs se representan en los archivos TeXmacs como cadenas y en el editor TeXmacs como la representación tipográfica del documento junto con su comportamiento interactivo. [20] En la representación en pantalla del árbol TeXmacs, el movimiento del cursor representa el movimiento dentro del árbol. En el disco, existen tres representaciones del formato TeXmacs: una representación nativa, una representación XML y una representación con expresiones Scheme S; la representación Scheme es útil para la interacción con los programas Scheme.

Composición tipográfica y control de documentos

El proceso de composición tipográfica convierte los árboles TeXmacs en cajas. [21] La evaluación de los árboles TeXmacs se realiza mediante la reducción de los primitivos, es decir, mediante la evaluación de aplicaciones macro. Los primitivos de composición tipográfica están diseñados para ser muy rápidos y están integrados en el editor; la representación de muchos de los primitivos se puede personalizar a través de las variables de entorno integradas; el lenguaje de hojas de estilo permite a los usuarios escribir nuevos primitivos como macros sobre los primitivos integrados.

TeXmacs utiliza un algoritmo global para "saltos de línea" (similar al de TeX ) y además utiliza un algoritmo global para "saltos de página"; el algoritmo de salto de página tiene en cuenta objetos flotantes (figuras, tablas, notas al pie) y contenido de varias columnas.

Control de documentos

Los documentos se pueden controlar mediante un sistema de macros nativo y mediante Guile-Scheme. Es posible personalizar los menús y las combinaciones de teclas del editor y actuar programáticamente sobre el árbol de documentos.

Macros de TeXmacs

Las macros de TeXmacs proporcionan un medio de entrada estructurada (como en TeX/LaTeX) y se componen de forma inmediata, manteniendo al mismo tiempo los campos de entrada editables. Están escritas en código fuente, aunque el editor WYSIWYG puede ayudar en su composición mediante la traducción de estructuras visuales a su sintaxis. [22]

Control de documentos a través de Esquema

Scheme está integrado en TeXmacs a través de GNU Guile ; el editor en sí puede controlarse de esta manera: [21] los menús y las combinaciones de teclas pueden personalizarse. Los comandos de Scheme pueden invocarse de forma interactiva dentro de los documentos de TeXmacs, pueden invocarse desde la línea de comandos y desde dentro de las macros de TeXmacs. Los árboles de TeXmacs pueden pasarse a Scheme en diferentes formas: como "árboles pasivos" (convenientes para manipular el contenido directamente utilizando rutinas estándar de Scheme en listas), como "árboles activos" (mantienen un registro de la posición del árbol dentro del árbol global del documento y pueden usarse para modificar documentos mediante programación), y en una representación "híbrida".

Gráficos

Los objetos gráficos también forman parte del formato TeXmacs y pueden manipularse mediante programación desde Scheme. A continuación se muestra un ejemplo de gráficos TeXmacs generados en una sesión de Scheme TeXmacs junto con la sesión que generó la imagen. Las imágenes generadas mediante programación en una sesión de Scheme también pueden editarse mediante el editor de dibujo interno, ya que se insertan en el documento como un árbol; los scripts de Scheme también pueden ejecutarse mediante la externmacro TeXmacs; en este caso, solo el material tipográfico está disponible en el documento y no es posible realizar ninguna edición directa (las modificaciones deben realizarse dentro del código de Scheme).

Esquema ] ( define pi ( acos -1 )) ;; Una función para definir un punto en el formato gráfico TeXmacs usando dos coordenadas Esquema ] ( define ( pt x y ) ' ( punto , ( número->cadena x ) , ( número->cadena y ))) ;; Puntos de ajuste Esquema ] ( definir xC ( - ( * 2 ( cos ( / pi 3 ))))) Esquema ] ( definir yC ( * 2 ( sen ( / pi 3 )))) Esquema ] ( definir pA ( pt -2 0 )) Esquema ] ( definir pB ( pt 2 0 )) Esquema ] ( definir pC ( pt xC yC )) Esquema ] ( definir tA ( pt -2,3 -0,5 )) Esquema ] ( definir tB ( pt 2,1 -0,5 )) Esquema ] ( definir tC ( pt ( - xC 0,2 ) ( + yC 0,2 ))) ;; Generar gráficos Esquema ] ( stree->tree ' ( con "gr-geometry" ( tupla "geometry" "400px" "300px" "center" ) ( gráficos ( con "color" "blue" ( text-at ( TeXmacs ) , ( pt -0.55 -0.75 ))) ( con "color" "black" ( arc , pA , pC ,pB )) ( con "color" "negro"                                                                                            ( línea , pA , pB )) ( con "color" "rojo" ( cline , pA , pB , pC )) ( con "color" "negro" ( texto en "A" , tA )) ( con "color" "negro" ( texto en "B" , tB )) ( con "color" "negro" ( texto en "C" , tC )))))                           

Extremos traseros soportados

Una sesión de TeXmacs de Maxima

TeXmacs tiene back-ends que soportan muchas tecnologías.

Incorporación de una salida de complemento editable

La salida del complemento se puede integrar en documentos TeXmacs usando "interruptores ejecutables"; [23] de esta manera, uno puede alternar entre una entrada dada al sistema y la salida correspondiente, que se combina perfectamente en el documento.

Véase también

Referencias

  1. ^ Joris van der Hoeven (2 de abril de 2024). "TeXmacs 2.1.4" . Consultado el 2 de abril de 2024 .
  2. ^ "Descarga e instalación de TeXmacs (proyecto FSF GNU)". Texmacs.org . Consultado el 29 de mayo de 2010 .
  3. ^ "La licencia pública general de GNU". Texmacs.org . Consultado el 27 de diciembre de 2010 .
  4. ^ Preguntas frecuentes (Proyecto FSF GNU)
  5. ^ "Autores de GNU TeXmacs" . Consultado el 23 de septiembre de 2019 .
  6. ^ Brown, Susan (1 de marzo de 2015). "Remediando al editor". Interdisciplinary Science Reviews . 40 (1): 78–94. Bibcode :2015ISRv...40...78B. doi : 10.1179/0308018814Z.000000000106 . ISSN  0308-0188. S2CID  144086542.
  7. ^ Brooks, KP (junio de 1991). "Lilac: un editor de documentos de dos vistas". Computer . 24 (6): 7–19. doi :10.1109/2.86832. ISSN  0018-9162. S2CID  2239112.
  8. ^ "Editor SGML de GriF" . Consultado el 27 de noviembre de 2020 .[ enlace muerto permanente ]
  9. ^ "Editor de documentos estructurados Thot" . Consultado el 26 de noviembre de 2020 .
  10. ^ Un modelo de documento estructurado, Clement Shin Tai-Yin, tesis doctoral, Departamento de Informática, Imperial College London, 1989
  11. ^ "Edición de objetos gráficos mediante representaciones procedimentales", Paul Asente, tesis doctoral, Departamento de Ciencias de la Computación, Universidad de Stanford (1987)
  12. ^ CWRC-Writer: un editor XML integrado en el navegador, G. Rockwell et al., Conferencia de Humanidades Digitales de 2012
  13. ^ van der Hoeven, Joris (21 de agosto de 2006). "GNU TeXmacs: una plataforma de edición científica" (PDF) . www.texmacs.org . pp. 7f . Consultado el 16 de enero de 2016. Dado que TeXmacs no es una interfaz para LaTeX, se deduce que solo podemos asegurar conversiones correctas para un sublenguaje (bastante grande) de LaTeX.
  14. ^ van der Hoeven, Joris; Seidl, Andreas (2011). "Preguntas frecuentes". www.texmacs.org . Consultado el 16 de enero de 2016 .
  15. ^ van der Hoeven, Joris (2012). "Bienvenido a GNU TeXmacs". www.texmacs.org . Consultado el 16 de enero de 2016 .
  16. ^ ab van der Hoeven, Joris. "GNU TeXmacs, un editor de texto libre, estructurado, wysiwyg y técnico" (PDF) . Cahiers Gutenberg . 39–40: 39–50.
  17. ^ "El manual de TeXmacs. 2.2, Cómo escribir texto estructurado" (PDF) . Consultado el 20 de noviembre de 2020 .
  18. ^ "Manual de usuario de GNU TEXMACS; 11.2. Representación de archivos y paquetes de estilos" (PDF) . Consultado el 27 de noviembre de 2020 .
  19. ^ Consulte el manual del usuario: «Escribir símbolos matemáticos».
  20. ^ van der Hoeven, Joris. "El formato TeXmacs" . Consultado el 10 de agosto de 2019 .
  21. ^ ab M. Gubinelli, The Guile in TeXmacs, presentación en las Jornadas Guile y Guix en Estrasburgo, 21-22 de junio de 2019 pdf Consultado el 21 de septiembre de 2019.
  22. ^ "El manual de TeXmacs; 11.1 Cómo escribir un paquete de estilos simple" (PDF) . Consultado el 27 de noviembre de 2020 .
  23. ^ "Manual de usuario de TeXmacs, sección "Recorrido por una presentación"" (PDF) . Consultado el 10 de noviembre de 2020 .

Enlaces externos