Page 1 sur 1

[Tikz] Changement d'unité

MessagePosté: Lundi 15 Mai 2006, 12:31
par MB
J'utilise ce code pour une figure très simple (triangle rectangle):

Code: Tout sélectionner
\begin{tikzpicture}
\draw (0,0) node[left] {$B$} -- node[below] {$7$} (7,0) node[right] {$C$} -- (0,4) node[left] {$A$} -- node[left] {$4$} (0,0) ;
\draw (0,0.3) -- (0.3,0.3) -- (0.3,0) ;
\end{tikzpicture}


L'unité par défaut est le centimètre. Je veux réduire toute la figure. Comment faire pour changer d'unité pour éviter d'avoir à modifier toutes les coordonnées ?

Merci d'avance. :wink:

MessagePosté: Lundi 15 Mai 2006, 12:45
par JB
Je ne connais pas très bien le latex mais n'est il pas possible de modifier temporairement l'unité ?

MessagePosté: Lundi 15 Mai 2006, 13:16
par Lilo
pour une figure donnée, on peut modifier l'unité utilisée avant la figure :
ici, la liste des unité de longueur compatible en LaTeX

http://computing.ee.ethz.ch/.soft/latex/green/ltx-86.html

Tu peux essayer d'include ces deux exemples pour te donner une idée du résultat

Code: Tout sélectionner
\unitlength = 1cm

\begin{figure}[h]
    \begin{center}
    \begin{picture}(12,8)
        \put(1,1){\vector(1,0){12}}
        \put(7,0){\vector(0,1){7}}
        \put(2.5,5.2){\line(1,0){4.5}}
        \put(2.5,5.2){\line(5,-3){4.4}}
        \unitlength = 1 mm \put(7,2.5){\circle*{.2}}
        \put(7.3,2.4){$C(0,60)$}
        \unitlength = 1 cm \put(7.3,5.1){$A$}
        \put(2.5,5.4){$I$}
        \put(2.5,4){\vector(0,1){1}}
        \put(1.7,3.6){\it N\oe ud i}
        \put(4.15,5.2){\oval(2,2)[rb]}
        \put(5.15,4.2){$\theta$}
    \end{picture}
    \caption{\it Angle $\theta$ pour le tri des n\oe uds.}
    \end{center}
\end{figure}



ou en cours de figure, tout ce qui sera placé après sera selon la modification

Code: Tout sélectionner
\unitlength = 1cm

\begin{figure}[h]
    \begin{center}
    \begin{picture}(12,8)
        \put(1,1){\vector(1,0){12}}
        \put(7,0){\vector(0,1){7}}
        \put(2.5,5.2){\line(1,0){4.5}}
        \put(2.5,5.2){\line(5,-3){4.4}}
        \put(7,2.5){\circle*{.2}}
        \put(7.3,2.4){$C(0,60)$}
        \put(7.3,5.1){$A$}
        \put(2.5,5.4){$I$}
        \put(2.5,4){\vector(0,1){1}}
        \put(1.7,3.6){\it N\oe ud i}
        \unitlength = 5mm \put(4.15,5.2){\oval(2,2)[rb]} %changement d'unité
        \unitlength = 1cm  \put(5.15,4.2){$\theta$} % retour à l'unité précédente
    \end{picture}
    \caption{\it Angle $\theta$ pour le tri des n\oe uds.}
    \end{center}
\end{figure}

MessagePosté: Lundi 15 Mai 2006, 17:21
par MB
J'ai essayé ce code mais ça n'a rien changé !

Code: Tout sélectionner
\begin{tikzpicture}
\unitlength = 5mm ;
\draw (0,0) node[left] {$B$} -- node[below] {$7$} (7,0) node[right] {$C$} -- (0,4) node[left] {$A$} -- node[left] {$4$} (0,0) ;
\draw (0,0.25) -- (0.25,0.25) -- (0.25,0) ;
\end{tikzpicture}

MessagePosté: Lundi 15 Mai 2006, 17:23
par MB
JB a écrit:Je ne connais pas très bien le latex mais n'est il pas possible de modifier temporairement l'unité ?


Oui mais là c'est pour des figures sous PGF (Tikz en fait) alors c'est un peu différent. :wink:

MessagePosté: Lundi 15 Mai 2006, 18:17
par MB
Bon alors pour un changement global sur toute la figure, la solution est :

Code: Tout sélectionner
\begin{tikzpicture}[x=0.75cm,y=0.75cm]
\draw (0,0) node[left] {$B$} -- node[below] {$7$} (7,0) node[right] {$C$} -- (0,4) node[left] {$A$} -- node[left] {$4$} (0,0) ;
\draw (0,0.25) -- (0.25,0.25) -- (0.25,0) ;
\end{tikzpicture}