बाण विहीन होना

Dec 28 2020

मेरे पास एक घुमावदार तीर है जो ठीक काम करता है अगर त्रिज्या 0.7 या उससे छोटा हो। लेकिन अगर मैं त्रिज्या को 0.8 तक बढ़ा देता हूं तो एरोहेड गायब हो जाता है। विभिन्न मापदंडों को बदलने से मदद नहीं लगती है। मैं समझना चाहता हूं कि क्या हो रहा है और मैं एक बड़े दायरे का उपयोग कैसे कर सकता हूं।

\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}

त्रिज्या = 0.7

त्रिज्या = 0.8

जवाब

4 hpekristiansen Dec 30 2020 at 04:52

टिक्ज़ लाइब्रेरी arrowsको हटा दिया गया है। मुझे यह थोड़ा अजीब markingsलगता है कि किसी रास्ते के अंत में किसी चीज़ को रखने के लिए उपयोग करना - शायद वह सिर्फ मैं ही हूँ। यहां मूल कोड से कलाकृतियों और समस्याओं के बिना एक altenative संस्करण है। विचार पहले एक त्रिभुज तीर को खींचना है, और फिर ऊर्ध्वाधर तीर रेखा के हिस्से को खींचने के लिए दोहरी रेखा को सटीक रूप से लंबा करना है।

\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}