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.