可換図

tikz-cd の矢印とラベルは座標スープなし。

可換図

可換図は、ラベル付きの矢印で結合されたオブジェクトのグリッドであり、圏論、代数、およびトポロジーの標準的な図です。 Raw TikZ は描画できますが、すべてのノードを座標で配置するのは遅くて不安定です。 tikz-cd パッケージは TikZ をマトリックスのような構文でラップします。オブジェクトをテーブルのようにレイアウトし、各矢印をその方向で記述します。

\usepackage{tikz-cd}
\begin{tikzcd}
A \arrow[r,"f"] \arrow[d,"g"'] & B \arrow[d,"h"] \\
C \arrow[r,"k"'] & D
\end{tikzcd}

構文を読む

グリッドは行列のように機能します。「&」は列を区切り、「\」は行を区切ります。そのため、この図では、上の行に A と B、下の行に C と D があります。各 \arrow[...] は、それが書き込まれているセルに属し、そこから離れた方向を指します。最初のオプションは方向で、文字 rlu、および d で綴られます。\arrow[r] は 1 セル右に移動し、\arrow[d] は 1 セル下に移動します。文字は結合して対角線に繰り返し、さらに長くなります。つまり、「rd」は右下に 1 ステップ、「rr」は 2 列にまたがります。

引用符で囲まれたラベルは矢印の上にあります。デフォルトでは、片側に配置されます。 `“g”‘’ のように、終了引用符の後のプライムは、それを反対側に反転します。この例では、素数は 4 つのラベルすべてを正方形の外側に保持します。これは通常のきれいな配置です。

その他の矢印オプション

さらにオプションを方向とラベルの後に積み重ねて、矢印のスタイルを変更します。 hook は尾部を包含矢印に曲げ、two heads は全射の頭部を 2 倍にし、dashed は仮定ではなく主張しているマップをマークし、Rightarrow は自然な変換に使用される二軸の矢印を生成します。一般的なユニバーサル プロパティの矢印は \arrow[rd, 破線, "\exists u"'] となります。図が窮屈に感じられる場合は、環境の間隔オプション (例: \begin{tikzcd}[column sep=large]) が役に立ちます。

実践的なメモ

tikz-cd は TikZ 自体をロードするため、別個の \usepackage{tikz} 行は必要なく、図は標準エンジンや外部描画ツールを使用してコンパイルされます。最も一般的な構造上の間違いは、不均一なグリッドです。「&」区切り文字の数が異なる行では、オブジェクトが間違った列に移動し、矢印が奇妙な場所に到達します。上記のような作業用の正方形から開始して、一度に 1 行または 1 列ずつ拡大し、進みながら再コンパイルします。図は、ソースから見るよりも目で見てデバッグする方がはるかに簡単で、ライブ プレイグラウンド は入力時にそのフィードバックを提供します。

TeX で描く に戻る