From 94bf43f94595985adf2359c17ab20a7cbb107baf Mon Sep 17 00:00:00 2001 From: Lafrite Date: Fri, 29 Aug 2014 14:33:04 +0200 Subject: [PATCH] import new way for rotating numbers and example --- DS_09_litt_mediane.tpl.tex | 70 ------------------------------ example.tpl.tex | 38 +++++++++++++++++ number_rotation.py | 87 +++++++++++++++++++------------------- 3 files changed, 82 insertions(+), 113 deletions(-) delete mode 100644 DS_09_litt_mediane.tpl.tex create mode 100644 example.tpl.tex diff --git a/DS_09_litt_mediane.tpl.tex b/DS_09_litt_mediane.tpl.tex deleted file mode 100644 index 3e953a9..0000000 --- a/DS_09_litt_mediane.tpl.tex +++ /dev/null @@ -1,70 +0,0 @@ -\documentclass[a4paper,10pt]{/media/documents/Cours/Prof/Enseignements/tools/style/classDS} -\usepackage{/media/documents/Cours/Prof/Enseignements/2013_2014} - -% Title Page -\titre{Calcul littéral et statistiques} -% \quatreC \quatreD \troisB \troisPro -\classe{\troisB} -\date{26 septemble 2013} -% DS DSCorr DM DMCorr Corr -\typedoc{DS} -\duree{1 heure} -\sujet{%{{infos.subj%}}} - - -\begin{document} -\maketitle - -\Calc -Le barème est donné à titre indicatif, il pourra être modifié. - -\begin{Exo}[4.5] - Développer et réduire les expressions suivantes: - \begin{equation*} - A = %{{random.randint(1,9) %}}x (-%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}} )\qquad - B = (%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}})(-%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}}) \qquad - C = %{{random.randint(1,9) %}}x (-x + 1) + (%{{random.randint(1,9) %}}x + %{{random.randint(1,9) %}})(x - 4) - \end{equation*} -\end{Exo} - -\begin{Exo}[4] - On cherche à évaluer l'aire du rectangle suivant: - \begin{center} - %\includegraphics[scale=0.3]{fig/rectangle} - \end{center} - \begin{enumerate}[a.] - \item En fonction de $x$, déterminer la hauteur puis la largeur du rectangle. - \item Exprimer l'aire du rectangle en fonction de $x$. - \item Réduire l'expression de l'aire. - \item Évaluer l'aire du rectangle quand $x = %{{random.randint(1,9) %}}$. - \end{enumerate} -\end{Exo} - -\begin{Exo}[6] - Factoriser, en soulignant le terme commun, les expressions suivantes: - \begin{equation*} - A = 6x + 12 \qquad B = 21x + 7 \qquad C = 10x^2 - 5x + 25 \qquad D = 16x^2 - 24x - \end{equation*} -\end{Exo} - -\begin{Exo}[5.5] - Voici les performances en saut en hauteur d'une classe de troisième. Les hauteurs sont données en centimètres. - \begin{equation*} - %{{ "; \\quad ".join(random.gaussRandomlist_strInt(120, 20, 10)) %}} - \end{equation*} - \begin{enumerate}[a.] - \item Quel est l'effectif total de cette série? - \item Quelle est l'étendue de cette série? - \item Déterminer la performance moyenne (notée $M$) des élèves de cette classe (On arrondira le résultat à l'unité). - \item Déterminer une performance médiane (notée $Me$). - \end{enumerate} - -\end{Exo} - -\end{document} - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "master" -%%% End: - diff --git a/example.tpl.tex b/example.tpl.tex new file mode 100644 index 0000000..dbe7384 --- /dev/null +++ b/example.tpl.tex @@ -0,0 +1,38 @@ +\documentclass[a4paper,10pt]{/media/documents/Cours/Prof/Enseignements/tools/style/classDS} +\usepackage{/media/documents/Cours/Prof/Enseignements/2013_2014} + +% Title Page +\titre{Calcul littéral et statistiques} +% \quatreC \quatreD \troisB \troisPro +\classe{\troisB} +\date{26 septemble 2013} +% DS DSCorr DM DMCorr Corr +\typedoc{DS} +\duree{1 heure} +\sujet{\Var{infos.subj}} + + +\begin{document} +\maketitle + +\Calc +Le barème est donné à titre indicatif, il pourra être modifié. + +\begin{Exo}[4.5] + \Block{set A = RdExpression("{a} / 2 + 2")()} + \Block{set B = RdExpression("{a} / 2 + 4")()} + Développer et réduire les expressions suivantes: + \begin{equation*} + A = \Var{ A } \\ + B = \Var{ B } + \end{equation*} +\end{Exo} + + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "master" +%%% End: + diff --git a/number_rotation.py b/number_rotation.py index 88498d3..71df4a6 100755 --- a/number_rotation.py +++ b/number_rotation.py @@ -4,48 +4,48 @@ import jinja2, random, os import sys import optparse -from rd_frac import frac -from pythagore import pythagore_triplet +from pymath.random_expression import RdExpression -def randfloat(approx = 1, low = 0, up = 10): - """ return a random number between low and up with approx floating points """ - ans = random.random() - ans = ans*(up - low) + low - ans = round(ans, approx) - return ans - -random.randfloat = randfloat - -def gaussRandomlist(mu = 0, sigma = 1, size = 10, manip = lambda x:x): - """ return a list of a gaussian sample """ - ans = [] - for i in range(size): - ans += [manip(random.gauss(mu,sigma))] - return ans - -random.gaussRandomlist = gaussRandomlist - -def gaussRandomlist_strInt(mu = 0, sigma = 1, size = 10): - return gaussRandomlist(mu, sigma, size, manip = lambda x: str(int(x))) - -random.gaussRandomlist_strInt = gaussRandomlist_strInt - -random.frac = frac -random.pythagore = pythagore_triplet - - - - -report_renderer = jinja2.Environment( -block_start_string = '%{', -block_end_string = '%}', -variable_start_string = '%{{', -variable_end_string = '%}}', -loader = jinja2.FileSystemLoader(os.path.abspath('.')) +#texenv = jinja2.Environment( +# block_start_string = '%{', +# block_end_string = '%}', +# variable_start_string = '%{{', +# variable_end_string = '%}}', +# loader = jinja2.FileSystemLoader(os.path.abspath('.')) +#) +texenv = jinja2.Environment( + block_start_string = '\Block{', + # Gros WTF!! Si on le met en maj ça ne marche pas alors que c'est en maj dans le template... + block_end_string = '}', + variable_start_string = '\Var{', + variable_end_string = '}', + loader = jinja2.FileSystemLoader(os.path.abspath('.')) ) +# The environment +#report_renderer = jinja2.Environment( +# block_start_string = '\BLOCK{', +# block_end_string = '}', +# variable_start_string = '\VAR{', +# variable_end_string = '}', +# comment_start_string = '\#{', +# comment_end_string = '}', +# line_statement_prefix = '%-', +# line_comment_prefix = '%#', +# trim_blocks = True, +# autoescape = False, +# loader = jinja2.FileSystemLoader(os.path.abspath('.')) +#) + + +#texenv = jinja2.Environment() +#texenv.block_start_string = '\BLOCK{' +#texenv.block_end_string = '}' +#texenv.loader = jinja2.FileSystemLoader('.') + def main(options): - template = report_renderer.get_template(options.template) + #template = report_renderer.get_template(options.template) + template = texenv.get_template(options.template) cwd = os.getcwd() @@ -56,20 +56,21 @@ def main(options): output_name = tpl_base + "_" output_dir = os.path.dirname(output_name) + if output_dir != "": + os.chdir(output_dir) output_basename = os.path.basename(output_name) output_tplname = output_basename.split("/")[-1] - os.chdir(output_dir) for subj in range(options.num_subj): subj = subj+1 dest = output_tplname + str(subj) + '.tex' with open( dest, 'w') as f: - f.write(template.render(random = random, infos = {"subj" : subj})) - os.system("pdflatex " + dest) + f.write(template.render(plop = str(1), RdExpression = RdExpression , infos = {"subj" : subj})) + #os.system("pdflatex " + dest) - if not options.dirty: - os.system("rm *.aux *.log") + #if not options.dirty: + # os.system("rm *.aux *.log") os.chdir(cwd)