[Tikz] Changement d'unité

Tout ce qui concerne le langage LaTeX et ses variantes. Ce langage est supporté sur le forum via les balises tex.

Modérateur : gdm_tex

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
MB
Administrateur
Administrateur
Messages : 7132
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

[Tikz] Changement d'unité

Message 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:
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

JB
Utilisateur débutant
Utilisateur débutant
Messages : 5
Inscription : lundi 18 juillet 2005, 12:48

Message par JB »

Je ne connais pas très bien le latex mais n'est il pas possible de modifier temporairement l'unité ?
JB

Lilo
Utilisateur confirmé
Utilisateur confirmé
Messages : 50
Inscription : jeudi 04 mai 2006, 11:49

Message 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 ... tx-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}

MB
Administrateur
Administrateur
Messages : 7132
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Message 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}
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

MB
Administrateur
Administrateur
Messages : 7132
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Message 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:
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

MB
Administrateur
Administrateur
Messages : 7132
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Message 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}
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.