マクロ・プログラミング
マクロの定義簡単な命令の作り方(\newcommand): \newcommand{\x}[n]{...}・省略可能引数 [default]・\providecommand・\DeclareRobustCommand・命令の再定義(\renewcommand): \renewcommand・既存命令の再定義・\let・引数をとるマクロ: #1 〜 #9・引数の個数 [n]・既定値つき・マクロの引数の制約: 引数は9個まで・fragile な命令・\protect・ちょっと便利なマクロ: よく使う略記・ロバストな命令・どこまでマクロを使うべきか: 可読性とのバランス・意味づけマクロ・命令の名前の付け方: スター付き命令・名前空間の衝突回避環境の自作(\newenvironment)\newenvironment・\renewenvironment・引数つき環境カウンタと長さ\newcounter・\setcounter・\addtocounter・\value・\stepcounter・\newlength・\setlength・\addtolengthxparse(\NewDocumentCommand)\NewDocumentCommand・引数仕様(m o s)・\IfNoValueTFexpl3 / LaTeX3 プログラミング層\ExplSyntaxOn・\cs_new:Npn・\tl_set:Nn・\seq_ / \prop_・\clist_・l3 モジュールプログラミング補助(etoolbox / pgfkeys)etoolbox / ifthen / calc: \newtoggle・\ifdef・\ifblank・\AtBeginDocument・\appto・\pretocmd・キー=値インターフェース(pgfkeys): \pgfkeys・.store in・ハンドラ・\pgfqkeysカテゴリコードと \makeatletter\catcode・\makeatletter・\makeatother・@ を含む命令パッケージ・クラス作成スタイルファイルの作り方: .sty の構造・\ProvidesPackage・\newcommand・パッケージを作る: \ProvidesPackage・\RequirePackage・.sty ファイル・\DeclareOption