- Now Points, as well as other basic geometric objects, may be 2D or 3D.
- Add first three-dimensional objects: Polyhedron and RightCuboid.
- Add first flat representation of polyhedra: ObliqueProjection
- Extend units conversions to areas, volumes and conversions between capacities and volumes (from m³ to mm³).
- Add ClockTime object to easily deal with times.
- Accept floats to initialize Numbers (the float being converted to str).
- A standalone Angle or AnglesSet can be drawn. Enrich Angles' decorations (hatch marks, labeling, second decoration etc.).
- An integer Number can be split as a sum of integers ± 0.5 (or ± 0.25)
- Add Number.lowest_nonzero_digit_index()
- Patch Number.split() to get a consistent behaviour for integers too (default split will be done at lowest non zero digit place: 500 will be split as 100 + 400, or 200 + 300 etc. and with dig=1, it will be split as 10 + 490, or 20 + 480 etc.).
- Fix: Numbers with an angle's unit should be displayed as \ang{...} rather than \SI{...}{\textdegree}.
- Add basic classes to handle LaTeX commands and options' lists.
- Add a constant in LaTeX module
- Add Number.digits_sum()
- Add Number.digits and Number.digit()
- Add some amsmath symbols.
- Add Number.quantize().
- A Number can be converted into a another unit of the same physical quantity.
- Accept int as exponent (or even content) of an Exponented.
- Fractions can be created from a decimal Number.
- Fractions become Evaluable and can be compared to other numbers.
- Standalone Units will be printed using siunitx (e.g. as '\si{cm}').
- Fix bug: current locale is ignored when printing a number having a unit.
- Do not automatically remove possible trailing zeros when printing a Number.
- Add the tonne (t) as mass unit.
- An optional patch allow Polygons to be drawn to the first vertex again instead of only cycling (default behaviour).
- Add more complex geometric objects: Polygon, Triangle, RightTriangle, EquilateralTriangle, IsoscelesTriangle, Quadrilateral, Rhombus, Rectangle, Square.
- Numbers can be "copied" using copy.copy() or copy.deepcopy().
- Add Point.rotate().
- Add the ability to change the size of Point's drawn shape (using Point.shape_scale).
- Add LineSegment.mark and the ability to change its size (using LineSegment.mark_scale).
- mathmakerlib.requires_pkg becomes mathmakerlib.required and will also handle required options and hacks.
- Add module mathmakerlib.mmlib_setup to configure the behaviour (default values etc.).
- Fix the locale monkey patch.
- Add basic geometric objects: Point, LineSegment and DividedLineSegment.
- Add Fraction.
- Add module mathmakerlib.requires_pkg that tells which LaTeX packages will be required to compile the document (like tikz, xcolor, siunitx...).
- Add Sign, Exponented and Unit classes.
- Numbers are now Signed objects and may be assigned a Unit.
- Bring back Numbers' hashability.
- Add physical_quantity() in unit module.
- Number class and decimal numbers' related functions.