名前: Dora 日時: 2009-11-07 01:18:01 IPアドレス: 116.80.6.*
LaTeX の eqnarray 環境や,amsmath の align 環境では,行頭で \ifmmode が偽となってしまうようです。 このため,内部で \ifmmode を使うマクロを行頭で使用する際には注意を要するのですが, 何か根本的な解決策はありますでしょうか。 よろしくお願いします。 \documentclass{jarticle} \usepackage{amsmath} \def\mmodetest{\ifmmode YES!\else NO!\fi\quad} \begin{document} $\mmodetest$ % → YES! \[\mmodetest\] % → YES! \begin{eqnarray} \mmodetest\mmodetest\\ % → NO! YES! \relax\mmodetest\\ % → YES! \mmodetest\mmodetest\\ % → NO! YES! {}\mmodetest\mmodetest\\% → YES! YES! {\mmodetest}\\% → YES! a\mmodetest% → aYES! \end{eqnarray} \begin{align} \mmodetest\mmodetest\\ % → NO! YES! \relax\mmodetest\\ % → YES! \mmodetest\mmodetest\\ % → NO! YES! {}\mmodetest\mmodetest\\% → YES! YES! {\mmodetest}\\% → YES! a\mmodetest% → aYES! \end{align} \end{document}
この書き込みへの返事: