2012.03.30 更新   スライド化しました.        新しいマクロ定義  以下に例を示す.  \dev\hoge{ほげ}      これにより,\hogeが「ほげ」に変換される.引数を使うには,以下のように記述する.  \dev\hour#1{今は#1時です}               別の方法  上に示した処理は,以下のようにも記述できる.  \newcommand{\hoge}{ほげ}  \newcommand{\hour}[1]{今は#1時です}               defとnewcommand違い  defとnewcommandが異なる箇所として,以下が上げられる.    定義命令を定義している処理系  マクロを多重定義した場合の動作  引数のとり方     まず,定義されている処理系が異なる.defはtexで定義されており,newcommandは,latexで定義されている.   次に,多重定義した際の動作が異なる.defでは,新しい定義で上書きする.一方,newcommandではエラーを出力する.   最後に,defでは,引数のとり方としてパターンマッチングを利用できる.例えば,以下のマクロ定義があるとする.  \def\Hatchr(#1,#2)(#3,#4)#5  これにより,以下に示すインターフェイスを実現する.  \Hatchr(3,4)(7,8){hoge}               マクロの複製  以下の処理では,\hogeの内容を\fugaに複製する.  \let\fuga\hoge               マクロの初期化  以下のコードで,\hogeを初期化する.  \let\fuga\relax   ここで,\relaxは初期化のために利用する空の定義である.               マクロに文字を追加し再定義  defによる定義は,マクロの多重展開をおこなわない.例えば,以下のコードを考える.  \def\hoge{ほげ}  \def\hoge{\hogeふぇふぇ}   この後,\hogeを利用すると「\hogeふぇふぇ」と展開される.つまり,一度だけしかマクロは展開されない.   マクロを展開してから定義する際には,以下の記述を用いる.  \edef\hoge{\hogeふぇふぇ}   これに...
