天天看點

TikZ學習筆記番外篇: 使用tikzcd包繪制交換圖

什麼是交換圖

映射的合成關系, 用圖表示出來, 稱為交換圖.

怎麼繪制

有很多方法可以繪制, 都是基于 的, 這裡我使用了制作的一個宏包:, 可以更友善的繪制交換圖, 并且我之前介紹過一些的相關知識, 上手這個包應該也不是很難.

tikzcd的使用

先用​

​texdoc tikzcd​

​調出宏包的幫助文檔, 雖然是英文的, 但是光看代碼的話并不困難. 下面是一個具體的例子:

先導入包, 這裡我習慣采用tikz子包的形式.

\usetikzlibrary{cd}      

然後開啟繪制環境:

\begin{tikzcd}[⟨options⟩] 
⟨environment contents⟩
\end{tikzcd}      

由于這裡用到的數學符号比較多, 這裡先導入數學環境以及相關字型​

​\usetikzlibrary{cd} \usepackage{amsmath,amsfonts}​

​.

其繪制的基本流程是:

  1. 使用"​

    ​&​

    ​​"符号來隔開箭頭(​

    ​\arrow​

    ​​或者簡記為​

    ​\ar​

    ​)和指向的元素;
  2. 使用​

    ​\\​

    ​進行換行, 進行逐層的繪制;
  3. 一個元素指出的多個箭頭應該放在一起;

用來繪制群同态基本定理中的交換圖:

\documentclass[tikz, border=3pt]{standalone}
\usetikzlibrary{cd}
\usepackage{amsmath,amsfonts}

\begin{document}
    \begin{tikzcd}
        \pi:G_1 \rar[]& G_1/\mathrm{Ker}\rho\\[-20pt]
        g \rar[mapsto, "\pi"] \dar["\rho"'] & \mathrm{Ker}\rho \dlar["\tilde{\rho}"]\\ 
        \rho(g) &
    \end{tikzcd}
    % -----------------
    \begin{tikzcd}
        \rho:(\mathbb{Z},+) \rar[]& G=\langle g\rangle\\[-20pt]
        k \rar[mapsto, "\rho"] \dar["\pi"'] & g \\
        (\mathbb{Z},+)/\mathrm{Ker}\rho \urar["\tilde{\rho}"'] & 
    \end{tikzcd}
\end{document}      
  1. 在​

    ​\arrow​

    ​​的​

    ​options​

    ​中使用兩個雙引号來顯示箭頭上的文字, 在最後一個雙引号之後加上一個單引号可以改變文字在箭頭上的位置(如果之前在箭頭上面, 加上單引号之後會使文字顯示在箭頭下方);
  2. 箭頭可以簡寫,​

    ​d​

    ​​,​

    ​u​

    ​​表示​

    ​down​

    ​​和​

    ​up​

    ​​,​

    ​l​

    ​​和​

    ​r​

    ​​表示​

    ​left​

    ​​和​

    ​right​

    ​, 一般是先上下, 再左右;
  3. 交換圖指向的元素會自動改變顯示的位置, 但是需要考慮一下​

    ​&​

    ​​的位置, 這個符号需要放在​

    ​元素-箭頭​

    ​這樣的組合的後面.