
固定された TikZ コード ブロックを何度も繰り返して書き直す必要があることにいつも気づきます。質問ですが、単一の引数内に TikZ 実行可能コマンドのブロック (スタイルだけではなく) を作成し、その引数をスタイルとして呼び出すことは可能でしょうか?
このことを考慮:
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{tikzpicture}
\coordinate [label = below:A](A) at (0, 0);
\coordinate [label = above:B](B) at (3, 3);
\draw (A) -- (B);
\draw [|-|, thin] ($(A)! 8mm !90:(B)$) -- node [sloped, midway, fill = white]{$3$cm}
($(B)! -8mm !90:(A)$);%This is too long and It would awesome to abstract it
\end{tikzpicture}
私が知りたいのは、
\tikzset{
dimension line/.code arg={from#1to#2value#3}
draw the dimension line between (A) and (B),
add a node in the middle with blah style and blau value
}
そのため、
\draw[dimension line=from A to B value 3cm] (A)--(B);
同じ出力が得られます。これにより、最小限の労力で作業を実行し、抽象化が可能になります。この例は、TikZ でコード ブロックを作成する方法を理解するのに十分シンプルだと思います。ありがとうございます。
答え1
これは本当の答えというよりは長いコメントです。
すべてのtikz-dimline
例では直交座標を使用していますが、名前付き座標を使用することもできます。
\documentclass[border=2mm,tikz]{standalone}
\usepackage{tikz-dimline}
\begin{document}
\begin{tikzpicture}
\draw[red] (0,0) coordinate (A) -- (45:3) coordinate (B);
\dimline[color=blue]{([shift={(-3mm,3mm)}]A)}{([shift={(-3mm,3mm)}]B)}{3cm};
\end{tikzpicture}
\end{document}
いずれにせよ、私は探していた質問をようやく見つけました。