From f8ad55e9fb0af0c2f7e11f07436b34aa77aeb00e Mon Sep 17 00:00:00 2001 From: Lafrite Date: Sun, 13 Sep 2015 07:21:42 +0200 Subject: [PATCH] start tutorial for Opytex --- documentation/tutorial.rst | 82 +++++++++++++++++++++++++++++++++++++- 1 file changed, 81 insertions(+), 1 deletion(-) diff --git a/documentation/tutorial.rst b/documentation/tutorial.rst index 7b02069..bfa501c 100644 --- a/documentation/tutorial.rst +++ b/documentation/tutorial.rst @@ -1,2 +1,82 @@ Utilisation de Opytex -===================== +##################### + +Surcharge sur latex +=================== + +Opytex ajoute deux commandes "latex" pour inclure du code Python interprété dans les documents. + +Commande *\Block* +---------------- + +Cette commande permet d'exécuter du code python qui ne sera pas afficher dans le document tex produit. + + .. code-block:: latex + + Je peux déclarer des variables + \Block{set a = 1} + \Block{set b = 2} + Et même faire des calculs + \Block{set c = a + b} + Mais rien ne sera affiché. + +Ce qui produira le document suivant + + .. code-block:: latex + + Je peux déclarer des variables + Et même faire des calculs + Mais rien ne sera affiché. + +Commande *\Var* +--------------- + +Cette commande va exécuter du code python qui sera ensuite inclut dans le document tex produit. + + .. code-block:: latex + + Je peux afficher des nombres \Var{2}, \Var{2+3} ... + Et si j'ai enregistré une variable \Block{a = 1}, je peux ensuite l'afficher \Var{a}. + +Ce qui produira le document suivant + + .. code-block:: latex + + Je peux afficher des nombres 2, 5 ... + Et si j'ai enregistré une variable, je peux ensuite l'afficher 1. + +Quelques commandes supplémentaires +================================== + +Comme Opytex utilise le moteur de template Jinja2, la notion de filtre peut être utilisée. + +Filtres qui marchenet bien avec pyMath +----------------------------------- + +- *calculus*: Mettre en forme un calcul + + .. code-block:: latex + + On commence par définir une expression, + \Block{set e = Expression("1 + 2*3")} + et on veut détailler sa simplification + \begin{eqnarray*} + \Var{e.simplify().explain()|calculus(name = 'e')} + \end{eqnarray*} + + + Ce qui produira le document suivant + + .. code-block:: latex + + On commence par définir une expression, + et on veut détailler sa simplification + \begin{eqnarray*} + e & = & 1 + 2 \times 3 \\ + e & = & 1 + 6 \\ + e & = & 7 + \end{eqnarray*} + + + +