Historique des modifications [retour]
cliquez ici pour masquer/afficher la révision 9
mineure image

23 Aoû '20, 00:03

Pathe's gravatar image

Pathe
7.6k49210252

TikZ cercle et inner sep, xsep, ysep

Pour la forme Cercle d'un nœud, l'option `inner sep` fixe le rayon du cercle de manière a ce qu'il soit circonscrit au rectangle ou au carré du nœud dont les dimensions sont fixées par `inner xsep` et `inner ysep`. `Inner sep` est un raccourcis pour fixer une valeur unique à `inner xsep` et `inner ysep` en une seule commande (et on est donc dans le cas d'un carré) \documentclass[]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} [every node/.style={line width=1pt}] % Le style par défaut pour les nœuds (épaisseur de ligne de 1 pt) % La grille de repérage \draw[help lines] (-4,-4) grid (10,4); % Sans coordonnée pour la position du nœud, c'est la position par défaut (0,0) % cas du rectangle % Avec xsep et ysep le cercle est circonsrit au rectangle et a pour rayon racine carré de (xsep au carré plus ysep au carré) par Pythagore. Par exemple xsep=3 et ysep=4, donne un rayon de 5. \node [draw,rectangle,inner xsep=2cm, inner ysep= 3cm,blue] {}; \node [draw,circle,inner xsep=2cm, inner ysep= 3cm,red] {}; % triangle \draw[line width=1pt] (0,0) -- (2,0) node [midway,below]{$xsep$}-- (2,3) node [midway,sloped,below]{$ysep$}--cycle node [midway,sloped,above] {$\sqrt{xsep^2+ysep^2 }$}; % cas du carré % Avec sep, le cercle est circonscrit au carrée et a pour rayon sep * racine de 2 (même résultat qu'avec deux valeurs identiques pour xsep et ysep, sep=xsep=ysep) \coordinate (C) at(7,0); \node [draw,rectangle,inner xsep=2cm, inner ysep= 2cm,blue] at (C) {}; \node [draw,circle,inner xsep=2cm, inner ysep= 2cm,red] at (C) {}; % triangle \draw[line width=1pt] (C) -- (9,0) node [midway,below]{$sep$}-- (9,2) node [midway,sloped,below]{$sep$}--cycle node [midway,sloped,above] {$\sqrt{2 }\times sep$}; \end{tikzpicture} \end{document} <img src="/upfiles/Circle_et_inner_sep_1.png" style="width: 100%;"/> Il y a une bizarrerie dont je ne comprend pas la logique. Si on met `inner xsep=0`, alors `inner ysep` devrait fixer la valeur du rayon (ou vice versa), or ce n'est pas exactement le cas. On trouve un rayon très légèrement plus petit et l'écart augmente avec la taille du cercle. Pour que `inner xsep` soit exactement le rayon du cercle, il ne faut pas préciser `inner ysep`, ou bien ce qui revient au même fixer sa valeur à sa valeur initiale qui est égale à `0.3333em` d'après la documentation. \begin{tikzpicture} [every node/.style={draw,circle,line width=0.1pt}] % Le style par défaut pour les noeuds (dessine la forme du noeud, cercle, épaisseur de ligne de 0.1 pt, petite pour bien voir) % La grille de repérage \draw[help lines] (-7,-7) grid (7,7); % Avec une seule dimension xsep ou ysep, le cercle a le bon rayon (égal à la valeur de xsep ou ysep) \node [inner xsep=1cm, black] {}; % Si on met la seconde valeur à zéro, on obtient un cercle légèrement plus petit, l'écart augmente avec la taille du cercle \node [inner ysep=2cm, inner xsep=0 cm,green] {}; \node [inner ysep=6cm, inner xsep=0 cm,green] {}; % Pour retrouver exactement le bon cercle, il faut mettre pour la seconde valeur sa valeur initiale, xsep ou ysep = 0.3333em \node [inner ysep=2cm, inner xsep=0.3333em,blue] {}; \node [inner ysep=6cm, inner xsep=0.3333em,blue] {}; \node [inner ysep=6cm,red] {}; % le rouge se superpose parfaitement sur le cercle bleu (qu'on ne voit plus du coup) \end{tikzpicture} \end{document} <img src="/upfiles/Circle_et_inner_sep_2.png" style="width: 100%;"/> En zoomant on peut voir la différence. Cercle vert avec inner ysep=O et cercle rouge avec inner ysep non précisé ou égal à 0.3333em. <img src="/upfiles/Circle_et_inner_sep_3.png" style="width: 100%;"/> 60%;"/> La question est pourquoi `inner xsep` n'est pas exactement le rayon du cercle quand `inner ysep=0` (ou vice versa). L'écart est minime alors ça n'a pas vraiment d'implication pratique, mais j'aimerais comprendre. PS : Tout ceci suppose que le noeud est vide. `Inner xspace` et `inner yspace` se rajoute autour du contenu du nœud.
cliquez ici pour masquer/afficher la révision 8
mineure images

23 Aoû '20, 00:02

Pathe's gravatar image

Pathe
7.6k49210252

TikZ cercle et inner sep, xsep, ysep

Pour la forme Cercle d'un noeud, nœud, l'option `inner sep` fixe le rayon du cercle de manière a ce qu'il soit circonscrit au rectangle ou au carré du noeud nœud dont les dimensions sont fixées par `inner xsep` et `inner ysep`. `Inner sep` est un raccourcis pour fixer une valeur unique à `inner xsep` et `inner ysep` en une seule commande (et on est donc dans le cas d'un carré) \documentclass[]{standalone} \usepackage{tikz} \begin{document} \begin{tikzpicture} [every node/.style={line width=1pt}] % Le style par défaut pour les noeuds nœuds (épaisseur de ligne de 1 pt) % La grille de repérage \draw[help lines] (-4,-4) grid (10,4); % Sans coordonnée pour la position du noeud, nœud, c'est la position par défaut (0,0) % cas du rectangle % Avec xsep et ysep le cercle est circonsrit au rectangle et a pour rayon racine carré de (xsep au carré plus ysep au carré) par Pythagore. Par exemple xsep=3 et ysep=4, donne un rayon de 5. \node [draw,rectangle,inner xsep=2cm, inner ysep= 3cm,blue] {}; \node [draw,circle,inner xsep=2cm, inner ysep= 3cm,red] {}; % triangle \draw[line width=1pt] (0,0) -- (2,0) node [midway,below]{$xsep$}-- (2,3) node [midway,sloped,below]{$ysep$}--cycle node [midway,sloped,above] {$\sqrt{xsep^2+ysep^2 }$}; % cas du carré % Avec sep, le cercle est circonscrit au carrée et a pour rayon sep * racine de 2 (même résultat qu'avec deux valeurs identiques pour xsep et ysep, sep=xsep=ysep) \coordinate (C) at(7,0); \node [draw,rectangle,inner xsep=2cm, inner ysep= 2cm,blue] at (C) {}; \node [draw,circle,inner xsep=2cm, inner ysep= 2cm,red] at (C) {}; % triangle \draw[line width=1pt] (C) -- (9,0) node [midway,below]{$sep$}-- (9,2) node [midway,sloped,below]{$sep$}--cycle node [midway,sloped,above] {$\sqrt{2 }\times sep$}; \end{tikzpicture} \end{document} ![alt text][1] <img src="/upfiles/Circle_et_inner_sep_1.png" style="width: 100%;"/> Il y a une bizarrerie dont je ne comprend pas la logique. Si on met `inner xsep=0`, alors `inner ysep` devrait fixer la valeur du rayon (ou vice versa), or ce n'est pas exactement le cas. On trouve un rayon très légèrement plus petit et l'écart augmente avec la taille du cercle. Pour que `inner xsep` soit exactement le rayon du cercle, il ne faut pas préciser `inner ysep`, ou bien ce qui revient au même fixer sa valeur à sa valeur initiale qui est égale à `0.3333em` d'après la documentation. \begin{tikzpicture} [every node/.style={draw,circle,line width=0.1pt}] % Le style par défaut pour les noeuds (dessine la forme du noeud, cercle, épaisseur de ligne de 0.1 pt, petite pour bien voir) % La grille de repérage \draw[help lines] (-7,-7) grid (7,7); % Avec une seule dimension xsep ou ysep, le cercle a le bon rayon (égal à la valeur de xsep ou ysep) \node [inner xsep=1cm, black] {}; % Si on met la seconde valeur à zéro, on obtient un cercle légèrement plus petit, l'écart augmente avec la taille du cercle \node [inner ysep=2cm, inner xsep=0 cm,green] {}; \node [inner ysep=6cm, inner xsep=0 cm,green] {}; % Pour retrouver exactement le bon cercle, il faut mettre pour la seconde valeur sa valeur initiale, xsep ou ysep = 0.3333em \node [inner ysep=2cm, inner xsep=0.3333em,blue] {}; \node [inner ysep=6cm, inner xsep=0.3333em,blue] {}; \node [inner ysep=6cm,red] {}; % le rouge se superpose parfaitement sur le cercle bleu (qu'on ne voit plus du coup) \end{tikzpicture} \end{document} ![alt text][2] <img src="/upfiles/Circle_et_inner_sep_2.png" style="width: 100%;"/> En zoomant on peut voir la différence. Cercle vert avec inner ysep=O et cercle rouge avec inner ysep non précisé ou égal à 0.3333em. ![alt text][3] <img src="/upfiles/Circle_et_inner_sep_3.png" style="width: 100%;"/> La question est pourquoi `inner xsep` n'est pas exactement le rayon du cercle quand `inner ysep=0` (ou vice versa). L'écart est minime alors ça n'a pas vraiment d'implication pratique, mais j'aimerais comprendre. PS : Tout ceci suppose que le noeud est vide. `Inner xspace` et `inner yspace` se rajoute autour du contenu du noeud. [1]: https://texnique.fr/osqa/upfiles/Circle_et_inner_sep_1.png [2]: https://texnique.fr/osqa/upfiles/Circle_et_inner_sep_2.png [3]: https://texnique.fr/osqa/upfiles/Circle_et_inner_sep_3.pngnœud.
cliquez ici pour masquer/afficher la révision 7

20 Aoû '20, 23:31

idefix's gravatar image

idefix
955134151

cliquez ici pour masquer/afficher la révision 6

20 Aoû '20, 23:22

idefix's gravatar image

idefix
955134151

cliquez ici pour masquer/afficher la révision 5

20 Aoû '20, 23:16

idefix's gravatar image

idefix
955134151

cliquez ici pour masquer/afficher la révision 4

20 Aoû '20, 23:06

idefix's gravatar image

idefix
955134151

cliquez ici pour masquer/afficher la révision 3

20 Aoû '20, 23:05

idefix's gravatar image

idefix
955134151

cliquez ici pour masquer/afficher la révision 2

20 Aoû '20, 23:01

idefix's gravatar image

idefix
955134151

cliquez ici pour masquer/afficher la révision 1

20 Aoû '20, 22:57

idefix's gravatar image

idefix
955134151

C'est votre première visite ici ? Consultez la FAQ !

×