Texinfo

sistema di documentazione per informazioni on-line o cartaceo

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.
Esempio di output stampato di Texinfo: pagina 25 del manuale ufficiale GNU Texinfo.
Esempio di output stampato di Texinfo: pagina 25 del manuale ufficiale GNU Texinfo.
GenereDesktop publishing (non in lista)
Linguaggio di markup (non in lista)
SviluppatoreRichard Stallman, Robert Chassell (autori originali) - Brian Fox[1]
Karl Berry
(sviluppatori)
Data prima versionefebbraio 1986 [2]
Ultima versione7.1.1 (7 settembre 2024)
Sistema operativoLinux
Berkeley Software Distribution
Linguaggioperl
c
C (non in lista)
LicenzaLicenza GPL ver 3
(licenza libera)
Sito webwww.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

modifica

L'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).
PDF
(Generato tramite texi2dvi --pdf o texi2pdf) 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 programma pdftex, 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 programma info 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

modifica

Texinfo 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

modifica

Texinfo è 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

modifica
  1. ^ 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
  2. ^ 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
  3. ^ What's GNU: Texinfo, Issue 6, Oct 01, 1994, By Arnold Robbins, Linux Journal
  4. ^ GNU Texinfo Manual, Section 1.14 History
  5. ^ 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."
  6. ^ Texinfo

Collegamenti esterni

modifica
  NODES
Story 1