Bopytex/documentation/tutorial.rst

83 lines
2.1 KiB
ReStructuredText
Raw Normal View History

2015-04-23 13:31:24 +00:00
Utilisation de Opytex
2015-09-13 05:21:42 +00:00
#####################
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*}