
最初のコードは
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.markings}
\begin{document}
\pgfkeys{
/pgf/decoration/.cd,
pre fraction/.style={pre length=#1*\pgfmetadecoratedpathlength},
post fraction/.style={post length=#1*\pgfmetadecoratedpathlength}
}
\begin{tikzpicture}
\coordinate (A) at (0,0);
\coordinate (B) at (4,2);
\draw [
decoration={
curveto,
pre=moveto, pre fraction=0,
post=moveto, post fraction=0.3}, decorate, red, ultra thick] (A) to[out=0,in=-90](B);
\draw [decoration={curveto,
pre=moveto, pre fraction=0.7,
post=moveto, post fraction=0},%
decorate, blue, ultra thick,dotted] (A) to [out=0,in=-90](B);
\path [
decoration={
markings, mark=at position .7 with {\arrow[red,line width=2pt]{>}}},
decorate ] (A) to[out=0,in=-90](B);
\end{tikzpicture}
\end{document}
to
に置き換えたい場合は問題がありますedge
。場合によっては、置き換えが便利です。
エッジを使って作成することは可能ですか?また、どのようにすればよいですか?
問題は、操作がメイン パスが描画された後に追加された操作のedge
ように動作することから発生すると思います。空のパスでは動作しないというエラーが頻繁に発生します。to
marking
答え1
ついに私はここで答えを見つけました:テキストブログ記事の中で:TikZパスを装飾する(著者:Stefan Kottwitz ありがとう!)。なぜもっと早く考えなかったのかわかりません。 の使用に関連する多くの質問は、edge
次のように解決できます。例:TikZ エッジとアンカーを使用した奇妙な矢印マーク。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\tikzset{every loop/.style={min distance=20mm,in=0,out=60,looseness=10}}
\draw (0,0) node[circle,draw]{A} edge[red,loop] ();
\path[decoration={
markings, mark=at position .7 with {\arrow[blue,line width=1pt]{>}}}] (0,0) node[circle]{A} edge[decorate,loop] ();
\end{tikzpicture}
\end{document}