La soluzione non è generale ma si riferisce esclusivamente al mio problema.
Il mio problema era quello di formattare delle espressioni valutate usando fp in modo appropriato se queste si presentano come esponenti o come coefficienti (sullo stile dei comandi efmt e cfmt del pacchetto rangen)
Io ho un comando (\FPsv{arg}) che calcola con fp l’argomento e stampa il risultato
`\FPsv{#1} è definito come \FPeval\tmp{round(#1:0)}\tmp` e volevo applicare la formattazione sia a stringhe con questo comando sia a stringhe più semplici (contenenti un solo valore)
Inoltre ho altri comandi che permettono di semplificare frazioni numeriche che hanno a numeratore e a denominatore espressioni valutabili con fp; questi comandi permettono la formattazione per coefficienti ed esponenti.
I comandi sono \sempli{#1}{#2} che fornisce la frazione semplificata, \semplix{#1}{#2} che fornisce òa razione semplificata, la stringa vuota se il risultato è 1, il segno meno se il risultato è -1 e \esempli{#1}{#2} analogo per gli esponenti.
La mia soluzione consiste nell’usare questi comandi con denominatore 1: volevo farla automatizzata, ma non ci sono riuscito.
La mia idea era: creo un comando \coef per formattare i coefficienti con un argomento: se l’argomento è un’espressione \semplix il comando non fa nulla, se l’argomento è un’espressione valutabile da fp (ad esempio \a dove \a è un valore numerico assegnato) il comando restituisce \semplix{a}{1}, se l’espressione è \FPv{arg} il comando doveva estrarre arg e calcolare \semplix{arg}{1}.
Spero che si capisca tutto perché ho la tendenza a dare per scontate troppe cose del codice che scrivo.
Grazie
Flavio