のコンテンツをバックグラウンドとして投稿しようとしています\CodeAfter
。nicematrix
一般的には、で得られる結果と似た結果を望んでいますが、環境\cellcolor
の柔軟性も必要です。tikzpicture
上の画像ではC_1_1
、
\documentclass[amsthm]{book}
\usepackage[x11names]{xcolor}
\usepackage{tikz}
\usepackage{nicematrix}
\NiceMatrixOptions{hvlines, rules/color=[gray]{0.95}}
\begin{document}
\begin{equation*}
\begin{bNiceMatrix}[margin]
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\\
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\\
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\CodeAfter
\begin{tikzpicture}[thick]
\draw[IndianRed1, fill=IndianRed1!11] (1-|1) rectangle (2-|2);
\end{tikzpicture}
\end{bNiceMatrix}
\end{equation*}
\end{document}
原理的には、tikzノードの背景をタイプセットすることは可能である。
\documentclass[amsthm]{book}
\usepackage[x11names]{xcolor}
\usepackage{tikz}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}[baseline]
\node[align=flush left, inner xsep=0pt, inner ysep=1pt, outer xsep=0pt, outer ysep=0pt, anchor=base] (basmah) {text};
\begin{pgfonlayer}{background}
\fill[Ivory1, opacity=0.75] (basmah.south west) rectangle (basmah.north east);
\end{pgfonlayer}
\end{tikzpicture}
\end{document}
答え1
2つの可能性があります:
\CodeBefore
Jasper Habicht の提案どおり、分割して との両方を使用することも可能です\CodeAfter
。を使用することも可能です
\Block
(もちろん、セル内に命令を配置する必要があり、メイン配列が乱雑になることを考慮する必要があります)。
\documentclass[amsthm]{book}
\usepackage[x11names]{xcolor}
\usepackage{tikz}
\usepackage{nicematrix}
\NiceMatrixOptions{hvlines, rules/color=[gray]{0.95}}
\begin{document}
\begin{equation*}
\begin{bNiceMatrix}[margin]
\Block[fill=IndianRed1!11,draw = IndianRed1,line-width=1pt]{}{C_{\arabic{iRow},\arabic{jCol}}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\\
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\\
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\end{bNiceMatrix}
\end{equation*}
\end{document}
通常の と同様にnicematrix
、複数のコンパイルが必要です。
答え2
\CodeBefore
とのみで実行したい場合は\CodeAfter
、次のようになります。
\documentclass[amsthm]{book}
\usepackage[x11names]{xcolor}
\usepackage{tikz}
\usepackage{nicematrix}
\NiceMatrixOptions{hvlines, rules/color=[gray]{0.95}}
\begin{document}
\begin{equation*}
\begin{bNiceMatrix}[margin]
\CodeBefore
\rectanglecolor{IndianRed1!11}{1-1}{1-1}
\Body
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\\
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\\
C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}} & C_{\arabic{iRow},\arabic{jCol}}
\CodeAfter
\tikz \draw[thick,IndianRed1] (1-|1) rectangle (2-|2);
\end{bNiceMatrix}
\end{equation*}
\end{document}