OldClaudio” post=75252
Non era poi così banale…
Grazie mille per le accurate spiegazioni.
ps. \strip@pt\ fa parte del nucleo di LaTeX vero?
R.Le magie di Enrico non sono per niente banali, ma sono pensate e prendono in considerazione anche questioni riguardanti l’eventuale numero di espansioni e di conseguenza la fragilità dei comandi.
Tuttavia, come dice Enrico, usare \strip@pt, comando del nucleo di LaTeX da quando questo genere di conti deve essere eseguito per gestire i font con il New Font Selection Scheme (che a noi non sembra nemmeno più nuovo, visto che lo usiamo dal 1994, da quando è uscito il LaTeX2e). Ovviamante non è documentato, almeno non lo è se non si vanno a leggere i documenti ltx….dtx nella cartella source.
Io ho scoperto \strop@pt un 7-8 anni fa e da allora per me è diventato un comando di uso quasi giornaliero. Non trovo che sia fragile, anche se forse lo è; dipende da come viene usato, naturalmente, ma non mi è mai capitato che il comando mi si “rompesse” fra le mani; tra l’altro la sua sintassi è semplicissima:[tt]\strip@pt[/tt]
Nel tuo caso, per esempio:
`\edef\yp{\strip@pt\ypanel}`
permette di stivare in \yp solamente il valore in punti senza “pt”; esattamente quello che volevi fare e fatto in modo semplicissimo.
Certo se la definizione di \strip@pt fosse fatta con la seconda definizione di Enrico ne guadagnerebbe anche il codice interno di LaTeX.
[tt]\strip@pt[/tt] fa qualcosa di più: se il valore del registro è un numero intero di punti, elimina il [tt].0[/tt] che rimarrebbe dall’espansione di [tt]\the\ypanel[/tt]
Ciao
Enrico