TikZで繰り返し処理をする方法

TikZで繰り返し処理をする方法を書く。

1. タイプセット環境

macOS Sierra,texlive2016,lualatex

2. コードと実行結果
コード
%
%  preamble for lualatex
%
\RequirePackage{luatex85}
\documentclass[border={15pt,15pt,15pt,15pt}]{standalone}
\usepackage{luatexja}
%\usepackage{luatexja-fontspec}
%\usepackage{fontspec}
\usepackage{tikz}
\usetikzlibrary{math}
%\setmainfont{rounded-mplus-1m-light}
%\setmainjfont{rounded-mplus-1m-light}
\begin{document}

% tikzpictureの中で繰り返し
\begin{tikzpicture}
  \foreach \t in {0, 20, ..., 180}{
    \tikzmath{
        \color = \t * 0.5;
    }
    \path[draw,color=red!\color, ->] (0,0) -- (\t:2) node[label=\t]{};
  }
\end{tikzpicture}

% tikzの外でも使える
\foreach \t in {0, 1, ..., 5}{
  I'm \t !
}

\end{document}
実行結果
3. 説明
3.1. preambleの説明
%
%  preamble for lualatex
%
\RequirePackage{luatex85}
\documentclass[border={15pt,15pt,15pt,15pt}]{standalone}
\usepackage{luatexja}
%\usepackage{luatexja-fontspec}
%\usepackage{fontspec}
\usepackage{tikz}
\usetikzlibrary{math}
%\setmainfont{rounded-mplus-1m-light}
%\setmainjfont{rounded-mplus-1m-light}

追加したtikzlibrary

math
 \tikzmathを使うため。

フォントなど,見た目を整えるための記述はコメントアウトした。

3.2. documentの説明
% tikzpictureの中で繰り返し
\begin{tikzpicture}
  \foreach \t in {0, 20, ..., 180}{
    \tikzmath{
        \color = \t * 0.5;
    }
    \path[draw,color=red!\color, ->] (0,0) -- (\t:2) node[label=\t]{};
  }
\end{tikzpicture}

\tの値を変えながら繰り返し処理ができる。

% tikzの外でも使える
\foreach \t in {0, 1, ..., 5}{
  I'm \t !
}

\foreachはtikzが読み込むpgfforパッケージに定義されていて,tikzpicture環境の外でも使える。

おしまい。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください