パス上の指定されたポイントにマークを配置する複雑な経路にマークを付ける方法について説明していますが、単純な直線にマークを付けるのはまだ難しいです。
私は試します:
\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
答え2
マークの構文をどこから得たのかはわかりませんが、
mark = at position 0.1 with {\fill [red] circle (0.5cm);}
Schrödinger's cat のコメントで述べられているように、 はまったく必要ありません\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}