GNU Texmacs: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Tesi di dottorato di Clement Shin Tai-Yin e relativa citazione
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione
 
(33 versioni intermedie di 14 utenti non mostrate)
Riga 6:
|SitoWeb = www.texmacs.org
}}
'''GNU TeXmacs''' è un [[editor di testo]] [[WYSIWYG]] e allo stesso tempo un sistema di [[Desktop publishing|tipografia digitale]] destinato particolarmente a scopi di tipo scientifico come la scrittura di libri, articoli e presentazioni. È ispirato a [[TeX]] e [[Emacs]], ma sviluppato in maniera completamente indipendente da questi programmi. L'ideatore e sviluppatore principale è Joris van der Hoeven, coadiuvato da un gruppo di collaboratori.<ref>{{Cita web|url=https://www.texmacs.org/tmweb/about/authors.en.html|titolo=Authors of GNU TeXmacs}}</ref>. Il programma genera documenti strutturati mediante un'interfaccia utente WYSIWYG. Gli utenti possono creare nuovi stili per i documenti; l'editor rende disponibili algoritmi di alta qualità per la tipografia permettendo di ottenere documenti dall'aspetto professionale.
 
== Editing interattivo di documenti strutturati (anni 1980-2020) ==
TeXmacs è l'erede moderno di programmi quali [[SoftQuad Software|SoftQuad]] Author/Editor,<ref>{{Cita pubblicazione|nome=Susan|cognome=Brown|data=2015-03-01|titolo=Remediating the Editor|rivista=Interdisciplinary Science Reviews|volume=40|numero=1|pp=78–94|accesso=2020-11-27|doi=10.1179/0308018814Z.000000000106|url=https://doi.org/10.1179/0308018814Z.000000000106}}</ref> Lilac<ref>{{Cita pubblicazione|nome=K.P.|cognome=Brooks|data=1991-06|titolo=Lilac: a two-view document editor|rivista=Computer|volume=24|numero=6|pp=7–19|accesso=2020-11-26|doi=10.1109/2.86832|url=http://dx.doi.org/10.1109/2.86832}}</ref>, [[Grif]] e Thot<ref>{{Cita web|url=http://opera.inrialpes.fr/Thot/index.html|titolo=Thot structured editor|sito=opera.inrialpes.fr|accesso=2020-11-26}}</ref>, sviluppati negli anni '80 e '90 con l'obiettivo di rendere possibile l'editing interattivo di documenti strutturati. In questi stessi anni, l'interesse nei sistemi per l'editing interattivo di costrutti tipografici complessi rappresentati con delle strutture logiche si era espresso, per esempio, nell'editor di equazioni presentato nella tesi di dottorato di Clement Shin Tai-Yin.<ref>[https://spiral.imperial.ac.uk/handle/10044/1/47656 "A structured document model"], Clement Shin Tai-Yin, PhD Thesis, Department of Computing, Imperial College London, 1989</ref>
 
TeXmacs è l'erede moderno di programmi quali [[Interleaf]] (pubblicato nel 1985), [[Framemaker]] (1986), [[SoftQuad Software|SoftQuad]] Author/Editor,<ref>{{Cita pubblicazione|nome=Susan|cognome=Brown|data=1º marzo 2015-03-01|titolo=Remediating the Editor|rivista=Interdisciplinary Science Reviews|volume=40|numero=1|pp=78–9478-94|accesso=2020-11-27 novembre 2020|doi=10.1179/0308018814Z.000000000106|url=https://doi.org/10.1179/0308018814Z.000000000106}}</ref> Lilac<ref>{{Cita pubblicazione|nome=K.P.|cognome=Brooks|data=1991-06|titolo=Lilac: a two-view document editor|rivista=Computer|volume=24|numero=6|pp=7–197-19|accesso=2020-11-26 novembre 2020|doi=10.1109/2.86832|url=http://dx.doi.org/10.1109/2.86832}}</ref>, [[Grif]] e Thot<ref>{{Cita web|url=http://opera.inrialpes.fr/Thot/index.html|titolo=Thot structured editor|sito=opera.inrialpes.fr|accesso=26 novembre 2020-11-26}}</ref>, sviluppati negli anni '801980 e '901990 con l'obiettivo di rendere possibile l'editing interattivo di documenti strutturati. In questi stessi anni, l'interesse nei sistemi per l'editing interattivo di costrutti tipografici complessi rappresentati con delle strutture logiche si era espresso, per esempio, nell'editor di equazioni presentato nella tesi di dottorato di Clement Shin Tai-Yin.<ref>[https://spiral.imperial.ac.uk/handle/10044/1/47656 "A structured document model"], Clement Shin Tai-Yin, PhD Thesis, Department of Computing, Imperial College London, 1989</ref> e nell'editor grafico implementato nella tesi di dottorato di Paul Asente<ref>"[https://research.adobe.com/publication/editing-graphical-objects-using-procedural-representations/ Editing Graphical Objects Using Procedural Representations]", Paul Asente, PhD Thesis, Department of Computer Science, Stanford University (1987)</ref> (in questo lavoro la grafica è generata con Dum, un [[Programmazione procedurale|linguaggio procedurale]], che può essere controllato attraverso un editor che agisce direttamente sulla grafica, Dee).
== Caratteristiche ==
TeXmacs permette la scrittura di formule matematiche in maniera efficiente e può interfacciarsi con diversi programmi con un'interattività simile ad una [[shell (informatica)|shell]] ([[Maxima (software)|Maxima]], [[mupad]], [[python]], [[scypy]], [[Mathematica]], [[Bash]]). È distribuito con la licenza [[GNU GPL v3]]. TeXmacs supporta il linguaggio di estensione [[GNU Guile|Guile]] permettendo così di estendere la funzionalità del programma.
[[File:Mathematical_typesetting_with_TeXmacs.png|alt=|miniatura|420x420px|Uno screenshot con formule matematiche e caratteri corsivi. Una cornice di focus circonda l'ambiente nel quale si trova il cursore.]]
Come in molti editor WYSIWYG (per esempio [[Microsoft Word]]), gli utenti manipolano sullo schermo un documento dalla disposizione grafica simile a quella che il documento avrà una volta stampato. L'obiettivo di TeXmacs è fornire un editor WYSIWYG che renda possibile scrivere in maniera strutturata. TeXmacs non è un front-end per [[LaTeX]] ma i documenti TeXmacs possono essere convertiti in formato LaTeX; è anche possibile importare documenti LaTeX (l'importazione è limitata ad un insieme di comandi). Inoltre ci sono filtri per l'importazione da ed esportazione verso i formati [[HTML]], [[Scheme]], "Verbatim", and [[XML]]. È disponibile la conversione nel formato [[MathML]], e nei formati [[Portable Document Format|PDF]] e [[PostScript]] per ottenere versioni stampabili del documento.
 
Negli anni 2000 e 2010, l'interesse per l'editing interattivo di documenti strutturati ha stimolato lo sviluppo di programmi rivolti agli studiosi di [[Scienze umanistiche|discipline umanistiche]]; un esempio di tali programmi è il "CWRC-Writer", un editor visuale [[XML]] con "Close-to-WYSIWYG editing and enrichment of scholarly texts with meaningful visual representations of markup"<ref>[http://www.dh2012.uni-hamburg.de/conference/programme/abstracts/cwrc-writer-an-in-browser-xml-editor.1.html CWRC-Writer: An In-Browser XML Editor] {{Webarchive|url=https://web.archive.org/web/20151104000405/http://www.dh2012.uni-hamburg.de/conference/programme/abstracts/cwrc-writer-an-in-browser-xml-editor.1.html |date=4 novembre 2015 }}, G. Rockwell et al., Digital Humanities 2012 Conference</ref> ("Editing quasi-WYSIWYG e arricchimento di testi accademici con rappresentazioni visive del markup espressive").
Attualmente ci sono eseguibili TeXmacs per la maggior parte delle architetture basate su [[Unix]] fra le quali [[Linux]], [[FreeBSD]], [[Cygwin]] e [[macOS]]. Al fianco della versione Cygwin è presente un port nativo per [[Microsoft Windows]].
 
In un'altra regione del mondo dell'editing e della preparazione di documenti, un programma per l'interazione visuale con testi strutturati scritti in [[LaTeX]] è [[LyX]], che non mira all'editing WYSIWYG ma piuttosto alla rappresentazione visiva della struttura ([[WYSIWYM]]).
 
== Caratteristiche ==
Come in molti editor WYSIWYG (per esempio [[Microsoft Word]]), gli utenti manipolano sullo schermo un documento dalla disposizione grafica simile a quella che il documento avrà una volta stampato. L'obiettivo di TeXmacs è fornire un editor WYSIWYG che renda possibile scrivere testi scientifici in maniera strutturata. TeXmacs non è un front-end per [[LaTeX]] ma i documenti TeXmacs possono essere convertiti in formato LaTeX; è anche possibile importare documenti LaTeX (l'importazione è limitata ada un insieme di comandi). Inoltre ci sono filtri per l'importazione da ed esportazione verso i formati [[HTML]], [[Scheme]], "Verbatim", ande [[XML]]. È disponibile la conversione nel formato [[MathML]], e nei formati [[Portable Document Format|PDF]] e [[PostScript]] per ottenere versioni stampabili del documento.
 
TeXmacs permette la scrittura di formule matematiche in maniera efficiente, supporta tabelle, immagini, riferimenti interni e bibliografici e può interfacciarsi con diversi programmi con un'interattività simile ada una [[shell (informatica)|shell]] ([[Maxima (software)|Maxima]], [[mupad]], [[python]], [[scypy]], [[Mathematica]], [[Bash]]). È distribuito con la licenza [[GNU GPL v3]]. TeXmacs supporta il linguaggio di estensione [[GNU Guile|Guile]] permettendo così di estendere la funzionalità del programma.
[[File:Mathematical_typesetting_with_TeXmacs.png|alt=|miniaturathumb|420x420pxupright=1.9|Uno screenshot con formule matematiche e caratteri corsivi. Una cornice di focus circonda l'ambiente più interno (una formula) nel quale si trova il cursore., mentre un'altra cornice, di aspetto non invadente, denota un altro tag attivo (l'ambiente teorema che circonda la formua)]]
Fra gli stili di TeXmacs è incluso uno stile per presentazioni; il programma comprende inoltre un piccolo editor grafico. A partire dalla versione 1.99.12 è possibile inserire dei [[Foglio elettronico|fogli di calcolo]] che possono sfruttare alcuni dei plugin (ad esempio Python o Maxima) per le loro operazioni.
 
Attualmente ci sono eseguibili TeXmacs per la maggior parte delle architetture basate su [[Unix]] fra le quali [[Linux]], [[FreeBSD]], [[Cygwin]] e [[macOS]]. Al fianco della versione Cygwin è presente un port nativo per [[Microsoft Windows]].
 
=== L'editor di TeXmacs ===
Nell'editor di TeXmacs sono rappresentati sia la struttura chesia l'aspetto del documento;<ref>{{Cita pubblicazione|autore=Joris van der Hoeven|autore2=|autore3=|anno=2001|titolo=GNU TeXmacs: A free, structured, wysiwyg and technical text editor|rivista=Cahiers GUTenberg|volume=39-40|numero=|p=39|urlarchiviourl=http://cahiers.gutenberg.eu.org/cg-bin/article/CG_2001___39-40_39_0.pdf}}</ref>; la struttura viene evidenziata con delle cornici di "focus" grigie o ciano che racchiudono le suddivisioni logiche del documento e vengono mostrate o nascoste a seconda della posizione del cursore, che è finemente controllabile<ref>{{Cita web|url=http://www.texmacs.org/tmweb/documents/manuals/texmacs-manual.en.pdf|titolo=The TeXmacs manual. 2.2, Typing structured text}}</ref>. Nell'editor sono presenti il modo "testo" (WYSIWYG e cornici di struttura) e il modo "sorgente"; alcuni comandi supportano la composizione delle macro.
 
=== Inserimento delle formule matematiche ===
L'input di formule matematiche in TeXmacs è reso snello dalla possibilità di inserire simboli usando combinazioni di tasti. Per esempio, il simbolo <math>\Rightarrow</math> può essere inserito con la sequenza di tasti <code>=></code>.
 
Simboli che non sono rappresentati con sequenze di tasti (per esempio <math>\Uparrow</math>) sono suddivisi in gruppi; ogni gruppo è assegnato ada un tasto e gli elementi del gruppo sono successivamente raggiungibili tramite la pressione ripetuta del tasto <code>tab</code> (per esempio la sequenza di tasti che permette di ottenere <math>\Uparrow</math> è => <code>tab</code> <code>tab</code>).
 
== Il formato di TeXmacs ==
Line 35 ⟶ 41:
rappresenta la formula
 
<math>x+y+\frac{1}{2}+\sqrt{y+z}</math>
[[File:TeXmacs tree rendered.png|200px]]
 
(qui scritta con il markup TeX usato da Wikipedia) ed è resa da TeXmacs col suo proprio sistema di typesetting come rappresentato dalla seguente immagine:
 
[[File:TeXmacs_tree_rendered.png|link=https://en.wikipedia.org/wiki/File:TeXmacs_tree_rendered.png|158x158px]]
 
Gli alberi di TeXmacs sono rappresentati su disco come stringhe, e nell'editor di TeXmacs come la rappresentazione tipografica del documento combinata con la sua interattività.<ref>{{Cita web|url=https://www.texmacs.org/tmweb/manual/webman-format.en.html|titolo=The TeXmacs format|cognome=van der Hoeven|nome=Joris|data=|urlarchivio=|accesso=10 agosto 2019}}</ref> Nella rappresentazione su schermo degli alberi di TeXmacs, il movimento del cursore coincide con il movimento all'interno dell'albero.
<ref>{{Cita web|url=https://www.texmacs.org/tmweb/manual/webman-format.en.html|titolo=The TeXmacs format|cognome=van der Hoeven|nome=Joris|data=|urlarchivio=|accesso=10 agosto 2019}}</ref>. Nella rappresentazione su schermo degli alberi di TeXmacs, il movimento del cursore coincide con il movimento all'interno dell'albero.
 
== Composizione tipografica e controllo del documento ==
Il processo di composizione tipografica converte gli alberi di TeXmacs in "scatole".<ref name=":0">M. Gubinelli, The Guile in TeXmacs, presentation at the Guile and Guix Days in Strasbourg, June 21–22 2019 [https://www.iam.uni-bonn.de/fileadmin/user_upload/gubinelli/texmacs/talk-texmacs-guile-strasbourg-june-2019.pdf (pdf)] Retrieved 2019-09-22</ref>. La trasformazione degli alberi in scatole avviene attraverso riduzione di primitive, o in altre parole a ogni macro viene sostituito il suo risultato. Le primitive per la composizione tipografica sono state progettate in modo tale da essere molto veloci e sono integrate nell'editor; il rendering di molte delle primitive può essere modificato attraverso le variabili d'ambiente integrate nell'editor stesso; i fogli di stile supportano un linguaggio con il quale gli utenti possono aggiungere nuove primitive nella forma di macro.
 
=== Controllo dei documenti ===
Line 50 ⟶ 59:
 
==== Controllo dei documenti tramite Scheme ====
Scheme è integrato in TeXmacs attraverso Guile. L'editor stesso può essere controllato in questo modo, personalizzando i menu e le scorciatoie da tastiera.<ref name=":0" />. I comandi di Scheme possono essere invocati interattivamente dai documenti di TeXmacs, possono essere invocati dalla linea di comando e all'interno delle macro. Gli alberi di TeXmacs sono passati a Scheme in varie forme: come "alberi passivi" (una buona rappresentazione per la manipolazione del contenuto attraverso l'azione di routinesroutine di Scheme su liste), "alberi attivi" (che contengono l'informazione sulla posizione dell'albero all'interno dell'albero globale del documento e possono essere usati per la modifica programmatica dei documenti) e in una rappresentazione "ibrida".
 
==== Grafica ====
Line 89 ⟶ 98:
Linguaggi di programmazione: [[Common LISP|CLISP]], [[CMUCL]], Python, [[R (software)|R]], Shell
 
Sistemi di calcolo simbolico: [[Axiom (software)|Axiom]], Giac, [[Macaulay 2]], Mathematica, Maxima, [[MuPAD]], [[PARI/GP]], Reduce, [[SAGE Math|SageMath]], [[Yacas]]
 
Sistemi di calcolo numerico: [[GNU Octave]], [[Matlab]], [[Scilab]]
Line 99 ⟶ 108:
=== Embedding dell'output dei plugin ===
 
L'output dei plugin può essere incorporato in documenti TeXmacs usando i cosiddetti "executable switches";<ref>{{Cita web|cognome=|nome=|data=|titolo=TeXmacs user manual, section "Traversal of a presentation"|url=http://www.texmacs.org/tmweb/documents/manuals/texmacs-manual.en.pdf|urlmorto=nno|urlarchivio=|accesso=10 novembre 2020}}</ref>; in questo modo è possibile passare in entrambe le direzioni da un dato input all'output corrispondente, facendo sì che l'output sia incorporato nel documento senza soluzione di continuità (in particolare il prompt del plugin non è presente) rimanendo però modificabile.
 
==Note==
Line 111 ⟶ 120:
* [http://lists.texmacs.org/wws/arc/texmacs-users Archivi della mailing list texmacs-users]
* [http://forum.texmacs.cn/ Forum ufficiale]
* [https://github.com/texmacs/tm-forge tm-forge], una raccolta di software per TeXmacs scritto dagli utenti
*[https://texmacs.github.io/notes/docs/main.html Blog]
 
{{GNU}}