Exemple de calculs interactifs dans un fichier LATEX compilé en HTML et PDF.B. Parisse |
Table des matières
Index
1 Description
Ce source LATEX illustre l’utilisation du moteur de calcul formel Giac
lorsqu’on le compile en HTML avec hevea (testé avec
hevea 2.23, 2.25
). Il est possible de compiler à la fois
vers HTML5 et vers PDF en compilant avec icas sous linux.
2 Installation
Vous devez installer
hevea
et recopier
giacfr.tex
et hevea.sty
dans le même répertoire que votre fichier source.
Vous pouvez télécharger une copie du source
testfr.tex
de ce fichier et vérifier votre installation en le compilant
hevea testfr
3 Utilisation
La commande\begin{giacjshere}
,
\begin{giacjs}
ou \begin{giacjsonline}
doit figurer juste après \begin{document}
, selon que l’on va charger le moteur
de calcul giac.js
de la même façon que la page HTML,
depuis une installation de Xcas sur le disque dur
ou depuis le serveur de l’Institut Fourier. La
commande correspondante \end{giacjs}
, \end{giacjshere}
ou \end{giacjsonline}
doit figurer juste avant \end{document}
.
Pour que les liens du tableau de bord Table et Index fonctionnent,
vous devez imprimer la table des matières et l’index au début du
document, comme dans ce fichier (commandes \tableofcontents
et
\printindex
juste après
\begin{giacjsonline}
et commande \makeindex
juste avant \begin{document}
).
Pour créer une commande en ligne avec réponse en MathML (ou
graphique 2d) utilisez
\giacinputmath{}
,
par exemple
\giacinputmath{factor(x^10-1)}
On peut ajouter un argument optionnel pour changer le style :
\giacinputmath[style="width:200px;height:20px;font-size:large"]{factor(x^10-1)}
Vous pouvez imposer la commande appliquée avec
\giaccmdmath{}{}
,
par exemple
\giaccmdmath{factor}{x^4-1}
et ajouter un argument de style
\giaccmdmath[style="width:200px;height:20px;font-size:large"]{factor}{x^4-1}
Pour cacher le champ de saisie et donner un nom au bouton,
utiliser \giachidden{}{}
ou \giachiddenmath{}{}
par exemple
ou
Pour créer une commande hors-ligne avec réponse en MathML (ou sous forme de graphique 2d)
utilisez \giacinputbigmath{}
ou
\giaccmdbigmath{}{}
, ces commandes
acceptent aussi un argument optionnel de style :
\giacinputbigmath{factor(x^100-1)}
\giacinputbigmath[style="width:600px;height:20px;font-size:large"]{factor(x^100-1)}
\giaccmdbigmath{factor}{x^100-1}
\giaccmdbigmath[style="width:600px;height:20px;font-size:large"]{factor}{x^100-1}
Pour une commande avec réponse en mode texte ou sous forme de graphique 2d
utiliser \giacinput
ou
\giacinputbig
,
par exemple
\giacinput{factor(x^4-1)}
donne :
La même avec un argument de style optionnel de la ligne de commande
\giacinput[style="width:200px;height:20px;font-size:large"]{plot(sin(x))}
Un bouton avec une commande qui sera appliquée à un argument avec
\giaccmd
, ici \giaccmd{factor}{x^4-1}
:
accepte aussi un argument de style optionnel :
\giaccmd[style="width:200px;height:20px;font-size:large"]{factor}{x^4-1}
Attention, pour toutes ces commandes, il faut remplacer dans le
source latex le signe <
par
<
et >
par >
sinon ces caractères
sont interprétés comme des délimieturs HTML.
La même chose avec un programme ou une commande de plusieurs lignes
avec \begin{giacprog}...\end{giacprog}
:
f(x):={ local y; si x<0 alors y:=-x; sinon y=x; fsi; return y; }
Ici on peut utiliser les caractères <
et >
. Attention, il
ne pas utiliser cet environement dans un autre environement (itemize,
enumerate...).
Si vous souhaitez que le programme soit interprété au chargement
de la page HTML, utilisez giaconload
(ou giaconloadhide
pour masquer l’entrée)
au lieu de giacprog
. Par exemple
\begin{giaconloadhide}h(x):=x^3:;\end{giaconloadhide}
puis
\begin{giaconload}plot(h(x),x=-1..1)\end{giaconload}
h(x):=x^3:;
onload
plot(h(x),x=-1..1);
onload
La commande \giacslider{}{}{}{}{}
permet de créer une variable
modifiable par le lecteur à la souris et des calculs qui
dépendent de cette variable :
\giacslider{a}{-5}{5}{0.1}{2.3}{plot(x^2+a*x)}
Pour créer un lien utiliser \giaclink{}
, par
exemple un lien vers Xcas offline :
\giaclink{http://www-fourier.univ-grenoble-alpes.fr/\%7eparisse/xcasfr.html#+factor(x^4-1)&+a:=idn(3)&}
Tester en ligne
4 Postprocessing
On peut utiliser hevea --mathjax
du fork
https://github.com/YannickChevalier/hevea-mathjax
pour laisser MathJax faire le rendu des formules mathématiques.
On peut alors convertir en mathml en utilisant itex2mml
https://golem.ph.utexas.edu/~distler/blog/itex2MML.html
Attention, il faut remplacer par
$
,
certains caractères ne sont pas supportés (par exemple \
),
et \begin
{equation}
ou eqnarray
n’est pas supporté.
5 Tortue logo