Re: ダブルコラムに数式をワンコラムで表示

名前: しっぽ愛好家
日時: 2003-09-29 14:57:35
IPアドレス: 219.108.34.*

>>22160 (一般的なアイデアとしては)とりあえず,次のようなこと (要は,multicols 環境の開始・終了もディスプレイ数式環境の処理に 組み入れる,ということ)はできますが… %%% IEEEtran.cls が twocolequation の類を用意しているか否かについては, %%% 調べ上げていません. %%% ``(*)'' というコメントをつけた行の ``罫線'' については, %%% 適宜変更あるいは削除してください. \documentclass{article} %%% \documentclass{IEEEtran} でも,(この例に限っては)問題ないようです. \usepackage{multicol} \makeatletter \def\twocolequation{% \xdef\@saved@currenvir{\@currenvir}% \endgroup \end{multicols}% \begingroup \let\@currenvir\@saved@currenvir \hbox to\hsize{\vrule\@width.5\hsize \@height.4\p@ \hfil}%%% (*) \equation} \def\endtwocolequation{% \endequation \hbox to\hsize{\hfil \vrule\@width.5\hsize \@height.4\p@}%%% (*) \endgroup \begin{multicols}{2}% \begingroup \let\@currenvir\@saved@currenvir} \def\twocoleqnarray{% \xdef\@saved@currenvir{\@currenvir}% \endgroup \end{multicols}% \begingroup \let\@currenvir\@saved@currenvir \hbox to\hsize{\vrule\@width.5\hsize \@height.4\p@ \hfil}%%% (*) \eqnarray} \def\endtwocoleqnarray{% \endeqnarray \hbox to\hsize{\hfil \vrule\@width.5\hsize \@height.4\p@}%%% (*) \endgroup \begin{multicols}{2}% \begingroup \let\@currenvir\@saved@currenvir} \makeatother \begin{document} \onecolumn \begin{multicols}{2} 数式の配置に関する実験です. ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと \begin{equation} \Gamma(x + 1) = x \Gamma(x) \end{equation} ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと \begin{twocolequation} \Gamma(x + 1) = x \Gamma(x) \end{twocolequation} ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと \begin{eqnarray} \Gamma(x + 1) & = & \int_0^{\infty} t^x e^{-t}\, dt \nonumber \\ & = & \cdots \nonumber \\ & = & x \Gamma(x) \end{eqnarray} ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと \begin{twocoleqnarray} \Gamma(x + 1) & = & \int_0^{\infty} t^x e^{-t}\, dt \nonumber \\ & = & \cdots \nonumber \\ & = & x \Gamma(x) \end{twocoleqnarray} ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと ぱたぱたおよよあれれとほほおっとっと \end{multicols} \end{document} (amsmath パッケージによる)gather 環境などを用いる場合には, 上記の例と同様にして ``twocolgather'' 環境などを導入すればよいでしょう. [補足] 上記の例では,multicol パッケージを用いているため, figure 環境,table 環境が使えなくなる,といった副作用が生じます (figure* 環境,table* 環境は使えます). 出力ルーチンの書き換えを含む大規模な追加定義を行えば もう少しましな処理ができなくもありませんが, 上記の例の twocolequation 環境のようなものと 1 カラム幅の図表が 同じページに存在する場合にどのように配置すべきか (特に,複数の twocolequation 環境の間に ``t'' 配置の figure 環境が 割り込んできたような場合) といった厄介な問題があるため,実用上充分な機能をもった定義を 手短に与えることは難しいのではないかと思われます. %%% そもそも,上記の例の twocolequation 環境のようなものを用いたとしても, %%% その結果として得られる記述が読みやすいか否かは別の問題です. %%% 行分割不可能な(1 カラムに収まらないほど)長い部分を含む数式が %%% どうしても現れる場合には, %%% ・最初から 1 段組にする(私が関与したことのある某誌では %%% そのようにしています) %%% ・長い数式を図扱いにする(``長い数式'' 用の float を新設するわけです) %%% くらいの処理を行う方が,まだ読みやすい結果が得られるはずです. %%% %%% もちろん,これは ``個人的な'' 文書を作成している場合の話です. %%% (組版を業務としている,という理由によって)体裁が規定されている %%% 文書を作成せざるを得ない場合にはこの限りではありません.

この書き込みへの返事:

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