[Tikz] Problème d'échelle

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.
zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 362
Inscription : jeudi 14 octobre 2010, 09:20

[Tikz] Problème d'échelle

Message par zariski63 »

Bonsoir !
Je me suis concocté une petite commande pour tracer un panneau…
Problème : elle dépend de l'échelle choisie #1 et malheureusement la taille de mes segments ne suit pas le changement d'échelle.
Où se trouve la faille svp ? Merci pour toutes réponses éventuelles.

Code : Tout sélectionner

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xcolor}
\usepackage{tikz}


\newcommand\dangersign[1]{%
\raisebox{-0.5ex}{
  \begin{tikzpicture}[scale=#1]
  \draw[draw=red,line width=4pt,line join=round] (-1,0)--(1,0)--(0,1.732)--cycle; 
  \draw[draw=black,fill=black] (-0.1,1.2) arc(180 : 90 : 0.1)--
                               (0,1.3) arc(90 : 0 : 0.1)--(0.05,0.5) arc(0 : -90 : 0.05)--
                               (0,0.45) arc(-90 : -180 : 0.05)--cycle;
  \draw[draw=black,fill=black] (0,0.3) circle (0.09); 
  \end{tikzpicture}
  }
  }


\begin{document}
\dangersign{0.2} Blablabla
\dangersign{1} Blablabla
\dangersign{2} Blablabla

\end{document}

touhami
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 433
Inscription : dimanche 11 février 2007, 11:45

Re: tikz

Message par touhami »

Bonjour. Le problème vient de l'utilisation de line width. Vous pouvez par exemple, utiliser

Code : Tout sélectionner

line width=#1*4pt
ECM

Code : Tout sélectionner

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{xcolor}
\usepackage{tikz}


\newcommand\dangersign[1]{%
\raisebox{-0.5ex}{
  \begin{tikzpicture}[scale=#1]
  \draw[draw=red,line width=#1*4pt,line join=round] (-1,0)--(1,0)--(0,1.732)--cycle;
  \draw[draw=black,fill=black] (-0.1,1.2) arc(180 : 90 : 0.1)--
                               (0,1.3) arc(90 : 0 : 0.1)--(0.05,0.5) arc(0 : -90 : 0.05)--
                               (0,0.45) arc(-90 : -180 : 0.05)--cycle;
  \draw[draw=black,fill=black] (0,0.3) circle (0.09);
  \end{tikzpicture}
  }
  }


\begin{document}
\dangersign{0.2} Blablabla
\dangersign{1} Blablabla
\dangersign{2} Blablabla


\end{document}

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 362
Inscription : jeudi 14 octobre 2010, 09:20

Re: tikz

Message par zariski63 »

Merci beaucoup !
C'est vrai j'avais oublié de mettre ceci à l'échelle.
Je l'ai légèrement modifié avec un "baseline=#1*0.5ex"
A priori cela fonctionne ...

Code : Tout sélectionner

\newcommand\dangersign[1]{%
  \begin{tikzpicture}[scale=#1,baseline=#1*0.5ex]%
  \draw[draw=red,line width=#1*4pt,line join=round] (-1,0)--(1,0)--(0,1.732)--cycle;%
  \draw[draw=black,fill=black] (-0.1,1.2) arc(180 : 90 : 0.1)--%
                               (0,1.3) arc(90 : 0 : 0.1)--(0.05,0.5) arc(0 : -90 : 0.05)--%
                               (0,0.45) arc(-90 : -180 : 0.05)--cycle;%
  \draw[draw=black,fill=black] (0,0.3) circle (0.09);%
  \end{tikzpicture}%
  }

rebouxo
Modérateur global
Modérateur global
Messages : 6962
Inscription : mercredi 15 février 2006, 13:18
Localisation : le havre

Re: tikz

Message par rebouxo »

Cela n'existe pas dans une fonte style awesome ?
Olivier
A line is a point that went for a walk. Paul Klee.
Par solidarité, pas de MP.

zariski63
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 362
Inscription : jeudi 14 octobre 2010, 09:20

Re: tikz

Message par zariski63 »

Pas regardé...