Re: jsclasses について

名前: 森本
日時: 2001-07-02 23:24:01
IPアドレス: 211.128.198.*

これは新しい eqnarray 環境の定義が \ProcessOptions よりも後にあるため, fleqn オプションで fleqn.clo を読み込んでも,新しい定義によって上書き されてしまうことが原因のようです。 (旧版「LaTeX2e美文書作成入門」付録CD-ROMの mycls.dtx 等も同じです。) 泥臭い方法ではありますが,新しい eqnarray 環境の定義を fleqn オプションの定義の直前に移動すると大丈夫のようです。 以下は fleqn の定義も,新しい定義に倣って修正した一例です。 (該当する部分のみの抜粋) ただしかなり以前に個人的にあてていたパッチで,その後ほとんど使って いませんので,ミスがあるかもしれません。ご指摘をお願いいたします。 −−−−ここから−−−− % \paragraph{eqnarray環境の再定義} % % 元のファイルではずいぶん後の数式の番号のところにありますが、 % fleqnオプションがeqnarray環境に対して効かなくなる不具合があるので % ここに移動しました。 % \begin{environment}{eqnarray} % % \LaTeX の |eqnarray| 環境では |&| でできるアキが大きすぎる % ようですので,少し小さくします。 % また,中央の要素も |\displaystyle| にします。 % % \begin{macrocode} \def\eqnarray{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue \m@th \global\@eqcnt\z@ \tabskip\@centering \let\\\@eqncr $$\everycr{}\halign to\displaywidth\bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil\tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip \cr} % \end{macrocode} % \end{environment} % % \paragraph{数式の位置} % % \texttt{leqno} で数式番号が左側になります。 % \texttt{fleqn} で数式が本文左端から一定距離のところに出力されます。 % % \begin{macrocode} \DeclareOption{leqno}{\input{leqno.clo}} \DeclareOption{fleqn}{\input{fleqn.clo}% % fleqn用のeqnarray環境の再定義はここで行えば大丈夫です。 \def\eqnarray{% \stepcounter{equation}% \def\@currentlabel{\p@equation\theequation}% \global\@eqnswtrue\m@th \global\@eqcnt\z@ \tabskip\mathindent \let\\=\@eqncr \setlength\abovedisplayskip{\topsep}% \ifvmode \addtolength\abovedisplayskip{\partopsep}% \fi \addtolength\abovedisplayskip{\parskip}% \setlength\belowdisplayskip{\abovedisplayskip}% \setlength\belowdisplayshortskip{\abovedisplayskip}% \setlength\abovedisplayshortskip{\abovedisplayskip}% $$\everycr{}\halign to\linewidth% $$ \bgroup \hskip\@centering$\displaystyle\tabskip\z@skip{##}$\@eqnsel &\global\@eqcnt\@ne \hfil$\displaystyle{{}##{}}$\hfil &\global\@eqcnt\tw@ $\displaystyle{##}$\hfil \tabskip\@centering &\global\@eqcnt\thr@@ \hb@xt@\z@\bgroup\hss##\egroup \tabskip\z@skip\cr }% } % \end{macrocode}

この書き込みへの返事:

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