FC2ブログ

天地有情

[LaTeX] pgffor --- \foreach文で ループを簡潔に利用する

§1 はじめに

LaTeX標準のループ文の一つに \@for がありますが,通常の文書で利用するには,
\makeatletter と \makeatother で囲む煩雑さがあります.

パッケージpgfforは,TikZによって自動的に読み込まれますが,pgfでは読み込まれません.
このパッケージはpgfとは独立して使うことができますが,特にpgfやTikZと一緒に使えます.
独立して使うには,\usepackage{pgffor} とします.

1.1 インストール

必要に応じて,CTAN( https://ctan.org/pkg/pgf )から
ダウンロードしてください.

TeXLive/W32TeX などには標準でインストールされています.

1.2 マニュアル

コマンドラインから texdoc pgffor を実行するか,
上記に同梱の pgfmanual.pdf をお読み下さい.

(注) 上記マニュアル中,pgfforに関するページは (p-26, 41, 113, 123, 901)です.


§2 使い方

2.1プリアンブルに
  \usepackage {pgffor}
  を記述します.

2.2 コマンド

\foreach <variables> in <list> <commands>

● <variables>  \x とか \y のような単一のTeXコマンド
● <list>    中括弧で囲まれた値のカンマ区切りリストか,
  そのような値のリストを含むマクロの名前です.
● 中括弧で囲まれたTEXテキストです.
  \foreach文は<commands>を<list>の各要素に対して1回ずつ繰り返し実行します.

<command>が実行されるたびに,<variable>はリスト項目の現在の値に設定されます.


§3 サンプル

(1)基本例1

pgffor01.png



(2)基本例2

pgffor02.png



(3)基本例3

pgffor03.png


● \usepackage{pgffor}の代わりに\usepckage{tikz}を登録します.
  自動的にpgfforが読み込められます.


(4)2重ループ

● \usepackage{pgffor}の代わりに\usepckage{tikz}を登録します.
  自動的にpgfforが読み込められます.

pgffor04.png



(5)サイコロ
pgffor05.png



● 本例題は拙著ブログ epsdice --- スケーラブルなサイコロ "フォント" をご一読ください.

● コンパイルは lualatex (or luajitlatex)を実行します.


(EOF)
スポンサーサイト



  1. 2018/02/03(土) 13:02:52|
  2. LaTeX Tools