467135abc6d13acc56d6c0404ff5ddcbbfb4ee2a
				
			
			
		
	Bopytex
Bopytex is a command line tool for producing random math exercises with their correction. It embeds mapytex and python into latex through jinja.
Installing
Install and update using pip
pip install -U bopytex
Simple example
Let's say I want an exercise on adding 2 fractions (files are in examples).
The latex template called tpl_add_fraction.tex
\documentclass[12pt]{article}
\begin{document}
\section{Ajouts de fractions}
Adding two fractions
%- set e = Expression.random("{a} / {b} + {c} / {k*b}", ["b > 1", "k>1"])
\[
    A = \Var{e}
\]
Solution 
\[
    \Var{e.simplify().explain() | join('=')}
\]
\end{document}
Generate latex files and compile those for 2 different subjects.
bopytex -t tpl_add_fractions.tex -N 2
It produces 2 sources files
- 01_add_fractions.tex
\documentclass[12pt]{article}
\begin{document}
\section{Ajouts de fractions}
Adding two fractions
\[
    A = \frac{- 2}{4} + \frac{7}{8}
\]
Solution 
\[
    \frac{- 2}{4} + \frac{7}{8}=\frac{- 2 \times 2}{4 \times 2} + \frac{7}{8}=\frac{- 4}{8} + \frac{7}{8}=\frac{- 4 + 7}{8}=\frac{3}{8}
\]
\end{document}
- 02_add_fractions.tex
\documentclass[12pt]{article}
\begin{document}
\section{Ajouts de fractions}
Adding two fractions
\[
    A = \frac{8}{9} + \frac{3}{63}
\]
Solution 
\[
    \frac{8}{9} + \frac{3}{63}=\frac{8 \times 7}{9 \times 7} + \frac{3}{63}=\frac{56}{63} + \frac{3}{63}=\frac{56 + 3}{63}=\frac{59}{63}
\]
\end{document}
And a ready to print pdf.
Description
				
					Languages
				
				
								
								
									Python
								
								95.8%
							
						
							
								
								
									TeX
								
								2.6%
							
						
							
								
								
									Makefile
								
								1.6%