使用不同數量的參數定義相同的環境

使用不同數量的參數定義相同的環境

我想定義環境的兩個版本 \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}
    }

相關內容