Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec minted et babel de org-mode

1 réponse
Avatar
azubi
Bonjour

Je suis en train de faire mumuse avec l'extension org-mode de emacs et
en particulier la partie "babel" permettant le "litterate programming".

J'aimerais que le code soit colorisé par pygmentize et donc j'utilise
l'environnement minted. Mais j'ai un conflit que je ne sais pas
résoudre. Peut-être que l'une ou l'un d'entre vous aura déjà rencontré
ce problème et l'aura surmonté.

Dans org-mode, si on veut mettre un bout de code C alors il faut
utiliser les balises suivantes:

#:BEGIN_SRC C -n
printf ("Hello la foule \n");
#:END_SRC


Si je demande d'exporter le fichier org en latex, alors j'obtiens le
code suivant:

\begin{minted}[linenos,firstnumber=1]{C}
printf ("Hello la foule \n");
\end{minted}

Mais minted attend un "c minuscule" pour désigner le langage C, donc
rien n'apparaît dans le fichier pdf.

Si dans org-mode j'écrit:

#:BEGIN_SRC c -n
printf ("Hello la foule \n");
#:END_SRC

(le langage est maintenant c et plus C), alors tout se passe bien pour
minted, mais je ne peux plus évaluer mon code dans org-mode parce qu'il
attend le caractère majuscule C pour le langage C.

Connaissez-vous un bricolage pour que les deux veuillent bien travailler
ensemble ?

Je me permets de crossposter dans 2 groupes, parce que je ne sais pas si
la solution vient du côté LaTeX (en indiquant un "alias" à minted) ou du
côté emacs (en indiquant à org-mode que C et c sont équivalents).


D'avance merci de votre aide et bonne journée.

1 réponse

Avatar
sokobania.01
Bonjour.

Je ne connais bien ni org-mode ni laTex ni minted.
Il est donc possible (voire probable) que la solution que je propose ne soi t pas la meilleure...

Néanmoins, si je devais résoudre ce problème, j'encapsulerais la fonc tion d'export (ou j'utiliserais un hook, s'il y en a un) dans une fonction qui remplace begin{minted}[linenos,firstnumber=1]{C} par begin{minted} [linenos,firstnumber=1]{c}, avec peut-être une regexp si la partie entr e begin{minted} et {C} peut varier.