
Я хочу определить две версии среды \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}
}