Tête de flèche qui disparaît
J'ai une flèche courbe qui fonctionne bien si le rayon est de 0,7 ou moins. Mais si j'augmente le rayon à 0,8, la pointe de flèche disparaît. Changer les différents paramètres ne semble pas aider. J'aimerais comprendre ce qui se passe et comment je peux utiliser un rayon plus large.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows, decorations.markings}
\begin{document}
\begin{tikzpicture}
% https://tex.stackexchange.com/a/169115/2737
\tikzset{
curveArrow/.style={
thick,
decoration={markings,mark=at position
1 with {\arrow[scale=1.5,semithick]{open triangle 60[fill=white]}}},
double distance=3.5pt, shorten >= 8pt,
preaction = {decorate},
postaction = {draw,line width=1.4pt, white,shorten >= 8.5pt}
}
}
% changing radius from 0.7 to 0.8 makes the arrow head disappear
\draw[curveArrow] (0,0) arc (90:270:0.7);
\end{tikzpicture}
\end{document}
Rayon = 0,7


Réponses
La bibliothèque Tikz arrows
est obsolète. Je trouve cela un peu étrange d'utiliser markings
simplement pour placer quelque chose à la toute fin d'un chemin - peut-être que c'est juste moi. Voici une version alternative sans les artefacts et les problèmes du code d'origine. L'idée est de dessiner d'abord une flèche triangulaire, puis de rendre la double ligne suffisamment longue pour dessiner sur une partie de la ligne de flèche verticale.
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}[
curveArrow/.style={
draw=none,
preaction={draw, thick, -{Triangle[open, length=8pt 1, width=10pt]}},
postaction={draw, thick, double distance=3.5pt, shorten >=8pt}
}]
\draw[curveArrow] (0,0) arc (90:270:0.8);
\end{tikzpicture}
\end{document}
