Friday, April 29, 2016

Day 5 at the AIM MBX Workshop—Finishing up

Rob Beezer kicked off the morning with a discussion on print-on-demand, and how to get your book published—see Lulu (, Lightning Source (, Orthogonal Publishing (, createspace (  You may or may not need an ISBN number.  You can buy them on the web.  You might want more than one ISBN number (books in a series, a related solutions manual, etc).  The rest of the morning was occupied with breakout sessions, one of which was about writing XSL files.  Really cool!  Today is the last day of the AIM workshop and I have a full day of travel ahead of me tomorrow.

Thursday, April 28, 2016

Day 4 at the AIM MBX Workshop—More on graphics and a library tour

I have thought a little more about how graphics in MBX in the last 24 hours.  There is a difference between graphics on the printed page (e.g., a PDF copy of your book) and the web (an HTML version).  Printed graphics are static but graphics on a web page need to be able to scale.  And there are raster images as well as vector graphics images.  You might have photos, images from a previous project, images produced by a third party program such as GeoGebra, or you might be generating your images in your MBX project.  Here is a flow chart illustrating the process for getting graphics into MBX.

After helping a few other people over the last few days, I have realized how important it is to keep things organized.  If you are not organized, neither you or MathBook XML will be able to find the files that they need to generate your book.  While there is no one way to set up the directories on your computer, the following picture may give you some ideas.

See the chapter on processing, tools and workflow in Rob Beezer's MathBook XML Author's Guide (

To keep abreast of the most recent issues in MBX, subscribe to the Google Group, "mathbook-xml-support."

Now for the really cool part of the day—a trip to the AIM Library.  When David Farmer announced that we were going to tour the AIM library after lunch, I assumed that we were going to be led over the book shelves in AIM.  Instead, we went downstairs to a beautiful library were the "real books" were housed.  We were able to view rare mathematics books, some of which were printed in the 15th century.  Notice the author on the title page of the book in the first photo below.  Really cool!!!

Wednesday, April 27, 2016

Day 3 at the AIM MBX Workshop—More on Git, Graphics and WebWork into MBX

It's Day 3 at the Open textbooks in MathBook XML Workshop at American Institute of Mathematics. The morning was filled with presentations on getting graphics into MathBook XML and how to use WeBWork with MathBook XML.

First let's do a follow up on Git.  You can install a command line version of Git and xsltproc on Windows.  If you search on google, you will find what you need to know, but the following pictures may help.

A note on using the GitHub app instead of opening a terminal window and using the command line version of Git.  According to Rob Beezer, "Using a front-end app is like using recreational drugs.  At first it will be really cool and a lot of fun, but it will eventually ruin your life."  He was thinking of me when he said this.  After being burned badly and scolded by Rob, I NEVER use the GitHub app.

Alex Jordan give a great presentation on how to integrate WeBWork into MBX.  I missed the first part of the presentation, so checkout out Rob Beezer's blog ( for more information.

Finally, I gave a talk on how TikZ and how to get Sage plots and graphics into MathBook XML (

As usual, we spend the afternoon in break out sessions.

Tuesday, April 26, 2016

Day 2—Git at Open textbooks in MathBook XML Workshop

If you are going to collaborate with co-authors over time and space, you need a method of communication. If you are going to communicate across distance, your options snail mail, the telephone, or some form of electronic communication. Electronic communication might be email, DropBox, or the Cloud. If you use one of the above and working with others, you will have to be very careful that you don't get in one another's way.  Two people editing the same file at the same time could result in chaos.

The answer to this dilemma is to use a version control system such as one of the ones used by software engineers. Git is such a system. With Git, you can create a project repository that lives on the Internet.  Each co-author can pull from that repository, work locally on his or her local computer, and then push your changes back to the repository, where any conflicts can be resolved.  You may have several versions on your local machine and then push up to the repository once you are satisfied with any additions or changes that you have made. Every Git working directory is a full-fledged repository with complete history and full version-tracking capabilities, independent of network access or a central server. Like the Linux kernel, Git is free software distributed under the terms of the GNU General Public License version 2.

Of course, you will need someplace to host your project repository.  GitHub ( is one possibility.  You can host a public project on GitHub for free, but there is a monthly subscription fee if you want to host private projects.  I currently have five private projects that are books, instructor solutions manuals, and class notes in various stages of development.  I am finding GitHub very useful. Some of my other colleagues are either hosting or obtaining projects from GitHub.

To learn more about Git and GitHub, see

Monday, April 25, 2016

Day 1—Open textbooks in MathBook XML Workshop at American Institute of Mathematics

Greetings from the Open textbooks in MathBook XML Workshop ( I am here for a one-week workshop (April 25—29, 2016 ) at the American Institute of Mathematics, San Jose, California. The workshop, organized by Rob Beezer, David Farmer, and Kent Morrison and sponsored by AIM and the NSF,is bringing together teams of authors of open source mathematics textbooks, developers of technical tools supporting authoring of these books, and experienced editors providing reviews, advice, and guidance. During the workshop, authors will begin by converting existing book projects from LaTeX to a highly structured format. This new format will then easily convert to print, PDF, HTML, EPUB, and Jupyter Notebooks.

After a brief welcome from Brian Conrey, the director of AIM, and the organizers, we went through the room for introductions (about 30 people).  It takes a while for each person to tell their life story and describe the project that brought them to the workshop.  There are lots of people who are interested in writing open source textbooks, making books available in different formats, and incorporating tools such as WebWork.  People are bringing a wide variety of skill sets to the workshop. Participants are here for a variety of reasons:
  • I want to write my own book because I haven't found one that fits the needs of my students.
  • I am interested in inquiry-based learning.
  • I want to make my book available in a variety of formats.  I tell my student not to read their online textbooks on their smart phone, but they continue to ignore me.  So I guess that I had better make the textbook available in a format more friendly to the smart phone so at least they will not go blind trying to read the small print of a PDF version.
  • I want technology to be an integral format of my book.
  • I want to be able to collaborate with a group of authors.
Rob Beezer (University of Puget Sound) used the second half of the morning to give an introduction to MathBook XML (  For a good example of what is possible, see my abstract algebra textbook (  Beezer demonstrated the print and online versions of the book.  We are all used to print and PDF versions of a textbook.  The layout for an HTML version is a bit different and may also appear differently on different devices (your computer monitor versus your iPhone).

We spent the afternoon learning about SageMathCloud ( and writing a simple MathBook XML article. The SageMathCloud allowed everyone to work in their own Linux computer.

Here are some useful references on MathBook XML:

  • HTML:
  • PDF:
You need to to install MathBook XML first using git.  Git for authors:

  • HTML:
  • GitHub: