mode c++ dans mode latex

Le
Guillaume Connan
Bonjour,

dans un fichier tex (en mode latex donc), l'environnement VerbatimOut
permet de créer des fichiers extérieurs avec n'importe quelle extension.

Par exemple

8<8<8<8<8<8<8<8<8<


documentclass[12pt]{article}
usepackage{fancyvrb}
usepackage[T1]{fontenc}
usepackage[french]{babel}

begin{document}

Bon, là j'écris en mode latex et j'aimerais que dans l'environnement
suivant, ça soit en mode c++

begin{VerbatimOut}{ScriptC.cxx}
S:=0;
for(k:=1;k<10;k++){S:=S+k};
end{VerbatimOut}


Et puis que là ça revienne en mode latex

end{document}

8<8<8<8<8<8<8<8<8<


Comme VerbatimOut est de la famille verbatim, le code est tout rouge.
Mais quand on a un long listing, ça peut être pénible à lire.
Bref, peut-on avoir un "sous-mode" c++ dans le mode latex ?
C'est utile aussi dans des scripts asy à l'intérieur d'un script latex.

--
Guillaume CONNAN

http://gconnan.free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Paul Gaborit
Le #21777501
À (at) Mon, 02 Jun 2008 09:54:02 +0200,
Guillaume Connan
dans un fichier tex (en mode latex donc), l'environnement VerbatimOut
permet de créer des fichiers extérieurs avec n'importe quelle extension.

Par exemple

8<------8<------8<------8<------8<------8<------8<------8<------8<------


documentclass[12pt]{article}
usepackage{fancyvrb}
usepackage[T1]{fontenc}
usepackage[french]{babel}

begin{document}

Bon, là j'écris en mode latex et j'aimerais que dans l'environnement
suivant, ça soit en mode c++

begin{VerbatimOut}{ScriptC.cxx}
S:=0;
for(k:=1;k<10;k++){S:=S+k};
end{VerbatimOut}


Et puis que là ça revienne en mode latex

end{document}

8<------8<------8<------8<------8<------8<------8<------8<------8<------


Comme VerbatimOut est de la famille verbatim, le code est tout rouge.
Mais quand on a un long listing, ça peut être pénible à lire.
Bref, peut-on avoir un "sous-mode" c++ dans le mode latex ?
C'est utile aussi dans des scripts asy à l'intérieur d'un script latex.



(Je ne savais qu'on pouvait utiliser ':=' en C++... C'est quelle
version de la norme C++ ?)

Dans ce genre de cas, je préfère utiliser un fichier externe que je
crée moi-même (ça me permet de de l'éditer normalement avec (X)emacs
et de l'utiliser vraiment pour être sûr qu'il est correct). Et pour
l'intégrer dans mon document LaTeX, je fais appel à 'lstinputlisting'
du package LaTeX 'listings'.

Sinon, il faudrait regarder du côté de mmm-mode.el (Multiple Major
Modes) qui date un peu mais fonctionne parfaitement bien pour l'usage
que j'en ai (dans 'csound-x').

--
Paul Gaborit -
Ph. Ivaldi
Le #21777491
Bonjour,

Le 02 juin 2008, Guillaume Connan écrivit :

Comme VerbatimOut est de la famille verbatim, le code est tout rouge.
Mais quand on a un long listing, ça peut être pénible à lire.
Bref, peut-on avoir un "sous-mode" c++ dans le mode latex ?
C'est utile aussi dans des scripts asy à l'intérieur d'un script
latex.



Justement asy-mode permet de basculer automatiquement de asy-mode à
LaTeX-mode; tu peux donc t'inspirer de asy-mode.el mais je te préviens
tout de suite, c'est loin d'être simple (coloration syntaxique quand il
y a un " dans le code LaTeX qui précède ton VerbatimOut, par
exemple).

NB: asy-mode utilise two-mode-mode:
http://www.welton.it/freesoftware/files/two-mode-mode.el
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Guillaume Connan
Le #21777481
Le 2 juin 2008 à 17:06, Ph. Ivaldi a formulé dans un style qui lui est
propre l'idée suivante :


Justement asy-mode permet de basculer automatiquement de asy-mode à
LaTeX-mode; tu peux donc t'inspirer de asy-mode.el mais je te préviens
tout de suite, c'est loin d'être simple



Bon, ya plus qu'à... ou tant pis : j'édite dans un autre buffer sur mon
écran large. C-X 3 m'a l'air plus simple ...

Merci

--
Guillaume CONNAN

http://gconnan.free.fr
Guillaume Connan
Le #21777471
Le 2 juin 2008 à 14:06, Paul Gaborit vraute ze foloving massage :


(Je ne savais qu'on pouvait utiliser ':=' en C++... C'est quelle
version de la norme C++ ?)



En fait, ce n'est pas du c++, c'est du "xcas" dont la syntaxe est
dérivée du c++...

--
Guillaume CONNAN

http://gconnan.free.fr
Vincent Belaïche
Le #21777391
Si j'avais le même problème je me ferais une petite commande qui permet
de basculer tout le buffer de latex mode à c mode et vice versa, juste
pour baculer en c mode quand je veux lire ce qui entre begin/end VerbatimOut

Par exemple un truc du genre (pas testé, ça prendrait effet en tapant F10) :

(global-set-key
[f10]
(lambda () (interactive)
(cond
( (derived-mode-p 'c-mode) (latex-mode))
( (derived-mode-p 'latex-mode) (c-mode))
)
)
)

A+,
Vincent.

Guillaume Connan a écrit :
Le 2 juin 2008 à 17:06, Ph. Ivaldi a formulé dans un style qui lui est
propre l'idée suivante :


Justement asy-mode permet de basculer automatiquement de asy-mode à
LaTeX-mode; tu peux donc t'inspirer de asy-mode.el mais je te préviens
tout de suite, c'est loin d'être simple



Bon, ya plus qu'à... ou tant pis : j'édite dans un autre buffer sur mon
écran large. C-X 3 m'a l'air plus simple ...

Merci

Publicité
Poster une réponse
Anonyme