Page 1 sur 2
ecrire du code xcas sous latex
Publié : mar. août 10, 2010 10:21 am
par debimax
bonjour
je travaille au lycée et cette année j'ai fait installé xcas sur le reseau. je transforme mes activités de R pour xcas qui sont écrites en latex.
J'utilise le package listings pour écrire les listings de R (\lstset{language=R})
l'option xcas pour listings n'existe pas mais je commence à en faire un.
deux questions:
-> Est ce que quelqu'un a déjà fait le travail?
-> Sinon qu'utilisez vous pour écrire le code xcas sous latex?
merci de votre réponse
Re: ecrire du code xcas sous latex
Publié : mar. août 10, 2010 1:44 pm
par parisse
debimax a écrit :
J'utilise le package listings pour écrire les listings de R (\lstset{language=R})
l'option xcas pour listings n'existe pas mais je commence à en faire un.
bonjour,
excellente initiative. Je n'ai pas connaissance d'une option xcas pour listings, moi-même j'utilise simplement un verbatim ce qui n'est évidemment pas génial, l'option de langage la plus proche est probablement le C, mais peut-etre que Guillaume Connan a quelque chose?
Re: ecrire du code xcas sous latex
Publié : mar. août 10, 2010 5:02 pm
par debimax
Est que Guillaume Connan passe par ici de temps en temps ou je dois poster sur son forum?
Re: ecrire du code xcas sous latex
Publié : mar. août 10, 2010 6:42 pm
par parisse
en principe oui, mais il vaut peut-etre mieux poster sur son forum. Ceci dit il est peut-etre en vacances...
Re: ecrire du code xcas sous latex
Publié : mar. août 17, 2010 6:51 am
par phil pham
Bonjour,
Dans le cas où cela serait urgent, ci dessous le xcas.sty que m'avait refilé Guillaume il y a un temps.
http://dl.dropbox.com/u/6622756/modele/xcas.sty pour listings.
Re: ecrire du code xcas sous latex
Publié : ven. sept. 03, 2010 4:24 pm
par debimax
Re: ecrire du code xcas sous latex
Publié : sam. sept. 04, 2010 9:53 am
par Guillaume
Bonjour,
il m'arrive en effet d'être en vacances !...
Les listes de commandes de "listings" sont souvent pauvres (ou inexistantes dans le cas de xcas).
Pour personnaliser, je fais les rajouts dans un lstlang0.sty ou lstlang9.sty et je les indique dans listings.cfg dans un répertoire "listings" placé dans mon $HOMETEXMF. Voici l'archive :
http://download.tuxfamily.org/tehessinm ... ngs.tar.gz
De temps en temps, j'y rajoute une nouvelle commande. Il y a aussi d'autres langages ajoutés (caml, sage, maxima, bc, gp, maple, ...)
Re: ecrire du code xcas sous latex
Publié : dim. sept. 05, 2010 6:38 am
par alain974
Salut, et ... bonne rentrée
Ce n'est peut-être pas le meilleur endroit pour parler de ça mais j'ai posté sur MatheMaTice une traduction française de
pseudocode.sty pour écrire des algorithmes en pseudocode et en français. Elle sera publiée dans le numéro de septembre 2010, donc sous peu. Pourquoi pas y ajouter le lien ci-dessus

? Il me semble tout-à-fait dans l'esprit de MatheMaTice
Alain
Re: ecrire du code xcas sous latex
Publié : mar. nov. 16, 2010 9:14 am
par albenic
Bonjour,
Je suis passé sous peu à latex et évidemment, j'ai voulu insérer du code Xcas dans mes documents. C'est ainsi que je suis tombé sur ce fil.
J'ai dans mon home (je suis sous ubuntu) une arborescence /texmf/tex/latex dans laquelle j'ai inséré le répertoire listings et j'ai fait ma commande texhash.
Maintenant retour à mon document, quelle commande je tape pour compiler correctement (en tenant compte du langage Xcas) le code suivant :
Code : Tout sélectionner
\lstset{numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt}
\begin{lstlisting}
test_colinearite():={
local A,B,C,vAB,vAC,test_col;
saisir("Coordonnées de A",A,"Coordonnées de B",B,"Coordonnées de C",C);
vAB:=[B[0]-A[0],B[1]-A[1]];
vAC:=[C[0]-A[0],C[1]-A[1]];
test_col:=vAB[0]*vAC[1]-vAB[1]*vAC[0];
si test_col==0 alors afficher("Les points A, B et C sont alignés");
sinon afficher("Les points A, B et C ne sont pas alignés")
fsi;
}
:;
\end{lstlisting}
Pour l'instant j'ai une erreur de compilation très probablement due aux guillemets (j'encode en utf8 et je pense que " n'est pas reconnu).
J'espère donc que grâce à votre travail, ces guillemets seront interprétés correctement.
Par avance merci de votre aide, Benoît.
Re: ecrire du code xcas sous latex
Publié : mar. nov. 16, 2010 9:38 pm
par albenic
Bonsoir,
J'ai avancé puis arrêté.
La commande magique était :
Code : Tout sélectionner
\lstset{language=XCAS, numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt}
En revanche entre les conflits avec le package pst-add et le fait que j'encode mais documents en utf8 (d'où pleins d'erreurs à la compilation avec des caractères non reconnus), , j'ai renoncé.
Pour ceux que cela intéresse, le rendu est globalement bon sauf en ce qui concerne les commandes
ou
comme dans mon exemple. Là se concentre tous les problèmes : les guillemets non reconnus et les espaces et les accents mal gérés.
A mon niveau, je ne me sens pas encore prêt à améliorer le travail de Guillaume, donc je patienterai...
Benoît.
Re: ecrire du code xcas sous latex
Publié : mer. nov. 17, 2010 9:27 am
par phil pham
Bonjour,
En ce qui concerne le codage utf8, il existe
http://www.ctan.org/pkg/listingsutf8
Re: ecrire du code xcas sous latex
Publié : mer. nov. 17, 2010 9:49 am
par phil pham
re,
sinon, avec listings, (ref: p49 de la doc)
\begin{lstlisting}[literate={é}{{\'e}}1 {è}{{\`e}}1]
Re: ecrire du code xcas sous latex
Publié : mer. nov. 17, 2010 3:37 pm
par albenic
Bonjour,
Merci pour les tuyaux, cela marche maintenant beaucoup mieux.
Il ne reste plus qu'un souci ce sont les espaces entre les mots dans les textes entre guillemets. C'est très étrange car les autres espaces sont bien gérées. Entre les guillemets un caractère qui rappelle un petit U apparait en lieu et place de l'espace.
Au risque de paraitre très pénible, auriez-vous une solution ?
Pour ceux qui veulent profiter de mes avancées, voici un code qui fonctionnent, à l'exception de ce qui est évoqué plus haut :
Code : Tout sélectionner
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{listings}
\usepackage{listingsutf8}
\lstloadlanguages{XCAS}
\begin{document}
\lstset{language=XCAS, numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt}
\begin{lstlisting}[literate={é}{{\'e}}1 {è}{{\`e}}1 {␣}{{\,}}1]
test_colinearite():={
local A,B,C,vAB,vAC,test_col;
saisir("Coordonnées de A",A,"Coordonnées de B",B,"Coordonnées de C",C);
vAB:=[B[0]-A[0],B[1]-A[1]];
vAC:=[C[0]-A[0],C[1]-A[1]];
test_col:=vAB[0]*vAC[1]-vAB[1]*vAC[0];
si test_col==0 alors afficher("Les points A, B et C sont alignés");
sinon afficher("Les points A, B et C ne sont pas alignés")
fsi;
}
:;
\end{lstlisting}
\end{document}
On remarquera au passage une tentative de remédiation à ce problème d'espace mais cela n'a pas abouti.
Cordialement, Benoît.
Re: ecrire du code xcas sous latex
Publié : mer. nov. 17, 2010 7:32 pm
par phil pham
Bonsoir,
L'option showstringspaces à false
J'en ai profite pour nettoyer un peu le code donné (listingsutf8 et literate ne font-ils pas double emploi ?)
Code : Tout sélectionner
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[frenchb]{babel}
\usepackage{listings}
\begin{document}
\lstset{language=xcas,showstringspaces=false,numbers=left, numberstyle=\tiny, stepnumber=1, numbersep=5pt}
\begin{lstlisting}[literate={é}{{\'e}}1 {è}{{\`e}}1 ]
test_colinearite():={
local A,B,C,vAB,vAC,test_col;
saisir("Coordonnées de A",A,"Coordonnées de B",B,"Coordonnées de C",C);
vAB:=[B[0]-A[0],B[1]-A[1]];
vAC:=[C[0]-A[0],C[1]-A[1]];
test_col:=vAB[0]*vAC[1]-vAB[1]*vAC[0];
si test_col==0 alors afficher("Les points A, B et C sont alignés");
sinon afficher("Les points A, B et C ne sont pas alignés")
fsi;
}
:;
\end{lstlisting}
\end{document}
Re: ecrire du code xcas sous latex
Publié : sam. nov. 20, 2010 12:10 pm
par albenic
Merci à tous,
Je ne sais pas si cela pourra en aider d'autres mais moi cela me fait un truc de plus de compris et maitrisé sous latex.
Merci encore, Benoît.