
標準的なAMS環境を少し変更して、新しい環境として実現したいと思っています。問題は、すべての環境でこの手順が可能であるわけではないことです。たとえば、単なる複製でさえ
\newenvironment{myEnv}{\begin{gather}}{\end{gather}}
動作しません。TeXシステムでは次のようなエラーが発生します。
! LaTeX Error: \begin{gather} on input line 126 ended by \end{myEnv}.
しかし、上記のgather
->equation
または他の(適切な)環境に置き換えると、問題なく動作します。私は MiKTeX 2.3 と 2.9 でこの問題に直面しました。これはバグですか、それとも仕様ですか? 理想的には、次のような変更を構築したいと思います。
\newenvironment{myGather}{\begin{gather} ... my tuning ...}{\end{gather}}
内部の調査は役に立ちませんでした。 誰ができるでしょうか?このような状況では、amsmath.sty
組み込みの環境を修正する必要がありますか?gather
答え1
LaTeX では、\begin{foo}
および は\end{foo}
実際にコマンド\foo
およびを呼び出すので、この方法が機能しない\endfoo
場合は、それらを直接変更してみることができます。\newenviornment
環境の特定のケースでは、特定の文字の処理方法が変更され、それが問題の原因であると考えています。これは、次のように実行されないgather
ようにすることで解決できます。\gather
\expandafter
\def\mygather{
\expandafter\gather
some tuning
}
\def\endmygather{\endgather}
% Or, basically equivalently:
\newenvironment{mygather}{
\expandafter\gather
some tuning
}{\endgather}
どのようなチューニングをしたいのかがわからないと、それが問題を解決できるかどうかはわかりません。