Tikzpicture의 프로그램

Tikzpicture의 프로그램

우리가 주변 환경에서 정의할 수 있는 'n''에 대한 이 특정 사각형의 생성을 프로그래밍하는 가장 좋은 방법은 무엇입니까? 이 경우 n=4입니다.

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

답변1

이것은 스스로 알아낼 수 있는 좋은 연습이었을 것이며, 막혔는지 물어볼 수 있습니다. 일반적으로 그렇게 하는 것이 더 나을 것입니다. 혹시라도 시도해 보셨다면,우리에게 보여줘. 그런데 주변에 나 같은 바보가 있기 때문에

매우 간단합니다. 코드의 일부 주석을 참조하세요.

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

\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgfmathsetmacro\N{4} % define your value of N
\foreach [
  % values to be printed along diagonal, save in \i
  evaluate=\n as \i using int(2*\n-1),
  % values printed below the diagonal, save in \j 
  evaluate=\n as \j using int(2*\n), 
]
  \n in {1,...,\N} 
{
% upper left corner of the whole thing is (0,0)
% draw squares along diagonal, with number in the middle
\draw (\n-1,-\n+1) rectangle node{\i} (\n,-\n);
% No lower rectangle for the last value in the loop
% so only draw that if the loop variable is less than \N
\ifnum \n < \N
  \draw (\n-1,-\N) rectangle node{\j} (\n,-\n);
\fi
}
% draw upper and right border
\draw (0,0) -| (\N,-\N);
\end{tikzpicture}
\end{document}

답변2

이는 일반을 사용하면 매우 쉽습니다 tabular.

\documentclass[12pt,a4paper]{article}
\usepackage{multirow}
\begin{document}

\begin{tabular}{|*4{c|}}
\hline
1                  & \multicolumn{3}{c|}{}                      \\ \cline{1-2}
\multirow{3}{*}{2} & 3                  & \multicolumn{2}{c|}{} \\ \cline{2-3}
                   & \multirow{2}{*}{4} & 5         &           \\ \cline{3-4} 
                   &                    & 6         & 7         \\ \hline
\end{tabular}

\end{document}

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

숫자가 크면 TikZ를 사용하는 것이 좋습니다.

\documentclass[tikz,border=5pt]{standalone}
\begin{document}

\def\N{7}

\begin{tikzpicture}[sqr/.style={minimum width=1cm,draw},outer sep=0pt]
\foreach \i [evaluate=\i as\j using int(2*\i-1), 
             evaluate=\i as\t using int(2*\i)] in {1,...,\N}{
\node(c\j) at (\i,-\i)[sqr,minimum height=1cm, anchor=south]{\j};
\ifnum\i<\N\node at (\i,-\i)[sqr,minimum height=\N cm-\i cm, anchor=north]{\t};
\else\draw(c1.north east) -| (c\j.north east);\fi
}
\end{tikzpicture}

\end{document}

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

관련 정보