答案1
一种方法是改变 x 和 y 坐标的单位长度:
\documentclass[10pt,a4paper]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[x=0.5cm,y=0.5cm]
\foreach \x in {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}
\foreach \y in {0,1,2,3}
{
\draw (\x,\y) circle (0.1cm);
}
\end{tikzpicture}
\end{document}
答案2
您可以扩展整个tikzpicture
环境,但这可能有其他缺点,例如一切被缩放。更好的方法是缩放坐标:
以下是代码:
\documentclass{article}
\usepackage{tikz}
\begin{document}
Scale the environment:\medskip
\begin{tikzpicture}[scale=0.5]
\foreach \x in {0,...,18}
\foreach \y in {0,...,3} { \draw (\x,\y) circle (0.1cm); }
\end{tikzpicture}
\bigskip
Scale the coordinates:\medskip
\begin{tikzpicture}
\foreach \x in {0,...,18}
\foreach \y in {0,...,3} { \draw (0.5*\x,0.5*\y) circle (0.1cm); }
\end{tikzpicture}
\end{document}
还请注意,您可以缩写循环的 csv 列表\foreach
,如上述情况所示。您还可以使用以下结构循环非整数列表:
\foreach \x in {1,1.5,...,10} {...}
这两种方法都可以在 x 和 y 方向上使用不同的缩放比例。缩放环境时,您还可以使用xscale=...
,yscale=...
缩放坐标时,这一点很明显。