Je voudrais utiliser tcblisting et son option « listing side text » pour présenter du code LaTeX. Avec listings, le code suivant colore tout — les délimiteurs et le contenu : Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{listings} \usepackage{xcolor} \lstset{% delim = [s][\color{purple}]{\\[}{\\]} } \begin{document} \begin{lstlisting} \[f(x)=\ln(x+3)\] \end{lstlisting} \end{document} Je voudrais colorer uniquement les délimiteurs, mais pas l'intérieur. J'ai essayé avec :
De manière générale, comment utiliser Posée 28 Avr '20, 10:47 christophe-poulain Pathe ♦♦
Affichage de 5 parmi 6
Afficher 1 commentaire(s) en plus
|
Je vous propose un code qui reste perfectible : Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage{listings} \usepackage{xcolor} \def\beginlstdelim#1#2#3% {% \def\endlstdelim{#2\egroup}% \ttfamily#1\bgroup\color{#3}\aftergroup\endlstdelim% } \lstset {% moredelim = **[is][\beginlstdelim{\color{purple}[}{]}{black}]{[}{]}, } \begin{document} \begin{lstlisting} \[f(x)=\ln(x+3)\] \end{lstlisting} \end{document} Publiée 28 Avr '20, 22:26 Hugues Merci. Mais cela colorie seulement [...]. Je voudrais colorer
(29 Avr '20, 00:29)
christophe-poulain
|
Avec le code ci-dessous, j'ai obtenu ce que je voulais. La définition d'une commande vide qui sert de délimiteur pour listings et de commande vide pour tcblisting... Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage{xcolor} \usepackage{listings} \newcommand{\Z}{} \lstset{ language = [LaTeX]TeX, basicstyle = \ttfamily,% columns=fullflexible,% frame=tb,%habillage texcsstyle=*\color{blue},%pour colorer la contre-oblique delim = **[s][\color{purple}]{\\[}{\\]}, moredelim = **[is][\color{black}]{\\Z}{\\Z}, } %% "Rehook" delimiters char table. \makeatletter \lst@AddToHook{SelectCharTable}{\lst@DefDelims} \makeatother \begin{document} \begin{lstlisting} \[\sum_{n=1}^{+\infty}\] \end{lstlisting} \[\sum_{n=1}^{+\infty}\] \begin{lstlisting} \[\Z\sum_{n=1}^{+\infty}\Z\] \end{lstlisting} \[\Z\sum_{n=1}^{+\infty}\Z\] \end{document} Publiée 29 Avr '20, 01:02 christophe-poulain |
Autre solution, ne nécessitant pas le recours artificiel à la commande auxiliaire Ouvrir dans l'éditeur Overleaf
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{xcolor} \usepackage{listings} \lstset{ language = [LaTeX]TeX, basicstyle = \ttfamily,% columns = fullflexible,% frame = tb,%habillage texcsstyle = *\color{blue},%pour colorer la contre-oblique literate = *% {\\[}{{\textcolor{purple}{\textbackslash[}}}{2} {\\]}{{\textcolor{purple}{\textbackslash]}}}{2} {$}{{\textcolor{purple}{\$}}}{1}%$ {_}{{\textcolor{purple}{\_}}}1% {^}{{\textcolor{purple}{\^{}}}}1% , } %% "Rehook" delimiters char table. \makeatletter \lst@AddToHook{SelectCharTable}{% \ifx\lst@literate\@empty\else \expandafter\lst@Literate\lst@literate{}\relax\z@ \fi% } \makeatother \begin{document} \begin{lstlisting} \[\sum_{n=1}^{+\infty}\] \end{lstlisting} \[\sum_{n=1}^{+\infty}\] \end{document} Publiée 04 Mai '20, 18:37 denis ♦♦ |
Il faut doubler le caractère d’échappement, :
\\[
,\\]
.Pourriez vous expliquer comment le délimiteur invisible apparaît avec tcblisting ?
l'échappement colore bien le délimiteur initial. Mais l'intérieur est toujours coloré. J'ai essayé § et il apparaît sous la forme... §
Je me demande quel est le rôle de tcblisting ?
afficher le code à gauche et le résultat à droite
J'ai modifié pour tenir compte du commentaire de touhami