APUNSTFME PACKAGE
=================

This is a package created by ApuntsFME in order to make taking notes
in math lessons easier. This will provide the required environments
as well as usefull commands that make taking math notes a lot easier.

As taking notes while on the lecture is quite difficult, we recommend
taking some notes by hand and writting your LaTeX later (also it's an
opportunity to revise the lesson), but if you are willing to try
taking notes during the lesson, we recommend you to use some tools
like vim-latex.

-----

Copyright 2019 ApuntsFME

This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3
of this license or (at your option) any later version.
The latest version of this license is in
  http://www.latex-project.org/lppl.txt
and version 1.3 or later is part of all distributions of LaTeX
version 2005/12/01 or later.

This work has the LPPL maintenance status `maintained'.

The Current Maintainer of this work is the ApuntsFME organization.

This work consists of the files apuntsfme.dtx and apuntsfme.ins
and the derived file apuntsfme.sty.
