nicematrix: Umgang mit leeren Zellen / Zeichnen von Linien in ein NiceArray

nicematrix: Umgang mit leeren Zellen / Zeichnen von Linien in ein NiceArray

Bildbeschreibung hier eingeben

Ich möchte Linien (wie die gezeigte rote) hinzufügen/zeichnen überUndunter den Buchstaben A, B und D (nicht am \cdots) -jeweils zum oberen und unteren Ende der Matrix.

Was ist die richtige Methode von Nicematrix dafür?

· Es scheint ein Problem beim Zeichnen in „leeren Zellen“ zu geben. Kennt nicematrix einen Schlüssel wie TikZ-matrix nodes into empty cells?

·Kann ich diese Aufgabe elegant mit einer Foreach-Schleife erledigen?

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

Antwort1

Ihre Tikz-Anleitung \draw (2-1) -- (1-|1.5) ;scheint gut zu sein (wenn ich überhaupt verstehe, was Sie zeichnen möchten ...).

Für eine Schleife kann (beispielsweise) eine foreachSchleife verwendet werden (bereitgestellt von pgffor, die von geladen wird pgfund selbst von geladen wird nicematrix).

Hier ist ein Beispiel:

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

In \CodeAfterLaTeX enthält der Zähler jColdie Gesamtzahl der Spalten des Arrays (während er im Hauptteil des Arrays die Nummer der aktuellen Spalte enthält).

Ausgabe des obigen Codes

Sie sagen in Ihrer Frage, dass Sie keine Regel über und unter dem möchten \cdots. Natürlich erkennt der vorherige Code den Befehl \cdotsin der Zelle nicht automatisch ... Möchten Sie tatsächlich einen Code mit automatischer Erkennung der Position der potenziellen Befehle \cdots(es ist möglich, einen Code mit einer solchen Funktion zu schreiben, aber es ist nicht so einfach)?

verwandte Informationen