Ich versuche, den Inhalt in als Hintergrund zu veröffentlichen \CodeAfter
. nicematrix
Ich möchte im Allgemeinen ähnliche Ergebnisse wie mit \cellcolor
, aber mit der Flexibilität der tikzpicture
Umgebung
Im obigen Bild sehen wir, dass C_1_1
nicht sichtbar ist
\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}
Im Prinzip ist es möglich, den Hintergrund für Tikz-Knoten festzulegen
\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}
Antwort1
Sie haben zwei Möglichkeiten:
Es ist möglich, wie von Jasper Habicht vorgeschlagen, die Dinge aufzuteilen und sowohl als auch zu
\CodeBefore
verwenden\CodeAfter
.Es ist auch möglich, ein zu verwenden
\Block
(natürlich müssen Sie die Anweisung in die Zelle einfügen und vielleicht bedenken Sie, dass dies Ihr Hauptarray überladen würde).
\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}
Wie bei üblich nicematrix
, sind mehrere Zusammenstellungen erforderlich.
Antwort2
\CodeBefore
Nur für den Fall, dass Sie es ausschließlich mit und machen möchten \CodeAfter
, hier ist es:
\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}