inserte el código Maple en el comentario con mathmode y cree con el paquete tcolorbox

inserte el código Maple en el comentario con mathmode y cree con el paquete tcolorbox

ver este código:

\documentclass[svgnames,12pt]{report}

\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{tcolorbox}
\tcbuselibrary{listings,skins,theorems}

\lstdefinelanguage{Maple}%
{aboveskip={0pt},belowskip={0pt},basicstyle=\bfseries,
morekeywords={and,assuming,break,by,catch,description,do,done,%
elif,else,end,error,export,fi,finally,for,from,global,if,%
implies,in,intersect,local,minus,mod,module,next,not,od,%
option,options,or,proc,quit,read,return,save,stop,subset,then,%
to,try,union,use,uses,while,xor},%
sensitive=true,%
morecomment=[l]\#,%
morestring=[b]",%
morestring=[d]"%
}[keywords,comments,strings]%

\makeatletter
\tcbset{every listing line/.code={%
  \def\lst@NewLine{%
      \ifx\lst@OutputBox\@gobble\else
          \par\noindent \hbox{}#1%
      \fi
      \global\advance\lst@newlines\m@ne
      \lst@newlinetrue}}}
\makeatother

\newtcblisting{code}[1]{
           colback=white,
           skin=bicolor,
           colbacklower=white,
           colupper=red!40!black,
           collower=blue,
           frame style={draw=white,left color=white,right color=white},
           fontupper=\bfseries,
           fontlower=\bfseries,
           width=\linewidth,
           boxrule=0mm,
           outer arc=1mm,arc=1mm,
           leftupper=0cm,leftlower=0cm,rightupper=0cm,rightlower=0cm,
           top=0mm,bottom=0mm,middle=0mm,
           center lower,
           nobeforeafter, 
           listing and comment,
           ams nodisplayskip lower,
%           comment={#1},
           comment={\begin{align*}#1\end{align*}},
           every listing line={\textcolor{red!40!black}{\ttfamily> }}
           }

\begin{document}

\begin{code}{h := proc(t) t * (t-1) end proc}
h := proc(t) t*(t-1) end proc;
\end{code}

\end{document}

la salida es:

ingrese la descripción de la imagen aquí

¿Cómo cambio eso hasta que tenga este resultado?

ingrese la descripción de la imagen aquí

Me refiero a la definición principal decódigoentorno, no en el \begin{code}{} ... \end{code}.

Gracias de antemano.

Respuesta1

Si entiendo su pregunta correctamente, desea que las palabras clave procse end procdetecten automáticamente dentro de un entorno matemático; aquí, align*. No creo que esto sea posible.

Podrías marcar las palabras clave a mano dentro de un entorno matemático o podrías insertar secuencias de escape con algunas cosas matemáticas en listingsel código. Esto está documentado en la listingsdocumentación usando mathescape.

La primera variante está más cerca de su código existente. Eliminé la every listing linedefinición porque es parte de tcolorbox 2.72 (2014/03/18), pero puedes conservarla en una tcolorboxversión anterior. El ejemplo modificado con palabras clave seleccionadas manualmente dentro del código matemático es:

\documentclass[svgnames,12pt]{report}

\usepackage{amsmath,amsfonts,amssymb,amsthm}
\usepackage{tcolorbox}
\tcbuselibrary{listings,skins,theorems}

\lstdefinelanguage{Maple}%
{aboveskip={0pt},belowskip={0pt},basicstyle=\bfseries,
morekeywords={and,assuming,break,by,catch,description,do,done,%
elif,else,end,error,export,fi,finally,for,from,global,if,%
implies,in,intersect,local,minus,mod,module,next,not,od,%
option,options,or,proc,quit,read,return,save,stop,subset,then,%
to,try,union,use,uses,while,xor},%
sensitive=true,%
morecomment=[l]\#,%
morestring=[b]",%
morestring=[d]"%
}[keywords,comments,strings]%

\newtcblisting{code}[1]{
  listing and comment,
  blank,nobeforeafter,
  colupper=red!40!black,collower=blue,
  fontupper=\bfseries,fontlower=\bfseries,
  center lower,
  listing options={language=Maple},
  ams nodisplayskip lower,
  comment={\begin{align*}#1\end{align*}},
  every listing line={\textcolor{red!40!black}{\ttfamily> }}
  }

\begin{document}

\begin{code}{h := \text{\bfseries proc}(t) t * (t-1)\,\text{\bfseries end proc}}
h := proc(t) t*(t-1) end proc;
\end{code}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada