Go to file
2019-12-23 09:10:42 +01:00
bopytex Feat: from optparse to click 2019-12-23 09:10:42 +01:00
documentation Remove pyMath occurency 2017-04-17 17:04:14 +03:00
examples Feat: README with examples 2019-07-11 18:45:33 +02:00
snippets Feat: Start working on snippets 2019-07-16 16:50:44 +02:00
.gitignore Core: update .gitignore 2019-07-12 09:09:14 +02:00
MANIFEST.in spelling and wrong arg 2015-05-16 10:50:03 +02:00
README.md Fix: fraction instead of fractions 2019-07-11 18:48:02 +02:00
requirements.txt Core: add mapytex, mypytex and path.py in requirements 2019-07-12 09:09:55 +02:00
setup.py Feat: Start cleaning installation 2019-06-28 09:16:17 +02:00

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.