Je ne réussis pas à trouver la commande indiquant à TikZ de placer les pointes de flèche en dehors du tracé de celle-ci, et mes recherches sont restées infructueuses. Voici un ECM (compilé avec Ouvrir dans l'éditeur Overleaf
\documentclass[tikz, border = 2 mm, convert={density=300,size=1080x800,outext=.png}]{standalone} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[light, largesmallcaps]{kpfonts} \usetikzlibrary{arrows} \usetikzlibrary{positioning,decorations.text} \begin{document} \fontfamily{jkpss}\selectfont{} \begin{tikzpicture} \draw [<->, > = stealth, red] (0, 0) -- (2, 0) node [midway, fill = white] {1} ; \draw [yshift = -12, >-<, > = stealth, red] (0, 0) -- (2, 0) node [midway, fill = white] {2} ; \draw [yshift = -24, >-<, > = stealth, red] (-0.1, 0) -- (2.1, 0) node [midway, fill = white] {3} ; \draw [line width = 0.1] (0, 0.1) -- (0, -1) ; \draw [line width = 0.1] (2, 0.1) -- (2, -1) ; \draw [densely dotted, line width = 0.1] (0.1, -0.3) -- (0.1, -0.6) ; \draw [densely dotted, line width = 0.1] (1.9, -0.3) -- (1.9, -0.6) ; \end{tikzpicture} \end{document} On voit bien que la flèche numéro 2, qui a les mêmes coordonnées que la flèche numéro 1, désigne une distance plus courte ; et pour cause, ses pointes inversées empiètent sur la longueur du fût. C'est la flèche numéro 3 qui désigne la même distance que la flèche numéro 1, mais pour ce faire j'ai modifié ses coordonnées. Comment faire pour garder ces coordonnées et avoir les pointes de flèche au-delà du fût ? Posée 10 Déc '18, 18:41 Pathe ♦♦ |
Ça marche aussi avec Ouvrir dans l'éditeur Overleaf
\documentclass[tikz,border=2mm]{standalone} \usetikzlibrary{arrows.meta} \usetikzlibrary{decorations.markings} \begin{document} \begin{tikzpicture} \tikzset{ % myarrow/.tip={stealth} myarrow/.tip={ Stealth[ length=3pt, red!50, open ] } } \draw [yshift=5pt, red] (0, 0) -- (2, 0) ; \draw [ red, postaction={ decorate, decoration={ markings, mark=at position 0.5pt with {\arrow{myarrow}}, mark=at position -0.5pt with {\arrowreversed{myarrow}}, % mark=at position 0 with {\arrow{myarrow}}, % mark=at position 1 with {\arrowreversed{myarrow}}, } }, ] (0, 0) -- (2, 0) node [midway, fill=white] {2} ; \begin{scope}[line width=0.1] \draw (0, 0.25) -- (0, -0.1) ; \draw (2, 0.25) -- (2, -0.1) ; \end{scope} \end{tikzpicture} \end{document} Publiée 11 Déc '18, 00:41 NeferTiyi @NeferTiyi et @blub : les deux solutions sont bien, mais aucune ne permet de dire « place la décoration de la flèche après le trait ». Il faut toujours spécifier la place qu'occupe la flèche au sein du trait, et adapter la longueur de celui-ci en fonction.
(11 Déc '18, 19:49)
Pathe ♦♦
Pas exactement. Avec
(12 Déc '18, 01:56)
NeferTiyi
C'est-à-dire que la spécification de longueur
(12 Déc '18, 03:38)
Pathe ♦♦
Ah oui, ça peut prêter à confusion !
Au départ je voulais juste commenter la réponde de Blub en indiquant qu'il est possible de spécifier la longueur de la flèche et donc ne pas avoir à trouver empiriquement la valeur des
(12 Déc '18, 04:31)
NeferTiyi
|
Ouvrir dans l'éditeur Overleaf
\documentclass[tikz,border=5mm]{standalone} \usetikzlibrary{arrows.meta} \begin{document} \begin{tikzpicture} \draw [ yshift = -12, >-< , > = stealth, red, shorten >=-3pt, % <- changement shorten <=-3pt, % <- changement ] (0, 0) -- (2, 0) node [midway, fill = white] {2} ; \draw [line width = 0.1] (0, 0.1) -- (0, -1) ; \draw [line width = 0.1] (2, 0.1) -- (2, -1) ; \end{tikzpicture} \end{document} Publiée 10 Déc '18, 20:54 blub |
Je ne l'ai pas encore testé, mais le package tikz-dimline pourrait être la solution pour cette question. Voir page 5 en particulier.