See the LICENSE file.
Original contents (2016): Anders O.F. Hendrickson (anders.o.f.hendrickson AT gmail.com)
2019-2021: Matthieu Guerquin-Kern (guerquin-kern AT crans.org)
This work consists of the files moodle.dtx and moodle.ins
and the derived files moodle.sty
and moodle.pdf
. Test files are located in the
test/ folder with a rudimentary unit test system (see section
Unit Test below).
MAKEFILES are distributed to automate the building process (see section Building below).
The LaTeX package from version 0.5 onwards is hosted on CTAN: https://ctan.org/pkg/moodle
The development happens on a server hosting a GITLAB instance. The project is located at https://framagit.org/mattgk/moodle. There, among other things, you can see the activity of the project and you can download the latest version of the project files.
You can use GIT to access the project files using the command:
$ git clone "https://framagit.org/mattgk/moodle.git"
To gain write access to the project and contribute, you must have an account on this server. Visit https://framagit.org and register.
The building setup has been only tested under a GNU/LINUX environment (Ubuntu, specifically). Although, the building process might be also set on Windows and macOs environments, the authors will only support the use of GNU/Linux. Windows/macOs users can install GNU/Linux with a minimal impact on their main working environment using either
- a LiveUSB installation (see https://en.wikipedia.org/wiki/List_of_tools_to_create_Live_USB_systems), or
- a virtual machine (see virtualbox for instance).
An installation of the TexLive suite is required. The full installation is
not necessary but the moodle package (.sty
file) requires the following packages:
environ
(texlive-latex-extra),xkeyval
(texlive-latex-recommended),amssymb
(texlive-base),iftex
(texlive-base),etoolbox
(texlive-latex-recommended),xpatch
(texlive-latex-extra),array
(texlive-latex-extra),ifplatform
(texlive-base),shellesc
(texlive-latex-base),readprov
(texlive-latex-extra),fancybox
(texlive-latex-recommended), andgetitems
(texlive-latex-extra).
The package option handout
requires:
randomlist
(texlive-plain-generic
).
In order to manipulate images, the package relies on:
graphics
(texlive-latex-base)- GhostScript (www.ghostscript.com),
- ImageMagick (www.imagemagick.org), and
- optipng (optipng.sourceforge.net).
Instead, to compile the documentation, the following LaTeX packages are
necessary: amssymb
, babel
, booktabs
, changelog
, dtxdescribe
, eurosym
,
hyperref
, longtable
, minted
, microtype
, tikz
, threeparttable
, and varioref
.
The GNU MAKE mechanism is used to automate the building process.
In the root makefile, standard targets all
, clean
, distclean
, dist
,
and install
are defined.
On multicore machines, you might want to parallelize the building process using
the -j
option of MAKE.
Otherwise, the file moodle.sty
can be generated using the command
$ latex moodle.ins
and the documentation file moodle.pdf
can be generated by running
successively the three commands:
$ lualatex -halt-on-error -shell-escape moodle.dtx
$ makeindex -s gglo.ist -o moodle.gls moodle.glo
$ lualatex -halt-on-error -shell-escape moodle.dtx
( see the dependencies in the previous section)
To install the package on your local *nix system (under ~/texmf/
):
$ make install
A rudimentary unit test system is located in the test/ folder. That helps ensuring no regression occurs. This system relies on the makefile mechanism. To run the unit tests:
$ make test