À l'aide de TikZ, je dessine un schéma en surimpression sur une photo, laquelle se trouve être parfaitement symétrique. J'ai eu à dessiner une ligne rouge : Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a4paper, english, BCOR = 0pt, DIV = 22]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[light, largesmallcaps]{kpfonts} \usepackage{tikz} \usepackage{float} \usepackage{babel} \begin{document} \begin{figure}[H] \centering \begin{tikzpicture}[scale = 1.2] \tikzstyle{N}= [circle, minimum size = 2 pt, inner sep = 2 pt, draw = black, fill = yellow] \draw [line width = 3 pt, color = red, rounded corners] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \end{tikzpicture} \caption{Une ligne rouge} \end{figure} \end{document} ... et j'ai eu besoin de la même en vert : comme la photo est symétrique, j'ai cherché à obtenir avec TikZ une ligne symétrique de celle que je venais de tracer. Mais je n'ai pas trouvé d'exemple dans la doc, et j'étais hors-ligne, bref, j'ai redessiné à la main la ligne désirée : Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a4paper, english, BCOR = 0pt, DIV = 22]{scrartcl} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[light, largesmallcaps]{kpfonts} \usepackage{tikz} \usepackage{float} \usepackage{babel} \begin{document} \begin{figure}[H] \centering \begin{tikzpicture}[scale = 1.2] \tikzstyle{N}= [circle, minimum size = 2 pt, inner sep = 2 pt, draw = black, fill = yellow] \draw [line width = 3 pt, color = red, rounded corners] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \draw [line width = 3 pt, color = green, rounded corners] (90.2:5.7) -- (90.2:5.5) arc [start angle = 90.2, end angle = 97, radius = 5.5] -- (97:5.7) arc [start angle = 97, end angle = 105, radius = 5.7] -- (110:7) arc [start angle = 110, end angle = 115, radius = 7] -- (114.3:7.3) ; \end{tikzpicture} \caption{Deux lignes symétriques --- ou presque ! C'est là qu'est l'os !} \end{figure} \end{document} Existe-t-il une fonction permettant d'effectuer avec TikZ cette manip' toute simple ? J'imagine que oui, mais quelle est-elle donc ? Posée 20 Sep '18, 17:47 Pathe ♦♦ |
Il suffit de réinsérer le même code dans un environnement scope avec l'option Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a4paper, english, BCOR = 0pt, DIV = 22]{scrartcl} \usepackage[T1]{fontenc} \usepackage[light, largesmallcaps]{kpfonts} \usepackage{tikz} \usepackage{float} \usepackage{babel} \begin{document} \begin{figure}[H] \centering \begin{tikzpicture}[scale = 1.2] \tikzstyle{N}= [circle, minimum size = 2 pt, inner sep = 2 pt, draw = black, fill = yellow] \draw [line width = 3 pt, color = red, rounded corners] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \begin{scope}[xscale=-1] \draw [line width = 3 pt, color = green, rounded corners] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \end{scope} \end{tikzpicture} \caption{Une ligne rouge et la même en vert (mais à l'envers)} \end{figure} \end{document} Il est possible aussi de passer l'option Ouvrir dans l'éditeur Overleaf
\documentclass[12pt, a4paper, english, BCOR = 0pt, DIV = 22]{scrartcl} \usepackage[T1]{fontenc} \usepackage[light, largesmallcaps]{kpfonts} \usepackage{tikz} \usepackage{float} \usepackage{babel} \begin{document} \begin{figure}[H] \centering \begin{tikzpicture}[scale = 1.2] \tikzstyle{N}= [circle, minimum size = 2 pt, inner sep = 2 pt, draw = black, fill = yellow] \draw [line width = 3 pt, color = red, rounded corners] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \draw [line width = 3 pt, color = green, rounded corners,xscale=-1] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \end{tikzpicture} \caption{Une ligne rouge et sa symétrique en vert} \end{figure} \end{document} |
Ouvrir dans l'éditeur Overleaf
\documentclass{minimal} \usepackage{tikz} \begin{document} \begin{tikzpicture}[scale=1.2] \foreach \s/\c in {1/red, -1/green} \draw [line width=3pt, color=\c, rounded corners, xscale=\s] (89.8:5.7) -- (89.8:5.5) arc [start angle = 89.8, end angle = 83, radius = 5.5] -- (83:5.7) arc [start angle = 83, end angle = 75, radius = 5.7] -- (70:7) arc [start angle = 70, end angle = 66.7, radius = 7] -- (65.5:7.3) ; \end{tikzpicture} \end{document} (Plutôt un commentaire qu'une réponse je suppose, mais je ne vois pas comment faire un commentaire... Pas assez de points ?) C'est une élégante solution !
(14 Nov '18, 21:25)
Pathe ♦♦
|
Il y aura plusieurs façons, une idée est de réinsérer le code (de cette ligne rouge) dans un environnement scope avec l'option
xscale=-1
et en changeant la couleur :\begin{scope}[xscale=-1] meme code avec green au lieu de red \end{scope}
Je n'avais pas pensé à cela ! Mais un environnement scope peut-il contenir un autre environnement scope ? Car c'est à l'aide d'un tel environnement que j'intègre mon graphique sur ma photo !
Oui c'est possible.
Il est possible aussi de passer l'option
xscale=-1
à la commande\draw