Texinfo
Texinfo è una sintassi di composizione tipografica sviluppata per semplificare il processo di creazione di documentazione che può essere facilmente convertita in vari formati, come HTML per la visualizzazione online o PDF per la stampa. Il tutto partendo da un singolo file sorgente. È implementato da un programma open source che adotta lo stesso nome. Il programma Texinfo è stato sviluppato all'interno del progetto GNU e distribuito dalla Free Software Foundation. [3]
Texinfo software | |
---|---|
Esempio di output stampato di Texinfo: pagina 25 del manuale ufficiale GNU Texinfo. | |
Genere | Desktop publishing (non in lista) Linguaggio di markup (non in lista) |
Sviluppatore | Richard Stallman, Robert Chassell (autori originali) - Brian Fox[1] Karl Berry (sviluppatori) |
Data prima versione | febbraio 1986 [2] |
Ultima versione | 7.1.1 (7 settembre 2024) |
Sistema operativo | Linux Berkeley Software Distribution |
Linguaggio | perl c C (non in lista) |
Licenza | Licenza GPL ver 3 (licenza libera) |
Sito web | www.gnu.org/software/texinfo/ |
Texinfo è progettato per rendere semplice la creazione di manuali software. Analogamente a quanto avviene in LaTeX (altro linguaggio di markup molto utilizzato per la composizione tipografica di documenti complessi) vengono messe a disposizione le funzionalità tipiche di un libro, come capitoli, sezioni, riferimenti incrociati, tabelle e indici. Una delle caratteristiche distintive di Texinfo è la capacità di generare e mantenere aggiornate diverse forme di documentazione partendo da un unico file sorgente. Ad esempio, è possibile generare documentazione online (come pagina web HTML) e documentazione stampata (come PDF) usando lo stesso file sorgente.
La documentazione ufficiale di Texinfo afferma che prima sillaba di "Texinfo" si pronuncia in modo da fare rima con "speck" (quindi come "teck") e non con "hex". Questo perché la pronuncia è derivata da quella di TeX, dove la "X" rappresenta la lettera greca chi (χ) e non la lettera inglese "x". La pronuncia corretta di "TeX" risulta quindi simile a "tech" (come in "technology").
"Texinfo" dovrebbe essere scritto con la sola "T" maiuscola e il resto delle lettere in minuscolo. Questo stile di scrittura aiuta a mantenere la coerenza e l'identità visiva del nome nel contesto del progetto GNU.
Formati di output
modificaL'aggiornamento simultaneo di più formati di output della documentazione con Texinfo è reso possibile grazie a diversi convertitori di sintassi, tra cui texi2any.
Questi tool traducono il file sorgente Texinfo (.texi) in altri formati tra cui:
- HTML
- (Generato tramite
texi2any --html
)
Essendo HTML il linguaggio standard per i documenti sul web, questo formato viene utilizzato la documentazione online. Il manuale nota che iltexi2anyL'output è volutamente piuttosto semplice per la massima portabilità e accessibilità.texi2anyL'output HTML di texi2any è altamente personalizzabile. - DVI
- (Generato tramite
texi2dvi
) Il formato DVI è il formato di output del linguaggio di impaginazione TeX e contiene i comandi per riscostruire il contenuto della pagina indipendente dal dispositivo di uscita. Può quindi essere stampato o visualizzato dopo essere stato convertito in PostScript (file .ps). - (Generato tramite
texi2dvi --pdf
otexi2pdf
) Basato sul linguaggio PostScript, questo formato è stato sviluppato da Adobe Systems. Rappresenta l'aspetto esatto del documento e supporta il ridimensionamento. È indipendente dalla piattaforma e può essere visualizzato con un'ampia gamma di software. Per impostazione predefinita, Texinfo utilizza il programmapdftex
, una variante di TeX, per la generazione di file PDF. - LaTeX
- (Generato tramite
texi2any --latex
) Si tratta di un sistema di composizione basato su TeX. L'output LaTeX può essere ulteriormente elaborato in DVI, PostScript o PDF. - DocBook
- (Generato tramite
texi2any --docbook
) Si tratta di un linguaggio di markup basato su XML che viene utilizzato principalmente per scrivere documentazione tecnica. Presenta alcune somiglianze con Texinfo. È possibile convertire i file Docbook in Texinfo, utilizzando il programma docbook2X. - EPUB
- (Generato tramite
texi2any --epub3
) EPUB è un formato file standard e aperto per la pubblicazione e distribuzione di libri elettronici. È un derivato dell'HTML in grado di adattarsi automaticamente alla dimensione dello schermo del dispositivo di lettura, migliorando l'esperienza di lettura - XML
- (Generato tramite
texi2any --xml
) A differenza di tutti gli altri formati di output, è una traslitterazione della sorgente Texinfo, piuttosto che un output finito. Lo scopo dell'output XML di Texinfo è consentire un'ulteriore elaborazione da parte degli strumenti XML. - Info
- (Generato tramite
texi2any
) Si tratta di un formato file utilizzato per la documentazione online in ambiente Unix e Unix-like. Creato dal progetto GNU, è progettato per fornire un sistema di aiuto specifico che essenzialmente è una traslitterazione in testo normale della sorgente Texinfo originale, con l'aggiunta di alcuni caratteri di controllo per separare i nodi e fornire elementi di navigazione per menu, riferimenti incrociati, indici e così via. I file in formato Info possono essere esplorati con il programmainfo
che viene distribuito insieme a Texinfo. - Plain text (testo semplice)
- (Generato tramite
texi2any --plaintext
) Assomiglia molto all'output Info ma manca di elementi di navigazione, riferimenti ecc.
Man output
modificaTexinfo non fornisce direttamente output in formato man perché la struttura e lo scopo delle pagine man differiscono notevolmente da quelli di Texinfo.
D'altronde, le pagine man (o "man pages") sono normalmente utilizzate come guide di riferimento rapido che forniscono sintesi e informazioni essenziali sui comandi mentre Texinfo è pensato per creare documentazione più esaustiva, che può includere tutorial dettagliati e manuali di riferimento completi.
Proprio per questa diversità di scopo, gli sviluppatore di Texinfo hanno pensato che non si avrebbe ottenuto nessun vantaggio nel tradurre il contenuto di Texinfo nel formato man.
Inoltre, molti progetti GNU scelgono di non creare o aggiornare le pagine man regolarmente e di fornire invece una pagina man di base che indirizza i lettori alla documentazione Info, che è più dettagliata e completa.
File sorgente Texinfo
modifica
Texinfo permette di strutturare un documento come un libro, con capitoli, sezioni, riferimenti incrociati e indici. Il file sorgente è quasi testo semplice, ma tecnicamente è testo formattato con comandi che iniziano con il carattere "@
". Ecco un esempio di una parte di un file sorgente:
@chapter Introduzione Questo è il capitolo introduttivo. @section Prima sezione Questa è la prima sezione del capitolo. @xref{Capitolo successivo}, per ulteriori dettagli. @printindex cp
In questo esempio:
@chapter
introduce un nuovo capitolo.@section
introduce una nuova sezione all'interno del capitolo.@xref
crea un riferimento incrociato ad un altro capitolo o sezione.@printindex
stampa un indice, in questo caso un indice concettuale (cp
).
Storia e stato dell'arte
modificaTexinfo è rilasciato sotto la licenza GNU General Public License ed è utilizzato come sistema di documentazione ufficiale per il progetto GNU.
La sua nascita fonda le proprie radici negli anni '70. All'epoca, Richard M. Stallman sviluppò Emacs, un editor di testo basato su TECO (Text Editor and COrrector). [4][5] Durante questo periodo, Stallman si ispirò al sistema ipertestuale di Douglas Engelbart e iniziò a lavorare su un sistema di documentazione online chiamato Info.
Successivamente, negli anni '80, presso il MIT, Stallman lavorò su un sistema chiamato Bolio, utilizzato per la documentazione della Lisp Machine. Questo sistema fu convertito per utilizzare TeX come linguaggio di composizione tipografica, dando vita a BoTeX.
Stallman combinando BoTeX e Info creò Texinfo, un linguaggio di markup progettato per creare documenti che potevano essere letti sia online che in formato stampato. Questo permetteva di mantenere una singola fonte di verità per la documentazione, riducendo la duplicazione e facilitando la manutenzione
Texinfo è "vagamente basato sul Scribe di Brian Reid e su altri linguaggi di formattazione dell'epoca". ("loosely based on Brian Reid's Scribe and other formatting languages of the time") [6]
Voci correlate
modificaNote
modifica- ^ GNU's Who, The GNU Team has grown larger in the last few months: Brian Fox and Opus Goldstein have joined Jay Fenlason as the only employees of the Foundation. Most recently, Brian created a stand-alone texinfo formatter and browser..., February, 1988, GNU's Bulletin, vol. 1 no. 4
- ^ Gnu Status, by Richard M. Stallman. "5. Documentation system. I now have a truly compatible pair of programs which can convert a file of texinfo format documentation into either a printed manual or an Info file. Documentation files are needed for many utilities.", February 1986, GNU's Bulletin, Volume 1 No. 1
- ^ What's GNU: Texinfo, Issue 6, Oct 01, 1994, By Arnold Robbins, Linux Journal
- ^ GNU Texinfo Manual, Section 1.14 History
- ^ Richard Stallman, January 8, 2012, post on emacs-devel mailing list: "...Info has existed since 1976 or so, in the original Emacs. At that time, Info files were written by hand, and everyone could edit system files on ITS."
- ^ Texinfo