Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Foreword :

  • Basic LaTeX literacy is a must for almost any "hard science" curriculum at one point or another. Gaining this ability as soon and as painlessly as possible is a plus for your students. Since many (most ?) tools/markup languages offer the possibility of using LaTeX markup for various tasks, a basic LaTeX knowledge (structure, maths markup, cross-references) is useful "almost everywhere".

  • In 40 years, solution for a myriad of document preparation problems have been developed for LaTeX (mostly in view of paper printing). Using LaTeX allows you (and your students) to tap this resource...

That said, LaTeX care and feeding may be considered superfluous at the beginning of a curriculum. A few possibility come to mind :

  • Pythontex can be used to mix text and formal computation, not only in sage but also in Python and a few other languages, à la LaTeX+Sagetex. But the markup language is still LaTeX. I know tha Geoffer Poore, pythontex's author, is planning a similar tool for markdown-based tdocuments, but I haven't the foggiest notion of the advancement of this project...

  • rmarkdown ( and |knitr) are a tool givin the ability to mix R code and LaTeX or markdown text ; Markdown is lighter (and less powerful) than LaTeX. and thereticulate` package, which allows to use Python source blocks, may be coaxed to accept Sage blocks (note : this is not (yet) implemended...).

Another possibility is to use sage blocks on org mode's Babel. Org mode`'s markup is less verbose and may be considered by some as lighter than LaTeX (although less powerful and less consistent), possibly easier to use.

Its largest drawback (and, possibly, advantage) is that it is (currently) Emacs-bound (although ports to other editors have been started, I'm not sure that Org-mode can be effectively compiled by anything else than emacs) : using it entails the Matterhorn-like learning curve (and benefits) of Emacs...

But the real points to Babel are :

  • the ability to use more than one language for code blocks. For example, sage or Mathematica for formal computation, R, Matlab or octave for statistics and numerical computation, graphviz for graphs, etc... About 70 languages are currently (more or less) supported by Babel.

  • The ability to get output as LaTeX/PDF, but also HTML, Beamer slides, HTML slides, LibreOffice's .odt and even Word's .docx. Quite useful when working in low-computer-literacy environment (read "administration"). Add pandoc to the mix, and the possibilities are almost boundless...

So this may be an interesting tool for the instructor, but probably less so for the students.

Note that, in any case, your students will have to use a markup language to be able to do about anything ; learning to leave the damned mouse alone (i. e. renounce WYSIWYG) is probably the hardest step of the learning process. Th exact markup language is probably not too important : markdown is less verbose than LaTeX, but has less possibilities (and, as far as I know, is not Turing-complete...).

Foreword :

  • Basic LaTeX literacy is a must for almost any "hard science" curriculum at one point or another. Gaining this ability as soon and as painlessly as possible is a plus for your students. Since many (most ?) tools/markup languages offer the possibility of using LaTeX markup for various tasks, a basic LaTeX knowledge (structure, maths markup, cross-references) is useful "almost everywhere".

  • In 40 years, solution for a myriad of document preparation problems have been developed for LaTeX (mostly in view of paper printing). Using LaTeX allows you (and your students) to tap this resource...

That said, LaTeX care and feeding may be considered superfluous at the beginning of a curriculum. A few possibility come to mind :

  • Pythontex can be used to mix text and formal computation, not only in sage but also in Python and a few other languages, à la LaTeX+Sagetex. But the markup language is still LaTeX. I know tha Geoffer Poore, pythontex's author, is planning a similar tool for markdown-based tdocuments, but I haven't the foggiest notion of the advancement of this project...

  • rmarkdown ( and |knitrknitr) are a tool givin giving the ability to mix R code and LaTeX or markdown text ; Markdown is lighter (and less powerful) than LaTeX. and thereticulate` the reticulate package, which allows to use Python source blocks, may be coaxed to accept Sage blocks (note : this is not (yet) implemended...).

Another possibility is to use sage blocks on org mode's Babel. Org mode`'s markup is less verbose and may be considered by some as lighter than LaTeX (although less powerful and less consistent), possibly easier to use.

Its largest drawback (and, possibly, advantage) is that it is (currently) Emacs-bound (although ports to other editors have been started, I'm not sure that Org-mode can be effectively compiled by anything else than emacs) : using it entails the Matterhorn-like learning curve (and benefits) of Emacs...

But the real points to Babel are :

  • the ability to use more than one language for code blocks. For example, sage or Mathematica for formal computation, R, Matlab or octave for statistics and numerical computation, graphviz for graphs, etc... About 70 languages are currently (more or less) supported by Babel.

  • The ability to get output as LaTeX/PDF, but also HTML, Beamer slides, HTML slides, LibreOffice's .odt and even Word's .docx. Quite useful when working in low-computer-literacy environment (read "administration"). Add pandoc to the mix, and the possibilities are almost boundless...

So this may be an interesting tool for the instructor, but probably less so for the students.

Note that, in any case, your students will have to use a markup language to be able to do about anything ; learning to leave the damned mouse alone (i. e. renounce WYSIWYG) is probably the hardest step of the learning process. Th exact markup language is probably not too important : markdown is less verbose than LaTeX, but has less possibilities (and, as far as I know, is not Turing-complete...).