Module 0247: The argument for off LMS LATEXcontent authoring and storage

Tak Auyeung, Ph.D.

December 18, 2016

1 About this module

2 Purpose of this document

If you author a significant amount of content for your classes that is published via a LMS, and you need to handle a lot of authoring needs that is special (esp. those teaching math, science, computer science, and engineering classes), you may find the authoring tools (HTML editors) in a LMS to be insufficient.

LATEXis nothing new. In fact, it is quite old, predating the Internet! However, it has evolved over time and remain as one of the most recognized and used typesetting and authoring tool chain for research papers and publications.

Find out whether you share some of my concerns and find LATEXa practical alternative authoring tool chain to HTML editing in a LMS.

3 History

Since 2000, the use of LMS (learning management system) has increased significantly in educational institutions of all levels. Many LMS products come and go.

Prior to the use of a LMS, I maintained all my teaching material on my own web site. Most, if not all, of this material is written in LATEX. The main advantage of LATEXis that the output can target printed or online media. Although LATEXis a fairly old tool suite, it is well supported and continues to be the typesetting tool for STEM paper.

Then Moodle came along. Moodle has some flexible and power authoring tools that are web-based. For more than 10 years, I was able to use the authoring tools in Moodle to write all my teaching material. This includes listing of programs written in various programming languages as well as diagrams and most importantly, math equations.

Because OEI (Online Education Initiative) Canvas requires that no other LMS be used by an institution, Moodle is going away. Unfortunately, the authoring tools of Canvas is quite limited and it cannot import documents with program listing or math equations. Furthermore, the math equation editing feature of Canvas is severely limiting and does not generate MathML.

In short, the authoring tools of Canvas is a significant down grade from those of Moodle and is insufficient for my authoring needs.

4 So what exactly does Tak need?

4.1 Program listing

Because I teach programming classes, it is important to be able to include listing of programs. For example:

1#include <stdio.h> 
2 
3int main() // can also use math equations x= i=0ni2 
4{ 
5  return 0; // this line is special  
6}

Note how syntax highlighting is automatically applied for readability. Plus line numbers are also automatically inserted. The line that is special is line 5, you can see how labels can be defined and referenced in source code.

HTML code listing can also be presented as follows (plain HTML code in the source document, no need to escape anything):

<p>This is an example of HTML code being <i>listed</i> and not <b>rendered</b>.</p>

While all of this can be done manually in any HTML editor such as the one in Canvas, LATEXcan also include the actual source document so that there is no need to copy and paste.

4.2 Math equations

The weakest link of the HTML editor of Canvas is how it handles equations. Here is one that I use in one of my classes:

(p q) ((p r) (q r)) (1) = (¬p q) (¬(p r) (q r)) (2) = ¬(¬p q) (¬p ¬r (q r)) (3) = (p ¬q) ((¬p ¬r q) (¬p ¬r r)) (4) = (¬p q) (¬(p r) (q r)) (5) = ¬(¬p q) ((¬p ¬r) (q r)) (6) = (p ¬q) (¬p ¬r ¬(q r)) (7) = (p ¬q) (¬p) (¬r) (q r) (8) = (p ¬q) (¬p 1) (¬r 1) (q r) (9) = (p ¬q) (¬p (q ¬q)) (¬r (q ¬q)) (q r) (10) = (p ¬q) (¬p q) (¬p ¬q) (¬r q) (¬r ¬q) (q r) (11) = (p ¬q) (¬p ¬q) (¬p q) (q ¬r) (q r) (¬q ¬r) (12) = (1 ¬q) (¬p q) (q 1) (¬q ¬r) (13) = 1 (14)

This equation is too large (1259 bytes in the original LATEXrepresentation) to be entered into the equation editor of Canvas. Furthermore, Canvas renders equations as raster images instead of MathML or MathJAX. Raster images are not scalable and therefore not very ADA friendly. Furthermore, raster images do not show very well when magnified. Magnification of content is often needed when content is presented in class using a projector.

4.3 Dual/multi output

HTML authoring is cool and works for most people. However, for those who are still paper based, or would like to read a printed document, HTML editing in a LMS may not be the best option.

LATEXhas the ability to output as DVI (device independent), PDF (Portable document format), PS (Postscript), HTML (HyperText Markup Language) and some other less commonly used formats (even Microsoft Word DOC and LibreOffice ODT formats).

4.4 Open source, fast response from developers

I reported a bug and got it fixed within 24 hours. This is exceptional. While I am no expert in LATEX, the source code is fully available for anyone with the know-how to trouble shoot.

I understand Canvas is open source, as well. However, to make a change to the production system can be very lengthy. So far, my request to have a larger equation capacity has been put into a wish list.

5 How to get started with LATEX?

This is a good question. The authoring system can be installed in any major operating systems. In terms of ease of installation, Debian or Ubuntu Linux (or derivatives there of) is probably the easiest. With some determination and elbow grease, LATEXcan also be installed in Windows and Mac OSX.

The biggest question is how content is going to be hosted. The output of LATEXis flexible, ranging from PDFs and HTML documents to folders of HTML documents and image files. As individual and self-sufficient files, Any LMS can simply host the files and let students download and/or view the documents using a web browser.

However, some files may be shared among classes. Most LMS do not have a concept of inter-class shared files. This means a out-of-LMS resource to host the output files of LATEXis a better option, then different classes from a LMS can link to those same documents.

5.1 potential LRCCD action item

I think LRCCD can assist faculty with supplying a content server where indivudals have accounts and can manage their own content. A server that implements common sync protocols like Unison makes synchronization of server content with a development desktop/laptop computer a simple matter.