Wofür steht das „#“ in TikZ?

Wofür steht das „#“ in TikZ?

Ich bin ein Neuling und habe gefragt inWie erstelle ich Rechtecke wie in diesem Beispiel?darüber, wie man Rechtecke macht. Ich versuche, den Code zu lesen und zu verstehen, da ich Rechtecke und keine Quadrate brauche. Aber ich kann im Internet nicht finden, was diese #1 bis #4 sind? Da die Notation kurz ist, kann ich nicht einmal danach suchen. Ich wäre also froh, wenn mir jemand dabei helfen würde.

\newcommand\catalannumber[3]{
  % start point, size, Dyck word (size x 2 booleans)
  \fill[cyan!25]  (#1) rectangle +(#2,#2);
  \fill[fill=lime]
  (#1)
  \foreach \dir in {#3}{
    \ifnum\dir=0
    -- ++(1,0)
    \else
    -- ++(0,1)
    \fi
  } |- (#1);
  \draw[help lines] (#1) grid +(#2,#2);
  \draw[dashed] (#1) -- +(#2,#2);
  \coordinate (prev) at (#1);
  \foreach \dir in {#3}{
    \ifnum\dir=0
    \coordinate (dep) at (1,0);
    \else
    \coordinate (dep) at (0,1);
    \fi
    \draw[line width=2pt,-stealth] (prev) -- ++(dep) coordinate (prev);
  };
}

Antwort1

Das "#" hat wenig mit TikZ zu tun. Es wird im Ausdruck formaler Parameter bei der Definition eines Befehls verwendet (hier: \catalannumber). In Laiensprache #1bezieht sich auf das erste an übergebene Argument \catalannumber, #2bezieht sich auf das zweite Argument usw.

Ich bin nicht vertraut mit Catalan-Zahlen, also bin ich mir nicht einmal sicher, ob das Folgende mathematisch Sinn ergibt, aber wenn Sie ein rechteckiges Gitter statt eines quadratischen erhalten möchten, können Sie den Code von anpassenSo zeichnen Sie ein katalanisches Zahlendiagramm auf TikZwie folgt. Das zweite Argument \catalannumberrectangleist „m,n“, wobei „m“ die Anzahl der Spalten und „n“ die Anzahl der Zeilen des Gitters ist.

Bildbeschreibung hier eingeben

\documentclass[border=2mm]{standalone}
\usepackage{tikz}

\newcommand\catalannumberrectangle[3]{
  % start point, size, Dyck word (size x 2 booleans)
  \fill[cyan!25]  (#1) rectangle +(#2);
  \fill[fill=lime]
  (#1)
  \foreach \dir in {#3}{
    \ifnum\dir=0
    -- ++(1,0)
    \else
    -- ++(0,1)
    \fi
  } |- (#1);
  \draw[help lines] (#1) grid +(#2);
  \draw[dashed] (#1) -- +(#2);
  \coordinate (prev) at (#1);
  \foreach \dir in {#3}{
    \ifnum\dir=0
    \coordinate (dep) at (1,0);
    \else
    \coordinate (dep) at (0,1);
    \fi
    \draw[line width=2pt,-stealth] (prev) -- ++(dep) coordinate (prev);
  };
}

\begin{document}
\begin{tikzpicture}
  \catalannumberrectangle{0,-9}{8,4}{0,1,0,0,1,1,0,1,0,0,0,0};
\end{tikzpicture}
\end{document}

verwandte Informationen