
상자가 여러 개 있는데 TikZ를 사용하여 빠르게 번호를 매기고 싶습니다. 내 생각은 다음과 같은 것을 사용하는 것이 었습니다.
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[font=\tiny]
\foreach \x in {0,...,4}
\foreach \y in {0,...,4}
\draw (\x*2-.5,\y*2-.5) rectangle (\x*2+.5,\y*2+.5) node[midway] {\x+1+5*\y};
\end{tikzpicture}
\end{document}
그러나 이제 노드 노드는 0+1+5*2
예시처럼 보입니다. TikZ를 0+1+5*2
로 변환할 수 있는 방법이 있나요 11
?
답변1
\x+1+5*\y
먼저 결과를 노드의 콘텐츠로 사용하는 것보다 값을 계산해야 합니다 .
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \x in {0,...,4}
\foreach \y in {0,...,4}
\pgfmathtruncatemacro{\xy}{\x+1+5*\y} % macro which calculate value of \x+1+5*\y
\draw (\x*8-1,\y*8+1) rectangle (\x*8+1,\y*8-1) node[midway] {\xy};
\end{tikzpicture}
\end{document}
라이브러리 사용에 대해서는 pgfmath
(기본적으로 로드됨) 장을 참조하십시오.수학 및 객체 지향 엔진tikz
, 문서(4.1.4a 버전) 의 1010 페이지 , 특정 섹션94.1 표현식 구문 분석1012페이지에 있습니다.
답변2
1 cm
내가 올바르게 이해했다면, 당신은 넓고 서로 분리된 정사각형 상자의 테이블을 만들고 싶을 것입니다 1 cm
.
기본적으로 외곽선을 사각형 으로 그리는 옵션 과 nodes
함께 a minimum size
를 사용할 수 있습니다 .1cm
draw
rectangle
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[font=\tiny]
\foreach \x in {0,...,4}{
\foreach \y [evaluate =\y as \xy using int(\x+1+5*\y)]in {0,...,4}
\node[draw,minimum size=1cm] at (2*\x,2*\y) {\xy};
}
\end{tikzpicture}
\end{document}