Латексная вложенная среда: выравнивание, льняная матрица, разделение

Я пишу документ с большим количеством уравнений, и я хотел бы создать новую среду для написания своих уравнений. Только для удобства, он работает без него, но его сложно набирать. Для одиночных уравнений я хочу пронумеровать строки с помощью lineo. При выравнивании среды используйте только 1 номер уравнения с разделенной средой и пронумеруйте строки. Итак, я могу сделать это в своем документе:

          \usepackage[displaymath, mathlines]{lineno}
    \linenumbers
...
    \begin{linenomath}
     \begin{equation}
     \end{equation}
    \end{linenomath}

а также

      \begin{linenomath}
 \begin{align
  \begin{split}
  \end{split}
 \end{align}
\end{linenomath}

Это работает, однако я пытаюсь создать для него новую среду следующим образом:

      \newenvironment{my_equation}
    {\begin{linenomath}
      \begin{equation}
    }
    {
     \end{equation}
    \end{linenomath}
    }

\newenvironment{my_align}
    {\begin{linenomath}
      \begin{align
       \begin{split}
    }
    {
      \end{split}
     \end{align}
    \end{linenomath}
    }

Это не работает. У меня ошибка, и файл не компилируется. Я все делаю правильно? Какое очевидное решение я упустил? Спасибо за вашу помощь!

1 ответ

Решение

Вы можете использовать упаковка:

      \documentclass{article}

\usepackage{mathtools}
\usepackage[mathlines]{lineno}
\usepackage{environ}


\NewEnviron{my_equation}
    {\begin{linenomath}
      \begin{equation}
      \BODY
     \end{equation}
    \end{linenomath}
    }

\NewEnviron{my_align}
    {\begin{linenomath}
      \begin{align}
       \begin{split}
        \BODY
      \end{split}
     \end{align}
    \end{linenomath}
    }

\begin{document}


\begin{my_equation}
test
\end{my_equation}

\begin{my_align}
test
\end{my_align}

    
\end{document}
Другие вопросы по тегам