忍者ブログ

LaTeXメモ

[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

複雑なオプション付きマクロの作成
基本的なマクロは $\mathrm{\LaTeX}$ 上で \newcommand を用いて作成できるが、星付きマクロや複数のオプション引数を設定することはできない。
そこで、 $\mathrm{\TeX}$ 上で \def を用いたマクロの作成を行う。

プリアンブル
\makeatletter
\def\hogeA{%
	\@ifstar{%
		%処理星付き%			1番
	}{%
		%処理星なし%			2番
	}%
}%
\def\hogeB#1{%
	\@ifnextchar[{%
		\@hogeB{#1}%
	}{%
		%処理オプションなし%	3番
	}%
}%
\def\@hogeB#1[#2]{%
	%処理オプションあり%		4番
}%
コマンド
\hogeA*				% 1番
\hogeA				% 2番
\hogeB{引数1}			% 3番
\hogeB{引数1}	[引数2]	% 4番
\@ifstarが引数を2つ取る。(\@ifstar{処理1}{処理2})
\@ifnextcharが引数を3つ取る。(\@ifnextchar文字{処理1}{処理2})
PR

コメント

コメントを書く