tikz: 직선 위에 표시를 하다

tikz: 직선 위에 표시를 하다

경로를 따라 지정된 지점에 표시를 놓습니다.복잡한 경로에 표시를 하는 것에 대해 설명하지만, 단순한 직선에 표시를 하는 것은 그럼에도 불구하고 어렵습니다.

나는 시도한다:

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (0, 0);
  \coordinate (B) at (1, 3);
  \draw (A) -- (B);
  \path [
    postaction={decorate},
    decoration={
      markings,
      mark = at position {0.1\dimexpr\pgfdecoratedpathlength\relax} with {fill = red circle (0.5cm)}
    }
  ] (A) -- (B) ;
\end{tikzpicture}
\end{document}

출력에서

여기에 이미지 설명을 입력하세요

그 표시는 어디에도 보이지 않습니다.

무엇이 잘못되었으며 어떻게 해결하나요?

답변1

다음 없이도 동일한 결과를 얻을 수 있습니다 decorations.markings.

\documentclass[tikz, border=1cm]{standalone}

\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (0, 0);
  \coordinate (B) at (1, 3);
\draw  (A) -- (B) node[pos=0.1, circle,fill=red,inner sep=1.5pt] {};
\end{tikzpicture}
\end{document}

여기에 이미지 설명을 입력하세요

답변2

마크에 대한 구문을 어디서 얻었는지 잘 모르겠습니다.

mark = at position 0.1 with {\fill [red] circle (0.5cm);}

의견에서 Schrödinger의 고양이가 언급했듯이 전혀 필요하지 않으며 \pgfdecorationpathlength숫자는 경로를 따라 분수 거리로 해석됩니다. (을 사용하고 싶다면 \pgfdirectionpathlength그냥 0.1*\pgfdecoratedpathlength충분하고 \dimexpr필요하지 않습니다.) 그리고 실제 마크는 올바른 경로여야 합니다.

\documentclass[border=1cm]{standalone}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
  \coordinate (A) at (0, 0);
  \coordinate (B) at (1, 3);
  \draw (A) -- (B);
  \path [
    postaction={decorate},
    decoration={
      markings,
      mark = at position 0.1 with {\fill [red] circle [radius=0.1cm];}
    }
  ] (A) -- (B) ;
\end{tikzpicture}
\end{document}

관련 정보