Definieren Sie die gleiche Umgebung mit unterschiedlicher Anzahl von Parametern

Definieren Sie die gleiche Umgebung mit unterschiedlicher Anzahl von Parametern

Ich möchte zwei Versionen der Umgebung \begin{mainbox} \end{mainbox} definieren, je nachdem, ob ich null oder einen Parameter angebe. Ich möchte sie folgendermaßen verwenden:

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

Die Definition der Hauptboxen sieht folgendermaßen aus:+

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

In beiden Fällen möchte ich eine Box erstellen. Die ohne Parameter hat keinen Titel, die mit Parameter hat einen Titel. Eine Lösung besteht darin, ihnen unterschiedliche Namen zu geben, wie Mainbox und Mainbox*, aber ich dachte, es muss einen eleganteren Weg geben. Kann mir jemand helfen?

Antwort1

Okay, ich war ein bisschen dumm. Es war ziemlich einfach. Hier ist die Lösung. Vielen Dank in den Kommentaren für die Ideen!

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

verwandte Informationen