nicematrix: 빈 셀 처리/NiceArray에 선 그리기

nicematrix: 빈 셀 처리/NiceArray에 선 그리기

여기에 이미지 설명을 입력하세요

위에 표시된 빨간색 선과 같은 선을 추가/그리기를 원합니다.그리고문자 A, B 및 D 아래( 가 아님 \cdots) -각각 행렬의 상단과 하단에.

이에 대한 nicematrix의 올바른 방법은 무엇입니까?

· "빈 셀"에 그리는 데 문제가있는 것 같습니다. nicematrix는 TikZ-matrix와 같은 키를 알고 있나요 nodes into empty cells?

·foreach-loop를 사용하여 해당 작업을 우아하게 수행할 수 있나요?

\documentclass{article}
\usepackage{amsmath}

\usepackage{nicematrix} 
\usepackage{tikz} 
\begin{document}
$\begin{NiceArray}{(c c c c) }
    &     &           &      \\
A  & B  & \cdots  & D     \\
    &     &           &      \\
\CodeAfter
\begin{tikzpicture}[]
%\draw[red] (2-1) -- (1-1); % does not work-->' No shape named `1-1' is known.'
\draw[red] (2-1) -- (1.5|-1); % work
\end{tikzpicture}
\end{NiceArray}$
\end{document}

답변1

귀하의 Tikz 교육은 \draw (2-1) -- (1-|1.5) ;좋은 것 같습니다(제가 실제로 귀하가 그리고 싶은 것을 이해한다면...).

루프의 경우 (예를 들어) foreach루프( pgffor에 의해 로드되고 pgf자체적으로 에 의해 로드 됨 nicematrix)를 사용하는 것이 가능합니다.

예는 다음과 같습니다.

\documentclass{article}
\usepackage{nicematrix} 
\usepackage{tikz} 

\begin{document}

$\begin{NiceArray}{(c c c c)}
  \NotEmpty  &     &           &      \\
A  & B  & \cdots  & D     \\
    &     &           &      \\
\CodeAfter
  \begin{tikzpicture} [red]
   \foreach \i in {1,...,\value{jCol}} 
      { 
        \draw (2-\i) -- (1-|\i.5) ; 
        \draw (2-\i) -- (last-|\i.5) ; 
      } ; 
  \end{tikzpicture}
\end{NiceArray}$

\end{document}

\CodeAfterLaTeX 카운터 에는 jCol배열의 총 열 수가 포함됩니다(반면 배열 본문에는 현재 열의 수가 포함됩니다).

위 코드의 출력

귀하의 질문에서 위와 아래에 어떤 규칙도 원하지 않는다고 말합니다 \cdots. 물론, 이전 코드는 \cdots셀에 있는 명령을 자동으로 감지하지 않습니다... 실제로 잠재적인 명령의 위치를 ​​자동으로 감지하는 코드를 원하십니까 \cdots(이러한 기능을 사용하여 코드를 작성하는 것은 가능하지만 간단하지 않습니다) )?

관련 정보