LyX è un software libero con interfaccia grafica per elaborare testi.
Viene descritto dagli sviluppatori non come un word processor ma come un document processor in quanto permette di concentrarsi sulla struttura del testo invece che sul suo layout.
La fase di stampa viene gestita producendo codice LATEX, con il quale è possibile una stampa di qualità elevata.
Gli sviluppatori ci tengono a sottolineare che si tratta di un editore WYSIWYM (What You See Is What You Mean) e non WYSIWYG (What You See Is What You Get).
È particolarmente adatto all'elaborazione di testi scientifici, ma recentemente si sta diffondendo in ambito umanistico e in generale accademico, grazie anche alla possibilità di gestire database bibliografici (attraverso BibTeX), ed è spesso usato per la scrittura di romanzi, specialmente eBook.
Si pone come alternativa a LATEX nel senso che pur producendo codice LATEX evita di doverlo scrivere, il che è particolarmente vantaggioso in documenti con formule matematiche o tabelle. Gli sviluppatori in realtà non gradiscono troppo la definizione di «front end di LATEX», giustificando ciò con il fatto che non memorizza il documento con codice LATEX ma con un proprio formato, e anche dal fatto che si possono esportare i documenti anche in altri formati, come ad esempio DocBook. La presenza di LATEX è comunque indispensabile ed è innegabile che LyX trovi i suoi utenti in particolar modo tra utilizzatori di LATEX. Infatti in diversi siti personali, di persone anche esterne al progetto LyX, il programma viene praticamente sempre citato in ambito LATEX. Lo stesso vale per le diverse recensioni che si possono trovare nelle riviste o, più raramente, nei libri.
È disponibile soprattutto per sistemi operativi con X11 (tipicamente Unix e GNU/Linux), ma esistono anche versioni per Win32.
LyX nasce nel 1995 come tesi di laurea di Matthias Ettrich, iniziatore e attuale coordinatore del più famoso progetto KDE. Lo scopo iniziale era un programma che permettesse di fare dei "documenti belli". Il progetto nasce con il nome LyriX in ambiente Unix, sui calcolatori dell'Università di Tübingen, dove l'iniziatore era studente di informatica. Dopo pochi mesi Ettrich rende pubblico il proprio progetto, distribuendolo a partire dalla versione lyrix-1.03 del 7 luglio 1995 con la licenza GPL
In un lungo thread svoltosi nei mesi di giugno e luglio 1995 nel gruppo di discussione comp.os.linux.misc, vengono discussi i primi progetti di wordprocessor WYSIWYG per GNU/Linux e il 29 giugno compare il primo riferimento a LyriX, primo nome di LyX. Dalla discussione che ne segue si vede che LyriX benché dichiarato dall'autore ancora in fase alpha, è considerato abbastanza maturo per essere usato.
Nel 1996 — nell'ambito del nuovo progetto KDE — Ettrich crea KLyX, una versione di LyX per KDE, che si basa sulle librerie Qt della Troll Tech. Dalla versione 1.3 il frontend Qt viene integrato nella distribuzione standard di LyX, fino a quando con la versione 1.5 le Xforms usate in precedenza vengono abbandonate del tutto, risolvendo definitivamente dei problemi legati alla licenza di distribuzione.
LyX può essere usato sotto diverse piattaforme Unix (GNU/Linux, Mac Os X, BSD, Irix, Solaris e altre), OS/2 e Windows. Non tutte le funzionalità sono supportate da tutte le piattaforme. In particolare, il LyX-server non è supportato da Win32 in quanto utilizza caratteristiche della gestione dei file inesistenti sotto Windows.
LyX può essere scaricato dal sito ufficiale e da suoi mirror, sia il sorgente che le versioni compilate; inoltre è incluso in tutte le principali distribuzioni Linux, in cui è possibile installarlo direttamente dal gestore di pacchetti.
La prima svolta di progettazione
In seguito alle discussioni svoltesi tra gli sviluppatori all'inizio del 1998, anche in seguito alla distribuzione di KLyX, venne deciso di sviluppare LyX in modo tale, da separare il codice di LyX in senso stretto (LyX core o kernel) dal codice necessario per comunicare con l'utente. Questa separazione è cominciata di fatto con la versione (non stabile) 0.13.
La Graphical User Interface (GUI) è composta, oltre che dalla finestra principale che permette di vedere e scrivere il testo, dai menù, dalla barra degli strumenti, il minibuffer, i popup e quant'altro venga usato per comunicare con l'utilizzatore. In LyX, idealmente, la parte GUI è tutto ciò che non serve quando si usa LyX per processi batch.
L'indipendenza dalla GUI implica che gli sviluppatori possono ignorare il lavoro svolto da chi implementa l'interfaccia con l'utente (che potenzialmente potrebbe essere anche di tipo testo e non grafico), mentre gli sviluppatori della GUI possono usare un frontend 7 di proprio piacimento, senza conoscere i dettagli del LyX core. La parte che mette in contatto i due aspetti è il cosiddetto back end.
Tale indipendenza permette così di avere lo stesso programma, LyX, con interfacce diverse, evitando in questo modo il rischio di forking che si concretizzò con KLyX e che avrebbe potuto rendersi necessario con il progetto CJK-LyX. La scelta di separare il più possibile il kernel dall'interfaccia utente rende più facile il port verso sistemi operativi diversi da Unix e GNU/Linux, come ad esempio OS/2 e Windows, aprendo la possibilità ad un port nativo 8. Gli sviluppatori di LyX non hanno seguito completamente la soluzione scelta dal progetto opensource Mozilla, in quanto ritenuto tra l'altro troppo lento, pur considerandolo un punto di riferimento.
Trattandosi di un progetto open source, è evidente che chiunque possa vedere il codice, a maggior ragione gli sviluppatori stessi. Questo non vuol dire però che chiunque abbia i diritti di scrittura su qualsiasi directory del CVS e anche in questi casi, il tacito accordo tra gli sviluppatori è che eventuali modifiche riguardanti codice "altrui" vengano proposte a colui che ne mantiene la directory.
L'intenzione è di rendere l'indipendenza il più trasparente possibile dal punto di vista del LyX core. Inoltre dovrebbe rendere possibile lo sviluppo multi-toolkit, in modo che possano esistere diverse versioni di LyX che si distinguono soltanto per l'interfaccia con l'utente, integrandosi meglio con l'ambiente scelto dai porter: KDE piuttosto che Gnome in ambito GNU/Linux, ma anche OS/2 piuttosto che Windows per quanto riguarda i più noti sistemi operativi grafici proprietari.
La GUI non è ancora completa, si tratta infatti di modificare il codice un modo graduale.
Non è stato neanche completata una GUI che non usi le xforms che rimangono di fatto l'implementazione di riferimento. Attualmente diversi gruppi lavorano alle seguenti librerie come alternativa alle xforms: Gtk/Gnome, Qt/KDE e Qt2. Da quanto pubblicato sul sito si può notare come i diversi gruppi lavorino con priorità simili ma non uguali, in quanto alcune parti sono state implementate da tutti e tre i gruppi, altre invece solo da uno o due di loro. Trattandosi di un progetto che per definizione coinvolge un numero imprecisato di sviluppatori, il LyX-Team ha scritto un'ampia documentazione destinata agli altri (potenziali) sviluppatori.
Download
Screenshots
Ricerca personalizzata
Se ti è piaciuto l'articolo, iscriviti al feed per tenerti sempre aggiornato sui nuovi contenuti del blog:
Trovato questo articolo interessante? Condividilo sulla tua rete di contatti in Twitter, sulla tua bacheca su Facebook, in Linkedin, Instagram o Pinterest. Diffondere contenuti che trovi rilevanti aiuta questo blog a crescere. Grazie!