- Questo topic ha 3 risposte, 3 partecipanti ed è stato aggiornato l'ultima volta 7 anni, 1 mese fa da
Daniele.
-
CreatoreTopic
-
9 Agosto 2019 alle 16:36 #116201::
Un saluto a tutti,Vorrei iniziare a creare una classe per un libro. Come dice Claudio nella sua guida, lui usa i comandi in LaTeX2e. La verità mi domando se vale la pena imparare tale sintassi invece di aspettare che venga rilasciato LaTeX3e con la rispettiva documentazione. Parallelamente ho un dubbio relativo ai progressi del mondo TeX durante questi anni di uso non troppo intenso da parte mia. È meglio piuttosto studiare LuaTeX, XeTeX, ecc?
Sareste così gentili da consigliarmi come tornare ad approcciarmi al mondo TeX? Opinioni contrastanti sono ben accette, con il fine di confrontarle.
Grazie,
Daniele
-
CreatoreTopic
-
AutoreRisposte
-
-
10 Agosto 2019 alle 1:05 #116202::
Daniele, oggi L3 è gia ampiamente usato in molti pacchetti e anche nel nucleo di LaTeX; compila un documento qualsiasi con pdfLaTeX, poi esamina il file .log; vedrai molti pacchetti che si riferiscono a L3.L3 non è un linguaggio per l’utente finale, anche se lo può usare.
Ti potrà sembrare strano, ma i programmi di composizione basati su LaTeX sono molto simili per l’utente finale; al limite se un dato file è compilabile con pdfLaTeX, lo è anche con XelaTeX e LuaLaTeX senza modificarne una virgola; non è vero il caso opposto; invece se un dato file è compilabile con XeLaTeX di solito è compilabile anche con LuaLaTeX.
Tuttavia la differenza sostanziale consiste nel fatto che pdfLaTeX può lavorare solo con font codificati con un solo byte, 8bit, quindi con polizze di 256 caratteri. Gli altri due programmi sono pensati per lavorare con font codificati con diversi byte e in teoria potrebbero lavora con font dotti di milioni di caratteri; per fortuna — o per disgrazia — dipende dai punti di vista, finora non ho visto nessun font che, pur contenendo anche gli ideogrammi cinesi, contenga più di qualche decina di migliaia di segni. Quindi la differenza fra Xe o Lua LaTeX consiste nel modo di gestire i caratteri.
L’altra differenza che ne deriva, è che con Xe e Lua Latex puoi gestire lingue che usano insiemi di carattari molto diversi, la gestione delle lingue risulta diversa da quella di pdfLaTeX. Su quest’ultimo punto le opinioni sono diverse: pdfLaTeX usa babel, mentre Xe e Lua LaTeX usano polyglossia; recentemente babel si è dotato di ulteriori funzionalità per cui babel funziona anche con Xe e LuaLaTeX, mentre polyglossia NON funziona con pdfLaTeX; alcuni ritengono che babel sia migliore di polyglossia e di conseguenza ne consigliano l’uso generalizzato; altri ritengono che polyglossia selezioni le lingue molto più efficacemente rispetto a babel e automaticamente consenta di associare una famiglia di font a specifiche lingue. Personalmente io preferisco polyglossia, ma è sollo una questione di gusti personali.Ci sono poi le differenze fa Xe e Lua LaTeX; XeLaTeX, o meglio, il suo interprete xetex, risale circa al 2006; LuaLaTeX, o meglio il suo interprete luatex, si è stabilizzato nel 2018. quindi è molto più moderno. Ma la differenza sostanziale è che Xe(La)Tex produce in uscita un filein formato DVI esteso, che tramite un “pipe” del sistema operativo viene dato in pasto al programma xdvipdfmx che lo trasforma in file PDF; Lua(La)TeX produce direttamente il file PDF. Questo potrebbe essere un dettaglio texnico che sfugge alla maggioranza degli utenti,ma questo implica certe limitazioni; una, per esempio, è che lavorando con XeLaTeX non si possono creare direttamente file PDF conformi alle norme ISO sull’archiviabilità, mentre con LuaLaTeX questa operazione è possibile.
Detto questo la questione più delicata e in un certo senso più difficile, consiste nella gestione dei font; con pdfLaTeX la cosa è sempre stata difficile se si volevano usare font che non fossero preinstallati nella distribuzione del sistema TeX, ma per questi ultimi la cosa era quasi banale: bastava caricare il pacchetto specifico per la loro gestine ed eri a posto; volevi usare i Palatino testuali? caricavi il pacchetto newpxfonts ed eri a posto, volevi usare i font libertinus? caricavi il pacchetto libertinus ed eri a posto.
Con i font con codifiche multibyte c’è l’imbarazzo della scelta: puoi usare sia quelli installati con il sistema TeX, sia quelli già presenti con il tuo sistema operativo; ma le funzionalità dei font Unicode OpenType sono tali e tante che senza leggere con attenzione la documentazione del pacchetto fontspec non riesci a sapere di ciascun font di quali funzionalità ciascuno di essi disponga. Se vuoi quindi dedicarti a uno dei due programmi che gestiscono font multibyte, devi quindi familiarizzare con la gestione di questi font.
L’altra differenza importantissima fra Xe e Lua LaTeX (o meglio dei loro interpreti) è che luatex incorpora un sotto insieme del linguaggio Lua; è un linguaggio di scripting che permette di fare cose incredibili, impensabili con il solo “tex”, ma servono per fare composizioni di alt acrobazia; l’utente che non necessitidi queste funzionalità estese, non vede quasi nessuna differenza fra Xe e Lua LaTeX. Il Reference Manual di LuaTeX è appunto Luatex.pdf e lo puoi aprire con texdoc luatex.
Tornando al linguaggio L3, l’utente finale non deve preoccuuparsene più di tanto, a meno che non voglia mettersia creare pacchetti o classi; ma ci sono degli ottimi pacchetti di interfacci;io ho usato molto xparse che serve pe definire comandi e ambienti in una maniera incredibilmente potente; ho usato xfp che permette di fare calcoli con numeri decimali floating point in modo molto più efficace rispettoai comandi del TeX esteso, che rappresenta il programma di interpretazione delle macro e dei comandi primitivi dei TeX. Rarissimamente ho usato i comandi L3 direttamente,ma ci si riesce leggendo i vari file di documentazione già presenti nella tua installazine i cui nomi cominciano con “l3”. Non è obbligatorio servirsene, ma se lo si fa si hanno un certo nuemro di vantaggi; le interfacce già presenti, come xparse e xfp, facilitano il compito nascondendo L3 dietro le quinte, ma ne sfruttano l’intera potenza; Solo a titolo di esempio; da anni avevo messo in rete on pacchetto widetable per comporre tabelle di larghezza specificata agendo solo fra lo spazio inter-colonna: scritto con i comandi TeX e LaTeX nativi mi ci volevano poco meno di 200 righe di codice; recentemente l’ho riscritto usando le funzionalità di xparse, e sono state necessarie solouna cinquantina di righe di codice; inoltre il programma funziona meglio e non mostra nessuna fragilità rispetto al suo contenuto. Certo bisogna studiare xparse un pochino, bisogna fare esperimenti, bisogn sbagliare per toccare con mano ciì si può fare o non fre con quell’interfaccia, ma poi il risultato è decisamante di qualità superiore.
Fine della reclame di Lua e di L3 🙂
-
12 Agosto 2019 alle 11:55 #116203::
Ciao.
La domanda è interessante e una delle possibili risposte è la seguente:
poiché il codice LaTeX o L3 è eseguito anche da LuaLaTeX, se si sceglie LuaLaTeX non si rinuncia al classico mondo di TeX, e allo stesso tempo, si ha disposizione anche Lua.
Come utente compongo in LuaLaTeX tutti i miei documenti da almeno un anno ma forse più.
Come sviluppatore uso Lua in LuaLaTeX per scrivere le funzioni di cui ho bisogno e che mal si prestano a essere implementate in TeX, come ad esempio l’accesso dati.
Una scorsa ai miei ultimi articoli pubblicati su ArsTeXnica ti darà molti dei dettagli di questo mio panorama di produzione di documenti. Ne ho anche illustrate le caratteristiche all’ultimo locale Linux Day (2018).In queste settimane sto sviluppando un nuovo pacchetto in LuaTeX che fa uso di barcode e molta grafica.
Nel lavorarci (sono a circa 1000 righe di codice), mi stupisco che già le notevoli potenzialità di LuaTeX intuite in passato, si dimostrino ancor più notevoli nelle reali soluzioni applicative.Aggiungo tre cose:
1 – l’esperienza da me acquisita in anni di lavoro con TeX mi è molto utile e indispensabile per ottenere buoni risultati anche con Lua in LaTeX (pensare si usare solo Lua anche se possibile potrebbe non essere la cosa giusta).
2 – la programmazione di codice Lua di per se è semplice ma se si vuole costruire un sistema coerente occorre un buon lavoro di base per strutturarlo a dovere. Per questo dico che con LuaTeX l’ingegneria del software è entrata anche nel mondo TeX.
3 – in pratica non esistono ancora pacchetti LuaTeX perciò la comunità di sviluppo non esiste ancora, cioè non esiste una community che sviluppa pacchetti di uso generale ma in LuaTeX nell’ambito LaTeX (con il formato).Il punto 3 è assai importante. Pochi hanno compreso tra gli utenti il potenziale di LuaTeX.
R.
-
12 Agosto 2019 alle 16:56 #116204
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.