7 Open-source Document Creation Tools III
Isaac Mulolani
Learning Outcomes
By the end of this chapter, the reader will be able to:
- Identify other open-source latex-based tools useful for creating OER
- Describe the process of creating OER independent of the technology tool
- Explain the process of making use of online Latex editors to create documents
- Describe the more hybrid development tools available for creation of OER
Additional TeX-based Open-source tools
In this section, there will be an examination of some additional TeX-based tools that relate to the creation of open resources. These are in addition to those presented in the previous chapters. Hopefully, these will be a useful addition to the tools already described. The tools to be described are listed below:
It is useful to note that two of these tools do not require any installation since they are online tools: Overleaf and Papeeria. The focus of both of these is collaborative editing of resources online. The advantage of these online tools is that one avoids the need to install the required LaTeX distribution (MiKTeX, TeXLive or MacTeX). In addition, these online tools come with cloud storage for all project files. Another feature of the online editors is the ability to access many different document templates as starting points for documents. This greatly simplifies the use of different classes to something similar to word processing templates.
TeX-based Tools requiring Installation
In a previous chapter, the basic requirements of a TeX-based system have been discussed. For the most popular TeX distributions (MiKTeX, TeXLive, MacTeX), the basic requirement is the installation of the distribution and then an editor on top of that. Editors allow automation of many packages and functions. Unlike, word processors, these TeX-based tools are not WYSIWYG (What You See Is What You Get). Instead, LaTeX provides packages and commands to control the structure and layout of a document. Just about every LaTeX editor available provides a way for the user to preview a processed document – usually an iterative process in the workflow.
In this section, two specific TeX-based tools will be examined that are almost a bridge between traditional LaTeX typesetting and WYSIWYG. The first tool is LyX and the second is TeXmacs. Both tools are open-source options freely downloadable from their respective websites. Both programs run on all Linux/Unix systems, Windows, and Mac OS.
LyX Document Processor
The LyX document processor is released under a GNU General Public License, version 2 or later. LyX is a document processor that facilitates a writing approach that combines structure considerations with the appearance. It is more of a What You See Is What You Mean (WYSIWYM) approach. Combined in this tool is TeX/LaTeX’s power and flexibility with the ease of a graphical user interface. The process supports the creation of mathematical content through its integrated equation editor along with other types of structured documents.
One point that must be made is that LyX requires a working LaTeX distribution of MiKTeX. For the Windows installers, a check is made during installation on whether a working TeX distribution exists. If not, the installer will automatically initiate a MiKTeX install first before installing LyX.
Video length: 19:08 minutes
Features of LyX
Here are the features of LyX.
GNU TeXmacs
GNU TeXmacs is provided under a GNU General Public License. This is another option that is similar to TeX-based systems described so far. TeXmacs has evolved from a scientific text editor into a scientific office suite, with an integrated presentation mode, technical drawing editor, versioning tools, bibliography tool, etc. The typesetting quality has continued to improve with a better support of microtypography and a large variety of fonts. The converters for LaTeX and HTML have also been further perfected and TeXmacs now comes with a native support for PDF.
It should be said that TeXmacs provides much more functionality than most TeX-based systems. The following are some of the options available
- GNU TeXmacs is a free scientific editing platform designed to create beautiful technical documents using a WYSIWYG interface.
- It provides a unified and user friendly framework for editing structured documents with different types of content: text, mathematics, graphics, interactive content, slides, etc.
- TeXmacs can be used as a graphical front-end for many systems in computer algebra (Sage, Maxima, Maple, Mathematica), numerical analysis, statistics, etc.
- Documents can be saved in TeXmacs, XML or Scheme format and printed as PDF or Postscript files. Converters exist for TeX/LaTeX and HTML/Mathml. Notice that TeXmacs is not based on TeX/LaTeX.
- Its rendering engine uses high-quality typesetting algorithms so as to produce professionally looking documents, which can either be printed out or presented from a laptop.
- New styles can be written by the user and new features can be added to the editor using the Scheme extension language.
- Runs on all major Unix platforms, MacOS, and Windows.
It is important to note that TeXmacs is not based on TeX/LaTeX but can use the functionality within documents. As can be seen, LaTeX documents can be imported and exported from the basic Scheme or XML format. The familiar PDF and postscript files can also be generated from a TeXmacs document.
The following video quickly demonstrates some of the most important features of TeXmacs: starting a scientific article, typing mathematical formulas, inserting and annotating pictures, citations, references, drawing pictures, document styles and fonts, HTML export, laptop presentations, and animations.
Video length: 3:41 minutes
Online TeX-based Tools
Papeeria
The Papeeria online editor has two different plans for potential users to choose from.
Epsilon plan (free forever) | Delta Plan (starts $5 per month) |
Unlimited public projects and public templates |
Adds to Epsilon, up to 10 active private projects You can buy more quota if needed |
Unlimited collaborators per project |
Auto compiling |
One active private project you can archive unused projects. |
Priority compiling |
Full-text search restricted to the current project files |
Private templates |
Git sync full read-write access to public repositories |
Full-text search across all projects which you own or joined |
File edit history, covers last 24 hours |
Git sync access private repositories too |
Simple plot builder | File edit history, covers last 30 days |
Synchronization with Dropbox and Google Drive | |
Backup snapshots | |
Integration with gnuplot | |
Integration with Mendeley |
Table 7.1 The two Papeeria plans available to users
The Epsilon plan is free for all time should one choose this option. Clearly, there are not as many features available and there is a limit on the number of active private projects. The website indicates that this option is best suited for students and those learning LaTeX. The Delta plan starts at $5 per month ($60 a year) and adds more features on top of the basic Epsilon plan.[1] It has the feature of being able to synchronize with Dropbox and Google Drive which some users may find useful.
The integration with Gnuplot, an open-source plotting program, requires additional installation information which the website does not provide. The integration of this tool (and Mendeley) would require sending a request to Papeeria support. Mendeley is a reference manager which is used to manage and share research papers and generate bibliographies for scholarly articles.[2] It is not clear whether the free Mendeley account would work with Papeeria.
A templates page provides downloadable files for the interested user. This is especially useful for the new user or student looking for specific document formats. Another interesting feature of the Papeeria editor is auto-compilation of a document to keep it up to date. Within Papeeria, it is possible to use LaTeX commands or mix it with Markdown (a text-to-HTML conversion tool for web writers).[3] As was mentioned before, the user does not need to update the underlying TeX distribution – this is taken care of by Papeeria support persons. There is also a mobile version of the tool for those interested in this option.
Video length: 5:52 minutes
Features of Papeeria
The following are the features of Papeeria.
Overleaf
Like the previous tool, Overleaf is an online collaborative LaTeX editing tool. It shares some of the features of any online editing tool. The following are the plans available for purchase with Overleaf.
Personal | Collaborator | Professional |
Ideal when working alone | Great for shared projects | For working with multiple collaborators |
$11 per month | $17 per month | $34 per month |
Only one collaborator | 10 collaborators per project | Unlimited collaborators |
Sync with Dropbox and GitHub, full document history and more | Sync with Dropbox and GitHub, full document history, track changes and more | Sync with Dropbox and GitHub, full document history, track changes and more |
Table 7.2 Overleaf pricing plans to choose from
There is a free plan available as well. However, the Overleaf website does not provide information on what features are available for this plan.
Features of Overleaf
Here are the features of Overleaf.
Support pages to help users Learn
Overleaf provides a number of pages to help their users with different tasks. These are itemized as follows.
- LaTeX in 30 Minutes – this is a guide for those who are new to LaTeX. No prior knowledge of LaTeX is assumed.
- Templates – this is where the thousands of templates can be searched for and selected. The code for each template opens by default in the editor when selected.
- Webinars – Enjoy free webinars and learn how you can make the most of your Overleaf account. There are webinars for all types of Overleaf users.
- Tutorials – From this Overleaf learn wiki, you can access a wide range of help and information on Overleaf and LaTeX.
- Inserting Images – This page steps through the process of adding images to documents as well as manipulating them (shrinking, enlarging, rotating).
- How to create tables – This page describes the details of adding tables to LaTeX documents. Code snippets are provided as part of the explanation.
Overleaf provides an extensive list on their website of all the post-secondary institutions that currently have an institutional subscription. The list includes universities across North America, Europe, the Middle East, Asia and Australia.
Video length: 2:07 minutes
R Markdown and Document Generation
The next tool to be examined in this chapter is R Markdown. The first observation is that there are two parts to this document generation process:
- installation of R and the R Markdown package
- installation of an appropriate editor, for example, RStudio or Pandoc
R is available as Free Software under the terms of the Free Software Foundation’s GNU General Public License in source code form. It compiles and runs on a wide variety of UNIX platforms and similar systems (including FreeBSD and Linux), Windows and MacOS.
In a nutshell, R Markdown stands on the shoulders of knitr and Pandoc. The former executes the computer code embedded in Markdown, and converts R Markdown to Markdown. The latter renders Markdown to the output format you want (such as PDF, HTML, Word, and so on).[4]
To make the generation of documents easier, the use of the RStudio integrated development environment (IDE) is recommended. There are four different options available for use:
- RStudio Desktop under an open source license which can be used for free
- RStudio Desktop Pro under a commercial license at a cost of $995 per year
- RStudio Server under an open source license which can be used for free
- RStudio Workbench under a commercial license at a cost of $4,975 per year with five named users
As with other IDEs, RStudio includes a set of integrated tools designed to help you be more productive with R and Python applications. It includes a console, syntax-highlighting, an editor supporting direct code execution, tools for plotting, viewing history, debugging and workspace management.
Video length: 1:12 minutes
Yihue Xie et. al., state that:[5]
R Markdown was designed for easier reproducibility, since both the computing code, and narratives are in the same document, and results are automatically generated from the source code. R Markdown supports dozens of static and dynamic/interactive output formats.
Here is the workflow for creating documents from R Markdown using the RStudio IDE.
Another feature of interest to educators is RStudio’s free publishing platform RPubs which has a significant number of student homework assignments posted on it. This indicates the ease of use and convenience of R Markdown for students completing homework assignments.
The following two figures display an R Markdown cheatsheet that shows the simplicity of creating documents with it.
From Figure 7.2 (a) the basic elements of Markdown can be seen in the various code snippets shown.
From Figure 7.2 (b), more code snippets can be seen. The number of output formats for R Markdown are also shown. One observation is that R Markdown makes use of LaTeX to produce files in PDF format. Within the RStudio editor is the option to use an installed LaTeX distribution (MiKTeX, MacTeX or TeXLive) to create files in PDF.
Case Study of using R Markdown to Publish a book
The following video describes the process for using RStudio and R Markdown to create the book, Hands-on Data Visualization by Jack Dougherty and Ilya Ilyankou.
Video length: 3:20 minutes
The workflow for this book (and the above video) is shown below. Notice how the single source from RStudio produces multiple output formats.
It is worth mentioning that there are other editors that can be used in combination with R besides RStudio. One of these is the WinEdt freeware editor mentioned in a previous chapter as a TeX-based editor.
The bookdown package is an open-source R package that facilitates writing books and long-form articles/reports with R Markdown. Features include:[6]
- Generate printer-ready books and ebooks from R Markdown documents.
- A markup language easier to learn than LaTeX, and to write elements such as section headers, lists, quotes, figures, tables, and citations.
- Multiple choices of output formats: PDF, LaTeX, HTML, EPUB, and Word.
- Possibility of including dynamic graphics and interactive applications (HTML widgets and Shiny apps).
- Support a wide range of languages: R, C/C++, Python, Fortran, Julia, Shell scripts, and SQL, etc.
- LaTeX equations, theorems, and proofs work for all output formats.
- Can be published to GitHub, bookdown.org, and any web servers.
- Integrated with the RStudio IDE.
- One-click publishing to Bookdown.
A list of books, mostly published through CRC Press and O’Reilly, can be seen on the Bookdown webpage. A number of these books are openly licensed and can be accessed online. Clearly, the benefit of this is any potential author can leverage the online content as a starting point for an adapted or new resource.
For more detailed information about the use of R Markdown, Bookdown and RStudio to create open resources, the interested reader should consult the references list in Appendix A: Books created using R Markdown and Bookdown.
- See the Papeeria pricing plans page ↵
- See the Mendeley site for information ↵
- See Markdown in Wikipedia. ↵
- Xie, Y., Allaire, J.J. and Grolemund, G. (2019). R Markdown: The Definitive Guide. CRC Press. ↵
- Xie, Y., Allaire, J.J. and Grolemund, G. (2019). R Markdown: The Definitive Guide. CRC Press. ↵
- See Bookdown webpage. ↵
A code Snippet is a programming term that refers to a small portion of re-usable source code, machine code, or text. Snippets help programmers reduce the time it takes to type in repetitive information while coding. Code Snippets are a feature on most text editors, code editors, and IDEs.