Como posso colorir colchetes no showexpl?

Como posso colorir colchetes no showexpl?

Quero usar showexple imprimir o código LaTeX com colchetes coloridos. Posso fazer isso dentro de um lstlistingambiente adicionando uma opção alfabetizada como no exemplo abaixo, mas não dentro de um LTXexampleambiente (produz um erro). Existe uma maneira de colorir os colchetes no bloco de código de um LTXexampleambiente?

\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}

exemplo de aparelho colorido

Responder1

Por showexplser baseado no listingspacote, a maioria dos recursos deste último, incluindo a literatechave, deveriam, em teoria, funcionar imediatamente. Por alguma razão, porém, definir as substituições literais globalmente, assim

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

parece quebrar showexpl, o que reclama de um arquivo Undefined control sequence \textitTest. Não conheço showexplbem as entranhas para ter uma boa explicação para esse erro, mas parece que os aparelhos são descartados quando não deveriam. Parece um bug showexplpara mim, especialmente porque o início da literatechave em listings(1999) é anterior ao primeiro lançamento de showexpl(2004).

Uma solução alternativa é definir essas substituições alfabetizadas, não globalmente, mas dentro de um estilo personalizado; você não deve receber nenhum erro, então.

insira a descrição da imagem aqui

\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}

informação relacionada