다양한 양의 매개변수로 동일한 환경 정의

다양한 양의 매개변수로 동일한 환경 정의

매개변수를 0개 또는 1개 제공하는지 여부에 따라 \begin{mainbox} \end{mainbox} 환경의 두 가지 버전을 정의하고 싶습니다. 나는 이것을 다음과 같이 사용하고 싶습니다 :

\begin{mainbox}
    stuff
\end{mainbox}
\begin{mainbox}{title}
    stuff
\end{mainbox}

메인박스의 정의는 다음과 같습니다:+

\documentclass{article}
\usepackage{amsthm}
\usepackage{thmtools}
\newenvironment{mainbox}[1]{
    \thmbox[M]{\textbf{#1}}
    \hspace*{-1.9em}\slshape\ignorespaces
    \normalfont
}
{
    \endthmbox\vspace*{.75ex}
}
\newenvironment{mainbox*}{
    \thmbox[M]{$\ $\hspace{33.75pt}$\ $}
    \hspace*{-1.9em}\slshape\ignorespaces
    \normalfont
}
{
    \endthmbox\vspace*{.75ex}
}

두 경우 모두 상자를 만들고 싶습니다. 매개변수가 없는 것은 제목이 없고, 매개변수가 있는 것은 제목이 있습니다. 한 가지 해결 방법은 메인박스와 메인박스*와 같은 다른 이름을 지정하는 것이지만 더 우아한 방법이 있어야 한다고 생각했습니다. 누군가 나를 도와줄 수 있나요?

답변1

알았어, 내가 좀 멍청했어. 꽤 쉬웠어요. 해결책은 다음과 같습니다. 아이디어를 댓글로 남겨주셔서 감사합니다!

\newenvironment{mainbox}[1][]{
        \thmbox[M]{\ifblank{#1}{$\ $\hspace{33.75pt}$\ $}{\textbf{#1}}}
        \hspace*{-1.9em}\slshape\ignorespaces
        \normalfont
    }
    {
        \endthmbox\vspace*{.75ex}
    }

관련 정보