Defina o mesmo ambiente com diferentes quantidades de parâmetros

Defina o mesmo ambiente com diferentes quantidades de parâmetros

Quero definir duas versões do ambiente \begin{mainbox} \end{mainbox}, dependendo se forneço zero ou um parâmetro. Eu quero usá-los assim:

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

A definição das mainboxes é assim:+

\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}
}

Em ambos os casos, quero criar uma caixa. Aquele sem parâmetro não tem título, aquele com parâmetro tem título. Uma solução é dar-lhes nomes diferentes, como mainbox e mainbox*, mas achei que deveria haver uma maneira mais elegante. Alguém pode me ajudar?

Responder1

Ok, eu fui um pouco estúpido. Foi muito fácil. Aqui está a solução. Obrigado pessoal nos comentários pelas ideias!

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

informação relacionada