TikZ에서 "#"은 무엇입니까?

TikZ에서 "#"은 무엇입니까?

저는 초보자인데 문의를 했어요이 예와 같이 직사각형을 만드는 방법은 무엇입니까?직사각형을 만드는 방법에 대해. 정사각형보다는 직사각형이 필요하기 때문에 코드를 읽고 이해하려고 노력하고 있습니다. 그런데 인터넷에서 이 1번부터 4번까지의 내용을 찾을 수 없나요? 표기가 짧아서 검색도 안되네요. 그래서 누군가가 나를 도와주면 기쁠 것 같아요.

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

답변1

"#"은 TikZ와 거의 관련이 없습니다. 이는 명령 정의의 형식 매개변수 표현에 사용됩니다(여기서는 \catalannumber). 일반 용어로 는 #1에 전달된 첫 번째 인수 \catalannumber, #2두 번째 인수 등을 나타냅니다.

저는 카탈로니아어 숫자에 익숙하지 않기 때문에 다음 내용이 수학적 의미가 있는지조차 확신할 수 없습니다. 하지만 정사각형 격자 대신 직사각형 격자를 얻으려면 다음에서 코드를 조정할 수 있습니다.TikZ에서 카탈로니아어 숫자 다이어그램을 그리는 방법다음과 같이. 두 번째 인수는 \catalannumberrectangle"m,n"입니다. 여기서 "m"은 열 수이고 "n"은 격자의 행 수입니다.

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

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

관련 정보