KaTeX で装飾(行列で整列): Notion Tips (108)

はじめに

Notion Tips の第107回目は行列を使って文字を整列する方法を解説します。

行列コマンド

線形代数で用いる行列は以下のようなコマンドで記述できます。& で要素間の区切り、\ で改行を意味します。描画結果をコードの下に示しました。以下ではコードとスクリーンショットを連続して掲載することにします。

\begin{pmatrix}
1 & 2 \\
3 & 4 \\
\end{pmatrix}

行列

これを文字の整列に使いたいと思います。文字の成立に使うなら () は要りません。この時、環境は pmatrix ではなく matrix となります。

\begin{matrix}
1 & 2 \\
3 & 4 \\
\end{matrix}

括弧なし行列

ここで 1, 2, 3, 4 の部分は数式なので、文字にしたければ、\textxx 系のコマンドで括る必要があります。全体を大きくしたいので、一番先頭に \large コマンドを配置しています。

\large
\begin{matrix}
\textrm{RM} & \textbf{BF}\\
\textsf{SF} & \texttt{TT}
\end{matrix}

中身をテキストに変更

文字揃えの変更

matrix 環境ではそれぞれの要素は中央揃えになります。せっかくなので上の文字に赤字にしてみました。前回の説明で \color コマンドはデフォルトの色を変更すると書きました。ただし、その影響は {} 内に限られるため、下の GHI には影響していません。

\begin{matrix}
\textrm{\color{red}ABCDEF}\\
\textbf{GHI}
\end{matrix}

中央揃え

ここで中の文字を左寄せしたい場合には、matrix ではなく matrix* 環境を使用します。後ろに [l] を付けることで左寄せになります。比較しやすいように上と同じ文字にしました。

\begin{matrix*}[l]
\textrm{\color{red}ABCDEF}\\
\textbf{GHI}
\end{matrix*}

左揃え

右寄せは [r] にするだけです。

\begin{matrix*}[r]
\textrm{\color{red}ABCDEF}\\
\textbf{GHI}
\end{matrix*}

右寄せ

背景色との組み合わせ

昨日解説した背景色を設定する \colorbox コマンドと組み合わせることもできます。ただし、この場合は注意が必要です。昨日解説したように \colorbox の二つ目の引数は数式モードではなく、テキストモードになります。matrix 環境は数式モードでしか動作しないので、$ と $ で括ることで数式モードに戻します。一方、matrix 環境の中は数式モードなので、再度 \textxx 系のコマンドでテキストモードに変更します。このようにどちらのモードになっているのかは常に注意が必要です。

\colorbox{green}{
$
\begin{matrix*}[r]
\textrm{\color{yellow}ABCDEF}\\
\textbf{\color{orange}GHI}
\end{matrix*}
$
}

背景色を追加

CD環境

KaTeX には可換図を描くこともできます。ここでは PDCA の可換図を書いてみました。

\begin{CD}
\textrm{Plan} @>>> \textrm{Do}\\
@AAA @VVV \\
\textrm{Action} @<<< \textrm{Check}
\end{CD}

CD で記述した PDCA サイクル

せっかくなので、ここに \colorbox を組み合わせてみましょう。\colorbox 自体がテキストモードに変換してくれるので、\textrm を書き換え、色を追加するだけでよいです。

\begin{CD}
\colorbox{green}{Plan} @>>> \colorbox{yellow}{\color{black}Do}\\
@AAA @VVV \\
\colorbox{blue}{Action} @<<< \colorbox{red}{Check}
\end{CD}

colorbox を使った PDCA サイクル

おわりに

KaTeX については単にコマンドを解説している記事が多いので、今回のようにコマンドを組み合わせる時に難しいと感じる人が多いようです。特にモードの切り替えはわかりにくいので、その辺りを解説してみました。