Определить одну и ту же среду с разным количеством параметров

Определить одну и ту же среду с разным количеством параметров

Я хочу определить две версии среды \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}
}

В обоих случаях я хочу создать ящик. У ящика без параметров нет заголовка, у ящика с параметром есть заголовок. Один из вариантов решения — дать им разные имена, например mainbox и mainbox*, но я подумал, что должен быть более элегантный способ. Может кто-нибудь мне помочь?

решение1

Ладно, я немного сглупил. Это было довольно просто. Вот решение. Спасибо вам, ребята, за идеи в комментариях!

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

Связанный контент