
Ich möchte eine kleine Änderung an einer Standard-AMS-Umgebung vornehmen und sie als neue Umgebung realisieren. Das Problem ist, dass nicht alle Umgebungen dieses Verfahren zulassen. Selbst die bloße Duplizierung
\newenvironment{myEnv}{\begin{gather}}{\end{gather}}
funktioniert nicht. TeX-System erzeugt den Fehler wie
! LaTeX Error: \begin{gather} on input line 126 ended by \end{myEnv}.
gather
Das Ersetzen von oben -> oder einer anderen (guten) Umgebung funktioniert jedoch equation
einwandfrei. Ich hatte das Problem in MiKTeX 2.3 und 2.9. Ist das ein Fehler oder ein Feature? Idealerweise würde ich gerne Modifikationen wie
\newenvironment{myGather}{\begin{gather} ... my tuning ...}{\end{gather}}
Die Untersuchung im Inneren hat mir nicht geholfen. Wer kann das? Sollte ich in dieser Situation amsmath.sty
eine integrierte -Umgebung reparieren ?gather
Antwort1
In LaTeX rufen Sie die Befehle und tatsächlich auf \begin{foo}
, sodass Sie versuchen können, sie direkt zu ändern, wenn die Methode nicht funktioniert.\end{foo}
\foo
\endfoo
\newenviornment
Im speziellen Fall der gather
Umgebung glaube ich, dass sich dadurch die Art und Weise ändert, wie bestimmte Zeichen behandelt werden, was meiner Meinung nach die Ursache des Problems ist. Dies kann gelöst werden, indem die \gather
Ausführung \expandafter
wie folgt verhindert wird:
\def\mygather{
\expandafter\gather
some tuning
}
\def\endmygather{\endgather}
% Or, basically equivalently:
\newenvironment{mygather}{
\expandafter\gather
some tuning
}{\endgather}
Ohne zu wissen, welche Optimierung Sie vornehmen möchten, kann ich Ihnen nicht wirklich sagen, ob Ihr Problem dadurch behoben wird.