Page 1 sur 1

tcolorbox + xparse + minted

MessagePosté: Jeudi 07 Mai 2020, 14:19
par zariski63
Bonjour, après avoir tourné en rond un (long) moment je me résigne à faire une demande.

Je me suis concocté une commande à 2 options (voir ci-dessous) qui fonctionne assez bien.
Mon petit problème vient du fait que si je souhaite utiliser qu'une des 2 options alors ça coince ou alors il me faut la préciser avec des [ ].
Aussi est-il possible de faire fonctionner ma commande sans avoir à préciser ces [ ] si je n'utilise pas l'option considérée ?

Code: Tout sélectionner
\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{xcolor}
\usepackage{minted}
\usepackage{tcolorbox}
    \tcbuselibrary{breakable}
    \tcbuselibrary{skins}
    \tcbuselibrary{xparse}
    \tcbuselibrary{minted}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%   \Lstinlinec[coul.cadre, coul fond, ...]{latex ou asymptote ou python}{verbatim}    %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\DeclareTotalTCBox{\Lstinlinec}{ O{} O{} m v }
     {verbatim,
      colframe=blue,
      colback=blue!5,
      arc      = 0.6ex,%
      top      = -0.2ex,%
      bottom   = -0.2ex,%
      left     = 0mm,%
      right    = 0mm,%
      boxrule  = 0.7pt,%
      #1
      }
      {\mintinline[#2]{#3}{#4}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%  \Lstinlinec[coul.cadre, coul fond,...]{latex ou asymptote ou python}{verbatim}    %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\begin{document}
%  \Lstinlinec[option tcolorbox][option listings]{langage}!... du verbatim ...!

Sans les 2 types d'options :  \Lstinlinec{latex}!\begin!

\medskip

Avec l'option "listings" :  \Lstinlinec[][fontsize=\scriptsize]{latex}!\begin!

\medskip

Avec l'option "tcolorbox" :  \Lstinlinec[boxrule=2pt][]{latex}!\begin!
\end{document}

Re: tcolorbox + xparse + minted

MessagePosté: Jeudi 07 Mai 2020, 17:59
par gigiair
Peut--être que la macro \IfNoValueTF pourrait résoudre le problème (Voir la doc de xparse)

Re: tcolorbox + xparse + minted

MessagePosté: Jeudi 07 Mai 2020, 18:05
par zariski63
j'ai essayé mais sans succès… j'ai du mal aussi à utiliser ces commandes

Re: tcolorbox + xparse + minted

MessagePosté: Jeudi 07 Mai 2020, 18:43
par gigiair
J'ai trouvé ce document Beyond \newcommand with xparse. Je ne sais pas s'il est plus explicite que la doc de xparse.

Re: tcolorbox + xparse + minted

MessagePosté: Jeudi 07 Mai 2020, 19:36
par zariski63
déjà vu, en fait j'ai écumé toutes la doc sur le net et elle est ultra light…
je sens que je vais rester sur ma faim.
Peut être que finalement il n'y a pas d'autres solutions en fait car comment distinguer les 2 options si on ne précise pas laquelle est première et l'autre seconde …
J'étais surtout à la recherche d'une solution élégante mais merci quand même d'avoir essayé de m'aider, c'est tjs sympa.

Re: tcolorbox + xparse + minted

MessagePosté: Jeudi 07 Mai 2020, 20:54
par marco56
Pourquoi ne pas utiliser listings ?
[edit] En fait, je réponds sans doute à côté...
mais c'est pénible je trouve de travailler en shell-escape : en cas d'erreur, il faut tuer le processus, bref pas pour moi.