- Questo topic ha 6 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni fa da
Ammonio.
-
CreatoreTopic
-
17 Agosto 2010 alle 9:15 #48511::
Salve a tutti.Da qualche tempo preferisco Plain TeX a LaTeX. Immagino che sia ben poco usuale, oggi come oggi, ma devo dire che per ora mi trovo molto bene, anche grazie alle espansioni di Eplain. Lo trovo più immediato e (in un certo senso) più sempice.
Ci sono però un paio di cose che non riesco a risolvere pur avendo cercato ovunque.1) Come si ottiene in Plain TeX un effetto analogo a \oldstylenum{}? Cioè, qual è il modo di accedere ai numeri in minuscolo dei vari font (soprattutto di quelli standard come il CM)? E come posso ottenere inoltre le pagine numerate in minuscolo?
2) A questo proposito, esiste un equivalente Plain TeX di \pagestyle{empty} per non numerare la prima pagina?
3) Esiste un modo in Plain TeX di avere i capilettera come col pacchetto Lettrine di LaTeX? (Un modo più rapido del definire una scatola apposta con tutti i parametri dal principio alla fine ogni volta.)
4) Qual è il modo (se esiste) di inserire delle note a margine numerate eccetera come con \marginpar?
4) E un’ultima cosa. Qualcuno ha idea perché mi carica tutti font che mi servono tranne i Latin Modern (di nessun genere e specie)? Per la precisione mi piacerebbe utilizzare l’estensione completa cfr-lm (anche se non necessariamente), ma non li riconosce in nessun modo.
Per la cronaca, utilizzo Eplain TeX su MiKTeX 2.7, compilando con TeXMaker.
So di aver posto un monte di quesiti e me ne scuso, ma non ho trovato nulla nei topic precedenti (per la cosa degli oldstylenums avrò guardato una ventina di pagine di forum…). Ringrazio fin d’ora chi vorrà avere il tempo e la pazienza di rispondermi.
Ciao,
A.
-
CreatoreTopic
-
AutoreRisposte
-
-
17 Agosto 2010 alle 21:23 #48512::
Si esistono i modi che vuoi e li trovi o li deduci dalla lettura del TeXbook. lettura non facile, ma necessari per andare oltre ai primi rudimenti di plain TeX; nota che io uso solo LaTeX per comporre i miei documenti (in realtà pdflatex e solo pdflatex) ma uso TeX a livello dei comandi base e delle macro quando mi scrivo delle classi o dei pacchetti. Però ti assicuro che ci vogliono anni per poter usare TeX primitivo e plain TeX in modo coretto ed efficiente. Anche se faccio queste cose da almeno un quarto di secolo non sono sicuro di essere un maestro nell’uso del TeX base e di plain TeX.In ogni caso le cifre minuscole sono nel font cmmi10 ( o di qualunque corpo tu abbia caricato come corpo di default) e in LaTeX il comando \oldsylenums non fa altro che selezionare quei font e poi accetta la stringa di cifre. Devi solo riscrivere il comando LaTeX con la sintassi TeX.
La pagina scritta con le cifre minuscole? ridefinisci \folio.
\pagestyle{empty}? ridefinisci folio come \def’\folio{}
I capilettera? definisci una macro che faccia i conti necessari e usi \hangafter e \hangindent nel modo corretto; vedrai che scritta la macro, diciamo \capolettera, sarà semplicissimo poi scrivere cose come
`
\capolettera{Q}uesto è un capolettera.
`
le macro servono appunto per non riscrevere tutta la pappardella ogni volta.
Le note a margine di LaTeX NON sono numerate; per le note a margine il TeXbook mi pare che dica tutto quel che c’è da dire.
I Latin Modern vanno caricati con i nomi giusti e completi, per esempio il tondo da 10pt del Latin Modern della polizza a 256 caratteri con codifica T1 si chiama ec-lmr10; non puoi caricarlo con il nome lcmr10; guarda i file dentro la cartella …/tex/latex/lm/ ci sono tutti i file che definiscono quali font reali caricare con i vari font nelle varie codifiche, nelle varie forme, nelle varie serie e nei vari corpi usando i Latin Modern. Il meccanismo per la scelta dei font con LaTeX non sarà perfetto ma risparmia un mucchio di lavoro rispetto a chi deve farlo per plain TeX.Dopo aver realizzato tutte le cose che hai chiesto ti domanderai perché mai hai lasciato il markup di LaTeX per passare al markup di plain TeX 😉
-
24 Agosto 2010 alle 10:38 #48513::
Grazie mille! Scusa il ritardo della risposta ma non ho più avuto disponibilità di una connessione fino ad ora. Sei stato chiarissimo — anche se vagamente, ehm, dissuasivo — e vedrò di studiare bene le soluzioni che mi suggerivi. Purtroppo non ho ncora reperito il TeXbook e per ora mi sto arrangiando con Gentle introduction e con TeX for the impatient, che per esempio non menzionano le note a margine di cui chiedevo.Comunque sì, in effetti l’intuitività del mark-up di LaTeX non si discute, e difatti non ho certo smesso di utilizzarlo del tutto. Solo che a volte il suo essere predisposto secondo gli standard di utilizzo della maggior parte degli utenti diventa seccante: tanto per dire, prima della nuova versione di Geometry (col comando \newgeometry ecc.), per cambiare i margini di un documento solo in un paragrafo o in una pagina impazzivo due giorni — certamente a causa delle mie conoscenze superficiali, ma anche perché non mi pare che fosse previsto nulla di altrettanto “pronto” e immediato come per altri aspetti della formattazione (senza caricare un altro pacchetto). Così mi sono incuriosito di Plain TeX specie dopo che mi è capitato sotto gli occhi Gentle introduction; e in effetti devo dire che programmare le macro solo per quello che mi serve è piuttosto divertente, anche se temo sia un lusso che mi posso concedere ora che sono in vacanza…
In ogni caso grazie per il suggerimento della direzione nella quale cercare ciò che mi serve. Proverò a levarci le gambe da solo, altrimenti tornerò al caro vecchio LaTeX senza grossi problemi.
Saluti,
A.
-
24 Agosto 2010 alle 12:02 #48514::
Dissuasivo sì e no; mi spiego meglio.Non trovo particolarmente efficiente scrivere direttamente in plain TeX; seguire quella strada significa scriversi dei pacchetti di macro come quelle che Kuth si è scritto per comporre il TeXbook.
è invece più interessante, secondo me, ma ovviamente non sei obbligato a condividere, conoscere il linguaggio “misterioso” che c’è sotto, che sia il set di comandi primitivi (non frutto di macro, ma quelli definitivi che pdftex non interpeta ma esegue), oppure le macro di plain.tex oppure le macro di questo o quel pacchetto LaTeX incluso il suo kernel (la parte “fissa”) è utilissimo e ti permette di fare tutte quelle cose in modo relativamente semplice, scrivendoti delle macro LaTeX compatibili (nomi unici, argomenti, robustezza, ecc.) che usino appunto quei comandi “misteriosi”, ma che vengano usati come macro e la misteriosità del contenuto sia nascosta dietro al nome del comando, cosicché quando scrivi non sei distratto dalla programmazione, ma ti concentri sul testo.
Per tuo divertimento, se non l’ahi già fatto, scaricati tutto il malloppo dell’Introduzione all’arte della composizione tipografica con LaTeX; tutto il malloppo vuol dire anche i file sorgente e i file inclusi. Ci troverai nel file MacroGuida.sty moltissimi esempi di programmazione con comandi base, per esempio la definzione di \capolettara o la definizione di \medaglione o quella di \sintassi, o quella di \XeTeX (che non ho scaricato dalla rete, ma ho scritto da zero), eccetera. sono tutte cose scritte in quel mistrioso linguaggio che stai apprezzando con A gentle introduction e con TeX for the impatient (libri che ho letto e usato circa 20 anni fa, ma che ora non mi servono più tanto, ma mi servo in continuazione del TeXbook, Di questo ho diverse copie nei vari luoghi dove lavoro, cosicché dovunque io sia mi basta allungare la mano per prenderlo). Così ci sono diversi altri comandi con i quali posso comporre le tabelle dei font, per esempio, con un solo comando, ma l’insieme di macro è lungo alcune pagine, e sono tutte scritte quasi completamente in linguaggio base.
Dunque ti esorto a imparare bene il linguaggio base, ma ti vorrei dissuadere dall’usare un markup a livello troppo basso (plain.tex, per esempio) per comporre davvero i tuoi documenti. Piuttosto usa ConTeXt; se poi usi ConTeXt-mk-iv hai anche la possibilità di programmare alcune cose con lo scriting language Lua, e a quel punto ti ritrovi ad essere padrone di un linguaggio che scende fino al livello base, ma ti offre tutte le possibilità di restare ad un markup elevato per lasciare i tuoi documenti leggibili anche nel sorgente. Segui i consigli e leggi gli articoli, fra gli altri, di Luigi Scarso e vedrai che ConTeXt è in realtà quello che cerchi
-
25 Agosto 2010 alle 13:53 #48515::
Ti ringrazio molto per l’attenzione e la completezza della risposta. Devo chiaramente concordare su tutta la linea. Il punto, per me, è che mi occupo soltanto di letteratura, a differenza — credo — della maggior parte degli utenti di LaTeX. Le mie esigenze, fatto salvo tutto l’aspetto di impaginazione e di composizione tipografica di un volume, in realtà sono contenute; i testi che scrivo o i libri che impagino non contengono “a lot of mathematics”, né tabelle o elenchi particolarmente elaborati. Essendomi abituato illo tempore alla buona vecchia macchina da scrivere, ho usato per quasi vent’anni il maledetto Word, che di quella vuol essere una sorta di evoluzione, arrivando a odiarlo profondamente.
Quando poi qualche anno fa ho scoperto (del tutto casualmente) LaTeX, mi è sembrato di vedere né più né meno la Luce; essendo essenzialmente un maniaco del controllo e della precisione, trovavo LaTeX semplicemente perfetto, e perfettamente adatto a quello che serviva a me. L’ho provato per un paio di settimane, poi ho disinstallato Word e ho dato una festa.In realtà dopo mi sono accorto che forse l’avevo fatta troppo facile. Oltre all’ovvio aspetto della “rivoluzione copernicana” cui tocca riabituarsi nel passaggio da un sistema all’altro (file sorgente, stringhe di programmazione ecc.), tutta una serie di cose non erano intuitive da realizzare e richiedevano un bel po’ di applicazione — cosa di cui non mi sono preoccupato molto, ma appunto la mia formazione è molto lontana da quella che mi sembra necessaria per orientarsi rapidamente nei vari codici e manuali. Ho letto Introduzione all’arte della composizione tipografica, il libro di Pantieri e diversi manuali in inglese che ho trovato in rete. Un paio di giorni fa mi sono finalmente procurato il TeXbook. Il fatto però è che quando si comincia ad andare un po’ troppo nel tecnico mi perdo. Non ho idea di come si trattino le variabili, per dire, di cosa sia un valore booleano o roba del genere. Nessuna idea. Cioè, leggo e prendo tutto più o meno per fede: come diceva Arbore, “non capisco ma mi adeguo”. Questo per dire che la programmazione che interessa a me si limita più che altro alla definizione di qualche macro, qualcosa di semplice per cui devo sbattermi una volta sola, non certo la scrittura di classi o pacchetti. E in realtà anche di quelli ho scoperto che per far fronte alle mie esigenze me ne bastano relativamente pochi.
Per questo, sì, studiare tutta la parte “esoterica” del linguaggio primitivo mi interessa molto ma in reltà mi affascina più di quanto non la comprenda, e dunque accostarmi a Plain TeX era nelle mie intenzioni più che altro una scorciatoia per arrivare a quello che mi serve senza dover provare a indovinare come è stato definito da altri secondo quello che questi possono aver giudicato comodo o sensato — anche perché LaTeX reimposta molti comandi di TeX in modo da renderli inutilizzabili altrimenti (rifaccio l’esempio della modifica dei margini in un punto solo del documento, che usando la vecchia versione di Geometry non mi riusciva ma che in TeX si regola semplicemente con \leftskip, \rightskip e \hsize, comandi che non riesco a utilizzare col markup di LaTeX perché i messaggi di errore si sprecano; lo stesso per quanto riguarda il comando \font, che in TeX è comodissimo e in LaTeX non esiste, e via dicendo).
Per concludere, perciò, proverò a impratichirmi di TeX prendendo in considerazione le altre soluzioni che mi suggerivi (ConTeXt prima di tutto), oltre naturalmente a continuare a usare LaTeX, che non mi ha mai sbagliato un colpo e mi ha permesso di realizzare cose a cui prima non mi sarei mai sognato di arrivare.
Grazie ancora per la pazienza e l’occasione di scambiare qualche idea, che pian piano comincio ad avere più chiara.
A presto,
A.
-
25 Agosto 2010 alle 23:37 #48516::
Per carità, Ammonio, non voglio assolutamente dissuaderti; ti vorrei solo consigliare, possibilmente darti dei consigli utili.
Per esempio: il mark-up di LaTeX (se vuoi: il linguaggio LaTeX, oppure i comandi LaTeX) sono una enorme sovrastruttura costruita sopra il linguaggio base dell’interprete TeX (i comandi primitivi) e su Plain TeX, di cui ridefinisce poche cose, a braccio direi praticamente solo i comandi per le note in calce e e comandi per comporre i sistemi di equazioni.\leftskip, \rightskip, \hsie, \font, (e te ne potrei citare tanti altri) sono perfettamente presenti in LaTeX, Basta usarli e basta non pretendere che funzionino come in LaTeX; [er esempio nessuno di impedisce di definire
`
\font\tenrm=ec-lmr10 scaled 1100
`
usando solo comandi primitivi; funziona benissimo, ma se usi \tenrm usi solo il tondo medio con grazie con il corpo di 11pt, e se lo vuoi di un altro corpo di 12pt devi dare un’altra definizione; se lo vuoi nero devi dare un’altra definizione, se lo vuoi corsivo devi dare un’altra definizione, eccetera; Tutte queste operazioni le fa anche LaTeX dietro le quinte, ma tu ti limiti solamente a specificare i comandi che scelgono la famiglia, la serie, la forma e il corpo in modo indipendente l’uno dall’altro, così che quando cambi solo una delle caratteristiche, LaTeX ti sceglie il font giusto conservando le specificazioni che non hai modificato. Questo è stato un cambiamento epocale nel passare dal vecchio LaTeX209 (defunto nel 1994) all’ormai non tanto più nuovo LaTeX2e. Quante acrobazie alla “Plain TeX’ facevamo fino al 1994 per modificare i font e abbiamo tirato un sospirone quando il LaTeX3 Team ha introdotto il New Font Selection Scheme (NFSS) con LaTeX2e.Ecco quindi che mi permetto di ripeterti l’invito ad approfondire il linguaggio base e il linguaggio Plain, ma solo per scriverti macro da usare con LaTeX; scriviti pacchetti nei quali inserisci le tue macro personali; ma usa un mark-up descrittivo, invece di un mark-up prescrittivo come quello di Plain TeX.
Vuoi cambiare i margini, per esempio? Studiati bene il problema e decidi se vuoi avere rientri dei margini fissi o variabili, uguali o diversi a destra e a sinistra, se il blocco di testo composto quindi su una giustezza minore debba essere centrato oppure lasciato allineato a sinistra con il margine sinistro specificato; studia bene se i rientri debbano uniformarsi agli altri rientri specificati per gli altri blocchi di testo; non sarebbe tipograficamente accettabile che i margini siano assolutamente scorrelati da quelli del testo circostante. quando hai finito di analizzare il problema, scopri che quello che vuoi fare è semplicemente ottenibile con \parbox e/o con l’ambiente minpage; ma se vuoi proseguire quelle impostazioni dei margini su più pagine, il tuo prolema è già risolto dagli ambienti quote oppure quotation.
Vuoi fare una tabella particolare? Certo puoi usare \halign, ma devi saperti destreggiare nella specificazione della “riga modello”; alla fine scopri che l’ambiente tabular fa le stesse cose in modo più semplice per te; scopri che vi sono diversi parametri che puoi aggiustare per personalizzare la tua tabella, che se carichi anche il pacchetto array e magari il pacchetto dcolumn, hai potenzialità che tu (o anche io) non riusciremmo mai ad ottenere usando \halign. Anche la semplice utilizzazione di filetti orizzontali come quelli offerti dal pacchetto booktab, sebbene non difficili da ottenere, fanno perdere un mucchio di tempo se li si vuole programmare per conto proprio.
Ciao
ClaudioPS: se non sai cosa voglia indicare l’aggettivo booleano, credo che tu non abbia nessuna difficoltà a scoprirlo con Wikipedia e scoprirai che è un modo per qualificare una “cosa” che può assumere solo due valori, tipicamente “vero” oppure “falso”, e che su queste “cose” si può operare con una “aritmetica” diversa da quella dei numeri che abbiamo tutti conosciuto dai tempi delle scuole elementari, che, guarda caso, si chiama anche lei booleana (dal nome del signor Boole che la definì). Credo che oggi questi elementi di base di informatica vengano già insegnati nelle scuole secondarie, forse persino alle secondarie inferiori; non sono cose difficili, anzi; richiedono solo un minimo di adattamento.Noi che abbiamo una certa età le dobbiamo imparare dai nostri figli o dai nostri nipoti, se non abbiamo avuto la ventura di fare studi specifici in questi settori. 🙄
-
26 Agosto 2010 alle 14:37 #48517::
No, certo, ben vengano i consigli, ci mancherebbe. Mi sono rivolto al Forum apposta.Forse mi sono spiegato male su un paio di cose.
Uso LaTeX da più di tre anni e come dicevo non ho mai avuto di che lamentarmene. Non sono né un esperto né niente del genere, chiaramente, ma mi ci muovo senza grossi probemi. Uso LaTeX per scivere prosa, versi o saggistica, e mi è capitato di impaginare qualche volume per una legatoria universitaria che me l’aveva chiesto. Testi graficamente abbastanza uniformi che richiedono la definizione di pochi parametri: geometria e stile della pagina, cropmarks, testo a fronte, note, indici e poco altro.
Questo per dire che pur non essendo un utente avanzato sono perfettamente consapevole di tutto quello che dici, e quando lavoro su aspetti anche specifici ma comunque standard della composizione uso LaTeX con una certa sicurezza.Sono finito nelle sabbie mobili quando ho cominciato a incuriosirmi del “dietro le quinte” di LaTeX e dei vari pacchetti che uso, a spippolare questo e quello per provare a fare le cose diciamo “più rapidamente”. Non ho provato alcun maldestro intervento correttivo (ho la fortuna di aver avuto uno stampatore in famiglia e so distinguere un lavoro di gusto da una ciofeca); ho solo cercato delle scorciatoie — perdendomi, lo ammetto. Forse in un bicchiere d’acqua, da un certo punto di vista: il mio problema non è certo selezionare i font o cambiare i margini, ma approfondire cose come l’uso dei condizionali o dei codici di categoria mi riesce piuttosto difficile. Non ho mai studiato informatica, programmazione ecc.: ai miei tempi alle medie non se ne insegnava (non parliamo delle elementari!) e dopo ho seguito la più classica ortodossia umanistica. Per esempio dare il bellissimo esame di Filosofia del Linguaggio fu in parte anche un incubo, con tutta quella (relativamente poca) logica formale, le equazioni di verità e la semantica modellistica. Tutta roba da cui senza un minimo di elasticità (appunto) formale non ci levi letteralmente le gambe. Naturalmente so bene cosa significhi “booleano” e quali siano le condizioni che descrive, ma da qui a dire che riesco ad appicare praticamente questa cognizione quando sono davanti al computer ce ne corre.
È chiaro che il mio problema riguarda più questo genere di cose — questo genere di rigetto, forse — che non questo o quel markup. Ci sto lavorando, in definitiva, perché mi piace e perché mi piace riuscire, e non mi sento affatto dissuaso dalle tue osservazioni, che sono state chiare e puntuali. Devo solo evitare che mi si incrocino gli occhi quando leggo le spiegazioni dei dettagli più complessi.Grazie ancora,
A.
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.