두 환경을 중첩하는 동안 오류가 발생했습니다. \begin{equation*}과 \begin{spit}을 재정의하려고 합니다. 명령이 이미 정의되어 있습니까?

두 환경을 중첩하는 동안 오류가 발생했습니다. \begin{equation*}과 \begin{spit}을 재정의하려고 합니다. 명령이 이미 정의되어 있습니까?

나는 \begin{equation*}과 \begin{split}을 축약된 것으로 결합하려고 합니다. 이렇게 하는 대신:

\begin{equation*}
\begin{split}
      a = b & = b \\ & = b
\end{split}
\end{equation*}

다음과 같이 몇 가지를 만들고 싶습니다.

    \fff a = b & = b \\ & = b 
    \endfff

\newenvironment와 \newcommand를 사용하려고 하는데 제대로 작동하지 않습니다.

\newenvironment{placeholdername}
{\begin{equation*}
\begin{split}
}
{ 
\end{split} 
\end{equation*}
}

\newcommand{\fff}{\begin{placeholdername}}
\newcommand{\endfff}{\end{placeholdername}}

내 끔찍한 명명 체계를 용서해주십시오. 또한 "Command \endfff가 이미 정의되어 있습니다"라는 오류가 발생하는데 이는 나에게는 이해가 되지 않습니다. 그런데 저는 LaTeX를 처음 접했습니다. 도와주세요!

답변1

할 수는 있지만 실제로는 유용하지 않다고 생각합니다. 여기서의 아이디어는 전체 내용을 파악한 다음 필요한 작업을 수행하는 것입니다.

\documentclass{article}
\usepackage{amsmath}

\NewDocumentEnvironment{eqsplit*}{b}
 {\begin{equation*}\begin{split}#1\end{split}\end{equation*}}
 {}

\begin{document}

\begin{eqsplit*}
  a & = b \\ & = c
\end{eqsplit*}

\end{document}

여기에 이미지 설명을 입력하세요

답변2

LaTeX에서는 시작하는 명령을 정의할 수 없습니다 \end. 그렇지 않으면 환경 정의를 방해할 수 있습니다.fff

또한 다른 이유로 인해 매크로에서 AMS 정렬 환경을 숨길 수 없으며 split해당 환경 본체를 잡아야 하므로 미리 스캔하여 찾아야 합니다. 등과 \end{split}같은 모든 AMS 디스플레이 구성에도 마찬가지입니다 align.gather

합리적인 편집기에서는 \begin{equation}..\end{equation}2~3개의 키 입력 또는 메뉴 옵션을 입력할 수 있으므로 축약된 구문을 정의해도 입력이 절약되지 않으며 편집기에서 상황에 맞는 구문 색상 지정 또는 완성을 얻는 것이 어렵거나 불가능합니다.

관련 정보