Vous êtes ici : Accueil > LaTeX > Générateur d’interrogations > Générateur d’interrogations : le retour
Publié : 27 octobre 2007
Format PDF Enregistrer au format PDF

Générateur d’interrogations : le retour

Suite à un mail de Guillaume Connan, l’appel à giac depuis LaTeX se fait désormais via un environnement. (voir le site de G. Connan à ce sujet) Ceci m’a mis sur la piste pour faire des appels consécutifs à giac gràce à une boucle.

Voici le code :

\documentclass[12pt]{article}
% premier exemple fonctionnel avec
% (1) executeGiac cfr.: http://www.yvesdelhaye.be/?Le-generateur-d-interrogations
% (2) environnement ala Guillaume Connan: cfr. http://gconnan.free.fr/les_sources/Giac_Latex.html
% (3) boucle ``for`` ala yv cfr.: http://www.yvesdelhaye.be/?Generateur-d-interrogations-le
% 27 oct 2007
% yves.delhaye@skynet.be
% ou
% yves@yvesdelhaye.be
%
% ne fait pas encore le cafe (cad. les def en LaTeX) mais ''uniquement`` les equations

\usepackage{fancyvrb}

\makeatletter
%commande pour faire appel à giac
\newcommand{\executGiac}[1]{
%\immediate\write18{@echo off}
\immediate\write18{giac  <#1 } }
\makeatother


% Mode generation equation type \begin{equation} ...eq...\end{equation}
\begin{VerbatimOut}{XCAS.in}
maple_mode(0);
Sortie:=fopen("XCAS.tex");
vect.xcas.out := read("XCAS.out");
vxo := vect.xcas.out;
dim.vxo := dim(vxo);
nbr.line.vxo := dim.vxo;
Resultat:=cat(" ");
for (j:=0;j<nbr.line.vxo;j++){rslt := vxo[j]; RslT:=cat(latex(rslt)); Resultat:=cat(Resultat," \\begin{equation}",RslT,"\\end{equation}");}
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{VerbatimOut}

\newenvironment{XCAS}
{\VerbatimEnvironment\begin{VerbatimOut}{XCAS.out}}
{\end{VerbatimOut}
          \executGiac{XCAS.in}
           \input{XCAS}\ }
% END Mode  \begin{equation} ...eq...\en{equation}


% Mode generation equation type \[ ...eq...\]
\begin{VerbatimOut}{XCAs.in}
maple_mode(0);
Sortie:=fopen("XCAs.tex");
vect.xcas.out := read("XCAs.out");
vxo := vect.xcas.out;
dim.vxo := dim(vxo);
nbr.line.vxo := dim.vxo;
Resultat:=cat(" ");
for (j:=0;j<nbr.line.vxo;j++){rslt := vxo[j]; RslT:=cat(latex(rslt)); Resultat:=cat(Resultat," \\[",RslT,"\\]");}
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{VerbatimOut}

\newenvironment{XCAs}
{\VerbatimEnvironment\begin{VerbatimOut}{XCAs.out}}
{\end{VerbatimOut}
          \executGiac{XCAs.in}
           \input{XCAs}\ }
% END Mode  \[ ...eq...\]

% Mode generation equation type $ ...eq...$
\begin{VerbatimOut}{XCas.in}
maple_mode(0);
Sortie:=fopen("XCas.tex");
vect.xcas.out := read("XCas.out");
vxo := vect.xcas.out;
dim.vxo := dim(vxo);
nbr.line.vxo := dim.vxo;
Resultat:=cat(" ");
for (j:=0;j<nbr.line.vxo;j++){rslt := vxo[j]; RslT:=cat(latex(rslt)); Resultat:=cat(Resultat," $",RslT,"$");}
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{VerbatimOut}

\newenvironment{XCas}
{\VerbatimEnvironment\begin{VerbatimOut}{XCas.out}}
{\end{VerbatimOut}
          \executGiac{XCas.in}
           \input{XCas}\ }
% END Mode  $ ...eq...$


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%fin du préambule

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



\begin{document}
%calcul 1
%\include{xcas.1.2.7.inc}  
%  Ceci etait necessaire suite a un probleme de coloration syntaxique
%  Probleme regle voir: http://www.yvesdelhaye.be/?Coloration-syntaxique-sous-Kile

\begin{XCAs}
A := [[1, 2,,3],[4, 5, 6], [7, 8, 9]];
B := A[0];
C := B[0];
\end{XCAs}

\begin{XCAS}
a := solve(sin(x)=1/2);
b := solve(sin(x)=1/4);
c := desolve([y''+y=0,y(0)=0,y(2)=1],y)[0];
\end{XCAS}

\begin{XCas}
1-8*ln(sqrt(1/e))+sqrt(2)+1/2
\end{XCas}

% \begin{Xcas}
% 1-8*ln(sqrt(1/e))+sqrt(2)+2/3
% \end{Xcas}

\begin{XCas}
solve(sin(x)=1/2)
\end{XCas}

\begin{XCAS}
desolve([y''+y=0,y(0)=2,y(2)=2],y)[0]
\end{XCAS}

\end{document}

Documents joints