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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Je voudrais colorer uniquement les délimiteurs, mais pas l'intérieur.

J'ai essayé avec :

  • un autre délimiteur « invisible » mais il apparaît (évidemment 😄) lors de son utilisation par tcblisting ;
  • avec literate...

De manière générale, comment utiliser delim (moredelim) du package listings pour colorer uniquement les délimiteurs ?

Posée 28 Avr '20, 10:47

christophe-poulain's gravatar image

christophe-poulain
8661827
Taux d'acceptation : 37%

Modifiée 05 Mai '20, 01:29

Pathe's gravatar image

Pathe ♦♦
7.6k49208252

Il faut doubler le caractère d’échappement, : \\[, \\].

(28 Avr '20, 13:16) touhami touhami's gravatar image

Pourriez vous expliquer comment le délimiteur invisible apparaît avec tcblisting ?

(28 Avr '20, 13:18) touhami touhami's gravatar image

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... §

(28 Avr '20, 13:20) christophe-poulain christophe-poulain's gravatar image

Je me demande quel est le rôle de tcblisting ?

(28 Avr '20, 13:25) touhami touhami's gravatar image

afficher le code à gauche et le résultat à droite

(28 Avr '20, 13:33) christophe-poulain christophe-poulain's gravatar image

J'ai modifié pour tenir compte du commentaire de touhami

(28 Avr '20, 13:57) christophe-poulain christophe-poulain's gravatar image
Affichage de 5 parmi 6 Afficher 1 commentaire(s) en plus

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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 29 Avr '20, 01:02

christophe-poulain's gravatar image

christophe-poulain
8661827
Taux d'acceptation : 37%

Autre solution, ne nécessitant pas le recours artificiel à la commande auxiliaire \Z :

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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 04 Mai '20, 18:37

denis's gravatar image

denis ♦♦
7.3k1510
Taux d'acceptation : 53%

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}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lien permanent

Publiée 28 Avr '20, 22:26

Hugues's gravatar image

Hugues
772916
Taux d'acceptation : 25%

Merci. Mais cela colorie seulement [...]. Je voudrais colorer \[ et \]...

(29 Avr '20, 00:29) christophe-poulain christophe-poulain's gravatar image
Votre réponse
[Masquer l'aperçu]

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Mots-clés de la question :

×17
×1

Question posée : 28 Avr '20, 10:47

Question vue : 4,723 fois

Dernière mise à jour : 04 Mai '20, 18:41

C'est votre première visite ici ? Consultez la FAQ !

×