warcomeb” post=78230Ciao a tutti. Forse faccio una domanda stupida, ma come cosa mi infastidisce molto.
Sto utilizzando tikz per fare i disegni di un articolo scientifico in modo tale da convincere il mio advisor che è ORA di abbandonare xfig!
Per vari motivi mi è più facile disegnare partendo dalla coordinata 0,0 ed andare verso le y negative, quindi vorrei mettere la griglia per aiutarmi nel disegno e scrivo ad esempio`
\begin{figure}
\centering
\begin{tikzpicture}[scale=0.8]
\draw[help lines] (0,0) grid +(22,-15);\end{tikzpicture}
\caption{bla bla}
\label{fig:bla}
\end{figure}
`ma le linee vengono stampate solo in verticale mentre in orizzontale niente. Se al posto di -15 metto 15, la griglia viene stampata tutta.
C’è un motivo particolare per cui succede questo?grazie
Marco
Non ne ho la certezza, la mia è una supposizione sicura al 80%, che il codice che implementa [tt]grid[/tt] operi con dei foreach il cui avanzamento è di default 1 cm (oppure dato manualmente con [tt]step[/tt], [tt]xstep[/tt] o [tt]ystep[/tt]). Quello che succede, quindi è che le coordinate che inserisci dopo [tt]grid[/tt] sono i punti finali a cui il ciclo deve arrivare, ma ovviamente inserendo un valore finale negativo ed il ciclo avanza di +1, non c’è corrispondenza e il risultato è quello che ottieni tu.
Come rimediare? Semplice: disegna la griglia con valore finale dell’asse y positivo, ma nelle opzioni di [tt]draw[/tt] opera uno shift verticale negativo. In questo modo puoi effettuare tutte le operazioni che ti servono con le y negative senza incappare nel problema della griglia.
Ecco il codice.
`\begin{tikzpicture}[scale=0.8]
\draw[help lines,yshift=-15cm] (0,0) grid (22,15);
\draw[thick] (5,-10)–(10,-5);
\end{tikzpicture}` Ovviamente questo valore di scala non è sufficiente: la griglia è ancora troppo grande per un a4. 😉
Ciao
Claudio