nicematrix: manipula células vazias / desenha linhas em um NiceArray

nicematrix: manipula células vazias / desenha linhas em um NiceArray

insira a descrição da imagem aqui

Gostaria de adicionar/desenhar linhas (como a vermelha mostrada) sobreesob as letras A, B e D (não no \cdots) -cada um para a extremidade superior e inferior da matriz.

Qual é o método correto do nicematrix para isso?

· Parece haver um problema ao desenhar em “células vazias”. Nicematrix conhece uma chave como a da matriz TikZ nodes into empty cells?

·Posso fazer essa tarefa elegantemente com um loop foreach?

\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}

Responder1

Suas instruções do Tikz \draw (2-1) -- (1-|1.5) ;parecem boas (se eu realmente entender o que você quer desenhar...).

Para um loop, é possível (por exemplo) usar um foreachloop (fornecido por pgfforwhich é carregado por pgf, ele próprio carregado por nicematrix).

Aqui está um exemplo:

\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}

No \CodeAftercontador LaTeX jColcontém o número total de colunas do array (enquanto no corpo do array contém o número da coluna atual).

Saída do código acima

Você diz em sua pergunta que não deseja nenhuma regra acima e abaixo do arquivo \cdots. Claro, o código anterior não detecta automaticamente o comando \cdotsna célula... Você realmente quer um código com detecção automática da posição dos comandos potenciais \cdots(é possível escrever um código com esse recurso, mas não é simples )?

informação relacionada