Salve,
in questi giorni sto un po “stuadiando” il pacchetto grafico PGF TikZ che trovo molto bello e colorato.
Il mio metodo è quello di costruire piccole figure, per poi renderle piano piano più difficili, mai però al livello del sito di Kjell Magne Fauske 🙁 .
Ho scritto questo codice in cui ho incluso dei calcoli in tex che sono funzione della calore \cost che definisco.
`
\documentclass{report}% PREAMBOLO
\usepackage[italian]{babel}
\usepackage{tikz}
\usepackage{pgffor}% DOCUMENTO
\begin{document}\begin{tikzpicture}[scale=0.5]
\def\cost{20}
\foreach \x in {1,2,…,\cost}
{\ifnum\x>\divide\cost by 5
…`
compilando mi dà il seguente errore:
`! Missing number, treated as zero.
\divide
!.68 \fi}`
Ovviamente se sostituisco a \cost il numero 20, il tutto funziona.Immagino che sia un problema di tokens, ma non so che fare..
Aiuto?
Immagini male. Le istruzioni \divide e \multiply non sono eseguite al momento di calcolare il numero che serve per il confronto, ma sono assegnazioni di valori a registri.
Esistono istruzioni “espandibili” che fanno ciò che ti serve:
`\ifnum\x>\numexpr\cost/5\relax`
confronta il numero contenuto in \x (è una macro che si espande a un numero) con il numero \cost diviso per 5. Occorre notare che la divisione fornisce un risultato arrotondato all’intero più vicino; se ti serve invece la divisione con troncamento devi definirtela (nel preambolo):
`\newcommand*{\truncdiv}[2]{((#1-(#2-1)/2)/#2)}`
e usarla dentro \numexpr:
`\ifnum\x>\numexpr\truncdiv{\cost}{5}`
Per denotare la moltiplicazione si usa *.
Per favore, non usare
Ciao
Enrico