Re: 汎用的な浮動体

名前: しっぽ愛好家
日時: 2003-08-25 11:51:45
IPアドレス: 210.234.44.*

>>21172 >figureやtable環境を使うと図1や表1のようタイトルが表示されるので, >新たにこのような環境を簡単に定義できる機能はないでしょうか? 実は,figure 環境や table 環境もそのような汎用的な 機構を用いて定義されています. figure 環境の類の float を作成する環境を新設する場合, 下記のようなマクロを定義します. なお,ここでは,1 カラム幅の float を作成する方の環境の名称を <envname> としています. ・<envname> 環境または <envname>* 環境の番号づけに用いる LaTeX のカウンタ: \newcounter{<envname>} %%% 環境名と同じ名称のカウンタを用いるのが無難でしょう. %%% <envname> 環境などのキャプションに番号をつけない場合であっても, %%% このカウンタを用意してください. %%% 番号の有無は後述する \fnum@<envname> を用いて調整できます. また,必要があれば,<envname> カウンタに付随するマクロ \the<envname>(<envname> カウンタの出力形式)を適宜再定義してください. ・\<envname>: <envname> 環境の開始処理を行うマクロ \end<envname>: <envname> 環境の終了処理を行うマクロ %%% <envname> 環境(1 カラム幅の float を作成する環境)の定義 \newenvironment{<envname>} {\@float{<envname>}} {\end@float} %%% <envname>* 環境(ページ幅の float を作成する環境)の定義 \newenvironment{<envname>*} {\@dblfloat{<envname>}} {\end@dblfloat} %%% これらの関係は figure 環境と figure* 環境の関係と同じです. ・\fps@<envname>: <envname> 環境のデフォルトの配置指定(i.e. <envname> 環境の オプションのデフォルト値)を表すマクロ. \@namedef{fps@<envname>}{tbp} %%% ``tbp'' は一例ですが,基本的には ``p'' を含めます. ・\ftype@<envname>: figure 環境,table 環境といった個々の float を区別する整数 \def\ftype@<envname>{4}% %%% 2 のべき(累乗)にします. %%% また,他の環境とは異なる値でなければなりません. %%% ここで ``4'' を例にしているのは,figure 環境と table 環境で 1 と 2 が %%% すでに用いられていることを念頭に置いています.もし 4 もすでに %%% 用いられている場合には,8,16 etc. を用いてください. ・\ext@<envname>: ``<envname> 環境,<envname> 環境の目次''(e.g. figure/fgiure* 環境に 対する ``図目次'')のファイルに用いる拡張子(からピリオドを取り除いたもの) \def\ext@<envname>{<適当な文字列>} %%% 既存のもの(e.g. 図目次の lof,表目次の lot),および LaTeX 関係の %%% その他のファイルの拡張子に用いられるもの(e.g. aux,idx)とは %%% 異なるものを用います. ・\fnum@<envname>: <envname> 環境,<envname>* 環境内で用いた \caption の番号部分の形式を 表すマクロです. \def\fnum@<envname>{<適当な文字列>\the<envname>}% %%% 今回の例では <適当な文字列> としては ``リスト'' くらいを %%% 用いるところでしょうか. %%% これが簡単かどうか,というのは主観の問題ですが, %%% 定義するものの意味を理解すればさほど難しくはないでしょう. %%% なお,具体例はトニイさんが 17383 で %%% 挙げてくださっています.

この書き込みへの返事:

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