Rocco M.” post=75019
Credo che il problema fondamentale sia nell’utilizzo errato delle parole chiave. Mettiamo ordine:
– con [tt]style[/tt] si possono definire le proprietà di un oggetto (colore, dimensione, eccetera…), ma non funziona se nel caso lo si debba usare per creare segmenti o nodi;
– le funzioni menzionate sono attivate da [tt]code[/tt].Quindi, il tuo esempio deve essere:
`
\documentclass[a4paper,11pt]{article}
\usepackage{tikz}
% Stile griglia (grafici)
\tikzset{%
help lines/.code={help lines},% per disegnare le linee
help lines/.style={color=#1!50}, % per colorarle eventualmente
help lines/.default=gray%
}\begin{document}
\begin{tikzpicture}
\draw[help lines=red] (-1.4,-1.4) grid (1.4,1.4);
\draw (-1.5,0) — (1.5,0);
\draw (0,-1.5) — (0,1.5);
\draw (0,0) circle (1cm);
\end{tikzpicture}
\hspace{1cm}
\begin{tikzpicture}
\draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
\draw (-1.5,0) — (1.5,0);
\draw (0,-1.5) — (0,1.5);
\draw (0,0) circle (1cm);
\end{tikzpicture}
\end{document}
`
e ottieni:[attachment=371]Immagine_2012-07-04.jpg[/attachment]
EDIT: ovviamente la risposta precedente è puramente accademica. Ridefinire un codice con se stesso, ovviamente, non ha senso, ma l’ho fatto a scopo dimostrativo. L’idea di scrivere un pacchetto personale è buona, ma con TikZ si rischia di fare cose a dir poco inutili.
C’è differenza tra il codice precedente e questo:
`\documentclass[a4paper,11pt]{article}
\usepackage{tikz}\begin{document}
\begin{tikzpicture}
\draw[help lines,red!50] (-1.4,-1.4) grid (1.4,1.4);
\draw (-1.5,0) — (1.5,0);
\draw (0,-1.5) — (0,1.5);
\draw (0,0) circle (1cm);
\end{tikzpicture}
\hspace{1cm}
\begin{tikzpicture}
\draw[help lines] (-1.4,-1.4) grid (1.4,1.4);
\draw (-1.5,0) — (1.5,0);
\draw (0,-1.5) — (0,1.5);
\draw (0,0) circle (1cm);
\end{tikzpicture}
\end{document}`
?Nessuna, tranne che per poter scrivere [tt]help lines=red[/tt] si è dovuto ridefinire [tt]style[/tt] e [tt]code[/tt].
Ciao
ClaudioQuindi se ho capito bene é inutile quello che ho fatto? È più semplice scrivere
`[help lines,red!50]`
che ridefinire più cose per poi scrivere
`[help lines=red]`
? Effettivamente vista così sembra inutile anche a me!xD. È solo che nella guida lo faceva e non mi sono accorto che era più che altro a scopo didattico.
Grazie,
Rocco.P.s: Non sono ancora arrivato ai colori… Ma che significa !50 ?
TikZ carica [tt]xcolor[/tt] perciò quando scrivi:
`red!50`
è come scrivere:
`red!50!white`
ovvero combini i due colori. Chiaramente cambiando il fattore, la combinazione ha un effetto diverso: con 50 i due colori hanno lo stesso peso nel risultato finale.
Sui colori in TikZ, la cosa secondo me importante è capire la distinzione fra:
`
\begin{tikzpicture}
\draw[blue](0,0)–(2,0)node
{Ciao};
\draw[draw=blue](0,-1)–(2,-1)node
{Ciao};
\draw[draw=blue,text =red](0,-2)–(2,-2)node
{Ciao};
\draw[fill=blue!10,text=red,draw=blue](0,-3)–(2,-3)–(2,-5)–(0,-5)–cycle node[above right] {Ciao};
\end{tikzpicture}
`
Ciao
Claudio