1Introduction
QaDiL has been used at Department of Mathematics at Aarhus University
(under the name iLaTeX) for a variety of courses since 2016. Among these are
Linear Transformations (in Danish), fall 2017,
Linear Algebra (in Danish), spring 2020 and
Introduction to Mathematics and Optimization, fall 2020-.
iLaTeX has also been used in
Bjørk Hammer's
sci2u-system for
interactive notes in the Calculus courses at
Aarhus Universitet (followed by
close to one thousand students each year). It is also used in the basic
statistics courses taught by
Jens Ledet Jensen.
QaDiL/iLaTeX grew
out of an attempt to write interactive/online math notes in
Sphinx, which prompted a
desire to write input in LaTeX syntax instead of
markdown. The system was
rewritten in August 2020 into QaDiL for use in the new course
Introduction to Mathematics and Optimization tailored to
first year computer science and data science students. It is referred to as
QaDiL = Quick and
Dirty interactive LaTeX
as it gets the rendering job done in a simple (quick and dirty) way
without thinking too much about a complicated bottom-up design from TeX.
The system is sufficient for most (interactive) math notes in
html, but it
is not a full blown LaTeX installation. Please help improve the system on
GitHub
if you have knowledge of css/javascript/python.
QaDiL is basically a collection of a few python programs (classes) designed to
be easily extendable. For mathematical typesetting
KaTeX is used.
Also, a very useful plugin for interactive computation is
the
Sage cell server. Furthermore,
student annotation can be added using
Hypothesis. I consider QaDiL as a
simple framework built on top of these three great plugins.
The beautiful
math typesetting from KaTeX, the computer algebra interface from Sage and
the annotation interface provided by Hypothesis will take you a long way when
writing interactive math notes (for teaching).
1.1 Prerequisites
I will assume that you have a setup with working version of python (3) and
make. It is also assumed that you are comfortable working from a terminal
window and using a text editor (like emacs or similar editing plain text).
It is not necessary to know any
python. Also, detailed knowledge
of
make is not required. You only need to have a basic knowledge
of using a text editor in order to add your chapter source files to the
Makefile as your project grows. Every compilation of LaTeX to
html is done by the command
make.
1.2 Tinkering
QaDiL is designed to be easy to use, but also for extendability. It is fairly
easy to tinker adding new functions to the python code, changing the
look by modifying the included
css files, adding new interative functions
working with javascript in the
js directory.
1.3 Basic design
The overall idea in QaDiL is that a LaTeX command is a function with arguments and
optional arguments. A LaTeX environment is viewed as a function with an added
body of LaTeX. This principle is reflected in the algebraic data types in the
python code.
1.4 Acknowledgements
My interest in interactive books was prompted by spirited
interactions with Bjørk Hammer. I thank Bjørk for our shared
nerdy interest in electronic teaching during the last many years.
QaDiL started out as iLaTeX and was supported by the
EDU-IT initiative at Aarhus Universitet in the fall of 2018,
where a group of gifted students collaborated with Bjørk Hammer,
Jesper Funch Thomsen and I in redesigning
Jesper's linear algebra notes (above) into interactive form in iLaTeX.
This resulted in the quiz environments
orderquiz and
paraquiz along with
formatquiz. I am grateful
to Johannes Jensen for programming these in javascript and
designing the S-language for the interactive response.