Re: フロートのオプションをマクロで指定すると無視される

名前: しっぽ愛好家
日時: 2002-08-06 19:09:56
IPアドレス: 202.224.235.*

>>9970 ファイル latex.ltx の中の \@xfloat の定義の中に, \def\@fps{#2}% \@onelevel@sanitize\@fps という部分があります. ここで #2 がフロートのオプションです. ここで定義されている \@fps が, ``そのフロートが配置可能な箇所のリスト'' ですが,#2 = \floatoption の場合には \floatoption は展開されず,\@fps は \, f, l, o, a, t, o, p, t, i, o, n + 空白文字という 13 文字からなる列として扱われます. %%% その理由は…\@onelevel@sanitize の定義を読めば %%% わかりますが,ここでは深入りしません. さて,\begin{figure}[\floatoption] のような記述を 使えるようにするには,\@xfloat の定義の中の \def\@fps{#2}% という行を \protected@edef\@fps{#2}% に変更するとよいでしょう. %%% こうすると,その直後の \@onelevel@sanitize が %%% あまり意味をもたなくなるのですが,とりあえず, %%% こうしてみましょう. %%% もちろん,\@xfloat の定義全体をコピーし, %%% そのコピーを書き換えます.

この書き込みへの返事:

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