Wie kann ich Klammern in showexpl einfärben?

Wie kann ich Klammern in showexpl einfärben?

Ich möchte showexplden LaTeX-Code mit farbigen Klammern drucken lassen. Dies kann ich innerhalb einer lstlistingUmgebung tun, indem ich eine Literate-Option wie im folgenden Beispiel hinzufüge, aber nicht innerhalb einer LTXexampleUmgebung (da dies einen Fehler erzeugt). Gibt es eine Möglichkeit, die Klammern im Codeblock einer LTXexampleUmgebung farbig darzustellen?

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

Beispiel für farbige Klammern

Antwort1

Da showexples auf dem Paket basiert listings, sollten die meisten seiner Funktionen, einschließlich des literateSchlüssels, theoretisch sofort funktionieren. Aus irgendeinem Grund ist es jedoch nicht möglich, die wörtlichen Ersetzungen global zu definieren, wie hier

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

scheint zu brechen showexpl, was sich über ein beschwert Undefined control sequence \textitTest. Ich kenne die Innereien von nicht showexplgut genug, um eine gute Erklärung für diesen Fehler zu haben, aber es scheint, dass die Klammern weggelassen werden, obwohl sie es nicht sollten. showexplFür mich sieht das nach einem Fehler in aus, insbesondere weil die Einführung des literateSchlüssels in listings(1999) vor der ersten Veröffentlichung von showexpl(2004) liegt.

Eine Problemumgehung besteht darin, diese Literate-Ersetzungen nicht global, sondern innerhalb eines benutzerdefinierten Stils zu definieren. Dann sollte kein Fehler auftreten.

Bildbeschreibung hier eingeben

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

verwandte Informationen