Eu sou um novato e pergunteiComo criar retângulos como neste exemplo?sobre como fazer alguns retângulos. Estou tentando ler o código e entendê-lo, pois preciso de retângulos em vez de quadrados. Mas não consigo encontrar na rede o que são esses números 1 a 4? Como a notação é curta, não consigo nem pesquisar. Então eu ficaria feliz se alguém me ajudasse com isso.
\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);
};
}
Responder1
O “#” tem pouco a ver com TikZ. É utilizado na expressão de parâmetros formais na definição de um comando (aqui: \catalannumber
). Em termos leigos, #1
refere-se ao primeiro argumento passado para \catalannumber
, #2
refere-se ao segundo argumento, etc.
Não estou familiarizado com os números catalães, então nem tenho certeza se o que se segue faz algum sentido matemático, mas se você quiser obter uma rede retangular em vez de quadrada, poderá adaptar o código deComo desenhar um diagrama numérico catalão no TikZdo seguinte modo. O segundo argumento \catalannumberrectangle
é "m,n", onde "m" é o número de colunas e "n" é o número de linhas da rede.
\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}