GNU TeXmacs es un procesador de texto científico y un componente de composición tipográfica del Proyecto GNU . Se inspiró en TeX y GNU Emacs , aunque no comparte código con esos programas. TeXmacs usa fuentes TeX. [3] Está escrito y mantenido por Joris van der Hoeven y un grupo de desarrolladores. [4] 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 TeX y otras fuentes para publicar documentos de aspecto profesional.
![]() | |
![]() Collage TeXmacs 2019 | |
Desarrollador (es) | Proyecto GNU |
---|---|
Lanzamiento estable | 1.99.19 (5 de marzo de 2021 [±] | )
Repositorio | ![]() |
Sistema operativo | Linux , Windows , macOS , similar a Unix [1] |
Plataforma | x86 , x86-64 |
Tipo | Procesador de textos |
Licencia | GNU GPLv3 [2] |
Sitio web | texmacs |
Un resumen de la edición interactiva de texto estructurado (década de 1980-2020)
Como editor WYSIWYG estructurado y sistema de preparación de documentos, TeXmacs es el heredero moderno de programas que se desarrollaron en este sentido en las décadas de 1980 y 1990, como SoftQuad Author / Editor, [5] Lilac, [6] Grif [7] y Thot. [8] En estos mismos años, el interés en lograr la edición interactiva de construcciones tipográficas complejas y al mismo tiempo representarlas con una estructura lógica se expresó a través, por ejemplo, del editor de ecuaciones implementado en la tesis doctoral de Clement Shin Tai-Yin [9] y el editor gráfico implementado en la tesis doctoral de Paul Asente [10] (en este trabajo los gráficos se generan con un lenguaje procedimental, Dum, que se puede controlar a través de un editor gráfico, Dee).
En las décadas de 2000 y 2010, el interés por 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 visual XML con "edición cercana a WYSIWYG y enriquecimiento de textos académicos con representaciones visuales significativas de marcado". [11]
En otro lado del mundo de la edición y preparación de documentos, un programa para la 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
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/5/55/Mathematical_typesetting_with_TeXmacs.png/420px-Mathematical_typesetting_with_TeXmacs.png)
Como en muchos editores WYSIWYG (como Microsoft Word ), los autores manipulan un documento en la 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, hace posible escribir documentos correctamente estructurados con resultados de composición tipográfica estéticamente agradables. TeXmacs no es una interfaz para LaTeX [12], pero 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 desde HTML , Scheme, "Verbatim" y XML como la exportación a ellos; [13] la exportación HTML se puede diseñar con CSS (desde la versión 1.99.14). También hay un conversor para MathML , y TeXmacs puede generar PDF y PostScript para imprimir. [14]
TeXmacs puede manejar fórmulas matemáticas , tablas, imágenes, referencias cruzadas y citas . Se puede utilizar como interfaz para varios sistemas de álgebra informática , como Maxima y SageMath , y, a su vez, puede integrar parte de su salida en su composición tipográfica. TeXmacs también admite un lenguaje de extensión Scheme llamado Guile para personalizar el programa y escribir extensiones.
También cuenta con un modo de presentación y un pequeño editor de dibujos técnicos y hay planes para evolucionar hacia una suite de oficina científica completa con capacidades de hoja 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 celda.
Actualmente, TeXmacs se ejecuta en la mayoría de las arquitecturas basadas en Unix, incluidas Linux , FreeBSD , Cygwin , Haiku y macOS . Junto con la versión Cygwin, hay un puerto nativo disponible para Microsoft Windows .
El editor de TeXmacs
En el editor de TeXmacs, la estructura y la apariencia del documento se representan al mismo tiempo; [15] la estructura se hace evidente para el usuario rodeando las unidades lógicas del documento en marcos de enfoque anidados que llevan señales de color que se muestran de acuerdo con el movimiento del cursor. [16] Se proporciona una descripción detallada de la estructura en la proximidad del cursor en el pie de página de la ventana del editor, que se puede seleccionar con precisión presionando las flechas de izquierda a derecha. [15] En el editor es posible cambiar entre el modo de texto y la edición del modo fuente, y está presente el soporte para la composición de macros; el editor de código fuente tiene en cuenta la sintaxis . [17]
Tipografía matemática
TeXmacs facilita la introducción de fórmulas matemáticas mediante la asignación de secuencias de pulsaciones de teclado a símbolos. Por ejemplo, el símbolose puede ingresar escribiendo => .
Algunos símbolos no tienen tal representación (por ejemplo). Estos se pueden ingresar con tecla de tabulación (por ejemplo, para las pulsaciones de teclas son => pestañapestaña ). Esta entrada basada en teclado difiere de otros editores de fórmulas, que tienden a proporcionar menús de apuntar y hacer clic para esta tarea. [18]
Procesamiento por lotes
Es posible usar TeXmacs como un procesador por lotes (que es el modo de operación habitual de LaTeX ), usando X virtual framebuffer para evitar abrir ventanas no deseadas durante el procesamiento. Por ejemplo, el comando
xvfb-run texmacs --convert article.tm article.pdf --quit
genera un archivo PDF "article.pdf" a partir de un documento de TeXmacs "article.tm".
El formato TeXmacs
Todos los documentos o fragmentos de documentos de TeXmacs se pueden considerar como árboles (el concepto de árbol también existe en el lenguaje de marcado SGML , al que es similar el formato de Texmacs). Por ejemplo, el árbol
representa la fórmula
(escrito aquí con el marcado TeX utilizado por Wikipedia) y el propio motor de composición tipográfica de TeXmacs lo convierte en una fórmula de composición tipográfica, aquí insertada como una imagen:
Los árboles TeXmacs se representan en archivos TeXmacs como cadenas, y en el editor TeXmacs como la representación tipográfica del documento junto con su comportamiento interactivo. [19] En la representación en pantalla del árbol de 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 de Scheme es útil para la interfaz con los programas de Scheme.
Tipografía y control de documentos
El proceso de composición tipográfica convierte los árboles TeXmacs en cajas. [20] La evaluación de los árboles TeXmacs procede mediante la reducción de las primitivas, es decir, mediante la evaluación de las aplicaciones macro. Las primitivas de composición tipográfica están diseñadas para ser muy rápidas y están integradas en el editor; la representación de muchas de las primitivas se puede personalizar mediante las variables de entorno integradas; el lenguaje de la hoja de estilo permite a los usuarios escribir nuevas primitivas como macros sobre las primitivas integradas.
TeXmacs usa un algoritmo global para "salto de línea" (similar al de TeX ) y además usa un algoritmo global para "salto de página"; el algoritmo de salto de página tiene en cuenta los objetos flotantes (figuras, tablas, notas al pie) y el contenido de varias columnas.
Control de documentos
Los documentos se pueden controlar a través de un sistema de macros nativo y a través de Guile-Scheme. Es posible personalizar los menús y combinaciones de teclas del editor y actuar mediante programación en el árbol del documento.
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 campos de entrada editables. Están escritos en código fuente, aunque el editor WYSIWYG puede ayudar en su composición mediante la traducción de estructuras visuales a su sintaxis. [21]
Control de documentos a través de Scheme
Scheme está integrado en TeXmacs a través de GNU Guile ; el propio editor se puede controlar de esta manera: [20] los menús y combinaciones de teclas se pueden personalizar. Los comandos de esquema se pueden invocar de forma interactiva dentro de los documentos de TeXmacs, se pueden invocar desde la línea de comandos y desde dentro de las macros de TeXmacs. Los árboles de TeXmacs se pueden pasar a Scheme de diferentes formas: como "árboles pasivos" (conveniente para manipular el contenido directamente usando rutinas estándar de Scheme en las listas), como "árboles activos" (realizar un seguimiento de la posición del árbol dentro del árbol de documentos global y se puede utilizar 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 se pueden manipular mediante programación desde Scheme. A continuación se muestra un ejemplo de gráficos TeXmacs generados en una sesión de TeXmacs Scheme junto con la sesión que generó la imagen. Las imágenes generadas mediante programación en una sesión de Scheme también se pueden editar utilizando el editor de dibujo interno, ya que se insertan en el documento como un árbol; Los scripts de Scheme también se pueden ejecutar a través de la extern
macro TeXmacs; en este caso, solo el material tipográfico está disponible en el documento y no es posible la edición directa (las modificaciones deben realizarse dentro del código de Scheme).
Esquema ] ( definir pi ( acos -1 )) ;; Una función para definir un punto en el formato gráfico TeXmacs usando dos coordenadas Esquema ] ( definir ( pt x y ) ' ( punto , ( número-> cadena x ) , ( número-> cadena y ))) ;; Esquema de puntos de ajuste ] ( definir xC ( - ( * 2 ( cos ( / pi 3 ))))) Esquema ] ( definir yC ( * 2 ( sin ( / 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 esquema de gráficos ] ( calle-> árbol ' ( con "gr-geometry" ( tupla "geometría" "400px" "300px" "centro" ) ( gráficos ( con "color" "azul" ( texto-en ( TeXmacs ) , ( pt -0,55 -0,75 ))) ( con "color" "negro" ( arco , 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 apoyados
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/8/81/Texmacs_session_of_Maxima.png/420px-Texmacs_session_of_Maxima.png)
TeXmacs tiene back-end que soportan muchas tecnologías.
Lenguajes de programación: CLISP , CMUCL , Python , QCL , R , Shell
Sistemas de álgebra computarizada: Axiom , Giac , Macaulay 2 , Mathematica , Maxima , MuPAD , PARI / GP , Reduce , SageMath , Yacas
Sistemas de matriz numérica: GNU Octave , Matlab , Scilab
Paquetes de trazado: gnuplot , Graphviz , XYpic , Mathemagix
Otros: DraTeX , Eukleides , GTybalt , Lush , Juris-M o Zotero (gestor de referencias de citas de investigación y bibliografía).
Incrustación de salida de complemento editable
La salida del complemento se puede incrustar dentro de los documentos de TeXmacs usando "conmutadores ejecutables"; [22] de esta manera, uno puede alternar entre una entrada dada al sistema y la salida correspondiente, que se fusiona perfectamente en el documento.
Ver también
- Comparación de editores de TeX
- Comparación de procesadores de texto
- Comparación de lenguajes de marcado de documentos
- Lista de procesadores de texto
- LyX
- Editor visual
Referencias
- ^ "Descarga e instalación de TeXmacs (proyecto FSF GNU)" . Texmacs.org . Consultado el 29 de mayo de 2010 .
- ^ "La Licencia Pública General GNU" . Texmacs.org . Consultado el 27 de diciembre de 2010 .
- ^ Preguntas frecuentes (proyecto FSF GNU)
- ^ "Autores de GNU TeXmacs" . Consultado el 23 de septiembre de 2019 .
- ^ Brown, Susan (1 de marzo de 2015). "Remediando al Editor" . Revisiones científicas interdisciplinarias . 40 (1): 78–94. doi : 10.1179 / 0308018814Z.000000000106 . ISSN 0308-0188 . S2CID 144086542 .
- ^ Brooks, KP (junio de 1991). "Lila: un editor de documentos de dos vistas" . Computadora . 24 (6): 7-19. doi : 10.1109 / 2.86832 . ISSN 0018-9162 . S2CID 2239112 .
- ^ "Editor GriF SGML" . Consultado el 27 de noviembre de 2020 .
- ^ "Editor de documentos estructurados Thot" . Consultado el 26 de noviembre de 2020 .
- ^ Un modelo de documento estructurado , Clement Shin Tai-Yin, Tesis doctoral, Departamento de Informática, Imperial College London, 1989
- ^ " Edición de objetos gráficos mediante representaciones procedimentales ", Paul Asente, Tesis doctoral, Departamento de Ciencias de la Computación, Universidad de Stanford (1987)
- ^ Escritor de CWRC: un editor XML en el navegador , G. Rockwell et al., Conferencia de Humanidades Digitales 2012
- ^ van der Hoeven, Joris (21 de agosto de 2006). "GNU TeXmacs: una plataforma de edición científica" (PDF) . www.texmacs.org . págs. 7 y sig . Consultado el 16 de enero de 2016 .
Dado que TeXmacs no es un front-end de LaTeX, se deduce que solo podemos asegurar conversiones correctas para un sublenguaje (bastante grande) de LaTeX.
- ^ van der Hoeven, Joris; Seidl, Andreas (2011). "Preguntas frecuentes" . www.texmacs.org . Consultado el 16 de enero de 2016 .
- ^ van der Hoeven, Joris (2012). "Bienvenido a GNU TeXmacs" . www.texmacs.org . Consultado el 16 de enero de 2016 .
- ^ a b van der Hoeven, Joris. "GNU TeXmacs, un editor de texto técnico, wysiwyg, estructurado y gratuito" (PDF) . Cahiers Gutenberg . 39–40: 39–50.
- ^ "El manual de TeXmacs. 2.2, Mecanografía de texto estructurado" (PDF) . Consultado el 20 de noviembre de 2020 .
- ^ "Manual de usuario de GNU TEXMACS; 11.2. Representación de archivos y paquetes de estilo" (PDF) . Consultado el 27 de noviembre de 2020 .
- ^ Consulte el manual de usuario: « Escritura de símbolos matemáticos ».
- ^ van der Hoeven, Joris. "El formato TeXmacs" . Consultado el 10 de agosto de 2019 .
- ^ a b M. Gubinelli, The Guile in TeXmacs, presentación en los Guile and Guix Days en Estrasburgo, 21-22 de junio de 2019 pdf Consultado el 21-09-2019.
- ^ "El Manual de TeXmacs; 11.1 Escribiendo un paquete de estilo simple" (PDF) . Consultado el 27 de noviembre de 2020 .
- ^ "Manual de usuario de TeXmacs, apartado" Recorrido de una presentación " " (PDF) . Consultado el 10 de noviembre de 2020 .
enlaces externos
- Página web oficial
- archivos de la lista de correo de texmacs-users
- Foro