GNU Texmacs

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
GNU Texmacs
software
Siglă
Exemplu de captură de ecran
Tip Editor de text
Dezvoltator Joris van der Hoeven și alții
Ultima versiune 2.1 (22 iunie 2021)
Sistem de operare WILDEBEEST
Limba C ++
Sistem
Licență GNU GPL v3 +
( licență gratuită )
Site-ul web www.texmacs.org

GNU TeXmacs este un editor de text WYSIWYG și în același timp un sistem de tipografie digitală destinat în special scopurilor științifice precum scrierea cărților, articolelor și prezentărilor. Este inspirat de TeX și Emacs , dar dezvoltat complet independent de aceste programe. Creatorul și dezvoltatorul principal este Joris van der Hoeven, asistat de un grup de colaboratori. [1] Programul generează documente structurate printr-o interfață cu utilizatorul WYSIWYG. Utilizatorii pot crea stiluri noi pentru documente; editorul pune la dispoziție algoritmi de înaltă calitate pentru tipografie, permițându-vă să obțineți documente cu aspect profesional.

O scurtă istorie a editării interactive a documentelor structurate (anii 1980-2020)

TeXmacs este succesorul modern al unor programe precum SoftQuad Author / Editor, [2] Lilac [3] , Grif și Thot [4] , dezvoltate în anii 1980 și 1990 cu scopul de a face posibilă editarea interactivă a documentelor structurate. În aceiași ani, interesul pentru sisteme pentru editarea interactivă a constructelor tipografice complexe reprezentate cu structuri logice a fost exprimat, de exemplu, în editorul de ecuații prezentat în teza de doctorat a lui Clement Shin Tai-Yin [5] și în editorul grafic implementat în teza de doctorat a lui Paul Asente [6] (în această lucrare grafica este generată cu Dum, un limbaj procedural , care poate fi controlat printr-un editor care acționează direct asupra graficelor, Dee).

În anii 2000 și 2010, interesul pentru editarea interactivă a documentelor structurate a stimulat dezvoltarea de programe destinate cărturarilor din domeniul științelor umaniste ; un exemplu de astfel de programe este „CWRC-Writer”, un editor vizual XML cu „Editare aproape de WYSIWYG și îmbogățirea textelor științifice cu reprezentări vizuale semnificative ale marcajului” [7]. academicieni cu reprezentări vizuale ale marcajului expresiv ”) .

Într-o altă regiune a lumii de editare și pregătire a documentelor, un program pentru interacțiunea vizuală cu textul structurat scris în LaTeX este LyX , care nu vizează editarea WYSIWYG, ci mai degrabă reprezentarea vizuală a structurii ( WYSIWYM ).

Caracteristici

La fel ca în mulți editori WYSIWYG (de exemplu Microsoft Word ), utilizatorii manipulează pe ecran un document cu un aspect grafic similar cu ceea ce va avea documentul atunci când este tipărit. Obiectivul TeXmacs este de a oferi un editor WYSIWYG care să permită scrierea de texte științifice într-un mod structurat. TeXmacs nu este un front-end pentru LaTeX, dar documentele TeXmacs pot fi convertite în format LaTeX; este, de asemenea, posibil să importați documente LaTeX (importul este limitat la un set de comenzi). În plus, există filtre pentru importul și exportul în formatele HTML , Scheme , "Verbatim" și XML. Este disponibilă conversia în format MathML , precum și în formatele PDF și PostScript pentru a obține versiuni tipărite ale documentului.

TeXmacs permite scrierea unor formule matematice eficient, tabele sprijină, imagini, referințe interne și bibliografice și pot interfera cu diverse programe cu fascicul de țevi , cum ar fi interactivitate ( Maxima , mupad , Python , scypy , Mathematica , Bash ). Este distribuit sub licența GNU GPL v3 . TeXmacs acceptă limbajul extensiei Guile , permițându-vă să extindeți funcționalitatea programului.

O captură de ecran cu formule matematice și caractere cursive. Un cadru de focalizare înconjoară mediul interior (o formulă) în care se află cursorul, în timp ce un alt cadru, cu un aspect discret, denotă o altă etichetă activă (mediul teoremei care înconjoară formularul)

Stilurile TeXmacs includ un stil de prezentare; programul include și un mic editor grafic. Începând cu versiunea 1.99.12 este posibil să se introducă foi de calcul care pot exploata unele dintre pluginuri (de exemplu Python sau Maxima) pentru operațiunile lor.

În prezent, există executabile TeXmacs pentru majoritatea arhitecturilor bazate pe Unix , inclusiv Linux , FreeBSD , Cygwin și macOS . Alături de versiunea Cygwin există un port nativ pentru Microsoft Windows .

Editorul TeXmacs

Atât structura, cât și aspectul documentului sunt reprezentate în editorul TeXmacs; [8] structura este evidențiată cu cadre de „focalizare” gri sau cyan care încadrează subdiviziunile logice ale documentului și sunt afișate sau ascunse în funcție de poziția cursorului, care este controlată fin [9] . Editorul include modul „text” (WYSIWYG și cadre de contur) și modul „sursă”; unele comenzi acceptă compunerea macro-urilor.

Inserarea formulelor matematice

Introducerea formulelor matematice în TeXmacs este simplificată prin capacitatea de a introduce simboluri folosind combinații de taste. De exemplu, simbolul poate fi introdus cu secvența de taste => .

Simboluri care nu sunt reprezentate prin apăsarea tastelor (de exemplu ) sunt împărțite în grupuri; fiecărui grup îi este atribuită o tastă și elementele grupului pot fi ulterior atinse apăsând în mod repetat tasta tab (de exemplu secvența de taste care permite obținerea è => tab tab ).

Formatul TeXmacs

Toate documentele TeXmacs (și fiecare parte a acestora) pot fi văzute ca copaci . De exemplu, copacul

TeXmacs tree.png

reprezintă formula

(scris aici cu marcajul TeX folosit de Wikipedia) și este redat de TeXmacs cu propriul său sistem de tipărire, așa cum este reprezentat de următoarea imagine:

Arborele TeXmacs rendered.png

Arborii TeXmacs sunt reprezentați pe disc ca șiruri, iar în editorul TeXmacs ca reprezentare tipografică a documentului combinată cu interactivitatea acestuia. [10] În reprezentarea pe arbore a TeXmacs, mișcarea cursorului coincide cu mișcarea din interiorul arborelui.

Tipografie și control al documentelor

Procesul de tipare transformă arborii TeXmacs în „cutii”. [11] Transformarea copacilor în cutii are loc prin reducerea primitivelor sau, cu alte cuvinte, fiecare macro este înlocuit cu rezultatul său. Primitivele de tipare au fost concepute pentru a fi foarte rapide și sunt integrate în editor; redarea multor dintre primitive poate fi modificată prin variabilele de mediu integrate în editorul însuși; foile de stil acceptă un limbaj cu care utilizatorii pot adăuga noi primitive sub formă de macrocomenzi.

Controlul documentelor

Documentele pot fi verificate cu un sistem macro nativ sau folosind Guile-Scheme. Puteți personaliza meniurile editorului și comenzile rapide de la tastatură și puteți manipula programat arborii TeXmacs.

Macro-urile TeXmacs

Macro-urile TeXmacs sunt un mod de a face intrări structurate (ca în TeX / LaTeX) și sunt redate tipografic în timp real, păstrând în același timp câmpuri de intrare editabile.

Controlul documentelor prin intermediul Scheme

Schema este integrată în TeXmacs prin Guile. Editorul în sine poate fi controlat în acest fel, prin personalizarea meniurilor și a comenzilor rapide de la tastatură. [11] Comenzile de schemă pot fi invocate interactiv din documentele TeXmacs, pot fi invocate din linia de comandă și în cadrul macro-urilor. Arborii TeXmacs au trecut la Scheme sub diferite forme: ca „arbori pasivi” (o reprezentare bună pentru manipularea conținutului prin acțiunea de rutină a Schemei pe liste), „arbori activi” (care conțin arborele informațiilor de localizare în arborele documentului global și pot fi utilizate pentru editarea documentelor programatice) și într-o reprezentare „hibridă”.

Grafică

Obiectele grafice fac parte din formatul TeXmacs și pot fi manipulate programatic prin Scheme. Obiectele grafice generate printr-o sesiune Scheme sunt, de asemenea, accesibile și editabile din editorul grafic, deoarece sunt inserate în document sub formă de copaci; dacă în schimb programele scrise în Scheme sunt executate prin macro-ul extern TeXmacs, în document apare doar materialul deja tipografic compus, iar modificările ulterioare pot fi făcute numai în codul Scheme. Un exemplu de grafică generată într-o sesiune Scheme în TeXmacs este prezentat mai jos, împreună cu codul folosit pentru a o genera. De asemenea, este posibil să ascundeți codul utilizat pentru a genera grafica care apoi apare perfect integrată în document (consultați secțiunea Încorporare a ieșirii pluginurilor ).

 Schema ] ( defini pi ( acos -1 ))
;; O funcție pentru a defini un punct în formatul grafic TeXmacs folosind două coordonate
Schema ] ( definiți ( pt x y )
  ' ( punct , ( număr-> șir x ) , ( număr-> șir y )))
;; Puncte stabilite
Schema ] ( definiți xC ( - ( * 2 ( cos ( / pi 3 )))))
Schema ] ( definiți yC ( * 2 ( sin ( / pi 3 ))))
Schema ] ( definiți pA ( pt -2 0 ))
Schema ] ( definiți pB ( pt 2 0 ))
Schema] (defini pC (pt xC Yc))
Schema ] ( definiți tA ( pt -2,3 -0,5 ))
Schema ] ( definiți tB ( pct. 2.1 -0.5 ))
Schema ] ( definiți tC ( pt ( - xC 0.2 ) ( + yC 0.2 )))
;; Generați grafică
Schema ] ( stree-> copac
 ' ( cu "gr-geometrie" ( tuplă "geometrie" "400px" "300px" "centru" )
    ( grafică
      ( cu „culoare” „albastru” ( text-at ( TeXmacs ) , ( pt -0.55 -0.75 )))
      ( cu „culoare” „negru” ( arc , pA , pC , pB ))
      ( cu „culoare” „negru” ( linie , pA , pB ))
      ( cu „culoare” „roșu” ( clină , pA , pB , pC ))
      ( cu „culoare” „negru” ( text la „A” , tA ))
      ( cu „culoare” „negru” ( text la „B” , tB ))
      ( cu „culoare” „negru” ( text la „C” , tC )))))

Backends acceptate

O sesiune Maxima în TeXmacs

TeXmacs acceptă multe back-end-uri :

Limbaje de programare: CLISP , CMUCL , Python, R , Shell

Sisteme de calcul simbolică: Axiom , GIAC, Macaulay 2 , Mathematica, Maxima, MuPAD , PARI / GP , micșorați SageMath , Yacas

Sisteme numerice de calcul: GNU Octave , Matlab , Scilab

Programe pentru reprezentarea grafică a funcțiilor: Gnuplot , Graphviz , XYpic, Mathemagix

Altele: DraTeX, Eukleides, GTybalt, Lush, Juris-M sau Zotero (programe pentru căutarea referințelor și gestionarea bibliografiilor ).

Încorporarea ieșirii pluginurilor

Ieșirea pluginului poate fi încorporată în documentele TeXmacs folosind așa-numitele „comutatoare executabile”; [12] în acest fel este posibil să treceți în ambele direcții de la o intrare dată la ieșirea corespunzătoare, asigurându-vă că ieșirea este încorporată fără probleme în document (în special promptul pentru plugin nu este prezent) în timp ce rămâne modificabil.

Notă

  1. ^ Autori ai GNU TeXmacs , la texmacs.org .
  2. ^ Susan Brown, Remediating the Editor , în Interdisciplinary Science Reviews , vol. 40, nr. 1, 1 martie 2015, pp. 78–94, DOI : 10.1179 / 0308018814Z.000000000106 . Adus pe 27 noiembrie 2020 .
  3. ^ KP Brooks, Lilac: un editor de documente cu două vizualizări , în Computer , vol. 24, n. 6, 1991-06, pp. 7-19, DOI : 10.1109 / 2.86832 . Adus la 26 noiembrie 2020 .
  4. ^ Editor structurat Thot , pe opera.inrialpes.fr . Adus la 26 noiembrie 2020 .
  5. ^ "Un model de document structurat" , Clement Shin Tai-Yin, teză de doctorat, Departamentul de calcul, Imperial College London, 1989
  6. ^ " Editarea obiectelor grafice folosind reprezentări procedurale ", Paul Asente, teză de doctorat, Departamentul de Informatică, Universitatea Stanford (1987)
  7. ^ CWRC-Writer: An In-Browser XML Editor Arhivat 4 noiembrie 2015 la Internet Archive ., G. Rockwell și colab., Digital Humanities 2012 Conference
  8. ^ Joris van der Hoeven, GNU TeXmacs: Un editor de text gratuit, structurat, wysiwyg și tehnic , în Cahiers GUTenberg , vol. 39-40, 2001, p. 39 (arhivate de la original , arhiva -
  9. ^ Manualul TeXmacs. 2.2, Tastarea textului structurat ( PDF ), pe texmacs.org .
  10. ^ Joris van der Hoeven, formatul TeXmacs , la texmacs.org . Adus pe 10 august 2019 .
  11. ^ a b M. Gubinelli, The Guile in TeXmacs, prezentare la Zilele Guile și Guix din Strasbourg, 21-22 iunie 2019 (pdf) Accesat 2019-09-22
  12. ^ Manual de utilizare TeXmacs, secțiunea „Transversarea unei prezentări” ( PDF ), la texmacs.org . Adus pe 10 noiembrie 2020 .

Alte proiecte

linkuri externe