Ciao a tutti,
ho una domanda generale per i TeXnici. E’ possibile fare calcoli (aritmetici) in TeX/LaTeX? Mi spiego. So che usando i primitivi di TeX o il pacchetto
calc è possibile usare operazioni aritmetiche per esempio per calcolare lunghezze e spazi ecc. E anche per gestire i contatori, che però sono solo interi. Tuttavia mi chiedo se ci sia un modo generale di fare calcoli, indipendente dalla natura delle quantità in questione (lunghezze, contatori, ecc.) So che (La)TeX è un programma tipografico, ma TeX è un linguaggio di programmazione e come tale dovrebbe essere in grado di fare quello che fanno gli altri.Un esempio: calcolare il totale necessario da avere sul conto corrente per coprire le spese di gestione, note le spese stesse e l’interesse annuo. Io ho risolto usando calc e definendo alcuni comandi e contatori (per prendere i numeri sopra come input) in questo modo:`\spese{65}
\interesse{0.365}
% Calcolo:
\setcounter{totale}{100 * \@spese / \real{\@interesse}}`ma mi sembra macchinoso e poco pulito. Senza contare che il totale, essendo un contatore, viene troncato.Insomma, spero di aver spiegato il problema. La comodità starebbe nell’unire semplici calcoli all’ottima presentazione dei risultati ottenibile con Latex. E non usare Excel.
LaTeX usa ormai da tempo e-TeX come motore e mette a disposizione comandi come \numexpr e \dimexpr. Possono esserti utili. Guarda a pagina 8 del manuale di e-teX che dovresti trovare nella tua distribuzione come etex-man.dvi o etex-man.pdf (oppure su sarovar). Non sono “espandibili”, ma possono essere usati anche dove non si possono fare “assegnazioni” (come \divide o \advance).
Quanto al troncamento, siccome TeX opera solo con interi, occorre fare i calcoli con la precisione richiesta e poi usare una piccola macro per “mettere la virgola” al posto giusto. Per esempio, un calcolo con due cifre significative si fa usando come unità i centesimi (o i millesimi o oltre, dipende da quello che devi fare).
Ciao
Enrico