Skip to main content

Section 2 Getting started with PTX and its toolchain

We want to be able to do all kinds of cool stuff, including references to things like List 2.1 and Activity 1.1. So let's get cracking.

Subsection 2.1 The basics

The first things you need is to have the necessary software installed! Here are the main tools you need.

List 2.1. Tools you should have
  • A ‘text editor’ that allows you to make raw text files. Not a word processor!

  • Access to the command line on your environment.

  • The xsltproc processor for processing your raw text .xml files. This is easiest on Mac and Linux, harder on Windows.

  • The git revision control system (for now, we just need this for downloading PTX itself).

  • The PTX tools. Here is one way to get them.

    git clone https://github.com/rbeezer/mathbook.git
    cd mathbook
    git checkout dev
    

    Once you've done this, you will see it as mathbook in the directory you downloaded it to using git clone.

If you are unfamiliar with command line tools on Windows or Mac, you may wish to use a cloud solution such as CoCalc to begin, but you will need to ensure you have internet access to download the mathbook directory. I will assume most Sage users have something local they can use, but I even was able to use PTX on Windows with no prior experience, by following Dave Rosoff's excellent instructions.

Activity 2.1. Get Your Tools.

Try to git clone PTX right now.

Use the chat or raise your hand for help!

Remark 2.2.

There is very active work toward moving at least some of the entire toolchain into something usable via Python. In particular, there is a goal of making it pip-installable, and eventually perhaps a basic GUI – not to mention being even more easy to use cross-platform. However, that is not (yet) a reality.

Subsection 2.2 Make something compile

For most beginners, the next step is to get something to compile. See the PTX Quickstart page for the absolute basics, which I will not duplicate here.

Activity 2.2. Compile one document.

Try to compile one document. No matter how small!

Note that I did not say your goal was to actually author anything! First we need to get the tools in question working.

In fact, let me show you what happens if it is not working!

  • Example with missing tag end

  • Example with content outside of structure