Andy Schofield - GoodNotes Tips

Lecturing with GoodNotes

For many years I have given lectures with pen enabled tablets/tabletpcs. For me this is the best combination of real-time writing (like a black board) and maintaining a permanent record of the session (like powerpoint or LaTeX beamer pdf files). At the moment I am using an iPad Pro with apple pencil and the application I am using is GoodNotes. It works well with the pencil, it produces vector pdf and integrates its display with projection dongles for the ipad (see for example the vga adapter).

The GoodNotes Scrolling Problem

There is one major flaw in GoodNotes, namely that new pages are added horizontally rather than vertically. This is not helpful because:

  • Students at the back of the class complain that they cannot see the bottom of the screen and you cannot scroll up to show them.
  • You are in a calculation and need to change page but want to refer back to the lines at the bottom of the previous page - you cannot see the bottom of one page and the top of the next at the same time.

One day the makers of GoodNotes may fix this. Until then I have developed a work-around. I used a custom-made page template (created from this script by the marvellous GLE which produces beautifully compact pdf files) which is 1x5 set of A4 lined pages stitched together to make a single long pdf page - more than enough to capture a single lecture. Each lecture is then a single page of the associated note book. When you lecture GoodNotes thinks you are using a single very long page (though you can see where the page breaks will be). You can therefore scroll freely between the five pages of the lecture. By exporting the single page you export the single long pdf for the lecture.

Of course you now need to split this long page back into single A4 sheets if you or the students are to be able to print your notes sensibly. This you can do easily with a combination of ghostscript and pdftk (or just ghostscript if you want). Each gs statement is a single command line and you should change a4x5-lined.pdf to your exported page name.

gs -o page1.pdf -sDEVICE=pdfwrite -g5950x8420 -c "<</PageOffset [0 -3368]>> setpagedevice" -f a4x5-lined.pdf
gs -o page2.pdf -sDEVICE=pdfwrite -g5950x8420 -c "<</PageOffset [0 -2526]>> setpagedevice" -f a4x5-lined.pdf
gs -o page3.pdf -sDEVICE=pdfwrite -g5950x8420 -c "<</PageOffset [0 -1684]>> setpagedevice" -f a4x5-lined.pdf
gs -o page4.pdf -sDEVICE=pdfwrite -g5950x8420 -c "<</PageOffset [0 -842]>> setpagedevice" -f a4x5-lined.pdf
gs -o page5.pdf -sDEVICE=pdfwrite -g5950x8420 -c "<</PageOffset [0 0]>> setpagedevice" -f a4x5-lined.pdf
pdftk page1.pdf page2.pdf page3.pdf page4.pdf page5.pdf cat output pages.pdf

Here is a script that does it all for you. It maintains the handwriting to text conversion layer and, in my experience, produces more compact pdf than the original.