\newenvironment с tcolorbox с необязательным заголовком

Я хотел бы создать специальную среду, которая заключает математический режим внутри файла . Назначение заголовка должно быть необязательным, но в целом я заинтересован в том, чтобы сделать необязательным tcolorboxприсвоение опций. Я пытаюсь с:

      \documentclass{article}
\usepackage{tikz,lipsum,lmodern}
\usepackage[most]{tcolorbox}

\newtcolorbox{eqbox}[1]
{
colback=gray!10,
arc=0pt,
boxrule=0pt,
title=#1 % I would like to make this (one of these in general) assignment optional depending on #1, #2...
}

 \newenvironment{boxenv}[1][]{
    \begin{eqbox}[#1]
    \[
 }{
   \]
   \end{eqbox}
}


\begin{document}



\begin{boxenv}[Optional box title]
a+b+c+d
\end{boxenv}

\begin{boxenv}[]
a+b+c+d
\end{boxenv}

\end{document}

Результат, который я получаю:

Результат, который я хотел бы получить:

1 ответ

Вам не хватает пустого значения по умолчанию в \newtcolorbox{eqbox}[1][]{}, иначе это будет рассматриваться как обязательный аргумент.

      \documentclass{article}
\usepackage{tikz,lipsum,lmodern}
\usepackage[most]{tcolorbox}

\newtcolorbox{eqbox}[1][]
{
colback=gray!10,
arc=0pt,
boxrule=0pt,
title=#1 % I would like to make this (one of these in general) assignment optional depending on #1, #2...
}

 \newenvironment{boxenv}[1][]{
    \begin{eqbox}[#1]
    \[
 }{
   \]
   \end{eqbox}
}


\begin{document}



\begin{boxenv}[Optional box title]
a+b+c+d
\end{boxenv}

\begin{boxenv}[]
a+b+c+d
\end{boxenv}

\end{document}

(если вам нужно больше гибкости с необязательными и обязательными аргументами, найдите документ tcolorbox для \DeclareTColorBox)

Другие вопросы по тегам