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

名前: misc
日時: 2002-11-12 00:18:47
IPアドレス: 210.224.211.*

>>12790 \if #1p\relax ... \fi という状況の \relax は,#1 が空文字列である場合への対策と いえないこともありません. %%% #1 が 1 文字とわかっている場合,と断って定義したので %%% そういう対処を取る必要はないのですが. あと,\@testopt の直前の \relax は, 行列など(\halign による配列)の中で用いられたときに マクロや条件処理が不用意に展開されないようにするための処置です. (``The TeXbook'' の第 22 章を参照してください.) %%% しかし,\@testopt についてはそういう保護は実は不要です. %%% %%% どちらの \relax も,ふだんの「安全対策」を何の気なしに使った %%% %%% というのが真相です… 一方,行末の % は「ファイル中の改行コードに由来する空白」が 入らないようにするためにつけます. %%% コントロール・ワードの直後の空白文字は無視されるので, %%% 行末の \fi のようなものの直後には % をつける必要はありませんが, %%% \frac{...}{...} の閉じ括弧が行末にある場合には % を %%% つけることになります. %%% %%% ただし, \ifnum\count@>10 の 10 が行末にある場合には % を %%% %%% つけないほうがよい(10 の直後の空白文字は数値の終端を表すので %%% %%% 吸収されます),ということもあるので,丁寧に考えなければならない %%% %%% 状況もあるのですが… %%% ただし,\set も \diffop も数式用のマクロでしょうから, %%% 余分な空白文字が不用意に紛れ込んでもあまり問題にならないようですが.

この書き込みへの返事:

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