ノードと矢印
名前付きノード、相対配置、矢印の先端。
ノードと矢印
ほぼすべての TikZ 図は 2 つの要素に集約されます。ノードは、配置されたコンテンツの一部であり、通常はラベル付きのボックスまたは円です。エッジは 2 つのノードを接続する線または矢印です。ノードを配置して結合できるようになると、フローチャート、パイプライン、ブロック図はすべて、サイズが異なっても同じ作業になります。以下の例では、2 つの名前付きボックスを配置し、それらの間にラベル付きの矢印を描画します。
\usetikzlibrary{positioning,arrows.meta}
\begin{tikzpicture}\node[draw] (src) {Source};\node[draw, right=2cm of src] (dst) {Sink};\draw[-{Latex}] (src) -- node[above] {edge} (dst);\end{tikzpicture}ノードの名前付けと配置
\node[draw] (src) {Source}; では、括弧オプションはノードのスタイルを設定し、draw はその境界線を描画することを意味し、それなしではフローティング テキストが得られます。 (src) はノードの名前で、{Source} はそのコンテンツです。名前は重要な部分です。これにより、他のコマンドがその座標を知らなくてもこのノードを参照できるようになります。
2 番目のノードは、それが重要な理由を示しています。 right=2cm of src は positioning ライブラリから取得され、dst を src の 2 センチメートル右側、境界間で測定して配置します。このライブラリは、「left=of」、「above=of」、「below=of」、および「above right=of」のような対角線の組み合わせも提供します。この方法で図を構築すると (各ノードが既存のノードに相対する)、テキストのサイズが変更されてもレイアウトはそのまま残ります。 \node at (4,2) のような絶対座標にはまだ用途がありますが、それらに基づいて構築された図では、ボックスが 1 つ大きくなるたびに手動で番号を付け直す必要があります。
矢印を描く
\draw (src) -- (dst); は 2 つの名前付きノード間に直線を描き、TikZ は自動的にノードの中心ではなくノードの境界で線を開始および終了します。 [-{Latex}] オプションは矢印の先端を指定します。ハイフンの前に何もない場合は尾の先端がないことを意味し、その後の Latex は宛先の arrows.meta ライブラリから実線の矢印を選択します。 {Latex}-{Latex} と書くと両方向の矢印が表示されます。
中間パス node[above] {edge} は、ライン自体に付けられたラベルです。パス内に書かれたノードはパスのその点、デフォルトでは途中に配置され、「上」を指定するとノードが線のすぐ上に移動するため、テキストはストローク上に位置しません。これは、遷移とデータ フローに注釈を付ける標準的な方法です。
成果を上げる習慣
小さな図であっても、すべてのノードに名前を付けます。名前のないノードには接続できず、小さなダイアグラムが小さなままになることはほとんどありません。同じ理由で、絶対座標よりも「位置決め」よりも相対的な配置を優先します。すべての TikZ ステートメントはセミコロンで終わります。 1 つを省略することは最も一般的な TikZ エラーであり、多くの場合、メッセージは実際の問題から大きく外れています。多くのボックスを整然とした行と列に配置するには、整列されたフローチャート ボックス に進みます。