Re: マクロの出力を場合分けする方法

名前: misc
日時: 2002-11-07 22:34:39
IPアドレス: 210.224.211.*

>>12698 とりあえず,\@testopt でオプションの有無を調べ, \ifcase でオプションに応じて分岐してみます. %%% \makeatletter/\makeatother は必要に応じて補ってください. \def\xyz{\relax\@testopt\@xyz{1}}%%% デフォルトのオプションは 1 \def\@xyz[#1]#2{% \ifcase#1%%% #1 = 0 の場合(とりあえず d/d... にします) \frac{d}{d#2}% \or%%% #1 = 1 の場合 \frac{d}{d#1}% \or%%% #1 = 2 の場合 \frac{\partial}{\partial#2}% \else%%% その他の場合(とりあえず d/d... にします) \frac{d}{d#2}% \fi} [余談] ``プログラム・デザイン'' の観点からは,オプション引数に ``1'', ``2'' のような ``指定内容を連想させない数値'' を用いるのは 得策ではないと思われます.ここでは \def\normaldifferential#1{\frac{d}{d#1}} \def\partialdifferential#1{\frac{\partial}{\partial#1}} のように別々に定義した方が,文書を管理しやすくなると思うのですが… あるいは, \def\differential{\relax\@testopt\@differential{d}} \def\@differential[#1]#2{\frac{#1}{#1#2}} %%% \differential[d]{x} = \differential{x} = \frac{d}{dx} %%% \differential[\partial]{x} = \frac{\partial}{\partial x} のように可変部分そのものをオプションにしてもよいでしょう.

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)