Vous êtes ici : Accueil > LaTeX > Générateur d’interrogations > La vengeance du générateur d’interrogation
Publié : 4 novembre 2007
Format PDF Enregistrer au format PDF

La vengeance du générateur d’interrogation

Un nouvel épisode de notre passionnante saga

Une belle avancée dans le projet :

Ds. l’environnement "XCAS", il suffit de mettre les instructions "giac" et des définitions sont générées en LaTeX.

Encore quelques petites choses à régler :

- 26 définitions MAX pour l’instant (facile)
- Que se passe t’il s’il y a plusieurs appels. (à voir)

Toujours ce projet de générateur d’interro.

Une utilisation plus simple :

Juste "taper" les instructions giac entre un

\begin{XCAS}

et un

\end{XCAS}

Puis exploiter les définitions LaTeX générées :

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
% 27 oct 2007
% yves.delhaye@skynet.be
% ou
% yves@yvesdelhaye.be
%
%passage aux fcts.
% 1 seule fct avec def de variable
% cette variable est ensuite traitee a volonte: \begin{equation}, $$ $$ ou psplot!
%Et ou on veut ds. le texte!!
%
%3/11/07 20h40 Le ''\input{XCAS}`` doit se trouver apres le ''\end{XCAS}`` et pas dans la definition de l'environnement sinon ca ne marche pas.
%
%

\usepackage{fancyvrb}
\usepackage{pst-all}

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

\begin{VerbatimOut}{XCAS.in}
maple_mode(0);
\\Begin Fcts
OutLtxDef(InLtx,namedef,OutLtx):={OutLtx:=cat(OutLtx," "," \\def\\",namedef,"\{",InLtx,"} ");}
\\End fcts
\\Begin io_init
Sortie:=fopen("XCAS.tex");
vxo:= read("XCAS.out");
nbr.line.vxo := dim(vxo);
Resultat:=cat(" ");
\\End io_init
\\Begin Loop
for (j:=0;j<nbr.line.vxo;j++){rslt := vxo[j];  RslT:=cat(latex(rslt)); Resultat:=OutLtxDef(RslT,cat(nomdef,char(j+97)),Resultat); }
\\End Loop
fprint(Sortie,Unquoted,Resultat);
fclose(Sortie);
\end{VerbatimOut}

\newenvironment{XCAS}
{\VerbatimEnvironment\begin{VerbatimOut}{XCAS.out}}
{\end{VerbatimOut}
          \executGiac{XCAS.in}
          }
%             \input{XCAS}\ }

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

%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
% \def\nomdefa{\left(\begin{array}{ccc}
% 0 & 0& 0\\
% 0 & 0& 0\\
% 0 & 0& 0
% \end{array}\right)}
\def\nomdefa{a}
\def\nomdefb{a}
\def\nomdefc{2}
\def\nomdefd{23}
% \def\namedeff{\begin{pspicture} \end{pspicture}}

\begin{XCAS}
A := [[1, 2,,3],[4, 5, 6], [7, 8, 9]];
B := A[0];
C := B[0];
a := solve(sin(x)=1/2);
SOL1 := desolve([y''+y=0,y(0)=1,y'(0)=1],y)[0];
\end{XCAS}
\input{XCAS}

\begin{equation}
A = \nomdefa
\end{equation}
\nomdefb
\begin{equation}
C = \nomdefc
\end{equation}

et en ligne
$ \nomdefd $

% \namedeff

% \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