Definir el mismo entorno con diferente cantidad de parámetros.

Definir el mismo entorno con diferente cantidad de parámetros.

Quiero definir dos versiones del entorno \begin{mainbox} \end{mainbox}, dependiendo de si proporciono cero o un parámetro. Quiero usarlos así:

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

La definición de las cajas principales se ve así:+

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

En ambos casos quiero crear un cuadro. El que no tiene parámetro no tiene título, el que tiene parámetro tiene título. Una solución es darles nombres diferentes, como mainbox y mainbox*, pero pensé que debía haber una forma más elegante. ¿Alguien me puede ayudar?

Respuesta1

Vale, fui un poco estúpido. Fue bastante fácil. Aquí está la solución. ¡Gracias a todos en los comentarios por las ideas!

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

información relacionada