¿Cómo puedo colorear las llaves en showexpl?

¿Cómo puedo colorear las llaves en showexpl?

Quiero usar showexple imprimir el código LaTeX con llaves de colores. Puedo hacer esto dentro de un lstlistingentorno agregando una opción alfabetizada como en el ejemplo siguiente, pero no dentro de un LTXexampleentorno (produce un error). ¿Hay alguna manera de colorear las llaves en el bloque de código de un LTXexampleentorno?

\documentclass{article}
\usepackage{xcolor}
\usepackage{showexpl}
\lstset{language=[LaTeX]Tex,texcsstyle=*\color{red}}

\begin{document}
\begin{LTXexample}
\textit{Test}
\end{LTXexample}

\begin{lstlisting}[
    literate=
        *{\{}{{\textcolor{blue}{\{}}}{1}
        {\}}{{\textcolor{blue}{\}}}}{1}
]
\textit{Test}
\end{lstlisting}
\end{document}

ejemplo de brackets de colores

Respuesta1

Debido a que showexplse basa en el listingspaquete, la mayoría de las características de este último, incluida la literateclave, deberían, en teoría, funcionar de inmediato. Sin embargo, por alguna razón, definir los reemplazos literales globalmente, así

\lstset
{
  literate=
    *{\{}{{\textcolor{blue}{\{}}}{1}
     {\}}{{\textcolor{blue}{\}}}}{1},
}

parece romperse showexpl, lo que se queja de un Undefined control sequence \textitTest. No conozco showexpllo suficiente las entrañas como para tener una buena explicación para ese error, pero parece que los frenos se caen cuando no deberían. Me parece un error showexpl, especialmente porque el inicio de la literateclave en listings(1999) es anterior a la primera versión de showexpl(2004).

Una solución alternativa es definir esos reemplazos alfabetizados, no globalmente, sino dentro de un estilo personalizado; Entonces no deberías recibir ningún error.

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{xcolor}
\usepackage{showexpl}

%% returns an error!
%\lstset
%{
%  literate=
%    *{\{}{{\textcolor{blue}{\{}}}{1}
%     {\}}{{\textcolor{blue}{\}}}}{1},
%}

\lstdefinestyle{myLaTeX}
{
  language=[LaTeX]Tex,
  texcsstyle=*\color{red},
  literate=
    *{\{}{{\textcolor{blue}{\{}}}{1}
     {\}}{{\textcolor{blue}{\}}}}{1},
}

\begin{document}

\begin{LTXexample}[style=myLaTeX]
\textit{Test}
\end{LTXexample}

\begin{lstlisting}[style=myLaTeX]
\textit{Test}
\end{lstlisting}

\end{document}

información relacionada