nicematrix의 \CodeAfter 내용을 배경으로 조판하는 방법은 무엇입니까?

nicematrix의 \CodeAfter 내용을 배경으로 조판하는 방법은 무엇입니까?

\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

견인 가능성이 있습니다.

  1. Jasper Habicht가 제안한 대로 항목을 분할하고 및 를 모두 사용하는 것이 가능 \CodeBefore합니다 \CodeAfter.

  2. a를 사용하는 것도 가능합니다 \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

\CodeBeforeand 만 사용하여 수행하려는 경우에는 \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}

관련 정보