tikz## 编译环境
操作系统
* [ x] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [ x] TexL...
tikz## 编译环境
操作系统
* [ x] Windows 7/8/10
* [ ] macOS
* [ ] Linux
`若需勾选,请把[ ]改成[x]`
Tex发行版
* [ x] TexLive `年份`
* [ ] MikTeX `版本号`
* [ ] CTeX
`若需勾选,请把[ ]改成[x]`
## 我的问题
图形是人民教育出版社,七年级数学上册课本,第71页习题的图。下面给了一个实现的方法。问:代码有改进的方案吗?即tikz绘图有循环方法吗?图形排列有简单的方法吗?
[![](https://wenda.latexstudio.net/data/attach/200608/Ahs83M4d.png)](https://wenda.latexstudio.net/data/attach/200608/Ahs83M4d.png)
````
\documentclass[UTF8]{ctexart}
\usepackage{tikz}
\usetikzlibrary {calc}
\usepackage{graphicx}
\usepackage{caption,subcaption}
\begin{document}
%要用的的包:tikz、calc、graphicx、caption。
%\end{minipage}%之后的“%”不能少,与一个图形不能有空行。
\begin{figure}
\begin{minipage}[thtbp]{0.25\linewidth}
\centering
\begin{tikzpicture}
\def\x{1cm} %利用参数定义长度。
\def\r{0.8mm}
\coordinate (A) at (0,0);
\coordinate (B) at (\x,0);
\coordinate (C) at (60:\x);
\fill[red] (A) circle (\r);
\fill[red] (B) circle (\r);
\fill[red] (C) circle (\r);
\end{tikzpicture}
\subcaption*{$n=2$}
\end{minipage}%
\begin{minipage}[thtbp]{0.25\linewidth}
\centering
\begin{tikzpicture}
\def\x{1cm} %利用参数定义长度。
\def\r{0.8mm}
\coordinate (A) at (0,0);
\coordinate (B) at (\x,0);
\coordinate (C) at (60:\x);
\fill[red] (A) circle (\r);
\fill[red] (B) circle (\r);
\fill[red] (C) circle (\r);
\fill[red] ($ (A)!.5!(B) $) circle (\r);
\fill[red] ($ (B)!.5!(C) $) circle (\r);
\fill[red] ($ (C)!.5!(A) $) circle (\r);
\end{tikzpicture}
\subcaption*{$n=3$}
\end{minipage}%
\begin{minipage}[thtbp]{0.25\linewidth}
\centering
\begin{tikzpicture}
\def\x{1cm} %利用参数定义长度。
\def\r{0.8mm}
\coordinate (A) at (0,0);
\coordinate (B) at (\x,0);
\coordinate (C) at (60:\x);
\fill[red] (A) circle (\r);
\fill[red] (B) circle (\r);
\fill[red] (C) circle (\r);
\fill[red] ($ (A)!0.333!(B) $) circle (\r);
\fill[red] ($ (A)!0.666!(B) $) circle (\r);
\fill[red] ($ (B)!0.333!(C) $) circle (\r);
\fill[red] ($ (B)!0.666!(C) $) circle (\r);
\fill[red] ($ (C)!0.333!(A) $) circle (\r);
\fill[red] ($ (C)!0.666!(A) $) circle (\r);
\end{tikzpicture}
\subcaption*{$n=4$}
\end{minipage}%
\begin{minipage}[thtbp]{0.25\linewidth}
\centering
\begin{tikzpicture}
\def\x{1.3cm} %利用参数定义长度。
\def\r{0.9mm}
\coordinate (A) at (0,0);
\coordinate (B) at (\x,0);
\coordinate (C) at (60:\x);
\fill[red] (A) circle (\r);
\fill[red] (B) circle (\r);
\fill[red] (C) circle (\r);
\fill[red] ($(A)!0.25!(B)$) circle (\r);
\fill[red] ($(B)!0.25!(C)$) circle (\r);
\fill[red] ($(C)!0.25!(A)$) circle (\r);
\fill[red] ($(A)!0.5!(B)$) circle (\r);
\fill[red] ($(B)!0.5!(C)$) circle (\r);
\fill[red] ($(C)!0.5!(A)$) circle (\r);
\fill[red] ($(A)!0.75!(B)$) circle (\r);
\fill[red] ($(B)!0.75!(C)$) circle (\r);
\fill[red] ($(C)!0.75!(A)$) circle (\r);
\end{tikzpicture}
\subcaption*{$n=5$}
\end{minipage}%
\caption*{(第10题)}
\end{figure}
\end{document}
````
一周热门 更多>