異なる数のパラメータで同じ環境を定義する

異なる数のパラメータで同じ環境を定義する

パラメータを 0 個指定するか 1 個指定するかに応じて、環境 \begin{mainbox} \end{mainbox} の 2 つのバージョンを定義します。次のように使用します。

\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 つの解決策は、mainbox と mainbox* のように異なる名前を付けることですが、もっとエレガントな方法があるはずだと思いました。誰か助けてくれませんか?

答え1

はい、私はちょっとバカでした。とても簡単でした。これが解決策です。コメントでアイデアをくれた皆さんに感謝します!

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

関連情報